YOLOv10 và YOLOv6-3.0#
Trong bối cảnh thị giác máy tính phát triển nhanh chóng, lựa chọn kiến trúc phát hiện đối tượng tối ưu là điều cốt yếu để cân bằng tốc độ inference, độ chính xác của model và tính khả thi khi triển khai. Hướng dẫn này đưa ra so sánh kỹ thuật chuyên sâu giữa hai model nổi bật: YOLOv10, thế mạnh trong học thuật, và YOLOv6-3.0, tập trung vào ứng dụng công nghiệp. Cả hai đều mang đến những cải tiến kiến trúc độc đáo, giải quyết các thách thức riêng trong triển khai hệ thống thị giác thời gian thực.
Tổng quan YOLOv10: Tiên phong end-to-end#
Ra mắt vào giữa năm 2024, YOLOv10 tạo ra bước chuyển đổi mô hình trong dòng YOLO bằng cách loại bỏ hoàn toàn nhu cầu sử dụng ức chế phi cực đại (NMS) trong quá trình hậu xử lý. Thiết kế end-to-end nguyên bản này giảm thiểu các nút thắt độ trễ inference, khiến model trở thành lựa chọn hấp dẫn cho AI edge và các ứng dụng nhúng.
- Tác giả: Ao Wang, Hui Chen, Lihao Liu và cộng sự
- Tổ chức: Đại học Thanh Hoa
- Ngày: 2024-05-23
- ArXiv: 2405.14458
- GitHub: THU-MIG/yolov10
- Tài liệu: Tài liệu Ultralytics YOLOv10
Các cải tiến kiến trúc#
YOLOv10 đạt được khả năng không cần NMS nhờ chiến lược Gán kép nhất quán. Trong quá trình huấn luyện, model tận dụng cả cách gán nhãn một-nhiều và một-một, làm phong phú tín hiệu giám sát. Khi suy luận, model chỉ dựa vào head một-một, loại bỏ chi phí tính toán liên quan đến việc lọc bounding box truyền thống. Ngoài ra, YOLOv10 tích hợp thiết kế toàn diện chú trọng hiệu quả, tối ưu triệt để các thành phần nội bộ như các lớp mạng nơ-ron tích chập để giảm đáng kể dư thừa tính toán và tổng số lượng tham số.
Tổng quan YOLOv6-3.0: Cỗ máy công nghiệp#
Được phát triển dành riêng cho các ứng dụng công nghiệp, YOLOv6-3.0 ưu tiên thông lượng GPU cao. Model phát huy thế mạnh trong các môi trường thường sử dụng hệ thống cũ và xử lý theo lô khối lượng lớn trên phần cứng cấp máy chủ chuyên dụng.
- Tác giả: Chuyi Li, Lulu Li, Yifei Geng, và cộng sự.
- Tổ chức: Meituan
- Ngày: 2023-01-13
- ArXiv: 2301.05586
- GitHub: meituan/YOLOv6
- Tài liệu: Tài liệu Ultralytics YOLOv6
Các cải tiến kiến trúc#
YOLOv6-3.0 tạo nên sự khác biệt với backbone EfficientRep được tối ưu hóa mạnh mẽ, thiết kế để tối đa hóa tốc độ suy luận trên các bộ tăng tốc phần cứng như GPU NVIDIA. Phiên bản 3.0 giới thiệu module Ghép nối hai chiều (BiC) để tăng cường hợp nhất đặc trưng đa tỷ lệ. Ngoài ra, model triển khai chiến lược Huấn luyện có hỗ trợ anchor (AAT), kết hợp khả năng hội tụ nhanh của các detector dựa trên anchor với khả năng khái quát hóa của các phương pháp không dùng anchor.
So sánh hiệu năng và chỉ số#
Khi phân tích hiệu năng thô, có thể thấy rõ những cải tiến kiến trúc qua nhiều thế hệ của YOLOv10. YOLOv10 liên tục đạt độ chính xác trung bình trung bình (mAP) cao hơn, đồng thời cần ít tham số và FLOPs hơn đáng kể.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
| 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 |
Mặc dù YOLOv6-3.0 có lợi thế về tốc độ ở biến thể Nano khi chạy thuần TensorRT trên GPU T4, YOLOv10 chỉ cần gần một nửa dung lượng bộ nhớ nhưng đạt độ chính xác cao hơn, khiến cán cân hiệu năng nghiêng mạnh về phía các kiến trúc hiện đại, end-to-end.
Các model Ultralytics YOLO vốn có nhu cầu bộ nhớ thấp hơn trong quá trình huấn luyện và suy luận so với các model Transformer phức tạp, nhờ đó dễ mở rộng quy mô và triển khai hơn nhiều trên các thiết bị có tài nguyên hạn chế.
Lợi thế của hệ sinh thái Ultralytics#
Lựa chọn một model Ultralytics như YOLOv10 không chỉ mang lại kiến trúc mạnh mẽ mà còn cung cấp quyền truy cập vào một hệ sinh thái được bảo trì kỹ lưỡng, giúp đơn giản hóa toàn bộ vòng đời machine learning. YOLOv6 nằm trong một kho nghiên cứu tĩnh, thiếu các công cụ mạnh mẽ và tính linh hoạt đa tác vụ mà framework Ultralytics cung cấp sẵn.
- Dễ sử dụng: Ultralytics Python API mang đến trải nghiệm sử dụng tinh gọn, cho phép developer huấn luyện và export model chỉ với vài dòng code.
- Tính linh hoạt: Không như YOLOv6 chỉ chuyên về detection, hệ sinh thái Ultralytics cho phép bạn thực hiện phân đoạn đối tượng, ước lượng tư thế, phân loại ảnh và detection bounding box định hướng (OBB) thông qua một giao diện thống nhất.
- Hệ sinh thái được bảo trì tốt: Tận hưởng các bản cập nhật thường xuyên, sự hỗ trợ mạnh mẽ từ cộng đồng và khả năng tích hợp liền mạch với các tiêu chuẩn ngành như OpenVINO và ONNX.
Ví dụ mã: Quy trình huấn luyện nhất quán#
Với Ultralytics SDK, việc huấn luyện model vô cùng đơn giản. Hệ thống tự động xử lý các phép tăng cường dữ liệu phức tạp và điều chỉnh theo thiết bị.
from ultralytics import YOLO
# Nạp model YOLOv10 hiệu quả (chọn head không cần NMS bằng nms=False)
model = YOLO("yolov10n.pt")
# Dễ dàng huấn luyện model bằng pipeline Ultralytics
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0, batch=16)
# Chạy suy luận detection đối tượng mạnh mẽ
predictions = model.predict("https://ultralytics.com/images/bus.jpg")
# Xuất sang ONNX để đơn giản hóa triển khai biên
model.export(format="onnx")Trường hợp sử dụng và khuyến nghị#
Việc lựa chọn giữa YOLOv10 và YOLOv6 phụ thuộc vào yêu cầu cụ thể của dự án, các ràng buộc triển khai và lựa chọn hệ sinh thái của bạn.
Khi nào nên chọn YOLOv10#
YOLOv10 là lựa chọn phù hợp cho:
- Phát hiện thời gian thực không cần NMS: Các ứng dụng hưởng lợi từ khả năng phát hiện end-to-end không cần Non-Maximum Suppression, giúp giảm độ phức tạp khi triển khai.
- Cân bằng giữa tốc độ và độ chính xác: Các dự án cần sự cân bằng tốt giữa tốc độ inference và độ chính xác phát hiện trên nhiều quy mô model.
- Ứng dụng cần độ trễ ổn định: Các tình huống triển khai yêu cầu thời gian inference có thể dự đoán, chẳng hạn như robotics hoặc hệ thống tự hành.
Khi nào nên chọn YOLOv6#
YOLOv6 được khuyến nghị cho:
- Triển khai tương thích với phần cứng công nghiệp: Các tình huống mà thiết kế nhận biết phần cứng và tái tham số hóa hiệu quả của model mang lại hiệu năng tối ưu trên phần cứng mục tiêu cụ thể.
- Detection một giai đoạn tốc độ cao: Các ứng dụng ưu tiên tốc độ suy luận GPU thô để xử lý video thời gian thực trong môi trường được kiểm soát.
- Tích hợp hệ sinh thái Meituan: Các nhóm đang làm việc trong ngăn xếp công nghệ và hạ tầng triển khai của Meituan.
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ỏ.
Khuyến nghị tối ưu: Ultralytics YOLO26#
YOLOv10 giới thiệu khái niệm đột phá không cần NMS, còn YOLOv6-3.0 tối ưu thông lượng GPU, nhưng giải pháp tiên tiến nhất thực sự dành cho môi trường production là Ultralytics YOLO26.
Được phát hành vào tháng 1 năm 2026, YOLO26 tiếp thu những ý tưởng nền tảng từ các thế hệ trước và hoàn thiện chúng thành model thị giác ưu tiên edge tối ưu.
- Thiết kế end-to-end không cần NMS: Dựa trên nền tảng của YOLOv10, head không cần NMS tùy chọn của YOLO26 (
nms=False) loại bỏ bước hậu xử lý NMS, chuẩn hóa pipeline triển khai và giúp suy luận có tính dự đoán cao. - Loại bỏ DFL: Bằng cách loại bỏ Distribution Focal Loss (DFL), kiến trúc đơn giản hóa đáng kể quá trình export, cải thiện mạnh khả năng tương thích và tốc độ trên các kiến trúc IoT công suất thấp.
- Optimizer MuSGD: Lấy cảm hứng từ những đổi mới trong các model ngôn ngữ lớn, YOLO26 sử dụng optimizer MuSGD (kết hợp SGD và Muon), đạt độ ổn định huấn luyện chưa từng có và tốc độ hội tụ nhanh hơn đáng kể.
- Tốc độ CPU vượt trội: Với các tối ưu hóa dành riêng cho thiết bị edge, YOLO26 đạt tốc độ suy luận CPU nhanh hơn tới 43% so với các thế hệ trước, vượt xa thiết kế tập trung vào GPU của YOLOv6-3.0.
- ProgLoss + STAL: Các hàm loss tiên tiến giải quyết những khó khăn lâu nay trong phát hiện đối tượng nhỏ, khiến YOLO26 trở nên thiết yếu cho ảnh chụp từ trên không và phân tích bằng drone.
Đối với người dùng muốn nâng cấp ngăn xếp computer vision, quá trình chuyển đổi rất đơn giản. Các model như YOLO11 vẫn mạnh mẽ, nhưng YOLO26 kết hợp với Ultralytics Platform tích hợp chính là tương lai định hình cho trí tuệ nhân tạo hiệu năng cao, dễ tiếp cận.