Link to this sectionSo sánh DAMO-YOLO và YOLOv10#
Lĩnh vực thị giác máy tính đã chứng kiến sự phát triển nhanh chóng của 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ác cấu trúc nền tảng và trường hợp sử dụng lý tưởng của chúng khác nhau đáng kể.
Link to this sectionDAMO-YOLO: Tìm kiếm Kiến trúc Neural ở quy mô lớn#
Được phát triển bởi Alibaba Group, DAMO-YOLO nổi lên như một trình phát hiện 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
Link to this sectionĐiểm nổi bật về kiến trúc#
DAMO-YOLO dựa nhiều vào Neural Architecture Search (NAS) để cân bằng giữa hiệu suất và độ trễ. Phần backbone của nó, có 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 khắt khe để tìm ra độ sâu và chiều rộng lớp tối ưu.
Để xử lý việc hợp nhất đặc trưng trên các quy mô khác nhau, mô hình sử dụng một 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 ra nhận diện được tinh giả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 kiến thức đa giai đoạn. Nó đòi hỏi phải 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 đạt được mAP (mean Average Precision) cao hơn nhưng làm tăng đáng kể thời gian tính toán trên GPU cần thiết.
Link to this sectionYOLOv10: Tiên phong trong phát hiện đối tượng End-to-End#
Được phát hành một năm rưỡi sau đó, YOLOv10 đã tạo ra một bước ngoặt về mô hình bằng cách loại bỏ hoàn toàn nhu cầu sử dụng Non-Maximum Suppression (NMS) trong quá trình suy luận.
- 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
Link to this sectionĐiểm nổi bật về kiến trúc#
Điểm nổi bật của YOLOv10 là tính năng gán kép nhất quán (consistent dual assignments) cho việc huấn luyện không cần NMS. Các trình phát hiện truyền thống dự đoán nhiều hộp bao quanh (bounding box) chồng lấp cho một đối tượng, đòi hỏi NMS để lọc các trùng lặp. Bước hậu xử lý này tạo ra một nút thắt cổ chai, đặ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 dự đoán tự nhiên một hộp bao quanh 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 hướng tới sự cân bằng giữa hiệu suất và độ chính xác. Bằng cách phân tích kỹ lưỡng 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ễ suy luận vượt trội khi xuất sang các định dạng như TensorRT hoặc OpenVINO.
Link to this sectionHiệu năng và Benchmark#
Bảng dưới đây minh họa các chỉ số hiệu suất thô trên tập dữ liệu COCO. Các giá trị tổng thể tốt nhất trong mỗi cột được làm nổi bật bằng chữ in đậm.
| Mô hình | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (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 |
Mặc dù DAMO-YOLO vẫn duy trì được 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 ít hơn một nửa số tham số (7,2M so với 16,3M). Yêu cầu về bộ nhớ thấp hơn làm cho YOLOv10 trở thành lựa chọn linh hoạt vượt trội cho các hệ thống nhúng.
Link to this sectionHiệu quả Huấn luyện và Khả năng Sử dụng#
Khi chuyển đổi từ nghiên cứu học thuật sang sản xuất, sự 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ể tạo ra 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 nhà phát triển chuyển từ nguyên mẫu sang mô hình ONNX đã xuất chỉ với vài dòng mã, bỏ qua các thiết lập môi trường phức tạp vốn cần thiết bởi các framework cũ hơn.
Link to this sectionCác trường hợp sử dụng thực tế#
- Bán lẻ thông minh (DAMO-YOLO): Độ chính xác của DAMO-YOLO rất phù hợp cho các 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 GPU dồi dào và các nút thắt cổ chai NMS thời gian thực có thể quản lý được.
- Xe tự lái (YOLOv10): Kiến trúc không cần NMS đảm bảo độ trễ xác định và 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ự động.
- 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.
Link to this sectionCá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ể, hạn chế triển khai và sở thích về hệ sinh thái của bạn.
Link to this sectionKhi nào nên chọn DAMO-YOLO#
DAMO-YOLO là một lựa chọn mạnh mẽ cho:
- Phân tích video thông lượng cao: Xử lý 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à chỉ số chính.
- Dây chuyền sản xuất công nghiệp: Các kịch bản với hạn chế độ 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 tìm kiếm kiến trúc tự động (MAE-NAS) và các backbone tái tham số hóa hiệu quả đối với hiệu năng phát hiện.
Link to this sectionKhi nào nên chọn YOLOv10#
YOLOv10 được khuyến nghị cho:
- Phát hiện thời gian thực không cần NMS: Các ứng dụng hưởng lợi từ việc phát hiện đầu cuối (end-to-end) mà không cần NMS, giúp giảm độ phức tạp khi triển khai.
- Sự 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 mạnh mẽ giữa tốc độ suy luận và độ chính xác của phát hiện trên nhiều quy mô model khác nhau.
- Các ứng dụng có độ 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à yếu tố quan trọng, chẳng hạn như robotics hoặc các hệ thống tự hành.
Link to this sectionKhi 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 năng 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 nhất quán, độ trễ thấp mà không có sự phức tạp của hậu xử lý Non-Maximum Suppression.
- Môi trường chỉ dùng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Phát hiện vật thể nhỏ: Các kịch bản đầy thách thức như hình ảnh máy bay không người lái 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 vật thể cực nhỏ.
Link to this sectionThế hệ tiếp theo: Giới thiệu Ultralytics YOLO26#
Trong khi YOLOv10 đã đặt nền móng cho việc phát hiệ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 mang lại hiệu suất và khả năng sử dụng chưa từng có, tận dụng những gì tốt nhất của các thế hệ trước và tinh chỉnh chúng cho mục đích 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 trình phát hiện đối tượng. Nó cung cấp các cải tiến đặc thù cho từng tác vụ, hỗ trợ tự nhiên Instance Segmentation, Pose Estimation sử dụng Residual Log-Likelihood Estimation (RLE), và các hàm mất mát góc chuyên dụng cho Oriented Bounding Boxes (OBB). Với suy luậ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, gắn nhãn, và huấn luyện trên đám mây các mô hình YOLO26, Ultralytics Platform cung cấp một 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 nhà phát triể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 là RT-DETR cho các kịch bản đòi hỏi các giải pháp kiến trúc riêng biệt.