YOLOv6-3.0とYOLOv7の比較#
リアルタイム物体検出は、アーキテクチャの効率性とトレーニング手法の急速な進歩を通じて発展してきました。この分野に影響を与えた代表的なモデルが、YOLOv6-3.0とYOLOv7です。どちらのフレームワークも、推論速度と検出精度のバランスを取る新しい手法を導入し、高性能なサーバーGPUからエッジデバイスまで、幅広いデプロイ環境を対象としています。
この技術比較では、両モデルのアーキテクチャ、性能指標、最適なユースケースを検証し、さらにUltralytics Platformと最新モデルのYOLO26が、これらのコンセプトを基に、より簡単な開発者体験をどのように実現するかを紹介します。
YOLOv6-3.0:産業用スループットの最適化#
MeituanのVision AI部門が開発したYOLOv6-3.0は、高スループットの産業用途向けに明確に設計されました。ハードウェアアクセラレータ上でのパフォーマンス最大化を重視しており、専用GPUでのバッチ処理が可能な環境に適しています。
- 著者: Chuyi Li、Lulu Li、Yifei Geng、Hongliang Jiang、Meng Cheng、Bo Zhang、Zaidan Ke、Xiaoming Xu、Xiangxiang Chu
- 組織: Meituan
- 日付: 2023-01-13
- arXiv: 2301.05586
- GitHub: meituan/YOLOv6
アーキテクチャの革新#
YOLOv6-3.0は、GPUのメモリアクセスコストを最適化するために設計された、ハードウェアに適したEfficientRepバックボーンを採用しています。異なるスケール間の特徴融合を強化するため、モデルのネックに双方向連結(BiC)モジュールを導入しています。これにより、従来のバージョンよりも複雑な空間階層を効果的に捉えられます。
さらに、YOLOv6-3.0はアンカー支援学習(AAT)戦略を実装しています。この手法は、アンカーベース学習の豊富な勾配情報と、アンカーフリー推論による効率的なデプロイの利点を組み合わせます。後処理速度を損なうことなく、モデルのより安定した収束を促します。
YOLOv6-3.0は、サーバーグレードのGPU(NVIDIA T4など)で優れた性能を発揮しますが、特定の構造的な再パラメーター化に大きく依存しているため、新しいアーキテクチャと比べて、CPUに制約されたエッジデバイスではレイテンシが最適でない場合があります。
YOLOv7:バッグ・オブ・フリービーの先駆け#
Academia Sinicaの研究者がリリースしたYOLOv7は異なるアプローチを採用し、推論コストを増加させない勾配経路の分析と学習時の最適化を重視しました。著者らはこの概念を「学習可能なフリービーの集合」と呼んでいます。
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 所属機関: 台湾、中央研究院情報科学研究所
- 日付: 2022-07-06
- arXiv: 2207.02696
- GitHub: WongKinYiu/yolov7
アーキテクチャの革新#
YOLOv7の中核となるのは、拡張効率的レイヤー集約ネットワーク (E-ELAN)です。E-ELANは、元のネットワークトポロジーを崩すことなく異なる層でより多様な特徴を学習できるようにし、勾配経路を最適化します。その結果、高い表現力を持ち、高い平均適合率 (mAP)を達成できるモデルになります。
YOLOv7はモデルの再パラメーター化も積極的に活用し、推論時に畳み込み層とバッチ正規化を統合します。これにより、NVIDIA TensorRTやONNXなどのフレームワークを使ってデプロイする際に、パラメーター数が減少し、フォワードパスが高速化します。
パフォーマンス比較#
MS COCOデータセットでこれらのモデルを評価すると、軽量なYOLOv6の各バリアントと、より大型で精度を重視したYOLOv7モデルとの間にトレードオフがあることが分かります。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
データによると、YOLOv6-3.0nは最速の推論を実現し、高頻度の動画分析に適しています。一方、YOLOv7xは最高のmAPを達成しており、フレームレートよりも検出精度が重視されるタスクで優れています。
ユースケースと推奨事項#
YOLOv6とYOLOv7のどちらを選ぶかは、プロジェクト固有の要件、デプロイ上の制約、エコシステムに関する好みによって異なります。
YOLOv6を選ぶ場合#
YOLOv6が適している用途:
- 産業用ハードウェアを考慮したデプロイ: モデルのハードウェアを考慮した設計と効率的な再パラメーター化によって、特定のターゲットハードウェア上で最適な性能が得られるシナリオです。
- 高速な1ステージ検出: 制御された環境でのリアルタイム動画処理において、GPU上での生の推論速度を重視するアプリケーションです。
- Meituanエコシステムとの統合: すでにMeituanの技術スタックとデプロイインフラストラクチャを利用しているチームです。
YOLOv7を選ぶ場合#
YOLOv7は次の用途におすすめです。
- 学術的なベンチマーク: 2022年当時の最先端の結果を再現する場合、またはE-ELANやトレーニング可能なbag-of-freebies技術の効果を研究する場合。
- 再パラメーター化の研究: 計画的な再パラメーター化畳み込みや、複合モデルスケーリング戦略を調査する場合。
- 既存のカスタムパイプライン: YOLOv7固有のアーキテクチャを中心に高度にカスタマイズされ、容易にリファクタリングできないパイプラインを使用するプロジェクト。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用GPUによる高速化機能のないデバイスでは、YOLO26nはCPU上でYOLO11nより最大43%高速に動作します。
- 小物体検出: ドローンによる空撮画像やIoTセンサー分析などの難しいシナリオでは、ProgLossとSTALが小さな物体の精度を向上させます。
Ultralyticsの強み:未来への一歩#
YOLOv6-3.0とYOLOv7は重要な節目となるモデルですが、異なるリポジトリを本番パイプラインに統合する際には、モデルのデプロイやハイパーパラメーターの調整が課題になることがよくあります。Ultralyticsエコシステムは、合理化された統一インターフェースを提供することで、こうした課題を解消します。
Ultralyticsを選ぶ理由#
- 使いやすさ:Ultralytics Python APIを使えば、数行のコードでモデルの読み込み、学習、エクスポートができます。旧モデルから最新のアーキテクチャに切り替える際に変更するのは、1つの文字列だけです。
- 十分にメンテナンスされたエコシステム:Ultralyticsは頻繁な更新、活発なコミュニティサポート、充実したドキュメントを提供します。
- 汎用性: バウンディングボックスを主な対象とする従来モデルとは異なり、Ultralyticsのモデルはインスタンスセグメンテーション、画像分類、姿勢推定、回転バウンディングボックス (OBB)などのマルチタスク学習を標準でサポートします。
- メモリ要件:Ultralytics YOLOモデルは、RT-DETRのようなTransformerベースのアーキテクチャと比べ、学習時のメモリ使用量が少ないため、研究者は一般向けハードウェアでも効率的に学習できます。
YOLO26へのアップグレード#
現在最高のパフォーマンスを求める開発者には、YOLO26(2026年1月リリース)を物体検出向けの推奨アップグレードとして紹介します。オプションのエンドツーエンドNMSフリーデザイン(nms=False)を導入し、Non-Maximum Suppression (NMS) による後処理を省略して、エッジデバイスでのレイテンシのばらつきを低減します。
YOLO26の主な革新点は次のとおりです。
- MuSGDオプティマイザー: 大規模言語モデル (LLM) のトレーニングに着想を得た、SGDとMuonのハイブリッドです。安定したトレーニング動態と高速な収束を実現します。
- DFLの削除: Distribution Focal Lossを削除することで、YOLO26はエクスポートとの互換性を簡素化し、低消費電力デバイスでのパフォーマンスを向上させます。
- ProgLoss + STAL: プログレッシブロスと小物体を考慮したラベル割り当て戦略により、小物体の認識性能が向上します。
- CPU速度: YOLO26nはYOLO11nよりもCPU推論が最大43%高速であるため、Raspberry PiやApple CoreMLを利用するデプロイなど、組み込みシステムに適しています。
エコシステムには、YOLO11やYOLOv8など、既存のハードウェア統合に引き続き適した高性能モデルもあります。
コンピュータービジョンアプリケーションをUltralytics Platform上に構築すれば、データセットローダーやデプロイスクリプトを書き直すことなく、新しいUltralyticsモデルを導入できます。
コード例:効率的なトレーニング#
次のスニペットでは、Ultralytics APIを使用して最先端のYOLO26モデルをトレーニングする方法を示します。同じワークフローはYOLO11やYOLOv8にも適用でき、従来のリポジトリで通常必要となる定型コードを抽象化します。
from ultralytics import YOLO
# 高速なトレーニングのためにYOLO26 nanoモデルを読み込みます
model = YOLO("yolo26n.pt")
# COCO8データセットでモデルをトレーニングします
# APIがデータセットのダウンロード、拡張、ハイパーパラメーター設定を処理します
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device="cuda:0", # PyTorchのGPUアクセラレーションを自動的に使用します
)
# テスト画像に対して、エンドツーエンドのNMSフリー推論を実行します
predictions = model.predict("https://ultralytics.com/images/bus.jpg", nms=False)
# クロスプラットフォームのデプロイに向けてONNXにエクスポートします
model.export(format="onnx")結論#
YOLOv6-3.0とYOLOv7は、リアルタイム検出の課題の異なる側面に効果的に対処しました。YOLOv6-3.0は、GPUに特化した産業環境に適しており、YOLOv7は厳密な勾配経路の最適化によって高い精度を実現します。
しかし、汎用性、デプロイの容易さ、最先端のパフォーマンスが求められる最新のアプリケーションには、Ultralytics YOLO26を推奨します。オプションのNMSフリーヘッド、MuSGDオプティマイザー、Ultralytics Platformとの統合により、開発者は拡張性の高いビジョンAIソリューションをより迅速にデプロイできます。