Khám phá cách các ứng dụng của thị giác máy tính hoạt động
Cùng chúng tôi đi sâu vào các ứng dụng của thị giác máy tính. Chúng tôi cũng sẽ hướng dẫn qua các tác vụ thị giác máy tính khác nhau như phát hiện đối tượng và phân đoạn.

Khi chúng ta khám phá history of computer vision models, chúng ta đã thấy computer vision đã tiến hóa như thế nào và con đường dẫn đến các vision model tiên tiến mà chúng ta có ngày nay. Các model hiện đại như Ultralytics YOLOv8 hỗ trợ nhiều computer vision tasks và đang được sử dụng trong các ứng dụng thú vị khác nhau.
Trong bài viết này, chúng ta sẽ tìm hiểu những kiến thức cơ bản về thị giác máy tính và các mô hình thị giác. Chúng ta sẽ đề cập đến cách thức hoạt động và các ứng dụng đa dạng của chúng trong nhiều ngành công nghiệp. Những đổi mới trong thị giác máy tính đang hiện diện ở khắp mọi nơi, âm thầm định hình thế giới của chúng ta. Hãy cùng khám phá từng cái một!
Thị giác máy tính là gì?#
Trí tuệ nhân tạo (AI) là một thuật ngữ bao quát nhiều công nghệ nhằm mô phỏng một phần trí tuệ con người. Một lĩnh vực con của AI là thị giác máy tính. Thị giác máy tính tập trung vào việc cung cấp cho máy móc đôi mắt có thể nhìn, quan sát và hiểu môi trường xung quanh.
Cũng giống như thị giác con người, các giải pháp thị giác máy tính nhằm mục đích phân biệt các đối tượng, tính toán khoảng cách và phát hiện chuyển động. Tuy nhiên, không giống như con người, những người có cả một đời trải nghiệm để giúp họ nhìn và hiểu, máy tính dựa vào lượng dữ liệu khổng lồ, camera độ phân giải cao và các thuật toán phức tạp.

Hình 1. So sánh Thị giác Con người và Thị giác Máy tính.
Các hệ thống thị giác máy tính có thể xử lý và phân tích dữ liệu trực quan như hình ảnh và video với tốc độ và độ chính xác đáng kinh ngạc. Khả năng phân tích nhanh chóng và chính xác lượng lớn thông tin trực quan biến thị giác máy tính thành một công cụ mạnh mẽ trong nhiều ngành công nghiệp, từ sản xuất đến chăm sóc sức khỏe.
Các mô hình thị giác hỗ trợ nhiều tác vụ thị giác máy tính#
Các mô hình thị giác máy tính là cốt lõi của bất kỳ ứng dụng thị giác máy tính nào. Chúng bản chất là các thuật toán tính toán được hỗ trợ bởi các kỹ thuật deep learning được thiết kế để cung cấp cho máy móc khả năng diễn giải và hiểu thông tin trực quan. Các mô hình thị giác hỗ trợ các tác vụ thị giác máy tính quan trọng từ phân loại hình ảnh đến phát hiện đối tượng. Hãy cùng xem xét kỹ hơn một số tác vụ này và các trường hợp sử dụng của chúng chi tiết hơn.
Phân loại hình ảnh#
Phân loại hình ảnh liên quan đến việc phân loại và dán nhãn hình ảnh thành các lớp hoặc danh mục được định nghĩa trước. Một mô hình thị giác như YOLOv8 có thể được huấn luyện trên các tập dữ liệu lớn gồm các hình ảnh được dán nhãn. Trong quá trình huấn luyện, mô hình học cách nhận diện các mẫu và đặc trưng liên quan đến từng lớp. Sau khi được huấn luyện, nó có thể dự đoán danh mục của các hình ảnh mới, chưa từng thấy bằng cách phân tích các đặc trưng của chúng và so sánh chúng với các mẫu đã học.

