Các bài toán về phân loại ảnh deep learning năm 2024
Trong bài viết này nhóm tác giả muốn giới thiệu các bạn một chút về thị giác máy tính (Computer Vision – CV), cụ thể hơn là một số bài toán trong lĩnh vực CV. Trước tiên, nếu ai chưa biết thị giác máy tính là gì thì có thể giải thích đơn giản như sau: CV – là một lĩnh vực làm cho máy tính có thể nhìn được như con người, nhìn ở đây có nghĩa là hiểu được hình ảnh, video từ đó có thể làm cơ sở để trả lời các câu hỏi như: có gì trong ảnh ? con mèo ở đâu trong bức ảnh? trong ảnh có bao nhiêu con chó, con mèo? con mèo có đang bắt chuột không? … Để trả lời các câu hỏi này thì trong CV sẽ có các bài toán khác nhau và đây cũng là nội dung của bài viết này. Bốn bài toán giới thiệu bao gồm: Image classification, Classification with Localization, Object Detection, Instance Segmentation. Show Mục tiêu hướng tới của bài viết này bao gồm: – Hiểu được một số keyword trong lĩnh vực CV. – Phân biệt được một số bài toán như Classification, Localization, Detection, Segmentation. – Giới thiệu một số tài liệu tham khảo cũng như ứng dụng liên quan đến các bài toán. Hình 1: Một số bài toán trong lĩnh vực CV và cách phân biệtII-Phân biệt image classification, object localization, object detection, instance segmentation1-Image Classification – Phân lớp ảnh:Image classification: Có đầu vào (input) là ảnh và một danh sách các nhãn (labels), mục tiêu của bài toán là xác định ảnh đầu vào thuộc nhãn nào – hay nói cách khác ouput là nhãn tương ứng với input. Kết quả bài toán phân lớp ảnh có thể áp dụng vào rất nhiều lĩnh vực như phân loại động vật, phân loại biển báo giao thông,… Phân lớp ảnh cũng được cho là là bài toán cơ sở cho một số bài toán khác trong CV. Tập dữ liệu mà cộng đồng nghiên cứu bài toán này thường quan tâm đó là tập ImageNet với hơn 1 triệu ảnh và 1000 nhãn cần phân lớp. Tuy bài toán trên tập dữ liệu Imagenet đã có nhiều kết quả khả quan (độ chính xác cao), tuy nhiên trong thực tế bài toán này có khá nhiều thách thức:
2-Classification with Localization (Object Localization):Khi bài toán phân lớp (Classification) sẽ trả lời câu hỏi trong ảnh chứa gì? Thì bài toán Object Localization sẽ xác định thêm vị trí (location) của đối tượng đang quan tâm trong ảnh thông qua một hình chữ nhật bao quanh đối tượng (bounding box). Như vậy object Localization sẽ trả lời câu hỏi đối tượng quan tâm ở đâu trong bức hình, ví dụ con mèo ở đâu trong bức hình ? Hình 3: So sánh đầu ra giữa bài toán Classification và Classification with LocalizationCó một câu hỏi đặt ra ở đây là việc gắn bounding box để làm gì? Điều này thực sự cũng dễ hiểu, việc gắn bounding box giống như là ta xác định được vị trí của object mà biết được vị trí sẽ cung cấp ta nhiều thông tin khác nhau. Chẳng hạn ví dụ minh họa ở hình dưới đây sẽ xây dựng hệ thống cảnh báo khi có người đến một vùng nguy hiểm. Kết quả bài toán classification chỉ nói lên có người trong ảnh hay không mà không trả lời được người đó đang ở vùng an toàn hay vùng nguy hiểm. Còn kết quả bài toán localization sẽ trả lời được là người đó đang ở vùng nào do xác định thêm được vị trí của đối tượng. Hình 4: Sự khác biệt trong ứng dụng giữa bài toán classification và localization3-Object Detection – Phát hiện đối tượngKhác với bài toán Classification with Localization xác định vị trí của một đối tượng trong hình, bài toán detection hay Object Detection sẽ xác định vị trí tất cả các đối tượng có trong bức hình. Theo đó Input của bài toán này là ảnh và danh sách các đối tượng quan tâm. Đầu ra của bài toán là các vị trí của các đối tượng kèm theo nhãn của đối tượng đó. Object Detection đã có rất nhiều ứng dụng khác nhau: Image Annotation (Chú thích hình ảnh), Face Detection (Phát hiện khuôn mặt ), License Plate Identification (Nhận diện biển số xe), People Counting (Đếm số lượng người),… Như vậy xét trên một khía cạnh nào đó ta có thể nhận xét rằng bài toán Classification là tiền đề của bài toán Localization và thông tin của bài toán Localization cũng rất hữu ích cho bài toán Detection. Để phân biệt các bài toán khác nhau ta có thể xác định dựa trên việc kết quả của bài toán đang trả lời các câu hỏi gì (Hình 6). Hình 6: Phân biết bài toán classification, object localization, object detection4-Image Segmentation – Phân đoạn ảnhNếu như kết quả của bài toán Object Detection là bounding boxes – thường là hình chữ nhật chỉ ra vị trí của các đối tượng trong hình (có thể bao gồm cả phần nền bao quanh đối tượng), thì kết quả bài toán Image Segmentation – phân đoạn ảnh không những chỉ ra vị trí mà còn chỉ rõ đối tượng bằng cách vẽ ra đường biên (boudaires) bao quanh đối tượng. Cụ thể hơn, Image Segmentation là quá trình xác định – gán nhãn cho từng điểm ảnh (pixel) trong ảnh sao cho các pixel có cùng nhãn thì thuộc về một nhóm. Ví dụ: hãy tưởng tượng khi các bác sĩ áp dụng Computer Vision vào việc chữa bệnh ung thư, thì việc xác định kích thước của vùng bị ung thư thực sự rất quan trọng. Hình 7: Phân biệt đầu ra của bài toán Detection và SegmentationBài toán Image Segmentation có thể được chia làm 2 loại :
III-Tổng kếtNhư vậy đối với bài viết này chúng ta đã tạm thời phân biệt được 4 bài toán phổ biến trong lĩnh vực CV và một số ứng dụng của nó. Ta có thể tổng kết lại thông qua bảng sau |