YOLOv7 対 YOLOX#
コンピュータービジョンの進化は、リアルタイム物体検出の急速な進歩によって特徴づけられてきました。この過程における重要なマイルストーンが、YOLOv7とYOLOXです。両モデルは速度と精度の限界を押し広げましたが、その成果を実現するために異なるアーキテクチャ思想を採用しました。本ガイドでは、これら2つの高性能モデルを技術的に詳しく比較し、コンピュータービジョンプロジェクトに適したアーキテクチャの選択を支援します。
モデルの概要#
これらのモデルの起源と主要な設計上の選択を理解することは、現代の機械学習運用環境に効果的に導入するうえで重要です。
YOLOv7の詳細#
CSPNetおよびScaled-YOLOv4アーキテクチャを維持してきた研究者によって開発されたYOLOv7は、推論コストを増加させずに精度を最大化する「trainable bag-of-freebies」アプローチを導入しました。
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: 台湾中央研究院情報科学研究所
- 日付: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- ドキュメント: Ultralytics YOLOv7 Documentation
YOLOXの詳細#
YOLOXは別の方向性を採用し、アンカーフリー検出へと回帰することでパラダイムを転換しました。堅牢な性能を維持しながら、ヘッドアーキテクチャを大幅に簡素化しています。
- 著者: 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
- ドキュメント: YOLOX公式ドキュメント
アーキテクチャの違いと革新#
YOLOv7とYOLOXの主な違いは、特徴抽出、バウンディングボックス予測、ラベル割り当てに対するアプローチにあります。
YOLOX:アンカーフリーの先駆者#
YOLOXは、アンカーフリーデザインへ移行することでYOLOファミリーに革新をもたらしました。従来のアンカーベース検出器では、アンカーボックスのクラスタリングに対する複雑なヒューリスティック調整が必要であり、データセットに大きく依存する可能性があります。アンカーボックスを排除することで、YOLOXは設計パラメーターの数を大幅に削減しました。さらに、YOLOXはデカップルドヘッドを利用し、分類タスクとローカライゼーションタスクを別々のネットワークブランチに分離しています。これにより、物体の分類と空間座標の回帰の間にある本質的な競合が解消されます。YOLOXは、SimOTAのような高度なラベル割り当て戦略も統合しており、トレーニング中にポジティブサンプルを動的に割り当てます。
YOLOv7:拡張効率的レイヤー集約#
YOLOv7はアンカーベースの手法に回帰しましたが、**拡張効率的レイヤー集約ネットワーク (E-ELAN)**を導入しました。E-ELANは勾配経路の長さを最適化し、さまざまな深さにわたってネットワークが効果的に学習できるようにします。このアーキテクチャは再パラメーター化技術に大きく依存しており、推論時に畳み込みレイヤーを統合することで、精度を損なわずに速度を向上させます。YOLOv7の「bag-of-freebies」戦略には、計画的な再パラメーター化畳み込みや粗密方式のリード誘導ラベル割り当てなどの革新が含まれており、モデルの平均適合率を著しく高い水準まで引き上げます。
YOLOXはアンカーフリー構成によってデプロイパイプラインを簡素化しましたが、その後、現代のUltralyticsアーキテクチャはこのアプローチをさらに洗練させ、新しい世代では事前定義ボックスの必要性を完全に排除しています。
性能比較#
これらのモデルを本番環境向けに評価する際は、精度と計算効率のバランスを取ることが不可欠です。以下の表ではトレードオフを示し、最も優れた指標を太字で強調しています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
上記のとおり、YOLOv7xは最高のmAPを達成しており、複雑なデータセットに対して非常に高い精度を発揮します。一方、YOLOX-Nanoは極めて厳しいリソース制約向けに高度に最適化されています。ただし、どちらのモデルも、現代のアーキテクチャと比較すると、トレーニング中のメモリ使用量が比較的多くなっています。
トレーニング手法とエコシステム#
研究者や開発者にとって重要な要素の1つは、実装の容易さです。以前のYOLOバージョンでは、C++スクリプトを大幅にカスタマイズしたり、依存関係を複雑に管理したりする必要がありました。
Ultralyticsエコシステムの優位性#
現在、これらのアーキテクチャを活用する最も効果的な方法は、十分に保守されているUltralyticsエコシステムを利用することです。Ultralyticsは、トレーニング、検証、デプロイを大幅に簡素化する、統一された非常に直感的なPython APIを提供しています。
- 使いやすさ: 数行のコードだけでトレーニングループを開始でき、素のPyTorch実装に伴う急な学習曲線を緩和できます。
- トレーニング効率: Ultralytics YOLOモデルは、RT-DETRのような大規模なTransformerモデルと比較して、トレーニング時のメモリ使用量が本質的に少なくなっています。これにより、開発者はコンシューマー向けハードウェア上でバッチサイズを最大化できます。
- 汎用性: 単純なバウンディングボックスにとどまらず、エコシステムはインスタンスセグメンテーションやポーズ推定などのタスクにも容易に拡張できます。
以下は、Ultralytics APIを使用してモデルをトレーニングする方法を示す、100%実行可能な例です。
from ultralytics import YOLO
# Load a pre-trained model
model = YOLO("yolov8n.pt") # Readily available weights for rapid transfer learning
# Train the model efficiently on your custom data
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=16,
device="0", # Utilizes optimal CUDA memory management
)
# Export seamlessly to ONNX or TensorRT
model.export(format="onnx")エクスポートパイプラインを標準化することで、開発者は重みをTensorRTやONNXなどの形式へ容易に移行でき、対象ハードウェア上での高速推論を実現できます。
理想的なユースケースと実環境でのアプリケーション#
YOLOXとYOLOv7のどちらを選択するかは、主にデプロイ対象によって決まります。
- エッジAI向けのYOLOX: YOLOX-NanoおよびYOLOX-Tinyのバリアントは、低消費電力デバイスへのデプロイに非常に適しています。Raspberry Pi上でスマートセキュリティカメラを構築する場合、YOLOXのシンプルなアンカーフリー畳み込みはエッジアクセラレーターへ容易に移行できます。
- 高忠実度分析向けのYOLOv7: 高解像度の衛星画像を処理する場合や、複雑な製造品質管理を実行する場合、高性能なNVIDIA GPUに支えられたYOLOv7xの高いmAPにより、最も小さな異常も確実に検出できます。
未来:Ultralytics YOLO26へのアップグレード#
YOLOv7とYOLOXは登場当時に画期的なモデルでしたが、コンピュータービジョンの分野は大きく進歩しました。新しいデプロイでは、2026年1月にリリースされたUltralytics YOLO26に注目する必要があります。この最先端モデルは、最良のアーキテクチャ理論を統合し、究極の本番環境対応システムにまとめています。
アップグレードが強く推奨される理由は次のとおりです。
- エンドツーエンドのNMSフリーデザイン: YOLO26は、後処理における非最大抑制 (NMS)をネイティブに排除します。YOLOv10で初めて先駆的に導入されたこの設計により、低レイテンシーを一貫して実現し、NMSのハードウェアサポートがないデバイスへのデプロイを簡素化します。
- DFLの削除: Distribution Focal Lossを削除することで、YOLO26は低消費電力のエッジデバイスとの互換性を大幅に高め、ONNXへのエクスポートも簡素化します。
- MuSGDオプティマイザー: LLMトレーニングの革新に着想を得たYOLO26は、ハイブリッドMuSGDオプティマイザーを活用し、より高速な収束と非常に安定したトレーニングダイナミクスを実現します。
- 最大43%高速なCPU推論: 実環境のハードウェア向けに大幅に最適化されており、YOLO26は高価なGPUインフラストラクチャを必要とせず、標準的なCPU上で優れた性能を発揮します。
- ProgLoss + STAL: これらの高度な損失関数は、小さな物体の認識性能を大幅に向上させます。これは、空中ドローン検査や高度なIoTネットワークにとって重要な機能です。
物体検出、セグメンテーションなどのタスク全体で最高の性能バランスを求める開発者にとって、Ultralytics Platformを通じてモデルをデプロイすることで、他に類を見ない、摩擦のない体験が得られます。
まとめ#
YOLOXとYOLOv7はいずれも、オープンソースのビジョンAIの方向性を形作った重要な技術を導入しました。YOLOXはアンカーフリーのデカップルドヘッドの実用性を証明し、YOLOv7は勾配経路の再パラメーター化が持つ大きな力を示しました。現在、Ultralyticsエコシステムを活用することで、これらの歴史的なアーキテクチャから最大限の可能性を引き出すことも、最先端のYOLO26へシームレスに移行して次のコンピュータービジョンアプリケーションを将来にわたって有効にすることも可能です。