Computer Vision là gì? Nó liên quan gì đến AI (trí tuệ nhân tạo)? Người ta đang dùng CV để làm gì?

Đăng lúc 11:32 12.05.2022

Anh em đam mê công nghệ có thể đã nghe tới từ “Computer Vision”, tạm dịch là “thị giác máy tính”. Anh em nào từng tìm hiểu về AI cũng có nghe nhắc tới Computer Vision (CV), và hiện nay CV đang được xài rộng rãi khắp mọi nơi trong cuộc sống của bạn, từ cái điện thoại của bạn, chiếc máy tính, cho đến những ứng dụng bạn bật lên mỗi ngày và cả chiếc xe hơi nữa.

Computer Vision là gì?


Mình thích định nghĩa của MATLAB nhất, nên mình sẽ dẫn lại nó để giải thích với các bạn: Computer Vision là một phương pháp sử dụng hình ảnh và video để hiểu về thế giới thật.

Hình ảnh và video sẽ được đưa vào máy tính để xử lý (máy tính ở đây là có thể là PC, laptop, thiết bị IoT, smartphone, camera… bất kể thứ gì có khả năng tính toán). Computer Vision hiện có thể làm được những việc sau:
  • Xác định vật thể (Identify)
  • Theo dõi vật thể (Track)
  • Đo đạc (Measure)
  • Phát hiện vật thể (Detect)
  • Phân loại vật thể (Classify)
 

Một ví dụ đơn giản: hệ thống camera giám sát trên đường có thể xác định (identify) những chiếc xe chạy lấn làn hoặc quá tốc độ, phát hiện bản số xe (detect), rồi phân loại đó là xe máy hay xe hơi (classify) trước khi tổng hợp lại thành một vé phạt nguội cho bạn nào vi phạm luật giao thông.

Một ví dụ khác gần gũi hơn: khi bạn chụp 1 tấm ảnh, app Photos của iOS hoặc Google Photos (Android, iOS) có thể biết được tấm ảnh bạn chụp là ảnh phong cảnh hay ảnh kiến trúc, và trong ảnh đó đang có cây, có người, có nhà cao tầng, hay đang có xe, có đồ ăn, có bãi biển.

Một ví dụ khác nữa: xe Tesla có khả năng xác định làn đường và giữ đúng làn đó khi chạy trên cao tốc, nó cũng biết được khi có vật cản nằm trên đường, và có thể báo động khi có xe khác chạy đến quá gần.

Computer Vision trở thành cả một ngành nghiên cứu với nhiều chuyên gia, tiến sĩ cùng làm việc với nhau để phát triển những kĩ thuật mới, cải tiến các kĩ thuật cũ, và giải quyết các bài toán mà người ta có thể giải được với sự trợ giúp của camera. Hiện nay camera càng ngày càng rẻ, từ điện thoại cho đến camera an ninh, nên Computer Vision đang là một giải pháp rất hay để cải thiện nhiều thứ trong cuộc sống, kinh doanh.

Computer Vision hoạt động như thế nào?


Về cơ bản, một tấm ảnh mà bạn xem chỉ đơn giản là một ma trận 2 chiều với rất nhiều phần tử nằm bên trong, chính là các pixel. Mỗi “thứ” trong ảnh thực ra là một cụm pixel có màu sắc khác với những thứ cụm pixel khác (cụm pixel gương mặt của bạn khác với cụm pixel nằm ở mặt một con mèo). Thế nên khi người ta làm xử lý hình ảnh, những thứ này sẽ được quy về các phép tính toán học trên ma trận và vector.

Về video, bản chất của một đoạn video chỉ là nhiều tấm ảnh được chạy liên tục với nhau mà thôi chứ không có gì to tát. Thế nên việc áp dụng computer vision vào video thực chất là chạy các thuật toán trên một loạt ảnh liên tục với tốc độ cao. Một video có thể có 10 khung hình / giây, 25 khung / giây, 30 khung / giây, thậm chí 60, 80, 90 khung / giây.

Các giải pháp dùng Computer Vision thường kết hợp nhiều “chiêu” với nhau để đạt được mục đích, ví dụ:

Tách chủ thể khỏi nền: như hình bên dưới, máy tính sẽ làm phép “trừ”. Nó dùng các pixel hậu cảnh để “trừ” vào tấm ảnh bạn mới chụp, từ đó tách được đường viền biểu thị cho người đàn ông đang đi ngang.
 

