DAMO-YOLO so với YOLOv7#
Sự phát triển nhanh chóng của thị giác máy tính đã tạo ra các model phát hiện đối tượng có hiệu suất cao, được thiết kế để cân bằng giữa độ chính xác và chi phí tính toán. Hai model đáng chú ý được giới thiệu vào năm 2022 là DAMO-YOLO và YOLOv7. Mặc dù cả hai đều hướng đến việc mở rộng giới hạn của các tác vụ thị giác thời gian thực, chúng đạt được kết quả thông qua các mô hình kiến trúc và phương pháp huấn luyện rất khác nhau.
Bài so sánh kỹ thuật toàn diện này phân tích các phương pháp riêng biệt của cả hai model, xem xét kiến trúc, tiềm năng triển khai và các chỉ số hiệu năng để giúp kỹ sư machine learning lựa chọn công cụ phù hợp cho các ứng dụng thị giác máy tính cụ thể của họ.
Nguồn gốc và metadata của model#
Trước khi đi sâu vào phân tích kỹ thuật, cần tìm hiểu bối cảnh hình thành của hai model thị giác máy tính này.
DAMO-YOLO#
Được phát triển bởi các nhà nghiên cứu tại Alibaba Group, DAMO-YOLO được giới thiệu nhằm tối ưu cả tốc độ và độ chính xác thông qua tìm kiếm kiến trúc tự động và chưng cất model.
- Tác giả: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang và Xiuyu Sun
- Tổ chức: Alibaba Group
- Ngày: 23 tháng 11, 2022
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
YOLOv7#
Được phát hành dưới dạng model tiên tiến nhất vào giữa năm 2022, YOLOv7 tiếp tục nâng cao suy luận thời gian thực bằng cách giới thiệu các "bag-of-freebies" có thể huấn luyện mà không làm tăng chi phí triển khai.
- Tác giả: Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao
- Tổ chức: Institute of Information Science, Academia Sinica, Taiwan
- Ngày: 6 tháng 7, 2022
- Arxiv: 2207.02696
- Docs: Tài liệu YOLOv7
YOLOv7 được hỗ trợ chính thức trong hệ sinh thái Ultralytics, cho phép huấn luyện, validation và export liền mạch bằng một API thống nhất.
Các cải tiến về kiến trúc#
DAMO-YOLO: NAS và chưng cất model#
DAMO-YOLO tích hợp một số kỹ thuật tiên tiến nhằm đạt hiệu suất tối đa:
- Backbone NAS: Sử dụng Tìm kiếm kiến trúc mạng nơ-ron (NAS) để tự động thiết kế các backbone tối ưu (MAE-NAS), phù hợp với các môi trường yêu cầu độ trễ thấp.
- RepGFPN hiệu quả: Một Mạng Kim tự tháp Đặc trưng Tổng quát hóa được sửa đổi, giúp nâng cao đáng kể hiệu quả hợp nhất đặc trưng ở nhiều quy mô.
- ZeroHead & AlignedOTA: Tích hợp detection head nhẹ và chiến lược gán nhãn tối ưu (AlignedOTA) để giảm overhead tính toán.
- Tăng cường bằng chưng cất: Tận dụng mạnh mẽ chưng cất tri thức trong quá trình huấn luyện để cải thiện hiệu năng của các biến thể model nhỏ hơn mà không làm tăng số lượng tham số.
YOLOv7: E-ELAN và Bag-of-Freebies#
YOLOv7 áp dụng cách tiếp cận kỹ thuật mang tính cấu trúc hơn, tập trung vào tối ưu hóa đường truyền gradient và các chiến lược huấn luyện mạnh mẽ.
- Kiến trúc E-ELAN: Mạng Tổng hợp Lớp Hiệu quả Mở rộng cho phép model học các đặc trưng đa dạng hơn bằng cách kiểm soát đường truyền gradient ngắn nhất và dài nhất, bảo đảm quá trình hội tụ học hiệu quả.
- Scaling model: Giới thiệu phương pháp scaling kết hợp được thiết kế cho các model dựa trên phép nối, đồng thời scaling độ sâu và độ rộng để bảo đảm sự căn chỉnh về cấu trúc.
- Bag-of-Freebies có thể huấn luyện: Sử dụng các kỹ thuật như convolution được tái tham số hóa (RepConv) không có kết nối identity và các chiến lược gán nhãn động, giúp tăng độ chính xác trong quá trình huấn luyện mà không ảnh hưởng đến tốc độ suy luận.
Phân tích hiệu năng#
Khi đánh giá Độ chính xác trung bình (mAP), tốc độ và hiệu quả, cả hai model đều có các chỉ số ấn tượng, dù nhắm đến các phân khúc hơi khác nhau. YOLOv7 tập trung mạnh vào triển khai GPU với độ chính xác cao, trong khi các cấu trúc bắt nguồn từ NAS của DAMO-YOLO hướng đến triển khai CPU và edge với độ trễ thấp ở mức tối đa.
| Model | kích thước (pixel) | 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Như thể hiện trong các chỉ số, mặc dù DAMO-YOLO cung cấp các biến thể cực kỳ nhẹ (chẳng hạn model tiny chỉ có 8.5M tham số), YOLOv7 đạt đỉnh độ chính xác tổng thể cao hơn, trong đó YOLOv7x đạt 53.1 mAP ấn tượng trên tập dữ liệu COCO.
Lợi thế từ hệ sinh thái Ultralytics#
Mặc dù kiến trúc trên lý thuyết rất quan trọng, tính thực tiễn của một model phụ thuộc vào hệ sinh thái của nó. Các model được Ultralytics hỗ trợ, chẳng hạn YOLOv7, được hưởng lợi từ hệ sinh thái được duy trì tốt và tính dễ sử dụng vượt trội.
- Cân bằng hiệu năng: Các model Ultralytics luôn đạt được sự cân bằng tối ưu giữa tốc độ suy luận và độ chính xác phát hiện, phù hợp cho cả thiết bị edge và triển khai model trên cloud.
- Yêu cầu bộ nhớ: Không giống các model dựa trên Transformer nặng hơn, các model YOLO của Ultralytics duy trì yêu cầu bộ nhớ CUDA thấp trong quá trình huấn luyện. Điều này cho phép sử dụng batch size lớn hơn, đơn giản hóa quy trình huấn luyện ngay cả trên phần cứng cấp độ người dùng.
- Tính linh hoạt: Framework Ultralytics không chỉ hỗ trợ phát hiện đối tượng mà còn các tác vụ như Phân đoạn Instance và Ước tính Pose, cung cấp cho developer một bộ công cụ thị giác máy tính hoàn chỉnh.
Package Ultralytics cho phép bạn chuyển liền mạch từ dataset đến một model được huấn luyện đầy đủ chỉ trong vài phút, nhờ tận dụng data loader được tối ưu cao và trọng số pre-trained.
Ví dụ code: Huấn luyện YOLOv7 với Ultralytics#
Việc tích hợp YOLOv7 vào pipeline thị giác máy tính cực kỳ đơn giản nhờ Python API của Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLOv7 model
model = YOLO("yolov7.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference and validate results
metrics = model.val()
predictions = model.predict("https://ultralytics.com/images/bus.jpg", save=True)Tiêu chuẩn mới: Giới thiệu YOLO26#
Mặc dù YOLOv7 và DAMO-YOLO đã tạo ra những đột phá đáng kể vào năm 2022, lĩnh vực AI thị giác phát triển rất nhanh. Đối với các team khởi động dự án mới hiện nay, model được khuyến nghị là Ultralytics YOLO26 tiên tiến nhất, được phát hành vào tháng 1 năm 2026.
YOLO26 mang đến bước nhảy thế hệ về hiệu năng và khả năng sử dụng, tích hợp các cải tiến tiên tiến nhất:
- Thiết kế End-to-End không cần NMS: YOLO26 có kiến trúc end-to-end nguyên bản. Bằng cách loại bỏ bước hậu xử lý Loại bỏ phi cực đại (NMS), model mang lại logic triển khai nhanh hơn và đơn giản hơn—một chuyển đổi mô hình ban đầu được YOLOv10 tiên phong.
- Optimizer MuSGD: Lấy cảm hứng từ các cải tiến trong lĩnh vực model ngôn ngữ lớn như Kimi K2 của Moonshot AI, YOLO26 sử dụng sự kết hợp giữa SGD và Muon. Optimizer này bảo đảm động lực huấn luyện cực kỳ ổn định và tốc độ hội tụ nhanh hơn đáng kể.
- Suy luận CPU nhanh hơn tới 43%: Với việc loại bỏ có chủ đích Hàm mất mát tiêu điểm phân phối (DFL) cùng những cải tiến sâu rộng về cấu trúc, YOLO26 được tối ưu mạnh cho điện toán edge công suất thấp, vượt trội các thế hệ trước trên phần cứng không có GPU.
- ProgLoss + STAL: Tích hợp các hàm loss mới tiên tiến, nhắm mục tiêu cụ thể và cải thiện khả năng nhận diện đối tượng nhỏ—một năng lực thiết yếu cho các ứng dụng trong ảnh chụp từ trên không, robot và giám sát an ninh.
- Cải tiến theo từng tác vụ: Ngoài phát hiện tiêu chuẩn, YOLO26 có các cải tiến được thiết kế riêng cho nhiều tác vụ khác nhau, bao gồm prototyping đa quy mô cho segmentation, RLE cho ước tính pose và các loss góc cụ thể cho Hộp giới hạn định hướng (OBB).
Các trường hợp sử dụng lý tưởng#
Việc lựa chọn kiến trúc phù hợp hoàn toàn phụ thuộc vào môi trường triển khai mục tiêu và các ràng buộc của dự án.
Khi nào nên chọn DAMO-YOLO:
- Bạn đang làm việc trong các môi trường edge bị giới hạn tài nguyên nghiêm ngặt, nơi số lượng tham số thuần túy phải được giữ ở mức cực thấp (ví dụ: vi điều khiển).
- Bạn đang sử dụng các pipeline machine learning tự động được tích hợp riêng với các dịch vụ cloud độc quyền của Alibaba.
Khi nào nên chọn YOLOv7:
- Bạn có các pipeline GPU cũ đã được tối ưu cho suy luận dựa trên anchor với độ chính xác cao.
- Bạn đang vận hành trong các môi trường mà độ chính xác thời gian thực là yếu tố tối quan trọng, chẳng hạn phương tiện tự hành tốc độ cao hoặc robot tiên tiến.
Khi nào nên chọn YOLO26 (Khuyến nghị):
- Bạn đang xây dựng một ứng dụng thị giác máy tính mới từ đầu và cần hiệu năng tiên tiến nhất tuyệt đối cả về độ chính xác lẫn tốc độ suy luận CPU/edge.
- Bạn yêu cầu triển khai nhanh chóng, liền mạch (chẳng hạn export sang CoreML hoặc TensorRT) mà không phải xử lý các ràng buộc của toán tử NMS.
- Bạn muốn tận dụng toàn bộ khả năng của Nền tảng Ultralytics cho việc huấn luyện trên cloud, quản lý dataset và triển khai tự động.
Bằng cách tận dụng hệ sinh thái mạnh mẽ của các model Ultralytics, developer có thể cắt giảm đáng kể thời gian engineering đồng thời duy trì hiệu năng dự đoán hàng đầu cho các ứng dụng thực tế.