DAMO-YOLO so với YOLOX: So sánh kỹ thuật toàn diện

Bối cảnh thị giác máy tính thời gian thực đang không ngừng phát triển. Hai cột mốc đáng chú ý trong hành trình này là DAMO-YOLOYOLOX, mỗi mô hình đều mang đến những đổi mới độc đáo cho bài toán phát hiện đối tượng với tốc độ cao và độ chính xác cao. Mặc dù cả hai mô hình đều đóng góp đáng kể cho cộng đồng mã nguồn mở, việc hiểu rõ sự khác biệt về kiến trúc, phương pháp huấn luyện và các kịch bản triển khai lý tưởng là điều cốt yếu đối với các kỹ sư học máy.

Hướng dẫn toàn diện này khám phá các sắc thái kỹ thuật của cả hai mô hình và nêu bật lý do tại sao các giải pháp thay thế hiện đại như nền tảng Ultralytics YOLO26 mang lại hiệu suất vượt trội và sự dễ dàng trong sử dụng cho các môi trường sản xuất hiện nay.

Tổng quan về các model

Chi tiết về DAMO-YOLO

Được phát triển bởi một nhóm các nhà nghiên cứu tại Tập đoàn Alibaba, DAMO-YOLO được giới thiệu như một phương pháp phát hiện đối tượng 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
Docs: Tài liệu DAMO-YOLO

Tìm hiểu thêm về DAMO-YOLO

Chi tiết về YOLOX

Được tạo ra bởi các nhà nghiên cứu tại Megvii, YOLOX nhằm mục đích thu hẹp khoảng cách giữa nghiên cứu và các cộng đồng công nghiệp bằng cách chuyển dòng YOLO sang thiết kế không cần neo (anchor-free), đơn giản hóa đáng kể kiến trúc trong khi vẫn đạt được hiệu suất tốt hơn tại 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
Docs: Tài liệu YOLOX

Tìm hiểu thêm về YOLOX

Phân tích kiến trúc

Kiến trúc DAMO-YOLO

DAMO-YOLO dựa nhiều vào Neural Architecture Search (NAS). Các thành phần cốt lõi bao gồm:

  • MAE-NAS Backbones: Sử dụng thuật toán tìm kiếm tiến hóa đa mục tiêu để khám phá các xương sống (backbones) cung cấp sự cân bằng tối ưu giữa tốc độ suy luận và độ chính xác.
  • Efficient RepGFPN: Thiết kế phần cổ (neck) hạng nặng được điều chỉnh cho việc hợp nhất đặc trưng, giúp mô hình duy trì độ chính xác cao trên các quy mô đối tượng khác nhau.
  • ZeroHead: Một đầu phát hiện (detection head) nhẹ, được đơn giản hóa nhằm giảm bớt chi phí tính toán trong các lớp dự đoán cuối cùng.

Kiến trúc YOLOX

YOLOX đã tiếp cận theo cách khác, tập trung vào sự đơn giản về cấu trúc và thiết kế không cần neo (anchor-free):

  • Cơ chế Anchor-Free: Bằng cách dự đoán trực tiếp tọa độ BBox mà không cần các neo được xác định trước, YOLOX giảm bớt số lượng tham số thiết kế và việc điều chỉnh theo kinh nghiệm cần thiết.
  • Decoupled Head: Tách biệt các tác vụ phân loại và hồi quy thành các nhánh đặc trưng khác nhau, giúp cải thiện tốc độ hội tụ và độ chính xác tổng thể.
  • SimOTA Label Assignment: Chiến lược gán nhãn nâng cao giúp phân bổ động các mẫu dương tính cho các ground truth, cải thiện hiệu quả huấn luyện.
Triết lý thiết kế

Trong khi DAMO-YOLO sử dụng các tìm kiếm NAS do máy thực hiện để tìm ra kiến trúc tối ưu dưới các ràng buộc chặt chẽ, YOLOX tận dụng các sự đơn giản hóa tao nhã do con người thiết kế (như các đầu không cần neo) để hợp lý hóa quy trình phát hiện đối tượng.

So sánh hiệu năng

Việc đánh giá các mô hình này đòi hỏi phải xem xét 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à nhẹ cho cả hai kiến trúc.

Modelkích thước
(pixels)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
tham số
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

Mặc dù YOLOXx đạt được mAP tuyệt đối cao nhất là 51.1, DAMO-YOLOl mang lại mAP 50.8 đầy cạnh tranh với chưa đầy một nửa số tham số (42.1M so với 99.1M) và tốc độ thực thi 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 quá trình tăng cường chưng cất (distillation enhancement) phức tạp trong quá trình huấn luyện. Thông thường, một mô hình "giáo viên" lớn được huấn luyện trước, và kiến thức của nó được chưng cất vào các mô hình "học sinh" nhỏ hơn. Nó cũng sử dụng AlignedOTA để gán nhãn động. Mặc dù rất hiệu quả, quy trình huấn luyện đa 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 mẽ như MixUp và Mosaic. Tuy nhiên, các tác giả phát hiện ra rằng việc tắt các tăng cường mạnh này trong 15 epoch cuối cùng cho phép mô hình thu hẹp khoảng cách 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 lý tưởng

  • DAMO-YOLO: Phù hợp nhất cho các triển khai công nghiệp yêu cầu cao, nơi các quy trình chưng cất phía máy chủ có thể được hỗ trợ, và nơi phần cứng mục tiêu (như các GPU NVIDIA cụ thể) được hưởng lợi trực tiếp từ kiến trúc NAS phần cổ hạng nặng của nó.
  • YOLOX: Tuyệt vời cho các nhà phát triển đang tìm kiếm một phương pháp tiếp cận không cần neo thuần túy. Biến thể cực nhẹ YOLOXnano khiến nó trở nên khả thi đối với các thiết bị Android cũ, edge computing, và các cảm biến IoT rất hạn chế nơi số lượng tham số là điểm nghẽn tuyệt đối.

