DAMO-YOLO so với YOLOv10: Sự tiến hóa của nhận diện đối tượng thời gian thực hiệu quả
Lĩnh vực thị giác máy tính đã chứng kiến sự tiến hóa nhanh chóng trong các kiến trúc nhận diện đối tượng thời gian thực. Khi so sánh DAMO-YOLO và YOLOv10, chúng ta thấy hai triết lý thiết kế mô hình khác biệt: tìm kiếm kiến trúc tự động so với tối ưu hóa end-to-end không cần NMS. Mặc dù cả hai đều đẩy mạnh giới hạn về độ chính xác và tốc độ, cấu trúc cơ bản và trường hợp sử dụng lý tưởng của chúng khác biệt đáng kể.
DAMO-YOLO: Neural Architecture Search ở quy mô lớn
Được phát triển bởi Alibaba Group, DAMO-YOLO xuất hiện như một detector mạnh mẽ tập trung vào việc tận dụng khám phá tự động để đạt hiệu quả cấu trúc.
- Tác giả: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, và Xiuyu Sun
- Ngày: 23 tháng 11, 2022
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
Các điểm nổi bật về kiến trúc
DAMO-YOLO dựa chủ yếu vào Neural Architecture Search (NAS) để cân bằng giữa hiệu năng và độ trễ. Backbone của nó, được đặt tên là MAE-NAS, sử dụng tìm kiếm tiến hóa đa mục tiêu dưới các ngân sách tính toán nghiêm ngặt để tìm ra độ sâu và độ rộng lớp tối ưu.
Để xử lý hợp nhất đặc trưng qua các thang đo, mô hình sử dụng RepGFPN (Reparameterized Generalized Feature Pyramid Network) hiệu quả. Thiết kế heavy-neck này đặc biệt giỏi trong việc trích xuất các phân cấp không gian phức tạp, khiến nó hữu ích trong các kịch bản như phân tích hình ảnh trên không. Ngoài ra, DAMO-YOLO giới thiệu ZeroHead, một đầu nhận diện (detection head) tinh gọn giúp giảm đáng kể độ phức tạp của các lớp dự đoán cuối cùng, dựa vào quy trình tăng cường chưng cất mạnh mẽ trong quá trình huấn luyện.
DAMO-YOLO thường sử dụng quy trình chưng cất tri thức đa giai đoạn. Nó yêu cầu huấn luyện một mô hình "giáo viên" nặng hơn để hướng dẫn mô hình "học sinh" nhỏ hơn, giúp trích xuất mAP (mean Average Precision) cao hơn nhưng lại làm tăng đáng kể thời gian tính toán GPU cần thiết.
YOLOv10: Tiên phong trong nhận diện vật thể End-to-End
Được phát hành một năm rưỡi sau đó, YOLOv10 đã giới thiệu một sự thay đổi mô hình bằng cách loại bỏ hoàn toàn nhu cầu về Non-Maximum Suppression (NMS) trong quá trình inference.
- Tác giả: Ao Wang, Hui Chen, Lihao Liu, và cộng sự.
- Tổ chức: Đại học Thanh Hoa
- Ngày: 23 tháng 5 năm 2024
- Arxiv: 2405.14458
- Tài liệu: Ultralytics YOLOv10
Các điểm nổi bật về kiến trúc
Tính năng nổi bật của YOLOv10 là gán kép nhất quán (consistent dual assignments) cho huấn luyện không cần NMS. Các detector truyền thống dự đoán nhiều bounding box chồng lấp cho một đối tượng duy nhất, đòi hỏi NMS để lọc các kết quả trùng lặp. Bước hậu xử lý này tạo ra một điểm nghẽn, đặc biệt là trên các thiết bị biên. YOLOv10 giải quyết vấn đề này bằng cách cho phép mô hình tự nhiên dự đoán một bounding box chính xác duy nhất cho mỗi đối tượng.
Các tác giả cũng tập trung vào thiết kế mô hình toàn diện theo hướng hiệu quả-chính xác. Bằng cách phân tích cẩn thận sự dư thừa tính toán trong các kiến trúc hiện có, họ đã tối ưu hóa backbone và head để giảm số lượng FLOPs và tham số. Thiết kế nhẹ này đảm bảo YOLOv10 mang lại độ trễ inference đặc biệt tốt khi export sang các định dạng như TensorRT hoặc OpenVINO.
Hiệu suất và Benchmark
Bảng dưới đây minh họa các chỉ số hiệu năng thô trên dataset COCO. Các giá trị tổng thể tốt nhất trong mỗi cột được in đậm.
| Model | kích thước (pixels) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Trong khi DAMO-YOLO vẫn giữ vững vị thế về độ chính xác, YOLOv10 liên tục cung cấp độ trễ thấp hơn và trọng lượng mô hình nhỏ hơn đáng kể. Ví dụ, YOLOv10s đạt mAP cao hơn một chút (46,7%) so với DAMO-YOLOs (46,0%) trong khi chỉ sử dụng chưa đến một nửa số tham số (7,2M so với 16,3M). Yêu cầu bộ nhớ thấp hơn làm cho YOLOv10 trở thành lựa chọn đặc biệt linh hoạt cho các hệ thống nhúng.
Hiệu quả đào tạo và Khả năng sử dụng
Khi chuyển từ nghiên cứu học thuật sang sản xuất, tính dễ sử dụng là tối quan trọng. Quy trình chưng cất đa giai đoạn và các cấu hình NAS phức tạp của DAMO-YOLO có thể gây ra những rào cản học tập lớn cho các đội ngũ kỹ thuật.
Conversely, YOLOv10 benefits immensely from being fully integrated into the Ultralytics Python SDK. Training a custom model involves minimal boilerplate code. Ultralytics handles data augmentation, hyperparameter tuning, and experiment tracking automatically.
from ultralytics import YOLO
# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()Sử dụng hệ sinh thái Ultralytics cho phép các lập trình viên chuyển từ prototype sang mô hình ONNX đã export chỉ với vài dòng code, bỏ qua các thiết lập môi trường phức tạp yêu cầu bởi các framework cũ hơn.
Các trường hợp sử dụng trong thực tế
- Bán lẻ thông minh (DAMO-YOLO): Độ chính xác của DAMO-YOLO rất phù hợp với môi trường máy chủ mật độ cao phân tích hành vi khách hàng nơi có nguồn lực GPU dồi dào và các điểm nghẽn NMS thời gian thực có thể kiểm soát được.
- Xe tự hành (YOLOv10): Kiến trúc không dùng NMS đảm bảo độ trễ xác định, có thể dự đoán được, điều này rất quan trọng đối với các hệ thống an toàn trong lái xe tự hành.
- Industrial Automation (YOLOv10): Detecting defects on fast-moving assembly lines requires models that maximize real-time inference speeds without consuming vast VRAM, making YOLOv10 a prime candidate for edge deployment.
Các trường hợp sử dụng và khuyến nghị
Việc lựa chọn giữa DAMO-YOLO và YOLOv10 phụ thuộc vào yêu cầu dự án cụ thể, các ràng buộc triển khai và sở thích về hệ sinh thái của bạn.
Khi nào nên chọn DAMO-YOLO
DAMO-YOLO là lựa chọn mạnh mẽ cho:
- Phân tích video thông lượng cao: Xử lý các luồng video FPS cao trên cơ sở hạ tầng GPU NVIDIA cố định, nơi thông lượng batch-1 là số liệu chính.
- Dây chuyền sản xuất công nghiệp: Các kịch bản với các ràng buộc về độ trễ GPU nghiêm ngặt trên phần cứng chuyên dụng, chẳng hạn như kiểm tra chất lượng thời gian thực trên dây chuyền lắp ráp.
- Nghiên cứu Neural Architecture Search: Nghiên cứu tác động của việc tìm kiếm kiến trúc tự động (MAE-NAS) và các backbone được tham số hóa lại hiệu quả đối với hiệu suất phát hiện.
Khi nào nên chọn YOLOv10
YOLOv10 được khuyến nghị cho:
- Nhận diện thời gian thực không cần NMS: Các ứng dụng hưởng lợi từ việc nhận diện end-to-end mà không cần Non-Maximum Suppression, giảm bớt độ phức tạp khi triển khai.
- Cân bằng giữa tốc độ và độ chính xác: Các dự án yêu cầu sự cân bằng tốt giữa tốc độ suy luận và độ chính xác nhận diện trên nhiều quy mô mô hình khác nhau.
- Ứng dụng yêu cầu độ trễ nhất quán: Các kịch bản triển khai nơi thời gian suy luận có thể dự đoán được là rất quan trọng, chẳng hạn như robotics hoặc các hệ thống tự hành.
Khi nào nên chọn Ultralytics (YOLO26)
Đối với hầu hết các dự án mới, Ultralytics YOLO26 cung cấp sự kết hợp tốt nhất giữa hiệu suất và trải nghiệm nhà phát triển:
- Triển khai Edge không cần NMS: Các ứng dụng yêu cầu suy luận ổn định, độ trễ thấp mà không cần sự phức tạp của việc hậu xử lý Non-Maximum Suppression.
- Môi trường chỉ sử dụng CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ suy luận trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Nhận diện đối tượng nhỏ: Các kịch bản thách thức như ảnh drone trên không hoặc phân tích cảm biến IoT nơi ProgLoss và STAL tăng cường đáng kể độ chính xác trên các đối tượng cực nhỏ.
Thế hệ tiếp theo: Giới thiệu Ultralytics YOLO26
Trong khi YOLOv10 đã đặt nền móng cho nhận diện không cần NMS, công nghệ đã phát triển nhanh chóng. Đối với các ứng dụng hiện đại, mô hình Ultralytics YOLO26 cung cấp hiệu năng và khả năng sử dụng chưa từng có, kế thừa những điểm tốt nhất của các thế hệ trước và tinh chỉnh chúng cho sản xuất.
YOLO26 features a strictly natively end-to-end design, eliminating NMS post-processing for simpler deployment pipelines across edge devices. Furthermore, the removal of Distribution Focal Loss (DFL) has dramatically improved compatibility with low-power edge AI hardware.
On the training side, YOLO26 introduces the MuSGD Optimizer, a hybrid inspired by Large Language Model (LLM) training techniques. This ensures more stable training and faster convergence. Coupled with the ProgLoss + STAL loss functions, YOLO26 exhibits remarkable improvements in small-object recognition, a critical feature for wildlife conservation and drone operations.
Quan trọng hơn, YOLO26 không chỉ là một detector đối tượng. Nó cung cấp các cải tiến dành riêng cho từng tác vụ trên diện rộng, hỗ trợ tự nhiên Instance Segmentation, Pose Estimation sử dụng Residual Log-Likelihood Estimation (RLE) và các hàm loss góc chuyên biệt cho Oriented Bounding Boxes (OBB). Với inference trên CPU nhanh hơn tới 43% so với các phiên bản tiền nhiệm, đây là lựa chọn tối ưu cho các đội ngũ kỹ thuật linh hoạt.
Để quản lý tập trung, chú thích và huấn luyện đám mây các mô hình YOLO26, Ultralytics Platform cung cấp giao diện trực quan giúp hợp lý hóa toàn bộ vòng đời thị giác máy tính.
Các lập trình viên quan tâm đến việc khám phá các tiến bộ gần đây khác cũng có thể đánh giá Ultralytics YOLO11 hoặc framework dựa trên Transformer RT-DETR cho các kịch bản yêu cầu các giải pháp kiến trúc khác biệt.