background_substraction.gif

Phát hiện đường viền của chủ thể: các hệ thống máy tính có khả năng phát hiện đường viền bao quanh (contour) của các đối tượng xuất hiện trong ảnh, từ đó bạn có thể tách riêng các đối tượng này để làm những tác vụ khác.

Theo dõi đường đi quang học (optical flow): đây là một kĩ thuật mới hơn, dùng để xác định các đối tượng di chuyển trong một khung hình. Nó theo dõi sự thay đổi của một cụm các pixel qua nhiều khung hình của video để làm điều đó.

Còn nhiều kĩ thuật khác nữa, mình chỉ nói về những cái phổ biến mà người ta hay dùng thôi.

Computer Vision có liên quan gì tới AI (trí tuệ nhân tạo)?


Từ AI mới nổi gần đây thôi, còn Computer Vision đã có từ rất rất lâu rồi các bạn ơi. Ngày nay người ta có thể ứng dụng các kĩ thuật AI hiện đại để cải tiến những gì Computer Vision có thể làm được. Một số người cũng nói rằng Computer Vision thực ra là một nhánh của AI, cái này cũng không sai.

Quay trở lại với ví dụ một người đang đi ngang qua một tòa nhà ở trên. Ok, nhờ computer vision mà chúng ta đã tách được vật thể chuyển động ra rồi đấy. Nhưng làm sao biết vật thể đó là người, là chiếc xe, là con mèo, con chó, hay một thứ gì đó khác? Đây là lúc các kĩ thuật AI, cụ thể là machine learning hay deep learning được áp dụng để phân loại đối tượng.


2019-09-01_Annotation-Services-for-Autonomous-Vehicles_lead.jpg

Để làm được điều này, trước đó mô hình (model) AI đã được cho học ảnh mẫu, thế nào là người, thế nào là con chó, thế nào là con mèo… Khi gặp một ảnh mới cần dự đoán, nó sẽ lấy những gì từng được học ra để đoán. Cách này cũng y như cách mà chúng ta học kiến thức mới thôi: có ai đó dạy cho bạn, rồi khi gặp bài toán mới, bạn sẽ dùng cái được dạy ra để giải.

Hiện nay có nhiều mô hình đã được huấn luyện sẵn (pre-trained model) bởi các viện nghiên cứu, các dự án khoa học và người ta có thể lấy model đó xài luôn. Một số công ty, tổ chức thì cần nhận diện, xác định các đối tượng rất riêng (ví dụ: vết nứt trên bề mặt sản phẩm, hình dạng của bao bì sản phẩm, gương mặt nhân viên…) thì sẽ cần tự huấn luyện mô hình của riêng mình.

bao_bi_san_pham.jpg

Đó chỉ mới là bài toán nhận diện, phân loại, theo dõi chủ thể. Người ta còn dùng nó kết hợp với một loạt các điểm (point cloud) trong không gian 3D để làm nhiều trò kinh khủng hơn nữa kìa.

CV và AI sẽ luôn đi chung với nhau, phát triển cùng nhau.

Thế giới đang dùng CV như thế nào?


AmazonGo - cửa hàng vật lý của Amazon, dùng CV để biết người dùng đi vào mua gì, hết bao nhiêu tiền, và bạn có thể lựa những món mình cần rồi đi thẳng về nhà mà không cần dừng lại ở quầy thu ngân. Tiền sẽ tự động trừ vào tài khoản của bạn tùy theo các món hàng bạn đã lấy (mà camera ghi nhận được). Khi bạn cầm 1 món đồ lên và bỏ xuống lại, nó cũng nhận diện được luôn.

Facebook dùng CV để nhận diện gương mặt và khớp gương mặt trong ảnh với một tài khoản, hỗ trợ cho chức năng gợi ý tag bạn bè khi bạn upload 1 tấm ảnh mới. Facebook cũng dùng CV để xác định những thứ có trong ảnh để phục vụ cho chức năng đọc nội dung dành cho người khiếm thị.

Google dùng CV để đánh dấu đối tượng xuất hiện trong ảnh sau khi bạn upload lên Google Photos, nhờ vậy bạn có thể tìm kiếm ảnh bằng cách gõ từ khóa của những thứ có trong ảnh chụp.

