DAMO-YOLO so với YOLOv5#
Sự phát triển của thị giác máy tính được đánh dấu bằng những đổi mới liên tục trong lĩnh vực phát hiện đối tượng theo thời gian thực. Ngày nay, các developer và nhà nghiên cứu phải cân nhắc vô số lựa chọn kiến trúc khi thiết kế các pipeline thị giác. Bản so sánh kỹ thuật toàn diện này phân tích những điểm khác biệt giữa DAMO-YOLO và Ultralytics YOLOv5, làm rõ kiến trúc, phương pháp huấn luyện, chỉ số hiệu năng và các kịch bản triển khai phù hợp của từng model.
Giới thiệu về DAMO-YOLO#
Được phát hành bởi Tập đoàn Alibaba, DAMO-YOLO giới thiệu một số kỹ thuật mới nhằm nâng cao giới hạn về tốc độ và độ chính xác phát hiện.
- 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
- Tài liệu: README.md
Các cải tiến về kiến trúc#
DAMO-YOLO được xây dựng dựa trên nền tảng của Tìm kiếm Kiến trúc Nơ-ron (NAS). Các tác giả đã tận dụng MAE-NAS để tự động thiết kế các backbone nhằm cân bằng độ trễ và độ chính xác. Model giới thiệu RepGFPN (Reparameterized Generalized Feature Pyramid Network) hiệu quả giúp cải thiện tính năng kết hợp tính năng trên các tỷ lệ khác nhau. Hơn nữa, DAMO-YOLO tích hợp thiết kế "ZeroHead", loại bỏ các đầu dự đoán đa nhánh phức tạp để chuyển sang cấu trúc đơn giản, hiệu quả hơn, phụ thuộc nhiều vào quá trình tái tham số hóa trong quá trình suy luận.
Để cải thiện quá trình huấn luyện, model sử dụng AlignedOTA cho việc gán nhãn và một quy trình tăng cường chưng cất chuyên sâu, trong đó một model "teacher" lớn hơn hướng dẫn model "student" nhỏ hơn để đạt độ chính xác cao hơn.
Giới thiệu về Ultralytics YOLOv5#
Ultralytics YOLOv5 là một trong những kiến trúc thị giác được áp dụng rộng rãi nhất trên thế giới, nổi tiếng nhờ tính ổn định, dễ sử dụng và hệ sinh thái triển khai toàn diện.
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 26 tháng 6, 2020
- GitHub: ultralytics/yolov5
- Tài liệu: Tài liệu YOLOv5
Tiêu chuẩn hệ sinh thái#
YOLOv5 đã định nghĩa lại tiêu chuẩn ngành về khả năng sử dụng. Được xây dựng nguyên bản bằng PyTorch, model này sử dụng backbone CSPNet được tối ưu hóa cao và neck PANet để tổng hợp đặc trưng mạnh mẽ. Dù ra đời trước xu hướng anchor-free xuất hiện ở các model sau này, phương pháp dựa trên anchor được tinh chỉnh kỹ lưỡng cùng khả năng tự động học anchor vẫn đảm bảo hiệu năng xuất sắc ngay khi sử dụng.
Điểm mạnh thực sự của YOLOv5 nằm ở Hệ sinh thái được duy trì tốt. Model này tích hợp liền mạch với các công cụ tracking như Comet và Weights & Biases, đồng thời hỗ trợ export một cú nhấp chuột sang các format như ONNX, TensorRT và CoreML.
YOLOv5 cực kỳ dễ huấn luyện trên các dataset tùy chỉnh. API tinh gọn giúp giảm trở ngại từ prototype đến production, khiến model này trở thành lựa chọn yêu thích của các team engineering linh hoạt.
So sánh hiệu năng và các chỉ số#
Khi so sánh các model này, điều quan trọng là phải xem xét sự cân bằng giữa Độ chính xác trung bình (mAP), tốc độ suy luận và số lượng parameter.
| 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Phân tích sự đánh đổi#
DAMO-YOLO đạt điểm mAP ấn tượng so với kích thước parameter nhờ hưởng lợi lớn từ giai đoạn huấn luyện chưng cất. Tuy nhiên, điều này phải đánh đổi bằng Hiệu quả huấn luyện. Quy trình chưng cất nhiều giai đoạn yêu cầu huấn luyện một model teacher nặng trước, làm tăng đáng kể thời gian tính toán GPU và VRAM cần thiết.
Ngược lại, YOLOv5 cung cấp Yêu cầu bộ nhớ rất tốt. Các model YOLO của Ultralytics nổi tiếng với mức sử dụng bộ nhớ thấp hơn trong cả huấn luyện và suy luận so với các pipeline chưng cất phức tạp hoặc các model dựa trên Transformer như RT-DETR. Điều này cho phép huấn luyện YOLOv5 hiệu quả trên phần cứng phổ thông hoặc các môi trường cloud dễ tiếp cận như Google Colab.
Ứng dụng thực tế và tính linh hoạt#
Việc lựa chọn kiến trúc phù hợp thường phụ thuộc vào môi trường triển khai.
Những điểm DAMO-YOLO vượt trội#
DAMO-YOLO hoàn toàn là một model object detection. Đây là một sự lựa chọn tuyệt vời cho nghiên cứu học thuật, đặc biệt đối với các nhóm nghiên cứu Tìm kiếm Kiến trúc Nơ-ron hoặc những người hướng tới việc tái tạo các kỹ thuật tái tham số hóa được trình bày chi tiết trong tài liệu. Nếu một dự án có nguồn lực tính toán dồi dào để thực hiện giai đoạn huấn luyện chưng cất và chỉ tập trung vào việc vắt kiệt phần trăm độ chính xác cuối cùng cho các bounding box 2D, DAMO-YOLO là một ứng cử viên sáng giá.
Lợi thế của Ultralytics#
Đối với production thực tế, Tính dễ sử dụng và Tính linh hoạt của các model Ultralytics khiến chúng trở thành lựa chọn ưu tiên. Trong khi YOLOv5 vẫn là lựa chọn chủ lực cho việc phát hiện và phân loại hình ảnh, hệ sinh thái Ultralytics rộng hơn cho phép developer dễ dàng chuyển đổi giữa các task.
Ví dụ, các phiên bản mới hơn trong hệ sinh thái Ultralytics hỗ trợ nguyên bản phân đoạn instance, ước tính pose và phát hiện Bounding Box Định hướng (OBB). Khả năng đa task này đảm bảo các team có thể sử dụng một Python API thống nhất cho những pipeline phức tạp, chẳng hạn như kết hợp nhận dạng biển số xe tự động với phân đoạn phương tiện.
Các trường hợp sử dụng và khuyến nghị#
Việc lựa chọn giữa DAMO-YOLO và YOLOv5 phụ thuộc vào yêu cầu cụ thể của project, các giới hạn triển khai và sở thích về hệ sinh thái.
Khi nào nên chọn DAMO-YOLO#
DAMO-YOLO là lựa chọn phù hợp cho:
- Phân tích video thông lượng cao: Xử lý các 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 tình huống 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 theo 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 được reparameterize hiệu quả đối với hiệu năng phát hiện.
Khi nào nên chọn YOLOv5#
YOLOv5 được khuyến nghị cho:
- Hệ thống production đã được kiểm chứng: Các triển khai hiện có, trong đó bề dày ổn định, tài liệu phong phú và sự hỗ trợ lớn từ cộng đồng của YOLOv5 được đánh giá cao.
- Huấn luyện trong điều kiện hạn chế tài nguyên: Các môi trường có tài nguyên GPU hạn chế, nơi pipeline huấn luyện hiệu quả và yêu cầu bộ nhớ thấp hơn của YOLOv5 mang lại lợi thế.
- Hỗ trợ đa dạng định dạng export: Các dự án yêu cầu triển khai trên nhiều định dạng, bao gồm ONNX, TensorRT, CoreML và TFLite.
Khi nào nên chọn Ultralytics (YOLO26)#
Đối 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 developer:
- 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 bước hậu xử lý triệt tiêu cực đại.
- Môi trường chỉ sử dụng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi khả năng suy luận trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Phát hiện đối tượng nhỏ: Các kịch bản đầy thách thức 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 trên các đối tượng rất nhỏ.
Tương lai: Chuyển sang YOLO26#
Dù YOLOv5 là một model huyền thoại và DAMO-YOLO cung cấp những góc nhìn học thuật thú vị, công nghệ tiên tiến nhất đã phát triển. Được phát hành vào tháng 1 năm 2026, Ultralytics YOLO26 đại diện cho một bước tiến lớn của cộng đồng thị giác máy tính.
YOLO26 giải quyết các điểm nghẽn truyền thống trong triển khai edge và tình trạng huấn luyện không ổn định:
- Thiết kế end-to-end không cần NMS: YOLO26 loại bỏ nguyên bản bước hậu xử lý Non-Maximum Suppression. Đột phá này đơn giản hóa logic triển khai và giảm đáng kể biến thiên độ trễ, khiến model trở nên lý tưởng cho robotics tốc độ cao và các hệ thống tự hành.
- Optimizer MuSGD: Lấy cảm hứng từ những đổi mới trong huấn luyện LLM (như Kimi K2 của Moonshot AI), YOLO26 sử dụng optimizer MuSGD (kết hợp giữa SGD và Muon). Điều này đảm bảo quá trình huấn luyện có độ ổn định cao và hội tụ nhanh hơn đáng kể.
- Suy luận trên CPU nhanh hơn đến 43%: Bằng cách loại bỏ Distribution Focal Loss (DFL) một cách có chiến lược, YOLO26 đạt tốc độ vượt trội trên CPU và các thiết bị edge so với những phiên bản tiền nhiệm như YOLO11 và YOLOv8.
- ProgLoss + STAL: Các hàm loss nâng cao này mang lại cải thiện đáng kể trong việc nhận dạng đối tượng nhỏ, yếu tố quan trọng khi phân tích hình ảnh chụp từ drone trên không và các luồng dữ liệu cảm biến IoT.
Ví dụ code: Tính đơn giản trong thực tế#
Package Ultralytics cho phép bạn huấn luyện và triển khai model chỉ với vài dòng code. Dù bạn đang sử dụng YOLOv5 hay nâng cấp lên YOLO26 được khuyến nghị, interface vẫn nhất quán và trực quan.
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 small model
model = YOLO("yolo26s.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image and display results
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# Export the model for edge deployment
model.export(format="onnx")Kết luận#
Cả DAMO-YOLO và YOLOv5 đều đóng góp đáng kể cho lĩnh vực thị giác máy tính. DAMO-YOLO cho thấy sức mạnh của Tìm kiếm kiến trúc neural và chưng cất, trở thành một chủ đề nghiên cứu thú vị đối với các nhà nghiên cứu. Tuy nhiên, YOLOv5 vẫn là một giải pháp mạnh mẽ và thực tiễn nhờ Sự cân bằng hiệu năng, yêu cầu bộ nhớ thấp và tính dễ sử dụng vượt trội.
Đối với các developer bắt đầu project mới hiện nay, khuyến nghị là tận dụng Ultralytics Platform và áp dụng YOLO26. Model này kết hợp hệ sinh thái thân thiện với người dùng được yêu thích của YOLOv5 cùng những cải tiến kiến trúc mang tính đột phá, đảm bảo độ chính xác hàng đầu và tốc độ suy luận cực nhanh cho các ứng dụng AI trên cloud và edge. Developer cũng có thể khám phá các model hiệu quả khác như YOLOv6 hoặc YOLOX, tùy thuộc vào các giới hạn cụ thể của phần cứng legacy.