YOLOv6-3.0 và YOLOv9#
Lĩnh vực phát hiện vật thể thời gian thực không ngừng phát triển, thúc đẩy bởi nhu cầu về độ chính xác cao hơn, độ trễ thấp hơn và khả năng tận dụng phần cứng tốt hơn. Bài so sánh toàn diện này xem xét hai cột mốc quan trọng trong lĩnh vực: YOLOv6-3.0, được phát triển để đạt thông lượng công nghiệp, và YOLOv9, giới thiệu các kiến trúc mới nhằm vượt qua nút thắt thông tin trong deep learning.
Dù cả hai model đều có những đổi mới kiến trúc riêng, developer muốn đạt sự cân bằng tối ưu giữa hiệu năng và độ đơn giản khi triển khai thường chuyển sang các hệ sinh thái hiện đại. Với các dự án mới, Ultralytics YOLO26 end-to-end ngay từ đầu là tiêu chuẩn được khuyến nghị, cung cấp độ chính xác hiện đại cùng trải nghiệm developer tinh gọn hơn đáng kể.
YOLOv6-3.0: Tối ưu hóa thông lượng công nghiệp#
Được phát triển bởi Bộ phận Vision AI của Meituan, YOLOv6-3.0 được thiết kế chuyên sâu để đạt thông lượng tối đa trong các ứng dụng công nghiệp, đặc biệt trên phần cứng GPU.
- Tác giả: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu và Xiangxiang Chu
- Tổ chức: Meituan
- Ngày: 13 tháng 1, 2023
- Arxiv: 2301.05586
- GitHub: meituan/YOLOv6
Các cải tiến kiến trúc#
YOLOv6-3.0 giới thiệu một số thay đổi quan trọng nhằm tăng cường hợp nhất đặc trưng và hiệu quả phần cứng. Kiến trúc tích hợp module Ghép nối hai chiều (BiC) trong neck, cung cấp tín hiệu định vị chính xác hơn. Model cũng sử dụng chiến lược Huấn luyện có hỗ trợ anchor (AAT). Phương pháp này kết hợp hướng dẫn phong phú từ huấn luyện dựa trên anchor với tốc độ suy luận của phương pháp không dùng anchor, giúp tăng hiệu năng mà không làm chậm quá trình triển khai.
Backbone dựa trên thiết kế EfficientRep, được tối ưu tỉ mỉ để thân thiện với phần cứng khi suy luận trên GPU. Nhờ vậy, model có năng lực cao trong các tình huống sản xuất công nghiệp, nơi xử lý theo lô khối lượng lớn là thông lệ.
Ưu điểm và nhược điểm#
Ưu điểm chính của YOLOv6-3.0 là tốc độ khung hình cao trên GPU như NVIDIA T4, phù hợp với các luồng hiểu video mật độ cao. Tuy nhiên, việc phụ thuộc nhiều vào các tối ưu hóa phần cứng cụ thể có thể dẫn đến độ trễ chưa tối ưu trên thiết bị edge chỉ có CPU. Ngoài ra, việc thiết lập pipeline huấn luyện có thể phức tạp hơn so với các framework thống nhất hơn.
YOLOv9: Thông tin gradient có thể lập trình#
Ra mắt một năm sau, YOLOv9 tập trung giải quyết vấn đề nút thắt thông tin vốn có trong mạng neural sâu, đẩy giới hạn lý thuyết của kiến trúc CNN.
- Tác giả: Chien-Yao Wang và Hong-Yuan Mark Liao
- Tổ chức: Viện Khoa học Thông tin, Academia Sinica
- Ngày: 21 tháng 2, 2024
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
Các cải tiến kiến trúc#
Đóng góp lớn của YOLOv9 là Thông tin gradient có thể lập trình (PGI), đảm bảo dữ liệu quan trọng được giữ lại khi đi qua nhiều layer của mạng, cho phép cập nhật trọng số đáng tin cậy hơn. Bên cạnh PGI, model còn có Mạng tổng hợp layer hiệu quả tổng quát (GELAN). GELAN tối đa hóa hiệu quả tham số, cho phép YOLOv9 đạt độ chính xác cao hơn với ít FLOPs tính toán hơn nhiều model tiền nhiệm.
Ưu điểm và nhược điểm#
YOLOv9 đạt độ chính xác trung bình (mAP) xuất sắc trên các dataset benchmark như COCO, khiến model trở thành lựa chọn yêu thích của các nhà nghiên cứu ưu tiên độ chính xác thuần. Tuy nhiên, giống YOLOv6, model vẫn dựa vào bước hậu xử lý Loại bỏ hộp giới hạn không cực đại (NMS) truyền thống. Điều này làm tăng độ trễ và phức tạp hóa pipeline triển khai model, đặc biệt khi chuyển sang thiết bị edge bằng các định dạng như ONNX hoặc TensorRT.
So sánh hiệu năng#
Khi so sánh các model này, cần xem xét sự cân bằng giữa độ chính xác, số lượng tham số và tốc độ suy luận.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
Ưu thế của Ultralytics: Giới thiệu YOLO26#
Mặc dù YOLOv6-3.0 và YOLOv9 cung cấp các kiến trúc mạnh mẽ, môi trường production đòi hỏi hệ sinh thái được duy trì tốt, yêu cầu bộ nhớ thấp và khả năng sử dụng đặc biệt dễ dàng. Đây là điểm mà Nền tảng Ultralytics cùng các model như YOLO11 và YOLO26 tiên tiến thể hiện thế mạnh.
Ra mắt vào đầu năm 2026, YOLO26 định nghĩa lại căn bản hiệu quả triển khai bằng cách loại bỏ các nút thắt cũ.
YOLO26 có Thiết kế end-to-end không cần NMS: head one-to-one tùy chọn (nms=False) loại bỏ nhu cầu hậu xử lý bằng Loại bỏ hộp giới hạn không cực đại. Điều này giảm đáng kể biến thiên độ trễ suy luận và đơn giản hóa logic triển khai trên edge.
Những cải tiến chính của YOLO26#
- Optimizer MuSGD: Lấy cảm hứng từ quá trình huấn luyện LLM (như Kimi K2 của Moonshot AI), YOLO26 sử dụng phương pháp kết hợp SGD và Muon. Cách tiếp cận này mang lại độ ổn định huấn luyện vượt trội và hội tụ nhanh hơn cho các tác vụ thị giác máy tính.
- Suy luận trên CPU nhanh hơn tới 43%: Khác với YOLOv6 tập trung nhiều vào GPU, YOLO26 được tối ưu mạnh cho thiết bị edge. Việc loại bỏ Distribution Focal Loss (DFL) giúp đơn giản hóa head, tăng khả năng tương thích với CPU công suất thấp và phần cứng điện toán biên.
- ProgLoss + STAL: Các hàm loss nâng cao cải thiện đáng kể khả năng phát hiện vật thể nhỏ, yếu tố quan trọng đối với ảnh hàng không và robot học.
- Tính linh hoạt vượt trội: Trong khi YOLOv6 chỉ là engine phát hiện, YOLO26 xử lý liền mạch tác vụ phân đoạn instance, phân loại, ước lượng tư thế và phát hiện Bounding Box có định hướng (OBB).
Huấn luyện liền mạch với Ultralytics#
Huấn luyện model hiện đại hàng đầu không nên đòi hỏi các bash script phức tạp. Ultralytics Python API cung cấp trải nghiệm tinh gọn với khả năng tự động tải dữ liệu, mức sử dụng bộ nhớ CUDA tối thiểu và chức năng tracking tích hợp.
from ultralytics import YOLO
# Tải model nano YOLO26 tiên tiến nhất
model = YOLO("yolo26n.pt")
# Huấn luyện trên dataset COCO8 (optimizer='auto' chọn MuSGD cho các lượt huấn luyện dài hơn)
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export model đã huấn luyện sang ONNX bằng một lệnh duy nhất
model.export(format="onnx")Các trường hợp sử dụng phù hợp nhất#
Việc 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 của bạn:
- Dùng YOLOv6-3.0 cho: Tự động hóa nhà máy và phát hiện lỗi trong môi trường có nhiều GPU cấp máy chủ (ví dụ A100), nơi xử lý theo lô giúp tối đa hóa thông lượng.
- Dùng YOLOv9 cho: Nghiên cứu học thuật hoặc các cuộc thi mà mục tiêu chính là đạt mAP cao nhất có thể trên các dataset tiêu chuẩn như COCO.
- Dùng YOLO26 cho: Hầu hết ứng dụng thương mại hiện đại. Suy luận không cần NMS tùy chọn, footprint bộ nhớ thấp và suy luận CPU tốc độ cao khiến model trở nên lý tưởng cho hệ thống báo động an ninh, bán lẻ thông minh và tracking vật thể thời gian thực trên thiết bị nhúng.
Bằng cách tận dụng hệ sinh thái Ultralytics toàn diện, developer có thể dễ dàng thử nghiệm YOLOv8, YOLO11 và YOLO26 để tìm ra sự cân bằng hiệu năng phù hợp nhất với các thách thức thực tế cụ thể.