YOLOv9 so với YOLOv7: So sánh kỹ thuật chi tiết
Khi lựa chọn một mô hình YOLO cho phát hiện đối tượng, việc hiểu rõ các sắc thái giữa các phiên bản khác nhau là rất quan trọng. Trang này cung cấp một so sánh kỹ thuật chi tiết giữa YOLOv7 và YOLOv9, hai mô hình quan trọng trong series YOLO được phát triển bởi các nhà nghiên cứu tại Viện Khoa học Thông tin, Academia Sinica, Đài Loan. Chúng ta sẽ khám phá những đổi mới kiến trúc, điểm chuẩn hiệu suất và sự phù hợp của chúng cho các ứng dụng khác nhau để giúp bạn đưa ra quyết định sáng suốt cho các dự án thị giác máy tính của mình.
YOLOv9: Thông tin Gradient có thể lập trình để tăng cường khả năng học
YOLOv9, được giới thiệu vào tháng 2 năm 2024, thể hiện một bước tiến đáng kể bằng cách giải quyết tình trạng mất thông tin trong các mạng nơ-ron sâu, một vấn đề phổ biến có thể làm giảm hiệu suất của mô hình.
Tác giả: Chien-Yao Wang và Hong-Yuan Mark Liao
Tổ chức: Viện Khoa học Thông tin, Academia Sinica, Đài Loan
Ngày: 2024-02-21
Arxiv: https://arxiv.org/abs/2402.13616
GitHub: https://github.com/WongKinYiu/yolov9
Tài liệu: https://docs.ultralytics.com/models/yolov9/
Kiến trúc và các tính năng chính
YOLOv9 giới thiệu các khái niệm mới để cải thiện luồng thông tin và hiệu quả học tập, tạo nên sự khác biệt so với những phiên bản tiền nhiệm.
- Thông tin Gradient có thể lập trình (PGI): Đây là sự đổi mới cốt lõi của YOLOv9. Nó giải quyết vấn đề tắc nghẽn thông tin trong các mạng sâu bằng cách tạo ra các gradient đáng tin cậy thông qua các nhánh phụ có thể đảo ngược. Điều này đảm bảo rằng thông tin quan trọng được bảo toàn trên tất cả các lớp, dẫn đến việc huấn luyện mô hình hiệu quả hơn và độ chính xác cuối cùng tốt hơn.
- Generalized Efficient Layer Aggregation Network (GELAN): YOLOv9 có kiến trúc mạng mới, tối ưu hóa việc sử dụng tham số và hiệu suất tính toán. GELAN là một kiến trúc dựa trên lập kế hoạch đường dẫn gradient, xây dựng dựa trên những thành công của các thiết kế như CSPNet, đóng vai trò quan trọng trong các mô hình như YOLOv5.
Điểm mạnh
- Độ chính xác Nâng cao: Sự kết hợp của PGI và GELAN cho phép trích xuất đặc trưng vượt trội và điểm độ chính xác trung bình (mAP) cao hơn so với YOLOv7, điều này đặc biệt rõ ràng ở các biến thể mô hình lớn hơn.
- Cải thiện hiệu quả: YOLOv9 đạt được độ chính xác tốt hơn với ít tham số và tính toán (FLOP) hơn YOLOv7. Ví dụ: YOLOv9-C đạt được mAP tương tự như YOLOv7x với số lượng tham số ít hơn 66% và số lượng FLOP ít hơn 46%.
- Công nghệ tiên tiến: Đại diện cho những đổi mới mới nhất từ các tác giả YOLO ban đầu, vượt qua các ranh giới của những gì có thể trong phát hiện đối tượng theo thời gian thực.
Điểm yếu
- Nhu cầu tính toán: Mặc dù hiệu quả về độ chính xác, kiến trúc tiên tiến, đặc biệt là các biến thể lớn hơn như YOLOv9-E, vẫn có thể đòi hỏi tài nguyên tính toán đáng kể cho việc huấn luyện và triển khai.
- Mô hình mới hơn: Vì là một bản phát hành gần đây hơn, hỗ trợ cộng đồng và hướng dẫn triển khai có sẵn có thể ít hơn so với YOLOv7 đã được thiết lập tốt. Tuy nhiên, triển khai Ultralytics YOLOv9 giảm thiểu điều này bằng cách cung cấp một môi trường hợp lý, được ghi chép đầy đủ và được hỗ trợ.
Các Trường hợp Sử dụng
YOLOv9 lý tưởng cho các ứng dụng đòi hỏi độ chính xác và hiệu quả cao nhất, nơi việc phát hiện đối tượng một cách chính xác là rất quan trọng.
- Các tác vụ phát hiện phức tạp trong xe tự hành và robotics.
- Hệ thống an ninh tiên tiến, đòi hỏi độ chính xác cao trong việc phát hiện các vật thể nhỏ hoặc bị che khuất.
- Các ứng dụng trong phân tích hình ảnh y tế, nơi độ trung thực cao là yếu tố bắt buộc.
YOLOv7: Được tối ưu hóa cho tốc độ và hiệu quả
YOLOv7, được phát hành vào tháng 7 năm 2022, là một mô hình mang tính bước ngoặt nhằm mục đích tối ưu hóa đáng kể sự đánh đổi giữa tốc độ và độ chính xác cho suy luận theo thời gian thực.
Tác giả: Chien-Yao Wang, Alexey Bochkovskiy và Hong-Yuan Mark Liao
Tổ chức: Viện Khoa học Thông tin, Academia Sinica, Đài Loan
Ngày: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
Docs: https://docs.ultralytics.com/models/yolov7/
Kiến trúc và các tính năng chính
YOLOv7 tập trung vào việc tối ưu hóa kiến trúc và quy trình huấn luyện để làm cho các mô hình nhanh hơn và chính xác hơn mà không làm tăng chi phí suy luận.
- Mạng tổng hợp lớp hiệu quả mở rộng (E-ELAN): Khối kiến trúc này tăng cường khả năng học hỏi của mạng bằng cách cho phép nó học các đặc trưng đa dạng hơn, cải thiện hiệu suất mà không làm gián đoạn đường dẫn gradient ban đầu.
- Điều chỉnh tỷ lệ mô hình: YOLOv7 giới thiệu các phương pháp điều chỉnh tỷ lệ phức hợp cho độ sâu và chiều rộng của mô hình, cho phép nó được tối ưu hóa hiệu quả cho các kích thước mô hình và ngân sách tính toán khác nhau.
- Trainable Bag-of-Freebies: Khái niệm này kết hợp các kỹ thuật tối ưu hóa khác nhau trong quá trình đào tạo, chẳng hạn như tăng cường dữ liệu nâng cao và các chiến lược gán nhãn. Các kỹ thuật này cải thiện độ chính xác mà không làm tăng bất kỳ chi phí tính toán nào trong quá trình suy diễn.
Điểm mạnh
- Tốc độ suy luận cao: YOLOv7 được tối ưu hóa cao về tốc độ và vẫn là một trong những trình phát hiện đối tượng nhanh nhất hiện có, khiến nó trở nên tuyệt vời cho các ứng dụng thời gian thực trên nhiều loại phần cứng khác nhau.
- Hiệu suất cao: Nó đạt được điểm mAP cạnh tranh, khiến nó trở thành một lựa chọn đáng tin cậy và mạnh mẽ cho nhiều nhiệm vụ phát hiện đối tượng tiêu chuẩn.
- Mô Hình Đã Được Thiết Lập: Vì đã có mặt trên thị trường lâu hơn, YOLOv7 được hưởng lợi từ việc được chấp nhận rộng rãi hơn, tài nguyên cộng đồng phong phú và nhiều ví dụ triển khai đã được chứng minh trong các ngành khác nhau.
Điểm yếu
- Độ chính xác đỉnh thấp hơn: Mặc dù nhanh, nhưng nó có thể có độ chính xác đỉnh thấp hơn một chút so với YOLOv9 mới hơn trong các tình huống phức tạp với các đối tượng khó.
- Dựa trên Anchor: Nó dựa vào các hộp anchor được xác định trước, đôi khi có thể kém linh hoạt hơn so với các phương pháp không cần anchor để phát hiện các đối tượng có tỷ lệ khung hình bất thường.
Các Trường hợp Sử dụng
YOLOv7 rất phù hợp cho các ứng dụng mà tốc độ suy luận là yếu tố quan trọng nhất.
- Phân tích và giám sát video thời gian thực trên các thiết bị edge AI.
- Các hệ thống có thông lượng cao như kiểm soát chất lượng trên dây chuyền sản xuất chuyển động nhanh.
- Tạo mẫu nhanh chóng các hệ thống phát hiện đối tượng, nơi việc triển khai nhanh chóng là điều cần thiết.
Hiệu năng và hiệu quả: So sánh trực tiếp
Sự khác biệt chính giữa YOLOv9 và YOLOv7 nằm ở sự đánh đổi giữa độ chính xác, kích thước mô hình và chi phí tính toán. YOLOv9 đẩy mạnh giới hạn hiệu quả, mang lại độ chính xác cao hơn với ít tham số và FLOPs hơn. Ví dụ: YOLOv9-M đạt được cùng 51.4% mAP như YOLOv7l nhưng với số lượng tham số ít hơn 46% và FLOPs ít hơn 27%. Xu hướng này tiếp tục tăng lên, trong đó YOLOv9-E thiết lập một trạng thái hiện đại mới với 55.6% mAP, vượt qua tất cả các biến thể YOLOv7.
Hiệu quả được cải thiện này có nghĩa là với một mục tiêu độ chính xác nhất định, YOLOv9 cung cấp một mô hình nhỏ hơn, nhanh hơn và tiết kiệm năng lượng hơn.
Mô hình | 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 |
Kết luận: Mô hình nào phù hợp với bạn?
Cả YOLOv7 và YOLOv9 đều là những mô hình mạnh mẽ, nhưng chúng phục vụ cho các ưu tiên hơi khác nhau.
-
Chọn YOLOv9 nếu ứng dụng của bạn đòi hỏi độ chính xác và hiệu quả cao nhất có thể. Những cải tiến về kiến trúc của nó làm cho nó vượt trội hơn cho các cảnh phức tạp và các triển khai bị hạn chế về tài nguyên, nơi bạn cần hiệu suất tốt nhất từ một mô hình nhỏ hơn.
-
Chọn YOLOv7 nếu bạn cần một mô hình đã được thử nghiệm qua thực tế, cực kỳ nhanh cho các ứng dụng thời gian thực tiêu chuẩn và thích làm việc với một kiến trúc đã được thiết lập với các tài nguyên cộng đồng rộng lớn.
Đối với các nhà phát triển và nhà nghiên cứu đang tìm kiếm trải nghiệm tổng thể tốt nhất, chúng tôi khuyên bạn nên sử dụng các mô hình này trong hệ sinh thái Ultralytics. Các mô hình mới hơn như Ultralytics YOLOv8 và YOLO11 không chỉ mang lại hiệu suất cạnh tranh mà còn đi kèm với những lợi thế đáng kể:
- Dễ sử dụng: Trải nghiệm người dùng được tinh giản với Python API đơn giản và tài liệu đầy đủ.
- Hệ sinh thái được duy trì tốt: Phát triển tích cực, hỗ trợ cộng đồng mạnh mẽ và tích hợp với các công cụ như Ultralytics HUB để huấn luyện và triển khai không cần code.
- Tính linh hoạt: Hỗ trợ nhiều tác vụ hơn là chỉ phát hiện, bao gồm phân vùng thể hiện (instance segmentation), ước tính tư thế (pose estimation) và phân loại (classification), tất cả trong cùng một framework.
- Hiệu quả huấn luyện: Quy trình huấn luyện hiệu quả với các weights đã được huấn luyện trước có sẵn và yêu cầu bộ nhớ thấp hơn so với nhiều loại mô hình khác.
Khám phá các Mô hình Khác
Để so sánh thêm, hãy cân nhắc khám phá các mô hình hiện đại khác có sẵn trong tài liệu Ultralytics:
- YOLOv5 so với YOLOv9
- YOLOv8 so với YOLOv9
- YOLOv10 so với YOLOv9
- YOLO11 so với YOLOv9
- RT-DETR so với YOLOv9