YOLOv5 và DAMO-YOLO#
Lĩnh vực thị giác máy tính thời gian thực liên tục phát triển, với các nhà nghiên cứu và kỹ sư tìm cách cân bằng tối ưu giữa độ chính xác, tốc độ và tính tiện dụng. Hai model nổi bật định hình hành trình này là Ultralytics YOLOv5 và DAMO-YOLO của Alibaba.
Hướng dẫn này phân tích chuyên sâu kiến trúc, metric hiệu năng và phương pháp huấn luyện của hai model, giúp bạn chọn model phù hợp cho lần triển khai tiếp theo.
Tổng quan về các model#
Trước khi đi sâu vào các khía cạnh kỹ thuật, cần hiểu nguồn gốc và triết lý thiết kế cốt lõi của từng model thị giác có ảnh hưởng này.
Ultralytics YOLOv5#
Được phát triển bởi Glenn Jocher và nhóm Ultralytics, YOLOv5 đã trở thành tiêu chuẩn ngành kể từ khi ra mắt. Được xây dựng nguyên bản trên framework PyTorch, model ưu tiên trải nghiệm developer tinh gọn và khả năng triển khai vững chắc ngay từ đầu.
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- Tài liệu: Tài liệu Ultralytics YOLOv5
DAMO-YOLO#
Được các nhà nghiên cứu tại Alibaba Group tạo ra, DAMO-YOLO tập trung mạnh vào Tìm kiếm kiến trúc mạng neural (NAS) và các kỹ thuật chưng cất tiên tiến. Model đẩy giới hạn lý thuyết về hiệu năng chuyên biệt cho phần cứng, hướng đến các môi trường nghiên cứu và biên cần tinh chỉnh ở mức cao.
- 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: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Các cải tiến kiến trúc#
Cả hai model đều tận dụng các khái niệm cấu trúc riêng để đạt hiệu năng thời gian thực, nhưng cách tiếp cận khác nhau đáng kể.
YOLOv5: Tính ổn định và linh hoạt#
YOLOv5 sử dụng backbone CSP (Cross Stage Partial) đã được điều chỉnh, kết hợp với neck PANet (Path Aggregation Network). Cấu trúc này rất hiệu quả, giảm thiểu mức sử dụng bộ nhớ CUDA trong cả quá trình huấn luyện lẫn inference.
Một trong những thế mạnh lớn nhất của YOLOv5 là tính linh hoạt trên nhiều tác vụ. Ngoài dự đoán bounding box, model cung cấp các kiến trúc chuyên biệt cho phân đoạn ảnh và phân loại ảnh, cho phép developer chuẩn hóa pipeline thị giác bằng một framework thống nhất, liền mạch.
DAMO-YOLO: Tìm kiếm kiến trúc tự động#
Cải tiến cốt lõi của DAMO-YOLO là backbone MAE-NAS. Sử dụng phương pháp tìm kiếm định hướng theo entropy cực đại, nhóm Alibaba đã tìm ra các backbone cân bằng linh hoạt giữa độ chính xác phát hiện và tốc độ inference.
Ngoài ra, model có neck Efficient RepGFPN để cải thiện khả năng hợp nhất đặc trưng—đặc biệt hữu ích với các biến thiên tỷ lệ phức tạp thường gặp trong phân tích ảnh vệ tinh. Thiết kế ZeroHead đơn giản hóa các lớp dự đoán cuối nhằm giảm latency, nhưng việc tạo ra cấu trúc phức tạp này có thể khiến kiến trúc cứng nhắc và khó tùy chỉnh cho ứng dụng riêng.
Các kiến trúc dựa trên Transformer thường gặp khó khăn do tiêu thụ nhiều VRAM. YOLOv5 và DAMO-YOLO đều sử dụng thiết kế convolution hiệu quả để giảm mức sử dụng bộ nhớ, nhưng các model Ultralytics được tối ưu đáng kể cho GPU phổ thông, giúp nhà nghiên cứu độc lập và startup dễ tiếp cận hơn nhiều.
Hiệu năng và các chỉ số#
Đánh giá các model phát hiện vật thể thời gian thực cần xem xét đồng thời mAP (Độ chính xác trung bình) và tốc độ inference cùng các thông số kích thước model.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
DAMO-YOLO đạt mAP rất cạnh tranh ở một số mức tham số nhất định, nhưng YOLOv5 luôn cho tốc độ TensorRT vượt trội và số lượng tham số cực thấp ở các cấu hình nano và small. Sự cân bằng hiệu năng này giúp YOLOv5 hoạt động hiệu quả trong nhiều tình huống triển khai biên.
Hiệu quả huấn luyện và hệ sinh thái#
Độ chính xác lý thuyết của model chỉ hữu ích khi model có thể được triển khai hiệu quả trong thực tế. Đây là điểm khác biệt đáng kể giữa hai model.
Độ phức tạp của chưng cất#
DAMO-YOLO phụ thuộc nhiều vào phương pháp huấn luyện nhiều giai đoạn. Model kết hợp phương pháp gán nhãn AlignedOTA với kỹ thuật chưng cất tri thức teacher-student. Dù cách này khai thác tối đa hiệu năng của model student, trước tiên cần huấn luyện một model teacher rất lớn. Điều này làm tăng đáng kể thời gian tính toán, chi phí năng lượng và yêu cầu phần cứng, trở thành điểm nghẽn cho các nhóm ML linh hoạt.
Lợi thế của Ultralytics: Dễ sử dụng#
Ngược lại, hệ sinh thái Ultralytics nổi tiếng toàn cầu nhờ API trực quan và hiệu quả huấn luyện. Với sự hỗ trợ từ hoạt động phát triển tích cực và cộng đồng mã nguồn mở rộng lớn, developer có thể train, validation và triển khai model liền mạch.
from ultralytics import YOLO
# Tải model YOLOv5 đã huấn luyện trước
model = YOLO("yolov5su.pt") # YOLOv5u: weight YOLOv5 không anchor dành cho package ultralytics
# Dễ dàng huấn luyện trên dataset tùy chỉnh
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Xuất sang định dạng ONNX để triển khai
model.export(format="onnx")Ultralytics cũng tích hợp sẵn khả năng theo dõi thử nghiệm thông qua các công cụ như Weights & Biases và Comet ML, tạo nên quy trình làm việc liền mạch.
Các trường hợp sử dụng thực tế#
- YOLOv5 nổi bật trong môi trường production đòi hỏi tốc độ cao. Khả năng export đơn giản khiến model trở thành lựa chọn hàng đầu cho phân tích bán lẻ thông minh, phát hiện lỗi sản xuất tốc độ cao và tích hợp vào ứng dụng di động thông qua CoreML.
- DAMO-YOLO rất phù hợp với các bài benchmark học thuật nghiêm ngặt và những tình huống có sẵn tài nguyên tính toán dồi dào để chạy các đợt huấn luyện chưng cất kéo dài, nhằm đạt được mức cải thiện mAP nhỏ cho các mục tiêu phần cứng cố định cụ thể.
Trường hợp sử dụng và khuyến nghị#
Việc lựa chọn giữa YOLOv5 và DAMO-YOLO phụ thuộc vào yêu cầu cụ thể của dự án, các ràng buộc khi triển khai và lựa chọn hệ sinh thái của bạn.
Khi nào nên chọn YOLOv5#
YOLOv5 là lựa chọn phù hợp 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 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 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 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ỏ.
Bước tiến tiếp theo: YOLO26#
Nếu bắt đầu một dự án mới, bạn nên hướng đến các giải pháp tương lai. Ultralytics YOLO26 phát triển trên nền tảng vững chắc của YOLOv5, tích hợp những cải tiến mang tính đột phá, định nghĩa lại chuẩn mực AI thị giác tiên tiến nhất.
Được đón nhận rộng rãi, YOLO26 có kiến trúc end-to-end nguyên bản. Model sở hữu Thiết kế end-to-end không cần NMS (nms=False), bỏ qua bước xử lý hậu kỳ Non-Maximum Suppression để triển khai nhanh hơn đáng kể và đơn giản hơn.
Các cải tiến chính trong YOLO26 gồm:
- Bộ tối ưu MuSGD: Lấy cảm hứng từ các cải tiến trong huấn luyện LLM, phương pháp kết hợp SGD và Muon này đảm bảo quá trình huấn luyện ổn định cao và hội tụ nhanh.
- Inference CPU nhanh hơn đến 43%: Được tối ưu mạnh mẽ cho điện toán biên, model rất phù hợp với thiết bị IoT không có GPU chuyên dụng.
- ProgLoss + STAL: Các hàm loss tiên tiến giúp cải thiện đáng kể khả năng nhận diện vật thể nhỏ, yếu tố quan trọng trong ảnh chụp từ drone và robot.
- Cải tiến theo từng tác vụ: Từ hàm loss góc chuyên biệt cho Bounding Box định hướng (OBB) đến Ước tính hợp lý log phần dư (RLE) để ước tính tư thế chính xác, YOLO26 dễ dàng xử lý các miền phức tạp.
Kết luận#
YOLOv5 và DAMO-YOLO đều đã khẳng định vị trí trong lịch sử phát hiện vật thể. DAMO-YOLO vẫn là một nghiên cứu thú vị về Tìm kiếm kiến trúc mạng neural và chưng cất. Tuy nhiên, với các tổ chức ưu tiên hệ sinh thái được duy trì tốt, dễ sử dụng và lộ trình nhanh chóng lên production, các model Ultralytics vẫn vượt trội.
Chúng tôi đặc biệt khuyến nghị sử dụng Nền tảng Ultralytics để gán nhãn, train và triển khai thế hệ model tiếp theo như YOLO26, đảm bảo pipeline thị giác máy tính của bạn luôn sẵn sàng cho tương lai, nhanh và chính xác vượt trội.