So sánh YOLOv5 và YOLO11#
Khi lựa 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ự phát triển của các model hiện đại là vô cùng quan trọng. Sự tiến hóa từ các kiến trúc cũ sang các framework thống nhất hiện đại làm nổi bật những bước nhảy vọt đáng kể cả về hiệu quả 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 so sánh kỹ thuật chuyên sâu giữa hai model mang tính dấu ấn 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 đến những ưu điểm riêng biệt tùy thuộc vào môi trường triển khai và yêu cầu hệ thống cũ của bạn.
YOLOv5: Ngựa thồ của ngành công nghiệp#
Ra mắt vào mùa hè năm 2020, YOLOv5 nhanh chóng trở thành tiêu chuẩn của ngành nhờ vào việc triển khai nguyên bản bằng PyTorch, giúp giảm đáng kể rào cản gia nhập đối với việc huấn luyện và triển khai. Nó đã chuyển dịch khỏi các framework Darknet C phức tạp của các phiên bản tiền nhiệm, mang lại cách tiếp cận mang phong cách Python để xây dựng model.
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 2020-06-26
- GitHub: ultralytics/yolov5
- Tài liệu: YOLOv5 Documentation
YOLOv5 thiết lập một nền tảng vững chắc về sự 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 phát triển dựa trên một cơ sở mã nguồn được tài liệu hóa kỹ lưỡng và thử nghiệm khắt khe.
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 tự nhiên. Vượt xa hơn phạm vi các bounding box đơn thuần, nó được thiết kế từ đầu để đạt được sự 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
- Tài liệu: YOLO11 Documentation
YOLO11 mang đến trải nghiệm người dùng tối ưu hóa thông qua gói Python ultralytics, tự hào với một API đơn giản tích hợp phát hiện đối tượng, phân đoạn cá thể, phân loại, ước ơ lượng tư thế và hộp giới hạn định hướng (OBB). Nó đạt được sự đánh đổi cực kỳ thuận lợi giữa tốc độ và độ chính xác, làm cho nó lý tưởng cho các kịch bản triển khai trong thế giới thực đa dạng.
Cả hai model đều hưởng lợi từ hệ sinh thái được bảo 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 chú thích tập dữ liệu, huấn luyện trên đám mây và xuất model trên nhiều mục tiêu phần cứng khác nhau.
So sánh Hiệu năng và Chỉ số#
Một sự so sánh trực tiếp giữa các model này cho thấy các cải tiến về kiến trúc chuyển hóa thành các mức tăng hiệu suất hữu hình như thế nào. Bảng dưới đây minh họa độ chính xác trung bình (mAP) được đánh giá trên COCO dataset, bên cạnh tốc độ suy luận trên CPU và GPU cùng với số lượng tham số.
| Mô hình | 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 | 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 số liệu làm nổi bật một bước nhảy vọt rõ ràng về cân bằng hiệu suất đạt được bởi YOLO11. Ví dụ, model YOLO11n (nano) đạt 39.5% mAP so với 28.0% của YOLOv5n, đồng thời giảm thời gian suy luận trên CPU khi được 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 model dựa trên Transformer 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ị edge.
Sự khác biệt về kiến trúc#
Những cải tiến hiệu suất trong YOLO11 bắt nguồn từ một số bước tiến kiến trúc chính. Trong khi YOLOv5 sử dụng xương sống 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 có phần head được cải tiến mạnh mẽ. Rời xa thiết kế dựa trên anchor của các model cũ, các kiến trúc Ultralytics mới hơn áp dụng phương pháp phi anchor. Điều này làm giảm số lượng dự đoán hộp, tối ưu hóa pipeline xử lý hậu kỳ và cải thiện khả năng tổng quát hóa của model qua các tỷ lệ và tỷ lệ khung hình khác nhau. Ngoài ra, các model này tự hào có hiệu quả huấn luyện vượt trội và trọng lượng được huấn luyện trước có sẵn giúp tăng tốc độ hội tụ của các tập dữ liệu được tinh chỉnh.
Triển khai và các ví dụ mã nguồn#
Một trong những tính năng nổi bật của hệ sinh thái Ultralytics là tính đơn giản của 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 một bước với gói Python ultralytics được hợp nhất.
Huấn luyện với YOLO11#
Việc tải, huấn luyện và xác thực một model đòi hỏi mã nguồn tối thiểu. API xử lý việc điều chỉnh siêu tham số và quản lý model 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 tự nhiên của PyTorch, giúp việc đưa nó vào các script 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 model đều hỗ trợ các định dạng xuất mở rộng. Cho dù bạn đang nhắm mục tiêu đến NVIDIA Jetson sử dụng TensorRT hay ứng dụng iOS sử dụng CoreML, quá trình triển khai đều được tài liệu hóa kỹ lưỡng và được cộng đồng hỗ trợ.
Các trường hợp sử dụng lý tưởng#
Việc lựa chọn giữa các model 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ì mã nguồn cũ: Nếu môi trường sản xuất của bạn được tùy chỉnh nhiều xung quanh cấu trúc kho lưu trữ YOLOv5 hoặc các kỹ thuật tiến hóa siêu tham số cụ thể.
- Nền tảng học thuật: Khi xuất bản nghiên cứu yêu cầu benchmarking trực tiếp với các tiêu chuẩn thị giác máy tính giai đoạn 2020-2022 đã được thiết lập.
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 kết hợp các tác vụ như ước lượng tư thế và phân đoạn cá thể bằng cách sử dụng một API duy nhất, thống nhất.
- Triển khai Edge: Đối với các kịch bản edge computing nơi việc vắt kiệt mAP tối đa cho một ngân sách tính toán (FLOPs) cho trước là rất quan trọng.
- 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à bảo mật, tận dụng sự hỗ trợ mạnh mẽ từ Ultralytics Platform.
Thế hệ tiếp theo: Ultralytics YOLO26#
Mặc dù 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 các dự án mới ngày nay, chúng tôi đặc biệt khuyên bạn nên khám phá tiêu chuẩn mới nhất trong thị giác AI: Ultralytics YOLO26.
Ra mắt vào tháng 1 năm 2026, YOLO26 giới thiệu các tiến bộ thay đổi mô hình đượ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 NMS: Xây dựng trên các khái niệm lần đầu được tiên phong trong YOLOv10, YOLO26 là end-to-end một cách tự nhiê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ễ.
- Bộ tối ưu hóa MuSGD: Được lấy cảm hứng từ những đổi mới trong huấn luyện LLM từ các model như Kimi K2 của Moonshot AI, sự kết hợp giữa SGD và Muon này đảm bảo quá trình huấn luyện ổn định đáng kinh ngạc và 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 được tốc độ suy luậ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.
- 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 diện đối tượng nhỏ, điều rất quan trọng đối với phân tích drone, IoT và robot.
- Cải tiến dành riêng cho tác vụ: Nó giới thiệu các tối ưu hóa chuyên biệt, chẳng hạn như Ước lượng log-likelihood phần dư (RLE) cho Pose và mất mát góc chuyên biệt cho hộp giới hạn định hướng, đảm bảo hiệu suất vượt trội trên tất cả các tác vụ thị giác máy tính.
Đối với 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ũng có thể khám phá các model như RT-DETR cho việc phát hiện dựa trên Transformer, hoặc YOLO-World cho việc theo dõi và phát hiện mở từ vựng. Việc áp dụng các công cụ được bảo trì tốt, được tối ưu hóa cao này đảm bảo các pipeline thị giác máy tính của bạn vẫn hiệu quả, có khả năng mở rộng và luôn dẫn đầu.