YOLOv7 と YOLOv8 の比較#
コンピュータビジョンの急速な進化により、開発者や研究者向けに多くの強力なツールが生み出されてきました。object detectionパイプラインに適したアーキテクチャを決定する際には、確立されたモデルを比較することが不可欠です。この技術ガイドでは、YOLOv7とUltralytics YOLOv8という非常に影響力のある2つのモデルのアーキテクチャ、パフォーマンス指標、および理想的なユースケースについて詳しく解説します。
アーキテクチャの紹介#
どちらのモデルもパフォーマンスにおいて大きな飛躍を遂げていますが、ディープニューラルネットワークの最適化という課題に対しては、異なる構造的哲学でアプローチしています。
YOLOv7: Bag-of-Freebies の先駆者#
2022年半ばに導入された YOLOv7 は、アーキテクチャの勾配パス最適化と「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: 2207.02696
- GitHub: WongKinYiu/yolov7
- Docs: Ultralytics YOLOv7 Documentation
アーキテクチャのハイライト: YOLOv7は主にアンカーベースの検出ヘッドを利用し(アンカーフリーの分岐も実験されましたが)、Extended Efficient Layer Aggregation Networks(E-ELAN)を導入しています。この設計により、元の勾配パスを損なうことなくネットワークの学習能力が向上します。サーバーグレードのGPUsで優れたパフォーマンスを発揮するため、高負荷な動画解析に非常に適しています。
長所と短所: YOLOv7は専用ハードウェア上で優れたレイテンシを実現しますが、そのエコシステムは非常に断片的です。トレーニングには、複雑なコマンドライン引数、手動でのリポジトリのクローン作成、およびPyTorchにおける厳格な依存関係の管理が必要です。さらに、トレーニング中のメモリ要件がコンシューマー向けハードウェアでは高すぎる場合があります。
Ultralytics YOLOv8:汎用的な標準#
2023年初頭にリリースされた YOLOv8 は、最先端の精度だけでなく、統合されたプロダクションレディなフレームワークを提供することに重点を置き、開発者体験を完全に再定義しました。
- 著者:Glenn Jocher、Ayush Chaurasia、Jing Qiu
- 組織: Ultralytics
- 日付:2023-01-10
- GitHub: ultralytics/ultralytics
- プラットフォーム: Ultralytics YOLOv8
アーキテクチャのハイライト: YOLOv8は、ネイティブなアンカーフリーの検出ヘッドを導入し、MS COCO datasetやカスタムデータ分布に基づいてアンカーボックスを手動で設定する必要性をなくしました。勾配フローを改善するC2fモジュールを組み込み、オブジェクトネス、分類、回帰のタスクを分離したデカップルドヘッド構造を使用しています。これにより、収束が大幅に加速され、精度が向上します。
長所と短所: YOLOv8は、優れたMemory Requirements効率を誇ります。YOLOv7や重いTransformerモデルと比較して、トレーニング中に必要なCUDAメモリが大幅に少なくなり、開発者はより大きなバッチサイズを使用できるようになります。主な強みはVersatility(汎用性)にあり、instance segmentation、image classification、pose estimation、Oriented Bounding Boxes (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はパラメータ効率と推論速度で圧倒しており、deploying computer vision on edge AI devicesにおいて文句なしのチャンピオンとなっています。
使いやすさと学習の効率性#
使いやすさ の面では、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ツールとネイティブに統合されており、hyperparameter tuningやトレーニング指標をリアルタイムでモニタリングできます。
理想的なユースケース#
これらのアーキテクチャの選択は、多くの場合、デプロイ環境の特定の制約に基づいて決定されます。
YOLOv7を選択すべき時#
- レガシーベンチマーク: 2022年のアーキテクチャ標準との比較のために固定されたベースラインを必要とする研究者に適しています。
- 既存の大規模インフラ: NVIDIA V100 や A100 GPU に多額の投資を行い、YOLOv7 固有のテンソル構成がレガシーな C++ パイプラインに深く組み込まれている環境。
YOLOv8を選択すべき場合#
- クロスプラットフォーム展開: クラウド GPU、モバイルデバイス、ブラウザ間をシームレスに展開する必要があるチームに最適です。
- マルチタスクの要件: バウティングボックスを超えて、豊富なinstance segmentation masksやpose keypointsを活用する必要があるプロジェクト。
- リソース制約のあるエッジ: YOLOv8 Nano (
yolov8n) は、ロボティクス、ドローン、IoTセンサー向けに、驚異的な精度と速度の比率を提供します。
今後について: YOLO26 への世代交代#
YOLOv8は非常に堅牢な選択肢であり続けますが、コンピュータビジョンの分野は急速に進歩しています。完全に新しい高性能プロジェクトを開始する開発者向けに、Ultralyticsは最近、AIモデルの次の進化形を導入しました。深く洗練されたYOLO11と、新しくリリースされたYOLOv26の両方を探索することを強くお勧めします。
2026年1月にリリースされたYOLO26は、エッジデバイスで可能な限界を押し広げます。
- エンドツーエンドの NMS フリー設計: YOLO26 はネイティブなエンドツーエンド設計であり、NMS (Non-Maximum Suppression) の後処理を完全に排除しています。これにより、従来の密な予測モデルのレイテンシのボトルネックを解消し、より高速でシンプルなデプロイパイプラインを実現します。
- DFLの削除: Distribution Focal Lossを削除することにより、YOLO26は、はるかにシンプルなmodel deployment optionsと優れたエッジ互換性を実現しています。
- 最大 43% 高速な CPU 推論: Raspberry Pi や組み込みシステムのような制約のある環境向けに高度に最適化されており、CPU スループットにおいて全前世代を凌駕しています。
- MuSGD オプティマイザ: 大規模言語モデル (LLM) の学習パラダイムに触発され、YOLO26 は SGD と Muon のハイブリッドを採用しています。これにより、前例のない学習の安定性と超高速な収束を実現しています。
- ProgLoss + STAL: これらの高度な損失関数は、航空画像、自動農業、ロボティクスにとって非常に重要な小物体認識において顕著な改善をもたらします。
YOLOv8で大規模な動画解析クラスターにスケールアップする場合でも、最先端のYOLO26で極小のエッジデバイスに推論をプッシュする場合でも、Ultralytics Platformは、AIライフサイクル全体をシームレスに管理するためのツールを提供します。