Ultralytics YOLO27:
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 liên tục mở rộng khả năng xử lý trên thiết bị biên và các cụm máy chủ đám mây quy mô lớn. Trong bài phân tích chuyên sâu về kỹ thuật này, chúng tôi so sánh hai model phát hiện vật thể 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 của hai model, kỹ sư ML có thể đưa ra quyết định sáng suốt cho pipeline triển khai của mình.

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, củng cố vị thế của model như một giải pháp tiên tiến có độ tin cậy cao. 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 biệt, phân chia các tác vụ phân loại và hồi quy, nhờ đó 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 loss CIoU, cải thiện khả năng định vị chính xác ranh giới vật thể, đặc biệt với các đối tượng nhỏ hoặc bị che khuất. Backbone tinh gọn được tối ưu hóa cao cho cả GPU và CPU.

DAMO-YOLO có cách tiếp cận khác, phụ thuộc nhiều vào Neural Architecture Search (NAS) để tự động thiết kế backbone. Nhóm Alibaba giới thiệu “MAE-NAS” nhằm tìm ra các cấu trúc có sự đánh đổi tối ưu giữa độ trễ và độ chính xác, đặc biệt trong điều kiện 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

Dù DAMO-YOLO đạt các chỉ số độ trễ ấn tượng nhờ NAS và chưng cất, model đòi hỏi nhiều bộ nhớ CUDA và thời gian tính toán hơn đáng kể trong quá trình huấn luyện so với pipeline huấn luyện một giai đoạn được tối ưu hóa cao 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)
mAPval
50-95
Tố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

YOLOv8 thể hiện sự cân bằng hiệu năng vượt trội. Model YOLOv8n (nano) chỉ cần 3.2 triệu tham số, so với 8.5 triệu của DAMO-YOLOt, khiến YOLOv8 vượt trội hơn hẳn trên thiết bị di động hoặc trong môi trường có giới hạn bộ nhớ nghiêm ngặt. Ngoài ra, YOLOv8 cung cấp nhiều kích thước hơn, mở rộng đến YOLOv8x có độ chính xác cao cho các tác vụ 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 điểm 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 của developer. Việc huấn luyện model YOLOv8 tùy chỉnh sử dụng rất ít bộ nhớ và có thể thực hiện thông qua API Python thống 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.

Dưới đây là ví dụ cho thấy việc huấn luyện, xác thực và xuất YOLOv8 bằng Python đơn giản như thế nào:

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 vật thể bằng bounding box. Ngược lại, kiến trúc YOLOv8 hỗ trợ sẵn nhiều tác vụ. Chỉ cần thay đổi trọng số model, developer có thể thực hiện Phân đoạn instance, Phân loại ảnh và Ước lượng tư thế mà không cần thay đổi codebase triển khai nền tảng. Tính linh hoạt này giúp model Ultralytics thiết thực hơn nhiều đối với các ứng dụng phức tạp.

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 ổn định 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 biên: Khả năng tích hợp liền mạch với các định dạng xuất như OpenVINO và CoreML giúp YOLOv8 hoạt động hiệu quả trên các thiết bị hạn chế tài nguyên.

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

DAMO-YOLO có thể hữu ích trong một số trường hợp chuyên biệt, đặ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 chỉ chạy trên GPU: Các ứng dụng chỉ chạy trên phần cứng NVIDIA cụ thể, nơi cấu trúc NAS được tối ưu hóa mạnh cho giới hạn thực thi của 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 cho 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 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ỏ.

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

YOLOv8 vẫn là một model đáng tin cậy, nhưng lĩnh vực thị giác máy tính phát triển rất nhanh. 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, đánh dấu bước chuyển đổi mô hình. Model giới thiệu Thiết kế đầu-cuối không cần NMS (nms=False) tích hợp sẵn, loại bỏ các nút thắt độ trễ liên quan đến bước hậu xử lý Non-Maximum Suppression. Được hỗ trợ bởi Optimizer MuSGD mới (kết hợp SGD và Muon) cùng các hàm loss ProgLoss + STAL chuyên biệt, YOLO26 đạt được quá trình huấn luyện ổn định đáng kể và cải thiện mạnh khả năng nhận diệ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 xuất và tăng khả năng tương thích với thiết bị biên/công suất thấp), các điều chỉnh kiến trúc giúp Suy luận CPU nhanh hơn tới 43% so với các thế hệ trước, biến YOLO26 thành lựa chọn hàng đầu cho điện toán biên hiện đại.

YOLO11: Một lựa chọn xuất sắc khác, Ultralytics YOLO11 mang đến các cải tiến kiến trúc từng bước so với YOLOv8 và vẫn là model ổn định, được cộng đồng sử dụng rộng rãi.

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

Bạn đã sẵn sàng đưa model từ giai đoạn prototype vào production chưa? Hãy sử dụng Nền tảng Ultralytics để tự động gán nhãn dataset, theo dõi thử nghiệm và triển khai model liền mạch lên đám mây hoặc thiết bị biên.

Tóm lại, dù DAMO-YOLO mang đến những góc nhìn học thuật thú vị về tìm kiếm kiến trúc, các model Ultralytics cung cấp hệ sinh thái hoàn thiện, linh hoạt và thân thiện với developer hơn đáng kể. Dù bạn tiếp tục sử dụng YOLOv8 với độ ổn định đã được chứng minh hay nâng cấp lên kiến trúc YOLO26 không cần NMS với tốc độ vượt trội, bộ sản phẩm Ultralytics vẫn là lựa chọn hàng đầu cho AI thị giác thời gian thực.

Người đóng góp

Bình luận