YOLOv10 và YOLO11#
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 xử lý thời gian thực. Với các developer và nhà nghiên cứu đang tìm hiểu lĩnh vực phát triển nhanh này, việc nắm rõ những khác biệt tinh tế giữa các model tiên tiến là rất quan trọng. Bài so sánh chi tiết này phân tích khác biệt kỹ thuật, sự đánh đổi về hiệu năng và các trường hợp sử dụng lý tưởng của YOLOv10 và Ultralytics YOLO11, hai framework phát hiện đối tượng có năng lực cao.
Cả hai model đều đạt kết quả ấn tượng trên các bộ dữ liệu benchmark, nhưng triết lý thiết kế nền tảng và khả năng tích hợp hệ sinh thái của chúng khác biệt đáng kể. Bằng cách xem xét kiến trúc của từng model, chúng ta có thể xác định giải pháp nào phù hợp nhất với các ràng buộc triển khai và mục tiêu dự án.
YOLOv10: Tiên phong phát hiện đầu-cuối không cần NMS#
Ra mắt vào mùa xuân năm 2024, YOLOv10 giới thiệu một phương pháp mới cho pipeline phát hiện đối tượng truyền thống bằng cách trực tiếp xử lý độ trễ phát sinh từ bước hậu xử lý.
- Tác giả: Ao Wang, Hui Chen, Lihao Liu và cộng sự
- Tổ chức: Đại học Thanh Hoa
- Ngày: 23 tháng 5, 2024
- Bài báo nghiên cứu: arXiv:2405.14458
- Mã nguồn: THU-MIG/yolov10 trên GitHub
- Tài liệu: Tài liệu YOLOv10
Điểm đột phá nổi bật của YOLOv10 là chiến lược gán kép nhất quán, cho phép huấn luyện không cần NMS. Các model phát hiện đối tượng truyền thống phụ thuộc nhiều vào Non-Maximum Suppression (NMS) để lọc các dự đoán bounding box dư thừa. Bằng cách loại bỏ bước này, YOLOv10 đạt khả năng phát hiện đầu-cuối thực sự, giảm độ trễ suy luận và đơn giản hóa việc triển khai trên các bộ tăng tốc phần cứng như bộ xử lý thần kinh (NPUs), vốn thường rất khó tối ưu hóa các thao tác NMS tùy chỉnh.
YOLO11: Tính linh hoạt và hiệu năng dựa trên hệ sinh thái#
Ra mắt vào cuối cùng năm đó, YOLO11 thể hiện quá trình cải tiến liên tục của họ model Ultralytics, tập trung vào sự cân bằng tối ưu giữa tốc độ, độ chính xác và trải nghiệm developer.
- Tác giả: Glenn Jocher và Jing Qiu
- Tổ chức: Ultralytics
- Ngày: 27 tháng 9, 2024
- Mã nguồn: Ultralytics trên GitHub
- Tích hợp nền tảng: Nền tảng Ultralytics
YOLO11 được thiết kế cho môi trường production. Model này hoạt động xuất sắc trong tác vụ phát hiện bounding box tiêu chuẩn, nhưng thế mạnh thực sự nằm ở tính linh hoạt. Khác với YOLOv10, vốn chủ yếu tập trung vào phát hiện đối tượng, YOLO11 hỗ trợ nguyên bản các tác vụ phân đoạn đối tượng, ước tính tư thế, phân loại ảnh và Bounding Box định hướng (OBB) bằng kiến trúc hợp nhất. Model này có yêu cầu bộ nhớ trong quá trình huấn luyện thấp đáng kể, giúp các nhóm sử dụng GPU phổ thông dễ tiếp cận hơn so với các kiến trúc dựa trên Transformer nặng hơn.
So sánh hiệu năng và chỉ số#
Khi so sánh trực tiếp các model này, cần xem xét hiệu năng của từng biến thể kích thước trên các benchmark tiêu chuẩn như bộ dữ liệu COCO.
Bảng dưới đây nêu bật khác biệt về hiệu năng. YOLO11 thường đạt mAP nhỉnh hơn YOLOv10 ở hầu hết các mức kích thước, đồng thời duy trì tốc độ suy luận TensorRT rất cạnh tranh.
| 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
Để tái tạo tốc độ suy luận nhanh này trên máy cục bộ, hãy đảm bảo xuất model sang các định dạng được tối ưu hóa như OpenVINO cho CPU Intel hoặc TensorRT cho GPU NVIDIA.
Phân tích chuyên sâu về kiến trúc#
Phương pháp và hiệu quả huấn luyện#
Kiến trúc YOLOv10 tập trung giảm dư thừa tính toán. Bằng cách tối ưu hóa thiết kế backbone và neck theo chiến lược toàn diện cân bằng giữa hiệu quả và độ chính xác, các tác giả tại Đại học Thanh Hoa đã giảm đáng kể số lượng tham số trong các model tầm trung (như YOLOv10m) so với các phiên bản trước.
Tuy nhiên, Hiệu quả huấn luyện là đặc điểm nổi bật của các model Ultralytics. YOLO11 sử dụng package Python ultralytics được tinh chỉnh kỹ lưỡng, giúp đơn giản hóa việc tinh chỉnh siêu tham số phức tạp. Framework này tự động xử lý các kỹ thuật tăng cường dữ liệu nâng cao, lập lịch learning rate và huấn luyện phân tán đa GPU ngay từ đầu. Kiến trúc YOLO11 cũng có luồng gradient rất tốt, giúp hội tụ nhanh hơn và giảm mức sử dụng VRAM trong giai đoạn huấn luyện.
Tính dễ sử dụng và lợi thế hệ sinh thái#
Một yếu tố then chốt để doanh nghiệp áp dụng là Hệ sinh thái được duy trì tốt. Các repository nghiên cứu thường mang tính đột phá, nhưng nhiều repository ngừng hoạt động sau khi bài báo ban đầu được công bố. Hệ sinh thái Ultralytics hỗ trợ YOLO11, mang đến trải nghiệm developer liền mạch từ đầu đến cuối.
Tích hợp liền mạch với các công cụ như Weights & Biases để theo dõi thử nghiệm và Roboflow để quản lý bộ dữ liệu, YOLO11 giúp đẩy nhanh quá trình chuyển từ prototype sang production. Tính dễ sử dụng thể hiện rõ ở API được tinh giản, cho phép developer huấn luyện và xuất model chỉ với vài dòng code.
from ultralytics import YOLO
# Khởi tạo model YOLO11 cỡ nhỏ
model = YOLO("yolo11s.pt")
# Huấn luyện model hiệu quả với khả năng quản lý bộ nhớ được tối ưu hóa
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="0")
# Xuất sang định dạng ONNX để linh hoạt khi triển khai
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à YOLO11 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à ưu tiên về hệ sinh thái.
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 YOLO11#
YOLO11 được khuyến nghị cho:
- Triển khai biên trong môi trường production: Các ứng dụng thương mại trên thiết bị như Raspberry Pi hoặc NVIDIA Jetson, nơi độ tin cậy và hoạt động bảo trì liên tục là ưu tiên hàng đầu.
- Ứng dụng thị giác đa nhiệm: Các dự án cần phát hiện, phân đoạn, ước tính tư thế và OBB trong một framework thống nhất.
- Tạo mẫu và triển khai nhanh: Các nhóm cần nhanh chóng chuyển từ thu thập dữ liệu sang production bằng Ultralytics Python API tinh gọ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ỏ.
Khám phá các kiến trúc khác#
Dù YOLOv10 và YOLO11 là những lựa chọn xuất sắc, trường hợp sử dụng cụ thể của bạn có thể phù hợp hơn với các kiến trúc khác trong tài liệu. Đối với suy luận dựa trên chuỗi, các model Transformer như RT-DETR có độ chính xác cao, nhưng thường đòi hỏi nhiều bộ nhớ hơn. Ngược lại, nếu cần khả năng zero-shot để nhận diện các lớp mới mà không huấn luyện lại, YOLO-World cung cấp phương pháp từ vựng mở dựa trên prompt ngôn ngữ tự nhiên.
Thế hệ tiếp theo: YOLO26#
Với các nhóm muốn sử dụng công nghệ tiên tiến nhất, phiên bản mới ra mắt Ultralytics YOLO26 kết hợp những tính năng tốt nhất của cả hai model được đề cập ở trên. Ra mắt vào tháng 1 năm 2026, YOLO26 là lựa chọn hàng đầu cho các kịch bản triển khai hiện đại.
Dựa trên nền tảng của các phiên bản tiền nhiệm, YOLO26 tích hợp nguyên bản thiết kế Đầu-cuối không cần NMS tùy chọn (nms=False), loại bỏ hiệu quả các nút thắt hậu xử lý mà YOLOv10 đã xử lý trước đó, nhưng thực hiện điều này trong framework Ultralytics mạnh mẽ. Ngoài ra, YOLO26 có tính năng Loại bỏ DFL (Distribution Focal Loss), giúp đơn giản hóa đáng kể đồ thị xuất model và tăng khả năng tương thích với thiết bị biên cũng như thiết bị IoT công suất thấp.
Độ ổn định huấn luyện cũng được cải thiện vượt bậc qua thế hệ với sự ra đời của Optimizer MuSGD, một phương pháp lai lấy cảm hứng từ các phương pháp huấn luyện LLM, giúp hội tụ cực nhanh. Kết hợp với các hàm loss nâng cao như ProgLoss + STAL, YOLO26 cải thiện đáng kể khả năng nhận diện đối tượng nhỏ. Khi triển khai trên các thiết bị biên tiêu chuẩn, những cải tiến kiến trúc này giúp Suy luận CPU nhanh hơn tới 43%, khiến YOLO26 trở thành lựa chọn vượt trội cho mọi tác vụ thị giác máy tính.