YOLOX vs. YOLOv7:技術比較
適切な物体検出モデルの選択は、パフォーマンス、速度、デプロイの実現可能性に直接影響を与えるため、あらゆるコンピュータビジョンプロジェクトにとって重要な決定です。このページでは、YOLOファミリーの2つの影響力のあるモデル、YOLOXとYOLOv7の詳細な技術的比較を提供します。アーキテクチャの違い、パフォーマンスベンチマーク、理想的なユースケースを検証し、情報に基づいた選択ができるよう支援します。
YOLOX:アンカーフリーの卓越性
YOLOXは、高性能なアンカーフリー検出器として導入され、従来のYOLOバージョンと比較して性能を向上させつつ、検出パイプラインの簡素化を目指しています。その設計思想は、トレーニングプロセスを効率化することにより、学術研究と産業応用の間のギャップを埋めるものです。
著者: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, Jian Sun
所属: Megvii
日付: 2021-07-18
Arxiv: https://arxiv.org/abs/2107.08430
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
ドキュメント: https://yolox.readthedocs.io/en/latest/
アーキテクチャと主な機能
YOLOXは、前身とは一線を画すいくつかの主要なアーキテクチャの革新で際立っています。
- Anchor-Free Design: YOLOXは、定義済みのアンカーボックスを排除することで、設計パラメータの数とアンカー調整に伴う複雑さを軽減します。これにより、モデルの柔軟性が向上し、特にCOCOのようなデータセットにおいて、多様な形状やサイズのオブジェクトに対する汎化性能が向上します。
- Decoupled Head: 分類とローカリゼーションを同時に実行する結合されたヘッドとは異なり、YOLOXは分離されたヘッドを使用します。この分離により、2つのタスク間の競合が解消され、トレーニング中の収束が速くなり、精度が向上することが示されています。
- 高度なデータ拡張: このモデルは、MixUpやMosaicなどの強力なデータ拡張技術を活用して、その堅牢性を高め、過学習を防ぎます。これらの技術の詳細については、データ拡張に関するガイドをご覧ください。
- SimOTA ラベル割り当て: YOLOXは、SimOTA(Simplified Optimal Transport Assignment)と呼ばれる高度なラベル割り当て戦略を導入しました。トレーニング用のポジティブサンプルを動的に割り当てることで、トレーニング効率が向上し、モデルがより優れた特徴を学習するのに役立ちます。
長所と短所
長所:
- パイプラインの簡素化: アンカーフリーのアプローチにより、アンカーのクラスタリングと調整が不要になるため、トレーニングとデプロイメントのプロセスが簡素化されます。
- 強力な汎化性能: アンカーフリー設計と強力なデータ拡張の組み合わせにより、新しいドメインやデータセットへの高い汎化性能を発揮します。
- 優れたパフォーマンスバランス: YOLOXは、さまざまなモデルスケールにおいて、速度と精度の間で堅実なトレードオフを提供します。
弱点:
- 新しいモデルに性能で劣る: YOLOXは効率的ですが、YOLOv7やそれ以降のUltralyticsモデルのような、より新しいアーキテクチャによって、速度と精度で上回られています。
- エコシステムの制限: YOLOXはUltralyticsのような統合エコシステムの一部ではないため、デプロイメントとMLOpsがより困難になる可能性があります。Ultralytics HUBのようなツールとのシームレスな統合がありません。
YOLOv7:速度と精度の頂点
YOLOv7はリリースされると、リアルタイムオブジェクト検出器の新たな最先端技術を確立し、速度と精度の両方で目覚ましい改善を示しました。これは、いくつかのアーキテクチャの最適化とトレーニング戦略を導入することによって達成されました。
著者: Chien-Yao Wang, Alexey Bochkovskiy, and Hong-Yuan Mark Liao
所属: Institute of Information Science, Academia Sinica, Taiwan
日付: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
ドキュメント: https://docs.ultralytics.com/models/yolov7/
アーキテクチャと主な機能
YOLOv7の優れたパフォーマンスは、その高度なアーキテクチャコンポーネントとトレーニングの改良に根ざしています。
- E-ELAN (Extended Efficient Layer Aggregation Network): バックボーンにおけるこの重要なモジュールは、勾配パスを制御することで、ネットワークがより多様な特徴を学習できるようにし、勾配の流れを妨げることなく学習を強化します。
- Trainable Bag-of-Freebies: YOLOv7は、推論コストを増加させることなく精度を向上させる一連のトレーニング方法を導入しています。これには、粗から密へのリード誘導型トレーニングや、学習プロセスをガイドする補助ヘッドなどの手法が含まれます。
- モデルスケーリング: このモデルでは、連結ベースのアーキテクチャに最適化された深度と幅に対する複合スケーリング手法が導入されており、さまざまなモデルサイズで効率的なパフォーマンスが保証されます。
- 再パラメータ化された畳み込み: YOLOv7は、パフォーマンスを向上させるためにモデルの再パラメータ化を使用します。これは、それ以来、最新のネットワーク設計で普及している手法です。
長所と短所
長所:
- 卓越した速度と精度のトレードオフ: YOLOv7は、高いmAPと高速な推論速度の優れたバランスを実現し、リアルタイムアプリケーションに最適です。
- 学習効率: 「bag-of-freebies」アプローチにより、効率的な学習で高い精度を達成できます。
- 実績ある性能: 標準的なデータセットで、リアルタイム物体検出器の新たなベンチマークを確立しました。
弱点:
- Architectural Complexity: E-ELAN、補助ヘッド、およびその他の機能の組み合わせにより、アーキテクチャはより単純なモデルよりも複雑になります。
- リソース集約型の学習: 大規模なYOLOv7モデルの学習には、かなりの計算リソースとGPUメモリが必要になる場合があります。
- 汎用性の制限: 公式リポジトリには姿勢推定のようなタスクに対するコミュニティ主導の拡張機能がありますが、新しいUltralyticsモデルのような本質的なマルチタスクフレームワークではありません。
性能の直接対決:YOLOX vs. YOLOv7
パフォーマンスを比較すると、両方のモデルがさまざまな計算予算に合わせてさまざまなサイズを提供しています。YOLOXはNanoからXまでのスケーラブルなファミリーを提供し、YOLOv7はそのより大きなバリアントでトップレベルのパフォーマンスを提供することに焦点を当てています。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 T4 TensorRT10 (ms) |
params (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 |
表から、YOLOv7モデルが一般的に高いmAPスコアを達成していることが明らかです。たとえば、YOLOv7lは、YOLOXxよりも精度が高く(51.4%対51.1%)、パラメータ(36.9M対99.1M)とFLOPs(104.7B対281.9B)が大幅に少なく、T4 GPUではるかに高速です。これは、YOLOv7の優れたアーキテクチャ効率を強調しています。
Ultralytics YOLOモデルが推奨される選択である理由
YOLOXとYOLOv7は重要な進歩でしたが、Ultralytics YOLOの新しいモデル(YOLOv8やYOLO11など)は、より現代的で、汎用性が高く、ユーザーフレンドリーなエクスペリエンスを提供します。
- 使いやすさ: Ultralyticsモデルは、開発者を念頭に置いて設計されており、合理化されたPython API、充実したドキュメント、およびトレーニング、検証、およびデプロイメントを簡単にするシンプルなCLIコマンドを備えています。
- 充実したエコシステム: 活発な開発、大規模なオープンソースコミュニティ、頻繁なアップデート、そしてエンドツーエンドのMLOpsのためのUltralytics HUBのようなツールとのシームレスな統合を備えた堅牢なエコシステムの恩恵を受けられます。
- 多様性: YOLOv8やYOLO11のようなモデルは、真のマルチタスクフレームワークであり、物体検出、セグメンテーション、分類、ポーズ推定、傾斜物体検出(OBB)をすぐに利用できます。
- パフォーマンスと効率: Ultralyticsモデルは、速度と精度の優れたバランスを提供し、効率的なメモリ使用のために最適化されており、エッジデバイスからクラウドサーバーまで、幅広いハードウェアに適しています。
結論
YOLOXとYOLOv7はどちらも強力な物体検出モデルであり、コンピュータビジョンで可能なことの限界を押し広げてきました。YOLOXは、検出パイプラインを簡素化する革新的なアンカーフリーの設計で称賛に値します。YOLOv7は、その卓越した速度と精度で際立っており、要求の厳しいリアルタイムアプリケーションにとって強力な選択肢となっています。
しかし、今日の開発者や研究者にとって、YOLOv8やYOLO11のようなUltralyticsモデルは、次のステップとなるでしょう。優れた性能、より高い汎用性、そしてより包括的でユーザーフレンドリーなエコシステムを提供し、最新の高性能ビジョンAIソリューションを構築するための推奨される選択肢となっています。
その他のモデル比較
さらに詳しい情報については、他のモデル比較をご覧ください。
- YOLOX 対 YOLOv5
- YOLOX vs. YOLOv8
- YOLOv7 vs YOLOv8
- RT-DETR vs. YOLOv7
- YOLOv10やYOLO11のような最新モデルを探索してください。