THE SUMMARYAI-generated
Key Concepts
- Object Detection: Phát hiện và phân loại đối tượng trong ảnh hoặc video.
- YOLO (You Only Look Once): Một họ các mô hình object detection nổi tiếng.
- Sahi (Slicing Aided Hyper Inference): Phương pháp chia nhỏ ảnh đầu vào để cải thiện độ chính xác phát hiện đối tượng nhỏ.
- Segmentation: Phân đoạn ảnh, xác định các pixel thuộc về một đối tượng cụ thể.
- SAM (Segment Anything Model): Mô hình AI của Facebook có khả năng tự động phân đoạn đối tượng trong ảnh.
- Bounding Box: Hình chữ nhật bao quanh đối tượng được phát hiện.
- Confidence Score: Độ tin cậy của mô hình về dự đoán của nó.
- Feature Map: Biểu diễn trung gian của ảnh sau khi đi qua các lớp của mạng neural.
- CNN (Convolutional Neural Network): Mạng neural tích chập, thường được sử dụng trong object detection.
- IoU (Intersection over Union): Tỷ lệ giao nhau giữa bounding box dự đoán và bounding box thực tế.
- Ground Truth: Dữ liệu đã được đánh nhãn chính xác, được sử dụng để huấn luyện mô hình.
- Data Augmentation: Kỹ thuật tăng cường dữ liệu huấn luyện bằng cách tạo ra các biến thể của ảnh gốc.
- Transfer Learning: Sử dụng mô hình đã được huấn luyện trước trên một tập dữ liệu lớn cho một nhiệm vụ mới.
1. Giới thiệu về bài toán Object Detection và các phương pháp tiếp cận
- Bài toán Object Detection: Phát hiện vị trí và phân loại các đối tượng trong ảnh hoặc video.
- Hai cách tiếp cận chính:
- Sử dụng mô hình đã được huấn luyện trước: Ưu điểm: Đơn giản, không cần thu thập và đánh nhãn dữ liệu. Nhược điểm: Chỉ phát hiện được các đối tượng phổ biến trong bộ dữ liệu huấn luyện (ví dụ: COCO), độ chính xác không cao nếu ảnh đầu vào khác biệt nhiều so với dữ liệu huấn luyện.
- Tự thu thập, đánh nhãn và huấn luyện mô hình: Ưu điểm: Cải thiện độ chính xác, phát hiện được các đối tượng lạ. Nhược điểm: Tốn thời gian, công sức và chi phí.
2. Khó khăn khi phát hiện đối tượng có kích thước siêu nhỏ
- Các mô hình object detection hiện nay thường gặp khó khăn khi đối tượng cần phát hiện có kích thước rất nhỏ.
- Ví dụ: Sử dụng YOLOv11 nano (mô hình nhỏ nhất) để phát hiện xe trên ảnh chụp từ trên cao. Kết quả: Mô hình dự đoán rất kém, không phát hiện được nhiều xe, confidence score thấp.
- Nguyên nhân: Các layer trong CNN (ví dụ: max pooling, convolutional layer với stride lớn) làm giảm kích thước feature map, khiến cho các đối tượng nhỏ bị mất thông tin.
3. Bốn cách huấn luyện mô hình Object Detection để phát hiện đối tượng siêu nhỏ
3.1. Tăng kích thước ảnh đầu vào
- Ý tưởng: Giữ nguyên mô hình, chỉ tăng kích thước ảnh đầu vào.
- Ưu điểm: Chỉ tăng thế tính toán, không tăng kích thước mô hình.
- Ví dụ:
- So sánh YOLOv11 nano với YOLOv11 Extra Large (mô hình lớn nhất) trên cùng một ảnh đầu vào (kích thước 640 pixel). Kết quả: YOLOv11 Extra Large dự đoán tốt hơn một chút, nhưng vẫn rất kém.
- So sánh YOLOv11 nano với ảnh đầu vào kích thước 640 pixel và YOLOv11 nano với ảnh đầu vào kích thước 2560 pixel. Kết quả: YOLOv11 nano với ảnh đầu vào lớn hơn dự đoán tốt hơn rất nhiều.
- Giải thích: Khi tăng kích thước ảnh đầu vào, các đối tượng không bị thu nhỏ quá nhiều ở giai đoạn tiền xử lý, giúp mô hình giữ lại thông tin quan trọng.
- Lưu ý: Giải pháp này không phải lúc nào cũng hiệu quả.
3.2. Chia nhỏ ảnh đầu vào (Slicing Aided Hyper Inference - Sahi)
- Ý tưởng: Chia nhỏ ảnh đầu vào thành các ảnh nhỏ hơn, đưa từng ảnh nhỏ qua mô hình object detection, sau đó kết hợp các dự đoán lại.
- Ưu điểm: Giúp mô hình tập trung vào các khu vực nhỏ hơn, có thể phát hiện được các đối tượng nhỏ.
- Sahi: Giải pháp được tích hợp sẵn trong nhiều mô hình object detection, bao gồm YOLOv11.
- Ví dụ: Sử dụng YOLOv11 nano kết hợp với Sahi trên ảnh chụp từ trên cao. Kết quả: Không cải thiện được kết quả dự đoán.
- Lưu ý: Giải pháp này không phải lúc nào cũng đem lại kết quả như mong muốn.
3.3. Sử dụng giải pháp của Supervision
- Ý tưởng: Tương tự như Sahi, chia nhỏ ảnh đầu vào và kết hợp các dự đoán.
- Ví dụ: Sử dụng giải pháp của Supervision trên ảnh chụp từ trên cao. Kết quả: Mô hình đưa ra nhiều dự đoán sai.
- Lưu ý: Giải pháp này không hoạt động tốt với dữ liệu trong ví dụ.
3.4. Tự thu thập, đánh nhãn và huấn luyện mô hình
- Khó khăn: Đánh nhãn các đối tượng nhỏ mất nhiều thời gian và công sức.
- Giải pháp: Sử dụng mô hình AI để tự động phân đoạn đối tượng (ví dụ: Segment Anything Model - SAM).
- SAM: Mô hình của Facebook có khả năng tự động phân đoạn các đối tượng trong ảnh.
- Các cách sử dụng SAM:
- Phân đoạn tất cả các đối tượng trong ảnh.
- Phân đoạn các đối tượng trong một khu vực được chỉ định (bounding box).
- Phân đoạn đối tượng chứa một điểm được chỉ định.
- Phân đoạn các đối tượng chứa nhiều điểm được chỉ định.
- Ví dụ:
- Sử dụng SAM để phân đoạn tất cả các đối tượng trong ảnh chụp từ trên cao. Kết quả: Mô hình phân đoạn được một vài đối tượng, nhưng vẫn bị miss nhiều.
- Sử dụng SAM để phân đoạn các đối tượng chứa các điểm được chỉ định. Kết quả: Mô hình phân đoạn chính xác các đối tượng chứa các điểm đó.
- Công cụ hỗ trợ đánh nhãn:
- CVAT: Công cụ đánh nhãn dữ liệu mã nguồn mở.
- Roboflow: Nền tảng đánh nhãn và quản lý dữ liệu.
- Polygonzone Roboflow: Trang web giúp nhanh chóng định vị tọa độ của các điểm trên ảnh.
- Quy trình huấn luyện mô hình:
- Sử dụng Polygonzone Roboflow để click vào các đối tượng cần đánh nhãn, lấy tọa độ các điểm.
- Sử dụng SAM để phân đoạn các đối tượng chứa các điểm đó, tạo ra bounding box.
- Lưu tọa độ các bounding box vào file text theo định dạng YOLO.
- Chuẩn bị dữ liệu theo cấu trúc thư mục YOLO (images, labels, train, val).
- Tạo file YAML để chỉ định đường dẫn đến dữ liệu và số lượng class.
- Huấn luyện mô hình YOLOv11 nano với dữ liệu đã được đánh nhãn.
- Kết quả: Mô hình được huấn luyện với dữ liệu ít ỏi (3 frame) dự đoán khá tốt trên video đầu vào.
- Lưu ý:
- Sử dụng trực tiếp dự đoán của SAM làm ground truth vi phạm quy tắc cơ bản của dữ liệu có đánh nhãn. Cần có người kiểm tra và chỉnh sửa kết quả dự đoán của SAM.
- Sử dụng frame trong video test để làm frame huấn luyện là không được phép. Cần sử dụng các video khác biệt cho bộ train và bộ test.
4. Kết hợp các giải pháp của Ultralytics
- Sử dụng và kết hợp hai giải pháp có sẵn của Ultralytics: Object Tracking và Object Counting inferences.
- Tham khảo video chi tiết về hai giải pháp này để biết thêm thông tin.
5. Kết luận
- Video hướng dẫn bốn cách khác nhau để huấn luyện các mô hình object detection nhằm phát hiện các đối tượng có kích thước siêu nhỏ.
- Các phương pháp bao gồm tăng kích thước ảnh đầu vào, chia nhỏ ảnh đầu vào (Sahi, Supervision), và tự thu thập, đánh nhãn và huấn luyện mô hình (sử dụng SAM để hỗ trợ đánh nhãn).
- Việc lựa chọn phương pháp phù hợp phụ thuộc vào đặc điểm của dữ liệu và yêu cầu của bài toán.
- Kết hợp các giải pháp có sẵn của Ultralytics có thể giúp xây dựng các ứng dụng theo dõi lưu lượng giao thông.
AI summaries can miss context or contain errors. Check important details against the original video.