Link to this sectionYOLOv9 so với YOLOv7#
Sự phát triển của nhận diện đối tượng thời gian thực được thúc đẩy bởi nhu cầu không ngừng trong việc cân bằng giữa hiệu suất tính toán và độ chính xác cao. Hai kiến trúc mang tính bước ngoặt trong hành trình này là YOLOv9 và YOLOv7, cả hai đều được phát triển bởi các nhà nghiên cứu tại Viện Thông tin học, Academia Sinica ở Đài Loan. Trong khi YOLOv7 giới thiệu các túi quà miễn phí (bag-of-freebies) có thể huấn luyện mang tính cách mạng, thì YOLOv9 mới hơn giải quyết trực tiếp các nút thắt thông tin trong deep learning.
Bài so sánh kỹ thuật toàn diện này khám phá những khác biệt về kiến trúc, chỉ số hiệu suất và các kịch bản triển khai lý tưởng cho cả hai mô hình, giúp các kỹ sư ML và nhà nghiên cứu chọn đúng công cụ cho các pipeline thị giác máy tính của họ.
Link to this sectionSo sánh Hiệu năng và Chỉ số#
Khi so sánh các mô hình này, hiệu suất thô và hiệu quả là những yếu tố quan trọng. Bảng sau đây trình bày chi tiết về mean Average Precision (mAP) và các yêu cầu tính toán cho các benchmark chuẩn trên bộ dữ liệu COCO.
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Hãy chú ý cách YOLOv9c đạt được độ chính xác tương đương (53.0 mAP) như YOLOv7x (53.1 mAP) trong khi sử dụng ít tham số hơn đáng kể (25.3M so với 71.3M) và ít FLOPs hơn. Điều này chứng minh những cải tiến về Cân bằng Hiệu suất trong các kiến trúc hiện đại.
Link to this sectionYOLOv9: Giải quyết nút thắt thông tin#
Được giới thiệu vào đầu năm 2024, YOLOv9 đã thay đổi về cơ bản cách các deep neural network lưu giữ dữ liệu xuyên suốt các lớp của chúng.
- Tác giả: Chien-Yao Wang và Hong-Yuan Mark Liao
- Tổ chức: Institute of Information Science, Academia Sinica
- Ngày: 21 tháng 2 năm 2024
- Tài nguyên: Arxiv Paper | GitHub Repository
Link to this sectionCải tiến Kiến trúc#
YOLOv9 giới thiệu Generalized Efficient Layer Aggregation Network (GELAN) và Programmable Gradient Information (PGI). GELAN kết hợp thế mạnh của CSPNet và ELAN để tối ưu hóa hiệu quả tham số và chi phí tính toán, đảm bảo độ chính xác cao với số lượng tham số thấp hơn. PGI là một framework giám sát phụ được thiết kế để ngăn ngừa mất dữ liệu trong các mạng sâu, tạo ra các gradient đáng tin cậy để cập nhật trọng số trong quá trình huấn luyện.
Link to this sectionĐiểm mạnh và hạn chế#
Thế mạnh chính của YOLOv9 là khả năng trích xuất các đặc trưng tinh vi mà không cần chi phí tính toán khổng lồ, làm cho nó cực kỳ hiệu quả cho các tác vụ đòi hỏi độ trung thực đặc trưng cao, như phân tích hình ảnh y tế. Tuy nhiên, cấu trúc PGI phức tạp trong quá trình huấn luyện có thể khiến việc sửa đổi kiến trúc tùy chỉnh trở nên khó khăn hơn đối với người mới bắt đầu so với các framework thống nhất hơn.
Link to this sectionYOLOv7: Người tiên phong Bag-of-Freebies#
Được phát hành năm 2022, YOLOv7 thiết lập một benchmark mới về những gì có thể thực hiện trên phần cứng phổ thông, giới thiệu các cải tiến cấu trúc giúp tăng đáng kể tốc độ inference thời gian thực.
- Tác giả: Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao
- Tổ chức: Institute of Information Science, Academia Sinica
- Ngày: 6 tháng 7, 2022
- Tài nguyên: Arxiv Paper | GitHub Repository
Link to this sectionCải tiến Kiến trúc#
Đóng góp cốt lõi của YOLOv7 là Extended Efficient Layer Aggregation Network (E-ELAN). Kiến trúc này cho phép mô hình học các đặc trưng đa dạng hơn một cách liên tục. Ngoài ra, YOLOv7 sử dụng "trainable bag-of-freebies"—các kỹ thuật như convolution được tái tham số hóa có kế hoạch và gán nhãn động. Các phương pháp này cải thiện độ chính xác của mô hình trong quá trình huấn luyện mà không làm tăng chi phí inference khi triển khai.
Link to this sectionĐiểm mạnh và hạn chế#
YOLOv7 được tối ưu hóa cao cho xử lý edge thời gian thực và vẫn là một thành phần thiết yếu trong các hệ thống kế thừa và các môi trường CUDA cũ hơn. Hạn chế chính của nó hiện nay là kích thước tham số lớn hơn so với các mô hình mới hơn. Như được hiển thị trong bảng hiệu suất, việc đạt được độ chính xác hàng đầu đòi hỏi mô hình YOLOv7x nặng nề, vốn yêu cầu nhiều bộ nhớ GPU hơn đáng kể so với các kiến trúc hiện đại tương đương.
Link to this sectionLợi thế từ Ultralytics: Triển khai tinh gọn#
Mặc dù các repository nghiên cứu gốc cho YOLOv9 và YOLOv7 cung cấp các nền tảng học thuật tuyệt vời, việc triển khai các mô hình này trong môi trường sản xuất có thể rất phức tạp. Tích hợp chúng thông qua gói ultralytics mang lại Tính dễ sử dụng vượt trội.
Bằng cách sử dụng Nền tảng Ultralytics tích hợp, các nhà phát triển được hưởng lợi từ một hệ sinh thái được bảo trì tốt với API Python trực quan, hỗ trợ cộng đồng tích cực và theo dõi thử nghiệm mạnh mẽ.
Link to this sectionSẵn sàng cho tương lai với YOLO26#
Nếu bạn đang bắt đầu một dự án thị giác máy tính mới, chúng tôi thực sự khuyên bạn nên khám phá YOLO26 mới được phát hành thay vì cả YOLOv9 và YOLOv7. Được phát hành như một tiêu chuẩn state-of-the-art mới, YOLO26 mang đến những bước tiến đột phá:
- Thiết kế NMS-Free End-to-End: Loại bỏ xử lý hậu kỳ Non-Maximum Suppression, giảm đáng kể độ phức tạp và độ trễ khi triển khai.
- Tốc độ inference CPU nhanh hơn tới 43%: Được tối ưu hóa cho các môi trường edge computing, đảm bảo ứng dụng của bạn chạy mượt mà ngay cả khi không có GPU chuyên dụng.
- Trình tối ưu hóa MuSGD: Một trình tối ưu hóa lai lấy cảm hứng từ huấn luyện LLM, mang lại sự hội tụ cực kỳ ổn định và giảm thời gian huấn luyện.
- Loại bỏ DFL: Đơn giản hóa việc xuất mô hình bằng cách loại bỏ Distribution Focal Loss, tăng cường khả năng tương thích với các thiết bị di động năng lượng thấp.
- ProgLoss + STAL: Cải thiện đáng kể hiệu suất nhận diện đối tượng nhỏ, biến nó trở thành lựa chọn hàng đầu cho ảnh hàng không và giám sát.
Các lựa chọn thay thế phổ biến khác trong hệ sinh thái bao gồm Ultralytics YOLOv8 và YOLO11, cả hai đều mang lại tính linh hoạt to lớn trên các tác vụ như instance segmentation và pose estimation.
Link to this sectionVí dụ triển khai#
Huấn luyện và xuất bất kỳ kiến trúc nào trong số này cực kỳ đơn giản với API thống nhất. Đoạn mã dưới đây minh họa đặc điểm Hiệu quả Huấn luyện được sắp xếp hợp lý của các công cụ Ultralytics.
from ultralytics import YOLO
# Initialize YOLOv9 or the recommended YOLO26 model
model = YOLO("yolov9c.pt") # Swap with "yolo26n.pt" for faster edge performance
# Train on a custom dataset with built-in data augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Export the trained model to ONNX format for deployment
model.export(format="onnx")Khi huấn luyện trên phần cứng cấp người tiêu dùng, hiệu quả bộ nhớ là rất quan trọng. Các triển khai YOLOv9 và YOLO26 của Ultralytics được tối ưu hóa mạnh mẽ để giảm các đột biến VRAM, không giống như các mô hình dựa trên Transformer (như RT-DETR), vốn thường gặp phải tình trạng quá tải bộ nhớ nghiêm trọng trong quá trình huấn luyện.
Link to this sectionCác ứng dụng thực tế và trường hợp sử dụng lý tưởng#
Việc lựa chọn giữa các kiến trúc này thường phụ thuộc vào những hạn chế cụ thể trong môi trường sản xuất của bạn.
Khi nào sử dụng YOLOv9: YOLOv9 vượt trội trong các môi trường cần giữ lại chi tiết nhỏ. Khả năng trích xuất đặc trưng mạnh mẽ của nó làm cho nó trở nên lý tưởng cho phân tích bán lẻ để đếm các sản phẩm đóng gói dày đặc trên kệ hoặc cho các ứng dụng nông nghiệp, nơi việc xác định bệnh cây trồng giai đoạn đầu trên các lá nhỏ là rất quan trọng.
Khi nào sử dụng YOLOv7: YOLOv7 vẫn là một ứng cử viên mạnh mẽ cho các pipeline triển khai kế thừa. Nếu bạn đang tích hợp vào các hệ thống phần cứng cũ (như một số thế hệ Google Coral Edge TPU), kiến trúc CNN đơn giản của YOLOv7 có thể dễ biên dịch hơn các nhánh gradient phức tạp hơn của các mô hình mới hơn.
Khi nào sử dụng YOLO26 (Khuyên dùng): Đối với bất kỳ triển khai hiện đại nào—từ máy bay không người lái tự hành đến quản lý giao thông thành phố thông minh—YOLO26 là lựa chọn vượt trội. Kiến trúc không cần NMS của nó đảm bảo thời gian inference xác định, điều cần thiết cho robot an toàn, trong khi độ chính xác cao của nó vượt xa cả YOLOv9 và YOLOv7 trên mọi phương diện.