Hình 2. Ví dụ về phân loại hình ảnh. (nguồn: towardsdatascience.com)
Có nhiều loại phân loại hình ảnh khác nhau. Ví dụ, khi xử lý hình ảnh y tế, bạn có thể sử dụng phân loại nhị phân để chia hình ảnh thành hai nhóm, như khỏe mạnh hoặc bị bệnh. Một loại khác là phân loại đa lớp. Nó có thể giúp phân loại hình ảnh thành nhiều nhóm, như phân loại các loài động vật khác nhau trong trang trại như lợn, dê và bò. Hoặc, giả sử bạn muốn phân loại động vật thành các nhóm và phân nhóm, như phân loại động vật thành động vật có vú và chim, sau đó phân chia tiếp thành các loài như sư tử, hổ, đại bàng và chim sẻ; phân loại phân cấp sẽ là lựa chọn tốt nhất.
Phát hiện đối tượng#
Phát hiện đối tượng là quá trình nhận dạng và định vị các đối tượng trong hình ảnh và khung hình video bằng thị giác máy tính. Nó bao gồm hai tác vụ: định vị đối tượng, vẽ các hộp bao (bounding box) xung quanh đối tượng và phân loại đối tượng, xác định danh mục của từng đối tượng. Dựa trên các chú thích hộp bao, một mô hình thị giác có thể học cách nhận biết các mẫu và đặc điểm cụ thể cho từng danh mục đối tượng và dự đoán sự hiện diện cũng như vị trí của các đối tượng này trong các hình ảnh mới, chưa từng thấy.
Hình 3. YOLOv8 phát hiện đối tượng được sử dụng để phát hiện cầu thủ trên sân bóng đá.
Phát hiện đối tượng có nhiều trường hợp sử dụng trên các ngành công nghiệp khác nhau, từ thể thao đến sinh học biển. Ví dụ, trong bán lẻ, công nghệ Amazon’s Just Walk Out sử dụng phát hiện đối tượng để tự động hóa việc thanh toán bằng cách nhận diện các mặt hàng mà khách hàng lấy. Sự kết hợp giữa thị giác máy tính và dữ liệu cảm biến cho phép khách hàng lấy các mặt hàng của họ và rời đi mà không phải xếp hàng chờ đợi.
Dưới đây là cái nhìn chi tiết hơn về cách thức hoạt động của nó:
- Các camera gắn trên trần nhà ghi lại cảnh khách hàng di chuyển quanh cửa hàng và đoạn phim này được các mô hình thị giác xử lý theo thời gian thực.
- Phát hiện đối tượng được sử dụng để phát hiện chính xác sản phẩm mà khách hàng lấy và đặt vào giỏ hàng của họ để cập nhật giỏ hàng ảo tương ứng.
- Các cảm biến trọng lượng trên kệ hàng cải thiện độ chính xác bằng cách phát hiện việc lấy hoặc đặt lại mặt hàng.
- Khi khách hàng rời khỏi cửa hàng, công nghệ phát hiện đối tượng và nhận diện khuôn mặt có thể được sử dụng để xác nhận rằng khách hàng đã rời đi, và chi tiết thanh toán của họ, như thẻ tín dụng, có thể được dùng để tính phí tự động.
Phân đoạn ngữ nghĩa (Semantic segmentation) và phân đoạn cá thể (Instance segmentation)#
Phân đoạn ngữ nghĩa và phân đoạn thể hiện là các tác vụ thị giác máy tính giúp chia nhỏ hình ảnh thành các phân đoạn có ý nghĩa. Phân đoạn ngữ nghĩa phân loại các pixel dựa trên ý nghĩa ngữ nghĩa của chúng và coi tất cả các đối tượng trong một danh mục là một thực thể duy nhất có cùng một nhãn. Nó phù hợp để dán nhãn cho các đối tượng không đếm được như "bầu trời" hoặc " đại dương" hoặc các cụm như "lá cây" hoặc "cỏ".
Mặt khác, phân đoạn cá thể có thể phân biệt các cá thể khác nhau của cùng một lớp bằng cách gán một nhãn duy nhất cho mỗi đối tượng được phát hiện. Bạn có thể sử dụng phân đoạn cá thể để phân đoạn các đối tượng đếm được, nơi số lượng và sự độc lập của các đối tượng là quan trọng. Nó cho phép nhận dạng và phân biệt chính xác hơn.
Hình 4. Ví dụ về phân đoạn ngữ nghĩa và phân đoạn cá thể.
Chúng ta có thể hiểu rõ hơn sự tương phản giữa phân đoạn ngữ nghĩa và phân đoạn thể hiện thông qua một ví dụ liên quan đến xe tự hành. Phân đoạn ngữ nghĩa rất tuyệt vời cho các tác vụ đòi hỏi phải hiểu nội dung của một khung cảnh và có thể được sử dụng trong các phương tiện tự hành để phân loại các tính năng trên đường, chẳng hạn như vạch sang đường cho người đi bộ và biển báo giao thông. Trong khi đó, phân đoạn thể hiện có thể được sử dụng trong các phương tiện tự hành để phân biệt giữa từng người đi bộ, phương tiện và chướng ngại vật riêng lẻ.
Ước tính tư thế#
Ước lượng tư thế là một tác vụ thị giác máy tính tập trung vào việc phát hiện và theo dõi các điểm khóa của tư thế đối tượng trong hình ảnh hoặc video. Nó được sử dụng phổ biến nhất cho ước lượng tư thế con người, với các điểm khóa bao gồm các khu vực như vai và đầu gối. Ước lượng tư thế của con người giúp chúng ta hiểu và nhận diện các hành động và chuyển động rất quan trọng đối với các ứng dụng khác nhau.

