YOLOv7とYOLOv5の比較#
最新のコンピュータビジョンパイプラインを構築する際、精度、推論速度、リソース使用率のバランスを取るうえで、適切な物体検出アーキテクチャを選択することが重要です。この包括的な比較では、コンピュータビジョン分野で特に大きな影響力を持つ2つのモデル、YOLOv7とUltralytics YOLOv5を検証します。
アーキテクチャの違い、性能指標、理想的なデプロイシナリオを分析することで、開発者や研究者が自身の要件に最適なモデルを選択できるよう支援します。
モデルの背景と起源#
これらのモデルの起源を理解することで、それぞれの設計思想と想定されるユースケースを把握できます。
YOLOv5#
2020年6月26日、Glenn Jocher氏とUltralyticsのチームによってリリースされたYOLOv5は、パフォーマンスを犠牲にすることなく使いやすさを重視したネイティブなPyTorch実装を提供し、この分野に革新をもたらしました。非常に洗練されたエコシステムと安定した学習動作により、短期間で業界標準となりました。 ソースコードはYOLOv5 GitHubリポジトリで確認でき、モデルにはUltralytics Platformから直接アクセスできます。
YOLOv7#
台湾の Academia Sinica の Institute of Information Science に所属する 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 をご確認ください。
これら2つのモデルはいずれもUltralytics Pythonパッケージに完全に統合されているため、コード内のモデル文字列を変更するだけで簡単に切り替えられます。
アーキテクチャのイノベーション#
Ultralytics YOLOv5の設計#
YOLOv5は、改良されたCSPDarknet53バックボーンとPath Aggregation Network(PANet)ネックを組み合わせて使用します。この設計は、迅速な特徴抽出とメモリ効率に向けて高度に最適化されています。旧来のアーキテクチャや大規模なTransformerモデルとは異なり、YOLOv5は学習中に必要なCUDAメモリが大幅に少ないため、一般的なコンシューマー向けGPUでもより大きなバッチサイズを使用できます。さらに、Ultralyticsフレームワークは、標準的なバウンディングボックスに加えて、画像セグメンテーションや画像分類など、幅広いタスクを本来サポートしています。
YOLOv7の設計#
YOLOv7は、複数の構造的な再パラメーター化とE-ELANアーキテクチャを導入しました。これにより、元の勾配経路を壊すことなく、ネットワークがより多様な特徴を学習できます。また、学習中の中間監督用に補助ヘッドも実装しています。これらの進歩により平均適合率(mAP)は高くなりますが、複雑なテンソル構造が導入されることが多く、Ultralyticsモデルにネイティブで備わっている洗練されたエクスポートと比べて、ONNXやTensorRTなどのエッジ形式へのエクスポートがやや難しくなる場合があります。
パフォーマンス分析#
これらのモデルを比較する際、開発者はmAPval、推論速度、計算の複雑さ(FLOPs)のバランスを取る必要があります。以下の表は、COCOデータセットで評価した両アーキテクチャの性能を示しています。
| モデル | サイズ (ピクセル) | 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)で、極めて高速な推論レイテンシ(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 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はCPU推論を最大43%高速化し、エッジデバイスや低消費電力IoTデバイスへのデプロイにおいて他の追随を許さないモデルとなっています。
- ProgLoss + STAL: これらの高度な損失関数により、小さな物体の認識性能が大幅に向上します。これは航空画像や精密ロボティクスにおいて重要です。
- タスク固有の改善: マスク生成用のセマンティックセグメンテーション損失、ポーズトラッキング用のResidual Log-Likelihood Estimation(RLE)、そして難しいOriented Bounding Box(OBB)の境界問題を解決する専用の角度損失を備えています。
まとめ#
YOLOv5とYOLOv7はいずれも、リアルタイム物体検出に対応する堅牢なソリューションを提供します。YOLOv7は高い計算能力を持つハードウェア上で純粋な精度を追求する場合に有力な選択肢であり、YOLOv5は速度、効率、ワールドクラスのエコシステムを卓越したバランスで提供する、開発者にとって最も使いやすいツールとして際立っています。
一方、パイプラインを将来にわたって利用できるようにし、速度、シンプルさ、最先端の精度を究極のバランスで実現したい開発者には、Ultralytics YOLO26への移行を強くおすすめします。Ultralyticsプラットフォームの伝説的な使いやすさを維持しながら、画期的なアーキテクチャ上の革新を実現しています。