Các máy ảnh, máy quay phim và cả smartphone dùng CV để xác định đâu là chủ thể đâu là nền để tự động làm mờ hậu cảnh mà không ảnh hưởng tới người được chụp. Một số app thậm chí còn tự nhận diện khung cảnh để chỉnh lại thông số chụp cho phù hợp.

Tesla, Google, Uber dùng CV (thông qua các camera gắn trên xe) để vận hành khả năng tự động lái của xe, tự né người đi đường, xác định các biển báo giao thông… Các xe tự lái còn được gắn cảm biến LIDAR (laser) để thu thập thêm dữ liệu về những thứ xung quanh, cộng với hình ảnh mà camera thấy để tạo thành một môi trường 3D, sau đó có thể đưa ra các quyết định hay cảnh báo.

point_cloud.jpg

Một số công ty ở Việt Nam dùng CV và AI để xác định cây trồng bị sâu bệnh, giúp nông dân phát hiện nhanh các cây cần xử lý trên diện tích rất rộng (họ gắn camera và cảm biến lên drone).

Một số công ty ở Việt Nam dùng CV để nhận diện gương mặt và dùng cho mục đích chấm công.

Trung Quốc dùng CV và AI để phát hiện người không đeo khẩu trang để cảnh báo họ trong mùa dịch COVID-19.

Nhiều cơ quan giao thông của các quốc gia dùng CV để phát hiện sớm điểm kẹt xe để bố trí cảnh sát đến hỗ trợ, xác định tai nạn giao thông, phát hiện người đi ngược chiều, phân tích luồng di chuyển của các phương tiện để tối ưu làn đường, phân luồng lại, phân tích lưu lượng xe để lên kế hoạch trong tương lai.



Hi vọng cung cấp thêm được cho các bạn một số thông tin hữu ích. Chúc các bạn vui vẻ.

 
==***==

Khoá học: Quản trị Chiến lược Dành cho các Lãnh đạo Doanh nghiệp
Nhấn vào đây để bắt đầu khóa học

Khóa học: Trở thành chuyên gia Bảo mật và tấn công ANM- Hacker mũ trắng
Nhấn vào đây để bắt đầu khóa học

Chuyên gia phân tích, tự động hóa Web iMacros
Nhấn vào đây để bắt đầu khóa học

Xây dựng ứng dụng tự động hóa AutoIT
Nhấn vào đây để bắt đầu khóa học

Khóa đào tạo Hacker và Marketing Facebook từ A - Z
Nhấn vào đây để bắt đầu khóa học

Khóa học: Phân tích và trực quan hóa dữ liệu với Power BI
Nhấn vào đây để bắt đầu khóa học

Khóa học đào tạo Marketing Facebook thông minh
Nhấn vào đây để bắt đầu khóa học

Lập trình Visual Foxpro 9 - Dành cho nhà quản lý và kế toán
Nhấn vào đây để bắt đầu khóa học

Làm chủ xây dựng Game chuyên nghiệp
Nhấn vào đây để bắt đầu khóa học

Trở thành chuyên gia Marketing Facebook thông minh
Nhấn vào đây để bắt đầu khóa học

Kỹ sảo Điện ảnh đỉnh cao với khóa học After Effect
Nhấn vào đây để bắt đầu khóa học

Trở thành chuyên gia Vẽ Đẳng Cấp với khóa học AI
Nhấn vào đây để bắt đầu khóa học

Làm Chủ thiết kế ảnh với Photoshop CC
Nhấn vào đây để bắt đầu khóa học

Dựng Phim Siêu đẳng với Adobe Premiere
Nhấn vào đây để bắt đầu khóa học

Khóa dựng phần mềm quản lý dành cho nhà Quản lý và Kế toán bằng MS ACCESS
Nhấn vào đây để bắt đầu khóa học

Khóa học Machine Learning cơ bản-Khoa học dữ liệu - AI
Nhấn vào đây để bắt đầu khóa học

Khóa học Đào tạo sử dụng Excel Chuyên nghiệp & ứng dụng
Nhấn vào đây để bắt đầu khóa học

Khóa học sử dụng PowerPoint Chuyên nghiệp & ứng dụng
Nhấn vào đây để bắt đầu khóa học

Khóa học xây dựng và quản trị hệ thống đào tạo trực tuyến
Nhấn vào đây để bắt đầu khóa học

Đóng góp nội dung

Gửi ý kiến cho ban biên tập
Gửi thông tin

Thông tin

ĐĂNG KÝ/LIÊN HỆ: