YOLOv7 vs YOLOv5:リアルタイム検出器の技術比較

最新のコンピュータビジョンパイプラインを構築する際、精度、推論速度、リソース使用率のバランスを取るために適切な物体検出アーキテクチャを選択することは極めて重要です。本比較では、コンピュータビジョンの分野で極めて影響力の大きい2つのモデル、YOLOv7とUltralytics YOLOv5について包括的に検証します。

両モデルのアーキテクチャの違い、パフォーマンスメトリクス、および理想的なデプロイメントシナリオを分析することで、開発者や研究者が特定の要件に合わせて最適なモデルを選択できるようサポートします。

モデルの背景と起源

これらのモデルの起源を理解することは、それぞれの設計思想や想定されるユースケースを把握するための文脈となります。

YOLOv5

YOLOv5は、2020年6月26日にGlenn JocherとUltralyticsのチームによってリリースされ、パフォーマンスを犠牲にすることなく使いやすさを優先したネイティブなPyTorch実装を提供することで業界に革命をもたらしました。その非常に合理化されたエコシステムと信頼性の高いトレーニングダイナミクスにより、急速に業界標準となりました。 ソースコードはYOLOv5 GitHubリポジトリで確認できるほか、Ultralytics Platformを通じてモデルに直接アクセスすることも可能です。

YOLOv5の詳細はこちら

YOLOv7

YOLOv7は、台湾の中央研究院情報科学研究所のChien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liaoによって2022年7月6日に発表されました。YOLOv7は、Extended Efficient Layer Aggregation Networks (E-ELAN) やトレーニング可能な「bag-of-freebies」といったアーキテクチャ上の革新に重点を置き、精度の最先端を追求しました。 詳細は公式Arxiv論文およびYOLOv7 GitHubリポジトリで確認できます。シームレスな統合については、Ultralytics YOLOv7ドキュメントを参照してください。

YOLOv7の詳細はこちら

シームレスな実験環境

どちらのモデルもUltralytics Pythonパッケージに完全に統合されており、コード内のモデル文字列を変更するだけで、簡単にモデルを切り替えることができます。

アーキテクチャの革新

Ultralytics YOLOv5の設計

YOLOv5は、修正されたCSPDarknet53バックボーンとPath Aggregation Network (PANet) ネックを組み合わせて使用します。この設計は、迅速な特徴抽出とメモリ効率に高度に最適化されています。古いアーキテクチャや大規模なTransformerモデルとは異なり、YOLOv5はトレーニング中に必要なCUDAメモリが大幅に少なく、一般的な消費者向けGPUでもより大きなバッチサイズが可能です。さらに、Ultralyticsフレームワークは、標準的なバウンディングボックス以外にも、画像セグメンテーション画像分類など、幅広いタスクを本質的にサポートしています。

YOLOv7の設計

YOLOv7は、いくつかの構造的再パラメータ化とE-ELANアーキテクチャを導入しており、これによりネットワークは元の勾配パスを破壊することなく、より多様な特徴を学習できるようになっています。また、トレーニング中の中間的な監視のために補助ヘッドも実装しています。これらの進歩は高いmAP (mean Average Precision) を実現しますが、複雑なテンソル構造を導入することも多く、Ultralyticsモデルのような合理化されたエクスポートと比較すると、ONNXTensorRTなどのエッジフォーマットへのエクスポートがわずかに困難になる場合があります。

性能分析

これらのモデルを比較する際、開発者はmAPval、推論速度、および計算複雑性 (FLOPs) のバランスを考慮する必要があります。以下の表は、COCOデータセットで評価された両アーキテクチャのパフォーマンスを示しています。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
パラメータ
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

主なポイント

  • 精度の上限: YOLOv7xは53.1 mAPvalという圧倒的な最高精度を達成しており、検出性能の最大化が主な目的であるシナリオにおいて非常に競争力があります。
  • 速度と効率: Ultralytics YOLOv5nは効率性の傑作であり、わずか2.6Mのパラメータという小さなメモリフットプリントで、非常に高速な推論レイテンシ (T4 TensorRT上で1.12 ms) を提供します。これにより、制約の厳しいエッジデプロイメントにおいて比類のない選択肢となっています。
  • パフォーマンスバランス: YOLOv5シリーズは、優れたモデルのグラデーションを提供します。YOLOv5lは、YOLOv7lにわずかに精度で劣るものの、非常に成熟したデプロイメントパイプラインを提供しており、素晴らしい中間的な選択肢となっています。

Ultralyticsエコシステムの利点

モデルのアーキテクチャは方程式の半分に過ぎません。それを取り巻くエコシステムが、現実世界での有効性を左右します。これこそがUltralyticsモデルが真に輝く点です。

