Link to this sectionSo 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 vượt bậc, trong đó phát hiện đối tượng đóng vai trò là 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 kiến trúc phù hợp thường đòi hỏi sự đánh giá cẩn thận về mAP (mean Average Precision), tốc độ suy luận và mức tiêu thụ bộ nhớ. Trong bài so sánh này, chúng ta sẽ khám phá hai mô hình có ảnh hưởng lớn: YOLOv9, nổi tiếng với những đột phá về 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 khả năng sử dụng cực kỳ dễ dàng và tính linh hoạt trong triển khai không đối thủ.
Link to this sectionCả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.
Link to this sectionYOLOv9: 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 sử dụng PGI, YOLOv9 đảm bảo thông tin quan trọng được giữ lại trong suốt quá trình truyền thẳng (feed-forward), dẫn đến các cập nhật gradient có độ chính xác cao. Trong khi đó, kiến trúc GELAN tối ưu hóa hiệu quả tham số, cho phép mô hình đạt được độ chính xác hàng đầu với mức chi phí tính toán thấp đến bất ngờ. Bạn có thể khám phá các chi tiết kỹ thuật trong bài báo YOLOv9 Arxiv chính thức hoặc xem kho lưu trữ YOLOv9 GitHub.
Link to this sectionUltralytics YOLOv5: Tiêu chuẩn Sản xuất#
Được tác giả Glenn Jocher viết 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 mô hình phát hiện đối tượng đầu tiên được xây dựng nguyên bản trên khung PyTorch, nó đã vượt qua những phức tạp của khung Darknet C cũ. 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 quan trọng 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ả đào tạo nhanh và các môi trường bộ nhớ thấp, giúp nó cực kỳ ổn định cho việc triển khai ở biên (edge).
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ề.
Link to this sectionPhân tích Hiệu suất: Tốc độ so với Độ chính xác#
Khi thiết kế một quy trình xử lý thị giác máy tính, các nhà phát triển 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 suất trên tập dữ liệu COCO tiêu 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 |
Link to this sectionPhâ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 mAP lên đến 55,6%, sử 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 lựa chọn vượt trội cho hình ảnh y tế hoặc các tình huống đòi hỏi độ chính xác khắt khe trên 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 về phần cứng. YOLOv5n (Nano) nổi tiếng với trọng lượng nhẹ, thực hiện 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ế, điện thoại di động hoặc Raspberry Pi, dấu chân bộ nhớ của YOLOv5 làm cho nó cực kỳ đáng tin cậy.
Link to this sectionLợi thế từ hệ sinh thái Ultralytics#
Một cân nhắc chính khi 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 tiêu 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 giúp 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.
Link to this sectionDễ 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à điều chỉnh siêu tham số được xử lý ngay từ đầu. Việc đưa mô hình vào sản xuất cũng đơn giản tương tự, 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.
Link to this sectionTí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. Khung làm việc rộng hơn cung cấp hỗ trợ nguyên bản cho phân loại hình ảnh, phân đoạn thực thể, ước tính tư thế và hộp bao định hướng (OBB), cho phép các nhà phát triển giải quyết nhiều vấn đề thị giác mà không cần thay đổi cơ sở mã.
Link to this sectionCá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.
Link to this sectionKhi 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.
Link to this sectionKhi 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 mở rộng: 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.
Link to this sectionKhi nào nên chọn Ultralytics (YOLO26)#
Đối với hầu hết các dự án mới, Ultralytics YOLO26 cung cấp sự kết hợp tốt nhất giữa hiệu năng và trải nghiệm 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 đầy thách thức như hình ảnh máy bay không người lái trên không hoặc phân tích cảm biến IoT, nơi ProgLoss và STAL tăng cường đáng kể độ chính xác trên các vật thể cực nhỏ.
Link to this sectionVí 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")Link to this sectionKhá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ự phát triển mạnh mẽ, tinh tế từ dòng YOLOv8 cung cấp 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à đề xuất tối ưu cho các quy trình làm việc hiện đại. Nó giới thiệu Thiết kế NMS-Free End-to-End, loại bỏ hoàn toàn các nút thắt hậu xử lý. Với Loại bỏ DFL (Distribution Focal Loss được loại bỏ để đơn giản hóa xuất mô hình 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 tăng cường thông qua Trình tối ưu hóa MuSGD mới, và ProgLoss + STAL mang lại các hàm mất mát cải tiến với những bước tiến đáng kể trong việc nhận diện đối tượng nhỏ, điều cực kỳ quan trọng cho 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ả triển khai tại biên và trên đám mây.
Đối với các nhóm quản lý các tập dữ liệu lớn và các quy trình triển khai phức tạp, việc sử dụng Nền tảng Ultralytics cung cấp giải pháp không cần lập trình (no-code) để 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.