YOLOv8 vs YOLOv7: 包括的な技術比較

コンピュータビジョンの分野は常に進化しており、新しいアーキテクチャがリアルタイム物体検出の可能性の限界を押し広げています。本稿では、非常に影響力のある2つのモデル、Ultralytics YOLOv8YOLOv7を比較検討します。両モデルは開発者コミュニティや学術研究に大きな影響を与えており、複雑な視覚的課題を解決するための独自のアプローチを提供しています。

これら2つのモデルの構造的および手法的な違いを理解することは、デプロイパイプラインの最適化を目指す機械学習エンジニアにとって不可欠です。YOLOv7が純粋なスループットに特化した強力な「bag-of-freebies(無料の詰め合わせ)」アプローチを導入した一方で、Ultralytics YOLOv8は、高い精度と低いメモリ消費量、そしてマルチタスクの汎用性を両立する、使いやすい統合エコシステムの構築に重点を置きました。

Ultralytics YOLOv8: 多用途なエコシステムの標準

Ultralyticsによって2023年初頭にリリースされたYOLOv8は、その前身から大幅なアーキテクチャの転換を図りました。単なるリアルタイム物体検出器としてだけでなく、多様なビジョンタスクをそのまま処理できる統合フレームワークとしてゼロから設計されています。

アーキテクチャの革新

YOLOv8は、革新的なアンカーフリーの検出ヘッドを導入しました。これにより、カスタムデータセットの特定の分布に基づいてアンカーボックスを手動で設定する必要がなくなり、学習プロセスが根本的に簡素化されました。この設計思想により、モデルの堅牢性が高まり、さまざまな環境への汎化が容易になります。

さらに、このアーキテクチャにはC2fモジュール(2つの畳み込みを用いたCross-Stage Partialボトルネック)が備わっています。これは勾配フローを改善し、計算コストを大幅に増やすことなく、ニューラルネットワークがより豊かな特徴表現を学習できるようにする構造的なアップグレードです。このため、PyTorchのような標準的なディープラーニングフレームワークを使用して推論を実行する際に、非常に効率的なモデルとなっています。

YOLOv8の詳細はこちら

メモリ効率

UltralyticsのYOLOモデルは、最高の学習効率を目指して設計されています。これらは通常、Transformerベースのアーキテクチャやより重いCNNと比較して、学習中のCUDAメモリ消費量が大幅に少なくて済みます。これにより、コンシューマー向けハードウェアでもより大きなバッチサイズでの学習が可能となり、開発サイクルを加速させることができます。

YOLOv7: 「Bag-of-Freebies」アプローチ

2022年半ばに発表されたYOLOv7は、瞬く間に学術界で人気のあるベースラインとなりました。リアルタイム物体検出の限界をハイエンドGPUで押し広げるため、アーキテクチャの再パラメータ化と勾配パスの最適化に大きく注力しています。

  • 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
  • 組織: 台湾 中央研究院 情報科学研究所
  • 日付: 2022-07-06
  • Arxiv: 2207.02696
  • GitHub: WongKinYiu/yolov7

アーキテクチャの革新

YOLOv7は、より多様な特徴を継続的に学習できる**Extended Efficient Layer Aggregation Network (E-ELAN)**を採用しています。これはアンカーベースのパラダイムに大きく依存しており、推論コストを上げることなく精度を向上させる最適化手法のセットである、学習可能な「bag-of-freebies」を導入しています。

MS COCO datasetのような標準的な学術ベンチマークで優れた性能を発揮する一方で、YOLOv7のアーキテクチャはサーバーグレードのアクセラレータ向けに高度に最適化されています。これらのモデルをエッジデバイスにエクスポートしてデプロイするには、より近代的で合理化されたフレームワークと比較して、手作業による設定が必要になる場合があります。

YOLOv7の詳細はこちら

詳細な性能比較

これらのモデルを評価する際、速度、精度、モデルサイズのトレードオフが主な検討事項となります。以下の表は、両モデルの指標を比較したものです。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
パラメータ
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

データからわかるように、YOLOv8xは絶対精度において最高値(53.9 mAP)を達成する一方で、ナノモデル(YOLOv8n)は非常に優れた推論速度と軽量さを提供します。この多様性により、YOLOv8は制約のあるハードウェア環境に対してはるかに適応しやすくなっています。

Ultralyticsの利点: 使いやすさとエコシステム

