YOLOX 対 YOLOv5:技術比較
急速に進化するコンピュータビジョンの分野において、YOLO (You Only Look Once) シリーズは、リアルタイム物体検出の限界を常に押し広げてきました。このページでは、このシリーズにおける2つの影響力のあるモデル、Megviiが開発したYOLOXとUltralytics YOLOv5の詳細な技術比較を提供します。どちらのモデルも強力な機能を提供しますが、異なる設計思想に基づいて構築されています。YOLOXは、検出ヘッドを簡素化し、パフォーマンスを向上させるために、アンカーフリーアプローチを導入しています。一方、YOLOv5は、速度、精度、使いやすさの卓越したバランスで知られる業界標準としての地位を確立しています。
この比較では、アーキテクチャの違い、パフォーマンス指標、および理想的なユースケースを詳しく掘り下げて、生の精度、デプロイ速度、または全体的な開発効率のいずれを優先する場合でも、プロジェクトに最適なモデルを選択できるようにします。
YOLOX:アンカーフリーで高性能な代替手段
YOLOXは、Megviiの研究者によって2021年7月18日に発表されました。これは、従来のアンカーベースの手法と比較して、簡素化された設計で高性能を目指す、オブジェクト検出へのアンカーフリーアプローチを提供します。YOLOXは、定義済みのアンカーボックスを排除することで、設計の複雑さを軽減し、さまざまなデータセットにわたる一般化を改善することを目指しています。
技術詳細:
- 著者: Zheng Ge、Songtao Liu、Feng Wang、Zeming Li、Jian Sun
- 組織: Megvii
- Date: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Docs: https://yolox.readthedocs.io/en/latest/
アーキテクチャと主な機能
YOLOXは、いくつかの重要なイノベーションによって特徴付けられます。その核となる機能は、事前定義されたアンカーボックスのセットに依存せずにオブジェクトのプロパティを直接予測するアンカーフリー検出メカニズムです。これにより、トレーニングパイプラインが簡素化され、アンカーチューニングの必要がなくなります。このアーキテクチャには、分類タスクとローカリゼーションタスクのためのデカップルドヘッドも組み込まれており、著者らはこれが収束と精度を向上させることを発見しました。さらに、YOLOXは、SimOTAと呼ばれる高度なラベル割り当て戦略を利用して、トレーニングのためにポジティブサンプルを動的に割り当て、困難なオブジェクトに対するパフォーマンスを向上させています。
長所
- 高精度: YOLOXは、デカップリングされたヘッドと高度なラベル割り当て技術のおかげで、COCOなどのベンチマークで、同様のサイズの他のモデルをしばしば凌駕する、競争力のある精度を達成しています。
- Anchor-Free Detection: これにより、検出パイプラインが簡素化され、多くの場合ドメイン固有の調整が必要となるアンカーボックス構成への依存関係を排除することで、一般化が向上します。
弱点
- 実装の複雑さ: アンカーフリーであることは1つの側面を単純化しますが、デカップルドヘッドやSimOTAのような高度な戦略の導入は、モデルの実装と理解に複雑さを加える可能性があります。
- 外部エコシステム: YOLOXはUltralyticsスイートの一部ではないため、Ultralytics HUBのようなツールとのシームレスな統合ができません。そのため、統一され、十分に文書化されたUltralyticsのエクスペリエンスと比較して、学習の難易度が上がる可能性があります。
- CPU速度: パフォーマンスベンチマークに見られるように、CPUでの推論速度は、特に大規模なYOLOXバリアントの場合、YOLOv5のような高度に最適化されたモデルに比べて遅れる可能性があります。
ユースケース
YOLOXは、可能な限り最高の精度を達成することが主な目標であるアプリケーションに適しています。
- 自動運転: すべてのオブジェクトを正確に識別することが重要な自動運転車の認識タスクにおいて、その高精度さが役立ちます。
- 高度なロボティクス: ナビゲーションとインタラクションのためにロボットが正確な物体検出を実行する必要がある複雑な環境に最適です。ロボティクスにおけるAIで探求されているように。
- 研究: 物体検出におけるアンカーフリー手法および高度なトレーニング技術に関する学術および産業研究のための強力なベースラインとして役立ちます。
YOLOv5:汎用性と広く採用されているモデル
2020年6月26日にリリースされたUltralytics YOLOv5は、その優れた速度、精度、そして驚くほどの使いやすさのバランスで評価され、業界標準となっています。UltralyticsのGlenn Jocherによって開発され、PyTorchで完全に構築されているため、幅広い開発者や研究者のコミュニティにとって非常にアクセスしやすいものとなっています。
技術詳細:
- Author: Glenn Jocher
- 組織: Ultralytics
- Date: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- Docs: https://docs.ultralytics.com/models/yolov5/
アーキテクチャと主な機能
YOLOv5 は、特徴抽出に CSPDarknet53 バックボーン、特徴集約に PANet ネックを使用しており、効率的かつ効果的な物体検出のための実績のある組み合わせです。そのアーキテクチャは高度にスケーラブルであり、さまざまな計算予算とパフォーマンスのニーズに対応するために、さまざまなサイズ(n、s、m、l、x)で提供されます。YOLOX とは異なり、高速化のために高度に最適化されたアンカーベースの検出ヘッドを使用しています。このモデルは、シンプルな Python API、広範なドキュメント、およびトレーニングとデプロイメントのためのノーコードの Ultralytics HUB プラットフォームを含む包括的なエコシステムの一部です。
長所
- 卓越した推論速度: YOLOv5は高速検出のために高度に最適化されており、CPUとGPUハードウェアの両方でリアルタイムシステムに最適です。
- 使いやすさ: シンプルなAPI、包括的なドキュメント、およびUltralyticsエコシステム内でのシームレスな統合で知られており、開発者にとって参入障壁を大幅に下げています。
- 成熟したエコシステム: 大規模で活発なコミュニティ、頻繁なアップデート、およびすぐに利用できる事前トレーニング済みの重みを含む豊富なリソースから恩恵を受けています。
- 学習効率: 学習プロセスは非常に効率的で、より速い収束時間と、一般的に、より複雑なアーキテクチャと比較して、より低いメモリ要件を備えています。
- 多様性: YOLOv5は、検出以外にも、同じフレームワーク内でインスタンスセグメンテーションや画像分類など、複数のビジョンタスクをサポートしています。
弱点
- Anchor-Based Detection: アンカーボックスに依存しており、アンカーフリー検出器と比較して、異常な形状またはスケールを持つオブジェクトを持つデータセットで最適なパフォーマンスを得るには、調整が必要になる場合があります。
- 精度に関するトレードオフ: 優れたバランスを提供しているものの、小型のYOLOv5モデルは速度を優先するため、最大精度のみを目的として設計された大型モデルや新しいアーキテクチャと比較して、精度がわずかに低くなる可能性があります。
ユースケース
YOLOv5の汎用性と効率性により、非常に幅広い分野に適しています。
- エッジコンピューティング: 高速性と小型モデルサイズにより、Raspberry PiやNVIDIA Jetsonのようなリソース制約のあるデバイスへの実装に最適です。
- 産業オートメーション: 製造業における品質管理とプロセス自動化を強化し、リサイクルの効率化などを実現します。
- セキュリティと監視: 盗難防止などのアプリケーション向けのセキュリティシステムでのリアルタイム監視を可能にします。
- モバイルアプリケーション: 低遅延と効率が重要なオンデバイスオブジェクト検出タスクに適しています。
性能の直接対決:速度 vs. 精度
YOLOXとYOLOv5を比較すると、精度と速度の間に明確なトレードオフが見られます。YOLOXモデルは一般的に、特定のモデルサイズに対してより高いmAPvalスコアを達成し、アンカーフリー設計と高度なトレーニング戦略の有効性を示しています。例えば、YOLOX-xは51.1 mAPに達し、YOLOv5xをわずかに上回っています。
しかし、Ultralytics YOLOv5は推論速度において大きな利点があります。YOLOv5nのような小型のYOLOv5モデルは、CPUとGPUの両方で非常に高速であり、エッジデバイスでのリアルタイムアプリケーションに最適です。パフォーマンスの表に示すように、YOLOv5nはわずか1.12msのTensorRTレイテンシを達成しており、これはYOLOX-sの2倍以上の速さです。この効率性により、YOLOv5は速度が重要な制約となる多くの本番環境において、より実用的な選択肢となります。
モデル | サイズ (ピクセル) |
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 |
YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
結論: どのモデルを選ぶべきか?
YOLOXとYOLOv5はどちらも強力な物体検出モデルですが、異なる優先順位に対応しています。YOLOXは、最大の精度を優先し、アンカーフリーアーキテクチャの利点を調査することに関心のある研究者や開発者にとって優れた選択肢です。ベンチマークでの強力なパフォーマンスにより、精度が最も重要なタスクにとって手ごわいモデルとなっています。
しかし、圧倒的多数の実世界のアプリケーションにとって、Ultralytics YOLOv5は、より魅力的な全体的なパッケージを提供します。その主な利点は、卓越した速度、使いやすさ、堅牢なエコシステムにあります。包括的なドキュメント、シンプルな API、合理化されたトレーニングプロセスのおかげで、開発者はすぐに始めることができます。モデルの効率性により、特にリアルタイムおよびエッジコンピューティングのシナリオでのデプロイメントに非常に実用的です。
さらに、Ultralyticsによる継続的な開発とサポートは、ユーザーが適切にメンテナンスされ、常に改善されているフレームワークの恩恵を受けることを意味します。最先端のパフォーマンスと使いやすさ、汎用性を求める方には、YOLOv8やYOLO11のような新しいUltralyticsモデルを検討することを強くお勧めします。これらのモデルは、YOLOv5の強固な基盤の上に構築されており、さらに優れた機能を提供します。
その他のモデル比較
これらのモデルと他のモデルとの比較に関心がある場合は、これらのページをご確認ください。