YOLOv7とYOLOv5の比較#
最新のコンピュータービジョンパイプラインを構築する際、精度、推論速度、リソース使用率のバランスを取るには、適切な物体検出アーキテクチャを選択することが重要です。この包括的な比較では、コンピュータービジョン分野で大きな影響力を持つ2つのモデル、YOLOv7とUltralytics YOLOv5を検証します。
アーキテクチャの違い、パフォーマンス指標、最適なデプロイシナリオを分析し、開発者や研究者がそれぞれの要件に最適なモデルを選択できるよう支援します。
モデルの背景と起源#
これらのモデルの起源を理解すると、設計思想や想定されるユースケースを把握できます。
YOLOv5#
2020年6月26日、Glenn Jocher氏とUltralyticsチームによってリリースされたYOLOv5は、パフォーマンスを損なうことなく使いやすさを重視したネイティブのPyTorch実装を提供し、この分野に変革をもたらしました。非常に合理化されたエコシステムと信頼性の高い学習ダイナミクスにより、瞬く間に業界標準となりました。 YOLOv5 GitHubリポジトリでソースコードを確認するか、Ultralytics Platformからモデルに直接アクセスできます。
YOLOv7#
2022年7月6日、台湾の中央研究院情報科学研究所に所属するChien-Yao Wang氏、Alexey Bochkovskiy氏、Hong-Yuan Mark Liao氏によって発表されたYOLOv7は、Extended Efficient Layer Aggregation Networks(E-ELAN)や、精度の最先端を押し上げる学習可能な「bag-of-freebies」などのアーキテクチャ革新に重点を置いています。 詳細は、公式Arxiv論文とYOLOv7 GitHubリポジトリをご覧ください。シームレスに統合するには、Ultralytics YOLOv7ドキュメントをご確認ください。
YOLOv5はUltralytics Pythonパッケージに完全に統合されています。YOLOv7は学習やPyTorch推論をネイティブにはサポートしていませんが、上流のYOLOv7チェックポイントをONNXまたはTensorRTにエクスポートすれば、YOLOv7ドキュメントで説明されているようにUltralyticsで実行できます。
アーキテクチャの革新#
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 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
主なポイント#
- 精度の上限: YOLOv7xは53.1 mAPvalという優れた数値で全体最高の精度を達成しており、検出パフォーマンスの最大化を最優先するシナリオで非常に有力です。
- 速度と効率: Ultralytics YOLOv5nは効率性に優れており、わずか1.9Mのパラメーターで、非常に高速な推論レイテンシ(T4 TensorRTで1.12 ms)を実現します。そのため、リソースが厳しく制約されるエッジデプロイに最適です。
- パフォーマンスのバランス: YOLOv5シリーズは、幅広い性能のモデルを提供します。YOLOv5lは優れた中間的な選択肢であり、精度ではYOLOv7lにわずかに及ばないものの、非常に成熟したデプロイパイプラインを備えています。
Ultralyticsエコシステムの利点#
モデルのアーキテクチャは要素の半分にすぎません。実環境での実用性は、それを取り巻くエコシステムによって決まります。Ultralyticsモデルの真価が発揮されるのはこの点です。
使いやすさ: Ultralyticsは、統一された直感的なPython APIを提供します。充実した公式ドキュメントに支えられ、最小限のボイラープレートでモデルの学習、検証、デプロイが可能です。 メンテナンスの行き届いたエコシステム: 活発な開発により、継続的な更新やバグ修正が行われ、Weights & Biasesなどの最新トラッキングツールとシームレスに統合できます。 学習効率: 最適化されたデータローダーとスマートキャッシュを活用することで、YOLOv5は学習時間を大幅に短縮します。さらに、すぐに使用できる事前学習済み重みによって、さまざまなドメインでの転移学習を高速化できます。
コード例:効率的なトレーニング#
Ultralyticsパッケージを使えば、選択するアーキテクチャにかかわらず、ほぼ同じ手順で学習を開始できます。
from ultralytics import YOLO
# 事前学習済みのYOLOv5モデルを読み込みます
model = YOLO("yolov5su.pt") # YOLOv5u: ultralyticsパッケージ向けのアンカーフリーYOLOv5重み
# COCO8のサンプルデータセットでモデルをトレーニングする
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# トレーニング済みモデルをデプロイ用にONNX形式でエクスポートします
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はネイティブのエンドツーエンドヘッド(
nms=False)を提供します。後処理の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 Platformならではの優れた使いやすさを維持しながら、画期的なアーキテクチャ革新を実現しています。