AI-For-Beginners/translations/vi/lessons/4-ComputerVision/11-ObjectDetection
leestott 2555d81160 🌐 Update translations via Co-op Translator 2025-08-29 16:53:37 +00:00
..
lab 🌐 Update translations via Co-op Translator 2025-08-29 16:53:37 +00:00
ObjectDetection.ipynb 🌐 Update translations via Co-op Translator 2025-08-29 16:53:37 +00:00
README.md 🌐 Update translations via Co-op Translator 2025-08-29 16:53:37 +00:00

README.md

Phát Hiện Đối Tượng

Các mô hình phân loại hình ảnh mà chúng ta đã làm việc trước đây nhận một hình ảnh và đưa ra kết quả phân loại, chẳng hạn như lớp 'số' trong bài toán MNIST. Tuy nhiên, trong nhiều trường hợp, chúng ta không chỉ muốn biết rằng một bức ảnh có chứa các đối tượng - mà còn muốn xác định vị trí chính xác của chúng. Đây chính là mục tiêu của phát hiện đối tượng.

Câu hỏi trước bài giảng

Phát Hiện Đối Tượng

Hình ảnh từ trang web YOLO v2

Một Cách Tiếp Cận Đơn Giản Để Phát Hiện Đối Tượng

Giả sử chúng ta muốn tìm một con mèo trong một bức ảnh, một cách tiếp cận rất đơn giản để phát hiện đối tượng sẽ là:

  1. Chia bức ảnh thành nhiều ô nhỏ.
  2. Chạy phân loại hình ảnh trên từng ô.
  3. Những ô có kết quả kích hoạt đủ cao có thể được coi là chứa đối tượng cần tìm.

Phát Hiện Đối Tượng Đơn Giản

Hình ảnh từ Notebook Bài Tập

Tuy nhiên, cách tiếp cận này còn xa mới đạt được lý tưởng, vì nó chỉ cho phép thuật toán xác định hộp giới hạn của đối tượng một cách rất không chính xác. Để có vị trí chính xác hơn, chúng ta cần chạy một loại hồi quy để dự đoán tọa độ của các hộp giới hạn - và để làm điều đó, chúng ta cần các tập dữ liệu cụ thể.

Hồi Quy Cho Phát Hiện Đối Tượng

Bài viết blog này cung cấp một giới thiệu nhẹ nhàng về việc phát hiện hình dạng.

Tập Dữ Liệu Cho Phát Hiện Đối Tượng

Bạn có thể gặp các tập dữ liệu sau cho nhiệm vụ này:

  • PASCAL VOC - 20 lớp
  • COCO - Các Đối Tượng Thông Thường Trong Ngữ Cảnh. 80 lớp, hộp giới hạn và mặt nạ phân đoạn

COCO

Các Chỉ Số Đánh Giá Phát Hiện Đối Tượng

Intersection over Union

Trong khi đối với phân loại hình ảnh, việc đo lường hiệu suất của thuật toán khá dễ dàng, thì đối với phát hiện đối tượng, chúng ta cần đo lường cả độ chính xác của lớp và độ chính xác của vị trí hộp giới hạn được suy ra. Đối với yếu tố sau, chúng ta sử dụng chỉ số Intersection over Union (IoU), đo lường mức độ chồng lấp giữa hai hộp (hoặc hai vùng bất kỳ).

IoU

Hình 2 từ bài viết blog xuất sắc về IoU này

Ý tưởng rất đơn giản - chúng ta chia diện tích giao nhau giữa hai hình cho diện tích hợp của chúng. Đối với hai vùng giống hệt nhau, IoU sẽ là 1, trong khi đối với các vùng hoàn toàn không giao nhau, nó sẽ là 0. Trong các trường hợp khác, nó sẽ dao động từ 0 đến 1. Chúng ta thường chỉ xem xét các hộp giới hạn có IoU trên một giá trị nhất định.

Độ Chính Xác Trung Bình

Giả sử chúng ta muốn đo lường mức độ nhận diện tốt của một lớp đối tượng C nào đó. Để đo lường điều này, chúng ta sử dụng chỉ số Độ Chính Xác Trung Bình (Average Precision - AP), được tính như sau:

  1. Xem xét đường cong Precision-Recall thể hiện độ chính xác phụ thuộc vào giá trị ngưỡng phát hiện (từ 0 đến 1).
  2. Tùy thuộc vào ngưỡng, chúng ta sẽ phát hiện được nhiều hay ít đối tượng trong hình ảnh, và các giá trị precision và recall sẽ khác nhau.
  3. Đường cong sẽ trông như thế này:

Hình ảnh từ NeuroWorkshop

Độ Chính Xác Trung Bình cho một lớp C là diện tích dưới đường cong này. Cụ thể hơn, trục Recall thường được chia thành 10 phần, và Precision được tính trung bình trên tất cả các điểm đó:


AP = {1\over11}\sum_{i=0}^{10}\mbox{Precision}(\mbox{Recall}={i\over10})

