YOLOv7 と YOLOX:リアルタイム検出器の技術分析
コンピュータビジョンの進化は、リアルタイム物体検出における急速な進歩によって特徴付けられてきました。この歩みにおける2つの重要なマイルストーンが 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 はアンカーベースの手法に回帰しましたが、Extended Efficient Layer Aggregation Network (E-ELAN) を導入しました。E-ELAN は勾配経路の長さを最適化し、ネットワークがさまざまな深さにわたって効果的に学習できるようにします。このアーキテクチャは再パラメータ化技術に大きく依存しており、推論中に畳み込み層をマージすることで、精度を犠牲にすることなく速度を向上させています。YOLOv7 の「bag-of-freebies」戦略には、計画的な再パラメータ化畳み込みや、粗から密へのリードガイド付きラベル割り当てといった革新が含まれており、モデルの mAP を驚異的なレベルまで押し上げています。
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 は極端なリソース制限に対して高度に最適化されています。しかし、両モデルとも最新のアーキテクチャと比較して、トレーニング中に比較的高いメモリ消費量を示します。
学習手法とエコシステム
研究者や開発者にとって重要な要素は、実装の容易さです。歴史的に、旧バージョンの 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 のどちらを選択するかは、主にデプロイ先のターゲットに依存します。
- Edge 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 推論: 実世界のハードウェア向けに大幅に最適化されており、高価な GPU インフラストラクチャを必要とせずに、標準的な CPU で YOLO26 は強力に動作します。
- ProgLoss + STAL: これらの高度な損失関数は、空撮ドローン検査 や洗練された IoT ネットワークにおいて重要な機能である、小物体認識を劇的に向上させます。
物体検出、セグメンテーションなどを通じて最高のパフォーマンスバランスを求める開発者にとって、Ultralytics Platform を通じてモデルをデプロイすることは、比類のない摩擦のない体験を提供します。
結論
YOLOX と YOLOv7 はどちらも、オープンソースのビジョン AI の軌道を形作る重要な技術を導入しました。YOLOX はアンカーフリーのデカップルドヘッドの有用性を証明し、YOLOv7 は勾配経路の再パラメータ化の絶大な力を実証しました。今日、Ultralytics エコシステムを活用することで、これらの歴史的なアーキテクチャから最大の可能性を引き出すか、あるいは最新の YOLO26 にシームレスに移行して、次世代のコンピュータビジョンアプリケーションを将来にわたって保護することができます。