So sánh YOLOv9 và YOLOv5#
Lĩnh vực thị giác máy tính đã chứng kiến sự tăng trưởng mạnh mẽ, với việc phát hiện đối tượng đóng vai trò cốt lõi cho vô số ứng dụng công nghiệp và nghiên cứu. Việc lựa chọn kiến trúc phù hợp thường đòi hỏi phải đánh giá cẩn thận độ chính xác trung bình (mAP), tốc độ suy luận và chi phí bộ nhớ. Trong phần so sánh này, chúng tôi khám phá hai mô hình có sức ảnh hưởng lớn: YOLOv9, nổi tiếng với những đột phá kiến trúc trong việc giữ lại 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 với sự dễ sử dụng đáng kinh ngạc và tính linh hoạt khi triển khai chưa từng có.
Cải tiến Kiến trúc và Nguồn gốc Kỹ thuật#
Việc hiểu rõ cơ chế nền tảng của hai mô hình này cung cấp bối cảnh quan trọng cho đặc điểm hiệu suất 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 Viện Thông tin Khoa học, Academia Sinica ở Đài Loan, YOLOv9 đã được phát hành vào ngày 21 tháng 2 năm 2024. Mô hình này giới thiệu hai khái niệm mang tính đột phá để giải quyết nút thắt thông tin thường gặp trong các mạng thần kinh sâu: Programmable Gradient Information (PGI) và Generalized Efficient Layer Aggregation Network (GELAN).
Bằng cách tận dụng PGI, YOLOv9 đảm bảo rằng thông tin quan trọng được giữ lại xuyên suốt quá trình truyền thẳng, dẫn đến các bản cập nhật gradient có độ chính xác cao. Trong khi đó, kiến trúc GELAN tối đa hóa hiệu quả tham số, cho phép mô hình đạt được độ chính xác tiên tiến với chi phí tính toán thấp đến ngạc nhiên. Bạn có thể khám phá các chi tiết kỹ thuật trong bài báo Arxiv YOLOv9 chính thức hoặc xem kho lưu trữ GitHub của YOLOv9.
Ultralytics YOLOv5: Tiêu chuẩn Sản xuất#
Do Glenn Jocher sáng tác và được 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 của thị giác máy tính. Là một trong những mô hình phát hiện đối tượng đầu tiên được xây dựng nguyên bản trênframework PyTorch, nó đã bỏ qua sự phức tạp của framework Darknet C cũ hơn. YOLOv5 tận dụng backbone CSPNet được tối ưu hóa cao và cổ chai 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 lớn nhất của nó là việc tích hợp vào hệ sinh thái Ultralytics rộng lớn hơn. YOLOv5 được tối ưu hóa mạnh mẽ cho hiệu quả huấn luyện nhanh và môi trường có bộ nhớ thấp, giúp nó cực kỳ ổn định cho các hệ thống triển khai biên.
Khi đánh giá các mô hình cho thiết bị biên, hãy nhớ rằng các mô hình Ultralytics YOLO thường yêu cầu bộ nhớ GPU thấp hơn đáng kể trong cả quá trình huấn luyện và suy luận so với các kiến trúc dựa trên Transformer nặng nề.
Phân tích Hiệu suất: Tốc độ so với Độ chính xác#
Khi thiết kế một pipeline thị giác máy tính, các nhà phát triển phải cân nhắc giữa độ chính xác và độ trễ. Bảng sau đây minh họa sự khác biệt về hiệu suất trên tập dữ liệu COCO chuẩn.
| 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) |
|---|---|---|---|---|---|---|
| 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 các đánh đổi#
YOLOv9 thiết lập sự thống trị tuyệt đối về độ chính xác thô. YOLOv9e đẩy giới hạn của mAP lên 55,6%, tận dụng các lớp GELAN để bảo toàn các chi tiết tinh vi. Điều này làm cho nó trở thành một lựa chọn đặc biệt cho hình ảnh y tế hoặc các kịch bản đòi hỏi độ chính xác khắt khe đối với các đối tượng nhỏ.
Ngược lại, YOLOv5 tỏa sáng ở tốc độ triển khai thô và tính linh hoạt phần cứng. YOLOv5n (Nano) nổi tiếng là nhẹ, thực thi các suy luận chỉ trong 1,12ms trên GPU T4 thông qua TensorRT. Nếu bạn đang triển khai trên các thiết bị IoT bị hạn chế tài nguyên, điện thoại di động hoặc Raspberry Pi, dung lượng bộ nhớ của YOLOv5 mang lại độ tin cậy phi thường.
Lợi thế từ hệ sinh thái Ultralytics#
Một cân nhắc lớn khi lựa chọn mô hình là hệ sinh thái phần mềm xung quanh. Mặc dù YOLOv9 cung cấp các điểm chuẩn nghiên cứu hàng đầu, việc sử dụng cả hai mô hình thông qua Ultralytics Python API hiện đại sẽ thu hẹp khoảng cách, mang lại cho các nhà phát triển trải nghiệm thống nhất và tinh gọn.
Dễ sử dụng và Xuất mô hình#
Ultralytics trừu tượng hóa các rào cản kỹ thuật phức tạp. Các tính năng như tăng cường dữ liệu tự động và tinh chỉnh siêu tham số được xử lý sẵn sàng để sử dụng ngay. Việc đưa các mô hình vào sản xuất cũng đơn giản không kém, với các lệnh xuất tích hợp sẵn để chuyển đổi mô hình sang các định dạng ONNX, OpenVINO hoặc TFLite.
Tính linh hoạt của Nhiệm vụ#
Mặc dù cả hai mô hình đều xuất sắc trong việc phát hiện đối tượng, các mô hình Ultralytics hiện đại được xây dựng để giải quyết nhiều thách thức về thị giác máy tính. Framework rộng lớn hơn cung cấp hỗ trợ gốc cho phân loại hình ảnh, phân đoạn thực thể, ước lượng tư thế và hộp bao quanh định hướng (OBB), cho phép các nhà phát triển giải quyết nhiều bài toán thị giác mà không cần thay đổi cơ sở mã.
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 dự án cụ thể, hạn chế triển khai và tùy chọn hệ sinh thái của bạn.
Khi nào nên chọn YOLOv9#
YOLOv9 là lựa chọn mạnh mẽ cho:
- Nghiên cứu Nút thắt Thông tin (Information Bottleneck): Các dự án học thuật nghiên cứu về Programmable Gradient Information (PGI) và kiến trúc Generalized Efficient Layer Aggregation Network (GELAN).
- Nghiên cứu Tối ưu hóa Luồng Gradient: Nghiên cứu tập trung vào việc hiểu và giảm thiểu tình trạng mất thông tin trong các lớp mạng sâu trong quá trình huấn luyện.
- Đo lường Phát hiện Độ chính xác cao: Các kịch bản mà hiệu suất đo lường trên bộ dữ liệu COCO của YOLOv9 cần thiết làm điểm tham chiếu cho cá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 sản xuất đã được kiểm chứng: Các hệ thống triển khai hiện có, nơi mà lịch sử lâu dài về tính ổn định, tài liệu đầy đủ và sự hỗ trợ cộng đồng khổng lồ của YOLOv5 được đánh giá cao.
- Huấn luyệ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 đường ống huấn luyện hiệu quả và yêu cầu bộ nhớ thấp hơn của YOLOv5 mang lại nhiều lợi thế.
- Hỗ trợ định dạng xuất phong phú (Extensive Export Format Support): 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 các dự án mới, Ultralytics YOLO26 mang lại sự kết hợp tốt nhất giữa hiệu suất và trải nghiệm của nhà phát triển:
- 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 hậu xử lý Non-Maximum Suppression.
- Môi trường chỉ dùng CPU: Các thiết bị không có tăng tốc GPU chuyên dụng, nơi suy luận CPU nhanh hơn tới 43% của YOLO26 mang lại lợi thế quyết định.
- Phát hiện Vật thể Nhỏ: Các kịch bản thử thách như aerial drone imagery hoặc phân tích cảm biến IoT nơi ProgLoss và STAL cải thiện đáng kể độ chính xác trên các vật thể nhỏ xíu.
Ví dụ triển khai#
Vẻ đẹp của hệ sinh thái Ultralytics là bạn có thể chuyển đổi giữa mô hình YOLOv5 và mô hình YOLOv9 chỉ bằng cách thay đổi chuỗi trọng số.
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 Kiến trúc mới hơn#
Trong khi YOLOv5 và YOLOv9 là những mô hình xuất sắc với các ưu điểm riêng biệt, lĩnh vực này vẫn không ngừng tiến bộ. Những người dùng đang khám phá các dự án mới cũng có thể muốn đánh giá các phiên bản mới nhất từ Ultralytics.
- YOLO11: Một sự tiến hóa mạnh mẽ và tinh tế của 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 tất cả các tác vụ 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. Nó giới thiệu Thiết kế NMS-Free Từ đầu đến cuối (End-to-End NMS-Free Design), loại bỏ hoàn toàn các điểm nghẽn xử lý hậu kỳ. Với tính năng Loại bỏ DFL (DFL Removal) (loại bỏ Distribution Focal Loss để đơn giản hóa việc xuất và cải thiện khả năng tương thích với thiết bị biên/công suất thấp), nó đạt được tốc độ suy luận CPU nhanh hơn tới 43%. Sự ổn định khi huấn luyện được gia tăng mạnh mẽ thông qua MuSGD Optimizer mới, và ProgLoss + STAL mang lại các hàm mất mát được cải thiện với những bước tiến đáng kể trong việc nhận diện đối tượng nhỏ, rất quan trọng đối với IoT, robot và hình ảnh trên không, biến nó thành kiến trúc mạnh mẽ nhất cho cả việc triển khai ở biên và trên đám mây.
Đối với các nhóm quản lý tập dữ liệu lớn và các pipeline triển khai phức tạp, việc sử dụng Ultralytics Platform cung cấp giải pháp không cần mã để huấn luyện, theo dõi và triển khai các mô hình tiên tiến này một cách dễ dàng.