コンテンツにスキップ

YOLOv7OLOX対YOLOv7:包括的な技術比較

リアルタイム物体検出の進化は、継続的なアーキテクチャの革新によって推進されてきた。この道のりにおける二つの重要なマイルストーンがYOLOXとYOLOv7である。両モデルは1年以内に相次いで発表され、標準的な物体検出パラダイムに革新的なアプローチを導入し、速度と精度のトレードオフを大幅に改善した。

このページでは、YOLOXとYOLOv7のアーキテクチャ、性能指標、最適なユースケースを比較し、コンピュータビジョン展開に最適なツールを選択できるよう、詳細な技術分析を提供します。

YOLOX:アンカー不要検出の先駆け

2021年7月にMegviiの研究者によって発表されたYOLOXは、従来のアンカーベース設計からの脱却という大きな転換を示した。学術研究と産業応用との隔たりを埋めることで、YOLOXは検出ヘッドを簡素化し、全体的な性能を向上させた。

主要モデルの詳細:

アーキテクチャの革新

YOLOXはアンカーフリー手法を導入し、カスタムデータセットに必要な設計パラメータ数とヒューリスティックな調整を大幅に削減した。分類と回帰タスクを分離するデカップルドヘッドを実装し、収束速度と精度を向上させた。さらに、MixUp モザイクMixUp 高度なデータ拡張戦略を活用し、モデルの頑健性を強化した。

YOLOXの詳細について。

アンカーフリーの利点

アンカーボックスを排除することで、YOLOXはトレーニング中の予測とグラウンドトゥルース間のIoU計算の計算オーバーヘッドを削減し、CUDA memory要件の低減とトレーニング時間の短縮を実現します。

YOLOv7: Trainable Bag-of-Freebies

2022年7月に台湾・中央研究院情報科学研究所の研究者らによって発表YOLOv7 、リアルタイム物体検出の限界をさらにYOLOv7 。本手法は「訓練可能なフリービーの袋」という概念を導入し、発表時点でMSCOCO において新たな最先端ベンチマークを確立した。

主要モデルの詳細:

アーキテクチャの革新

YOLOv7アーキテクチャYOLOv7拡張効率的層集約ネットワーク(E-ELAN)を中核として構築されており、これによりモデルは勾配経路を損なうことなく多様な特徴を継続的に学習できる。YOLOv7 モデル再パラメータ化YOLOv7 、複雑な多枝トレーニングネットワークを推論時には高速な単一経路ネットワークに簡素化することを可能にした。

YOLOv7について詳しくはこちら

パフォーマンス比較

これらのモデルを実世界での応用において評価する際、異なるスケールにおける性能を理解することが極めて重要です。下表は、様々なYOLOv7標準的な指標を比較したものです。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

分析

  • 精度: YOLOv7は、同等のYOLOXモデルと比較して、一般的に高いmAPを達成します。例えば、YOLOv7xは53.1 mAPを達成するのに対し、YOLOXxは51.1です。
  • 速度: 両モデルともTensorRTを使用してGPU実行向けに高度に最適化されていますが、YOLOv7のE-ELANアーキテクチャはハイエンドアプリケーション向けにわずかに優れたスループットを提供します。ただし、YOLOXは小型エッジデバイスで優れたレイテンシを維持します。
  • 汎用性: YOLOv7は、インスタンスセグメンテーション姿勢推定の重みをネイティブで提供することで、バウンディングボックスを超えてそのレパートリーを拡大し、ベースのYOLOXリポジトリよりも汎用性が高くなりました。

現実世界のアプリケーション

これらのモデルの選択は、多くの場合、特定のデプロイ環境に左右されます。

エッジコンピューティングとIoT

Raspberry Piや古いモバイルプロセッサのような制約のあるエッジデバイスにとって、YOLOX-NanoYOLOX-Tinyは非常に魅力的です。それらの最小限のパラメータ数とアンカーフリーの特性により、基本的なモーション追跡やスマートドアベルアプリケーションのようなタスクのために、低電力環境でより簡単に展開できます。

高精細映像解析

産業における欠陥detectや高密度交通監視で高解像度フィードを処理する場合、YOLOv7が優れています。その堅牢な特徴集約により、オブジェクトが部分的に遮蔽されたり、スケールが大きく変化したりする場合でも高い精度を維持できます。

ユースケースと推奨事項

YOLOXとYOLOv7のどちらを選択するかは、特定のプロジェクト要件、デプロイメント制約、およびエコシステムへの好みに依存します。

YOLOXを選択すべき時

YOLOXは以下に最適な選択肢です:

  • アンカーフリー検出研究: YOLOXのクリーンなアンカーフリーアーキテクチャをベースラインとして使用し、新しい検出ヘッドや損失関数を実験する学術研究。
  • 超軽量エッジデバイス: YOLOX-Nanoバリアントの極めて小さいフットプリント(0.91Mパラメータ)が重要となるマイクロコントローラーやレガシーモバイルハードウェアへのデプロイ。
  • SimOTAラベル割り当て研究: 最適輸送ベースのラベル割り当て戦略と、それがトレーニング収束に与える影響を調査する研究プロジェクト。

