DAMO-YOLO và YOLOX#
Lĩnh vực thị giác máy tính thời gian thực không ngừng phát triển. DAMO-YOLO và YOLOX là hai cột mốc đáng chú ý, mỗi model mang đến những cải tiến riêng cho bài toán phát hiện vật thể tốc độ cao và độ chính xác cao. Cả hai model đều đóng góp đáng kể cho cộng đồng mã nguồn mở, nhưng việc hiểu rõ khác biệt về kiến trúc, phương pháp huấn luyện và kịch bản triển khai lý tưởng là điều thiết yếu đối với kỹ sư machine learning.
Hướng dẫn toàn diện này phân tích các khía cạnh kỹ thuật của cả hai model và nêu bật lý do những lựa chọn thay thế hiện đại như nền tảng Ultralytics YOLO26 mang lại hiệu năng và tính dễ sử dụng vượt trội cho môi trường production hiện nay.
Tổng quan về model#
Thông tin về DAMO-YOLO#
Được phát triển bởi nhóm nhà nghiên cứu tại Alibaba Group, DAMO-YOLO được giới thiệu như một phương pháp phát hiện vật thể hiệu quả cao, tận dụng khả năng khám phá kiến trúc tự động.
- 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
- Tài liệu: Tài liệu DAMO-YOLO
Thông tin chi tiết về YOLOX#
Được phát triển bởi các nhà nghiên cứu tại Megvii, YOLOX hướng đến thu hẹp khoảng cách giữa cộng đồng nghiên cứu và công nghiệp bằng cách chuyển dòng YOLO sang thiết kế không dùng anchor, đơn giản hóa đáng kể kiến trúc đồng thời đạt hiệu năng tốt hơn vào thời điểm đó.
- Tác giả: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li và Jian Sun
- Tổ chức: Megvii
- Ngày: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Tài liệu: Tài liệu YOLOX
Phân tích kiến trúc#
Kiến trúc DAMO-YOLO#
DAMO-YOLO phụ thuộc nhiều vào Tìm kiếm kiến trúc mạng (NAS). Các thành phần cốt lõi bao gồm:
- Backbone MAE-NAS: Sử dụng phương pháp tìm kiếm có định hướng entropy tối đa để khám phá backbone cân bằng tối ưu giữa tốc độ suy luận và độ chính xác.
- RepGFPN hiệu quả: Thiết kế neck lớn được điều chỉnh để hợp nhất đặc trưng, giúp model duy trì độ chính xác cao ở nhiều kích thước vật thể khác nhau.
- ZeroHead: Head detection đơn giản, gọn nhẹ giúp giảm chi phí tính toán trong các lớp dự đoán cuối cùng.
Kiến trúc YOLOX#
YOLOX chọn cách tiếp cận khác, tập trung vào sự đơn giản trong cấu trúc và thiết kế không dùng anchor:
- Cơ chế không dùng anchor: Bằng cách dự đoán trực tiếp tọa độ bounding box mà không cần anchor được xác định trước, YOLOX giảm số lượng tham số thiết kế và mức độ điều chỉnh bằng heuristic cần thiết.
- Head tách biệt: Tách tác vụ phân loại và hồi quy thành các nhánh đặc trưng riêng biệt, qua đó cải thiện tốc độ hội tụ và độ chính xác tổng thể.
- Gán nhãn SimOTA: Chiến lược gán nhãn tiên tiến, phân bổ động các mẫu positive cho ground truth, giúp cải thiện hiệu quả huấn luyện.
Trong khi DAMO-YOLO sử dụng các lượt tìm kiếm NAS do máy thực hiện để tìm kiến trúc tối ưu trong những ràng buộc khắt khe, YOLOX tận dụng những đơn giản hóa tinh tế do con người thiết kế (như head không dùng anchor) để tinh gọn pipeline phát hiện vật thể.
So sánh hiệu năng#
Để đánh giá các model này, cần xem xét Độ chính xác trung bình (mAP), tốc độ suy luận và số lượng tham số. Dưới đây là bảng so sánh chi tiết các biến thể tiêu chuẩn và gọn nhẹ của cả hai kiến trúc.
| Model | 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Trong khi YOLOXx đạt mAP tuyệt đối cao nhất là 51.1, DAMO-YOLOl đạt mAP 50.8 rất cạnh tranh với chưa đến một nửa số tham số (42.1M so với 99.1M) và tốc độ chạy TensorRT nhanh hơn đáng kể.
Phương pháp huấn luyện#
Huấn luyện DAMO-YOLO#
DAMO-YOLO sử dụng phương pháp tăng cường distillation phức tạp trong quá trình huấn luyện. Thông thường, một model "teacher" lớn được huấn luyện trước, sau đó tri thức của model này được chắt lọc sang các model "student" nhỏ hơn. Model cũng sử dụng AlignedOTA để gán nhãn động. Tuy rất hiệu quả, quy trình huấn luyện nhiều giai đoạn này làm tăng đáng kể thời gian tính toán GPU và chi phí bộ nhớ cần thiết.
Huấn luyện YOLOX#
YOLOX dựa vào các chiến lược tăng cường dữ liệu mạnh như MixUp và Mosaic. Tuy nhiên, các tác giả phát hiện rằng việc tắt các phương pháp tăng cường mạnh này trong 15 epoch cuối giúp model thu hẹp khoảng cách với thực tế, cải thiện đáng kể các chỉ số độ chính xác cuối cùng.
Các trường hợp sử dụng phù hợp nhất#
- DAMO-YOLO: Phù hợp nhất với các triển khai công nghiệp quan trọng, nơi có thể hỗ trợ pipeline distillation phía máy chủ và phần cứng đích (chẳng hạn một số GPU NVIDIA nhất định) hưởng lợi trực tiếp từ kiến trúc NAS có neck lớn.
- YOLOX: Lựa chọn xuất sắc cho nhà phát triển muốn áp dụng phương pháp không dùng anchor thuần túy.
YOLOXnanocực kỳ gọn nhẹ, phù hợp với thiết bị Android đời cũ, điện toán biên và cảm biến IoT có tài nguyên rất hạn chế, nơi số lượng tham số là nút thắt lớn nhất.
Lợi thế Ultralytics: Giới thiệu YOLO26#
Mặc dù DAMO-YOLO và YOLOX là những cột mốc xuất sắc, các nhà phát triển ngày nay cần những giải pháp toàn diện, linh hoạt và dễ sử dụng hơn. Đây là thế mạnh của Nền tảng Ultralytics và Ultralytics YOLO26 mới ra mắt.
Ra mắt vào tháng 1 năm 2026, YOLO26 là model được khuyến nghị hàng đầu cho mọi tác vụ thị giác máy tính. Model giới thiệu một loạt cải tiến đột phá vượt trội hơn các kiến trúc cũ:
- Thiết kế end-to-end không cần NMS: Head one-to-one tùy chọn (
nms=False) của YOLO26 bỏ qua bước hậu xử lý Ức chế phi cực đại (NMS). Nhờ đó, việc triển khai đơn giản và nhanh hơn đáng kể, tránh được các nút thắt độ trễ vốn có ở head detection truyền thống. - Suy luận CPU nhanh hơn đến 43%: Bằng cách loại bỏ Distribution Focal Loss (DFL) một cách có chủ đích và tối ưu hóa các layer, YOLO26 đạt tốc độ vượt trội trên CPU và phần cứng biên.
- Optimizer MuSGD: Lấy cảm hứng từ các kỹ thuật huấn luyện Mô hình ngôn ngữ lớn (LLM), YOLO26 giới thiệu optimizer MuSGD (kết hợp SGD và Muon), giúp quá trình huấn luyện ổn định hơn nhiều và hội tụ nhanh hơn so với thiết lập cũ trong YOLOX.
- ProgLoss + STAL: Các hàm loss tiên tiến này cải thiện đáng kể khả năng nhận diện vật thể nhỏ, giúp YOLO26 vượt trội hơn nhiều trong xử lý cảnh quay drone và robot.
- Tính linh hoạt: Khác với DAMO-YOLO chỉ dành cho phát hiện vật thể, YOLO26 xử lý liền mạch phân đoạn instance, ước lượng pose, phân loại và Bounding Box định hướng (OBB) ngay trong cùng một hệ sinh thái được duy trì tốt.
Dễ sử dụng với Ultralytics#
Python API của Ultralytics tinh gọn trải nghiệm phát triển. Việc huấn luyện model YOLO26 tiên tiến đòi hỏi ít mã lặp hơn nhiều và tránh được các pipeline distillation phức tạp của DAMO-YOLO. Ngoài ra, các model Ultralytics có yêu cầu bộ nhớ CUDA rất thấp trong quá trình huấn luyện so với các model nặng dựa trên Transformer.
from ultralytics import YOLO
# Tải model nano Ultralytics YOLO26 mới nhất
model = YOLO("yolo26n.pt")
# Huấn luyện model trên dataset tùy chỉnh chỉ bằng một dòng mã
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Chạy suy luận nhanh trên ảnh mà không cần NMS
results = model("https://ultralytics.com/images/bus.jpg", nms=False)
# Xuất sang ONNX hoặc TensorRT liền mạch
model.export(format="onnx")Bạn có thể tự động gán nhãn, huấn luyện và triển khai model lên thiết bị biên bằng Nền tảng Ultralytics, nền tảng sẽ quản lý toàn bộ việc quản lý phiên bản dữ liệu và cấp phát GPU trên đám mây cho bạn.
Kết luận#
Việc lựa chọn giữa DAMO-YOLO và YOLOX tùy thuộc vào các ràng buộc cụ thể: DAMO-YOLO đạt tỷ lệ tốc độ trên độ chính xác vượt trội trên một số GPU nhất định nhờ NAS, trong khi YOLOX có thiết kế gọn gàng, không dùng anchor, lý tưởng cho các kịch bản biên cần model gọn nhẹ.
Tuy nhiên, với các nhóm đang tìm kiếm giải pháp hiện đại, bền vững trong tương lai và có cộng đồng hoạt động tích cực, kiến trúc Ultralytics YOLO26 là lựa chọn tối ưu. Khả năng suy luận không cần NMS tùy chọn, tốc độ suy luận CPU cao và API thống nhất cho các tác vụ detection, segmentation và pose giúp model vượt trội trong việc chuyển đổi liền mạch từ nghiên cứu sang production thực tế, mạnh mẽ.
Nếu muốn khám phá các kiến trúc hiện đại khác, chúng tôi cũng khuyên bạn tìm hiểu Ultralytics YOLO11 hoặc các model dựa trên Transformer như RT-DETR trong tài liệu toàn diện của Ultralytics.