YOLO11 và YOLOv8#
Lĩnh vực thị giác máy tính đã chứng kiến những bước tiến đáng kể cùng với sự phát triển không ngừng của các kiến trúc phát hiện đối tượng. Khi đánh giá các model để triển khai trong thực tế, các developer thường so sánh điểm mạnh của Ultralytics YOLO11 và phiên bản tiền nhiệm rất thành công là Ultralytics YOLOv8. Cả hai model đều thiết lập các tiêu chuẩn trong ngành về tốc độ, độ chính xác và trải nghiệm developer, nhưng phục vụ các vòng đời dự án và ngưỡng hiệu năng hơi khác nhau.
Hướng dẫn này cung cấp phân tích chuyên sâu về kiến trúc, phương pháp training và các trường hợp sử dụng lý tưởng của chúng, giúp bạn lựa chọn giải pháp tốt nhất cho các sáng kiến trí tuệ nhân tạo của mình.
Các cải tiến về kiến trúc#
Quá trình chuyển đổi từ YOLOv8 sang YOLO11 đã giới thiệu một số cải tiến kiến trúc quan trọng, nhằm tối đa hóa hiệu quả trích xuất đặc trưng đồng thời giảm thiểu chi phí tính toán.
Kiến trúc YOLO11#
YOLO11 đánh dấu một bước tiến đáng kể trong việc tối ưu hóa việc sử dụng tham số. Model này thay thế các module C2f truyền thống bằng các block C3k2 nâng cao, giúp cải thiện quá trình xử lý đặc trưng không gian mà không làm tăng đáng kể số lượng tham số. Ngoài ra, YOLO11 giới thiệu module C2PSA (Chú ý không gian từng phần giữa các giai đoạn) trong backbone. Cơ chế attention này cho phép model tập trung vào các vùng quan tâm quan trọng, cải thiện đáng kể khả năng phát hiện đối tượng nhỏ và xử lý các tình huống che khuất phức tạp.
- Tác giả: Glenn Jocher và Jing Qiu
- Tổ chức: Ultralytics
- Ngày: 2024-09-27
- GitHub: Kho lưu trữ Ultralytics
- Tài liệu: Tài liệu YOLO11
Kiến trúc YOLOv8#
Ra mắt sớm hơn một năm, YOLOv8 đi đầu trong quá trình chuyển đổi sang detection head không anchor, loại bỏ nhu cầu tinh chỉnh thủ công các anchor box và đơn giản hóa công thức loss. Kiến trúc này phụ thuộc nhiều vào block C2f, một thiết kế cân bằng hiệu quả độ sâu mạng và luồng gradient, giúp model hoạt động cực kỳ ổn định trên nhiều ứng dụng thị giác máy tính.
- Tác giả: Glenn Jocher, Ayush Chaurasia và Jing Qiu
- Tổ chức: Ultralytics
- Ngày: 2023-01-10
- GitHub: Kho lưu trữ Ultralytics
- Tài liệu: Tài liệu YOLOv8
Trong khi YOLOv8 đặt nền móng cho detection không anchor trong hệ sinh thái Ultralytics, YOLO11 đã tinh chỉnh phương pháp này bằng các cơ chế spatial attention, đạt độ chính xác cao hơn với ít tài nguyên tính toán hơn.
Hiệu năng và benchmark#
Khi triển khai model lên các thiết bị biên như Raspberry Pi hoặc các server hiệu năng cao chạy NVIDIA TensorRT, việc hiểu rõ sự đánh đổi giữa tốc độ và độ chính xác là yếu tố then chốt. Bảng dưới đây minh họa cách YOLO11 liên tục vượt trội YOLOv8 trên mọi biến thể kích thước.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Phân tích các chỉ số#
YOLO11 đạt Mean Average Precision (mAP) cao hơn đáng kể, đồng thời giảm cả số lượng tham số và Floating Point Operations (FLOPs). Chẳng hạn, model YOLO11m cần ít hơn 22% tham số so với YOLOv8m nhưng đạt mAP cao hơn 1,3% trên dataset COCO. Hơn nữa, tốc độ inference trên CPU khi export sang định dạng ONNX cho thấy YOLO11 nhanh hơn đáng kể, trở thành lựa chọn tuyệt vời cho các triển khai không có tăng tốc GPU chuyên dụng.
Lợi thế từ hệ sinh thái Ultralytics#
Bất kể bạn chọn YOLO11 hay YOLOv8, cả hai model đều hưởng lợi từ hệ sinh thái Ultralytics toàn diện, giúp đơn giản hóa đáng kể vòng đời machine learning.
Tính dễ sử dụng và API đơn giản#
Package ultralytics dành cho Python cung cấp một API tinh gọn, cho phép các kỹ sư và nhà nghiên cứu training, validation và export model chỉ với vài dòng code. API này trừu tượng hóa những phức tạp thường gặp khi thiết lập môi trường deep learning trong PyTorch.
Hiệu quả training và yêu cầu bộ nhớ#
Không giống các Vision Transformer nặng (như RT-DETR), các model Ultralytics YOLO nổi tiếng nhờ mức sử dụng bộ nhớ thấp trong quá trình training. Hiệu quả bộ nhớ này cho phép developer training các mạng hiện đại trên GPU phổ thông hoặc các môi trường cloud như Google Colab mà không gặp lỗi hết bộ nhớ.
Tính đa dụng trên các tác vụ thị giác#
Cả YOLO11 và YOLOv8 đều là các model học đa nhiệm thực thụ. Ngoài phát hiện đối tượng bằng bounding box tiêu chuẩn, chúng còn hỗ trợ gốc phân đoạn instance, phân loại ảnh, ước lượng pose người và hộp giới hạn định hướng (OBB) cho ảnh chụp từ trên không.
Các trường hợp sử dụng và khuyến nghị#
Việc lựa chọn giữa YOLO11 và YOLOv8 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 YOLO11#
YOLO11 là lựa chọn phù hợp 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 YOLOv8#
YOLOv8 được khuyến nghị cho:
- Triển khai đa tác vụ linh hoạt: Các dự án yêu cầu một model đã được kiểm chứng cho detection, segmentation, classification và pose estimation trong hệ sinh thái Ultralytics.
- Hệ thống production đã ổn định: Các môi trường production hiện có đã được xây dựng trên kiến trúc YOLOv8 với pipeline triển khai ổn định và được kiểm thử kỹ lưỡng.
- Hỗ trợ cộng đồng và hệ sinh thái rộng: Các ứng dụng hưởng lợi từ hệ thống tutorial phong phú, tích hợp bên thứ ba và nguồn tài nguyên cộng đồng tích cực của YOLOv8.
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ỏ.
Ví dụ code: Bắt đầu#
Việc triển khai và training một model Ultralytics cực kỳ trực quan. Ví dụ sau minh họa cách load một model YOLO11 đã được pre-train, fine-tune model trên một dataset tùy chỉnh và export model để triển khai trên thiết bị biên bằng Apple CoreML:
from ultralytics import YOLO
# Initialize the YOLO11 small model
model = YOLO("yolo11s.pt")
# Train the model efficiently with optimized memory requirements
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Evaluate the validation performance
metrics = model.val()
# Run real-time inference on a test image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export to CoreML for fast mobile deployment
export_path = model.export(format="coreml")Vì API Ultralytics được chuẩn hóa, việc nâng cấp một pipeline cũ từ YOLOv8 lên YOLO11 thường chỉ yêu cầu thay đổi chuỗi weights từ "yolov8n.pt" thành "yolo11n.pt".
Hướng tới tương lai: Đỉnh cao của Edge AI với YOLO26#
Mặc dù YOLO11 là một kiến trúc hoàn thiện và có năng lực cao, tốc độ đổi mới AI vẫn tiếp tục gia tăng. Đối với các developer bắt đầu dự án mới và yêu cầu hiệu năng tiên tiến nhất, Ultralytics YOLO26 (phát hành vào tháng 1 năm 2026) là lựa chọn được khuyến nghị hàng đầu.
YOLO26 mở rộng các giới hạn của thị giác máy tính với một số tính năng đột phá:
- Thiết kế end-to-end không cần NMS: Dựa trên các khái niệm được nghiên cứu trong YOLOv10, YOLO26 loại bỏ gốc bước hậu xử lý Non-Maximum Suppression (NMS), mang lại độ trễ thấp hơn và dễ dự đoán hơn trên mọi phần cứng triển khai.
- Inference trên CPU nhanh hơn tới 43%: Bằng cách loại bỏ hoàn toàn nhánh Distribution Focal Loss (DFL), YOLO26 được tối ưu riêng cho các thiết bị edge computing không có GPU mạnh.
- Optimizer MuSGD: Lấy cảm hứng từ các kỹ thuật training large language model (LLM), YOLO26 sử dụng optimizer MuSGD lai, đảm bảo quá trình hội tụ training ổn định và nhanh chóng đáng kể.
- ProgLoss + STAL: Các hàm loss nâng cao này mang lại những cải thiện đáng kể trong việc nhận dạng các đối tượng rất nhỏ và bị che khuất nhiều, yếu tố thiết yếu đối với robot tự hành và hoạt động phân tích dựa trên drone.
Dù bạn dựa vào độ tin cậy đã được chứng minh của YOLOv8, kiến trúc được tối ưu hóa của YOLO11 hay các năng lực thế hệ mới của YOLO26, Ultralytics Platform vẫn đảm bảo bạn có các công cụ cần thiết để đưa các ứng dụng vision AI từ ý tưởng đến production một cách liền mạch. Hãy khám phá các tích hợp đa dạng hiện có để kết nối model của bạn với workflow doanh nghiệp và dashboard phân tích.