YOLOv7を選択すべき時

YOLOv7 以下に推奨YOLOv7 :

  • Academic Benchmarking: 2022年時代の最先端の結果を再現したり、E-ELANと学習可能なbag-of-freebies技術の効果を研究する場合に。
  • 再パラメータ化研究: 計画された再パラメータ化畳み込みと複合モデルスケーリング戦略の調査。
  • 既存のカスタムパイプライン: YOLOv7の特定のアーキテクチャを中心に構築され、容易にリファクタリングできない大幅にカスタマイズされたパイプラインを持つプロジェクト。

Ultralytics YOLO26)を選択すべきタイミング

ほとんどの新規プロジェクトにおいて、Ultralytics YOLO26は、パフォーマンスと開発者エクスペリエンスの最高の組み合わせを提供します。

  • NMSフリーのエッジデプロイメント: Non-Maximum Suppressionの後処理の複雑さなしに、一貫した低レイテンシ推論を必要とするアプリケーション。
  • CPUのみの環境: 専用のGPUアクセラレーションを持たないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な優位性をもたらします。
  • 小物体detect: 航空ドローン画像やIoTセンサー分析のような困難なシナリオにおいて、ProgLossとSTALが微小なオブジェクトのAPを大幅に向上させます。

Ultralyticsの利点

YOLOXとYOLOv7 はいずれも強力な研究YOLOv7 、研究リポジトリからスケーラブルな本番環境への移行は困難を伴います。ここでUltralytics 真価を発揮します。

Ultralytics 統一Python を提供し、モデルのトレーニング、検証、デプロイを合理化された標準化されたタスクとして扱います。従来のアーキテクチャで一般的な複雑なサードパーティ依存関係やカスタムC++オペレーターの管理に頭を悩ませる必要はありません。

さらに、Ultralytics YOLO 、Transformerベースの検出器と比較して、トレーニング中に CUDA 大幅に少なくて済みます。 RT-DETRといったトランスフォーマーベースの検出器と比較して、トレーニング中に必要とするCUDAメモリが大幅に少なくて済みます。これにより、実践者はより大きなバッチサイズを利用できるようになり、トレーニングを安定させるとともに、カスタムデータセットでの収束を加速させることが可能です。

サポートされている統合

Ultralytics 、業界標準フォーマット(例:ONNX)へのモデルのエクスポートをUltralytics サポートしています。 ONNXOpenVINOCoreML をシンプルなブールフラグで制御し、モデルデプロイプロセスを大幅に簡素化します。

コード例:Ultralyticsを使用したトレーニング

Ultralytics では、わずか数行のコードでYOLOv7 アーキテクチャを用いたモデルの読み込み、トレーニング、推論を容易に行えます。

from ultralytics import YOLO

# Load a pre-trained YOLOv7 model
model = YOLO("yolov7.pt")

# Train the model on a custom dataset (e.g., COCO8)
# The API handles data loading, augmentation, and memory management automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on a test image
predictions = model("path/to/image.jpg")
predictions[0].show()

未来: Ultralytics YOLO26

YOLOv7 重要な歴史的段階を示すものの、最先端技術は急速に進化している。2026年1月にUltralytics 、従来のモデルを凌駕する画期的なパラダイムを導入している。

YOLO26についてさらに詳しく

  • エンドツーエンドのNMSフリー設計: YOLO26は、Non-Maximum Suppression (NMS) の後処理をネイティブに排除します。これにより、レイテンシのボトルネックが劇的に低減され、多様なハードウェア設定全体で決定論的な実行時間が保証されます。
  • 最大43%高速なCPU推論: Distribution Focal Loss (DFL) を削除し、ネットワークの深さを最適化することで、YOLO26 は専用 GPU ハードウェアを持たないエッジデバイス向けに高度に調整されています。
  • MuSGDオプティマイザ: 高度なLLMトレーニング技術に触発されたMuSGDオプティマイザ(SGDとMuonのハイブリッド)は、卓越したトレーニング安定性と高速な収束を提供します。
  • 小物体検出の改善: ProgLoss + STAL損失関数の統合により、小さく遠い物体の認識が大幅に改善され、ドローンマッピングやセキュリティ監視にとって極めて重要です。
  • ネイティブタスクサポート: YOLO26は、Oriented Bounding Boxes (obb)、インスタンスsegmentation、および姿勢推定を同じ合理化されたAPI内でネイティブに包括的にサポートします。

今日、新しいコンピュータビジョンプロジェクトを開始するあらゆる現代の開発者にとって、Platform上でUltralytics YOLO26を評価することは、速度、精度、展開の簡素さの絶対的な最高のバランスを達成するための推奨される方法です。YOLO11YOLOv8のような以前の世代からアップグレードするユーザーの場合、移行にはモデル文字列の変更のみが必要であり、即座に優れた機能が利用可能になります。


コメント