YOLOv9 so với YOLOv5#
Lĩnh vực thị giác máy tính đã chứng kiến sự phát triển vượt bậc, trong đó phát hiện đối tượng đóng vai trò nền tảng cho vô số ứng dụng công nghiệp và nghiên cứu. Việc lựa chọn architecture phù hợp thường đòi hỏi đánh giá kỹ lưỡng về Độ chính xác trung bình (mAP), tốc độ suy luận và overhead bộ nhớ. Trong phần so sánh này, chúng ta tìm hiểu hai model có ảnh hưởng lớn: YOLOv9, nổi bật với những đột phá về architecture trong việc duy trì thông tin gradient, và Ultralytics YOLOv5, tiêu chuẩn công nghiệp đã được kiểm chứng qua thực tế, nổi tiếng nhờ tính dễ sử dụng vượt trội và khả năng triển khai linh hoạt không đối thủ.
Đổi mới architecture và nguồn gốc kỹ thuật#
Việc hiểu rõ cơ chế nền tảng của hai model này cung cấp bối cảnh quan trọng để đánh giá đặc tính hiệu năng tương ứng của chúng.
YOLOv9: Thông tin Gradient có thể lập trình#
Được phát triển bởi các nhà nghiên cứu Chien-Yao Wang và Hong-Yuan Mark Liao tại Institute of Information Science, Academia Sinica ở Đài Loan, YOLOv9 được phát hành vào ngày 21 tháng 2 năm 2024. Model này giới thiệu hai khái niệm đột phá nhằm giải quyết nút thắt thông tin thường gặp trong các mạng neural sâu: Thông tin gradient có thể lập trình (PGI) và Mạng tổng hợp lớp hiệu quả tổng quát hóa (GELAN).
Bằng cách sử dụng PGI, YOLOv9 đảm bảo thông tin quan trọng được duy trì trong suốt quá trình feed-forward, từ đó tạo ra các cập nhật gradient có độ chính xác cao. Trong khi đó, architecture GELAN tối đa hóa hiệu quả tham số, cho phép model đạt độ chính xác tiên tiến với overhead tính toán thấp đáng ngạc nhiên. Bạn có thể tìm hiểu chi tiết kỹ thuật trong bài báo Arxiv về YOLOv9 chính thức hoặc xem repository YOLOv9 trên GitHub.
Ultralytics YOLOv5: Tiêu chuẩn production#
Được Glenn Jocher biên soạn và Ultralytics phát hành vào ngày 26 tháng 6 năm 2020, YOLOv5 đã cách mạng hóa khả năng tiếp cận thị giác máy tính. Là một trong những model phát hiện đối tượng đầu tiên được xây dựng native trên framework PyTorch, model này loại bỏ sự phức tạp của C-framework Darknet cũ hơn. YOLOv5 tận dụng backbone CSPNet được tối ưu hóa cao và neck PANet, ưu tiên sự cân bằng liền mạch giữa tốc độ và độ chính xác.
Tuy nhiên, thành tựu nổi bật nhất của model là khả năng tích hợp vào hệ sinh thái Ultralytics rộng lớn hơn. YOLOv5 được tối ưu mạnh cho hiệu quả training nhanh và các môi trường có bộ nhớ thấp, nhờ đó đạt độ ổn định cao khi triển khai edge.
Khi đánh giá model cho các thiết bị edge, hãy nhớ rằng các model Ultralytics YOLO thường yêu cầu GPU memory thấp hơn đáng kể trong cả quá trình training và inference so với các architecture nặng dựa trên Transformer.
Phân tích hiệu năng: Tốc độ so với độ chính xác#
Khi thiết kế pipeline thị giác máy tính, developer phải cân nhắc sự đánh đổi giữa độ chính xác và độ trễ. Bảng sau minh họa sự khác biệt về hiệu năng trên dataset COCO tiêu chuẩn.
| Model | kích thước (pixel) | 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 |
| 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 |
Phân tích sự đánh đổi#
YOLOv9 thể hiện ưu thế tuyệt đối về độ chính xác thuần. YOLOv9e nâng mAP lên đến 55,6%, sử dụng các lớp GELAN để bảo toàn chi tiết ở mức tinh. Điều này khiến model trở thành lựa chọn xuất sắc cho chẩn đoán hình ảnh y khoa hoặc các tình huống yêu cầu độ chính xác nghiêm ngặt đối với các đối tượng nhỏ.
Ngược lại, YOLOv5 nổi bật về tốc độ triển khai thuần và tính linh hoạt phần cứng. YOLOv5n (Nano) nổi tiếng nhờ trọng lượng nhẹ, thực hiện inference chỉ trong 1,12 ms trên GPU T4 thông qua TensorRT. Nếu bạn triển khai trên các thiết bị IoT bị giới hạn tài nguyên, điện thoại di động hoặc Raspberry Pi, footprint bộ nhớ của YOLOv5 khiến model có độ tin cậy đặc biệt cao.
Lợi thế từ hệ sinh thái Ultralytics#
Một yếu tố quan trọng khi lựa chọn model là hệ sinh thái phần mềm xung quanh. Mặc dù YOLOv9 cung cấp các benchmark nghiên cứu hàng đầu, việc sử dụng cả hai model thông qua Ultralytics Python API hiện đại giúp thu hẹp khoảng cách, mang đến cho developer trải nghiệm thống nhất và tinh gọn.
Tính dễ sử dụng và export#
Ultralytics trừu tượng hóa các trở ngại engineering phức tạp. Các tính năng như tăng cường dữ liệu tự động và tinh chỉnh hyperparameter được xử lý sẵn. Việc đưa model vào production cũng đơn giản tương tự, với các lệnh export tích hợp sẵn để chuyển đổi model sang các định dạng ONNX, OpenVINO hoặc TFLite.
Tính linh hoạt theo task#
Mặc dù cả hai model đều hoạt động xuất sắc trong phát hiện đối tượng, các model Ultralytics hiện đại được xây dựng để xử lý nhiều bài toán thị giác máy tính khác nhau. Framework rộng hơn cung cấp hỗ trợ native cho phân loại hình ảnh, phân đoạn instance, ước lượng pose và hộp giới hạn định hướng (OBB), cho phép developer giải quyết nhiều bài toán thị giác mà không cần chuyển đổi codebase.
Các trường hợp sử dụng và khuyến nghị#
Việc lựa chọn giữa YOLOv9 và YOLOv5 phụ thuộc vào yêu cầu cụ thể của project, các ràng buộc triển khai và ưu tiên về hệ sinh thái của bạn.
Khi nào nên chọn YOLOv9#
YOLOv9 là lựa chọn phù hợp cho:
- Nghiên cứu nút thắt thông tin: Các dự án học thuật nghiên cứu kiến trúc Programmable Gradient Information (PGI) và Generalized Efficient Layer Aggregation Network (GELAN).
- Nghiên cứu tối ưu hóa luồng gradient: Các nghiên cứu tập trung vào việc tìm hiểu và giảm thiểu mất mát thông tin trong các layer sâu của network trong quá trình huấn luyện.
- Benchmark phát hiện độ chính xác cao: Các tình huống cần hiệu năng benchmark COCO mạnh của YOLOv9 làm mốc tham chiếu cho việc so sánh kiến trúc.
Khi nào nên chọn YOLOv5#
YOLOv5 được khuyến nghị cho:
- Hệ thống production đã được kiểm chứng: Các triển khai hiện có, trong đó bề dày ổn định, tài liệu phong phú và sự hỗ trợ lớn từ cộng đồng của YOLOv5 được đánh giá cao.
- Huấn luyện trong điều kiện hạn chế tài nguyên: Các môi trường có tài nguyên GPU hạn chế, nơi pipeline huấn luyện hiệu quả và yêu cầu bộ nhớ thấp hơn của YOLOv5 mang lại lợi thế.
- Hỗ trợ đa dạng định dạng export: Các dự án yêu cầu triển khai trên nhiều định dạng, bao gồm ONNX, TensorRT, CoreML và TFLite.
Khi nào nên chọn Ultralytics (YOLO26)#
Đối với hầu hết dự án mới, Ultralytics YOLO26 mang đến sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm developer:
- Triển khai edge không cần NMS: Các ứng dụng yêu cầu suy luận nhất quán, độ trễ thấp mà không có sự phức tạp của bước hậu xử lý triệt tiêu cực đại.
- Môi trường chỉ sử dụng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi khả năng suy luận trên CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Phát hiện đối tượng nhỏ: Các kịch bản đầy thách thức như ảnh chụp từ drone trên không hoặc phân tích cảm biến IoT, trong đó ProgLoss và STAL cải thiện đáng kể độ chính xác trên các đối tượng rất nhỏ.
Ví dụ Triển khai#
Điểm nổi bật của hệ sinh thái Ultralytics là bạn có thể chuyển đổi giữa model YOLOv5 và model YOLOv9 chỉ bằng cách thay đổi chuỗi weight.
from ultralytics import YOLO
# Load a pretrained YOLOv9 model (swap to "yolov5s.pt" to use YOLOv5)
model = YOLO("yolov9c.pt")
# Train the model efficiently on a custom dataset
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on new images
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")
# Export to ONNX for seamless deployment
model.export(format="onnx")Khám phá các architecture mới hơn#
Mặc dù YOLOv5 và YOLOv9 là những model xuất sắc với các ưu điểm riêng, lĩnh vực này vẫn không ngừng phát triển. Người dùng đang khám phá các project mới cũng có thể muốn đánh giá những phiên bản mới nhất từ Ultralytics.
- YOLO11: Phiên bản phát triển mạnh mẽ và tinh chỉnh từ dòng YOLOv8, mang lại sự cân bằng tuyệt vời giữa tốc độ và độ chính xác trên mọi task thị giác.
- YOLO26: Được phát hành vào năm 2026, YOLO26 là khuyến nghị tối ưu cho các pipeline hiện đại. Model này giới thiệu Thiết kế End-to-End không cần NMS, loại bỏ hoàn toàn các nút thắt trong post-processing. 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), model đạt tốc độ inference CPU nhanh hơn tới 43%. Độ ổn định khi training được tăng cường mạnh mẽ nhờ MuSGD Optimizer mới, còn 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à hình ảnh trên không, khiến đây trở thành architecture mạnh mẽ nhất cho cả triển khai edge và cloud.
Đối với các team quản lý dataset lớn và pipeline triển khai phức tạp, việc sử dụng Ultralytics Platform cung cấp giải pháp no-code để training, theo dõi và triển khai những model tiên tiến này một cách dễ dàng.