YOLOv9 So sánh với YOLO10: Phân tích chuyên sâu về mặt kỹ thuật trong quá trình phát hiện đối tượng
Lĩnh vực phát hiện đối tượng thời gian thực đã phát triển nhanh chóng, với năm 2024 chứng kiến sự ra mắt của hai kiến trúc quan trọng: YOLOv9 và YOLOv10 . Mặc dù cả hai mô hình đều hướng đến việc nâng cao độ chính xác và hiệu quả, nhưng chúng đạt được điều này thông qua các triết lý kiến trúc khác nhau về cơ bản. YOLOv9 tập trung vào việc tối đa hóa khả năng lưu giữ thông tin sâu trong mạng, trong khi đó YOLOv10 cách mạng hóa quy trình triển khai bằng cách loại bỏ nhu cầu về Non-Maximmum Suppression (Ngăn chặn tối đa không cần thiết) NMS ).
Hướng dẫn này cung cấp một bảng so sánh kỹ thuật toàn diện để giúp các nhà nghiên cứu và kỹ sư lựa chọn công cụ phù hợp cho các ứng dụng thị giác máy tính cụ thể của họ.
YOLOv9: Thông tin Gradient có thể lập trình
Được phát hành vào tháng 2 năm 2024 bởi Chien-Yao Wang và Hong-Yuan Mark Liao (nhóm phát triển YOLOv4 và YOLOv7 ), YOLOv9 Giải quyết vấn đề "nút thắt cổ chai thông tin" vốn có trong mạng nơ-ron sâu. Khi dữ liệu đi qua các lớp kế tiếp, dữ liệu đầu vào thường bị mất, làm giảm khả năng học các đặc điểm cụ thể của mô hình.
Để khắc phục điều này, YOLOv9 Bài viết giới thiệu kiến trúc PGI (Programmable Gradient Information) và GELAN (Generalized Efficient Layer Aggregation Network) . PGI cung cấp một nhánh giám sát phụ trợ đảm bảo nhánh chính giữ lại thông tin quan trọng trong quá trình huấn luyện, trong khi GELAN tối ưu hóa việc sử dụng tham số để lập kế hoạch đường dẫn gradient tốt hơn.
- Tác giả: Chien-Yao Wang, Hong-Yuan Mark Liao
- Tổ chức: Viện Khoa học Thông tin, Academia Sinica, Đài Loan
- Ngày: 2024-02-21
- Arxiv:YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information
- GitHub:WongKinYiu/yolov9
YOLOv10: Detect thời gian thực từ đầu đến cuối
Được các nhà nghiên cứu tại Đại học Thanh Hoa công bố không lâu sau đó vào tháng 5 năm 2024, YOLOv10 đánh dấu một sự thay đổi đáng kể trong YOLO mô hình. Về mặt lịch sử, YOLO các mô hình dựa vào NMS Xử lý hậu kỳ để lọc các hộp giới hạn chồng chéo. YOLOv10 Giới thiệu chiến lược phân công kép nhất quán trong quá trình huấn luyện—sử dụng phân công một-nhiều cho giám sát chi tiết và phân công một-một cho suy luận—cho phép mô hình trở nên hoàn toàn không phụ thuộc vào NMS .
Sự thay đổi về kiến trúc này giúp giảm độ trễ suy luận và đơn giản hóa quy trình triển khai, khiến nó trở nên đặc biệt hấp dẫn đối với điện toán biên. CPU Chu kỳ rất quý giá.
- Tác giả: Ao Wang, Hui Chen, Lihao Liu, et al.
- Tổ chức: Đại học Thanh Hoa
- Ngày: 2024-05-23
- Arxiv:YOLOv10: Real-Time End-to-End Object Detection
- GitHub:THU-MIG/yolov10
So sánh hiệu suất
Khi so sánh hai kiến trúc này, chúng ta xem xét sự đánh đổi giữa khả năng phát hiện thô ( mAP và hiệu quả suy luận (độ trễ và FLOPs).
Phân tích chỉ số
Bảng sau đây nêu bật các chỉ số hiệu suất trên tập dữ liệu COCO . Mặc dù YOLOv9e thể hiện độ chính xác vượt trội đối với các tác vụ phức tạp, YOLOv10 Các mô hình này thường có độ trễ thấp hơn do loại bỏ... NMS trên không.
| Mô hình | Kích thước (pixels) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | Tham số (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Những Điểm Chính
- Độ trễ so với độ chính xác: YOLOv10n đạt được độ trễ cao hơn. mAP (39,5%) so với YOLOv9t (38,3%) trong khi chạy nhanh hơn đáng kể trên GPU phần cứng (1,56ms so với 2,3ms). Điều này làm cho kiến trúc v10 rất hiệu quả cho việc triển khai quy mô nhỏ.
- Độ chính xác hàng đầu: Đối với các kịch bản nghiên cứu mà mỗi phần trăm độ chính xác đều quan trọng, YOLOv9e vẫn là một công cụ mạnh mẽ với độ chính xác 55,6%. mAP , tận dụng Thông tin Độ dốc Lập trình được để trích xuất các đặc điểm tinh tế mà các mô hình khác có thể bỏ sót.
- Hiệu quả: YOLOv10 Vượt trội về hiệu quả FLOPs . YOLOv10s chỉ yêu cầu 21,6G FLOPs so với 26,4G của YOLOv9s, dẫn đến mức tiêu thụ điện năng thấp hơn trên các thiết bị chạy bằng pin.
Cân nhắc về phần cứng
Nếu bạn đang triển khai trên CPU (như...). Intel bộ xử lý tiêu chuẩn) hoặc phần cứng chuyên dụng ở biên (Raspberry Pi, Jetson), YOLOv10 'S NMS Thiết kế không phụ thuộc vào ngữ cảnh thường dẫn đến quy trình mượt mà hơn vì nó loại bỏ thời gian xử lý không xác định của các bước xử lý hậu kỳ.
Đào tạo và Hệ sinh thái
Một trong những ưu điểm mạnh nhất của việc sử dụng Ultralytics Models là một hệ sinh thái thống nhất. Cho dù bạn chọn YOLOv9 hoặc YOLOv10 Nhờ đó, quy trình đào tạo, xác thực và xuất dữ liệu vẫn hoàn toàn giống nhau. Sự nhất quán này giúp giảm đáng kể thời gian học hỏi cho các nhà phát triển.
Lợi thế của Ultralytics
- Dễ sử dụng: Đơn giản Python API cho phép bạn thay đổi kiến trúc bằng cách thay đổi một chuỗi duy nhất (ví dụ: từ
yolov9c.ptđếnyolov10m.pt). - Hệ sinh thái được duy trì tốt: Ultralytics cung cấp các bản cập nhật thường xuyên, đảm bảo khả năng tương thích với các phiên bản PyTorch và trình điều khiển CUDA mới nhất.
- Yêu cầu về bộ nhớ: Không giống như nhiều mô hình dựa trên bộ biến áp thường bị phình to bộ nhớ, Ultralytics Các triển khai được tối ưu hóa để đạt hiệu quả cao nhất về bộ nhớ GPU . Điều này cho phép kích thước lô lớn hơn trên phần cứng dành cho người tiêu dùng.
Ví dụ huấn luyện
Việc huấn luyện một trong hai mô hình trên tập dữ liệu tùy chỉnh rất đơn giản. Khung phần mềm tự động xử lý việc tăng cường dữ liệu , lưu trữ tạm thời và ghi nhật ký số liệu.
from ultralytics import YOLO
# Load a model (Swap "yolov10n.pt" for "yolov9c.pt" to switch architectures)
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
model.val()
# Export to ONNX for deployment
model.export(format="onnx")
Các trường hợp sử dụng lý tưởng
Khi nào nên chọn YOLOv9
YOLOv9 Đây là lựa chọn ưu tiên cho các trường hợp đòi hỏi độ chính xác cao về tính năng . Kiến trúc GELAN của nó có khả năng chống mất dữ liệu mạnh mẽ, lý tưởng cho:
- Chẩn đoán hình ảnh y tế: Phát hiện các khối u nhỏ hoặc các bất thường mà việc thiếu một đặc điểm nào đó là rất quan trọng. Xem hướng dẫn của chúng tôi về AI trong chăm sóc sức khỏe .
- Phát hiện vật thể nhỏ: Các trường hợp liên quan đến ảnh chụp từ trên không hoặc giám sát từ xa, trong đó các vật thể chỉ chiếm rất ít điểm ảnh.
- Các tiêu chuẩn nghiên cứu: Khi so sánh với các kiến trúc tiên tiến nhất từ đầu năm 2024.
Khi nào nên chọn YOLOv10
YOLOv10 được thiết kế để đạt tốc độ cao và triển khai đơn giản . Việc loại bỏ NMS Điều này khiến nó trở thành ứng cử viên sáng giá cho:
- Điện toán biên: Hoạt động trên các thiết bị như Raspberry Pi hoặc điện thoại di động, nơi mà... CPU Chi phí phát sinh từ quá trình xử lý hậu kỳ gây ra tắc nghẽn.
- Robot thời gian thực: Các ứng dụng yêu cầu vòng phản hồi nhất quán, độ trễ thấp, chẳng hạn như điều hướng tự động .
- Các đường dẫn phức tạp: Hệ thống trong đó đầu ra của bộ dò được đưa vào các thuật toán theo dõi; NMS Việc xuất dữ liệu không cần định dạng đặc biệt giúp đơn giản hóa logic cho các tác vụ tiếp theo.
Nhìn về phía trước: Sức mạnh của YOLO26
Trong khi YOLOv9 Và YOLOv10 Đây là những mô hình xuất sắc, lĩnh vực trí tuệ nhân tạo đang phát triển rất nhanh. Đối với các dự án mới bắt đầu vào năm 2026, chúng tôi đặc biệt khuyên bạn nên đánh giá YOLO26 .
Ra mắt vào tháng 1 năm 2026, YOLO26 được xây dựng dựa trên nền tảng của... NMS - bước đột phá miễn phí của YOLOv10 nhưng mang đến những cải tiến kiến trúc đáng kể:
- Hệ thống quản lý mạng NMS đầu cuối - Miễn phí: Giống như phiên bản 10, YOLO26 hỗ trợ hệ thống NMS đầu cuối hoàn chỉnh, nhưng được tối ưu hóa hơn nữa cho đầu dò để đạt độ chính xác cao hơn.
- MuSGD Optimizer: Một sự kết hợp của... SGD Và Muon (lấy cảm hứng từ quá trình huấn luyện LLM), trình tối ưu hóa này mang lại sự ổn định cho quá trình huấn luyện Mô hình Ngôn ngữ Lớn ( LLM) trong lĩnh vực thị giác máy tính, đảm bảo sự hội tụ nhanh hơn.
- Loại bỏ DFL: Bằng cách loại bỏ hiện tượng mất tiêu điểm phân tán (Distribution Focal Loss), YOLO26 đơn giản hóa đồ thị xuất, giúp việc triển khai trên các thiết bị có bộ xử lý số (NPU) hạn chế trở nên dễ dàng hơn đáng kể.
- ProgLoss + STAL: Các hàm mất mát mới được tinh chỉnh đặc biệt để cải thiện khả năng nhận dạng vật thể nhỏ, khắc phục điểm yếu thường gặp trong các bộ dò tìm thời gian thực.
- Hiệu năng: Được tối ưu hóa đặc biệt cho điện toán biên, YOLO26 cung cấp khả năng suy luận CPU nhanh hơn tới 43% so với các thế hệ trước.
Hơn nữa, YOLO26 không chỉ là một công cụ phát hiện; nó còn bao gồm các cải tiến chuyên biệt cho việc ước lượng tư thế (sử dụng RLE), phân đoạn đối tượng và các tác vụ Hộp giới hạn định hướng (OBB) , khiến nó trở thành công cụ đa năng nhất trong lĩnh vực này. Ultralytics kho vũ khí.
Kết luận
Cả hai YOLOv9 Và YOLOv10 Đó là những bước tiến lớn trong lĩnh vực thị giác máy tính. YOLOv9 Điều này chứng minh rằng mạng nơ-ron sâu có thể được cải thiện hiệu quả mà không làm mất thông tin, trong khi đó YOLOv10 đã chứng minh rằng sự phụ thuộc kéo dài hàng thập kỷ vào NMS Có thể bị hỏng.
Đối với các nhà phát triển hiện nay, sự lựa chọn phần lớn phụ thuộc vào các ràng buộc triển khai của bạn. Nếu bạn yêu cầu độ chính xác cao nhất tuyệt đối trên dữ liệu phức tạp, YOLOv9e là một ứng cử viên sáng giá. Nếu độ trễ và sự đơn giản trong triển khai là yếu tố quan trọng hàng đầu, YOLOv10 Nó rất xuất sắc. Tuy nhiên, để có sự cân bằng tốt nhất giữa tốc độ, độ chính xác và các tính năng có khả năng đáp ứng nhu cầu trong tương lai, YOLO26 hiện vẫn là lựa chọn hàng đầu được người dùng nền tảng Ultralytics khuyến nghị.