So sánh kỹ thuật giữa YOLOX và YOLOv7
Việc lựa chọn mô hình phát hiện đối tượng phù hợp là một quyết định quan trọng đối với bất kỳ dự án thị giác máy tính nào, ảnh hưởng trực tiếp đến hiệu suất, tốc độ và tính khả thi triển khai. Trang này cung cấp so sánh kỹ thuật chi tiết giữa hai mô hình có ảnh hưởng trong họ YOLO: YOLOX và YOLOv7. Chúng tôi sẽ khám phá sự khác biệt về kiến trúc, điểm chuẩn hiệu suất và các trường hợp sử dụng lý tưởng của chúng để giúp bạn đưa ra lựa chọn sáng suốt.
YOLOX: Ưu việt không neo
YOLOX được giới thiệu như một detector không neo hiệu suất cao, nhằm mục đích đơn giản hóa quy trình phát hiện đồng thời cải thiện hiệu suất so với các phiên bản YOLO trước đó. Triết lý thiết kế của nó thu hẹp khoảng cách giữa nghiên cứu học thuật và ứng dụng công nghiệp bằng cách hợp lý hóa quy trình đào tạo.
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 nổi bật với một số cải tiến kiến trúc chính, giúp nó khác biệt so với các phiên bản tiền nhiệm:
- Thiết Kế Không Dựa trên Anchor: Bằng cách loại bỏ các hộp neo (anchor box) được xác định trước, YOLOX giảm số lượng tham số thiết kế và độ phức tạp liên quan đến việc điều chỉnh anchor. Điều này làm cho mô hình linh hoạt hơn và tốt hơn trong việc tổng quát hóa cho các đối tượng có hình dạng và kích thước đa dạng, đặc biệt là trên các bộ dữ liệu như COCO.
- Head tách rời: Không giống như các head được ghép nối thực hiện phân loại và định vị đồng thời, YOLOX sử dụng một head tách rời. Sự tách biệt này được chứng minh là giải quyết một xung đột giữa hai tác vụ, dẫn đến sự hội tụ nhanh hơn trong quá trình huấn luyện và độ chính xác cao hơn.
- Tăng cường dữ liệu nâng cao: Mô hình tận dụng các kỹ thuật tăng cường dữ liệu mạnh mẽ, bao gồm MixUp và Mosaic, để tăng cường độ mạnh mẽ và ngăn ngừa quá khớp (overfitting). Bạn có thể tìm hiểu thêm về các kỹ thuật này trong hướng dẫn của chúng tôi về tăng cường dữ liệu.
- Gán nhãn SimOTA: YOLOX giới thiệu một chiến lược gán nhãn tiên tiến gọi là SimOTA (Gán Tối ưu Vận chuyển Đơn giản). Nó gán động các mẫu dương để huấn luyện, giúp cải thiện hiệu quả huấn luyện và giúp mô hình học các đặc trưng tốt hơn.
Điểm mạnh và Điểm yếu
Điểm mạnh:
- Quy Trình Đơn Giản Hóa: Phương pháp không mỏ neo giúp đơn giản hóa quá trình huấn luyện và triển khai bằng cách loại bỏ nhu cầu phân cụm và điều chỉnh mỏ neo.
- Khả năng tổng quát hóa mạnh mẽ: Sự kết hợp giữa thiết kế không neo và tăng cường dữ liệu mạnh mẽ giúp mô hình tổng quát hóa tốt cho các miền và tập dữ liệu mới.
- Cân bằng hiệu suất tốt: YOLOX cung cấp sự cân bằng vững chắc giữa tốc độ và độ chính xác trên các quy mô mô hình khác nhau.
Điểm yếu:
- Bị các mô hình mới hơn vượt qua: Mặc dù hiệu quả, YOLOX đã bị các kiến trúc mới hơn như YOLOv7 và các mô hình Ultralytics tiếp theo vượt qua về tốc độ và độ chính xác.
- Hạn chế của hệ sinh thái: YOLOX không phải là một phần của hệ sinh thái tích hợp như Ultralytics, điều này có thể khiến việc triển khai và MLOps trở nên khó khăn hơn. Nó thiếu sự tích hợp liền mạch với các công cụ như Ultralytics HUB.
YOLOv7: Đỉnh cao của Tốc độ và Độ chính xác
Khi ra mắt, YOLOv7 đã thiết lập một tiêu chuẩn vượt trội mới cho các công cụ dò tìm đối tượng thời gian thực, thể hiện những cải tiến đáng kể về cả tốc độ và độ chính xác. Nó đạt được điều này bằng cách giới thiệu một số tối ưu hóa kiến trúc và chiến lược đào tạo.
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
Hiệu suất vượt trội của YOLOv7 bắt nguồn từ các thành phần kiến trúc tiên tiến và các tinh chỉnh huấn luyện:
- E-ELAN (Extended Efficient Layer Aggregation Network - Mạng tổng hợp lớp hiệu quả mở rộng): Mô-đun quan trọng này trong backbone cho phép mạng học được nhiều đặc trưng đa dạng hơn bằng cách kiểm soát các đường dẫn gradient, tăng cường khả năng học mà không làm gián đoạn luồng gradient.
- Trainable Bag-of-Freebies: YOLOv7 giới thiệu một tập hợp các phương pháp đào tạo giúp tăng độ chính xác mà không làm tăng chi phí suy diễn. Điều này bao gồm các kỹ thuật như đào tạo có hướng dẫn từ thô đến tinh và các auxiliary head hướng dẫn quá trình học.
- Điều chỉnh tỷ lệ mô hình: Mô hình 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 tối ưu hóa cho các kiến trúc dựa trên ghép kênh, đảm bảo hiệu suất hiệu quả trên các kích thước mô hình khác nhau.
- Tích chập tái tham số hóa: YOLOv7 sử dụng tái tham số hóa mô hình để cải thiện hiệu suất, một kỹ thuật đã trở nên phổ biến trong thiết kế mạng hiện đại.
Điểm mạnh và Điểm yếu
Điểm mạnh:
- Sự Cân bằng Vượt trội Giữa Tốc độ và Độ chính xác: YOLOv7 mang lại sự cân bằng vượt trội giữa mAP cao và tốc độ suy luận nhanh, khiến nó trở nên lý tưởng cho các ứng dụng thời gian thực.
- Hiệu quả huấn luyện: Phương pháp "túi quà tặng miễn phí" cho phép nó đạt được độ chính xác cao với quá trình huấn luyện hiệu quả.
- Hiệu suất đã được chứng minh: Nó đã thiết lập một chuẩn mực mới cho các trình dò tìm đối tượng theo thời gian thực trên các bộ dữ liệu tiêu chuẩn.
Điểm yếu:
- Độ phức tạp về kiến trúc: Sự kết hợp của E-ELAN, các auxiliary head và các tính năng khác làm cho kiến trúc phức tạp hơn so với các mô hình đơn giản hơn.
- Huấn luyện tốn nhiều tài nguyên: Việc huấn luyện các mô hình YOLOv7 lớn hơn có thể yêu cầu tài nguyên tính toán và bộ nhớ GPU đáng kể.
- Tính linh hoạt hạn chế: Mặc dù kho lưu trữ chính thức có các tiện ích mở rộng do cộng đồng phát triển cho các tác vụ như ước tính tư thế, nhưng nó không phải là một framework đa nhiệm vốn có như các mô hình Ultralytics mới hơn.
So sánh hiệu năng trực tiếp: YOLOX so với YOLOv7
Khi so sánh hiệu suất, cả hai mô hình đều cung cấp một loạt các kích cỡ để phù hợp với các mức sử dụng tài nguyên tính toán khác nhau. YOLOX cung cấp một họ có khả năng mở rộng từ Nano đến X, trong khi YOLOv7 tập trung vào việc cung cấp hiệu suất hàng đầu với các biến thể lớn hơn của 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) |
---|---|---|---|---|---|---|
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 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Từ bảng, rõ ràng là các mô hình YOLOv7 thường đạt được điểm mAP cao hơn. Ví dụ: YOLOv7l vượt qua YOLOXx về độ chính xác (51,4% so với 51,1%) với số lượng tham số (36,9M so với 99,1M) và FLOP (104,7B so với 281,9B) ít hơn đáng kể và nhanh hơn nhiều trên GPU T4. Điều này làm nổi bật hiệu quả kiến trúc vượt trội của YOLOv7.
Tại sao các mô hình Ultralytics YOLO là lựa chọn ưu tiên
Mặc dù YOLOX và YOLOv7 là những tiến bộ đáng kể, các mô hình Ultralytics YOLO mới hơn như YOLOv8 và YOLO11 mang lại trải nghiệm hiện đại, linh hoạt và thân thiện với người dùng hơn.
- Dễ sử dụng: Các mô hình Ultralytics được thiết kế chú trọng đến nhà phát triển, có Python API được tinh giản, tài liệu đầy đủ và các lệnh CLI đơn giản giúp cho việc huấn luyện, xác thực và triển khai trở nên đơn giản.
- Hệ sinh thái được duy trì tốt: Hưởng lợi từ một hệ sinh thái mạnh mẽ với sự phát triển tích cực, một cộng đồng mã nguồn mở lớn, cập nhật thường xuyên và tích hợp liền mạch với các công cụ như Ultralytics HUB cho MLOps đầu cuối.
- Tính linh hoạt: Các mô hình như YOLOv8 và YOLO11 là các framework đa nhiệm thực sự, hỗ trợ phát hiện đối tượng, phân đoạn, phân loại, ước tính tư thế và phát hiện đối tượng theo hướng (OBB) ngay khi xuất xưởng.
- Hiệu suất và Hiệu quả: Các mô hình Ultralytics cung cấp sự cân bằng tuyệt vời giữa tốc độ và độ chính xác, được tối ưu hóa để sử dụng bộ nhớ hiệu quả và phù hợp với nhiều loại phần cứng từ thiết bị biên đến máy chủ đám mây.
Kết luận
Cả YOLOX và YOLOv7 đều là những mô hình phát hiện đối tượng mạnh mẽ đã đẩy mạnh các ranh giới của những gì có thể trong thị giác máy tính. YOLOX đáng khen ngợi vì thiết kế không cần neo cải tiến của nó, giúp đơn giản hóa quy trình phát hiện. YOLOv7 nổi bật về tốc độ và độ chính xác đặc biệt, khiến nó trở thành một lựa chọn mạnh mẽ cho các ứng dụng thời gian thực đòi hỏi khắt khe.
Tuy nhiên, đối với các nhà phát triển và nhà nghiên cứu ngày nay, các mô hình Ultralytics như YOLOv8 và YOLO11 thể hiện một bước tiến vượt bậc. Chúng mang lại hiệu suất vượt trội, tính linh hoạt cao hơn và một hệ sinh thái toàn diện, thân thiện với người dùng hơn, khiến chúng trở thành lựa chọn được ưu tiên để xây dựng các giải pháp AI thị giác hiệu suất cao, hiện đại.
So sánh các mô hình khác
Để hiểu rõ hơn, hãy khám phá các so sánh mô hình khác:
- YOLOX so với YOLOv5
- So sánh YOLOX và YOLOv8
- YOLOv7 so với YOLOv8
- RT-DETR so với YOLOv7
- Khám phá các mô hình mới nhất như YOLOv10 và YOLO11.