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

リアルタイム物体検出の進化は、アーキテクチャにおける絶え間ない飛躍によって推進されてきました。この道のりにおける2つの重要なマイルストーンがYOLOXYOLOv7です。これらはほぼ同時期にリリースされ、両モデルとも標準的な物体検出パラダイムに対する新しいアプローチを導入し、速度と精度のトレードオフを大幅に改善しました。

本ページでは、YOLOXとYOLOv7の技術的な詳細分析を提供し、アーキテクチャ、パフォーマンス指標、および理想的なユースケースを比較することで、開発者が自身のコンピュータビジョン導入に適したツールを選択できるよう支援します。

YOLOX:アンカーフリー検出の先駆け

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

主要モデルの詳細:

アーキテクチャの革新

YOLOXはアンカーフリーアプローチを導入し、カスタムデータセットに必要な設計パラメータとヒューリスティックな調整の数を劇的に削減しました。分類タスクと回帰タスクを分離するデカップリングヘッドを実装することで、収束速度と精度を改善しました。さらに、YOLOXはMixUpやMosaicといった高度なデータ拡張戦略を活用し、モデルの堅牢性を強化しました。

YOLOXについて詳しく学ぶ

アンカーフリーの利点

アンカーボックスを排除することで、YOLOXはトレーニング中に予測値と正解データの間のIoU(Intersection over Union)を計算する際の計算オーバーヘッドを削減し、CUDAメモリ要件の低減とトレーニング時間の短縮を実現しました。

YOLOv7: Trainable Bag-of-Freebies

2022年7月に台湾のAcademia Sinica(中央研究院)情報科学研究所の研究者によってリリースされたYOLOv7は、リアルタイム物体検出の境界をさらに押し広げました。「学習可能なBag-of-Freebies」という概念を導入し、リリース時にMS COCOデータセットにおいて新たな最先端のベンチマークを確立しました。

主要モデルの詳細:

アーキテクチャの革新

YOLOv7のアーキテクチャはE-ELAN(Extended Efficient Layer Aggregation Network)を中心に構築されており、勾配経路を劣化させることなく、より多様な特徴を継続的に学習することが可能です。さらに、YOLOv7はモデルの再パラメータ化技術を活用しており、推論時には複雑なマルチブランチのトレーニングネットワークを、より高速なシングルパスのネットワークに簡素化できます。

YOLOv7の詳細はこちら

パフォーマンスの比較

実世界のアプリケーション向けにこれらのモデルを評価する際には、さまざまなスケールでのパフォーマンスを理解することが不可欠です。以下の表は、YOLOXとYOLOv7の各種サイズにおける標準的な指標を比較したものです。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
パラメータ
(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 mAPです。
  • 速度: 両モデルともTensorRTを使用したGPU実行向けに高度に最適化されていますが、YOLOv7のE-ELANアーキテクチャはハイエンドアプリケーション向けにわずかに優れたスループットを提供します。一方で、YOLOXは小型のエッジデバイス上で優れたレイテンシを維持します。
  • 汎用性: YOLOv7はインスタンスセグメンテーションおよび姿勢推定のウェイトをネイティブで提供することで、バウンディングボックスの枠を超えてそのレパートリーを拡大しており、ベースのYOLOXリポジトリよりも汎用性が高くなっています。

実世界の応用例

これらのモデルを選択する際は、多くの場合、特定の導入環境に基づいて判断することになります。

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

Raspberry Piや旧式のモバイルプロセッサのような制約のあるエッジデバイス向けには、YOLOX-NanoYOLOX-Tinyが非常に魅力的です。パラメータ数が最小限でありアンカーフリーであるため、基本的な動きの追跡やスマートドアベルアプリケーションなどの低電力環境でも導入が容易です。

高忠実度ビデオ解析

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

ユースケースと推奨事項

YOLOXとYOLOv7のどちらを選択するかは、プロジェクト特有の要件、導入の制約、およびエコシステムの好みによって決まります。

YOLOXを選択すべき場合

YOLOXは以下の場合に強力な選択肢となります:

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

YOLOv7を選択すべき場面

YOLOv7は以下の場合に推奨されます:

  • 学術的なベンチマーク: 2022年当時の最先端結果を再現したり、E-ELANおよびtrainable bag-of-freebies技術の効果を研究する場合。
  • 再パラメータ化の研究: 計画された再パラメータ化畳み込みや、複合モデルのスケーリング戦略を調査する場合。
  • 既存のカスタムパイプライン: YOLOv7固有のアーキテクチャを中心に構築されており、容易にリファクタリングできない高度にカスタマイズされたパイプラインを持つプロジェクト。

Ultralytics (YOLO26) を選択すべき場合

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

  • NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理の複雑さを伴わずに、一貫した低レイテンシの推論が求められるアプリケーション。
  • CPUのみの環境: 専用のGPUアクセラレーションがないデバイスにおいて、YOLO26の最大43%高速なCPU推論が決定的な利点となります。
  • 小物体の検出: 航空ドローンの映像 やIoTセンサーの分析など、ProgLossとSTALが小物体の精度を大幅に高めることができる困難なシナリオ。

Ultralyticsの利点

YOLOXとYOLOv7はどちらも強力な研究実装ですが、研究用リポジトリからスケーラブルな本番環境へ移行することは難しい場合があります。ここでUltralytics Platformが真価を発揮します。

Ultralyticsモデルは統一されたPython APIを提供し、モデルのトレーニング、検証、導入を合理化された標準的なタスクとして扱います。古いアーキテクチャによく見られる複雑なサードパーティの依存関係やカスタムC++演算子を管理する苦労を避けることができます。

さらに、Ultralytics YOLOモデルは、RT-DETRのようなTransformerベースの検出器と比較して、トレーニング中のCUDAメモリ消費量が大幅に少なくなっています。これにより、利用者はより大きなバッチサイズを使用できるようになり、カスタムデータセットでのトレーニングの安定化と収束の加速が可能になります。

サポートされている統合

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とYOLOXは重要な歴史的ステップを表していますが、最先端技術の進歩は急速です。2026年1月にリリースされたUltralytics YOLO26は、従来のモデルに取って代わる画期的なパラダイムを導入しました。

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)、インスタンスセグメンテーション、および姿勢推定を、同一の合理化されたAPI内で包括的にネイティブサポートしています。

今日、新しいコンピュータビジョンプロジェクトを開始する現代の開発者にとって、Ultralytics YOLO26 on the Platformを評価することは、速度、精度、導入の簡便さの最高のバランスを達成するための推奨されるパスです。YOLO11YOLOv8のような前世代からアップグレードする場合、モデルの文字列を変更するだけで、すぐに優れた機能を解放できます。

コメント