YOLOv9 và YOLOv10#
Lĩnh vực thị giác máy tính thời gian thực đã có những bước tiến vượt bậc, phần lớn nhờ các nhà nghiên cứu không ngừng mở rộng giới hạn về hiệu năng và hiệu quả. Khi phân tích quá trình phát triển của các model thị giác tiên tiến nhất, YOLOv9 và YOLOv10 là hai cột mốc quan trọng. Cả hai model ra mắt đầu năm 2024, giới thiệu các thiết kế kiến trúc thay đổi mô hình hiện có nhằm giải quyết những thách thức lâu đời trong mạng neural sâu, từ nút thắt thông tin đến độ trễ hậu xử lý.
Bài so sánh kỹ thuật toàn diện này phân tích kiến trúc, chỉ số hiệu năng và các kịch bản triển khai phù hợp, giúp bạn tìm hiểu hệ sinh thái phát hiện đối tượng hiện đại vốn phức tạp.
Nguồn gốc mô hình và những đột phá về kiến trúc#
Hiểu rõ dòng phát triển và nền tảng lý thuyết của các mô hình này là yếu tố then chốt để lựa chọn kiến trúc phù hợp cho dự án thị giác máy tính của bạn.
YOLOv9: Làm chủ luồng thông tin#
Được giới thiệu vào ngày 21 tháng 2 năm 2024, YOLOv9 giải quyết vấn đề lý thuyết về mất mát thông tin khi dữ liệu đi qua các mạng neural sâu.
- Tác giả: Chien-Yao Wang và Hong-Yuan Mark Liao
- Tổ chức: Viện Khoa học Thông tin, Academia Sinica, Đài Loan
- Tài liệu tham khảo: Bài báo YOLOv9 trên arXiv
- Kho mã nguồn: GitHub YOLOv9
YOLOv9 giới thiệu Mạng tổng hợp lớp hiệu quả tổng quát (GELAN), giúp tối đa hóa mức độ tận dụng tham số bằng cách kết hợp ưu điểm của CSPNet và ELAN. Ngoài ra, YOLOv9 sử dụng Thông tin gradient có thể lập trình (PGI), một cơ chế giám sát phụ trợ đảm bảo các lớp sâu giữ lại thông tin không gian quan trọng. Nhờ đó, YOLOv9 đặc biệt mạnh trong các tác vụ đòi hỏi độ trung thực cao của đặc trưng, chẳng hạn như phân tích ảnh y tế hoặc giám sát từ xa.
YOLOv10: Hiệu quả đầu-cuối theo thời gian thực#
Được phát hành ngay sau đó, vào ngày 23 tháng 5 năm 2024, YOLOv10 tái định hình quy trình triển khai bằng cách loại bỏ một trong những nút thắt độ trễ tai tiếng nhất trong phát hiện đối tượng: Ức chế cực đại không (NMS).
- Tác giả: Ao Wang, Hui Chen, Lihao Liu và cộng sự
- Tổ chức: Đại học Thanh Hoa
- Tài liệu tham khảo: Bài báo YOLOv10 trên arXiv
- Kho mã nguồn: GitHub YOLOv10
YOLOv10 sử dụng cơ chế gán kép nhất quán trong quá trình huấn luyện, cho phép thiết kế không cần NMS ngay từ đầu. Cách này loại bỏ phần xử lý hậu kỳ trong quá trình suy luận, giúp giảm đáng kể độ trễ. Kết hợp với thiết kế mô hình toàn diện, cân bằng giữa hiệu quả và độ chính xác, YOLOv10 đạt được sự cân bằng vượt trội, giảm chi phí tính toán (FLOPs) mà vẫn duy trì độ chính xác cạnh tranh, khiến mô hình trở thành lựa chọn hấp dẫn cho các ứng dụng điện toán biên.
So sánh hiệu năng và chỉ số#
Khi đánh giá hai mô hình mạnh mẽ này trên bộ dữ liệu MS COCO tiêu chuẩn, có thể thấy rõ những đánh đổi khác nhau giữa độ chính xác thuần túy và độ trễ suy luận.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| 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 |
Phân tích dữ liệu#
- Độ trễ và độ chính xác: Các model YOLOv10 thường có tốc độ suy luận cao hơn. Ví dụ, YOLOv10s đạt 46,3% mAP chỉ trong 2,49 ms trên TensorRT, trong khi YOLOv9s cần 3,54 ms để đạt mức mAP tương đương là 46,8%.
- Độ chính xác hàng đầu: Với các kịch bản nghiên cứu đòi hỏi độ chính xác phát hiện tối đa, YOLOv9e vẫn là lựa chọn đáng gờm, đạt mAP ấn tượng 55,6%. Kiến trúc PGI giúp trích xuất đáng tin cậy các đặc trưng tinh tế.
- Hiệu quả: YOLOv10 vượt trội về hiệu quả FLOPs. Điều này trực tiếp giúp giảm mức tiêu thụ điện năng, một chỉ số quan trọng đối với các thiết bị chạy bằng pin sử dụng model AI thị giác.
Nếu triển khai trên CPU hoặc phần cứng biên có tài nguyên hạn chế như Raspberry Pi, kiến trúc không cần NMS của YOLOv10 thường giúp quy trình xử lý mượt mà hơn nhờ loại bỏ các bước xử lý hậu kỳ không xác định.
Lợi thế của Ultralytics: Huấn luyện và hệ sinh thái#
Mặc dù khác biệt về kiến trúc rất quan trọng, hệ sinh thái phần mềm xung quanh có ảnh hưởng lớn đến thành công của dự án. YOLOv9 và YOLOv10 đều được tích hợp đầy đủ vào hệ sinh thái Ultralytics, mang đến trải nghiệm phát triển vượt trội.
Dễ sử dụng và hiệu quả bộ nhớ#
Không giống các kiến trúc dựa trên Transformer phức tạp thường tiêu tốn nhiều bộ nhớ, các model Ultralytics YOLO được thiết kế để tối ưu mức sử dụng bộ nhớ GPU. Nhờ vậy, nhà nghiên cứu có thể sử dụng batch size lớn hơn trên phần cứng phổ thông, giúp mọi người tiếp cận AI tiên tiến.
Python API thống nhất giúp đơn giản hóa các khía cạnh phức tạp của tăng cường dữ liệu và tinh chỉnh siêu tham số. Bạn có thể chuyển đổi liền mạch giữa các kiến trúc chỉ bằng cách thay đổi chuỗi tên file trọng số.
from ultralytics import YOLO
# Tải model YOLOv10 (Dễ dàng đổi thành "yolov9c.pt" để dùng YOLOv9)
model = YOLO("yolov10n.pt")
# Huấn luyện model trên bộ dữ liệu COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Đánh giá hiệu năng của model
metrics = model.val()
# Export model đã huấn luyện sang định dạng ONNX để triển khai
model.export(format="onnx")Dù cần ghi log chỉ số vào MLflow hay xuất model sang TensorRT để triển khai trên phần cứng tốc độ cao, gói Python Ultralytics đều hỗ trợ trực tiếp.
Các trường hợp sử dụng phù hợp nhất#
Việc lựa chọn giữa các model này phụ thuộc vào những ràng buộc triển khai của bạn:
- Chọn YOLOv9 nếu: Bạn đang thực hiện các tác vụ phát hiện đối tượng nhỏ, chẳng hạn như xử lý ảnh chụp từ drone trên không hoặc phát hiện khối u nhỏ, trong đó khả năng lưu giữ đặc trưng của kiến trúc GELAN mang lại độ trung thực cao nhất.
- Chọn YOLOv10 nếu: Mục tiêu chính của bạn là suy luận theo thời gian thực trên thiết bị biên. Thiết kế không cần NMS rất phù hợp cho robot tự hành, giám sát giao thông thời gian thực và giám sát thông minh.
Đón đầu tương lai: Chuyển sang YOLO26#
Mặc dù YOLOv8, YOLOv9 và YOLOv10 đều là những model xuất sắc, các nhà phát triển muốn xây dựng giải pháp AI hiện đại nên cân nhắc Ultralytics YOLO26, được phát hành vào tháng 1 năm 2026.
YOLO26 là sự kết hợp tối ưu từ các thế hệ trước, hội tụ những ưu điểm tốt nhất về độ chính xác của YOLOv9 và hiệu quả của YOLOv10.
Những cải tiến chính của YOLO26#
- Thiết kế đầu-cuối không cần NMS: Dựa trên nền tảng do YOLOv10 đặt ra, head one-to-one tùy chọn của YOLO26 (
nms=False) bỏ qua bước xử lý hậu kỳ NMS để đơn giản hóa việc triển khai. - Trình tối ưu hóa MuSGD: Kết hợp SGD và Muon, đưa các cải tiến tiên tiến trong huấn luyện LLM vào lĩnh vực thị giác máy tính để hội tụ nhanh và ổn định vượt trội.
- Suy luận CPU nhanh hơn tới 43%: Được tối ưu riêng cho điện toán biên và các thiết bị không có GPU chuyên dụng.
- Loại bỏ DFL: Distribution Focal Loss đã được loại bỏ để đơn giản hóa quá trình xuất model và tăng khả năng tương thích với thiết bị công suất thấp.
- ProgLoss + STAL: Các hàm loss cải tiến này giúp nhận diện đối tượng nhỏ tốt hơn đáng kể, đạt hiệu năng ngang bằng hoặc vượt YOLOv9.
Đối với các nhà nghiên cứu đánh giá kiến trúc cũ, RT-DETR và YOLO11 cũng là những lựa chọn thay thế được ghi chép đầy đủ trong hệ sinh thái Ultralytics. Tuy nhiên, để đạt tính linh hoạt tối đa trên mọi tác vụ thị giác, chuyển sang YOLO26 trên Nền tảng Ultralytics sẽ giúp bạn tận dụng công nghệ AI thị giác mã nguồn mở tiên tiến nhất.