Hình 5. Ví dụ về ước lượng tư thế sử dụng YOLOv8.
Ước tính tư thế có thể được sử dụng trong thể thao để phân tích cách vận động viên di chuyển. NBA sử dụng ước tính tư thế để nghiên cứu các chuyển động và vị trí của cầu thủ trong trận đấu. Bằng cách theo dõi các điểm chính như vai, khuỷu tay, đầu gối và mắt cá chân, ước tính tư thế cung cấp những thông tin chi tiết về chuyển động của cầu thủ. Những thông tin này giúp các huấn luyện viên xây dựng chiến lược tốt hơn, tối ưu hóa các chương trình huấn luyện và thực hiện các điều chỉnh thời gian thực trong các trận đấu. Ngoài ra, dữ liệu có thể giúp theo dõi sự mệt mỏi và nguy cơ chấn thương của cầu thủ để cải thiện sức khỏe và hiệu suất tổng thể.
Phát hiện đối tượng bằng hộp bao xoay (Oriented Bounding Boxes)#
Phát hiện đối tượng bằng Hộp giới hạn có định hướng (OBB) sử dụng các hình chữ nhật xoay để xác định và định vị chính xác các đối tượng trong hình ảnh. Khác với các hộp giới hạn tiêu chuẩn song song với các trục của hình ảnh, OBB xoay để khớp với hướng của đối tượng. Điều này làm cho chúng đặc biệt hữu ích đối với các đối tượng không hoàn toàn nằm ngang hoặc thẳng đứng. Chúng rất tuyệt vời trong việc định vị chính xác và cô lập các đối tượng bị xoay để tránh chồng chéo trong các môi trường đông đúc.
Hình 6. Ví dụ về phát hiện hộp bao xoay trên ảnh chụp từ trên không các con tàu sử dụng YOLOv8.
Trong giám sát hàng hải, việc nhận diện và theo dõi tàu thuyền là chìa khóa cho an ninh và quản lý tài nguyên. Phát hiện OBB có thể được sử dụng để định vị chính xác tàu thuyền, ngay cả khi chúng tập trung đông đúc hoặc định hướng ở nhiều góc độ khác nhau. Nó giúp giám sát các tuyến đường hàng hải, quản lý giao thông hàng hải và tối ưu hóa các hoạt động cảng biển. Nó cũng có thể hỗ trợ ứng phó thảm họa bằng cách nhanh chóng nhận diện và đánh giá thiệt hại đối với tàu thuyền và cơ sở hạ tầng sau các sự kiện như bão hoặc tràn dầu.
Theo dõi đối tượng#
Cho đến nay, chúng ta đã thảo luận về các tác vụ thị giác máy tính xử lý hình ảnh. Theo dõi đối tượng là một tác vụ thị giác máy tính có thể theo dõi một đối tượng xuyên suốt các khung hình của một video. Nó bắt đầu bằng cách nhận diện đối tượng trong khung hình đầu tiên sử dụng các thuật toán phát hiện và sau đó liên tục bám theo vị trí của nó khi nó di chuyển qua video. Theo dõi đối tượng liên quan đến các kỹ thuật như phát hiện đối tượng, trích xuất đặc trưng và dự đoán chuyển động để giữ cho việc theo dõi được chính xác.

Hình 7. Sử dụng YOLOv8 để theo dõi cá.
Các mô hình thị giác như YOLOv8 có thể được sử dụng để theo dõi cá trong sinh học biển. Sử dụng các camera dưới nước, các nhà nghiên cứu có thể giám sát các chuyển động và hành vi của loài cá trong môi trường sống tự nhiên của chúng. Quá trình bắt đầu bằng việc phát hiện từng con cá trong các khung hình đầu tiên và sau đó bám theo vị trí của chúng xuyên suốt video. Theo dõi cá giúp các nhà khoa học hiểu được các mẫu di cư, hành vi xã hội và các tương tác với môi trường. Nó cũng hỗ trợ các thực hành đánh bắt bền vững bằng cách cung cấp thông tin chi tiết về sự phân bố và số lượng của loài cá.
Cái nhìn cuối cùng về thị giác máy tính#
Thị giác máy tính đang tích cực thay đổi cách chúng ta sử dụng công nghệ và tương tác với thế giới. Bằng cách sử dụng các mô hình deep learning và các thuật toán phức tạp để hiểu hình ảnh và video, thị giác máy tính giúp các ngành công nghiệp hợp lý hóa nhiều quy trình. Các tác vụ thị giác máy tính như phát hiện đối tượng và theo dõi đối tượng đang giúp tạo ra các giải pháp chưa từng được tưởng tượng trước đây. Khi công nghệ thị giác máy tính không ngừng cải tiến, tương lai hứa hẹn sẽ có nhiều ứng dụng sáng tạo hơn nữa!
Hãy cùng nhau học hỏi và phát triển! Khám phá GitHub repository của chúng tôi để xem những đóng góp của chúng tôi cho AI. Hãy xem cách chúng tôi định hình lại các ngành công nghiệp như self-driving cars và agriculture bằng AI. 🚀






