computer vision,

Thị giác máy tính và những gì cần học để bắt đầu

Việt Anh Việt Anh Bài viết Sep 27, 2019 · 5 phút đọc
Thị giác máy tính và những gì cần học để bắt đầu
Chia sẻ

Ở bài viết này, chúng ta sẽ cùng tìm hiểu chung về ngành thị giác máy tính (computer vision) và phương pháp học để có một công việc trong ngành này.

I. Sơ lược về thị giác máy tính

Ta thường nhắc đến tác nhân khai sinh ra vũ trụ là vụ nổ lớn big bang. Ngày nay, người ta cũng tin rằng trong sinh học cũng có một “big bang” trong sự tiến hoá, đó là sự ra đời của mắt. Nhờ có công cụ này mà các loài vật có sự tiến hoá vượt bậc về năng lực hoạt động. Gần đây, nhờ sự tiến bộ của khoa học, chúng ta lại mang năng lực đó lên các máy tính. Nhờ các thuật toán tiên tiến, chúng ta dạy máy tính cách thu nhận hình ảnh, và giờ đây là phân tích và hiểu hình ảnh. Ngành khoa học nghiên cứu ra các thành tựu này gọi là thị giác máy tính (hay tiếng Anh là Computer vision).

Thị giác máy là một ngành khoa học có từ lâu nhưng hiện nay vẫn còn đang phát triển mạnh, nhất là trong giai đoạn bùng nổ của học máy, học sâu hiện nay.

II. Các ứng dụng của thị giác máy tính phổ biến

Các ứng dụng của thị giác máy tính rất dễ dàng được tìm thấy xung quanh chúng ta.

1. Bộ nhận dạng mặt người trong các smartphone

Các smartphone hiện nay thực hiện việc nhận dạng mặt người để chụp ảnh, để ghép các hiệu ứng lên khuôn mặt hay để xác thực người dùng.

Nhận dạng mặt người trong smartphone

2. Nhận dạng biển số xe ở bãi đỗ xe

Các bãi đỗ xe được trang bị camera và các thuật toán thị giác máy để đọc biển số xe tự động.

Nhận dạng biển số xe

3. Kiểm tra các sản phẩm lỗi trong sản xuất

Trong các dây chuyền sản xuất tự động, việc kiểm tra các sản phẩm lỗi cần thực hiện nhanh, chính xác bởi các thuật toán về ảnh.

Kiểm tra sản phẩm - Thị giác máy

4. Hỗ trợ bác sĩ trong chuẩn đoán và điều trị

Các bác sĩ cũng đang sử dụng các công cụ hỗ trợ chuẩn đoán ung thư, khối u bằng hình ảnh để đưa ra các kết luận chuẩn đoán phù hợp.

Chuẩn đoán y tế bằng thị giác máy

Nếu chịu khó suy nghĩ bạn sẽ thấy vô vàn các ứng dụng khác của thị giác máy trong đời sống và sản xuất.

III. Để có việc làm trong lĩnh vực này cần những kiến thức gì?

1. Kiến thức về ảnh và xử lý hình ảnh

Các bạn cần trang bị cho mình các kiến thức về ảnh và xử lý ảnh. Mình khuyến khích các bạn bắt đầu với thư viện xử lý ảnh khá nổi tiếng là OpenCV. Các bạn có thể học các kiến thức này tại:

Một số vấn đề cần nắm rõ như các không gian màu trong xử lý ảnh, chuyển đổi không gian màu, thao tác với ảnh trên từng pixel, làm mịn ảnh, tăng cường chất lượng ảnh.

2. Kiến thức về các thuật toán xử lý ảnh cơ bản như

  • Lọc biên trong ảnh: Tìm hiểu các bộ lọc biên như lọc thông cao, Sobel, Canny…

  • Phân đoạn ảnh: kNN, Watershed.

  • Các thuật toán trích xuất feature trong ảnh: Haar, HOG, SURF, SIFT…

3. Các kiến thức về mạng nơ-ron tích chập và deep learning trong xử lý ảnh

Học máy trong thị giác máy tính

Hiện nay, các thuật toán về machine learning, deep learning tỏ ra cực kỳ hiệu quả trong các bài toán phát hiện vật thể, phân đoạn ảnh, trích xuất thông tin từ ảnh. Vì vậy, khi xác định rõ muốn kiếm một công việc ở lĩnh vực này, không thể không học về machine learning, deep learning.

Trước tiên, bạn nên có các kiến thức toán để bắt đầu học về machine learning. Cách học toán cho machine learning có thể xem tại bài viết này. Việc học toán sẽ giúp cho bạn hiểu được các thuật toán machine learning, và để bắt đầu với một công việc liên quan đến computer vision một cách nghiêm túc thì việc học toán là điều không thể tránh khỏi.

Để nắm được các kiến thức cơ bản về machine learning, bạn có thể bắt đầu với khoá học Machine learning của Andrew Ng và blog Machine learning cơ bản.

Tiếp theo, bạn cần trang bị cho mình các kiến thức về mạng CNN, RNN, các thuật toán và công cụ deep learning cho computer vision. Rất may Stanford đã open một khoá học cực kỳ hoàn thiện cho chúng ta: Khoá CS231n. Mình khuyến khích các bạn nên xem video bài giảng, lecture notes và làm toàn bộ assignment của khoá học này. Chắc chắn các bạn sẽ thu được một lượng kiến thức rất lớn để áp dụng deep learning vào computer vision.

4. Tự xây dựng các sản phẩm hoàn chỉnh và đi thực tập

Bạn có thể áp dụng ngay các kiến thức mình đã học và để xây dựng các sản phẩm hoàn thiện, tăng dần về mức độ khó. Các sản phẩm này sẽ giúp bạn khắc sâu thêm các kiến thức đã học, đồng thời có thêm những kiến thức, kinh nghiệm mới.

Đi thực tập ngay cũng là một lựa chọn không tồi. Hãy lên mạng và kiếm ngay một công việc trong lĩnh vực này để trải nghiệm các kiến thức mới nhất nhé!

Hi vọng bài viết này đã mang đến cho bạn một điều gì đó bổ ích. Cảm ơn các bạn đã đọc bài và chúc thành công!

Đăng ký nhận bài viết mới
Đăng ký nhận bài viết mới qua email