AP và IoU

Chúng ta chỉ xem xét các phát hiện mà IoU vượt qua một giá trị nhất định. Ví dụ, trong tập dữ liệu PASCAL VOC, thường giả định \mbox{IoU Threshold} = 0.5, trong khi trong COCO, AP được đo lường cho các giá trị khác nhau của \mbox{IoU Threshold}.

Hình ảnh từ NeuroWorkshop

Độ Chính Xác Trung Bình Tổng Hợp - mAP

Chỉ số chính cho Phát Hiện Đối Tượng được gọi là Độ Chính Xác Trung Bình Tổng Hợp (Mean Average Precision - mAP). Đây là giá trị của Độ Chính Xác Trung Bình, được tính trung bình trên tất cả các lớp đối tượng, và đôi khi cũng trên cả \mbox{IoU Threshold}. Quá trình tính toán mAP được mô tả chi tiết hơn trong bài viết blog này), và cũng ở đây với các ví dụ mã.

Các Phương Pháp Phát Hiện Đối Tượng Khác Nhau

Có hai nhóm chính của các thuật toán phát hiện đối tượng:

  • Mạng Đề Xuất Vùng (R-CNN, Fast R-CNN, Faster R-CNN). Ý tưởng chính là tạo ra các Vùng Quan Tâm (ROI) và chạy CNN trên chúng, tìm kiếm kích hoạt tối đa. Điều này hơi giống với cách tiếp cận đơn giản, ngoại trừ việc các ROI được tạo ra một cách thông minh hơn. Một trong những nhược điểm lớn của các phương pháp này là chúng chậm, vì cần nhiều lần chạy bộ phân loại CNN trên hình ảnh.
  • Một Lần Duy Nhất (YOLO, SSD, RetinaNet). Trong các kiến trúc này, chúng ta thiết kế mạng để dự đoán cả lớp và ROI trong một lần chạy.

R-CNN: Mạng CNN Dựa Trên Vùng

R-CNN sử dụng Selective Search để tạo ra cấu trúc phân cấp của các vùng ROI, sau đó được đưa qua các bộ trích xuất đặc trưng CNN và các bộ phân loại SVM để xác định lớp đối tượng, và hồi quy tuyến tính để xác định tọa độ hộp giới hạn. Bài báo chính thức

RCNN

Hình ảnh từ van de Sande et al. ICCV11

RCNN-1

Hình ảnh từ bài blog này

F-RCNN - Fast R-CNN

Phương pháp này tương tự như R-CNN, nhưng các vùng được xác định sau khi các lớp tích chập đã được áp dụng.

FRCNN

Hình ảnh từ Bài báo chính thức, arXiv, 2015

Faster R-CNN

Ý tưởng chính của phương pháp này là sử dụng mạng nơ-ron để dự đoán các ROI - gọi là Mạng Đề Xuất Vùng (Region Proposal Network). Bài báo, 2016

FasterRCNN

Hình ảnh từ bài báo chính thức

R-FCN: Mạng Tích Chập Hoàn Toàn Dựa Trên Vùng

Thuật toán này thậm chí còn nhanh hơn Faster R-CNN. Ý tưởng chính là:

  1. Trích xuất đặc trưng bằng ResNet-101.
  2. Các đặc trưng được xử lý bởi Bản Đồ Điểm Nhạy Cảm Vị Trí. Mỗi đối tượng từ C lớp được chia thành k\times k vùng, và chúng ta huấn luyện để dự đoán các phần của đối tượng.
  3. Đối với mỗi phần từ k\times k vùng, tất cả các mạng bỏ phiếu cho các lớp đối tượng, và lớp đối tượng có số phiếu cao nhất được chọn.

r-fcn image

Hình ảnh từ bài báo chính thức

YOLO - You Only Look Once

YOLO là một thuật toán một lần duy nhất thời gian thực. Ý tưởng chính là:

  • Hình ảnh được chia thành S\times S vùng.
  • Đối với mỗi vùng, CNN dự đoán n đối tượng có thể, tọa độ hộp giới hạnđộ tin cậy = xác suất * IoU.

YOLO

Hình ảnh từ bài báo chính thức

Các Thuật Toán Khác

✍️ Bài Tập: Phát Hiện Đối Tượng

Tiếp tục học trong notebook sau:

ObjectDetection.ipynb

Kết Luận

Trong bài học này, bạn đã có một cái nhìn tổng quan về các cách khác nhau để thực hiện phát hiện đối tượng!

🚀 Thử Thách

Đọc qua các bài viết và notebook về YOLO và thử nghiệm chúng:

Câu hỏi sau bài giảng

Ôn Tập & Tự Học

Bài tập: Phát Hiện Đối Tượng


Tuyên bố miễn trừ trách nhiệm:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI Co-op Translator. Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn tham khảo chính thức. Đối với các thông tin quan trọng, chúng tôi khuyến nghị sử dụng dịch vụ dịch thuật chuyên nghiệp từ con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này.