So sánh Kỹ Thuật: YOLOX so với YOLOv9 cho Nhận diện Đối tượng
Việc lựa chọn đúng mô hình phát hiện đối tượng là rất quan trọng để đạt được kết quả tối ưu trong các tác vụ thị giác máy tính. Trang này cung cấp so sánh kỹ thuật chi tiết giữa YOLOX và YOLOv9, hai mô hình tiên tiến được biết đến với hiệu suất và hiệu quả trong phát hiện đối tượng. Chúng ta sẽ khám phá sự khác biệt về kiến trúc, điểm chuẩn hiệu suất và tính 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.
YOLOX: Công cụ phát hiện không mỏ neo hiệu suất cao
YOLOX là một mô hình phát hiện đối tượng không neo được phát triển bởi Megvii. Được giới thiệu vào tháng 7 năm 2021, YOLOX hướng đến sự đơn giản và hiệu suất cao bằng cách loại bỏ khái niệm hộp neo, giúp đơn giản hóa mô hình và có khả năng cải thiện khả năng tổng quát hóa.
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/
Kiến trúc và các tính năng chính
YOLOX tự phân biệt với cơ chế không cần anchor, đơn giản hóa kiến trúc. Các tính năng chính bao gồm:
- Head tách rời: Tách biệt các head phân loại và định vị để cải thiện hiệu suất.
- Gán nhãn SimOTA: Một chiến lược gán nhãn nâng cao để tối ưu hóa quá trình huấn luyện.
- Tăng cường dữ liệu mạnh mẽ: Sử dụng các kỹ thuật như MixUp và Mosaic để tăng cường tính mạnh mẽ và khả năng tổng quát hóa, được trình bày chi tiết hơn trong hướng dẫn về tăng cường dữ liệu.
Điểm mạnh và Điểm yếu
Đ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, giảm các tham số thiết kế và độ phức tạp.
- Độ chính xác và Tốc độ cao: Đạt được sự cân bằng mạnh mẽ giữa độ chính xác trung bình (mAP) và tốc độ suy luận.
- Khả năng mở rộng: Cung cấp một loạt các kích cỡ mô hình (Nano đến 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:
- Hệ sinh thái: Mặc dù là mã nguồn mở, nhưng nó thiếu hệ sinh thái và công cụ tích hợp do Ultralytics cung cấp, chẳng hạn như tích hợp liền mạch với Ultralytics HUB cho quy trình làm việc đầu cuối.
- Tốc độ suy luận: Các mô hình YOLOX lớn hơn có thể chậm hơn so với các mô hình được tối ưu hóa tương đương như YOLOv9, đặc biệt là trên một số phần cứng nhất định.
Các trường hợp sử dụng lý tưởng
YOLOX rất phù hợp cho các ứng dụng cần sự cân bằng giữa độ chính xác và tốc độ cao, chẳng hạn như:
- Phát hiện đối tượng theo thời gian thực trong robot và hệ thống giám sát.
- Nghiên cứu và phát triển nhờ thiết kế dạng mô-đun và triển khai PyTorch.
- Triển khai Edge AI, đặc biệt là các biến thể Nano và Tiny nhỏ hơn trên các thiết bị như NVIDIA Jetson.
YOLOv9: Học những gì bạn muốn học bằng cách sử dụng Thông tin Gradient có thể lập trình
Ultralytics YOLOv9 thể hiện một bước tiến đáng kể trong nhận diện đối tượng, giải quyết các thách thức về mất thông tin trong mạng nơ-ron sâu thông qua các thiết kế kiến trúc sáng tạo.
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
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 Thông tin Gradient có thể lập trình (PGI). Điều này đảm bảo luồng gradient đáng tin cậy để cập nhật mô hình hiệu quả. Nó cũng giới thiệu Mạng tổng hợp lớp hiệu quả tổng quát (GELAN), giúp 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. Việc tích hợp YOLOv9 vào hệ sinh thái Ultralytics đảm bảo trải nghiệm người dùng được hợp lý hóa với API đơn giản và quy trình đào tạo hiệu quả.
Điểm mạnh và Điểm yếu
Đ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ư COCO.
- Hiệu suất cao: Vượt trội hơn các mô hình trước đó bằng cách cung cấp độ chính xác cao với ít tham số và FLOPs hơn, phù hợp để triển khai edge AI.
- Bảo toàn thông tin: PGI giảm thiểu hiệu quả tình trạng mất thông tin, cải thiện khả năng học hỏi 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 liệu 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 so với nhiều giải pháp thay thế.
- 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à có thể hơn thế nữa, phù hợp với các khả năng đa tác vụ thường thấy trong các mô hình Ultralytics như YOLOv8.
Điểm yếu:
- Tính mới: Vì là một mô hình mới hơn, phạm vi các ví dụ triển khai do cộng đồng thúc đẩy vẫn có thể đang phát triển so với các mô hình đã có 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 hỗ trợ mạnh mẽ.
Các trường hợp sử dụng lý tưởng
YOLOv9 vượt trội trong các ứng dụng mà độ chính xác và hiệu quả cao là tối quan trọng. Điều này bao gồm các tác vụ phức tạp như lái xe tự động, hệ thống an ninh tiên tiến và nhận dạng đối tượng chi tiết để kiểm soát chất lượng trong sản xuất.
Phân tích hiệu năng: YOLOX so với YOLOv9
Khi so sánh YOLOX và YOLOv9, một xu hướng rõ ràng xuất hiện: YOLOv9 liên tục mang lại độ chính xác cao hơn với mức tiêu thụ tài nguyên tính toán tương đương hoặc thấp hơn. Các cải tiến về kiến trúc trong YOLOv9, chẳng hạn như PGI và GELAN, cho phép nó đạt được sự cân bằng vượt trội giữa độ chính xác, số lượng tham số và FLOPs. Ví dụ: YOLOv9-M đạt được mAP cao hơn YOLOX-l trong khi có số lượng tham số và FLOPs ít hơn một nửa. Hiệu quả này làm cho YOLOv9 trở thành một lựa chọn mạnh mẽ hơn cho các ứng dụng hiện đại đòi hỏi suy luận thời gian thực hiệu suất cao. Mặc dù YOLOX vẫn là một mô hình nhanh và hiệu quả, đặc biệt là các biến thể nhỏ hơn của nó cho điện toán biên, YOLOv9 đặt ra một chuẩn mực mới cho hiệu suất.
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) |
---|---|---|---|---|---|---|
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 |
YOLOv9t | 640 | 38.3 | - | 2.30 | 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 |
Kết luận và Đề xuất
Cả YOLOX và YOLOv9 đều là những mô hình phát hiện đối tượng mạnh mẽ, nhưng chúng phục vụ các ưu tiên khác nhau. YOLOX là một mô hình không neo có khả năng cao, mang lại sự cân bằng tuyệt vời giữa tốc độ và độ chính xác, khiến nó trở thành một lựa chọn đáng tin cậy cho nhiều ứng dụng thực tế. Tuy nhiên, YOLOv9 đại diện cho thế hệ tiếp theo của các trình phát hiện đối tượng, mang lại độ chính xác và hiệu quả vượt trội thông qua kiến trúc PGI và GELAN đột phá của nó. Đối với các dự án yêu cầu hiệu suất cao nhất, YOLOv9 là người chiến thắng rõ ràng.
Đối với các nhà phát triển và nhà nghiên cứu đang tìm kiếm một nền tảng toàn diện và thân thiện với người dùng, các mô hình Ultralytics YOLO như YOLOv8 và YOLO11 mới nhất mang lại những lợi thế đáng kể so với các triển khai độc lập:
- Dễ sử dụng: Python API được tinh giản, tài liệu đầy đủ và nhiều hướng dẫn giúp đơn giản hóa quá trình phát triển và triển khai.
- Hệ sinh thái được duy trì tốt: Tận dụng lợi thế từ quá trình phát triển tích cực, hỗ trợ cộng đồng mạnh mẽ, cập nhật thường xuyên, weights đã được huấn luyện trước luôn sẵn có và tích hợp với Ultralytics HUB để có MLOps liền mạch.
- Cân bằng hiệu suất: Các mô hình Ultralytics mang lại 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ế.
- Hiệu quả bộ nhớ: Thường yêu cầu bộ nhớ thấp hơn trong quá trình huấn luyện và suy luận so với các loại mô hình khác, điều này rất quan trọng đối với các môi trường bị hạn chế về tài nguyên.
- Tính linh hoạt: Hỗ trợ nhiều tác vụ hơn là chỉ phát hiện đối tượng, bao gồm phân vùng (segmentation), ước tính tư thế (pose estimation), phân loại (classification) và theo dõi (tracking).
- Hiệu quả huấn luyện: Thời gian huấn luyện nhanh hơn và sử dụng tài nguyên hiệu quả là đặc điểm nổi bật của framework Ultralytics.
Đối với người dùng đang khám phá các giải pháp thay thế, hãy cân nhắc so sánh các mô hình này với các mô hình khác như YOLOv5 hoặc xem các so sánh như YOLOv8 so với YOLOX và RT-DETR so với YOLOv9 để biết thêm thông tin chi tiết.