YOLOv9 so sánh YOLOX: So sánh kỹ thuật chi tiết
Việc lựa chọn mô hình phát hiện đối tượng tối ưu là rất quan trọng để đạt được các kết quả mong muốn trong các dự án thị giác máy tính. Các mô hình khác nhau đáng kể về kiến trúc, hiệu suất và yêu cầu tài nguyên. Trang này cung cấp so sánh kỹ thuật chi tiết giữa YOLOv9 và YOLOX, phân tích các tính năng chính của chúng để giúp bạn chọn mô hình phù hợp nhất với nhu cầu của mình.
YOLOv9: Nâng cao khả năng phát hiện đối tượng theo thời gian thực
Tác giả: Chien-Yao Wang, 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: arXiv:2402.13616
GitHub: github.com/WongKinYiu/yolov9
Docs: docs.ultralytics.com/models/yolov9/
Ultralytics YOLOv9 thể hiện một bước nhảy vọt đáng kể trong việc phát hiện đối tượng, giới thiệu các kỹ thuật cải tiến như Thông tin Gradient có thể lập trình (PGI) và Mạng tổng hợp lớp hiệu quả tổng quát (GELAN). Được phát triển bởi Chien-Yao Wang và Hong-Yuan Mark Liao, YOLOv9 giải quyết tình trạng mất thông tin trong các mạng nơ-ron sâu, nâng cao cả độ chính xác và hiệu quả. Được tích hợp vào hệ sinh thái Ultralytics, YOLOv9 được hưởng lợi từ trải nghiệm người dùng được sắp xếp hợp lý, tài liệu toàn diện và hỗ trợ cộng đồng mạnh mẽ.
Kiến trúc và các tính năng chính
Kiến trúc của YOLOv9 được thiết kế để bảo toàn luồng thông tin quan trọng qua các lớp sâu bằng cách sử dụng PGI. Điều này giúp giảm thiểu vấn đề tắc nghẽn thông tin thường gặp trong các mạng sâu. GELAN tối ưu hóa cấu trúc mạng để sử dụng tham số tốt hơn và hiệu quả tính toán, dựa trên các khái niệm từ CSPNet và ELAN. Điều này mang lại hiệu suất hiện đại với hiệu quả đáng kể. Việc triển khai Ultralytics đảm bảo dễ sử dụng với Python API đơn giản và quy trình đào tạo hiệu quả, tận dụng các trọng số được đào tạo trước có sẵn.
Điểm mạnh
- Độ chính xác vượt trội: Đạt được điểm số mAP hàng đầu trên các chuẩn đánh giá như COCO, thường vượt trội hơn các mô hình khác có kích thước tương tự.
- Hiệu suất cao: Cung cấp độ chính xác cao với ít tham số và FLOPs hơn so với nhiều lựa chọn thay thế, phù hợp để triển khai edge AI.
- Bảo toàn thông tin: PGI giảm thiểu hiệu quả sự mất mát thông tin, cải thiện khả năng học tập và hiệu suất cuối cùng của mô hình.
- Hệ sinh thái Ultralytics: Hưởng lợi từ quá trình phát triển tích cực, tài nguyên phong phú, tích hợp Ultralytics HUB cho MLOps và yêu cầu bộ nhớ thấp hơn trong quá trình huấn luyện.
- Tính linh hoạt: Mặc dù bài báo gốc tập trung vào phát hiện, kiến trúc này cho thấy tiềm năng cho các tác vụ như phân đoạn thể hiện và hơn thế nữa, phù hợp với các khả năng đa nhiệm của các mô hình như YOLOv8.
Điểm yếu
- Là một mô hình mới hơn, phạm vi các ví dụ triển khai do cộng đồng điều khiển có thể vẫn đang phát triển so với các mô hình đã được thiết lập từ lâu. Tuy nhiên, việc tích hợp nó trong khuôn khổ Ultralytics giúp tăng tốc đáng kể việc áp dụng và cung cấp một hệ thống hỗ trợ mạnh mẽ.
YOLOX: Công cụ phát hiện không mỏ neo hiệu suất cao
Tác giả: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, và Jian Sun
Tổ chức: Megvii
Ngày: 18-07-2021
Arxiv: https://arxiv.org/abs/2107.08430
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
Tài liệu: https://yolox.readthedocs.io/en/latest/
YOLOX, được phát triển bởi Megvii, là một mô hình phát hiện đối tượng không neo nhằm mục đích đơn giản và hiệu suất cao. Bằng cách loại bỏ cơ chế hộp neo, YOLOX đơn giản hóa quy trình đào tạo và giảm số lượng tham số thiết kế, có thể cải thiện khả năng tổng quát hóa.
Kiến trúc và các tính năng chính
YOLOX tự phân biệt với một số lựa chọn kiến trúc quan trọng. Quan trọng nhất là thiết kế không cần anchor, coi việc phát hiện đối tượng như một bài toán dự đoán trên mỗi pixel. Các tính năng quan trọng khác bao gồm một decoupled head (đầu tách rời) tách biệt các tác vụ phân loại và bản địa hóa, một chiến lược gán nhãn nâng cao gọi là SimOTA và việc sử dụng các kỹ thuật tăng cường dữ liệu mạnh mẽ như MixUp và Mosaic.
Điểm mạnh
- Thiết kế không mỏ neo (Anchor-Free): Đơn giản hóa kiến trúc mô hình và quy trình huấn luyện bằng cách loại bỏ nhu cầu điều chỉnh hộp mỏ neo.
- Hiệu suất cao: Đạt được sự cân bằng cạnh tranh giữa độ chính xác trung bình (mAP) và tốc độ suy luận cho thời gian của nó.
- Khả năng mở rộng: Cung cấp một loạt các kích cỡ mô hình, từ YOLOX-Nano đến YOLOX-X, cho phép triển khai trên nhiều tài nguyên tính toán khác nhau.
Điểm yếu
- Hiệu suất kém hơn so với các Model mới hơn: Mặc dù có tính đột phá, YOLOX đã bị các model mới hơn như YOLOv9 vượt trội về cả độ chính xác lẫn hiệu quả.
- Hệ sinh thái rời rạc: Mặc dù là mã nguồn mở, nhưng nó thiếu hệ sinh thái tích hợp và các công cụ được sắp xếp hợp lý do Ultralytics cung cấp, chẳng hạn như tích hợp liền mạch với Ultralytics HUB cho MLOps.
- Chi phí tính toán cao hơn: Với một mức độ chính xác nhất định, các mô hình YOLOX lớn hơn có xu hướng có nhiều tham số và FLOP hơn so với các mô hình YOLOv9 tương đương.
So sánh hiệu năng: YOLOv9 so với YOLOX
Khi so sánh hiệu suất trên tập dữ liệu COCO, YOLOv9 thể hiện một lợi thế rõ ràng về cả độ chính xác và hiệu quả. Bảng dưới đây cho thấy rằng các mô hình YOLOv9 liên tục đạt được điểm mAP cao hơn với ít tham số và FLOP hơn so với các đối tác YOLOX của chúng. Ví dụ: YOLOv9-C đạt được mAP 53,0% với 25,3 triệu tham số, vượt trội so với YOLOX-L (mAP 49,7% với 54,2 triệu tham số) và YOLOX-X (mAP 51,1% với 99,1 triệu tham số) đồng thời hiệu quả hơn đáng kể. Mô hình lớn nhất, YOLOv9-E, đẩy ranh giới độ chính xác lên 55,6% mAP, một mức mà YOLOX không đạt được. Hiệu suất trên mỗi tính toán vượt trội này làm cho YOLOv9 trở thành một lựa chọn mạnh mẽ hơn và thân thiện với tài nguyên hơn cho các ứng dụng hiện đại.
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 |
YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Các trường hợp sử dụng lý tưởng
YOLOv9
Độ chính xác và hiệu quả vượt trội của YOLOv9 khiến nó trở thành lựa chọn lý tưởng cho các ứng dụng đòi hỏi khắt khe, nơi hiệu suất là rất quan trọng. Nó vượt trội trong các tình huống như:
- Hệ thống hỗ trợ lái xe nâng cao (ADAS): Phát hiện xe cộ, người đi bộ và biển báo giao thông với độ chính xác cao cho lái xe tự động.
- Bảo mật độ trung thực cao: Giám sát các cảnh phức tạp trong hệ thống an ninh với tỷ lệ dương tính giả thấp.
- Tự động hóa công nghiệp: Thực hiện kiểm soát chất lượng chi tiết trong sản xuất bằng cách xác định các lỗi nhỏ.
- Chẩn đoán hình ảnh y tế: Hỗ trợ phân tích các ảnh chụp y tế bằng cách cung cấp khả năng phát hiện vật thể chính xác các điểm bất thường.
YOLOX
YOLOX phù hợp với các ứng dụng yêu cầu sự cân bằng tốt giữa tốc độ và độ chính xác, đặc biệt khi thiết kế không neo (anchor-free) của nó có thể mang lại lợi ích cho các tập dữ liệu cụ thể. Các trường hợp sử dụng lý tưởng bao gồm:
- Theo dõi thời gian thực: Ứng dụng trong robotics và các hệ thống giám sát, nơi cần theo dõi đối tượng theo thời gian thực.
- Nghiên cứu học thuật: Thiết kế dạng mô-đun và không mỏ neo của nó làm cho nó trở thành một mô hình thú vị cho nghiên cứu và thử nghiệm trong kiến trúc phát hiện đối tượng.
- Triển khai biên: Các biến thể YOLOX-Nano và YOLOX-Tiny nhỏ hơn có thể được triển khai trên các thiết bị bị hạn chế về tài nguyên, mặc dù các mô hình mới hơn như YOLOv9 thường cung cấp hiệu suất tốt hơn với cùng chi phí tài nguyên.
Kết luận và Đề xuất
Cả YOLOv9 và YOLOX đều đã có những đóng góp đáng kể cho lĩnh vực phát hiện đối tượng. YOLOX đã đẩy mạnh các ranh giới với thiết kế không cần neo và decoupled head, cung cấp một đường cơ sở mạnh mẽ cho phát hiện thời gian thực. Tuy nhiên, YOLOv9 đã thiết lập một tiêu chuẩn mới cho cả độ chính xác và hiệu quả. Kiến trúc PGI và GELAN cải tiến của nó cho phép nó đạt được hiệu suất vượt trội với ít tài nguyên tính toán hơn.
Đối với các nhà phát triển và nhà nghiên cứu đang tìm kiếm hiệu suất, hiệu quả và tính dễ sử dụng tốt nhất, YOLOv9 là lựa chọn rõ ràng. Việc tích hợp nó vào hệ sinh thái Ultralytics mang lại những lợi thế vô song:
- Tính dễ sử dụng: Python API được sắp xếp hợp lý, tài liệu phong phú và cách sử dụng CLI đơn giản giúp đơn giản hóa quá trình phát triển.
- 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ẽ, cập nhật thường xuyên và tích hợp với Ultralytics HUB để MLOps liền mạch.
- Cân bằng hiệu suất: Sự cân bằng tuyệt vời giữa tốc độ và độ chính xác, phù hợp với nhiều tình huống thực tế khác nhau, từ biên đến đám mây.
- Hiệu quả huấn luyện: Thời gian huấn luyện nhanh hơn, các weights đã được huấn luyện trước có sẵn và sử dụng tài nguyên hiệu quả.
Khám phá các Mô hình Khác
Mặc dù trang này tập trung vào YOLOv9 và YOLOX, lĩnh vực thị giác máy tính là rất lớn. Chúng tôi khuyến khích bạn khám phá các mô hình hiện đại khác có sẵn trong hệ sinh thái Ultralytics. Hãy xem so sánh YOLOv9 so với YOLOv8 của chúng tôi để biết thông tin chi tiết về các mô hình Ultralytics mới nhất hoặc YOLOv9 so với YOLOv5 để xem công nghệ đã tiến xa như thế nào so với một tiêu chuẩn công nghiệp đã được thiết lập. Đối với những người quan tâm đến kiến trúc dựa trên transformer, so sánh RT-DETR so với YOLOv9 của chúng tôi cung cấp một phân tích chi tiết.