YOLOv7 :リアルタイム検出器の技術的分析
コンピュータビジョンの進化は、リアルタイム物体検出の急速な進歩によって特徴づけられてきた。この道のりにおける二つの重要なYOLOv7 。両モデルとも速度と精度の限界を押し広げたが、結果を達成するために異なるアーキテクチャ哲学を採用した。本ガイドでは、これら二つの強力なモデル間の包括的な技術比較を提供し、コンピュータビジョンプロジェクトに適したアーキテクチャを選択する手助けをする。
モデルの紹介
これらのモデルの起源と主要な設計選択を理解することは、現代の機械学習運用においてそれらを効果的に展開するために極めて重要である。
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 ドキュメンテーション
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 OLOXYOLOv7 主な違いは、特徴抽出、境界ボックス予測、およびラベル割り当てへのアプローチにある。
YOLOX: アンカーフリーの先駆者
YOLOXはアンカーボックスを排除した設計への移行により、YOLO 革命をもたらした。従来のアンカーベース検出器は、アンカーボックスのクラスタリングに複雑なヒューリスティック調整を必要とし、データセットに強く依存する傾向があった。 アンカーボックスを排除したことで、YOLOXは設計パラメータ数を大幅に削減しました。さらに、YOLOXは分離型ヘッドを採用し、分類タスクと位置推定タスクを別々のネットワーク分岐に分離しています。これにより、物体の分類と空間座標の回帰という本質的な矛盾が解消されました。YOLOXはまた、SimOTAのような高度なラベル割り当て戦略を統合しており、これは学習中に陽性サンプルを動的に割り当てます。
YOLOv7: 拡張効率的層集約
YOLOv7 アンカーベースの手法YOLOv7 、拡張効率的層集約ネットワーク(E-ELAN)を導入した。E-ELANは勾配経路長を最適化し、ネットワークが深さの異なる層間で効果的に学習することを保証する。このアーキテクチャは再パラメータ化技術に大きく依存し、推論時に畳み込み層を統合することで精度を犠牲にせず速度を向上させる。YOLOv7「袋詰め戦略」には、計画的な再パラメータ化畳み込みや粗から細へのリードガイド付きラベル割り当てといった革新が含まれ、モデルの平均精度(MAP)を驚異的な水準まで押し上げている。
アンカーベース vs. アンカーフリー
YOLOXはアンカーフリー設定によりデプロイメントパイプラインを簡素化しましたが、Ultralytics 手法をさらに洗練させ、新世代では事前定義されたボックスの必要性を完全に排除しています。
パフォーマンス比較
これらのモデルを実運用向けに評価する際には、精度と計算効率のバランスが不可欠である。下表はそのトレードオフを示しており、最も優れた指標を太字で強調表示している。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (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 Ultralytics 、トレーニング、検証、デプロイを大幅に簡素化します。
- 使いやすさ: わずか数行のコードでトレーニングループを開始でき、生のPyTorch実装に関連する急な学習曲線を緩和します。
- 訓練効率: Ultralytics YOLOモデルは、RT-DETRのような重いトランスフォーマーモデルと比較して、訓練中に本質的に少ないメモリを利用します。これにより、開発者は民生用ハードウェアでバッチサイズを最大化できます。
- 多様性: 単純なバウンディングボックスを超えて、エコシステムはInstance SegmentationやPose Estimationのようなタスクにも容易に拡張されます。
Ultralytics モデルをトレーニングする方法を示す、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は、最小の異常でもdetectされることを保証します。
未来:Ultralytics YOLO26へのアップグレード
YOLOv7 登場当時画期的であったものの、コンピュータビジョン分野は大きく進歩した。新規導入においては、開発者は2026年1月にリリースUltralytics を検討すべきである。この最先端モデルは、最良のアーキテクチャ理論を統合し、究極の実用化可能なシステムを実現している。
アップグレードを強く推奨する理由は以下の通りです:
- エンドツーエンドのNMSフリー設計: YOLO26は、後処理中のNon-Maximum Suppression (NMS) をネイティブに排除します。YOLOv10で最初に開拓されたこのアプローチは、一貫して低レイテンシを保証し、NMSハードウェアサポートのないデバイスへのデプロイメントを簡素化します。
- DFLの削除: Distribution Focal Lossを削除することで、YOLO26は低電力エッジデバイスとの互換性を大幅に向上させ、ONNXエクスポートを簡素化します。
- MuSGD オプティマイザ: LLMトレーニングイノベーションから着想を得て、YOLO26はハイブリッドMuSGDオプティマイザを活用し、より高速な収束と驚くほど安定したトレーニングダイナミクスを保証します。
- 最大43%高速なCPU推論: 実世界のハードウェア向けに高度に最適化されたYOLO26は、高価なGPUインフラを必要とせず、標準的なCPUで優れた性能を発揮します。
- ProgLoss + STAL: これらの高度な損失関数は、小さなオブジェクトの認識を劇的に改善し、航空ドローン検査や高度なIoTネットワークにとって重要な機能となります。
物体検出、segmentationなどにおいて最高のパフォーマンスバランスを追求する開発者にとって、Ultralytics Platformを介したモデルのデプロイは、比類のない、摩擦のない体験を提供します。
結論
YOLOXとYOLOv7は共に、オープンソースビジョンAIの軌跡を形成した極めて重要な技術を導入しました。YOLOXはアンカーフリーのデカップリングヘッドの実現可能性を証明し、YOLOv7は勾配パス再パラメータ化の絶大な力を実証しました。今日、Ultralyticsエコシステムを活用することで、これらの歴史的なアーキテクチャから最大限の潜在能力を引き出すことができます。また、最先端のYOLO26にシームレスに移行し、次世代のコンピュータビジョンアプリケーションを将来にわたって保証することも可能です。