YOLOv7 so với YOLO11#
Lĩnh vực thị giác máy tính đã phát triển nhanh chóng trong vài năm qua. Đối với các developer và nhà nghiên cứu đang lựa chọn framework phát hiện đối tượng phù hợp, việc hiểu rõ những khác biệt về kiến trúc và thực tiễn giữa các model định hình từng thế hệ là yếu tố then chốt. Hướng dẫn này cung cấp phần so sánh kỹ thuật chi tiết giữa bước đột phá trong nghiên cứu học thuật là YOLOv7 và Ultralytics YOLO11 đã được tinh chỉnh kỹ lưỡng, sẵn sàng cho production.
Nguồn gốc model và triết lý kiến trúc#
YOLOv7, được phát hành vào ngày 6 tháng 7 năm 2022 bởi các tác giả Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao từ Viện Khoa học Thông tin thuộc Academia Sinica, đã giới thiệu một số khái niệm mới cho lĩnh vực này. Được trình bày chi tiết trong bài nghiên cứu YOLOv7 được công bố trên arXiv, model tập trung mạnh vào phương pháp “túi thủ thuật miễn phí có thể huấn luyện” và Mạng tổng hợp lớp hiệu quả mở rộng (E-ELAN). Những lựa chọn kiến trúc này được thiết kế đặc biệt để tối đa hóa hiệu quả của đường truyền gradient, khiến model trở thành một công cụ mạnh mẽ cho việc benchmark học thuật trên GPU cao cấp.
YOLO11, được Glenn Jocher và Jing Qiu phát triển tại Ultralytics, được phát hành vào ngày 27 tháng 9 năm 2024. YOLO11 chuyển trọng tâm từ độ phức tạp thuần túy của kiến trúc sang một hệ sinh thái toàn diện, ưu tiên developer. Được lưu trữ trên repository GitHub của Ultralytics, YOLO11 có thiết kế không anchor được tối ưu hóa, giúp giảm đáng kể mức tiêu thụ bộ nhớ trong cả quá trình training và inference. Model được tích hợp nguyên bản vào Ultralytics Platform, mang lại trải nghiệm dễ sử dụng vượt trội từ gán nhãn dataset đến triển khai trên edge.
Trong khi các repository độc lập thường trở nên không còn được duy trì sau khi một bài nghiên cứu học thuật được công bố, các model của Ultralytics được hưởng lợi từ việc cập nhật liên tục, đảm bảo khả năng tương thích lâu dài với các stack machine learning hiện đại như các bản phát hành PyTorch mới nhất và các bộ tăng tốc phần cứng chuyên dụng.
Các chỉ số hiệu năng và hiệu quả#
Khi triển khai model vào các ứng dụng thực tế, độ chính xác thô phải được cân bằng với tốc độ inference và chi phí tính toán. Dưới đây là phần so sánh trực tiếp các biến thể YOLOv7 và YOLO11 được đánh giá trên benchmark dataset COCO tiêu chuẩn.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
Lưu ý: Việc thiếu tốc độ CPU của YOLOv7 cho thấy các môi trường kiểm thử cũ chưa chuẩn hóa benchmark CPU bằng ONNX. Các giá trị tốt nhất trong những nhóm tương đương được đánh dấu.
Phân tích kết quả#
Dữ liệu cho thấy sự tiến bộ rõ rệt về hiệu quả. Model YOLO11l (Large) đạt mAPval 53,4% cao hơn YOLOv7l ở mức 51,4%, đồng thời sử dụng ít parameter hơn đáng kể (25,3M so với 36,9M) và ít FLOPs hơn rất nhiều (86,9B so với 104,7B). Việc giảm độ phức tạp tính toán này cho phép YOLO11 chạy nhanh hơn trên các implementation NVIDIA TensorRT và yêu cầu ít VRAM hơn, khiến model phù hợp hơn nhiều với các môi trường bị giới hạn về phần cứng.
Khả năng sử dụng và quy trình training#
Một điểm khác biệt lớn giữa hai framework là trải nghiệm developer.
Training YOLOv7#
Việc sử dụng codebase mã nguồn mở YOLOv7 gốc thường đòi hỏi phải clone repository, tự giải quyết dependency và sử dụng các argument dòng lệnh dài dòng. Việc quản lý các task khác nhau hoặc export sang các format di động thường yêu cầu chỉnh sửa script nguồn hoặc phụ thuộc vào các fork của bên thứ ba.
Huấn luyện YOLO11#
YOLO11 được tích hợp sâu vào package Python ultralytics, giúp đơn giản hóa vòng đời machine learning. Việc training một model phát hiện đối tượng chỉ cần vài dòng code, đồng thời framework tự xử lý việc tải data, tinh chỉnh hyperparameter và caching.
from ultralytics import YOLO
# Load a pretrained YOLO11 Nano model for maximum speed
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Export the trained model to ONNX format for deployment
export_path = model.export(format="onnx")Hơn nữa, YOLO11 có tính linh hoạt rất cao. Chỉ bằng cách thay đổi hậu tố của model, developer có thể ngay lập tức chuyển từ detection sang lập bản đồ phân đoạn instance, tracking ước tính tư thế hoặc nhận diện Bounding Box định hướng (OBB)—một mức hỗ trợ đa task nguyên bản mà YOLOv7 không có.
Việc export YOLO11 sang các format edge như Apple CoreML hoặc framework Intel OpenVINO chỉ cần một lệnh .export(), tránh việc phẫu thuật graph phức tạp thường cần thiết đối với các model thế hệ cũ.
Các kịch bản triển khai lý tưởng#
Hiểu rõ điểm mạnh của từng model giúp xác định các trường hợp sử dụng phù hợp nhất.
- Tái tạo benchmark cũ: YOLOv7 vẫn hữu ích đối với các nhà nghiên cứu học thuật cần tái tạo các benchmark cụ thể của năm 2022 hoặc nghiên cứu tác động của các kỹ thuật tái tham số hóa trên các mạng dựa trên anchor.
- Môi trường production thương mại: YOLO11 là lựa chọn rõ ràng cho các hệ thống enterprise. Tính ổn định, hoạt động bảo trì tích cực và khả năng tích hợp với giao diện Ultralytics Platform trên cloud khiến model trở nên lý tưởng cho việc quản lý phân tích bán lẻ quy mô lớn, giám sát an ninh và kiểm soát chất lượng sản xuất.
- Điện toán edge bị giới hạn tài nguyên: Biến thể YOLO11n cực kỳ nhẹ được thiết kế riêng cho các thiết bị edge công suất thấp, vận hành hiệu quả trên hệ thống Raspberry Pi hoặc module NVIDIA Jetson.
Hướng tới tương lai: Sự chuyển đổi mô hình của YOLO26#
Mặc dù YOLO11 đại diện cho một giải pháp tiên tiến đã được tinh chỉnh kỹ lưỡng, lĩnh vực machine learning vẫn không ngừng phát triển. Đối với người dùng bắt đầu các dự án thị giác hoàn toàn mới ngày nay, việc khám phá Ultralytics YOLO26 mới được phát hành là điều rất được khuyến nghị.
Được phát hành vào tháng 1 năm 2026, YOLO26 giới thiệu một số tính năng đột phá vượt qua cả YOLOv7 và YOLO11:
- Kiến trúc không cần NMS nguyên bản: YOLO26 loại bỏ nhu cầu hậu xử lý Non-Maximum Suppression. Thiết kế end-to-end này đơn giản hóa pipeline triển khai và giảm đáng kể biến động độ trễ.
- Inference CPU nhanh hơn tới 43%: Bằng cách loại bỏ có chủ đích module Distribution Focal Loss (DFL), YOLO26 được tối ưu mạnh cho các thiết bị edge và những môi trường không có GPU chuyên dụng.
- Tích hợp optimizer MuSGD: Lấy cảm hứng từ các kỹ thuật training LLM tiên tiến của Moonshot AI, optimizer lai này đảm bảo độ ổn định training chưa từng có và tốc độ hội tụ nhanh hơn.
- Phát hiện đối tượng nhỏ vượt trội: Việc giới thiệu các hàm loss ProgLoss và STAL mang lại cải thiện đáng kể về độ chính xác trong việc nhận diện các chi tiết cực nhỏ, rất phù hợp để phân tích hình ảnh chụp từ trên không bằng drone và dữ liệu cảm biến IoT phức tạp.
Đối với người dùng quan tâm đến các kiến trúc dựa trên Transformer hoặc những paradigm thay thế, tài liệu Ultralytics cũng đề cập đến các model như detector Transformer RT-DETR và model YOLO-World với vocabulary mở.