YOLOv10 so với 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 của những gì có thể thực hiện trong xử lý thời gian thực. Đối với các developer và researcher đang hoạt động trong lĩnh vực phát triển nhanh này, việc hiểu 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ản so sánh chi tiết này phân tích những khác biệt về 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.
Mặc dù cả hai model đều đạt kết quả ấn tượng trên các dataset benchmark, triết lý thiết kế nền tảng và khả năng tích hợp với 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 của bạn.
YOLOv10: Tiên phong trong phát hiện end-to-end không cần NMS#
Được phát hành vào mùa xuân năm 2024, YOLOv10 đã giới thiệu một cách tiếp cận mới đối với pipeline phát hiện đối tượng truyền thống bằng cách trực tiếp giải quyết overhead độ trễ liên quan đến quá trình 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ới 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 rất nhiều vào Triệt tiêu phi cực đại (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 được khả năng phát hiện end-to-end 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), nơi các thao tác NMS tùy chỉnh vốn nổi tiếng là khó tối ưu.
YOLO11: Tính linh hoạt và hiệu năng được thúc đẩy bởi hệ sinh thái#
Được ra mắt vào cuối cùng năm đó, YOLO11 đại diện cho quá trình liên tục tinh chỉnh dòng 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. Mặc dù nổi bật trong tác vụ phát hiện bounding box tiêu chuẩn, thế mạnh thực sự của model nằm ở tính linh hoạt. Không giống YOLOv10, vốn chủ yếu tập trung vào phát hiện đối tượng, YOLO11 hỗ trợ sẵn phân đoạn instance, ước lượng pose, phân loại ảnh và các tác vụ Hộp giới hạn định hướng (OBB) bằng một kiến trúc thống nhất. Model có yêu cầu bộ nhớ đáng kinh ngạc là thấp trong quá trình huấn luyện, giúp các team làm việc với GPU phổ thông dễ dàng tiếp cận hơn so với các kiến trúc nặng hơn dựa trên Transformer.
So sánh hiệu năng và các chỉ số#
Khi so sánh trực tiếp hai model này, điều quan trọng là xem xét hiệu năng của chúng trên các biến thể quy mô khác nhau trên những benchmark tiêu chuẩn như dataset COCO.
Bảng dưới đây nêu bật những khác biệt về hiệu năng. YOLO11 thường vượt YOLOv10 về mAP ở hầu hết các nhóm kích thước, đồng thời duy trì tốc độ suy luận TensorRT có tính cạnh tranh cao.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 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.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Để tái hiện tốc độ suy luận nhanh này trên máy local, hãy đảm bảo bạn export model sang các format được tối ưu 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 nhấn mạnh việc giảm dư thừa tính toán. Bằng cách tối ưu hóa thiết kế backbone và neck thông qua chiến lược toàn diện dựa trên 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 parameter 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à một đặc điểm nổi bật của các model Ultralytics. YOLO11 sử dụng package Python được tinh chỉnh cao ultralytics, giúp trừu tượng hóa quá trình tinh chỉnh hyperparameter phức tạp. Framework này tự động xử lý các kỹ thuật data augmentation nâng cao, lập lịch learning rate và huấn luyện phân tán multi-GPU ngay khi cài đặt. Kiến trúc YOLO11 cũng cho thấy luồng gradient rất tốt, mang lại tốc độ hội tụ nhanh hơn và mức sử dụng VRAM thấp hơn 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ố quan trọng đối với việc áp dụng trong doanh nghiệp là Hệ sinh thái được duy trì tốt. Các repository nghiên cứu, dù mang tính đột phá, thường trở nên không còn được duy trì sau khi bài báo ban đầu được công bố. Hệ sinh thái Ultralytics, với YOLO11 làm nền tảng, cung cấp trải nghiệm developer end-to-end liền mạch.
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ý dataset, YOLO11 đẩy nhanh quá trình chuyển từ prototype sang production. Tính dễ sử dụng thể hiện rõ trong API được tinh gọn, cho phép developer huấn luyện và export model chỉ với vài dòng code.
from ultralytics import YOLO
# Initialize the YOLO11 small model
model = YOLO("yolo11s.pt")
# Train the model efficiently with optimized memory handling
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="0")
# Export to ONNX format for deployment flexibility
model.export(format="onnx")Các 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 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 đầu cuối mà không cần triệt tiêu cực đại, 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 project yêu cầu sự cân bằng tốt giữa tốc độ suy luận và độ chính xác phát hiện trên nhiều quy mô model khác nhau.
- Ứng dụng có độ trễ nhất quán: Các kịch bản triển khai mà thời gian suy luận có thể dự đoán là yếu tố quan trọng, chẳng hạn như robotics hoặc các hệ thống tự hành.
Khi nào nên chọn YOLO11#
YOLO11 được khuyến nghị cho:
- Triển khai edge trong môi trường production: Các ứng dụng thương mại trên những thiết bị như Raspberry Pi hoặc NVIDIA Jetson, nơi độ tin cậy và việc bảo trì tích cực là yếu tố tối quan trọng.
- Ứng dụng thị giác đa tác vụ: Các dự án yêu cầu detection, segmentation, ước tính pose và OBB trong một framework thống nhất duy nhất.
- Tạo prototype và triển khai nhanh: Các team cần nhanh chóng chuyển từ thu thập dữ liệu sang production bằng Ultralytics Python API được tinh gọn.
Khi nào nên chọn Ultralytics (YOLO26)#
Đối 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 developer:
- Triển khai edge không cần NMS: Các ứng dụng yêu cầu suy luận nhất quán, độ trễ thấp mà không có sự phức tạp của bước hậu xử lý triệt tiêu cực đại.
- Môi trường chỉ sử dụng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi khả năng suy luận trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Phát hiện đối tượng nhỏ: Các kịch bản đầy thách thức 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 trên các đối tượng rất nhỏ.
Khám phá các kiến trúc khác#
Mặ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 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 cung cấp độ chính xác cao, mặc dù thường đòi hỏi nhiều bộ nhớ hơn. Ngược lại, nếu bạn cần khả năng zero-shot để xác định các class mới mà không cần retrain, YOLO-World cung cấp phương pháp tiếp cận open-vocabulary được điều khiển bằng các prompt ngôn ngữ tự nhiên.
Thế hệ tiếp theo: YOLO26#
Đối với các team tìm kiếm công nghệ tiên tiến nhất, Ultralytics YOLO26 mới được phát hành kết hợp những tính năng tốt nhất của cả hai model được thảo luận ở trên. Được phát hành vào tháng 1 năm 2026, YOLO26 là khuyến nghị tối ư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 sẵn Thiết kế end-to-end không cần NMS, loại bỏ hiệu quả các nút thắt cổ chai trong hậu xử lý mà YOLOv10 đã giải quyết đầu tiên, nhưng thực hiện điều đó trong framework Ultralytics mạnh mẽ. Ngoài ra, YOLO26 còn có Loại bỏ DFL (Hàm mất mát tiêu điểm phân phối), giúp đơn giản hóa đáng kể các graph export của model và tăng khả năng tương thích với các thiết bị edge và IoT công suất thấp.
Độ ổn định khi huấn luyện cũng đã có bước tiến lớn giữa các thế hệ với sự ra mắt 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, bảo đảm tốc độ hội tụ cực nhanh. Kết hợp với các hàm loss nâng cao như ProgLoss + STAL, YOLO26 mang lại những cải thiện đáng kể trong việc nhận diện các đối tượng nhỏ. Khi triển khai trên các thiết bị edge tiêu chuẩn, những tinh chỉnh 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.