YOLOv7 と YOLOv5 の比較#
モダンなcomputer visionパイプラインを構築する際、精度、推論速度、リソース使用率のバランスを取るためには、適切なオブジェクト検出アーキテクチャの選択が不可欠です。この包括的な比較では、computer vision分野における非常に影響力の高い2つのモデル、YOLOv7とUltralytics YOLOv5を検証します。
アーキテクチャの違い、パフォーマンス指標、および理想的なデプロイメントシナリオを分析することで、開発者や研究者が特定の要件に合わせて最適なモデルを選択できるよう支援することを目的としています。
モデルの背景と起源#
これらのモデルの起源を理解することは、その設計思想とターゲットとなるユースケースを理解するためのコンテキストとなります。
YOLOv5#
2020年6月26日にUltralyticsのGlenn JocherとチームによってリリースされたYOLOv5は、パフォーマンスを犠牲にすることなく使いやすさを優先したネイティブなPyTorch実装を提供することで、この分野に革命をもたらしました。信じられないほど効率化されたエコシステムと信頼性の高いトレーニングダイナミクスにより、瞬く間に業界標準となりました。 ソースコードはYOLOv5 GitHub repositoryで確認するか、Ultralytics Platformを介して直接モデルにアクセスできます。
YOLOv7#
台湾・中央研究院情報科学研究所のChien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liaoによって2022年7月6日に発表されました。YOLOv7は、精度における最先端(ステートオブザアート)を押し進めるために、Extended Efficient Layer Aggregation Networks (E-ELAN)やトレーニング可能な「bag-of-freebies」などのアーキテクチャの革新に多大に注力しました。 詳細は公式のofficial Arxiv paperおよびYOLOv7 GitHub repositoryに記載されています。シームレスな統合については、Ultralytics YOLOv7 documentationをご覧ください。
どちらのモデルも Ultralytics Python パッケージに完全に統合されており、コード内のモデル文字列を変更するだけで、簡単にモデルを切り替えることができます。
アーキテクチャの革新#
Ultralytics YOLOv5 の設計#
YOLOv5は、修正されたCSPDarknet53バックボーンとPath Aggregation Network (PANet)ネックを組み合わせて使用します。この設計は、高速なfeature extractionとメモリ効率に向けて高度に最適化されています。古いアーキテクチャや重いtransformerモデルとは異なり、YOLOv5はトレーニング中のCUDAメモリ消費量が大幅に少なく、標準的なコンシューマー向けGPUでより大きなbatch sizesを処理できます。さらに、Ultralyticsフレームワークは、標準的なバウンディングボックスにとどまらず、image segmentationやimage classificationを含む幅広いタスクを本来的にサポートしています。
YOLOv7 の設計#
YOLOv7では、いくつかの構造的再パラメータ化とE-ELANアーキテクチャが導入されており、ネットワークが元の勾配パスを損なうことなく、より多様な特徴を学習できるようになっています。また、トレーニング中の中間的な監視のために補助ヘッド(auxiliary head)も実装されています。これらの進化により高いmean Average Precision (mAP)がもたらされますが、Ultralyticsモデル固有の合理化されたエクスポートと比較して、ONNXやTensorRTなどのエッジフォーマットへのエクスポートがやや複雑になる複雑なテンソル構造が導入されることがよくあります。
パフォーマンス分析#
これらのモデルを比較する場合、開発者はmAPval、推論速度、および計算複雑度 (FLOPs) のバランスを取る必要があります。以下の表は、COCO datasetで評価された両方のアーキテクチャのパフォーマンスを示しています。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
重要なポイント#
- 精度の天井: YOLOv7x は 53.1 mAPval という驚異的な全体精度を達成しており、検出パフォーマンスの最大化が主な目的であるシナリオにおいて非常に高い競争力を備えています。
- 速度と効率: Ultralytics YOLOv5nは効率性の驚異であり、わずか2.6Mパラメータという小さなメモリフットプリントで超高速のinference latency(T4 TensorRTで1.12ミリ秒)を提供します。これにより、制約の厳しいエッジ環境へのデプロイにおいて比類のない選択肢となります。
- パフォーマンスのバランス: YOLOv5 シリーズは、優れたモデルのグラデーションを提供します。YOLOv5l は、YOLOv7l にわずかな精度差で及ばないものの、非常に成熟したデプロイメントパイプラインを提供しており、素晴らしい中間の選択肢となります。
Ultralyticsエコシステムの利点#
モデルのアーキテクチャは方程式の半分に過ぎず、その周囲を取り巻くエコシステムが実用性を決定づけます。これこそが、Ultralytics モデルが真に輝く点です。
使いやすさ: Ultralyticsは、統合された非常に直感的なPython APIを提供します。豊富なofficial documentationに裏打ちされ、最小限のボイラープレートでモデルのトレーニング、検証、デプロイを行うことができます。 手入れの行き届いたエコシステム: アクティブな開発により、定常的なアップデート、バグ修正、Weights & Biasesなどの最新のトラッキングツールとのシームレスな統合が保証されます。 トレーニング効率: 最適化されたデータローダーとsmart cachingを活用することで、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を選択すべき場合#
- プロダクションデプロイ: 高い安定性、簡単なmodel deployment options、および幅広いクロスプラットフォーム互換性を必要とする商業アプリケーションに最適です。
- エッジデバイス: 小さなバリアント (YOLOv5n および YOLOv5s) は、携帯電話や組み込みシステムで非常に良好に動作します。
- マルチタスクの要件: プロジェクトがシンプルな検出から、統合フレームワークを使用したpose estimationやセグメンテーションへと発展する必要がある場合。
より新しいバージョンをお探しですか?アンカーフリー検出やマルチタスク学習機能のさらなる進化については、Ultralytics YOLOv8またはUltralytics YOLO11の探索をご検討ください。
次世代:Ultralytics YOLO26#
YOLOv5 と YOLOv7 はビジョン AI の歴史において重要な位置を占めていますが、環境は絶えず進化しています。2026年1月にリリースされた Ultralytics YOLO26 は、オブジェクト検出テクノロジーの絶対的な最先端を表しており、すべての指標において前世代を凌駕しています。
YOLO26 は、いくつかのパラダイムシフトをもたらす機能を導入しています:
- エンドツーエンドの NMS フリー設計: 初期のイテレーションで開拓された概念に基づき、YOLO26 はネイティブなエンドツーエンドを実現しています。これにより、Non-Maximum Suppression (NMS) の後処理が完全に排除され、レイテンシのボトルネックが解消され、デプロイメントのロジックが劇的に簡素化されました。
- MuSGD オプティマイザ: Moonshot AI の Kimi K2 に触発されたこの革新的なオプティマイザは、標準的な SGD の安定性と Muon の加速されたモメンタムを融合させ、高度な LLM トレーニングのイノベーションをコンピュータビジョンに直接取り入れています。
- CPU 速度の向上: Distribution Focal Loss (DFL) を戦略的に削除することで、YOLO26 は最大 43% 高速な CPU 推論 を実現しており、エッジおよび低電力の IoT デバイスデプロイメントにおいて、議論の余地のないチャンピオンとなっています。
- ProgLoss + STAL: これらの高度な損失関数は、航空画像や精密ロボット工学に不可欠な小物体認識において大幅な改善をもたらします。
- タスク固有の改善: マスク生成のためのセマンティックセグメンテーション損失、ポーズトラッキング用のResidual Log-Likelihood Estimation (RLE)、および複雑なOriented Bounding Box (OBB)の境界の問題を解決するための特殊な角度損失を備えています。
結論#
YOLOv5 と YOLOv7 はどちらも、リアルタイムオブジェクト検出のための強力なソリューションを提供します。YOLOv7 は高計算ハードウェアでの生の精度において強力な選択肢であり続け、YOLOv5 は速度、効率、世界クラスのエコシステムの卓越したバランスを提供する、究極の開発者向けツールとして際立っています。
しかし、パイプラインの将来性を確保し、速度、シンプルさ、最先端(ステートオブザアート)の精度の究極の組み合わせを実現したい開発者には、Ultralytics YOLO26への移行を強くお勧めします。Ultralyticsプラットフォームの伝説的な使いやすさをカプセル化しつつ、画期的なアーキテクチャの革新を実現しています。