Ultralytics YOLO27:
Get Started

YOLOX và DAMO-YOLO#

Sự phát triển của lĩnh vực phát hiện đối tượng thời gian thực chứng kiến nhiều thay đổi về mô hình, từ kiến trúc dựa trên anchor sang không anchor, và từ backbone được thiết kế thủ công sang tìm kiếm kiến trúc mạng nơ-ron (NAS) tự động. Trong bài so sánh kỹ thuật toàn diện này, chúng ta sẽ phân tích hai cột mốc quan trọng trong hành trình đó: YOLOX và DAMO-YOLO. Chúng ta sẽ tìm hiểu các cải tiến kiến trúc, phương pháp huấn luyện và sự đánh đổi về hiệu năng của hai model, đồng thời nêu bật giải pháp thay thế vượt trội mà Ultralytics YOLO26 hiện đại mang lại cho các nhà phát triển ngày nay.

YOLOX: Tiên phong với mô hình không anchor#

Được Zheng Ge, Songtao Liu, Feng Wang, Zeming Li và Jian Sun tại Megvii phát hành ngày 18 tháng 7 năm 2021, YOLOX đánh dấu bước ngoặt quan trọng khi tích hợp thành công thiết kế không anchor vào dòng YOLO. Như được mô tả trong báo cáo kỹ thuật trên ArXiv chi tiết, YOLOX hướng đến thu hẹp khoảng cách giữa nghiên cứu học thuật và triển khai công nghiệp.

Các cải tiến kiến trúc chính#

YOLOX đưa ra một số thay đổi cấu trúc cốt lõi, cải thiện đáng kể so với các phiên bản tiền nhiệm:

  • Cơ chế không anchor: Bằng cách dự đoán trực tiếp tâm của đối tượng và kích thước bounding box, YOLOX giảm số lượng heuristic thiết kế và đơn giản hóa quy trình phân cụm anchor phức tạp. Điều này giúp model thích ứng tốt với nhiều tình huống thị giác máy tính khác nhau.
  • Head tách biệt: Các model YOLO truyền thống sử dụng một head kết hợp cho cả phân loại và hồi quy. YOLOX triển khai head tách biệt, xử lý riêng việc phân loại và định vị, nhờ đó hội tụ nhanh hơn nhiều và cải thiện độ chính xác.
  • Gán nhãn SimOTA: Phiên bản đơn giản hóa của Gán nhãn Vận tải Tối ưu (OTA) được sử dụng để gán mẫu dương một cách linh hoạt, rút ngắn thời gian huấn luyện và khắc phục sự mơ hồ trong việc gán theo tâm.
Di sản của YOLOX

Thiết kế head tách biệt của YOLOX ảnh hưởng sâu sắc đến các thế hệ bộ phát hiện đối tượng tiếp theo và trở thành tính năng tiêu chuẩn trong nhiều model hiện đại.

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

DAMO-YOLO: Tìm kiếm kiến trúc tự động ở quy mô lớn#

Được Xianzhe Xu cùng nhóm nghiên cứu tại Alibaba Group phát triển, DAMO-YOLO được giới thiệu vào ngày 23 tháng 11 năm 2022. Như trình bày trong ấn phẩm ArXiv, model tận dụng mạnh mẽ tìm kiếm kiến trúc mạng nơ-ron (NAS) để đẩy xa biên Pareto giữa tốc độ và độ chính xác.

Các cải tiến kiến trúc chính#

Chiến lược của DAMO-YOLO được xây dựng dựa trên việc tự động hóa thiết kế các cấu trúc hiệu quả:

  • Backbone MAE-NAS: Bằng cách sử dụng phương pháp tìm kiếm có định hướng entropy cực đại, DAMO-YOLO khám phá các backbone rất hiệu quả, được tùy chỉnh theo ngân sách độ trễ cụ thể, đặc biệt khi xuất sang các framework như TensorRT.
  • RepGFPN hiệu quả: Thiết kế neck nặng giúp tăng cường đáng kể khả năng hợp nhất đặc trưng ở các độ phân giải không gian khác nhau, rất hữu ích cho phân tích ảnh hàng không và phát hiện đối tượng ở nhiều tỷ lệ.
  • ZeroHead: Head dự đoán đơn giản hóa, cắt giảm dư thừa tính toán mà không làm giảm độ chính xác trung bình (mAP) tổng thể của model.
  • AlignedOTA và chưng cất: Kết hợp các phương pháp gán nhãn tiên tiến với chưng cất tri thức teacher-student để khai thác hiệu năng tối đa từ các student model nhỏ hơn.

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

So sánh hiệu năng và chỉ số#

Khi so sánh hai model này, cần xem xét số lượng tham số, FLOPs cần thiết và các chỉ số độ trễ. Dưới đây là dữ liệu benchmark so sánh YOLOX và DAMO-YOLO ở nhiều quy mô.

Modelkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
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
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

Dù cả hai model đều đạt kết quả ấn tượng, chúng vẫn có một số hạn chế. YOLOX cần được tinh chỉnh cẩn thận cho head tách biệt, còn việc DAMO-YOLO phụ thuộc nhiều vào chưng cất khiến quá trình huấn luyện lại trên các dataset tùy chỉnh tiêu tốn rất nhiều tài nguyên, đòi hỏi lượng lớn bộ nhớ GPU.

Trường hợp sử dụng và khuyến nghị#

Việc chọn YOLOX hay DAMO-YOLO phụ thuộc vào yêu cầu cụ thể của dự án, các ràng buộc triển khai và lựa chọn hệ sinh thái của bạn.

Khi nào nên chọn YOLOX#

YOLOX là lựa chọn phù hợp khi:

  • Nghiên cứu phát hiện không anchor: Nghiên cứu học thuật sử dụng kiến trúc không anchor rõ ràng của YOLOX làm baseline để thử nghiệm các head phát hiện hoặc hàm loss mới.
  • Thiết bị biên siêu nhẹ: Triển khai trên vi điều khiển hoặc phần cứng di động đời cũ, nơi kích thước cực nhỏ của biến thể YOLOX-Nano (0.91M tham số) là yếu tố then chốt.
  • Nghiên cứu gán nhãn SimOTA: Các dự án nghiên cứu tìm hiểu chiến lược gán nhãn dựa trên vận tải tối ưu và ảnh hưởng của chúng đến quá trình hội tụ khi huấn luyện.

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ý 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 kịch bản 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 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 ảnh hưở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ả đến hiệu năng phát hiện.

Khi nào nên chọn Ultralytics (YOLO26)#

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 dành cho nhà phát triển:

  • Triển khai trên thiết bị biên không cần NMS: Các ứng dụng cần inference có độ trễ thấp và ổn định mà không phải xử lý hậu kỳ Non-Maximum Suppression phức tạp.
  • Môi trường chỉ có CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ CPU inference nhanh hơn đến 43% của YOLO26 mang lại lợi thế rõ rệt.
  • Phát hiện vật thể nhỏ: Các tình huống khó 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 khi phát hiện vật thể rất nhỏ.

Ưu thế của Ultralytics: Giới thiệu YOLO26#

YOLOX và DAMO-YOLO là những cột mốc lịch sử quan trọng, nhưng các nhà phát triển hiện đại cần một giải pháp kết hợp độ chính xác tiên tiến nhất với khả năng sử dụng vượt trội. Đây chính là lúc Ultralytics YOLO26 tạo nên bước chuyển đổi. Được phát hành vào tháng 1 năm 2026, YOLO26 kế thừa di sản của các model không cần NMS, mang đến sự cân bằng tối ưu giữa tốc độ, độ chính xác và trải nghiệm dành cho nhà phát triển.

Vì sao nên chọn YOLO26?#

Hệ sinh thái Ultralytics tích hợp vượt trội hơn các repository học thuật rời rạc nhờ cung cấp:

  • Thiết kế end-to-end không cần NMS: Head one-to-one tùy chọn của YOLO26 (nms=False) loại bỏ Non-Maximum Suppression (NMS) trong quá trình suy luận. Nhờ đó, độ trễ nhanh và ổn định hơn đáng kể, yếu tố thiết yếu cho triển khai edge và xe tự hành.
  • Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss, YOLO26 đơn giản hóa quy trình xuất sang thiết bị edge, giảm đáng kể yêu cầu bộ nhớ cho các ứng dụng nhẹ.
  • Optimizer MuSGD: YOLO26 kế thừa các cải tiến trong huấn luyện LLM với optimizer SGD và Muon kết hợp, đảm bảo quá trình huấn luyện ổn định vững chắc và hội tụ cực nhanh.
  • Suy luận CPU nhanh hơn đến 43%: Nhờ các tối ưu hóa cấu trúc chuyên sâu, YOLO26 chạy cực nhanh trên CPU mà không cần phần cứng GPU đắt tiền.
  • Các hàm loss nâng cao: Việc tích hợp ProgLoss + STAL cải thiện đáng kể khả năng nhận diện đối tượng nhỏ, rất phù hợp với các tác vụ như kiểm tra bằng drone và giám sát IoT.
  • Tính linh hoạt: Không giống DAMO-YOLO chỉ chuyên phát hiện đối tượng, YOLO26 hỗ trợ sẵn các tác vụ phân đoạn instance, ước lượng pose, phân loại ảnh và phát hiện Oriented Bounding Box (OBB) trong một framework thống nhất.
Bắt đầu xây dựng ngay

Với Ultralytics Python API, bạn không cần tự cấu hình các pipeline chưng cất phức tạp hay viết hàng trăm dòng mã C++ để triển khai model.

from ultralytics import YOLO

# Tải model nano YOLO26 tiên tiến nhất
model = YOLO("yolo26n.pt")

# Huấn luyện model dễ dàng trên tập dữ liệu tùy chỉnh
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Chạy suy luận cực nhanh, không cần NMS
results = model("https://ultralytics.com/images/bus.jpg", nms=False)

# Xuất sang ONNX hoặc OpenVINO chỉ với một lệnh
model.export(format="openvino")

Các model khác cần cân nhắc#

Hệ sinh thái thị giác máy tính rất rộng lớn. Tùy theo các ràng buộc cụ thể, bạn cũng có thể tìm hiểu các kiến trúc khác được hệ sinh thái Ultralytics hỗ trợ đầy đủ:

  • YOLO11: Phiên bản tiền nhiệm có năng lực cao của YOLO26, nổi tiếng về độ ổn định trong phân tích bán lẻ và kiểm soát chất lượng sản xuất.
  • YOLOv8: Model không anchor huyền thoại, có độ ổn định cao và góp phần phổ biến rộng rãi việc triển khai edge.
  • RT-DETR: Transformer phát hiện thời gian thực do Baidu phát triển, mang đến lựa chọn thay thế tuyệt vời cho các tác vụ hưởng lợi nhiều từ cơ chế attention toàn cục, dù yêu cầu bộ nhớ huấn luyện cao hơn.

Kết luận#

YOLOX và DAMO-YOLO đều đóng góp những ý tưởng thiết yếu cho quá trình phát triển deep learning—YOLOX xác thực phương pháp không anchor với head tách biệt, còn DAMO-YOLO chứng minh sức mạnh của tìm kiếm kiến trúc tự động. Tuy nhiên, trong môi trường production thực tế, độ phức tạp của các codebase nghiên cứu ban đầu có thể làm chậm các nhóm làm việc linh hoạt.

Bằng cách tận dụng Ultralytics Platform toàn diện, nhà phát triển có thể vượt qua những trở ngại này. Với thiết kế end-to-end, tốc độ CPU vượt trội và tài liệu phong phú của YOLO26, việc đạt được AI thị giác tiên tiến nhất trở nên dễ dàng hơn bao giờ hết. Dù bạn đang xây dựng hạ tầng thành phố thông minh, hệ thống chẩn đoán y tế hay robot tiên tiến, Ultralytics cung cấp lộ trình hiệu quả nhất từ dữ liệu thô đến triển khai vững chắc trong thực tế.

Người đóng góp

Bình luận