YOLOv5 so với YOLOv9#
Lĩnh vực thị giác máy tính và phát hiện đối tượng theo thời gian thực đã đạt được những tiến bộ đáng kể trong vài năm qua. Việc lựa chọn giữa các model đã được kiểm chứng qua thực tế và những 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ư machine learning. Hướng dẫn này cung cấp phần so sánh kỹ thuật toàn diện giữa hai model có ảnh hưởng lớn trong họ YOLO: YOLOv5 và YOLOv9.
Dù bạn đang triển khai trên các thiết bị edge bị giới hạn tài nguyên, nghiên cứu việc trích xuất đặc trưng có độ trung thực 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 khác biệt về kiến trúc, chỉ số hiệu năng và hệ sinh thái của những model này là rất quan trọng.
Tổng quan về model#
Trước khi đi sâu vào phần so sánh kiến trúc, sẽ hữu ích nếu hiểu rõ nguồn gốc và các mục tiêu chính của từng model.
Ultralytics YOLOv5#
Được Glenn Jocher phát triển và Ultralytics phát hành vào ngày 26 tháng 6 năm 2020, YOLOv5 đã tạo ra một bước ngoặt về cách các developer tương tác với các model thị giác. Bằng cách hoàn toàn sử dụng framework PyTorch, YOLOv5 thay thế các bước biên dịch phức tạp của những model dựa trên Darknet trước đó 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: Repository YOLOv5
- Tài liệu: Tài liệu YOLOv5
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ợ detection mà còn hỗ trợ phân loại ảnh và instance segmentation.
YOLOv9#
Được Chien-Yao Wang và Hong-Yuan Mark Liao thuộc Institute of Information Science tại Academia Sinica, Đài Loan, giới thiệu, YOLOv9 tập trung mạnh vào lý thuyết kiến trúc nhằm giảm thiểu các vấn đề về nút thắt thông tin trong 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
- Ngày: 2024-02-21
- Arxiv: 2402.13616
- GitHub: Repository YOLOv9
- Tài liệu: Tài liệu YOLOv9
Nền tảng của YOLOv9 dựa trên hai đổi mới lý thuyết chính: Thông tin Gradient Có thể Lập trình (PGI) và Mạng Tổng hợp Tầng Hiệu quả Tổng quát (GELAN). Các khái niệm này giúp model duy trì những đặc trưng không gian quan trọng qua các tầng sâu của mạng.
Mặc dù YOLOv5 và YOLOv9 rất mạnh, YOLO26 mới được phát hành mang đến 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à khả năng suy luận trên CPU nhanh hơn tới 43%, YOLO26 rất được khuyến nghị cho điện toán edge hiện đại và các triển khai production.
Khác biệt về kiến trúc và kỹ thuật#
Việc hiểu rõ cơ chế hoạt động bên trong của các model thị giác này là yếu tố then chốt để tối ưu hóa chiến lược triển khai model.
Trích xuất đặc trưng và duy trì thông tin#
YOLOv5 sử dụng backbone Mạng Một phần Giai đoạn Chéo (CSPNet), giúp giảm đáng kể overhead 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 cao cho các thao tác GPU truyền thống và bảo đảm yêu cầu bộ nhớ thấp hơn trong quá trình training so với các lựa chọn thay thế dựa trên Transformer cồng kềnh.
YOLOv9 giới thiệu GELAN, một kiến trúc tổng quát mở rộng các nguyên lý của CSPNet. Kết hợp với PGI—một nhánh phụ có khả năng đảo ngược—YOLOv9 bảo đảm rằng các tầng 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 độ chính xác cao, đặc biệt với các đối tượng nhỏ, dù việc phân nhánh phụ phức tạp đôi khi có thể khiến pipeline export lên phần cứng edge bị giới hạn nghiêm ngặt trở nên khó khăn hơn.
Yêu cầu bộ nhớ và hiệu quả training#
Về hiệu quả training, YOLOv5 vẫn cực kỳ mạnh mẽ. Hệ sinh thái Ultralytics được duy trì tốt giúp các model YOLOv5 tiêu thụ ít bộ nhớ CUDA hơn đáng kể, cho phép các nhà nghiên cứu tối đa hóa batch size trên GPU phổ thông. Dù YOLOv9 đạt hiệu quả tham số xuất sắc (độ chính xác cao so với kích thước model), quy trình training của model này có thể tiêu 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 là việc tích hợp YOLOv9 vào API Ultralytics giúp hiệu quả quản lý tài nguyên của model này gần tương đương với quy trình tinh gọn của YOLOv5.
Hiệu năng và các 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 của chúng trên các dataset tiêu chuẩn như COCO. Dưới đây là phần phân tích chi tiết các chỉ số như mAP (Độ chính xác trung bình), tốc độ suy luận và số lượng tham số.
| Model | kích thước (pixel) | mAPval 50-95 | Tốc độ CPU ONNX (ms) | Tốc độ T4 TensorRT10 (ms) | tham số (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 độ chính xác thô cao hơn ở các phân hạng tương đương, phản ánh kiến trúc mới hơn. Tuy nhiên, YOLOv5n duy trì độ trễ TensorRT cực thấp ở mức 1.12ms, làm nổi bật thế mạnh lâu dài của model này đối với các ứng dụng điện toán edge cục bộ, tốc độ cao.
Phương pháp training và tính dễ sử dụng#
Lợi thế thực sự của việc ứng dụng thị giác máy tính ngày nay nằm ở khả năng tiếp cận của toolchain.
Lợi thế của Ultralytics#
Mặc dù các repository nghiên cứu gốc của những model như YOLOv9 đóng vai trò nền tảng, chúng thường đi kèm ma trận dependency phức tạp và các script 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ể training, đánh giá và export cả YOLOv5 lẫn YOLOv9 bằng 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 một API duy nhất này mang lại Tính linh hoạt rất lớn, không chỉ hỗ trợ detection mà còn hỗ trợ ước tính pose và bounding box định hướng (OBB) tùy theo model được chọn. Ngoài ra, các tích hợp mạnh mẽ với những công cụ như Comet ML và Weights & Biases đã được tích hợp trực tiếp vào vòng lặp training.
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 giới hạn phần cứng và mức độ chính xác mà lĩnh vực ứng dụng của bạn yêu cầu.
Khi nào nên chọn YOLOv5#
YOLOv5 là một model kỳ cựu đã được kiểm chứng qua thực tế, nổi bật trong các triển khai ưu tiên tính ổn định, footprint bộ nhớ thấp và khả năng tương thích export cao.
- Triển khai trên thiết bị di động: Việc export YOLOv5 sang TFLite hoặc CoreML để suy luận trên thiết bị trên các smartphone đời cũ diễn ra cực kỳ thuận lợi.
- Phần cứng edge thế hệ 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 bảo đảm tốc độ khung hình ổn định cho những ứng dụng như quản lý bãi đỗ xe thông minh.
- Tạo prototype nhanh: Nguồn tutorial cộng đồng phong phú, pre-trained weight tùy chỉnh đa dạng và khả năng tương thích với lượng dataset khổng lồ khiến đây là cách nhanh nhất để xác thực một 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 thu nhận chi tiết tinh vi và giảm thiểu false negative là yếu tố tuyệt đối quan trọng, ngay cả khi model yêu cầu overhead tính toán cao hơn một chút.
- Ảnh chụp từ trên không và ảnh vệ tinh: Framework PGI đặc biệt hiệu quả trong việc duy trì độ trung thực của các đối tượng nhỏ, khiến YOLOv9 trở nên xuất sắc cho giám sát nông nghiệp bằng drone.
- 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 rất nhỏ trong ảnh 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 về recall.
- Phân tích bán lẻ cao cấp: Việc theo dõi các sản phẩm chồng lấp trên những kệ hàng dày đặc hưởng lợi đáng kể từ khả năng duy trì đặc trưng vượt trội của YOLOv9.
Mở rộng tầm nhìn#
Mặc dù việc so sánh YOLOv5 và YOLOv9 cho thấy rõ cách các kiến trúc đã phát triển từ năm 2020 đến năm 2024, lĩnh vực AI đang tiến nhanh hơn bao giờ hết. Đối với các developer muốn đạt đến giới hạn hiệu năng, việc khám phá những model YOLO26 mới nhất được đặc biệt 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 cần NMS gốc và sử dụng Optimizer 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 độ production. Với Loại bỏ DFL (loại bỏ Distribution Focal Loss để đơn giản hóa việc export và cải thiện khả năng tương thích với các thiết bị edge/công suất thấp), YOLO26 đạt tốc độ suy luận trên CPU nhanh hơn tới 43%, khiến model này trở nên lý tưởng cho điện toán edge. Ngoài ra, ProgLoss + STAL cung cấp các hàm loss được cải thiện cùng những tiến bộ đáng kể trong việc nhận diện đối tượng nhỏ, yếu tố quan trọng đối với IoT, robotics và ảnh chụp từ 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 những model hiện đại khác như RT-DETR hoặc YOLO11 có năng lực cao. Việc sử dụng framework Ultralytics thống nhất bảo đảm rằng dù bạn chọn model nào, pipeline phát triển của bạn vẫn gọn gàng, hiệu quả và sẵn sàng mở rộng.