YOLOv10 và YOLOv7#
Sự phát triển nhanh chóng của thị giác máy tính trong vài năm qua đã tạo ra các kiến trúc ngày càng hiệu quả cho ứng dụng thời gian thực. So sánh YOLOv10 và YOLOv7 cho thấy một giai đoạn chuyển đổi quan trọng trong quá trình phát triển này. YOLOv7 giới thiệu các chiến lược huấn luyện và mở rộng kiến trúc hiệu quả cao, còn YOLOv10 cách mạng hóa việc triển khai bằng cách loại bỏ sự phụ thuộc lâu đời vào ức chế phi cực đại (NMS).
Cả hai model đều mở rộng giới hạn của tác vụ phát hiện đối tượng khi ra mắt, nhưng hệ sinh thái Ultralytics hiện đại và các model thế hệ mới như YOLO26 mang đến quy trình làm việc vượt trội hơn hẳn cho những người làm AI ngày nay.
Thông tin model và nguồn gốc#
Hiểu rõ nguồn gốc của các model này giúp làm sáng tỏ các lựa chọn thiết kế kiến trúc và nghiên cứu học thuật làm nền tảng cho chúng.
Thông tin YOLOv10#
- Tác giả: Ao Wang, Hui Chen, Lihao Liu và cộng sự
- Tổ chức: Đại học Thanh Hoa
- Ngày: 2024-05-23
- Arxiv: YOLOv10: Phát hiện đối tượng end-to-end theo thời gian thực
- GitHub: THU-MIG/yolov10
- Tài liệu: Tài liệu Ultralytics YOLOv10
Thông tin YOLOv7#
- Tác giả: Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao
- Tổ chức: Viện Khoa học Thông tin, Academia Sinica, Đài Loan
- Ngày: 2022-07-06
- Arxiv: YOLOv7: Tập hợp các kỹ thuật miễn phí có thể huấn luyện thiết lập chuẩn tiên tiến mới
- GitHub: WongKinYiu/yolov7
- Tài liệu: Tài liệu Ultralytics YOLOv7
Các cải tiến kiến trúc#
Phương pháp tiếp cận của YOLOv7#
Ra mắt năm 2022, YOLOv7 tập trung mạnh vào tối ưu hóa các đường dẫn gradient. Model giới thiệu Extended Efficient Layer Aggregation Network (E-ELAN), cho phép model học các đặc trưng đa dạng hơn mà không phá vỡ đường dẫn gradient ban đầu. Ngoài ra, nhóm tác giả triển khai phương pháp “tập hợp các kỹ thuật miễn phí có thể huấn luyện”, sử dụng kỹ thuật tái tham số hóa trong quá trình huấn luyện; các kỹ thuật này có thể được hợp nhất trong quá trình inference để duy trì tốc độ thực thi cao. Dù có những tối ưu hóa ấn tượng này, YOLOv7 vẫn phụ thuộc nhiều vào NMS để hậu xử lý, dẫn đến độ trễ biến động khi phân tích cảnh đông đúc.
Bước đột phá của YOLOv10#
YOLOv10 xử lý trực tiếp nút thắt NMS. Bằng cách áp dụng cơ chế gán kép nhất quán trong quá trình huấn luyện, nhóm nghiên cứu Đại học Thanh Hoa đã phát triển khả năng phát hiện end-to-end không cần NMS. Phương pháp hai đầu này sử dụng một nhánh với cơ chế gán một-nhiều để cung cấp tín hiệu giám sát phong phú trong quá trình huấn luyện, và một nhánh khác với cơ chế gán một-một để inference không cần NMS. Thay đổi kiến trúc này đảm bảo độ trễ inference cực thấp và ổn định, phù hợp với phân tích video tốc độ cao. Ngoài ra, YOLOv10 áp dụng thiết kế model tổng thể nhằm cân bằng hiệu quả và độ chính xác, loại bỏ phần tính toán dư thừa có trong các thế hệ trước.
Loại bỏ hậu xử lý NMS không chỉ tăng tốc inference mà còn đơn giản hóa đáng kể việc triển khai trên phần cứng AI edge, chẳng hạn như bộ tăng tốc AI và NPU, nơi các thao tác NMS tùy chỉnh nổi tiếng là khó biên dịch.
So sánh hiệu năng#
Khi so sánh các chỉ số thô trên dataset MS COCO, khoảng cách giữa các thế hệ trở nên rõ rệt. YOLOv10 đạt được sự cân bằng có lợi hơn nhiều giữa số lượng tham số, yêu cầu tính toán và độ chính xác.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Như trên cho thấy, YOLOv10x đạt mAP vượt trội 54.4% so với 53.1% của YOLOv7x, đồng thời sử dụng chưa đến một nửa số tham số (29.5M so với 71.3M). Ngoài ra, các model YOLOv10 gọn nhẹ (Nano và Small) đạt tốc độ triển khai TensorRT vượt trội, rất phù hợp để triển khai trên thiết bị di động.
Lợi thế của hệ sinh thái Ultralytics#
Việc nghiên cứu các bài báo về kiến trúc rất hữu ích, nhưng quá trình phát triển thị giác máy tính hiện đại phụ thuộc vào các framework mạnh mẽ, được duy trì tốt. Lựa chọn model được Ultralytics hỗ trợ mang lại lợi thế lớn cho developer muốn nhanh chóng chuyển từ prototype sang production.
Phát triển được tinh giản#
YOLOv10 được hỗ trợ nguyên bản trong package Python tiêu chuẩn của Ultralytics, trong khi checkpoint YOLOv7 được huấn luyện từ upstream chỉ có thể chạy trong Ultralytics sau khi xuất sang ONNX hoặc TensorRT. Hỗ trợ nguyên bản mang đến tính dễ sử dụng vượt trội, thay thế hàng nghìn dòng mã boilerplate bằng một API đơn giản, trực quan. Ngoài ra, các model Ultralytics YOLO cần ít bộ nhớ CUDA hơn đáng kể trong quá trình huấn luyện so với kiến trúc Transformer cồng kềnh, cho phép sử dụng batch size lớn hơn trên phần cứng phổ thông.
Tính linh hoạt vượt trội#
Trong khi các repository cũ thường chỉ tập trung vào phát hiện hộp giới hạn, framework Ultralytics tích hợp hỗ trợ liền mạch rất nhiều tác vụ. Dù thực hiện phân đoạn instance, ước lượng tư thế hay phát hiện hộp giới hạn định hướng (OBB), quy trình làm việc vẫn giống nhau.
Ví dụ mã: Quy trình huấn luyện nhất quán#
Đoạn mã sau minh họa quy trình huấn luyện liền mạch, tự động xử lý tăng cường dữ liệu và lập lịch learning rate:
from ultralytics import YOLO
# Tải model mong muốn (ví dụ: YOLOv10 hoặc YOLO26 được khuyến nghị)
model = YOLO("yolo26n.pt")
# Dễ dàng huấn luyện model trên dataset của bạn
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Xuất sang định dạng ONNX để triển khai nhanh
model.export(format="onnx")Trường hợp sử dụng và khuyến nghị#
Việc lựa chọn giữa YOLOv10 và YOLOv7 phụ thuộc vào yêu cầu cụ thể của dự án, giới hạn triển khai và ưu tiên về hệ sinh thái.
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 end-to-end không cần Non-Maximum Suppression, 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 dự án cần sự cân bằng tốt giữa tốc độ inference và độ chính xác phát hiện trên nhiều quy mô model.
- Ứng dụng cần độ trễ ổn định: Các tình huống triển khai yêu cầu thời gian inference có thể dự đoán, chẳng hạn như robotics hoặc hệ thống tự hành.
Khi nào nên chọn YOLOv7#
YOLOv7 được khuyến nghị cho:
- Benchmark học thuật: Tái tạo kết quả tiên tiến nhất thời kỳ năm 2022 hoặc nghiên cứu ảnh hưởng của E-ELAN và các kỹ thuật tập hợp kỹ thuật miễn phí có thể huấn luyện.
- Nghiên cứu tái tham số hóa: Khảo sát các phép tích chập được tái tham số hóa theo kế hoạch và chiến lược mở rộng model tổng hợp.
- Pipeline tùy chỉnh hiện có: Các dự án có pipeline được tùy chỉnh sâu dựa trên kiến trúc riêng của YOLOv7, khó tái cấu trúc.
Khi nào nên chọn Ultralytics (YOLO26)#
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 dành cho nhà phát triển:
- Triển khai trên thiết bị biên không cần NMS: Các ứng dụng cần inference có độ trễ thấp và ổn định mà không phải xử lý hậu kỳ Non-Maximum Suppression phức tạp.
- Môi trường chỉ có CPU: Các thiết bị không có GPU tăng tốc chuyên dụng, nơi tốc độ CPU inference nhanh hơn đến 43% của YOLO26 mang lại lợi thế rõ rệt.
- Phát hiện vật thể nhỏ: Các tình huống khó 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 khi phát hiện vật thể rất nhỏ.
Tiêu chuẩn mới: Giới thiệu YOLO26#
YOLOv10 là bước tiến lớn vào năm 2024, nhưng lĩnh vực thị giác máy tính thay đổi với tốc độ chóng mặt. Với mọi dự án phát triển mới, chúng tôi đặc biệt khuyến nghị model thế hệ mới nhất: Ultralytics YOLO26. Ra mắt vào tháng 1 năm 2026, model này đại diện cho đỉnh cao của AI thị giác thời gian thực và vượt trội rõ rệt so với cả YOLOv7 lẫn YOLOv10.
YOLO26 mang đến những cải tiến chưa từng có, được thiết kế riêng cho môi trường triển khai hiện đại:
- Thiết kế end-to-end không cần NMS: Dựa trên nền tảng do YOLOv10 đặt ra, đầu một-một tùy chọn của YOLO26 (
nms=False) loại bỏ hậu xử lý NMS, giúp đơn giản hóa pipeline triển khai và đảm bảo inference tốc độ cao ổn định. - Inference trên CPU nhanh hơn tới 43%: Được tối ưu mạnh cho điện toán edge và các thiết bị không có GPU chuyên dụng, giúp tiết kiệm đáng kể chi phí phần cứng.
- Loại bỏ DFL: Distribution Focal Loss đã được loại bỏ hoàn toàn, giúp đơn giản hóa đáng kể logic xuất model và cải thiện mạnh khả năng tương thích với thiết bị edge công suất thấp cùng vi điều khiển.
- Optimizer MuSGD: Lấy cảm hứng từ Kimi K2 của Moonshot AI, phương pháp lai giữa SGD và Muon đưa các cải tiến trong huấn luyện mô hình ngôn ngữ lớn (LLM) trực tiếp vào thị giác máy tính, mang lại động lực huấn luyện cực kỳ ổn định và hội tụ nhanh hơn.
- ProgLoss + STAL: Các hàm loss tiên tiến này cải thiện đáng kể khả năng nhận diện đối tượng nhỏ, một lĩnh vực vốn khó xử lý và thiết yếu đối với drone, robot cũng như giám sát đô thị thông minh.
- Cải tiến theo tác vụ: YOLO26 không chỉ là bộ phát hiện. Model tích hợp loss phân đoạn ngữ nghĩa chuyên biệt, Residual Log-Likelihood Estimation (RLE) để ước lượng tư thế cực kỳ chính xác và các thuật toán loss góc chuyên biệt nhằm loại bỏ vấn đề ranh giới OBB.
Để có trải nghiệm tốt nhất khi quản lý dataset, huấn luyện YOLO26 và triển khai model lên cloud, hãy khám phá Ultralytics Platform. Nền tảng cung cấp giao diện no-code, bổ trợ hoàn hảo cho Python SDK.
Các trường hợp sử dụng thực tế#
Việc chọn kiến trúc phù hợp phụ thuộc nhiều vào phần cứng và giới hạn của ứng dụng.
Khi nào nên dùng YOLOv7#
YOLOv7 vẫn là lựa chọn đáng tin cậy để duy trì các pipeline cũ đã tích hợp sâu với cấu trúc tensor riêng của model, hoặc để tái tạo benchmark học thuật từ năm 2022 và 2023. Model hoạt động rất tốt trên GPU máy chủ cao cấp.
Khi nào nên dùng YOLOv10#
YOLOv10 nổi bật trong các tình huống cần độ trễ nghiêm ngặt, không đổi. Vì không cần NMS, model phù hợp để đếm đám đông mật độ cao hoặc phát hiện lỗi sản xuất, nơi số lượng đối tượng biến động mạnh nhưng thời gian xử lý mỗi frame phải luôn ổn định.
Khi nào nên sử dụng YOLO26#
YOLO26 là lựa chọn tối ưu cho mọi dự án hoàn toàn mới. Từ triển khai hệ thống báo động an ninh tinh vi trên Raspberry Pi phổ thông đến chạy phân tích video quy mô lớn trên cloud, tốc độ CPU vượt trội và khả năng phát hiện đối tượng nhỏ tiên tiến giúp model này vượt xa các thế hệ cũ.
Với developer muốn khám phá các kiến trúc hiện đại khác, chúng tôi cũng hỗ trợ rộng rãi các bộ phát hiện dựa trên Transformer như RT-DETR và các model phổ biến từ thế hệ trước như Ultralytics YOLO11.