YOLOv9 so với YOLOv7: Phân tích kỹ thuật chuyên sâu về nhận diện đối tượng hiện đại
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 liên tục nhằm 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, đều được phát triển bởi các nhà nghiên cứu tại Viện Thông tin Khoa học, Academia Sinica ở Đài Loan. Trong khi YOLOv7 giới thiệu các "bag-of-freebies" (túi quà tặng) 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 diện 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á các 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 model, giúp các kỹ sư ML và nhà nghiên cứu chọn được công cụ phù hợp cho các pipeline thị giác máy tính của mình.
So sánh hiệu suất và các chỉ số
Khi so sánh các model này, hiệu suất thô và hiệu quả là những yếu tố then chốt. Bảng dưới đây trình bày chi tiết chỉ số mAP (mean Average Precision) và các yêu cầu tính toán cho các benchmark tập dữ liệu COCO tiêu chuẩn.
| Model | kích thước (pixels) | 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Hãy lưu ý cách YOLOv9c đạt được độ chính xác gần tương đương (53.0 mAP) với 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 minh chứng cho 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.
YOLOv9: 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 cơ bản cách các mạng nơ-ron sâu duy trì dữ liệu qua 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
Những cải tiến trong 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ụ trợ được thiết kế để ngăn ngừa mất mát dữ liệu trong các mạng sâu, tạo ra các gradient tin cậy để cập nhật trọng số trong quá trình huấn luyện.
Ưu điểm 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 tế mà không gây quá tải tính toán lớn, khiến nó cực kỳ mạnh mẽ cho các tác vụ yêu cầu độ trung thực của đặ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 thách thức hơn đối với người mới bắt đầu so với các framework thống nhất hơn.
YOLOv7: Người tiên phong Bag-of-Freebies
Được phát hành vào năm 2022, YOLOv7 đã thiết lập một tiêu chuẩn mới cho những gì có thể thực hiện trên phần cứng tiêu dùng, giới thiệu các cải tiến cấu trúc giúp tăng đáng kể tốc độ suy luận 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
Những cải tiến trong 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 model 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ư tích chập tái tham số hóa có kế hoạch và gán nhãn động. Những phương pháp này cải thiện độ chính xác của model trong quá trình huấn luyện mà không làm tăng chi phí suy luận khi triển khai.
Ưu điểm và Hạn chế
YOLOv7 được tối ưu hóa cao cho xử lý biên thời gian thực và vẫn là yếu tố chủ chốt 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ó ngày nay là kích thước tham số lớn hơn so với các model mới hơn. Như được hiển thị trong bảng hiệu suất, để đạt được độ chính xác hàng đầu cần sử dụng model YOLOv7x nặng, đòi hỏi nhiều bộ nhớ GPU hơn đáng kể so với các kiến trúc hiện đại tương đương.
Lợi thế từ Ultralytics: Triển khai tinh gọn
Mặc dù các kho lưu trữ nghiên cứu gốc cho YOLOv9 và YOLOv7 cung cấp nền tảng học thuật tuyệt vời, việc triển khai các model này trong môi trường sản xuất có thể phức tạp. Tích hợp chúng thông qua gói ultralytics mang lại sự Dễ sử dụng chưa từng có.
Bằng cách sử dụng Ultralytics Platform tích hợp, các nhà phát triển được hưởng lợi từ một hệ sinh thái được duy trì tốt với API Python trực quan, sự hỗ trợ từ cộng đồng năng động và khả năng theo dõi thí nghiệm mạnh mẽ.
Đón đầu 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 tiên tiến nhất mới, YOLO26 mang đến những tiến bộ độ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 khi triển khai và độ trễ.
- Suy luận 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.
- MuSGD Optimizer: Một bộ tối ưu hóa lai lấy cảm hứng từ quá trình huấn luyện LLM, mang lại sự hội tụ ổn định cao và giảm thời gian huấn luyện.
- Loại bỏ DFL: Đơn giản hóa quá trình xuất model 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 trên việc nhận diện đối tượng nhỏ, khiến nó trở thành lựa chọn hàng đầu cho hình ảnh từ trên 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 cung cấp sự linh hoạt to lớn trên các tác vụ như phân đoạn đối tượng và ước tính tư thế.
Ví dụ triển khai
Việc huấn luyện và xuất bất kỳ kiến trúc nào trong số này đều cực kỳ đơn giản với API thống nhất. Đoạn mã dưới đây minh chứng cho tính chất Hiệu quả Huấn luyện được tối ưu hóa 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 mức tăng đột biến VRAM, không giống như các model dựa trên Transformer (như RT-DETR), vốn thường bị tình trạng chiếm dụng bộ nhớ nghiêm trọng trong quá trình huấn luyện.
Ứ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 các ràng buộc cụ thể của 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 các chi tiết nhỏ. Khả năng trích xuất đặc trưng mạnh mẽ của nó khiến nó trở nên lý tưởng cho phân tích bán lẻ để đếm các sản phẩm xếp 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 sớm trên những chiế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ũ hơn (như một số thế hệ Google Coral Edge TPU), kiến trúc CNN đơn giản của YOLOv7 có thể dễ dàng biên dịch hơn so với các nhánh gradient phức tạp hơn của các model mới hơn.
Khi nào sử dụng YOLO26 (Khuyến nghị): Đối với bất kỳ triển khai hiện đại nào—từ drone tự hành đến quản lý giao thông đô thị thông minh—YOLO26 là lựa chọn vượt trội. Kiến trúc NMS-free của nó đảm bảo thời gian suy luận xác định, điều cần thiết cho robot an toàn quan trọng, 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.