YOLOv10 so với DAMO-YOLO#
Khi xây dựng các pipeline thị giác máy tính hiện đại, việc lựa chọn đúng kiến trúc phát hiện đối tượng theo thời gian thực là yếu tố then chốt. Trong phân tích kỹ thuật toàn diện này, chúng ta sẽ tìm hiểu kiến trúc, các chỉ số hiệu năng và trường hợp sử dụng lý tưởng của YOLOv10 và DAMO-YOLO. Cả hai model đều thể hiện những bước tiến đáng kể về khả năng phát hiện đối tượng, nhưng lựa chọn các hướng kiến trúc khác nhau để đạt được mục tiêu.
Cho dù dự án của bạn yêu cầu triển khai trên phần cứng AI biên bị giới hạn tài nguyên hay đòi hỏi độ chính xác tối đa trên cloud GPU, việc hiểu rõ những khác biệt tinh tế giữa các kiến trúc này sẽ giúp bạn đưa ra quyết định sáng suốt.
Tìm hiểu YOLOv10#
Được giới thiệu bởi các nhà nghiên cứu tại Đại học Thanh Hoa, YOLOv10 đã cách mạng hóa họ YOLO bằng cách giới thiệu phương pháp end-to-end nguyên bản, qua đó loại bỏ hiệu quả nhu cầu sử dụng Non-Maximum Suppression (NMS) trong quá trình hậu xử lý.
Thông tin chi tiết về YOLOv10:
- Tác giả: Ao Wang, Hui Chen, Lihao Liu và cộng sự.
- Tổ chức: Đại học Thanh Hoa
- Ngày: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- Docs: https://docs.ultralytics.com/models/yolov10
Các đặc điểm kiến trúc chính#
Đổi mới cốt lõi của YOLOv10 là chiến lược Consistent Dual Assignments cho quá trình huấn luyện không cần NMS. Các bộ phát hiện đối tượng truyền thống phụ thuộc nhiều vào NMS để lọc các bounding box chồng lấn, dẫn đến độ trễ khó dự đoán—một nút thắt đáng kể đối với các ứng dụng thời gian thực như xe tự hành và robot tốc độ cao. Bằng cách dự đoán trực tiếp một bounding box tối ưu duy nhất cho mỗi đối tượng, YOLOv10 đạt được khả năng suy luận có độ trễ cực thấp và ổn định.
Ngoài ra, model áp dụng Holistic Efficiency-Accuracy Driven Design. Kiến trúc này tối ưu nhiều thành phần, bao gồm classification head nhẹ và cơ chế downsampling tách biệt spatial-channel, qua đó giảm đáng kể phần tính toán dư thừa. Kết quả là một kiến trúc có số lượng parameter và FLOPs thấp hơn nhưng vẫn duy trì mean Average Precision (mAP) cạnh tranh.
Ví dụ sử dụng#
YOLOv10 được tích hợp sâu vào hệ sinh thái Ultralytics, giúp việc sử dụng model thông qua gói Python của Ultralytics trở nên vô cùng đơn giản.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a test image
results = model("https://ultralytics.com/images/bus.jpg")
# Export the model to TensorRT format
model.export(format="engine", quantize=16)Tìm hiểu DAMO-YOLO#
Được phát triển bởi Alibaba Group, DAMO-YOLO tập trung khám phá các cấu trúc network có hiệu quả cao thông qua Neural Architecture Search (NAS) tự động, nhằm mở rộng Pareto frontier về tốc độ và độ chính xác.
Thông tin DAMO-YOLO:
- Tác giả: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang và Xiuyu Sun
- Tổ chức: Alibaba Group
- Ngày: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Các đặc điểm kiến trúc chính#
DAMO-YOLO giới thiệu một số công nghệ mới được thiết kế riêng cho các ứng dụng công nghiệp. Nền tảng của model là MAE-NAS Backbone, được tạo ra thông qua quá trình tìm kiếm có hướng dẫn dựa trên entropy tối đa. Quá trình tự động này khám phá ra các cấu trúc backbone tuân thủ nghiêm ngặt các ngân sách tính toán được xác định trước, tạo sự cân bằng tinh tế giữa độ chính xác và độ trễ suy luận.
Ngoài ra, kiến trúc sử dụng neck Efficient RepGFPN. Mạng feature pyramid này được thiết kế để cải thiện việc fusion feature ở các scale khác nhau, điều này rất quan trọng đối với những tác vụ phức tạp như phân tích ảnh hàng không, trong đó kích thước đối tượng thay đổi rất lớn. Bổ trợ cho thành phần này, DAMO-YOLO triển khai ZeroHead, một detection head tối giản giúp giảm đáng kể độ phức tạp của các layer dự đoán cuối cùng, tiết kiệm thời gian tính toán quý giá trong quá trình suy luận.
So sánh hiệu năng#
Khi đánh giá các kiến trúc phát hiện đối tượng, việc tìm ra sự cân bằng phù hợp giữa tốc độ suy luận, hiệu quả sử dụng parameter và độ chính xác phát hiện là tối quan trọng. Bảng dưới đây so sánh hiệu năng của YOLOv10 và DAMO-YOLO trên các kích thước model tương ứng.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Như có thể thấy qua các benchmark, YOLOv10 liên tục mang lại các chỉ số độ trễ xuất sắc trên TensorRT, đặc biệt ở biến thể nano, với số lượng parameter và FLOPs thấp hơn đáng kể so với các model tương đương của DAMO-YOLO. Mặc dù DAMO-YOLO đạt mAP cao ở biến thể tiny, hiệu quả sử dụng parameter và độ trễ suy luận của họ YOLOv10 mang lại lợi thế rõ rệt cho các môi trường triển khai bị giới hạn tài nguyên.
Các trường hợp sử dụng và khuyến nghị#
Việc lựa chọn giữa YOLOv10 và DAMO-YOLO phụ thuộc vào yêu cầu cụ thể của dự án, các giới hạn triển khai và ưu tiên về hệ sinh thái của bạn.
Khi nào nên chọn YOLOv10#
YOLOv10 là lựa chọn phù hợp 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ừ khả năng phát hiện đầu cuối mà không cần triệt tiêu cực đại, giúp giảm độ phức tạp khi triển khai.
- Cân bằng giữa tốc độ và độ chính xác: Các project yêu cầu sự cân bằng tốt giữa tốc độ suy luận và độ chính xác phát hiện trên nhiều quy mô model khác nhau.
- Ứng dụng có độ trễ nhất quán: Các kịch bản triển khai mà thời gian suy luận có thể dự đoán là yếu 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 DAMO-YOLO#
DAMO-YOLO được khuyến nghị cho:
- Phân tích video thông lượng cao: Xử lý các luồng video FPS cao trên hạ tầng GPU NVIDIA cố định, trong đó 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 tình huống có yêu cầu nghiêm ngặt về độ trễ GPU trên phần cứng chuyên dụng, chẳng hạn như kiểm tra chất lượng theo 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 được reparameterize hiệu quả đối với hiệu năng phát hiện.
Khi nào nên chọn Ultralytics (YOLO26)#
Đối với hầu hết dự án mới, Ultralytics YOLO26 mang đến sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm developer:
- 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 bước hậu xử lý triệt tiêu cực đại.
- Môi trường chỉ sử dụng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi khả năng suy luận trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Phát hiện đối tượng nhỏ: Các kịch bản đầy thách thức như ảnh chụp từ drone trên không hoặc phân tích cảm biến IoT, trong đó ProgLoss và STAL cải thiện đáng kể độ chính xác trên các đối tượng rất nhỏ.
Lợi thế của Ultralytics#
Mặc dù cả hai model đều ấn tượng về mặt kỹ thuật, việc lựa chọn kiến trúc cho production đòi hỏi phải xem xét nhiều hơn các chỉ số thô. Việc xây dựng với các model được hệ sinh thái Ultralytics hỗ trợ nguyên bản mang lại những lợi thế vượt trội cho cả developer và researcher.
Dễ sử dụng và hệ sinh thái được duy trì tốt#
Không giống các repository học thuật độc lập thường bị bỏ dở, Ultralytics cung cấp một hệ sinh thái mạnh mẽ và được duy trì tích cực. Việc thiết lập các môi trường phức tạp cho những model phụ thuộc nhiều vào pipeline NAS có thể gây khó khăn. Ngược lại, Ultralytics cung cấp Python API và CLI mạnh mẽ, trực quan, được chuẩn hóa và đi kèm tài liệu phong phú. Điều này rút ngắn đáng kể thời gian đưa các giải pháp thị giác tùy chỉnh ra thị trường.
Hiệu quả training và yêu cầu bộ nhớ#
Việc huấn luyện các model lớn có thể nhanh chóng trở nên tốn kém về mặt tính toán. Các kiến trúc Ultralytics YOLO vốn nổi tiếng nhờ mức sử dụng bộ nhớ CUDA thấp trong quá trình huấn luyện và suy luận. Hiệu quả này cho phép developer huấn luyện model trên phần cứng cấp độ người dùng hoặc các cloud instance tiết kiệm chi phí mà không gặp lỗi hết bộ nhớ, vốn thường xảy ra khi làm việc với các model dựa trên Transformer như RT-DETR.
Ultralytics tích hợp nguyên bản với các công cụ MLOps hàng đầu. Bạn có thể dễ dàng theo dõi tiến trình huấn luyện model bằng các tích hợp với Weights & Biases, Comet hoặc ClearML mà không cần thêm code boilerplate.
Tính linh hoạt trên nhiều tác vụ#
Một hạn chế đáng kể của nhiều model phát hiện chuyên biệt là phạm vi tập trung hẹp. Trong hệ sinh thái Ultralytics, bạn không bị giới hạn ở việc chỉ phát hiện đối tượng. Các công cụ mở rộng liền mạch sang nhiều tác vụ thị giác máy tính, bao gồm phân đoạn instance, phân loại ảnh, ước tính pose và phát hiện bounding box định hướng (OBB).
Định hướng tương lai: Sự tiến hóa của YOLO26#
Trong khi YOLOv10 tiên phong cho suy luận không cần NMS và DAMO-YOLO thể hiện sức mạnh của NAS, lĩnh vực thị giác máy tính vẫn phát triển nhanh chóng. Đối với các developer đang tìm kiếm giải pháp hiện đại hàng đầu, chúng tôi khuyến nghị tham khảo Ultralytics YOLO26.
Được phát hành như phiên bản kế nhiệm toàn diện của YOLO11, YOLO26 kế thừa nền tảng không cần NMS do YOLOv10 thiết lập nhưng đưa nền tảng này tiến xa hơn đáng kể.
Các cải tiến chính trong YOLO26 bao gồm:
- Suy luận trên CPU nhanh hơn tới 43%: Được tối ưu cụ thể cho điện toán biên và các thiết bị công suất thấp.
- Loại bỏ DFL: Distribution Focal Loss đã được loại bỏ, đảm bảo quá trình export đơn giản hơn và khả năng tương thích nâng cao với nhiều đích triển khai khác nhau.
- Optimizer MuSGD: Một phương pháp kết hợp giữa SGD và Muon, đưa tính ổn định nâng cao khi huấn luyện LLM cùng khả năng hội tụ nhanh hơn trực tiếp vào thị giác máy tính.
- ProgLoss + STAL: Các hàm loss được cải thiện đáng kể, mang lại những nâng cấp rõ rệt trong việc nhận diện đối tượng nhỏ, yếu tố thiết yếu đối với các trường hợp sử dụng như nông nghiệp và viễn thám.
Bằng cách sử dụng Ultralytics Platform mới được cải tiến toàn diện, developer có thể dễ dàng gán nhãn, huấn luyện và triển khai các model thế hệ tiếp theo như YOLO26 chỉ với vài cú nhấp chuột, đảm bảo pipeline thị giác máy tính của bạn luôn dẫn đầu và sẵn sàng cho tương lai.