使いやすさ: Ultralyticsは、統一された非常に直感的なPython APIを提供します。充実した公式ドキュメントに支えられ、最小限のボイラープレートコードでモデルのトレーニング、検証、デプロイが可能です。 十分に整備されたエコシステム: 活発な開発により、継続的なアップデートやバグ修正が行われ、Weights & Biasesのような最新のトラッキングツールともシームレスに統合されます。 トレーニング効率: 最適化されたデータローダーとスマートキャッシングを活用することで、YOLOv5はトレーニング時間を劇的に短縮します。さらに、すぐに使える事前学習済みウェイトにより、さまざまなドメイン間での転移学習を加速させます。

コード例: 合理化されたトレーニング

Ultralyticsパッケージを使用すれば、どのアーキテクチャを選択しても、トレーニングの開始手順はほぼ同じです。

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model (can easily swap to "yolov7.pt")
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Export the trained model to ONNX format for deployment
success = model.export(format="onnx")

理想的な使用ケース

YOLOv7を選択すべき場面

  • 学術的ベンチマーク: 2022年の文書化されたベースラインに対して、新しい手法を比較する必要がある研究者に最適です。
  • ハイエンドGPUクラウド処理: 密なシーンで最高精度のmAPを達成することがエクスポートの簡素化よりも重要であるような、強力なサーバーハードウェアでのデプロイメント向けです。

YOLOv5を選択すべき場合

  • プロダクション環境へのデプロイ: 高い安定性、直接的なモデルデプロイメントオプション、および幅広いクロスプラットフォーム互換性を必要とする商用アプリケーションに最適です。
  • エッジデバイス: より軽量なバリエーションであるYOLOv5nおよびYOLOv5sは、スマートフォンや組み込みシステムで非常に優れた動作をします。
  • マルチタスク要件: プロジェクトが、単なる検出から、統一されたフレームワークを使用した姿勢推定やセグメンテーションへと進化する必要がある場合に適しています。
他のアーキテクチャの探索

より新しいイテレーションをお探しですか?アンカーフリー検出やマルチタスク学習機能におけるさらなる進歩を求めるなら、Ultralytics YOLOv8Ultralytics YOLO11の調査をご検討ください。

次世代: Ultralytics YOLO26

YOLOv5とYOLOv7はビジョンAIの歴史において重要な位置を占めていますが、状況は常に進化しています。2026年1月にリリースされたUltralytics YOLO26は、物体検出技術の絶対的な最先端を表しており、すべてのメトリクスにおいて前世代を凌駕しています。

YOLO26の詳細はこちら

YOLO26は、いくつかのパラダイムシフトをもたらす機能を導入しています。

  • エンドツーエンドのNMSフリー設計: 初期のイテレーションで開拓されたコンセプトに基づき、YOLO26はネイティブなエンドツーエンド設計となっています。これにより、Non-Maximum Suppression (NMS) の後処理が完全に排除され、レイテンシのボトルネックが解消され、デプロイメントロジックが劇的に簡素化されました。
  • MuSGDオプティマイザ: Moonshot AIのKimi K2に触発されたこの革新的なオプティマイザは、標準的なSGDの安定性とMuonの加速されたモメンタムを融合させ、高度なLLMトレーニングのイノベーションを直接コンピュータビジョンにもたらします。
  • CPU速度の強化: Distribution Focal Loss (DFL) を戦略的に削除することで、YOLO26はCPU推論を最大43%高速化しました。これにより、エッジデバイスや低電力のIoTデバイスへのデプロイメントにおいて揺るぎないチャンピオンとなります。
  • ProgLoss + STAL: これらの高度な損失関数は、航空画像や精密ロボット工学において極めて重要な、小物体認識の飛躍的な向上をもたらします。
  • タスク固有の改善: マスク生成のためのセマンティックセグメンテーション損失、姿勢追跡のためのResidual Log-Likelihood Estimation (RLE)、そして扱いが難しい指向性バウンディングボックス (OBB)の境界問題を解決するための特殊な角度損失を搭載しています。

結論

YOLOv5とYOLOv7はどちらもリアルタイム物体検出のための堅牢なソリューションを提供します。YOLOv7は、高性能ハードウェア上での純粋な精度を求める場合に強力な選択肢であり続け、一方YOLOv5は、スピード、効率、世界クラスのエコシステムの卓越したバランスを提供する、究極の開発者向けツールとして際立っています。

しかし、パイプラインを将来にわたって活用し、スピード、シンプルさ、最先端の精度の究極の組み合わせを実現したい開発者には、Ultralytics YOLO26への移行を強く推奨します。これは、Ultralyticsプラットフォームの伝説的な使いやすさを継承しつつ、画期的なアーキテクチャの革新を実現しています。

コメント