Ultralytics YOLO27: Tham gia danh sách chờ.
Get Started

YOLOv8 so với DAMO-YOLO#

Lĩnh vực thị giác máy tính không ngừng phát triển, với các kiến trúc mới cải thiện những gì có thể thực hiện trên thiết bị edge và các cụm máy chủ đám mây quy mô lớn. Bài so sánh kỹ thuật này tập trung vào hai model phát hiện đối tượng thời gian thực nổi bật: YOLOv8 và DAMO-YOLO. Bằng cách xem xét kiến trúc, chỉ số hiệu năng và phương pháp huấn luyện, kỹ sư ML có thể đưa ra quyết định sáng suốt cho pipeline triển khai.

Bối cảnh và nguồn gốc của các model#

Cả hai model được giới thiệu trong khoảng thời gian gần nhau, nhưng xuất phát từ những triết lý thiết kế và mục tiêu nghiên cứu khác nhau.

Thông tin chi tiết về YOLOv8#

Thông tin về DAMO-YOLO#

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

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

YOLOv8: Thiết kế không anchor linh hoạt#

Ultralytics YOLOv8 mang đến những cải tiến đáng kể so với các phiên bản tiền nhiệm và trở thành model đáng tin cậy được áp dụng rộng rãi. Model có head phát hiện không anchor, giúp giảm số lượng dự đoán bounding box và tăng tốc suy luận. Kiến trúc sử dụng head tách rời, phân chia tác vụ phân loại và hồi quy, từ đó tạo ra các dự đoán bounding box chính xác hơn.

Ngoài ra, YOLOv8 triển khai Distribution Focal Loss (DFL) cùng với mất mát CIoU, tăng cường khả năng định vị chính xác ranh giới đối tượng, đặc biệt với mục tiêu nhỏ hoặc bị che khuất. Backbone tinh gọn được tối ưu hóa để chạy trên cả GPU lẫn CPU.

DAMO-YOLO áp dụng cách tiếp cận khác, phụ thuộc nhiều vào tìm kiếm kiến trúc mạng (NAS) để tự động thiết kế backbone. Nhóm Alibaba giới thiệu "MAE-NAS" nhằm tìm ra cấu trúc có sự cân bằng tối ưu giữa độ trễ và độ chính xác, cụ thể khi được tăng tốc bằng TensorRT.

Model tích hợp RepGFPN (Reparameterized Generalized Feature Pyramid Network) để hợp nhất đặc trưng hiệu quả và thiết kế “ZeroHead” nhằm giảm thiểu tải tính toán của head phát hiện. Trong quá trình huấn luyện, model tận dụng AlignedOTA để gán nhãn và phụ thuộc nhiều vào quy trình chưng cất tri thức phức tạp, đòi hỏi một model teacher lớn hơn để giám sát model student mục tiêu.

Độ phức tạp khi huấn luyện

DAMO-YOLO đạt các chỉ số độ trễ tốt nhờ NAS và chưng cất, nhưng chưng cất thường cần nhiều bộ nhớ CUDA và thời gian tính toán hơn trong quá trình huấn luyện so với pipeline huấn luyện một giai đoạn của YOLOv8.

Hiệu năng và các chỉ số#

Khi triển khai model thị giác máy tính vào production, việc cân bằng độ chính xác (mAP) và tốc độ suy luận là rất quan trọng. Bảng dưới đây minh họa hiệu năng của hai model ở nhiều kích thước khác nhau.

Modelkích thước
(pixel)
mAPval50-95Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.1
YOLOv8x64053.9479.114.3768.2257.8
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

Ở nhóm model nhỏ, DAMO-YOLOt và DAMO-YOLOs đạt mAP cao hơn YOLOv8n và YOLOv8s nhưng sử dụng nhiều tham số hơn; từ kích thước trung bình trở lên, YOLOv8 dẫn đầu về độ chính xác. YOLOv8n (nano) chỉ cần 3.2 triệu tham số so với 8.5 triệu của DAMO-YOLOt, phù hợp hơn với thiết bị di động hoặc môi trường có giới hạn bộ nhớ nghiêm ngặt. YOLOv8 cũng cung cấp dải kích thước rộng hơn, mở rộng đến YOLOv8x, model chính xác nhất trong phép so sánh này, dành cho khối lượng công việc trên đám mây.

Trải nghiệm developer và hệ sinh thái#

Tính dễ sử dụng và hiệu quả huấn luyện#

Một trong những yếu tố tạo khác biệt lớn nhất là trải nghiệm người dùng. Hệ sinh thái Ultralytics được thiết kế để tăng tốc độ phát triển. Việc huấn luyện model YOLOv8 tùy chỉnh có yêu cầu bộ nhớ vừa phải và được thực hiện thông qua Python API hợp nhất hoặc giao diện dòng lệnh.

Ngược lại, tái tạo quy trình huấn luyện có chưng cất của DAMO-YOLO thường đòi hỏi xử lý các file cấu hình phức tạp và quản lý theo dõi thử nghiệm teacher-student nhiều giai đoạn.

Ví dụ sau huấn luyện và xuất YOLOv8 bằng Python:

from ultralytics import YOLO

# Tải model YOLOv8 nano đã huấn luyện sẵn
model = YOLO("yolov8n.pt")

# Huấn luyện model trên bộ dữ liệu COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="cpu")

# Export model đã huấn luyện sang định dạng ONNX
path = model.export(format="onnx")

Tính linh hoạt trên nhiều tác vụ thị giác#

DAMO-YOLO chỉ được xây dựng cho tác vụ phát hiện đối tượng bằng bounding box. Ngược lại, kiến trúc YOLOv8 hỗ trợ sẵn nhiều tác vụ. Bằng cách thay đổi trọng số model, nhà phát triển có thể thực hiện phân đoạn đối tượng, phân loại ảnh và ước tính tư thế mà không cần thay đổi codebase triển khai bên dưới, nhờ vậy các model Ultralytics thực tế hơn cho ứng dụng đa tác vụ.

