YOLOv7 vs YOLOv5:詳細な技術比較
物体検出モデルを選択する際、開発者はしばしば速度、精度、使いやすさのトレードオフを考慮します。Ultralytics YOLOv5とYOLOv7は、コンピュータビジョンの分野における2つの重要なモデルであり、それぞれ異なる強みを持っています。このページでは、アーキテクチャの違い、パフォーマンスのベンチマーク、理想的なアプリケーションを強調し、プロジェクトのニーズに最適なモデルを決定できるように、詳細な技術比較を提供します。
YOLOv7 はリリース時に精度の限界を押し広げましたが、Ultralytics YOLOv5 は、堅牢で十分にメンテナンスされたエコシステムに支えられ、効率、迅速なデプロイ、およびアクセシビリティのベンチマークとしての地位を確立しました。
YOLOv7:高精度にフォーカス
Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liaoによって作成されたYOLOv7は、2022年7月6日にリリースされました。これは、高速性を維持しながら、リアルタイム物体検出器の精度で新たな最先端を確立することを目指して、「trainable bag-of-freebies」として知られるいくつかのアーキテクチャ最適化とトレーニング戦略を導入しました。
著者: Chien-Yao Wang, Alexey Bochkovskiy, and Hong-Yuan Mark Liao
所属: Institute of Information Science, Academia Sinica, Taiwan
日付: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
ドキュメント: https://docs.ultralytics.com/models/yolov7/
YOLOv7 のアーキテクチャと主な機能
YOLOv7のアーキテクチャは、特徴学習を改善し、トレーニング後の高速な推論のためにモデルを最適化するように設計された、いくつかの重要な革新に基づいて構築されています。
- Extended Efficient Layer Aggregation Network (E-ELAN): バックボーンのこのモジュールは、勾配パスをより効率的に管理することにより、ネットワークの学習能力を強化し、より多様な特徴を学習できるようにします。
- モデルスケーリング: 連結ベースのモデルに対して複合スケーリング手法を実装し、さまざまな計算予算に合わせてモデルの深度と幅を調整します。
- Trainable Bag-of-Freebies: 推論コストを増加させることなく精度を向上させるために、補助ヘッドや最適化されたラベル割り当てなど、高度なトレーニング手法を活用しています。これらの補助ヘッドは、特徴学習を強化するためにトレーニング中にのみ使用され、推論時には削除されます。
YOLOv7の長所
- 高精度: COCOなどのベンチマークで高いmAPスコアを達成し、多くの場合、精度において最新のモデルを上回ります。
- Efficient Training Techniques: 推論中に計算量のオーバーヘッドを追加することなく、パフォーマンスを最大化する新しいトレーニング戦略を組み込んでいます。
YOLOv7の弱点
- 複雑さ: アーキテクチャとトレーニングのプロセスは、補助ヘッドのような機能により、Ultralytics YOLOv5の効率化されたアプローチと比較して、理解および修正がより複雑になる可能性があります。
- エコシステムとサポート: Ultralyticsが提供する広範なドキュメント、チュートリアル、統合されたエコシステムが不足しています。そのため、開発者にとってデプロイメントやトラブルシューティングがより困難になる可能性があります。
- リソース集約的: 大規模なYOLOv7モデルの学習は、かなりの計算リソースを必要とするため、ハードウェアが限られているユーザーにとってはアクセスが制限される可能性があります。
YOLOv7のユースケース
- 高性能検出: 高度な監視や自動運転車など、絶対的に最高の精度を達成することが重要なアプリケーションに適しています。
- 研究とベンチマーク: 最先端の物体検出技術を調査し、パフォーマンスの限界を押し広げるための学術研究でよく使用されます。
Ultralytics YOLOv5:スピードとシンプルさ
Glenn Jocherによって作成されたUltralytics YOLOv5は、2020年6月26日にリリースされました。その卓越した速度、精度、そして最も重要な使いやすさのバランスにより、瞬く間に最も人気のある物体検出モデルの1つになりました。PyTorch上に構築されており、迅速なトレーニング、堅牢なデプロイメント、およびアクセシビリティのために設計されています。
著者: Glenn Jocher
組織: Ultralytics
日付: 2020-06-26
Arxiv: なし
GitHub: https://github.com/ultralytics/yolov5
ドキュメント: https://docs.ultralytics.com/models/yolov5/
YOLOv5 のアーキテクチャと主な機能
YOLOv5は、トレーニングと推論の両方に高度に最適化された、シンプルでありながら強力なアーキテクチャを備えています。
- CSPベースのアーキテクチャ: バックボーンとネック(PANet)の両方でCross Stage Partial(CSP)ネットワークを利用して、特徴フローを最適化し、計算ボトルネックを削減します。
- スケーラブルなモデルファミリー: Nano(YOLOv5n)からExtra-Large(YOLOv5x)までの範囲のモデルを提供し、ユーザーは軽量なエッジデバイスから高性能クラウドサーバーまで、特定のニーズに合わせて速度と精度の最適なバランスを選択できます。
- Developer-First Experience: シンプルさを追求してゼロから設計されています。自動アンカー生成、統合された実験追跡、初心者から専門家まで使いやすい合理化されたトレーニングパイプラインを備えています。
Ultralytics YOLOv5の強み
- 使いやすさ: YOLOv5は、その簡単なユーザーエクスペリエンスで有名です。シンプルな
pip install ultralytics
コマンドは、ユーザーフレンドリーで、 CLI、および広範な ドキュメンテーション非常に迅速に開始できます。 - 優れた維持管理体制のエコシステム: Ultralyticsによる継続的な開発、強力なオープンソースコミュニティ、ノーコードトレーニングとデプロイメントのためのUltralytics HUBのようなツールとのシームレスな統合の恩恵を受けています。
- パフォーマンスバランス: 速度と精度の間で優れたトレードオフを実現します。YOLOv5nのような小型モデルは、非常に高速で、CPUおよびエッジデバイスでのリアルタイム推論に最適です。
- 学習効率: 学習プロセスは非常に効率的で、より速い収束時間と、他の多くのモデルと比較して、より低いメモリ要件を備えています。事前学習済みのウェイトはすぐに利用でき、カスタムトレーニングは簡単です。
- 多様性: 物体検出、インスタンスセグメンテーション、画像分類など、複数のタスクをネイティブにサポートします。
Ultralytics YOLOv5の弱点
- ピーク精度: 非常に競争力がありますが、最大のYOLOv5モデルは、特定のベンチマークにおいて最大のYOLOv7バリアントのピークmAPに匹敵しない場合があります。YOLOv7はこのメトリックを最大化するように特別に設計されているためです。
Ultralytics YOLOv5のユースケース
- リアルタイムアプリケーション: ロボティクス、ドローンビジョン、ライブビデオ分析など、高速な推論を必要とするアプリケーションに最適です。
- エッジ展開: 効率的な設計と小型モデルサイズにより、NVIDIA Jetsonのようなリソース制約のあるエッジデバイスへの展開に最適です。
- 迅速なプロトタイピング: 使いやすさと広範なサポートのおかげで、オブジェクト検出ソリューションを迅速に開発および展開するための優れた選択肢です。
性能とベンチマーク:YOLOv7 vs. YOLOv5
性能における主な違いは、設計の優先順位にあります。YOLOv7は最高の精度を目指していますが、YOLOv5はよりバランスの取れた実用的なオプションを提供します。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 T4 TensorRT10 (ms) |
params (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 |
表が示すように、YOLOv7モデルは競争力のあるGPU速度で優れたmAPスコアを達成しています。ただし、Ultralytics YOLOv5は、さまざまなデプロイメントシナリオに対応するための優れたオプションを提供します。YOLOv5nおよびYOLOv5sモデルは、CPUとGPUの両方で大幅に高速であり、低レイテンシおよびエッジアプリケーションにとって明確な選択肢となっています。
結論: どのモデルを選ぶべきか?
YOLOv7とYOLOv5のどちらを選択するかは、プロジェクトの優先順位に大きく依存します。
-
可能な限り最高の検出精度を達成することが主な目標であり、より複雑なアーキテクチャとトレーニングパイプラインを管理するための計算リソースと技術的な専門知識がある場合は、YOLOv7を選択してください。パフォーマンスが最も重要な研究や特殊なアプリケーションに最適なモデルです。
-
迅速な開発、使いやすさ、デプロイメントの柔軟性を重視する場合は、Ultralytics YOLOv5を選択してください。その合理化されたワークフロー、広範なドキュメント、および強力なパフォーマンスバランスにより、ほとんどの商用および実用的なアプリケーションに最適な選択肢となります。初心者でも経験豊富な実践者でも、YOLOv5の堅牢なエコシステムは、コンセプトから本番環境への移行を加速します。
ほとんどの開発者にとって、Ultralytics YOLOv5の実用的な利点と包括的なサポートは、より魅力的な選択肢となります。Ultralytics YOLOv8のような後継モデルは、同じユーザーフレンドリーなフレームワーク内で、さらに優れたパフォーマンスとより多くの機能を提供することで、このレガシーを継続しています。
その他のモデルを見る
最新の進歩に関心のある方は、Ultralytics エコシステム内のより新しいモデルを検討する価値があります。
- Ultralytics YOLOv8: YOLOv5の後継であり、検出、セグメンテーション、ポーズ推定、およびトラッキングのための精度、速度、および統一されたAPIを向上させます。YOLOv8とYOLOv7の直接比較をご覧ください。
- Ultralytics YOLOv10:レイテンシを削減し、効率を向上させるために、NMSフリーのエンドツーエンド検出に焦点を当てた最先端モデル。
- Ultralytics YOLO11:Ultralyticsの最新の最先端モデルで、アンカーフリー設計により、速度、効率、使いやすさを重視しています。