YOLOv5 và YOLO11: So sánh kỹ thuật toàn diện
Khi chọn kiến trúc thị giác máy tính phù hợp cho một dự án mới, việc hiểu rõ sự tiến hóa của các mô hình hiện đại là rất quan trọng. Sự chuyển đổi từ các kiến trúc trước đây sang các framework thống nhất hiện đại làm nổi bật những bước tiến đáng kể cả về hiệu suất thuật toán lẫn trải nghiệm lập trình viên. Hướng dẫn này cung cấp sự so sánh kỹ thuật chuyên sâu giữa hai mô hình mang tính bước ngoặt do Ultralytics phát triển: YOLOv5 tiên phong và YOLO11 đã được tinh chỉnh tối ưu.
Giới thiệu về các model
Cả hai kiến trúc này đều đại diện cho những cột mốc quan trọng trong lĩnh vực phát hiện đối tượng thời gian thực, mang lại những ưu điểm khác biệt tùy thuộc vào môi trường triển khai và các yêu cầu kế thừa của bạn.
YOLOv5: Ngựa thồ của ngành
Ra mắt vào mùa hè năm 2020, YOLOv5 nhanh chóng trở thành tiêu chuẩn công nghiệp nhờ việc triển khai PyTorch gốc, điều này đã giảm đáng kể rào cản gia nhập cho việc huấn luyện và triển khai. Nó đã từ bỏ các framework Darknet C phức tạp của các thế hệ tiền nhiệm, mang đến một cách tiếp cận đậm chất Python cho việc xây dựng mô hình.
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 2020-06-26
- GitHub: ultralytics/yolov5
- Docs: YOLOv5 Documentation
YOLOv5 đã thiết lập nền tảng vững chắc về tính dễ sử dụng và giới thiệu các phương pháp huấn luyện mạnh mẽ, bao gồm tăng cường dữ liệu mosaic nâng cao và auto-anchoring. Nó vẫn cực kỳ phổ biến đối với các nhà nghiên cứu đang xây dựng dựa trên một cơ sở mã đã được kiểm thử kỹ lưỡng và tài liệu đầy đủ.
YOLO11: Framework thị giác thống nhất
Dựa trên nhiều năm phản hồi và nghiên cứu kiến trúc, YOLO11 được giới thiệu như một phần của framework thống nhất có khả năng xử lý nhiều tác vụ thị giác một cách nguyên bản. Không chỉ dừng lại ở các bounding box, nó được thiết kế ngay từ đầu để đạt được tính linh hoạt và hiệu quả tối đa.
- Tác giả: Glenn Jocher và Jing Qiu
- Tổ chức: Ultralytics
- Ngày: 2024-09-27
- GitHub: ultralytics/ultralytics
- Docs: Tài liệu YOLO11
YOLO11 mang lại trải nghiệm người dùng tinh gọn thông qua gói Python ultralytics, sở hữu một API đơn giản giúp thống nhất các tác vụ object detection, instance segmentation, classification, pose estimation và oriented bounding boxes (OBB). Nó đạt được sự cân bằng rất tốt giữa tốc độ và độ chính xác, giúp nó trở nên lý tưởng cho các kịch bản triển khai thực tế đa dạng.
Cả hai mô hình đều được hưởng lợi từ hệ sinh thái được duy trì tốt do Ultralytics Platform cung cấp. Môi trường tích hợp này đơn giản hóa việc gán nhãn tập dữ liệu, huấn luyện trên cloud và xuất mô hình sang nhiều mục tiêu phần cứng khác nhau.
So sánh hiệu suất và các chỉ số
A direct comparison of these models reveals how architectural refinements translate to tangible performance gains. The table below illustrates the mean Average Precision (mAP) evaluated on the COCO dataset, alongside CPU and GPU inference speeds and parameter counts.
| Model | kích thước (pixels) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.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 |
Phân tích kết quả
Các chỉ số nêu bật một bước tiến rõ rệt về cân bằng hiệu năng đạt được bởi YOLO11. Ví dụ, mô hình YOLO11n (nano) đạt mAP 39.5% so với 28.0% của YOLOv5n, trong khi đồng thời giảm thời gian suy luận trên CPU khi xuất qua ONNX. Hơn nữa, YOLO11 duy trì yêu cầu bộ nhớ thấp hơn đáng kể trong quá trình huấn luyện so với các mô hình dựa trên Transformer hạng nặng, giúp nó rất dễ tiếp cận để triển khai trên phần cứng tiêu dùng và thiết bị cạnh.
Sự khác biệt về kiến trúc
Những cải thiện về hiệu năng trong YOLO11 xuất phát từ một vài thay đổi quan trọng về kiến trúc. Trong khi YOLOv5 sử dụng backbone CSPNet tiêu chuẩn với các module C3, YOLO11 giới thiệu các khối trích xuất đặc trưng hiệu quả hơn như C2f và sau đó là C3k2, giúp tối ưu hóa dòng gradient và giảm chi phí tính toán.
YOLO11 cũng sở hữu phần head được tinh chỉnh mạnh mẽ. Không còn sử dụng thiết kế dựa trên anchor như các mô hình cũ, các kiến trúc mới hơn của Ultralytics áp dụng cách tiếp cận anchor-free. Điều này làm giảm số lượng dự đoán box, tinh giản quy trình xử lý hậu kỳ (post-processing) và cải thiện khả năng tổng quát hóa của mô hình trên các tỷ lệ và khung hình khác nhau. Ngoài ra, các mô hình này tự hào có training efficiency vượt trội và các trọng số tiền huấn luyện sẵn có giúp tăng tốc hội tụ cho các tập dữ liệu tinh chỉnh.
Triển khai và ví dụ mã
Một trong những tính năng nổi bật của hệ sinh thái Ultralytics chính là sự đơn giản. Trong khi YOLOv5 phổ biến hóa việc sử dụng torch.hub để suy luận nhanh, YOLO11 tiến xa hơn với gói Python ultralytics thống nhất.
Huấn luyện với YOLO11
Việc tải, huấn luyện và kiểm định mô hình đòi hỏi rất ít mã boilerplate. API xử lý việc tinh chỉnh siêu tham số và quản lý mô hình một cách liền mạch.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11s.pt")
# Train on a custom dataset for 50 epochs
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run fast inference and display results
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# Easily export the model to TensorRT for hardware acceleration
model.export(format="engine")Suy luận kế thừa với YOLOv5
Nếu bạn đang duy trì một pipeline cũ, YOLOv5 tích hợp trực tiếp với cơ chế tải gốc của PyTorch, giúp việc đưa nó vào các tập lệnh suy luận hiện có trở nên đơn giản.
import torch
# Load a custom or pretrained YOLOv5 model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Perform inference on an image URL
results = model("https://ultralytics.com/images/zidane.jpg")
# Print prediction details to the console
results.print()Cả hai mô hình đều hỗ trợ các định dạng xuất phong phú. Cho dù bạn đang nhắm mục tiêu đến NVIDIA Jetson sử dụng TensorRT hay một ứng dụng iOS sử dụng CoreML, quá trình triển khai đều được ghi lại kỹ lưỡng và nhận được sự hỗ trợ từ cộng đồng.
Các trường hợp sử dụng lý tưởng
Việc lựa chọn giữa các mô hình này phụ thuộc phần lớn vào giai đoạn vòng đời dự án và các yêu cầu cụ thể của bạn.
Khi nào nên chọn YOLOv5
- Duy trì cơ sở mã kế thừa: Nếu môi trường sản xuất của bạn được tùy chỉnh sâu dựa trên cấu trúc repository YOLOv5 hoặc các kỹ thuật hyperparameter evolution cụ thể.
- Nền tảng học thuật: Khi công bố nghiên cứu yêu cầu so sánh trực tiếp (benchmark) với các tiêu chuẩn thị giác máy tính đã được thiết lập từ năm 2020-2022.
Khi nào nên chọn YOLO11
- Dự án đa tác vụ: Khi ứng dụng của bạn yêu cầu sự kết hợp giữa các tác vụ như pose estimation và instance segmentation bằng cách sử dụng một API thống nhất duy nhất.
- Triển khai tại biên (Edge): Cho các kịch bản edge computing nơi việc tối đa hóa mAP trong một ngân sách tính toán (FLOPs) cho trước là yếu tố sống còn.
- Giải pháp AI thương mại: Lý tưởng cho các ứng dụng doanh nghiệp trong lĩnh vực bán lẻ và an ninh, tận dụng sự hỗ trợ mạnh mẽ của Ultralytics Platform.
Thế hệ tiếp theo: Ultralytics YOLO26
Trong khi YOLO11 đại diện cho sự cân bằng tuyệt vời giữa tốc độ và độ chính xác, lĩnh vực trí tuệ nhân tạo phát triển rất nhanh chóng. Đối với các nhà phát triển bắt đầu dự án mới hôm nay, chúng tôi đặc biệt khuyến nghị khám phá tiêu chuẩn mới nhất trong Vision AI: Ultralytics YOLO26.
Ra mắt vào tháng 1 năm 2026, YOLO26 giới thiệu những bước tiến thay đổi tư duy được thiết kế đặc biệt cho các nhu cầu triển khai hiện đại:
- Thiết kế End-to-End không cần NMS: Dựa trên các khái niệm tiên phong lần đầu trong YOLOv10, YOLO26 là mô hình end-to-end nguyên bản. Nó loại bỏ nhu cầu xử lý hậu kỳ Non-Maximum Suppression (NMS), giúp đơn giản hóa đáng kể các pipeline triển khai và giảm độ trễ.
- Optimizer MuSGD: Lấy cảm hứng từ những đổi mới trong huấn luyện LLM từ các mô hình như Kimi K2 của Moonshot AI, sự kết hợp giữa SGD và Muon này đảm bảo việc huấn luyện cực kỳ ổn định và tốc độ hội tụ nhanh hơn đáng kể.
- Tốc độ CPU chưa từng có: Bằng cách loại bỏ Distribution Focal Loss (DFL), YOLO26 đạt tốc độ suy luận trên CPU nhanh hơn tới 43%, khiến nó trở thành lựa chọn tuyệt đối tốt nhất cho các thiết bị biên và môi trường không có GPU chuyên dụng.
- Các hàm mất mát nâng cao: Việc tích hợp ProgLoss và STAL mang lại những cải thiện đáng chú ý trong việc nhận dạng đối tượng nhỏ, điều này rất quan trọng đối với các phân tích drone, IoT và robot.
- Cải tiến theo tác vụ: Nó giới thiệu các tối ưu hóa chuyên biệt, chẳng hạn như Residual Log-Likelihood Estimation (RLE) cho Pose và hàm mất mát góc chuyên biệt cho oriented bounding boxes, đảm bảo hiệu năng vượt trội trên mọi tác vụ thị giác máy tính.
Đối với những người dùng quan tâm đến các kiến trúc chuyên biệt ngoài phát hiện đối tượng tiêu chuẩn, bạn có thể khám phá các mô hình như RT-DETR để phát hiện dựa trên Transformer, hoặc YOLO-World để theo dõi và phát hiện từ vựng mở. Việc áp dụng các công cụ được tối ưu hóa cao và duy trì tốt này đảm bảo các pipeline thị giác máy tính của bạn luôn hiệu quả, có khả năng mở rộng và dẫn đầu xu hướng.