YOLOv7 と YOLOv6-3.0 の比較#
コンピュータビジョンの分野は常に進化しており、新しい物体検出モデルが速度と精度の限界を継続的に押し広げています。この歩みにおける重要なマイルストーンが、YOLOv7 と YOLOv6-3.0 です。どちらのモデルも、実世界のアプリケーションでスループットと精度を最大化するために設計された、独自のアーキテクチャ上の革新を導入しました。このページでは、両アーキテクチャの技術的な詳細分析を行い、性能、トレーニング手法、理想的なユースケースを比較することで、次の人工知能プロジェクトに向けた情報に基づく判断を支援します。
YOLOv7:Bag-of-Freebiesの先駆者#
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 Documentation
アーキテクチャの主な特徴#
YOLOv7は、拡張効率的レイヤー集約ネットワーク(E-ELAN)を特徴としています。このアーキテクチャにより、最短および最長の勾配パスを制御して、モデルがより多様な特徴を学習できるようになります。さらに、YOLOv7は推論時に構造的再パラメータ化技術を利用して畳み込み層を統合し、学習された表現を犠牲にすることなくパラメータ数と計算時間を効果的に削減します。
このモデルは、独自の補助ヘッドトレーニング戦略も備えています。最終予測に「リードヘッド」を使用し、中間レイヤーのトレーニングを「補助ヘッド」でガイドすることで、YOLOv7 はより良い収束と豊かな特徴抽出を実現します。これは、特に難易度の高い物体検出タスクに取り組む際に有効です。
YOLOv6-3.0:産業グレードのスループット#
Meituan Vision AI Department によって開発された YOLOv6-3.0 は、「産業アプリケーション向けの次世代物体検出器」として明確に設計されました。2023年初頭にリリースされ、特に NVIDIA GPU でのハードウェア利用率の最大化に重点を置いています。
- 著者: Chuyi Li、Lulu Li、Yifei Geng、ほか
- 組織: Meituan
- 日付: 2023-01-13
- Arxiv: 2301.05586
- GitHub: meituan/YOLOv6
- ドキュメント: Ultralytics YOLOv6 Documentation
アーキテクチャの主な特徴#
YOLOv6-3.0 は、GPU 上での並列処理に高度に最適化された EfficientRep バックボーンを採用しています。これにより、大規模なバッチ処理において非常に高い効率を実現します。バージョン3.0では、異なるスケール間の特徴融合を強化するため、ネック部分に双方向連結(BiC)モジュールを導入し、さまざまなサイズの物体を検出するモデルの能力を向上させました。
さらに、YOLOv6-3.0 はアンカー支援トレーニング(AAT)戦略を利用しています。この革新的なアプローチは、アンカーベースのトレーニングとアンカーフリー推論の利点を組み合わせます。これにより、学習段階ではアンカーによる安定性を享受しながら、デプロイ時にはアンカーフリーデザインの速度とシンプルさを維持できます。
性能比較#
本番環境向けにモデルを評価する際は、精度(mAP)と推論速度および計算オーバーヘッド(FLOPs)のバランスを取ることが重要です。以下では、両モデルの標準バリアントを詳細に比較します。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
YOLOv6-3.0 は、高スループットの GPU 環境(TensorRT など)に非常に適している一方、YOLOv7 は特徴保持を最優先するシステムにおいて堅牢なバランスを提供します。
Ultralyticsの優位性#
YOLOv7 と YOLOv6-3.0 のスタンドアロンリポジトリは強力ですが、Ultralytics エコシステム内で活用することで、開発者エクスペリエンスが変革されます。ultralytics Python パッケージは、これらの多様なアーキテクチャを1つの直感的なフレームワークに統一します。
- 使いやすさ: 複雑なセットアップスクリプトはもう必要ありません。Ultralytics API を使用すると、最小限のボイラープレートコードで YOLOv7 または YOLOv6 モデルをロード、トレーニング、デプロイできます。モデルウェイトファイルを変更するだけで、アーキテクチャを簡単に切り替えられます。
- 十分に保守されたエコシステム: Ultralytics は頻繁なアップデートを備えた堅牢な環境を提供し、最新の PyTorch ディストリビューションおよび CUDA バージョンとのネイティブ互換性を確保します。
- トレーニング効率: トレーニングパイプラインは、GPU リソースを効果的に利用するよう高度に最適化されています。さらに、Ultralytics YOLO モデルは一般に、重量級の Transformer ベースモデル(RT-DETR など)と比較してトレーニング時のメモリ要件が低く、コンシューマー向けハードウェアでより大きなバッチサイズを使用できます。
- 汎用性: Ultralytics フレームワークは、標準的なバウンディングボックス検出に加えて、互換性のあるモデルファミリー全体で姿勢推定やインスタンスセグメンテーションなどの高度なタスクもシームレスにサポートします。これは、独立した研究リポジトリでは欠けていることが多い機能です。
コード例: 学習と推論#
これらのモデルを Python パイプラインに統合するのは簡単です。データセットが正しくフォーマットされていること(例:COCO 標準)を確認し、次を実行します。
from ultralytics import YOLO
# Load a pretrained YOLOv7 model (or 'yolov6n.pt' for YOLOv6)
model = YOLO("yolov7.pt")
# Train the model with built-in hyperparameter management
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image URL or local path
predictions = model("https://ultralytics.com/images/bus.jpg")
# Visualize the detection results
predictions[0].show()理想的なユースケース#
YOLOv7を選ぶタイミング#
YOLOv7 は、高い精度と密な特徴抽出が求められるシナリオで優れています。
- 複雑な監視: 細かなディテールを保持する能力により、混雑したシーンの監視やスマートシティインフラにおける小さな異常の検出に適しています。
- 学術的なベンチマーキング: 包括的な「bag-of-freebies」設計思想により、研究における強力なベースラインとしてよく使用されます。
YOLOv6-3.0 を選択する場合#
YOLOv6-3.0 は、大量処理を行う GPU アクセラレーションパイプラインの主力モデルです。
- 産業オートメーション: サーバーグレード GPU で複数のビデオストリームを同時に処理する、工場の生産ラインや製造不良検出に最適です。
- 高スループット分析: 1秒あたりのフレーム数を最大化することが主な目標となる、オフライン動画アーカイブの処理に優れています。
未来:YOLO26#
YOLOv7 と YOLOv6-3.0 は高い能力を備えていますが、人工知能の急速なイノベーションの進展により、さらに高い効率が求められています。2026年1月にリリースされた Ultralytics YOLO26 は、コンピュータビジョンにおける世代的な飛躍を表し、旧来のアーキテクチャの制限に体系的に対処します。
新しいプロジェクトを開始する場合は、以前の世代よりも YOLO26 を強く推奨します。次のような画期的な機能を導入しています。
- エンドツーエンドの NMS フリーデザイン: YOLOv10 が築いた基盤の上に構築された YOLO26 は、非最大抑制(NMS)をネイティブに排除します。これにより、後処理のオーバーヘッドが削減され、モバイルアプリケーションへのデプロイが簡素化されるとともに、高い決定性と低レイテンシの推論が実現します。
- MuSGD オプティマイザー: Moonshot AI の Kimi K2 で使用されているものなど、高度な LLM トレーニング技術に着想を得て、YOLO26 は SGD と Muon を組み合わせたハイブリッドオプティマイザーを利用します。これにより、より安定したトレーニングダイナミクスと大幅に高速な収束を実現します。
- CPU 推論が最大43%高速化: Distribution Focal Loss(DFL)を戦略的に削除することで、YOLO26 は CPU 上で大幅な高速化を実現します。これにより、Raspberry Pi や遠隔 IoT センサーなどのエッジ環境において、他を圧倒するモデルとなります。
- ProgLoss + STAL: シングルステージ検出器の歴史的な弱点である小物体認識を改善するために特別に設計された高度な損失関数です。
これらの革新と強力な Ultralytics Platform を組み合わせることで、YOLO26 は現代の機械学習エンジニアに比類のない性能、汎用性、デプロイのしやすさを提供します。