Lợi thế của Ultralytics: Giới thiệu YOLO26

Mặc dù DAMO-YOLO và YOLOX đại diện cho những cột mốc xuất sắc, các nhà phát triển ngày nay đòi hỏi những giải pháp toàn diện, linh hoạt và dễ sử dụng hơn. Đây là lúc Ultralytics PlatformUltralytics YOLO26 mới được phát hành tỏa sáng.

Được phát hành vào tháng 1 năm 2026, YOLO26 là mô hình được khuyến nghị tối ưu cho tất cả các tác vụ computer vision. Nó giới thiệu một loạt các bước đột phá vượt xa các kiến trúc cũ hơn:

  • Thiết kế NMS-Free End-to-End: YOLO26 loại bỏ hoàn toàn việc hậu xử lý Non-Maximum Suppression (NMS). Điều này cho phép triển khai đơn giản và nhanh hơn đáng kể, tránh các điểm nghẽn về độ trễ vốn có trong các đầu phát hiện truyền thống.
  • Tốc độ suy luận CPU nhanh hơn tới 43%: Bằng cách loại bỏ Distribution Focal Loss (DFL) một cách chiến lược và tối ưu hóa các lớp, YOLO26 mang lại tốc độ chưa từng có trên CPU và phần cứng biên.
  • MuSGD Optimizer: 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 trình tối ưu hóa MuSGD (một sự kết hợp giữa SGD và Muon), dẫn đến các lần huấn luyện ổn định cao và hội tụ nhanh hơn nhiều so với các thiết lập cũ trong YOLOX.
  • ProgLoss + STAL: Những hàm loss tiên tiến này mang lại những cải tiến đáng kể trong việc nhận dạng đối tượng nhỏ, khiến YOLO26 vượt trội hơn hẳn cho cảnh quay từ máy bay không người lái và robot.
  • Tính linh hoạt: Không giống như DAMO-YOLO, vốn chỉ dành riêng cho việc phát hiện đối tượng, YOLO26 xử lý liền mạch instance segmentation, pose estimation, classification, và Oriented Bounding Boxes (OBB) nguyên bản ngay trong cùng một hệ sinh thái được bảo trì tốt.

Tìm hiểu thêm về YOLO26

Dễ sử dụng với Ultralytics

Python API của Ultralytics hợp lý hóa trải nghiệm nhà phát triển. Việc huấn luyện một mô hình YOLO26 hiện đại đòi hỏi ít mã boilerplate hơn nhiều và tránh được các quy trình chưng cất phức tạp của DAMO-YOLO. Hơn nữa, các mô hình Ultralytics có yêu cầu bộ nhớ CUDA cực thấp trong quá trình huấn luyện so với các mô hình dựa trên Transformer hạng nặng.

from ultralytics import YOLO

# Load the latest Ultralytics YOLO26 nano model
model = YOLO("yolo26n.pt")

# Train the model on your custom dataset with one line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run fast, NMS-free inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Export to ONNX or TensorRT seamlessly
model.export(format="onnx")
Huấn luyện và triển khai trên Cloud

Bạn có thể tự động gắn nhãn, huấn luyện và triển khai các mô hình đến biên bằng cách sử dụng Ultralytics Platform, nền tảng giúp xử lý mọi công việc phiên bản dữ liệu và cung cấp GPU cloud cho bạn.

Kết luận

Việc lựa chọn giữa DAMO-YOLO và YOLOX phụ thuộc vào các ràng buộc cụ thể: DAMO-YOLO cung cấp tỷ lệ tốc độ trên độ chính xác đặc biệt trên các GPU cụ thể thông qua NAS, trong khi YOLOX cung cấp thiết kế không cần neo sạch sẽ, lý tưởng cho các kịch bản biên nhẹ.

Tuy nhiên, đối với các nhóm đang tìm kiếm một giải pháp hiện đại, sẵn sàng cho tương lai với một cộng đồng tích cực, kiến trúc Ultralytics YOLO26 là lựa chọn quyết định. Thiết kế NMS-free, suy luận CPU nhanh chóng và API thống nhất cho các tác vụ phát hiện, phân đoạn và ước tính tư thế của nó khiến nó trở nên vô song để chuyển đổi suôn sẻ từ nghiên cứu sang sản xuất thực tế mạnh mẽ.

Đối với các nhà phát triển quan tâm đến việc khám phá các kiến trúc hiện đại khác, chúng tôi cũng khuyến nghị kiểm tra Ultralytics YOLO11 hoặc các mô hình dựa trên Transformer như RT-DETR có sẵn trong tài liệu Ultralytics toàn diện.

Bình luận