Link to this sectionSo sánh YOLOv8 và DAMO-YOLO#
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 liên tục mở rộng giới hạn khả thi trên các thiết bị biên và các cụm đám mây khổng lồ. Trong bài phân tích 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: YOLOv8 và DAMO-YOLO. Bằng cách kiểm tra kiến trúc, cá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 các pipeline triển khai của mình.
Link to this sectionNguồn gốc và bối cảnh 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.
Link to this sectionChi tiết về YOLOv8#
- Tác giả: Glenn Jocher, Ayush Chaurasia, và Jing Qiu
- Tổ chức: Ultralytics
- Ngày: 2023-01-10
- GitHub: Ultralytics GitHub Repository
- Tài liệu: Tài liệu chính thức YOLOv8
Link to this sectionChi tiết về DAMO-YOLO#
- 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: Bài báo nghiên cứu DAMO-YOLO
- GitHub: Kho lưu trữ GitHub DAMO-YOLO
Link to this sectionCải tiến kiến trúc#
Link to this sectionYOLOv8: Thiết kế không dùng anchor linh hoạt#
Ultralytics YOLOv8 đã giới thiệu 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 dùng anchor, giúp giảm số lượng dự đoán khung hình và tăng tốc độ suy luận. Kiến trúc này sử dụng một đầu tách biệt, tách rời các tác vụ nhận dạng đố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 CIoU loss, tăng cường khả năng của mô hình trong việc định vị chính xác ranh giới đối tượng, đặc biệt là đối với các mục tiêu nhỏ hoặc bị che khuất. Backbone được tinh giản của nó được tối ưu hóa cao cho cả việc thực thi trên GPU và CPU.
Link to this sectionDAMO-YOLO: Được thúc đẩy bởi Tìm kiếm Kiến trúc#
DAMO-YOLO sử dụng một cách tiếp cận khác, dựa nhiều vào Tìm kiếm Kiến trúc Thần kinh (NAS) để tự động thiết kế backbone 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 tối ưu giữa độ trễ và độ chính xác, đặ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 Kim tự tháp Đặc trưng Tổng quát được tái tham số hóa) để hợp nhất đặc trưng hiệu quả và thiết kế "ZeroHead" để giảm thiểu gánh nặng tính toán của đầ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 quá trình chưng cất tri thức phức tạp, đòi hỏi một mô hình giáo viên lớn hơn để giám sát mô hình sinh viên mục tiêu.
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 đáng kể nhiều bộ nhớ CUDA và thời gian tính toán trong khi đà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.
Link to this sectionHiệu suất và chỉ số#
Khi triển khai các mô hình thị giác máy tính vào thực tế sản xuất, việc cân bằng giữa độ 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 suất của cả hai mô hình qua nhiều kích thước khác nhau.
| Mô hình | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.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ể đối với 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 có độ chính xác cao cho các khối lượng công việc trên đám mây.
Link to this sectionTrải nghiệm nhà phát triển và Hệ sinh thái#
Link to this sectionDễ 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ế cho 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 mức sử dụng bộ nhớ rất thấp và có thể được thực hiện thông qua API Python hợp nhất hoặc giao diện dòng lệnh.
Ngược lại, việc tái tạo quá trình đào tạo nâng cao bằng chưng cất của DAMO-YOLO thường đòi hỏi phải điều hướng qua các tệp cấu hình phức tạp và xử lý theo dõi thử nghiệm giữa giáo viên và sinh viên qua nhiều giai đoạn.
Dưới đây là một 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")Link to this sectionTính linh hoạt giữa các 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ợ nguyên bản nhiều tác vụ. Bằng cách chỉ cần 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, Phân loại ảnh và Ước tính tư thế mà không cần thay đổi codebase triển khai cơ bản. Sự 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.
Link to this sectionCác trường hợp sử dụng thực tế#
Link to this sectionKhi nào nên sử 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 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 sâu bệnh theo thời gian thực.
- Chẩn đoán y tế: Sử dụng phân đoạn đối tượng để lập bản đồ các điểm 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 biên: Việc tích hợp liền mạch với các định dạng xuất như OpenVINO và CoreML cho phép YOLOv8 tỏa sáng trên các thiết bị hạn chế tài nguyên.
Link to this sectionKhi nào nên 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 về tái tham số hóa hoặc các phương pháp thiết kế kiến trúc tự động.
- Các pipeline bị giới hạn hoàn toàn bởi 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 của TensorRT.
Link to this sectionCá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 yêu cầu dự án cụ thể, các ràng buộc triển khai và sở thích về hệ sinh thái của bạn.
Link to this sectionKhi nào nên chọn YOLOv8#
YOLOv8 là 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 mô hình đã được chứng minh cho việc phát hiện, phân đoạn, phân loại và ước tính 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 các pipeline triển khai ổn định, đã được kiểm thử tốt.
- 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 bên thứ ba và tài nguyên cộng đồng tích cực của YOLOv8.
Link to this sectionKhi 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 cơ sở hạ tầng GPU NVIDIA cố định, nơi 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 với hạn chế độ 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 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ả đối với hiệu năng phát hiện.
Link to this sectionKhi 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 năng 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 nhất quán, độ trễ thấp mà không có sự phức tạp của hậu xử lý Non-Maximum Suppression.
- Môi trường chỉ dùng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Phát hiện vật thể nhỏ: Các kịch bản đầy thách thức như hình ảnh máy bay không người lái 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 vật thể cực nhỏ.
Link to this sectionHướ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 chóng. 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 mô hình. Nó giới thiệu một Thiết kế nguyên bản End-to-End không dùng NMS, loại bỏ hoàn toàn các điểm nghẽn về độ trễ liên quan đến xử lý hậu kỳ Non-Maximum Suppression. Được cung cấp sức mạnh bởi Bộ tối ưu hóa MuSGD mới (sự kết hợp của SGD và Muon) và các hàm mất mát ProgLoss + STAL chuyên biệt, YOLO26 đạt được quá trình đào tạo ổn định đáng kể và cải thiện đáng kể khả năng nhận diện vật thể nhỏ. Với việc Loại bỏ DFL (Distribution Focal Loss bị 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 cung cấp Suy luận CPU nhanh hơn tới 43% so với các thế hệ trước, biến nó thành lựa chọn dứt khoát cho điện toán biên hiện đại.
YOLO11: Một sự thay thế tuyệt vời khác, Ultralytics YOLO11 cung cấp các cải tiến kiến trúc gia tăng so với YOLOv8 và vẫn là một mô hình mạnh mẽ, được áp dụng rộng rãi trong cộng đồng.
Sẵn sàng đưa các mô hình của bạn từ bả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 các 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 hiểu biết 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 gắn bó với sự ổn định đã được kiểm chứng của YOLOv8 hay nâng cấp lên kiến trúc siêu nhanh, không dùng NMS của YOLO26, bộ phần mềm Ultralytics vẫn là lựa chọn hàng đầu cho AI thị giác thời gian thực.