YOLOv5 và YOLOv6-3.0#
Lĩnh vực thị giác máy tính không ngừng phát triển, với các kiến trúc mới liên tục mở rộng giới hạn về tốc độ và độ chính xác. Khi chọn model cho dự án AI thị giác tiếp theo, các nhà phát triển thường phải so sánh framework đa năng đã được khẳng định với detector công nghiệp chuyên biệt cao. Bài phân tích sâu này tìm hiểu những khác biệt kỹ thuật giữa Ultralytics YOLOv5 và YOLOv6-3.0 của Meituan, giúp bạn chọn công cụ phù hợp nhất với nhu cầu triển khai.
Giới thiệu các model#
Ultralytics YOLOv5: Tiêu chuẩn đa năng#
Ra mắt năm 2020, Ultralytics YOLOv5 nhanh chóng trở thành tiêu chuẩn vàng về khả năng tiếp cận và hiệu năng cao trong phát hiện vật thể. Model nổi tiếng nhờ tính dễ sử dụng vượt trội, pipeline huấn luyện mạnh mẽ và khả năng tích hợp triển khai phong phú.
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 2020-06-26
- GitHub: ultralytics/yolov5
YOLOv5 được thiết kế ngay từ đầu để mang đến trải nghiệm nhà phát triển liền mạch trong hệ sinh thái PyTorch. Model có sự cân bằng hiệu năng thuận lợi, đạt mean average precision (mAP) xuất sắc đồng thời duy trì tốc độ suy luận cao, phù hợp với nhiều tình huống triển khai thực tế, từ thiết bị biên đến máy chủ cloud.
YOLOv6-3.0: Thông lượng công nghiệp#
Được phát triển bởi Bộ phận AI Thị giác của Meituan, YOLOv6-3.0 được thiết kế chuyên biệt cho các ứng dụng công nghiệp, đặc biệt ưu tiên thông lượng thuần trên các bộ tăng tốc phần cứng 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
YOLOv6 hướng đến tối đa hóa tốc độ xử lý trên GPU như NVIDIA T4. Model sử dụng các phương pháp lượng tử hóa tùy chỉnh và backbone chuyên biệt để đạt hiệu năng, phù hợp với xử lý trên máy chủ backend, nơi thường xuyên sử dụng suy luận theo batch.
Khác biệt về kiến trúc#
Hiểu rõ các lựa chọn kiến trúc đằng sau những model này là yếu tố then chốt để xác định trường hợp sử dụng lý tưởng.
Kiến trúc YOLOv5#
YOLOv5 sử dụng backbone CSPDarknet được tối ưu cao, kết hợp với neck Path Aggregation Network (PANet). Cấu trúc này được tinh chỉnh kỹ lưỡng để giảm thiểu nhu cầu bộ nhớ trong quá trình huấn luyện và suy luận. Khác với các model Transformer lớn cần lượng bộ nhớ CUDA khổng lồ và thời gian huấn luyện dài, YOLOv5 hoạt động hiệu quả trên phần cứng phổ thông.
Các model Ultralytics được thiết kế chuyên biệt để huấn luyện hiệu quả. Bạn thường có thể huấn luyện model YOLOv5 trên một GPU tầm trung, giúp model dễ tiếp cận với cả nhà nghiên cứu lẫn startup.
Ngoài ra, YOLOv5 không chỉ là detector phát hiện vật thể. Kiến trúc của model dễ dàng mở rộng sang các tác vụ khác, hỗ trợ mạnh mẽ ngay khi cài đặt cho phân đoạn ảnh và phân loại ảnh.
Kiến trúc YOLOv6-3.0#
YOLOv6-3.0 có backbone EfficientRep được thiết kế thân thiện với phần cứng, đặc biệt là khi chạy trên GPU. Model sử dụng module Bi-directional Concatenation (BiC) trong neck để tăng cường hợp nhất đặc trưng.
Trong quá trình huấn luyện, YOLOv6 sử dụng chiến lược Anchor-Aided Training (AAT) để ổn định quá trình hội tụ, dù khi suy luận model vẫn là detector không dùng anchor. Kiến trúc này hoạt động xuất sắc với các tác vụ tăng tốc bằng GPU, nhưng đôi khi khó điều chỉnh hơn cho nhiều thiết bị biên so với framework YOLOv5 có tính di động cao.
Phân tích hiệu năng#
Khi đánh giá các model này, chỉ số tốc độ thuần và độ chính xác là rất quan trọng. Bảng dưới đây so sánh hiệu năng của các kích thước model khác nhau trên dataset COCO.
| 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 |
| 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 |
Dù YOLOv6-3.0 đạt mAP cao hơn ở các biến thể lớn, YOLOv5 vẫn có dung lượng cực kỳ nhỏ gọn. Ví dụ, YOLOv5n cần ít tham số và FLOPs hơn đáng kể so với model YOLOv6 tương ứng, nhờ đó rất tối ưu cho triển khai trên thiết bị di động hoặc bị giới hạn bởi CPU.
Hệ sinh thái và tính dễ sử dụng#
Yếu tố thực sự tạo nên khác biệt đối với nhiều nhóm kỹ thuật là hệ sinh thái xung quanh model.
YOLOv6 là một repository nghiên cứu ấn tượng, nhưng cần lượng mã boilerplate đáng kể để triển khai trên nhiều định dạng khác nhau. Ngược lại, Ultralytics cung cấp một hệ sinh thái được duy trì tốt với trải nghiệm người dùng liền mạch. Thông qua Python API hợp nhất và Ultralytics Platform trực quan, nhà phát triển có thể quản lý dataset dễ dàng, huấn luyện chỉ bằng một cú nhấp và export trực tiếp sang các định dạng như ONNX và TensorRT.
Ví dụ code: Ultralytics API hợp nhất#
Package pip Ultralytics ultralytics cho phép bạn tải, huấn luyện và triển khai model chỉ bằng vài dòng code.
from ultralytics import YOLO
# Tải model YOLOv5 small đã được huấn luyện trước
model = YOLO("yolov5su.pt") # YOLOv5u: weight YOLOv5 không anchor dành cho package ultralytics
# Huấn luyện model dễ dàng trên dataset COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Chạy suy luận nhanh trên ảnh
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export sang ONNX để triển khai trên thiết bị biên
model.export(format="onnx")Trường hợp sử dụng và khuyến nghị#
Việc chọn YOLOv5 hay YOLOv6 tùy thuộc vào yêu cầu cụ thể của dự án, các giới hạn 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 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ỏ.
Bước tiếp theo: Ưu thế của YOLO26#
YOLOv5 vẫn là model chủ lực đáng tin cậy và YOLOv6-3.0 mang lại thông lượng GPU công nghiệp mạnh mẽ, nhưng công nghệ tiên tiến nhất đã phát triển. Với các nhà phát triển bắt đầu dự án mới hiện nay, lựa chọn được khuyến nghị là Ultralytics YOLO26.
Ra mắt vào tháng 1 năm 2026, YOLO26 đánh dấu bước tiến vượt bậc. Model kế thừa tính linh hoạt vô song của hệ sinh thái Ultralytics, đồng thời mang đến những cải tiến kiến trúc đột phá:
- Thiết kế đầu-cuối không cần NMS: Head không cần NMS tùy chọn của YOLO26 (
nms=False) loại bỏ bước hậu xử lý Non-Maximum Suppression, giảm mạnh biến động độ trễ và đơn giản hóa logic triển khai. - Suy luận trên CPU nhanh hơn đến 43%: Nhờ loại bỏ DFL và tối ưu head, model vượt trội rõ rệt so với các thế hệ trước trên thiết bị biên và thiết bị công suất thấp.
- Optimizer MuSGD: Tận dụng các đổi mới trong huấn luyện LLM, optimizer MuSGD mới đảm bảo quá trình huấn luyện cực kỳ ổn định và hội tụ nhanh đáng kể.
- Tính linh hoạt nâng cao: YOLO26 xử lý liền mạch hộp giới hạn định hướng (OBB), ước lượng tư thế và phân đoạn, cùng các hàm loss chuyên biệt như ProgLoss và STAL để nhận diện vật thể nhỏ vượt trội.
Nếu đang tìm hiểu các lựa chọn khác trong hệ sinh thái Ultralytics, bạn cũng có thể cân nhắc YOLO11 đa dụng hoặc YOLO-World sáng tạo cho các tác vụ phát hiện với từ vựng mở.
Kết luận#
Cả YOLOv5 và YOLOv6-3.0 đều tạo ảnh hưởng đáng kể đến lĩnh vực thị giác máy tính. YOLOv6-3.0 mang lại thông lượng xuất sắc trên phần cứng máy chủ cao cấp, phù hợp với phân tích offline chuyên biệt. Tuy nhiên, YOLOv5 vẫn là lựa chọn vượt trội cho các nhà phát triển cần một model mạnh mẽ, dễ sử dụng và linh hoạt, được hỗ trợ bởi một nền tảng đẳng cấp thế giới.
Để đạt sự cân bằng tối ưu giữa độ chính xác thế hệ mới, triển khai không cần NMS gốc và trải nghiệm nhà phát triển tốt nhất ngành, nâng cấp lên YOLO26 thông qua Ultralytics Platform là lựa chọn dứt khoát cho các giải pháp AI thị giác hiện đại.