物体検出の進化:YOLOv5とYOLOv7の比較
コンピュータビジョンの分野は、より高速で精度の高いリアルタイム物体検出へのニーズに後押しされ、ここ数年で急速に進化しました。コンピュータビジョンプロジェクトに適したアーキテクチャを選択する際には、Ultralytics YOLOv5やYOLOv7のような人気モデル間の微妙な違いを理解することが不可欠です。この包括的な技術比較では、情報に基づいた意思決定を支援するために、それらのアーキテクチャ、トレーニング手法、パフォーマンス指標、および理想的なデプロイシナリオについて掘り下げます。
概要:モデルの起源
これらのモデルの起源と背後にある設計思想を理解することは、そのアーキテクチャ上の選択を把握するためのコンテキストを提供します。
YOLOv5の詳細:
- 著者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020-06-26
- GitHub: YOLOv5リポジトリ
- ドキュメント: YOLOv5 Documentation
YOLOv7の詳細:
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: 中央研究院 情報科学研究所(台湾)
- 日付: 2022-07-06
- Arxiv: YOLOv7論文
- GitHub: YOLOv7リポジトリ
- ドキュメント: YOLOv7ドキュメント
これらのモデルが他のモデルと比較してどうなのか興味がありますか?物体検出エコシステムへの理解を深めるために、YOLOv5 vs YOLO11やYOLOv7 vs EfficientDetのような比較をご覧ください。
アーキテクチャの革新と相違点
YOLOv5:アクセシビリティの標準
2020年にUltralyticsによって導入されたYOLOv5は、PyTorchフレームワークをネイティブに活用することでパラダイムシフトをもたらし、研究者や開発者にとっての参入障壁を大幅に下げました。そのアーキテクチャは修正されたCSPDarknet53バックボーンに依存しており、Cross Stage Partial (CSP)ネットワークを統合することで、勾配フローを維持しつつパラメータ数を削減しています。
その最大の強みの一つは、メモリ要件です。古い2段階検出器やRT-DETRのような重いTransformerモデルと比較して、YOLOv5はトレーニング中のCUDAメモリ消費量が大幅に少なく、標準的なコンシューマーグレードのGPUでより大きなバッチサイズを扱うことが可能です。さらに、ネイティブに統合された汎用性により、画像分類、物体検出、および画像セグメンテーションをシームレスにサポートしています。
YOLOv7:リアルタイム精度の限界を押し広げる
2022年半ばにリリースされたYOLOv7は、MS COCOベンチマークにおけるリアルタイム検出の最先端境界を押し広げることに注力しました。開発者はExtended Efficient Layer Aggregation Network (E-ELAN)を導入し、元の勾配パスを壊すことなくネットワークの学習能力を向上させました。
YOLOv7は「trainable bag-of-freebies(トレーニング可能な袋小路のアイデア集)」でも有名であり、特にトレーニング中の再パラメータ化技術は、推論時に複数のモジュールを単一の畳み込み層に変換することで、精度を犠牲にせずに速度を向上させます。しかし、この複雑なトレーニング手法は、多くの場合、ネイティブなUltralyticsエコシステムと比較して学習曲線が急であり、エクスポートパイプラインが単純ではありません。
パフォーマンスの比較
これらのモデルを評価する際には、速度、精度、計算コストの間のパフォーマンスバランスが重要です。以下は、MS COCO val2017データセットに基づいたそれらのパフォーマンス指標の詳細な比較です。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメータ (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
YOLOv7は大型のバリアントでより高い絶対mAPスコアを達成しますが、YOLOv5は極端なエッジデバイス向けの超軽量Nano (YOLOv5n)から、クラウド推論向けのExtra-Large (YOLOv5x)まで、比類のないモデルのスペクトルを提供します。
Ultralyticsエコシステムの利点
モデルの有用性は単なるアーキテクチャを超えて広がります。それを取り巻くエコシステムが、どれだけ迅速に本番環境へデプロイできるかを決定づけます。ここでUltralyticsモデルが輝きます。
- 使いやすさ: Ultralytics Platformとその統合されたPython APIは、合理化されたユーザー体験、シンプルな構文、そして広範なドキュメントを提供します。カスタムデータセットのトレーニングにボイラープレートコードは不要です。
- 十分に整備されたエコシステム: Ultralyticsは、アクティブな開発、頻繁なアップデート、強力なコミュニティサポートの恩恵を受けています。Comet MLやWeights & Biasesのようなツールとの統合は最初から組み込まれています。
- トレーニングの効率性: データローダー、スマートキャッシング、マルチGPUサポートにより、Ultralyticsモデルのトレーニングは非常に効率的です。すぐに利用可能な事前学習済みウェイトにより、転移学習が劇的に加速します。
コード例: はじめに
Ultralyticsを使用すれば、モデルのデプロイに必要なのは数行のコードだけです。以下のPythonスニペットは、推奨されるultralyticsパッケージを使用して、ロード、トレーニング、推論実行がいかに簡単かを示しています。
from ultralytics import YOLO
# Load a pretrained YOLOv5s model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 example dataset
# Ultralytics automatically handles data downloading and augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a sample image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Display the predictions
predictions[0].show()対照的に、オリジナルのYOLOv7リポジトリを利用する場合、通常は複雑なリポジトリのクローン作成、依存関係の手動管理、長いコマンドライン引数の使用が必要となります。
実世界でのアプリケーションと理想的な使用例
YOLOv7を選択すべき場面
YOLOv7は、学術的なベンチマークや、最大mAPが唯一の目的であり、システムがすでにそのアンカーベースの出力テンソルに合わせて調整されている特定のレガシーGPUパイプラインにとって、強力な候補であり続けています。勾配パス分析を探求する研究者は、しばしばYOLOv7をベースラインとして利用します。
YOLOv5を選択すべき場合
YOLOv5は、その並外れた安定性から、本番環境で非常に推奨されます。以下の用途における最適な選択肢です:
- モバイルおよびエッジコンピューティング: CoreMLを介してiOSへ、またはTFLiteを介してAndroidへYOLOv5nをデプロイすること。
- アジャイルなスタートアップ: データセット管理とクラウドトレーニングのために、シームレスなUltralytics Platform統合の恩恵を受ける必要があるチーム。
- マルチタスク環境: 物体検出、分類、およびセグメンテーションを同時に実行する必要があるシステム。
未来: YOLO26への移行
YOLOv5とYOLOv7を比較することは、ビジョンAIの進化を理解するための優れた演習ですが、最先端技術は進歩し続けています。2026年1月にリリースされたUltralytics YOLO26は、記念碑的な飛躍を遂げており、新規プロジェクトにおいて古いアーキテクチャをほぼ時代遅れのものにしています。
最高のパフォーマンスを求める開発者にとって、YOLO26はYOLOv5およびYOLOv7の双方に対して、いくつかの画期的な利点を提供します:
- エンドツーエンドのNMS不要設計: Non-Maximum Suppressionの後処理を排除することで、YOLO26は劇的にシンプルなデプロイと、より高速で一貫したレイテンシを提供します。
- MuSGDオプティマイザ: Moonshot AIによるLLMの革新に触発されたこのハイブリッドオプティマイザは、非常に安定したトレーニングと迅速な収束を実現します。
- 前例のないエッジ速度: エッジ環境向けに特別に最適化されており、nanoバリアントはDistribution Focal Loss (DFL)を削除することで、最大43%高速なCPU推論を誇ります。
- 優れた精度: ProgLoss + STALのような新しい損失関数により、小型オブジェクトの認識が大幅に向上し、ドローン映像やロボティクスに最適です。
既存のYOLOv5パイプラインを維持する場合でも、最先端のYOLO26を実装しようとする場合でも、Ultralytics Platformは、現代のコンピュータビジョンで成功するために必要なすべてのツールを提供します。