YOLOv7は優れた生検出指標を提供しますが、開発者体験、エコシステムの統合、マルチタスク機能の面では、Ultralytics YOLOv8の方が大幅に優れています。

比類なき汎用性

YOLOv7は主に検出モデルであり、他のタスクについては実験的なブランチが存在する状況です。対照的に、YOLOv8は物体検出インスタンスセグメンテーション画像分類姿勢推定、および指向性バウンディングボックス (OBB)をネイティブでサポートしています。この統合されたアプローチにより、チームは1つのAPIを習得するだけで、まったく異なるプロジェクト要件にも対応できます。

合理化されたデプロイと統合

本番環境向けのモデルエクスポートは、しばしばボトルネックとなります。Ultralyticsパッケージを使用すると、開発者はPythonコードを1行記述するだけで、ONNXTensorRT、CoreMLなどのフォーマットにエクスポートできます。これにより、複雑なアンカーベースのグラフをエクスポートする際に発生することがある演算子サポートの問題を回避できます。

さらに、YOLOv8はMLOpsツールとシームレスに統合されます。Weights & Biasesでの実験追跡や、Hugging Face Spacesでのデプロイテストなど、Ultralyticsエコシステムが面倒な作業を代行します。

コード例: YOLOv8の学習とエクスポート

以下のコードは、Ultralytics Python APIのシンプルさを示しています。10行以内のコードで、モデルの初期化から学習、そしてエッジデプロイ用へのエクスポートまでを実行できます。

from ultralytics import YOLO

# Load a pretrained YOLOv8 nano model for fast inference
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 dataset
# The API handles data loading, augmentation, and logging automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on a test image
predictions = model("https://ultralytics.com/images/bus.jpg")

# Export the trained model to ONNX format for deployment
model.export(format="onnx")
デプロイの柔軟性

model.export()関数を使用すると、高性能な推論エンジンへ直結でき、YOLOv8をモバイルアプリ、組み込みシステム、あるいは高スループットのクラウドサーバーへ容易に統合できます。

実際のユースケース

両モデルのアーキテクチャの違いにより、理想的なデプロイシナリオが決まります。

YOLOv8を選択すべき場合:

  • エッジAIおよびIoTデバイス: 超高速なNanoおよびSmallモデルが利用可能なため、スマートカメラやドローンのような計算資源が限られたハードウェアに最適です。
  • マルチタスクプロジェクト: パイプラインで人体の関節(姿勢推定)を追跡しながら、同時に障害物(セグメンテーション)をマッピングする必要がある場合、YOLOv8はこれをネイティブに処理します。
  • プロトタイプから本番環境への迅速な移行: 充実したUltralyticsドキュメントと摩擦のないPython APIにより、チームはより速く製品を市場に投入できます。

YOLOv7を検討すべき場合:

  • 学術的なベンチマーク: 再パラメータ化技術の効果を研究する研究者は、Papers With Codeでの人気が示す通り、よくYOLOv7を標準的なベースラインとして使用します。
  • レガシーサーバーパイプライン: 既存の高負荷なコンピューティングパイプラインがYOLOv7特有のアンカー出力に厳密に最適化されている場合、短期的には保守を継続することが現実的かもしれません。

今後の展望: 次世代モデル

YOLOv8は多機能なパワーハウスであり続けていますが、AIの状況は急速に変化しています。新しいプロジェクトを開始するチームには、Ultralyticsラインナップの最新の進歩を探求することを強く推奨します。

最新世代である**YOLO26は、現在のビジョンAIの頂点に立つものです。End-to-End NMS-Free設計を採用し、Non-Maximum Suppressionの後処理を不要にすることで、よりシンプルで高速なデプロイを実現しました。Distribution Focal Loss (DFL)の削除とLLMに着想を得たMuSGD Optimizerの導入により、YOLO26はより安定した学習と、最大43%高速なCPU推論を提供します。また、高度なProgLoss + STAL**損失関数が小物体認識を劇的に改善しており、現代のエッジコンピューティングや航空写真解析にとって究極の選択肢となっています。

旧システムから移行するユーザー向けには、非常に高性能な**YOLO11や定番のYOLOv5**も、統合されたUltralyticsエコシステム内で完全にサポートされ続けています。どのようなハードウェア制約があっても、最適化された高性能モデルをデプロイできる体制が整っています。

コメント