Các trường hợp sử dụng thực tế#

Khi nào nên dùng YOLOv8#

Sự kết hợp giữa tốc độ, độ chính xác và khả năng triển khai dễ dàng khiến YOLOv8 trở thành lựa chọn lý tưởng cho:

  • Phân tích bán lẻ thông minh: Thực hiện theo dõi vật thể để giám sát hành vi khách hàng hoặc tự động kiểm kê hàng hóa.
  • Robot nông nghiệp: Tận dụng hiệu năng mạnh mẽ trên nhiều loại phần cứng để nhận diện cây trồng hoặc sâu bệnh theo thời gian thực.
  • Chẩn đoán y tế: Sử dụng phân đoạn instance để lập bản đồ nhanh và chính xác các điểm bất thường trong ảnh y tế.
  • Triển khai edge: Khả năng xuất tích hợp sang các định dạng như OpenVINO và CoreML khiến YOLOv8 rất phù hợp với các thiết bị có tài nguyên hạn chế.

Khi nào nên dùng DAMO-YOLO#

DAMO-YOLO có thể hữu ích trong một số tình huống cụ thể, đặc biệt là:

  • Nghiên cứu NAS học thuật: Dành cho các nhóm nghiên cứu về tái tham số hóa hoặc phương pháp thiết kế kiến trúc tự động.
  • Pipeline giới hạn nghiêm ngặt bởi GPU: Các ứng dụng chỉ chạy trên phần cứng NVIDIA cụ thể, nơi các cấu trúc được thiết kế bằng NAS đã được tối ưu hóa để thực thi bằng TensorRT.

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

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

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

YOLOv8 là lựa chọn phù hợp cho:

  • Triển khai đa tác vụ linh hoạt: Các dự án cần một model đã được kiểm chứng để thực hiện phát hiện, phân đoạn, phân loại và ước lượng tư thế trong hệ sinh thái Ultralytics.
  • Hệ thống sản xuất đã thiết lập: Các môi trường sản xuất hiện có được xây dựng trên kiến trúc YOLOv8 với quy trình triển khai ổn định, đã được kiểm thử kỹ lưỡng.
  • Hỗ trợ cộng đồng và hệ sinh thái rộng rãi: Các ứng dụng hưởng lợi từ kho hướng dẫn phong phú, tích hợp bên thứ ba và tài nguyên cộng đồng tích cực của YOLOv8.

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 edge không cần NMS: Các ứng dụng cần suy luận ổn định, độ trễ thấp mà không phải xử lý sự phức tạp của bước hậu xử lý Non-Maximum Suppression (NMS).
  • Môi trường chỉ có CPU: Các thiết bị không có khả năng tăng tốc bằng GPU chuyên dụng, nơi tốc độ suy luận CPU nhanh hơn tới 43% của YOLO26n so với YOLO11n mang lại lợi thế quyết định.
  • 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, nơi ProgLoss và STAL cải thiện độ chính xác đối với vật thể rất nhỏ.

Nhìn về phía trước: Các model Ultralytics mới hơn#

YOLOv8 vẫn là một lựa chọn đáng tin cậy, nhưng lĩnh vực thị giác máy tính phát triển nhanh chóng, vì vậy người dùng cũng nên cân nhắc các thế hệ mới hơn:

YOLO26: Thế hệ mới nhất, Ultralytics YOLO26, giới thiệu Thiết kế end-to-end không cần NMS nguyên bản (nms=False), loại bỏ độ trễ do bước hậu xử lý NMS. Bộ tối ưu MuSGD (kết hợp SGD và Muon) giúp ổn định quá trình huấn luyện, còn ProgLoss + STAL (Hàm mất mát tiến triển và Gán nhãn có nhận biết đối tượng nhỏ) cải thiện khả năng phát hiện vật thể nhỏ. Với Loại bỏ DFL (loại bỏ Distribution Focal Loss để đơn giản hóa quá trình export và tăng khả năng tương thích với thiết bị biên/thiết bị công suất thấp), YOLO26n cho tốc độ suy luận CPU nhanh hơn tới 43% so với YOLO11n, khiến model này trở thành lựa chọn phù hợp cho điện toán biên.

YOLO11: Ultralytics YOLO11 cải tiến kiến trúc YOLOv8 và vẫn được cộng đồng sử dụng rộng rãi.

Tinh gọn quy trình làm việc

Để đưa model từ giai đoạn nguyên mẫu vào sản xuất, hãy dùng Ultralytics Platform để tự động gán nhãn dataset, theo dõi các thử nghiệm và triển khai model lên cloud hoặc thiết bị biên.

Tóm lại, dù DAMO-YOLO cung cấp những góc nhìn nghiên cứu hữu ích về tìm kiếm kiến trúc, các model Ultralytics có hệ sinh thái hoàn thiện, linh hoạt và thân thiện với developer hơn. Dù bạn tiếp tục dùng YOLOv8 hay nâng cấp lên kiến trúc YOLO26 không cần NMS, Ultralytics đều cung cấp bộ công cụ toàn diện cho AI thị giác thời gian thực.

Người đóng góp

Bình luận1

  1. exilebuild5423GitHub(đã chỉnh sửa)

    Great technical comparison! DAMO-YOLO stands out with its advanced decoupled head and innovative data augmentation techniques, pushing accuracy further in specific detection tasks. However, this YOLOv8 comparison highlights how v8 offers a more balanced architecture with better ease of use, strong community support, and flexibility for multitask learning. Both models are strong contenders — the choice really depends on deployment needs and optimization priorities.