YOLOv5 và YOLOv9: So sánh kỹ thuật chuyên sâu

Bối cảnh thị giác máy tính (computer vision) và nhận diện vật thể thời gian thực đã chứng kiến những bước tiến đáng kể trong vài năm qua. Việc lựa chọn giữa các model đã được khẳng định, kiểm chứng qua thực tế và các kiến trúc nghiên cứu mới hơn là thách thức thường gặp đối với các kỹ sư học máy. Hướng dẫn này cung cấp bản so sánh kỹ thuật toàn diện giữa hai model có tầm ảnh hưởng lớn trong dòng họ YOLO: YOLOv5YOLOv9.

Dù bạn đang triển khai trên các thiết bị biên bị hạn chế tài nguyên, nghiên cứu trích xuất đặc trưng độ trung thực cao, hay xây dựng các đường ống nhận diện vật thể phức tạp, việc hiểu rõ các sắc thái kiến trúc, chỉ số hiệu năng và sự khác biệt về hệ sinh thái của các model này là rất quan trọng.

Tổng quan về các model

Trước khi đi sâu vào so sánh kiến trúc, việc tìm hiểu nguồn gốc và mục tiêu chính của từng model sẽ giúp ích rất nhiều.

Ultralytics YOLOv5

Được phát triển bởi Glenn Jocher và ra mắt bởi Ultralytics vào ngày 26 tháng 6 năm 2020, YOLOv5 đã đánh dấu một sự thay đổi mô hình trong cách các nhà phát triển tương tác với các model 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 model dựa trên Darknet trước đây bằng một trải nghiệm người dùng trực quan, ưu tiên Python.

YOLOv5 nổi tiếng nhờ Tính dễ sử dụng và hiệu năng ổn định trên nhiều môi trường phần cứng khác nhau. Model này không chỉ hỗ trợ nhận diện, mà còn hỗ trợ phân loại hình ảnhphân đoạn cá thể.

Tìm hiểu thêm về YOLOv5

YOLOv9

Được giới thiệu bởi Chien-Yao Wang và Hong-Yuan Mark Liao từ Viện Khoa học Thông tin 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 vấn đề nút thắt thông tin trong các mạng thần kinh sâu.

Cốt lõi của YOLOv9 dựa trên hai đổi mới lý thuyết quan trọng: Programmable Gradient Information (PGI) và Generalized Efficient Layer Aggregation Network (GELAN). Các khái niệm này giúp model giữ lại các đặc trưng không gian quan trọng thông qua các lớp mạng sâu.

Tìm hiểu thêm về YOLOv9

Sẵn sàng cho tương lai với các dự án triển khai của bạn

Mặc dù YOLOv5 và YOLOv9 đều rất mạnh mẽ, YOLO26 mới ra mắt đạ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 sử dụng NMS và tốc độ suy luận trên CPU nhanh hơn tới 43%, YOLO26 được đặc biệt khuyến khích cho các ứng dụng điện toán biên hiện đại và triển khai thực tế.

Các khác biệt về kiến trúc và kỹ thuật

Việc hiểu những gì vận hành các model thị giác này bên trong là rất quan trọng để tối ưu hóa các chiến lược triển khai model.

Trích xuất đặc trưng và giữ lại thông tin

YOLOv5 sử dụng xương sống Cross Stage Partial Network (CSPNet), giúp giảm đáng kể 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 kiến trúc Transformer nặng nề.

YOLOv9 giới thiệu GELAN, một kiến trúc tổng quát 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 phụ trợ—YOLOv9 đảm bảo 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à với các vật thể nhỏ, mặc dù các nhánh phụ trợ phức tạp đôi khi có thể làm phức tạp hóa các đường ống xuất model (export pipelines) sang phần cứng biên bị hạn chế tài nguyên sâu.

Yêu cầu bộ nhớ và hiệu quả huấn luyện

When it comes to training efficiency, YOLOv5 remains incredibly robust. The well-maintained Ultralytics ecosystem ensures that YOLOv5 models consume significantly less CUDA memory, allowing researchers to maximize batch sizes on consumer-grade GPUs. While YOLOv9 achieves excellent parameter efficiency (high accuracy relative to its size), its training process can be more resource-intensive if not utilizing optimized frameworks. Fortunately, integrating YOLOv9 into the Ultralytics API brings it closer to parity with YOLOv5's streamlined resource management.

Hiệ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 năng trên các bộ 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ố.

Modelkích thước
(pixels)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT10
(ms)
tham số
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.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 vẫn duy trì độ trễ TensorRT cực thấp ở mức 1.12ms, làm nổi bật sức mạnh bền bỉ của nó cho các ứng dụng điện toán biên tốc độ cao, cục bộ.

Phương pháp luận huấn luyện và tính 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ụ.

Ưu thế của Ultralytics

Trong khi các kho lưu trữ nghiên cứu gốc cho các model 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 đoạn mã boilerplate. Python API của 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ú pháp thống nhất, giống hệt nhau.

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 mang lại Tính linh hoạt to lớn, hỗ trợ không chỉ nhận diện, mà còn cả ước tính tư thếhộp bao định hướng (OBB) tùy thuộc vào model đượ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 MLWeights & Biases đã được tích hợp trực tiếp vào vòng lặp huấn luyện.

Cá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 ràng buộc phần cứng của bạn và độ chính xác yêu cầu bởi lĩnh vực ứng dụng của bạn.

Khi nào nên chọn YOLOv5

YOLOv5 là một cựu binh đã được kiểm chứng qua thực tế, 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 khẩu 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 cực kỳ liền mạch.
  • Phần cứng biên cũ: Đối với các thiết bị như Raspberry Pi hoặc các thế hệ NVIDIA Jetson Nano đầu tiên, các phép tích chập đơn giản của YOLOv5 đảm bảo tốc độ khung hình ổn định cho các ứng dụng như quản lý bãi đỗ xe thông minh.
  • Rapid Prototyping: The extensive availability of community tutorials, custom pre-trained weights, and massive dataset compatibility makes it the fastest way to validate a proof-of-concept.

Khi nào nên chọn YOLOv9

YOLOv9 lý tưởng cho các tình huống mà việc nắm bắt các chi tiết phức tạp và giảm thiểu sai sót (false negatives) là tuyệt đối quan trọng, ngay cả khi nó yêu cầu chi phí tính toán cao hơn một chút.

  • 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 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 cung cấp một lợi thế cần thiết trong độ thu hồi (recall).
  • Phân tích bán lẻ cao cấp: Việc 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 giữ lại đặc trưng vượt trội của YOLOv9.

Mở rộng chân trời của bạn

Trong khi 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 đang tìm kiếm đỉnh cao hiệu năng, việc khám phá các model YOLO26 mới nhất là điều rất được khuyến khích. Bằng cách thay thế Non-Maximum Suppression truyền thống bằng Thiết kế End-to-End không NMS tự nhiên và sử dụng Bộ tối ưu hóa MuSGD 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 DFL Removal (Distribution Focal Loss được loại bỏ để đơn giản hóa việc xuất và tương thích tốt hơn với các thiết bị biên/công suất thấp), YOLO26 đạt được tốc độ suy luận trê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 (loss functions) cải tiến với những bước tiến đáng chú ý trong nhận diện vật thể nhỏ, điều này rất quan trọng đối với IoT, robot và hình ảnh hàng 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 model tiên tiến 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 dù bạn chọn model nào, đường ống phát triển của bạn vẫn sạch sẽ, hiệu quả và sẵn sàng mở rộng.

Bình luận