YOLOv7とYOLOv8#
コンピュータービジョンの急速な進化により、開発者や研究者向けに数多くの強力なツールが登場しています。物体検出パイプラインに適したアーキテクチャを選ぶ際は、実績あるモデルを比較することが重要です。この技術ガイドでは、影響力の大きい2つのモデル、YOLOv7とUltralytics YOLOv8のアーキテクチャ、性能指標、理想的なユースケースを詳しく解説します。
アーキテクチャの概要#
どちらのモデルも性能を大きく向上させていますが、ディープニューラルネットワークの最適化という課題に対し、それぞれ異なる構造思想で取り組んでいます。
YOLOv7:バッグ・オブ・フリービーの先駆け#
2022年半ばに登場したYOLOv7は、アーキテクチャの勾配経路最適化と「学習可能なbag-of-freebies」の概念に重点を置き、ハイエンドハードウェアでのリアルタイム検出の限界を押し広げました。
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: 台湾、中央研究院情報科学研究所
- 日付: 2022-07-06
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
- ドキュメント: Ultralytics YOLOv7ドキュメント
アーキテクチャの主な特徴: 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.1 |
| 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
# 事前学習済みのYOLOv8 Nanoモデルを読み込みます
model = YOLO("yolov8n.pt")
# COCO8データセットでモデルを効率的にトレーニングします
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# テスト画像で高速推論を実行します
predictions = model("https://ultralytics.com/images/bus.jpg")
# 予測結果を表示する
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はネイティブのエンドツーエンド推論をサポートし、任意の1対1ヘッド(
nms=False)によって、非極大値抑制(NMS)の後処理を省略します。これにより、従来の高密度予測モデルに伴うレイテンシのボトルネックを解消し、デプロイパイプラインを大幅に高速化・簡素化できます。 - DFLの廃止: Distribution Focal Lossを削除することで、YOLO26はよりシンプルなモデルのデプロイオプションと、優れたエッジ互換性を実現します。
- CPU推論を最大43%高速化: Raspberry Piや組み込みシステムなど、リソースが限られた環境向けに大幅に最適化されており、CPUスループットでこれまでのすべての世代を上回ります。
- MuSGDオプティマイザー: 大規模言語モデル(LLM)の学習手法に着想を得て、YOLO26はSGDとMuonを組み合わせたハイブリッド方式を採用しています。これにより、これまでにない学習安定性と非常に速い収束を実現します。
- ProgLoss + STAL: これらの高度な損失関数により、小物体認識が大きく向上します。これは航空画像、自動化農業、ロボティクスにおいて非常に重要です。
YOLOv8で大規模な動画分析クラスターへ拡張する場合も、最先端のYOLO26で推論を小型エッジデバイスに展開する場合も、Ultralytics PlatformがAIライフサイクル全体をシームレスに管理するツールを提供します。