Link to this sectionYOLOv5 và YOLOv9: So sánh kỹ thuật chuyên sâu#
Bối cảnh thị giác máy tính và phát hiện đối tượng thời gian thực đã chứng kiến những bước tiến đáng kinh ngạc trong vài năm qua. Việc lựa chọn giữa các mô hình đã được kiểm chứng và các kiến trúc nghiên cứu mới hơn là một thách thức phổ biến đối với các kỹ sư học máy. Hướng dẫn này cung cấp một bản so sánh kỹ thuật toàn diện giữa hai mô hình có ảnh hưởng lớn trong gia đình YOLO: YOLOv5 và YOLOv9.
Cho dù bạn đang triển khai trên các thiết bị biên hạn chế, nghiên cứu trích xuất đặc trưng độ phân giải cao hay xây dựng các pipeline phát hiện đối tượng phức tạp, việc hiểu rõ các sắc thái kiến trúc, chỉ số hiệu suất và sự khác biệt về hệ sinh thái của các mô hình này là rất quan trọng.
Link to this sectionTổng quan về mô hình#
Trước khi đi sâu vào so sánh kiến trúc, việc hiểu rõ nguồn gốc và mục tiêu chính của từng mô hình sẽ rất hữu ích.
Link to this sectionUltralytics YOLOv5#
Được phát triển bởi Glenn Jocher và phát hành bởi Ultralytics vào ngày 26 tháng 6 năm 2020, YOLOv5 đánh dấu một bước ngoặt trong cách các nhà phát triển tương tác với các mô hình thị giác. Bằng cách tận dụng tối đa framework PyTorch, YOLOv5 đã thay thế các bước biên dịch phức tạp của các mô hình dựa trên Darknet trước đây bằng trải nghiệm người dùng trực quan, ưu tiên Python.
- Tác giả: Glenn Jocher
- Tổ chức: Ultralytics
- Ngày: 2020-06-26
- GitHub: Kho lưu trữ YOLOv5
- Tài liệu: Tài liệu YOLOv5
YOLOv5 nổi tiếng với Sự dễ sử dụng và hiệu suất ổn định trên nhiều môi trường phần cứng khác nhau. Nó không chỉ hỗ trợ phát hiện đối tượng mà còn hỗ trợ phân loại hình ảnh và phân đoạn đối tượng.
Link to this sectionYOLOv9#
Được giới thiệu bởi Chien-Yao Wang và Hong-Yuan Mark Liao từ Viện Thông tin học thuộc Academia Sinica, Đài Loan, YOLOv9 tập trung mạnh vào lý thuyết kiến trúc để giảm thiểu các vấn đề thắt nút thông tin trong các mạng thần kinh sâu.
- Tác giả: Chien-Yao Wang và Hong-Yuan Mark Liao
- Tổ chức: Viện Thông tin học, Academia Sinica, Đài Loan
- Ngày: 2024-02-21
- Arxiv: 2402.13616
- GitHub: Kho lưu trữ YOLOv9
- Tài liệu: Tài liệu YOLOv9
Cốt lõi của YOLOv9 dựa trên hai cải tiến lý thuyết chính: Thông tin gradient lập trình (PGI) và Mạng tổng hợp lớp hiệu quả tổng quát (GELAN). Những khái niệm này giúp mô hình duy trì các đặc trưng không gian quan trọng thông qua các lớp mạng sâu.
Mặc dù YOLOv5 và YOLOv9 rất mạnh mẽ, YOLO26 mới được phát hành đại diện cho sự cân bằng tối ưu giữa tốc độ và độ chính xác. Với thiết kế end-to-end không cần NMS và suy luận trên CPU nhanh hơn tới 43%, YOLO26 được khuyến nghị cao cho các ứng dụng điện toán biên hiện đại và triển khai thực tế.
Link to this sectionKhác biệt về kiến trúc và kỹ thuật#
Việc hiểu những gì thúc đẩy các mô hình thị giác này là rất quan trọng để tối ưu hóa chiến lược triển khai mô hình.
Link to this sectionTrích xuất đặc trưng và lưu giữ thông tin#
YOLOv5 sử dụng xương sống Cross Stage Partial Network (CSPNet), giúp giảm hiệu quả chi phí tính toán trong khi vẫn duy trì luồng gradient chính xác trong quá trình lan truyền ngược. Thiết kế này được tối ưu hóa cao cho các hoạt động GPU truyền thống và đảm bảo yêu cầu bộ nhớ thấp hơn trong quá trình huấn luyện so với các lựa chọn thay thế transformer nặng nề.
YOLOv9 giới thiệu GELAN, một kiến trúc chung mở rộng các nguyên tắc của CSPNet. Kết hợp với PGI—một nhánh đảo ngược bổ trợ—YOLOv9 đảm bảo rằng các lớp sâu không làm mất dữ liệu ngữ nghĩa cần thiết cho các hàm mục tiêu chính xác. Điều này cho phép YOLOv9 đạt được độ chính xác cao, đặc biệt là trên các đối tượng nhỏ hơn, mặc dù nhánh bổ trợ phức tạp đôi khi có thể làm phức tạp các quy trình xuất mô hình sang phần cứng biên bị giới hạn sâu.
Link to this sectionYêu cầu bộ nhớ và hiệu quả huấn luyện#
Khi nói đến hiệu quả huấn luyện, YOLOv5 vẫn cực kỳ mạnh mẽ. Hệ sinh thái Ultralytics được bảo trì tốt đảm bảo rằng các mô hình YOLOv5 tiêu tốn ít bộ nhớ CUDA hơn đáng kể, cho phép các nhà nghiên cứu tối đa hóa kích thước lô trên các GPU cấp tiêu dùng. Mặc dù YOLOv9 đạt được hiệu quả tham số tuyệt vời (độ chính xác cao so với kích thước của nó), quá trình huấn luyện của nó có thể tốn nhiều tài nguyên hơn nếu không sử dụng các framework được tối ưu hóa. May mắn thay, việc tích hợp YOLOv9 vào API Ultralytics giúp nó tiến gần hơn đến sự ngang bằng với khả năng quản lý tài nguyên tinh gọn của YOLOv5.
Link to this sectionHiệu suất và chỉ số#
Để đánh giá khách quan các kiến trúc này, chúng tôi so sánh hiệu suất của chúng trên các tập dữ liệu tiêu chuẩn như COCO. Dưới đây là phân tích chi tiết các chỉ số như mAP (Mean Average Precision), tốc độ suy luận và 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 |
| 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 |
Như bảng đã cho thấy, YOLOv9 đạt được độ chính xác thô cao hơn ở các phân khúc tương đương, phản ánh kiến trúc mới hơn của nó. Tuy nhiên, YOLOv5n duy trì độ trễ TensorRT cực thấp 1,12ms, làm nổi bật sức mạnh lâu dài của nó cho các ứng dụng điện toán biên tốc độ cao.
Link to this sectionPhương pháp huấn luyện và sự dễ sử dụng#
Lợi thế thực sự của việc tận dụng thị giác máy tính ngày nay nằm ở khả năng tiếp cận của hệ thống công cụ.
Link to this sectionLợi thế từ Ultralytics#
Mặc dù các kho lưu trữ nghiên cứu gốc cho các mô hình như YOLOv9 là nền tảng, chúng thường đi kèm với các ma trận phụ thuộc phức tạp và các tập lệnh mẫu. API Python Ultralytics hoàn toàn trừu tượng hóa sự phức tạp này. Với hệ sinh thái Ultralytics, bạn có thể huấn luyện, đánh giá và xuất cả YOLOv5 và YOLOv9 với cùng một cú pháp thống nhất.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model for fast deployment
model_v5 = YOLO("yolov5s.pt")
# Or leverage a YOLOv9 model for high-fidelity accuracy
model_v9 = YOLO("yolov9c.pt")
# Train seamlessly on custom data with automatic MLflow logging
results = model_v9.train(data="coco8.yaml", epochs=50, imgsz=640)
# Export the trained model to ONNX
model_v9.export(format="onnx")Cách tiếp cận đơn API này cung cấp Sự linh hoạt to lớn, hỗ trợ không chỉ phát hiện, mà còn ước tính tư thế và hộp bao định hướng (OBB) tùy thuộc vào mô hình được chọn. Hơn nữa, các tích hợp mạnh mẽ với các công cụ như Comet ML và Weights & Biases được tích hợp trực tiếp vào vòng lặp huấn luyện.
Link to this sectionCác trường hợp sử dụng lý tưởng và ứng dụng thực tế#
Việc lựa chọn giữa các kiến trúc này phụ thuộc phần lớn vào các hạn chế của phần cứng và độ chính xác cần thiết bởi lĩnh vực ứng dụng của bạn.
Link to this sectionKhi nào nên chọn YOLOv5#
YOLOv5 là một cựu binh đã được kiểm chứng qua thời gian, tỏa sáng trong các triển khai ưu tiên sự ổn định, dấu chân bộ nhớ thấp và khả năng tương thích xuất mô hình cực cao.
- Triển khai trên thiết bị di động: Xuất YOLOv5 sang TFLite hoặc CoreML để suy luận trên thiết bị cho các điện thoại thông minh cũ hơn là vô cùng liền mạch.
- Phần cứng biên cũ: Đối với các thiết bị như Raspberry Pi hoặc NVIDIA Jetson Nano thế hệ đầu, các phép tích chập đơn giản của YOLOv5 đảm bảo tốc độ khung hình nhất quán cho các ứng dụng như quản lý bãi đỗ xe thông minh.
- Tạo mẫu nhanh: Khả năng sẵn có rộng rãi của các hướng dẫn từ cộng đồng, trọng số được huấn luyện trước tùy chỉnh và khả năng tương thích với tập dữ liệu khổng lồ khiến nó trở thành cách nhanh nhất để xác thực một bằng chứng khái niệm.
Link to this sectionKhi nào nên chọn YOLOv9#
YOLOv9 là lý tưởng cho các kịch bản mà việc nắm bắt các chi tiết phức tạp và giảm thiểu âm tính giả là hoàn toàn quan trọng, ngay cả khi nó đòi hỏi thêm một chút chi phí tính toán.
- Aerial and Satellite Imagery: The PGI framework is highly adept at maintaining the fidelity of small objects, making YOLOv9 excellent for drone-based agricultural monitoring.
- Chẩn đoán hình ảnh y tế: Khi phát hiện các điểm bất thường hoặc tổn thương nhỏ trong các bản quét độ phân giải cao, luồng gradient chính xác của GELAN mang lại lợi thế cần thiết trong việc thu hồi (recall).
- Phân tích bán lẻ cao cấp: Theo dõi các sản phẩm chồng chéo trên các kệ hàng dày đặc được hưởng lợi đáng kể từ khả năng lưu giữ đặc trưng vượt trội của YOLOv9.
Link to this sectionMở rộng tầm nhìn của bạn#
Mặc dù việc so sánh YOLOv5 và YOLOv9 mang lại cái nhìn rõ ràng về cách các kiến trúc đã phát triển từ năm 2020 đến 2024, lĩnh vực AI đang chuyển động nhanh hơn bao giờ hết. Đối với các nhà phát triển tìm kiếm sự tiên phong tuyệt đối về hiệu suất, việc khám phá các mô hình YOLO26 mới nhất được khuyến khích mạnh mẽ. Bằng cách thay thế Non-Maximum Suppression truyền thống bằng Thiết kế End-to-End không NMS và sử dụng trình tối ưu hóa MuSGD Optimizer tiên tiến, YOLO26 thu hẹp khoảng cách giữa độ chính xác cấp nghiên cứu và tốc độ cấp sản xuất. Với Loại bỏ DFL (Distribution Focal Loss được loại bỏ để xuất đơn giản hơn và tương thích tốt hơn với thiết bị biên/công suất thấp), YOLO26 đạt được suy luận CPU nhanh hơn tới 43%, khiến nó trở nên lý tưởng cho điện toán biên. Ngoài ra, ProgLoss + STAL cung cấp các hàm mất mát cải tiến với những cải tiến đáng chú ý trong nhận dạng đối tượng nhỏ, điều quan trọng đối với IoT, robot và hình ảnh trên không.
Bạn cũng có thể quan tâm đến việc so sánh các kiến trúc này với các mô hình hiện đại khác như RT-DETR hoặc YOLO11 đầy năng lực. Việc sử dụng framework Ultralytics thống nhất đảm bảo rằng cho dù bạn chọn mô hình nào, pipeline phát triển của bạn vẫn sạch sẽ, hiệu quả và sẵn sàng mở rộng.