YOLOv8 so với DAMO-YOLO: So sánh kỹ thuật toàn diện về các mô hình phát hiện đối tượng

Bối cảnh thị giác máy tính đang không ngừng phát triển, với các kiến trúc mới đẩy xa giới hạn những gì có thể thực hiện trên các thiết bị biên và các cụm đám mây lớn. Trong bài phân tích kỹ thuật chuyên sâu này, chúng tôi so sánh hai mô hình phát hiện đối tượng thời gian thực nổi bật: YOLOv8DAMO-YOLO. Bằng cách xem xét kiến trúc, chỉ số hiệu suất và phương pháp đào tạo của chúng, các kỹ sư ML có thể đưa ra quyết định sáng suốt cho quy trình triển khai của mình.

Bối cảnh và Nguồn gốc Mô hình

Cả hai mô hình đều được giới thiệu vào khoảng cùng một thời điểm nhưng xuất phát từ các triết lý thiết kế và mục tiêu nghiên cứu khác nhau.

Chi tiết về YOLOv8

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

Chi tiết về DAMO-YOLO

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

Đổi mới kiến trúc

YOLOv8: Thiết kế không neo (Anchor-Free) 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ế là một mô hình hiện đại có độ tin cậy cao. Nó có đầu phát hiện không neo (anchor-free), giúp giảm số lượng dự đoán hộp và tăng tốc độ suy luận (inference). Kiến trúc này sử dụng đầu giải mã tách biệt (decoupled head), tách biệt các tác vụ đối tượng, phân loại và hồi quy, dẫn đến các dự đoán hộp bao (bounding box) chính xác hơn.

Hơn nữa, YOLOv8 triển khai Distribution Focal Loss (DFL) cùng với loss CIoU, tăng cường khả năng định vị chính xác ranh giới đối tượng của mô hình, đặc biệt đối với các mục tiêu nhỏ hơn hoặc bị che khuất. Phần thân (backbone) tinh gọn của nó được tối ưu hóa cao cho cả thực thi trên GPU và CPU.

DAMO-YOLO: Được thúc đẩy bởi tìm kiếm kiến trúc

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

Mô hình kết hợp RepGFPN (Mạng lưới kim tự tháp tính năng tổng quát được tái tham số hóa) để hợp nhất tính năng hiệu quả và thiết kế "ZeroHead" để giảm thiểu gánh nặng tính toán cho đầu phát hiện. Trong quá trình đào tạo, nó tận dụng AlignedOTA để gán nhãn và dựa nhiều vào quy trình chưng cất kiến thức (knowledge distillation) phức tạp, yêu cầu một mô hình giáo viên lớn hơn để giám sát mô hình học sinh mục tiêu.

Độ phức tạp khi đào tạo

Mặc dù DAMO-YOLO đạt được các chỉ số độ trễ ấn tượng thông qua NAS và chưng cất, điều này đòi hỏi bộ nhớ CUDA và thời gian tính toán đáng kể hơn trong quá trình đào tạo so với quy trình đào tạo một giai đoạn được tối ưu hóa cao của YOLOv8.

Hiệu suất và chỉ số

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

Modelkích thước
(pixels)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
tham số
(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.2
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 suất vượt trội. Mô hình YOLOv8n (nano) chỉ yêu cầu 3,2 triệu tham số so với 8,5 triệu của DAMO-YOLOt, khiến nó vượt trội đáng kể cho các thiết bị di động hoặc môi trường có yêu cầu bộ nhớ nghiêm ngặt. Hơn nữa, YOLOv8 cung cấp phạm vi kích thước rộng hơn, mở rộng lên đến YOLOv8x với độ chính xác cao cho các khối lượng công việc dựa trên đám mây.

Trải nghiệm nhà phát triển và hệ sinh thái

Dễ sử dụng và hiệu quả huấn luyện

Một trong những yếu tố 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ế vì tốc độ phát triển. Việc đào tạo một mô hình YOLOv8 tùy chỉnh yêu cầu sử dụng bộ nhớ rất thấp và có thể được thực hiện thông qua API Python thống nhất hoặc giao diện dòng lệnh (CLI).

Ngược lại, việc tái tạo quá trình đào tạo tăng cường chưng cất của DAMO-YOLO thường đòi hỏi phải điều hướng các tệp cấu hình phức tạp và xử lý theo dõi thử nghiệm giáo viên-học sinh đa giai đoạn.

Đây là ví dụ về việc đào tạo, xác thực và xuất YOLOv8 bằng Python đơn giản như thế nào:

from ultralytics import YOLO

# Load a pre-trained YOLOv8 nano model
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="cpu")

# Export the trained model to ONNX format
path = model.export(format="onnx")

Sự linh hoạt trên nhiều tác vụ thị giác

DAMO-YOLO được xây dựng nghiêm ngặt cho phát hiện đối tượng bằng hộp bao. Ngược lại, kiến trúc YOLOv8 hỗ trợ nhiều tác vụ một cách tự nhiên. Chỉ bằng cách thay đổi trọng số mô hình, các nhà phát triển có thể thực hiện Phân đoạn đối tượng (Instance Segmentation), Phân loại hình ảnh (Image Classification)Ước tính tư thế (Pose Estimation) mà không cần thay đổi cơ sở mã triển khai cơ bản của họ. Tính linh hoạt này làm cho các mô hình Ultralytics trở nên thiết thực hơn nhiều cho các ứng dụng phức tạp.

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

