DAMO-YOLO và YOLOv5#
Quá trình 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 phát hiện đối tượng thời gian thực. Hiện nay, nhà phát triển và nhà nghiên cứu có rất nhiều lựa chọn kiến trúc khi thiết kế pipeline thị giác. Bài so sánh kỹ thuật toàn diện này phân tích những 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 suất và các kịch bản triển khai lý tưởng của từng model.
Giới thiệu về DAMO-YOLO#
Được Alibaba Group phát hành, DAMO-YOLO giới thiệu một số kỹ thuật mới nhằm mở rộng giới hạn về tốc độ và độ chính xác của phát hiện đối tượng.
- 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 năm 2022
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
- Tài liệu: README.md
Các cải tiến kiến trúc#
DAMO-YOLO được xây dựng dựa trên Tìm kiếm kiến trúc mạng nơ-ron (NAS). Các tác giả sử dụng MAE-NAS để tự động thiết kế backbone cân bằng giữa độ trễ và độ chính xác. Model giới thiệu RepGFPN hiệu quả (Mạng kim tự tháp feature tổng quát được tái tham số hóa), giúp cải thiện việc hợp nhất feature ở nhiều tỷ lệ khác nhau. Ngoài ra, DAMO-YOLO tích hợp thiết kế "ZeroHead", loại bỏ các prediction head đa nhánh phức tạp để thay bằng cấu trúc đơn giản và hiệu quả hơn, chủ yếu dựa vào tái tham số hóa khi suy luận.
Để cải thiện quá trình huấn luyện, model sử dụng AlignedOTA để gán nhãn và 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 nhằm đạ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 ứng dụng rộng rãi nhất thế giới, nổi tiếng nhờ tính ổn định, dễ sử dụng và hệ sinh thái triển khai phong phú.
- 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 của hệ sinh thái#
YOLOv5 đã định nghĩa lại tiêu chuẩn ngành về tính dễ sử dụng. Được xây dựng nguyên bản bằng PyTorch, model sử dụng backbone CSPNet được tối ưu cao và neck PANet để tổng hợp feature hiệu quả. Dù ra đời trước xu hướng anchor-free của các model sau này, phương pháp dựa trên anchor được hoàn thiện kỹ lưỡng, kết hợp với khả năng tự động học anchor, vẫn đảm bảo hiệu suất tốt ngay khi sử dụng.
Thế mạnh thực sự của YOLOv5 nằm ở Hệ sinh thái được duy trì tốt. Model tích hợp liền mạch với các công cụ theo dõi như Comet và Weights & Biases, đồng thời hỗ trợ xuất chỉ bằng một cú nhấp sang các định dạng như ONNX, TensorRT và CoreML.
YOLOv5 rất dễ huấn luyện trên dataset tùy chỉnh. API tinh gọn giúp giảm trở ngại từ giai đoạn prototype đến production, khiến model trở thành lựa chọn ưa thích của các nhóm kỹ thuật linh hoạt.
So sánh hiệu năng và 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 Mean Average Precision (mAP), tốc độ suy luận và số lượng tham số.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (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 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
Phân tích các yếu tố đánh đổi#
DAMO-YOLO đạt điểm mAP ấn tượng so với số lượng tham số, nhờ hưởng lợi đáng kể 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 đòi hỏi phải huấn luyện model teacher lớn 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 có Yêu cầu bộ nhớ rất hợp lý. Các model YOLO của Ultralytics nổi tiếng nhờ sử dụng ít bộ nhớ hơn trong cả huấn luyện lẫn suy luận so với pipeline chưng cất phức tạp hoặc model dựa trên Transformer như RT-DETR. Nhờ vậy, YOLOv5 có thể được huấn luyện 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.
Thế mạnh của DAMO-YOLO#
DAMO-YOLO chỉ là model phát hiện đối tượng. Đây là lựa chọn xuất sắc cho nghiên cứu học thuật, đặc biệt với các nhóm nghiên cứu Tìm kiếm kiến trúc mạng nơ-ron hoặc muốn tái tạo những kỹ thuật tái tham số hóa được trình bày trong bài báo. Nếu 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 khai thác thêm từng chút độ chính xác cho bounding box 2D, DAMO-YOLO là một ứng viên đáng cân nhắc.
Lợi thế của Ultralytics#
Trong môi trường 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. Dù YOLOv5 vẫn là lựa chọn quen thuộc cho phát hiện đối tượng và phân loại ảnh, hệ sinh thái Ultralytics rộng hơn cho phép nhà phát triển dễ dàng chuyển đổi giữa các tác vụ.
Ví dụ, các phiên bản mới hơn trong họ Ultralytics hỗ trợ nguyên bản phân đoạn instance, ước lượng tư thế và phát hiện Bounding Box định hướng (OBB). Khả năng đa tác vụ này giúp các nhóm sử dụng một Python API thống nhất cho các pipeline phức tạp, chẳng hạn như kết hợp nhận diện biển số xe tự động với phân đoạn phương tiện.
Trường hợp sử dụng và khuyến nghị#
Việc chọn DAMO-YOLO hay YOLOv5 phụ thuộc vào yêu cầu cụ thể của dự án, các hạn chế khi triển khai và lựa chọn hệ sinh thái của bạn.
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ý 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 kịch bản 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 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 ảnh hưở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ả đến hiệu năng phát hiện.
Khi nào nên chọn YOLOv5#
YOLOv5 được khuyến nghị cho:
- Các hệ thống production đã được kiểm chứng: Những triển khai hiện có coi trọng lịch sử ổn định lâu dài, tài liệu phong phú và sự hỗ trợ rộng rãi từ cộng đồng của YOLOv5.
- Huấn luyện với tài nguyên hạn chế: 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à nhu cầu bộ nhớ thấp hơn của YOLOv5 là một lợi thế.
- Hỗ trợ nhiều định dạng export: Các dự án cần triển khai trên nhiều định dạng, bao gồm ONNX, TensorRT, CoreML và LiteRT.
Khi nào nên chọn Ultralytics (YOLO26)#
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 dành cho nhà phát triển:
- Triển khai trên thiết bị biên không cần NMS: Các ứng dụng cần inference có độ trễ thấp và ổn định mà không phải xử lý hậu kỳ Non-Maximum Suppression phức tạp.
- Môi trường chỉ có CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ CPU inference nhanh hơn đến 43% của YOLO26 mang lại lợi thế rõ rệt.
- Phát hiện vật thể nhỏ: Các tình huống khó 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 khi phát hiện vật thể rất nhỏ.
Tương lai: Chuyển sang YOLO26#
YOLOv5 là một model huyền thoại và DAMO-YOLO mang đến những góc nhìn học thuật thú vị, nhưng công nghệ tiên tiến nhất đã phát triển hơn nữa. Ra mắt vào tháng 1 năm 2026, Ultralytics YOLO26 đánh dấu bước tiến vượt bậc cho cộng đồng thị giác máy tính.
YOLO26 giải quyết các nút thắt truyền thống trong triển khai edge và tình trạng huấn luyện thiếu ổn định:
- Thiết kế end-to-end không cần NMS: End-to-end head tùy chọn (
nms=False) của YOLO26 loại bỏ 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 lý tưởng cho robotics tốc độ cao và các hệ thống tự hành. - MuSGD Optimizer: Lấy cảm hứng từ các đổ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 SGD và Muon). Nhờ đó, quá trình huấn luyện ổn định hơn 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ó chủ đích, YOLO26n chạy nhanh hơn đến 43% so với YOLO11n trên CPU ONNX, mang lại tốc độ cao hơn trên CPU và thiết bị edge so với các phiên bản trước như YOLO11 và YOLOv8.
- ProgLoss + STAL: Các hàm loss tiên tiến này cải thiện đáng kể khả năng nhận diện đối tượng nhỏ, yếu tố then chốt khi phân tích ảnh chụp từ drone trên không và luồng dữ liệu từ cảm biến IoT.
Ví dụ mã: Đơn giản trong thực tế#
Gói Ultralytics cho phép bạn huấn luyện và triển khai model chỉ với vài dòng code. Dù sử dụng YOLOv5 hay nâng cấp lên YOLO26 được khuyến nghị, giao diện vẫn nhất quán và trực quan.
from ultralytics import YOLO
# Tải model YOLO26 small tiên tiến nhất
model = YOLO("yolo26s.pt")
# Dễ dàng huấn luyện trên dataset tùy chỉnh
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Chạy suy luận trên ảnh và hiển thị kết quả
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# Xuất model để triển khai trên edge
model.export(format="onnx")Kết luận#
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 mạng nơ-ron và chưng cất, là chủ đề nghiên cứu thú vị dành cho các nhà nghiên cứu. Tuy nhiên, YOLOv5 vẫn là model thực tiễn mạnh mẽ nhờ Cân bằng hiệu suất, yêu cầu bộ nhớ thấp và tính dễ sử dụng vượt trội.
Với nhà phát triển bắt đầu dự án mới hiện nay, chúng tôi khuyến nghị tận dụng Ultralytics Platform và sử 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 với những tiến bộ kiến trúc đột phá, đảm bảo độ chính xác hàng đầu và suy luận cực nhanh cho các ứng dụng AI trên cloud lẫn edge. Tùy theo hạn chế cụ thể của phần cứng cũ, nhà phát triển cũng có thể tìm hiểu các model hiệu quả khác như YOLOv6 hoặc YOLOX.