DAMO- YOLO so với YOLOv8 Sự tiến hóa kiến trúc trong phát hiện đối tượng
Việc theo đuổi phát hiện đối tượng trong thời gian thực đã thúc đẩy những đổi mới đáng kể trong thiết kế mạng nơ-ron. Hai kiến trúc nổi bật đã định hình nên lĩnh vực này là DAMO- YOLO Được phát triển bởi nhóm nghiên cứu của Alibaba, và YOLOv8 , được tạo bởi Ultralytics Bài so sánh này khám phá những điểm khác biệt về mặt kỹ thuật giữa các mô hình này, xem xét các chiến lược đào tạo, hiệu quả kiến trúc và tính phù hợp để triển khai của chúng.
DAMO- YOLO Tác giả: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang và Xiuyu Sun
Tổ chức: Tập đoàn Alibaba
Ngày: 23/11/2022
Arxiv: https://arxiv.org/abs/2211.15444v2
GitHub: https://github.com/tinyvision/DAMO- YOLO
Các tác giả của YOLOv8 : Glenn Jocher, Ayush Chaurasia và Jing Qiu
Tổ chức: Ultralytics
Ngày: 10/01/2023
GitHub: https://github.com/ ultralytics / ultralytics
Tài liệu yolov8 ultralytics
Triết lý kiến trúc
Sự khác biệt cốt lõi giữa hai mẫu này nằm ở nguồn gốc thiết kế của chúng. DAMO- YOLO phụ thuộc rất nhiều vào các chiến lược tìm kiếm tự động, trong khi YOLOv8 Hoàn thiện thiết kế kiến trúc thủ công thông qua quá trình thử nghiệm thực nghiệm rộng rãi.
DAMO- YOLO Tìm kiếm kiến trúc mạng nơ-ron (NAS)
DAMO- YOLO Bài báo này giới thiệu một phương pháp dựa trên công nghệ có tên là MAE-NAS (Method-Automated Efficiency Neural Architecture Search). Thay vì thiết kế các khối thủ công, các tác giả đã sử dụng Tìm kiếm Kiến trúc Mạng thần kinh để khám phá một kiến trúc xương sống hiệu quả trong các ràng buộc độ trễ cụ thể.
Các thành phần kiến trúc chính bao gồm:
- Cấu trúc xương sống MAE-NAS: Một cấu trúc được tối ưu hóa tự động để cân bằng độ chính xác phát hiện với tốc độ suy luận.
- RepGFPN hiệu quả: Một mạng lưới kim tự tháp đặc trưng tổng quát (FPN) sử dụng việc tái tham số hóa để cải thiện sự kết hợp đặc trưng mà không làm tăng chi phí suy luận.
- ZeroHead: Một đầu dò nhẹ được thiết kế để giảm gánh nặng tính toán cho các lớp đầu ra cuối cùng.
- AlignedOTA: Một chiến lược gán nhãn động giải quyết sự không đồng bộ giữa nhiệm vụ phân loại và hồi quy.
YOLOv8 Thiết kế thủ công tinh tế
YOLOv8 xây dựng dựa trên di sản của YOLO Trong dòng sản phẩm này, chúng tôi giới thiệu mô-đun C2f (Cross-Stage Partial Bottleneck with two convolutions). Mô-đun này được thiết kế để cải thiện thông tin luồng gradient, cho phép mạng học được các đặc trưng phức tạp hơn trong khi vẫn giữ được trọng lượng nhẹ.
Các tính năng kiến trúc chính bao gồm:
- Phát hiện không cần neo: YOLOv8 Loại bỏ các hộp neo, dự đoán trực tiếp tâm của đối tượng. Điều này đơn giản hóa... NMS quy trình này giúp giảm số lượng siêu tham số mà người dùng phải điều chỉnh.
- Đầu tách rời: Nó tách biệt nhánh phân loại và nhánh hồi quy, cho phép mỗi nhánh hội tụ hiệu quả hơn.
- Tăng cường bằng kỹ thuật ghép ảnh (Mosaic Augmentation): Một kỹ thuật huấn luyện nâng cao kết hợp bốn hình ảnh thành một, buộc mô hình phải học tính bất biến theo ngữ cảnh và tỷ lệ.
Các chỉ số hiệu suất
Bảng sau đây so sánh hiệu năng của DAMO- YOLO Và YOLOv8 trên COCO tập dữ liệu. Trong khi DAMO- YOLO đạt được ấn tượng mAP thông qua quá trình chưng cất mạnh, YOLOv8 Nhìn chung, giải pháp này mang lại tốc độ suy luận vượt trội và độ phức tạp triển khai thấp hơn.
| Mô hình | Kích thước (pixels) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | Tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Hiệu quả và độ phức tạp của đào tạo
Một điểm khác biệt quan trọng đối với các nhà phát triển là quy trình đào tạo. DAMO- YOLO Nó sử dụng một chiến lược chưng cất tinh vi. Để đạt được kết quả hàng đầu, trước tiên phải huấn luyện một mô hình "giáo viên" lớn để hướng dẫn các mô hình "học sinh" nhỏ hơn. Mặc dù điều này mang lại độ chính xác cao, nhưng nó làm phức tạp đáng kể quy trình huấn luyện và làm tăng chi phí. GPU yêu cầu về nguồn lực và kéo dài thời gian đào tạo.
Ngược lại, Ultralytics Các mô hình ưu tiên hiệu quả đào tạo . YOLOv8 sử dụng phương pháp "Túi quà tặng miễn phí", trong đó các lựa chọn kiến trúc và chiến lược tăng cường (như...) MixUp và Mosaic) mang lại sự cải thiện về độ chính xác mà không cần đến hệ thống chưng cất nhiều giai đoạn. Điều này giúp YOLOv8 Việc huấn luyện trên phần cứng dành cho người tiêu dùng diễn ra nhanh hơn đáng kể, giúp giảm bớt rào cản gia nhập đối với các tập dữ liệu tùy chỉnh.
Hiệu quả tài nguyên
Ultralytics YOLO Các mô hình này thường có yêu cầu bộ nhớ thấp hơn trong cả quá trình huấn luyện và suy luận so với các mô hình dựa trên Transformer phức tạp hoặc các quy trình chưng cất. Điều này cho phép kích thước lô lớn hơn và thử nghiệm nhanh hơn trên các GPU tiêu chuẩn.
Lợi thế Hệ sinh thái Ultralytics
Trong khi DAMO- YOLO Cung cấp những đóng góp học thuật mới mẻ, hệ sinh thái Ultralytics mang lại lợi thế khác biệt cho việc phát triển ứng dụng thực tiễn.
Tính linh hoạt vượt trội không thể phát hiện
DAMO- YOLO Được thiết kế chủ yếu để phát hiện hộp giới hạn. Ngược lại, Ultralytics Khung phần mềm này vốn dĩ đã có khả năng đa nhiệm. Một API duy nhất cho phép các nhà phát triển thực hiện:
- Phân đoạn đối tượng để tạo mặt nạ chính xác ở cấp độ pixel.
- Ước lượng tư thế để theo dõi khung xương.
- Phương pháp hộp giới hạn định hướng (OBB)用于 phát hiện vật thể trên không và xoay.
- Phân loại hình ảnh để phân loại toàn bộ hình ảnh.
Dễ sử dụng và Triển khai
Ultralytics Ưu tiên trải nghiệm người dùng được tối ưu hóa. Python SDK cho phép đào tạo, xác thực và triển khai chỉ với chưa đến năm dòng mã. Hơn nữa, các tùy chọn xuất khẩu mở rộng cho phép chuyển đổi liền mạch sang định dạng khác. ONNX , TensorRT , CoreML , TFLite , Và OpenVINO , đảm bảo các mô hình có thể được triển khai trên mọi thiết bị, từ máy chủ đám mây đến Raspberry Pi.
Tương lai của Trí tuệ nhân tạo thị giác: YOLO26
Dành cho các nhà phát triển đang tìm kiếm công nghệ tiên tiến nhất năm 2026, Ultralytics YOLO26 đề xuất. Dựa trên những thành công của YOLOv8 YOLO11 và YOLO26 giới thiệu những thay đổi cơ bản về kiến trúc nhằm tăng tốc độ và độ ổn định.
Thiết kế không NMS đầu cuối
Không giống như DAMO- YOLO Và YOLOv8 , đòi hỏi sự triệt tiêu không tối đa ( NMS (Không cần xử lý hậu kỳ để lọc các hộp chồng chéo, YOLO26 là hệ thống end-to-end thuần túy. Bước đột phá này, được tiên phong trong YOLOv10 , loại bỏ...) NMS hoàn toàn. Điều này giúp đơn giản hóa quy trình triển khai và giảm độ trễ, đặc biệt trong các trường hợp có nhiều đối tượng được phát hiện.
Tối ưu hóa nâng cao và các hàm mất mát
YOLO26 tích hợp Trình tối ưu hóa MuSGD , một sự kết hợp giữa... SGD và Muon (lấy cảm hứng từ những cải tiến trong huấn luyện LLM của Kimi K2 thuộc Moonshot AI). Điều này mang lại sự ổn định của việc huấn luyện mô hình ngôn ngữ quy mô lớn cho thị giác máy tính, dẫn đến sự hội tụ nhanh hơn. Ngoài ra, việc loại bỏ Distribution Focal Loss (DFL) và việc giới thiệu ProgLoss và STAL (Soft Task-Aligned Loss) cải thiện đáng kể hiệu suất trên các đối tượng nhỏ - một thách thức phổ biến trong robot và IoT.
Cân bằng hiệu suất
YOLO26 được tối ưu hóa cho điện toán biên, mang lại khả năng suy luận CPU nhanh hơn tới 43% so với các thế hệ trước. Điều này làm cho nó trở thành lựa chọn lý tưởng cho các ứng dụng chạy trên các thiết bị không có GPU chuyên dụng, vượt trội hơn về hiệu quả so với các phương pháp dựa trên NAS cũ hơn.
Ví dụ mã: Ultralytics Sự đơn giản
Ví dụ sau đây minh họa cách nhà phát triển có thể dễ dàng chuyển đổi giữa các thế hệ mô hình bằng cách sử dụng Ultralytics API. Tính linh hoạt này cho phép đánh giá hiệu năng nhanh chóng. YOLOv8 So sánh với phiên bản YOLO26 mới hơn trên một tập dữ liệu tùy chỉnh .
from ultralytics import YOLO
# Load the models
model_v8 = YOLO("yolov8n.pt")
model_v26 = YOLO("yolo26n.pt") # Recommended for new projects
# Train YOLO26 on a custom dataset
# The MuSGD optimizer and ProgLoss are handled automatically
results = model_v26.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the NMS-free architecture
# No post-processing tuning required
prediction = model_v26("https://ultralytics.com/images/bus.jpg")
prediction[0].show()
Tóm tắt
Cả DAMO- YOLO Và YOLOv8 DAMO- đại diện cho những cột mốc quan trọng trong lĩnh vực thị giác máy tính. YOLO Bài viết này thể hiện sức mạnh của Tìm kiếm Kiến trúc Mạng thần kinh và phương pháp chắt lọc để đạt được độ chính xác cao. Tuy nhiên, đối với hầu hết các nhà phát triển, nhà nghiên cứu và doanh nghiệp, Ultralytics YOLOv8 —và đặc biệt là YOLO26 mới hơn—cung cấp sự cân bằng vượt trội hơn.
Sự kết hợp giữa hệ sinh thái được duy trì tốt , dễ sử dụng, hỗ trợ đa năng và các tính năng tiên tiến như NMS - Phát hiện miễn phí Ultralytics Đây là lựa chọn ưu tiên cho các giải pháp AI có khả năng mở rộng và đáp ứng nhu cầu trong tương lai. Các nhà phát triển đang tìm kiếm các tùy chọn hiệu năng cao khác cũng có thể xem xét RT-DETR để có độ chính xác dựa trên Transformer hoặc YOLO11 để có độ bền đã được chứng minh.