Khi nào nên sử dụng YOLOv8

Sự kết hợp giữa tốc độ, độ chính xác và tính dễ triển khai của YOLOv8 làm cho nó trở nên lý tưởng cho:

  • Phân tích bán lẻ thông minh: Thực hiện theo dõi đối tượng để 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 suất mạnh mẽ của nó trên phần cứng đa dạng để xác định cây trồng hoặc dịch hại trong thời gian thực.
  • Chẩn đoán chăm sóc sức khỏe: Sử dụng phân đoạn đối tượng để lập bản đồ các bất thường trong hình ảnh y tế một cách nhanh chóng và chính xác.
  • Triển khai trên thiết bị biên: Khả năng tích hợp liền mạch với các định dạng xuất như OpenVINOCoreML cho phép YOLOv8 tỏa sáng trên các thiết bị bị hạn chế tài nguyên.

Khi nào nên sử dụng DAMO-YOLO

DAMO-YOLO có thể có lợi trong các tình huống ngách, đặc biệt là:

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

Các 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 các yêu cầu cụ thể của dự án, các ràng buộc triển khai và sở thích về hệ sinh thái của bạn.

Khi nào nên chọn YOLOv8

YOLOv8 là một lựa chọn mạnh mẽ cho:

  • Triển khai đa tác vụ linh hoạt: Các dự án yêu cầu một model đã được kiểm chứng cho detection, segmentation, classificationpose estimation trong hệ sinh thái Ultralytics.
  • Các hệ thống sản xuất đã được 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 các đường ống triển khai ổn định, đã được kiểm tra kỹ lưỡng.
  • Hỗ trợ cộng đồng và hệ sinh thái rộng lớn: Các ứng dụng được hưởng lợi từ các hướng dẫn mở rộng, tích hợp của bên thứ ba và các 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ý các luồng video FPS cao trên cơ sở hạ tầng GPU NVIDIA cố định, nơi thông lượng batch-1 là số liệu chính.
  • Dây chuyền sản xuất công nghiệp: Các kịch bản với các ràng buộc về độ trễ GPU nghiêm ngặt 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 tác động của việc tìm kiếm kiến trúc tự động (MAE-NAS) và các backbone được tham số hóa lại hiệu quả đối với hiệu suất phát hiện.

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

Đối với hầu hết các dự án mới, Ultralytics YOLO26 cung cấp sự kết hợp tốt nhất giữa hiệu suất và trải nghiệm nhà phát triển:

  • Triển khai Edge không cần NMS: Các ứng dụng yêu cầu suy luận ổn định, độ trễ thấp mà không cần sự phức tạp của việc hậu xử lý Non-Maximum Suppression.
  • Môi trường chỉ sử dụng CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ suy luận trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
  • Nhận diện đối tượng nhỏ: Các kịch bản thách thức như ảnh drone trên không hoặc phân tích cảm biến IoT nơi ProgLoss và STAL tăng cường đáng kể độ chính xác trên các đối tượng cực nhỏ.

Hướng tới tương lai: Các mô hình Ultralytics mới hơn

Mặc dù YOLOv8 vẫn là một công cụ đáng tin cậy, lĩnh vực thị giác máy tính thay đổi rất nhanh. Người dùng cũng nên cân nhắc khám phá các thế hệ mới hơn:

YOLO26: Thế hệ mới nhất, Ultralytics YOLO26, đại diện cho một sự thay đổi về mô hình. Nó giới thiệu Thiết kế không NMS đầu-cuối (End-to-End NMS-Free) tự nhiên, loại bỏ hoàn toàn các điểm nghẽn độ trễ liên quan đến hậu xử lý Non-Maximum Suppression. Được cung cấp năng lượng bởi bộ tối ưu hóa mới MuSGD Optimizer (sự kết hợp của SGD và Muon) và các hàm loss chuyên dụng ProgLoss + STAL, YOLO26 đạt được quá trình đào tạo ổn định đáng kể và cải thiện khả năng nhận diện đối tượng nhỏ tốt hơn nhiều. Với Loại bỏ DFL (Distribution Focal Loss được loại bỏ để xuất đơn giản hóa và tương thích tốt hơn với thiết bị biên/công suất thấp), các điều chỉnh kiến trúc mang lại hiệu suất Tăng tốc suy luận CPU lên tới 43% so với các thế hệ trước, biến nó thành lựa chọn chắc chắn cho điện toán biên hiện đại.

YOLO11: Một giải pháp thay thế tuyệt vời khác, Ultralytics YOLO11 cung cấp các cải tiến kiến trúc tăng dần so với YOLOv8 và vẫn là một mô hình mạnh mẽ, được cộng đồng áp dụng rộng rãi.

Hợp lý hóa quy trình làm việc của bạn

Sẵn sàng đưa mô hình của bạn từ nguyên mẫu sang sản xuất? Sử dụng Nền tảng Ultralytics để tự động chú thích tập dữ liệu, theo dõi thử nghiệm và triển khai mô hình liền mạch lên đám mây hoặc thiết bị biên.

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

Bình luận