YOLOv7 対 YOLOv8#
コンピュータビジョンの急速な進化により、開発者や研究者向けに強力なツールが数多く登場しています。物体検出パイプラインに適したアーキテクチャを選択する際は、実績のあるモデルを比較することが重要です。この技術ガイドでは、特に影響力の大きい2つのモデル、YOLOv7とUltralytics YOLOv8のアーキテクチャ、パフォーマンス指標、理想的なユースケースについて詳しく解説します。
アーキテクチャの概要#
どちらのモデルもパフォーマンスを大きく向上させていますが、ディープニューラルネットワークの最適化という課題に対して、異なる構造的アプローチを採用しています。
YOLOv7:Bag-of-Freebiesの先駆者#
2022年半ばに発表されたYOLOv7は、アーキテクチャにおける勾配パスの最適化と「trainable bag-of-freebies」の概念に重点を置き、ハイエンドハードウェアでのリアルタイム検出の限界を押し広げました。
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: 台湾中央研究院情報科学研究所
- 日付: 2022-07-06
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
- ドキュメント: Ultralytics YOLOv7 Documentation
アーキテクチャの主な特徴: YOLOv7は主にアンカーベースの検出ヘッドを使用しています(アンカーフリーの分岐も試験的に導入されています)。また、Extended Efficient Layer Aggregation Networks(E-ELAN)を導入しています。この設計により、元の勾配パスを損なうことなく、ネットワークの学習能力が向上します。サーバーグレードのGPUで非常に優れた性能を発揮するため、高負荷な動画分析に適しています。
長所と短所: YOLOv7は専用ハードウェア上で優れたレイテンシを実現しますが、そのエコシステムは非常に分散しています。トレーニングには、複雑なコマンドライン引数、リポジトリの手動クローン、PyTorchにおける厳格な依存関係管理が必要です。さらに、トレーニング中のメモリ要件はコンシューマー向けハードウェアでは過大になる場合があります。
Ultralytics YOLOv8:汎用性に優れた標準#
2023年初頭にリリースされたYOLOv8は、最先端の精度だけでなく、統合されたプロダクション対応フレームワークの提供にも重点を置き、開発者体験を完全に再定義しました。
- 著者: Glenn Jocher、Ayush Chaurasia、Jing Qiu
- 組織: Ultralytics
- 日付: 2023-01-10
- GitHub: ultralytics/ultralytics
- プラットフォーム: Ultralytics YOLOv8
アーキテクチャの主な特徴: YOLOv8はネイティブなアンカーフリー検出ヘッドを導入し、MS COCOデータセットやカスタムデータ分布に基づいてアンカーボックスを手動設定する必要をなくしました。勾配フローを改善するC2fモジュールを組み込み、物体性、分類、回帰タスクを分離するデカップルドヘッド構造を使用しています。これにより、収束が大幅に高速化され、精度が向上します。
長所と短所: YOLOv8はメモリ要件の効率性に非常に優れています。YOLOv7や、より大規模なTransformerモデルと比較して、トレーニング中に必要なCUDAメモリが大幅に少ないため、開発者はより大きなバッチサイズを使用できます。最大の強みは汎用性にあり、インスタンスセグメンテーション、画像分類、ポーズ推定、指向性バウンディングボックス(OBB)をネイティブにサポートしています。唯一の小さな欠点は、YOLOv7のテンソル専用に構築された極めて特殊なレガシーパイプラインでは、短期間のリファクタリングが必要になる可能性があることです。
Ultralytics YOLOv8は、十分に保守されたエコシステムの恩恵を受けています。直感的なPython API、活発な開発、強力なコミュニティサポートにより、モデルをローカルテストからグローバルデプロイまで移行する時間は、スタンドアロンのリポジトリと比べて大幅に短縮されます。
詳細な性能比較#
次の表では、主要なモデルサイズにおけるパフォーマンス指標を詳しく比較します。YOLOv8が実現する明確なパフォーマンスバランスに注目してください。エッジデバイスでの高速推論を重視しながら、世界最高水準の精度を維持しています。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
注: このグループではYOLOv8xが最高のmAPを達成する一方、YOLOv8nはパラメーター効率と推論速度で優れており、エッジAIデバイスにコンピュータビジョンをデプロイするための文句なしの最適解となっています。
使いやすさとトレーニング効率#
使いやすさに関しては、Ultralytics YOLOv8は他に類を見ません。YOLOv7のような古いアーキテクチャでは、特定のリポジトリをクローンし、詳細なコマンドラインスクリプトを実行してデータセットとパスを設定する必要があります。
一方、YOLOv8のultralyticsパッケージは、非常に効率化された開発者体験を提供します。自動データダウンロード、すぐに使用できる事前トレーニング済みウェイト、エクスポート機能によるONNXやTensorRTなどの形式へのシームレスな変換により、トレーニング効率が最大化されます。
Ultralytics Python APIを使用して、モデルのロード、トレーニング、推論の実行をいかに簡単に行えるかを示します。
from ultralytics import YOLO
# Load a pretrained YOLOv8 nano model
model = YOLO("yolov8n.pt")
# Train the model efficiently on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run fast inference on a test image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Display the predictions
predictions[0].show()YOLOv8は、Weights & BiasesやClearMLなどの一般的なMLOpsツールとネイティブに統合されており、ハイパーパラメータのチューニングとトレーニングのメトリクスをリアルタイムで監視することができます。
理想的なユースケース#
これらのアーキテクチャのどちらを選択するかは、多くの場合、デプロイ環境固有の制約によって決まります。
YOLOv7を選ぶタイミング#
- レガシーベンチマーク: 2022年時点のアーキテクチャ標準と比較するために、固定されたベースラインを必要とする研究者に適しています。
- 既存の大規模インフラストラクチャ: NVIDIA V100またはA100 GPUに大きく投資しており、YOLOv7固有のテンソル構成がレガシーC++パイプラインに深く組み込まれている環境に適しています。
YOLOv8を選択するタイミング#
- クロスプラットフォームのプロダクション環境: クラウドGPU、モバイルデバイス、ブラウザーにまたがるシームレスなデプロイを必要とするチームに最適です。
- マルチタスク要件: プロジェクトでバウンディングボックスを超えた処理が必要で、豊富なインスタンスセグメンテーションマスクやポーズキーポイントを活用する場合に適しています。
- リソースに制約のあるエッジ環境: YOLOv8 Nano(
yolov8n)は、ロボティクス、ドローン、IoTセンサー向けに、精度と速度の比率で非常に優れた性能を提供します。
今後の展望: 世代を超えたYOLO26への飛躍#
YOLOv8は依然として非常に堅牢な選択肢ですが、コンピュータビジョンの分野は急速に進化しています。まったく新しい高性能プロジェクトを始める開発者には、Ultralyticsが最近発表した次世代のAIモデルをお勧めします。高度に洗練されたYOLO11と、新たにリリースされたYOLO26の両方をぜひご検討ください。
2026年1月にリリースされたYOLO26は、エッジデバイスで可能なことの限界を押し広げます。
- エンドツーエンドのNMSフリーデザイン: YOLO26はネイティブなエンドツーエンドモデルであり、Non-Maximum Suppression(NMS)の後処理を完全に排除します。これにより、従来の高密度予測モデルにおけるレイテンシのボトルネックを解消し、デプロイパイプラインを大幅に高速化・簡素化します。
- DFLの削除: Distribution Focal Lossを削除することで、YOLO26はよりシンプルなモデルデプロイの選択肢と、優れたエッジ互換性を実現します。
- CPU推論が最大43%高速: Raspberry Piや組み込みシステムなどの制約のある環境向けに高度に最適化されており、CPUスループットでこれまでのすべての世代を上回ります。
- MuSGDオプティマイザー: Large Language Model(LLM)のトレーニング手法に着想を得て、YOLO26はSGDとMuonを組み合わせたハイブリッド方式を採用しています。これにより、前例のないトレーニング安定性と非常に高速な収束を実現します。
- ProgLoss + STAL: これらの高度な損失関数により、小物体認識が大幅に改善されます。航空画像、スマート農業、ロボティクスにおいて極めて重要な性能向上です。
YOLOv8で大規模な動画分析クラスターへスケールアップする場合でも、最先端のYOLO26で小型エッジデバイスへ推論を移行する場合でも、Ultralytics PlatformはAIライフサイクル全体をシームレスに管理するためのツールを提供します。