YOLOv7 YOLOv5詳細な技術比較
適切な物体検出アーキテクチャを選択することは、コンピュータビジョンプロジェクトの速度、精度、展開の実現性に影響を与える重要な決定です。このページでは YOLOv7と Ultralytics YOLOv5このページでは、YOLO 系譜の中で影響力のある2つのモデルの包括的な技術比較を行います。YOLOの系譜を継ぐ2つのモデル、YOLOv7とUltraltics YOLOv5について、アーキテクチャの革新性、性能ベンチマーク、理想的なユースケースを掘り下げ、お客様のアプリケーションに最適なYOLOv5を選択するお手伝いをします。
YOLOv7 2022年に学術的に大きな進歩を導入した一方で、 Ultralytics YOLOv5は、その比類のない使いやすさ、堅牢性、展開の柔軟性により、依然として業界を支配しています。絶対的な最新性能を求める人々のために、これらのモデルがどのように最先端の Ultralytics YOLO11.
パフォーマンス指標の比較
次の表は、2つのアーキテクチャ間の性能トレードオフを強調しています。YOLOv7 より高い平均平均精度(mAP)を追求する一方で、YOLOv5 推論スピードと特定のモデルサイズに対するパラメータ数の少なさにおいて、明確な優位性を提供します。
| モデル | サイズ (ピクセル) | mAP値 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:精度の限界に挑む
2022年7月にリリースされたYOLOv7 、リアルタイム物体検出器の新たな最先端を打ち立てるべく設計された。推論コストを大幅に増加させることなく精度を向上させるため、アーキテクチャの最適化に重点を置いている。
著者Chien-Yao Wang, Alexey Bochkovskiy, and Hong-Yuan Mark Liao
Organization:Institute of Information Science, Academia Sinica, Taiwan
Date:2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
Docsultralytics
アーキテクチャと主要なイノベーション
YOLOv7 、特徴学習を改善することを目的とした複雑なアーキテクチャの変更をいくつか導入している:
- E-ELAN(Extended Efficient Layer Aggregation Network):最短および最長の勾配パスを制御することで、ネットワークの学習能力を高める高度なバックボーン構造。これにより、モデルはより多様な特徴を学習することができる。
- 連結ベースのモデルのスケーリング:標準的なスケーリングとは異なり、YOLOv7 連結ベースのアーキテクチャに対して深さと幅を同時にスケーリングし、最適なリソース利用を保証する。
- トレーニング可能なBag-of-Freebies:これには、計画的な再パラメータ化畳み込み(RepConv)と補助ヘッドの学習が含まれる。補助ヘッドは粗いものから細かいものまで階層的なラベルを生成し、学習中は学習プロセスをガイドするのに役立つが、推論中は速度を維持するために削除される。
福袋」とは?
「Bag of Freebies」とは、推論コストを増加させることなく、物体検出モデルの精度を向上させる学習手法やデータ補強技術のコレクションを指す。YOLOv7、これにはCoarse-to-Fine Lead Guided Label Assignmentのような洗練された戦略が含まれる。
YOLOv77の理想的な使用例
YOLOv7 高精度に重点を置いているため、特に以下のような用途に適している:
- 学術研究: mAP 端数が重要なSOTAモデルとのベンチマーク。
- ハイエンドGPU 導入: NVIDIA A100のような)強力なハードウェアが利用可能で、より大きなモデルサイズとメモリ要件を処理できるアプリケーション。
- 静的解析:高解像度の衛星画像や医療用スキャンの分析など、リアルタイムでの待ち時間が精度よりも重要でないシナリオ。
Ultralytics YOLOv5:業界標準
Ultralytics YOLOv5 5は、最も実用的でユーザーフレンドリーな物体検出モデルの1つとして広く評価されています。2020年のリリース以来、スピード、精度、エンジニアリングの卓越性のバランスにより、数え切れないほどの商用アプリケーションのバックボーンとなっています。
著者Glenn Jocher
組織:Ultralytics
Date:2020-06-26
GitHubyolov5
Docsyolov5
アーキテクチャとエコシステムの利点
YOLOv5 、CSP-Darknet53バックボーンとPANetネック、YOLOv3ヘッドを利用し、多様な展開ターゲットに最適化されている。しかし、その真の強みはUltralytics エコシステムにある:
- 使いやすさ: YOLOv5 5は "インストールして実行 "の哲学で知られており、開発者は数分でカスタムデータセットのトレーニングを開始することができる。APIは直感的で、ドキュメントも充実している。
- トレーニング効率: YOLOv5 通常、より複雑な新しいアーキテクチャと比較して、トレーニング中に必要なCUDA メモリが少なく、ミッドレンジGPUを使用する開発者が利用しやすくなっています。
- 展開の柔軟性:ワンクリックで ONNX, TensorRTやCoreML、TFLiteワンクリックでのエクスポートをサポートしており、クラウドサーバから携帯電話まで、あらゆるものへのデプロイを容易にします。
- 整備されたエコシステム: Ultralytics 、頻繁なアップデート、バグフィックス、大規模なコミュニティにより、本番環境でも安定したセキュアなモデルを維持しています。
YOLOv55の理想的な使用例
YOLOv5 、信頼性とスピードが要求される実世界のシナリオに優れている:
- エッジAI: のようなデバイスで動作する。 NVIDIA Jetson やラズベリー・パイは、軽量なナノ(
yolov5n)とスモール(yolov5s)の亜種である。 - モバイルアプリケーション: iOS およびAndroid アプリにCoreML TFLite 統合し、デバイス上での推論を実現。
- ラピッドプロトタイピング:コンセプトからMVPへの迅速な移行を必要とする新興企業や開発者は、合理化されたワークフローからメリットを得られます。
- 産業オートメーション: Reliable detection for manufacturing lines where latency and stability are paramount.
詳細な比較分析
YOLOv7 YOLOv5どちらを選ぶかを決める際には、mAP スコアだけでなく、いくつかの技術的な要素が絡んでくる。
1.スピードと精度のトレードオフ
YOLOv7 、COCO データセットでより高いピーク精度を達成している。例えば、YOLOv5xの50.7%に比べ、YOLOv7xは53.1%のmAP 達成している。しかし、これは複雑さという代償を伴う。YOLOv5 、より滑らかなモデルの勾配を提供する。YOLOv5n(Nano)モデルは、信じられないほど高速(CPU 速度73.6ms)で軽量(2.6Mパラメータ)であり、YOLOv7 同じ粒度で明示的にターゲットとしていない超低リソース環境向けのニッチを作り出している。
2.アーキテクチャと複雑性
YOLOv7 、E-ELANによる連結ベースのアーキテクチャを採用しているため、学習時に必要なメモリ帯域幅が増加する。そのため、YOLOv5トレーニングに時間がかかり、メモリ消費量も多くなります。対照的に、Ultralytics YOLOv5 5は、トレーニング効率に高度に最適化された合理的なアーキテクチャを採用しているため、収束が速く、メモリ使用量が少なく、計算予算が限られているエンジニアにとって大きな利点となります。
3.ユーザビリティと開発者エクスペリエンス
ここがUltralytics YOLOv5 真に輝くところです。Ultralytics フレームワークは、データ増強、ハイパーパラメータ進化、実験追跡のための堅牢なツールで統一された体験を提供します。
import torch
# Example: Loading YOLOv5s from PyTorch Hub for inference
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")
# Print results
results.print()
YOLOv7 リポジトリがあるが、Ultralytics エコシステムを支えている、洗練された本番対応のCI/CDパイプライン、広範な統合ガイド、コミュニティサポートがない。
4.多用途性
どちらのモデルも主にオブジェクト検出のアーキテクチャだが、YOLOv5 取り巻くUltralytics エコシステムは、インスタンスのセグメンテーションと 画像の分類をシームレスにサポートするように進化してきた。YOLOv7 これらのタスクをサポートしているが、多くの場合、コードの異なるブランチやフォークを必要とするのに対し、Ultralytics より統一されたアプローチを提供している。
展開が容易に
Ultralytics モデルは、すぐにさまざまなエクスポート形式をサポートします。学習済みモデルを簡単に TFLiteAndroid変換できます、 CoreMLまたは TensorRTを使用すると、シンプルなCLI コマンドまたはPython スクリプトを使用して、最適化されたGPU 推論を実行できます。
結論: どのモデルを選ぶべきか?
YOLOv7 YOLOv5 どちらを選ぶかは、プロジェクトの優先順位による:
- 最大精度が第一の制約条件であり、推論速度やメモリフットプリントが二の次となる研究環境やハイエンドハードウェアで運用する場合は、 YOLOv7選択する。
- 信頼性の高いプロダクション対応ソリューションが必要な場合は、 Ultralytics YOLOv5お選びください。その使いやすさ、効率的なトレーニング、エッジデバイスでの低レイテンシー、大規模なサポートエコシステムは、ほとんどの商用アプリケーションやコンピュータビジョンの旅を始める開発者にとって優れた選択肢となります。
未来への展望YOLO11
YOLOv5 YOLOv7 優れたモデルですが、コンピュータ・ビジョンの分野は急速に進歩しています。YOLOv7 精度とYOLOv55のスピード/使いやすさの両方の長所を求める開発者には、以下を強くお勧めします。 Ultralytics YOLO11.
YOLO11 、学習パイプラインを簡素化し、検出、セグメンテーション、ポーズ推定、オリエンテッドバウンディングボックス(OBB)を含むすべてのタスクのパフォーマンスを向上させるアンカーフリーアーキテクチャを特徴とする、最新の進化を遂げている。
その他のモデルを見る
YOLO ファミリーの他のモデルの比較に興味がある方は、以下の関連ページをご覧ください: