YOLOv8 vs YOLOv7: 包括的な技術比較
コンピュータビジョン分野は絶えず進化を続けており、新たなアーキテクチャがリアルタイム物体検出の可能性の限界を押し広げている。本稿では、二つの極めて影響力のあるモデルを比較検討する: Ultralytics YOLOv8 と YOLOv7を比較します。両モデルは複雑な視覚課題解決に向けた独自のアプローチを提供し、開発者コミュニティと学術研究に多大な影響を与えてきました。
これらの2つのモデルの構造的・方法論的差異を理解することは、デプロイメントパイプラインの最適化を目指す機械学習エンジニアにとって極めて重要です。YOLOv7 強力な「bag-of-freebies」アプローチが生の処理能力に特化していたのに対し、Ultralytics YOLOv8 高精度と低メモリ消費、マルチタスク対応性を両立させる包括的で使いやすいエコシステムのYOLOv8 。
Ultralytics YOLOv8:汎用性の高いエコシステム標準
Ultralytics YOLOv8 、その前身モデルから大幅なアーキテクチャの転換をYOLOv8 。単なるリアルタイム物体検出器を超え、多様なビジョンタスクを標準で処理可能な統合フレームワークとして一から設計されている。
- 著者: Glenn Jocher、Ayush Chaurasia、Jing Qiu
- 組織:Ultralytics
- 日付: 2023-01-10
- GitHub:ultralytics/ultralytics
- ドキュメント:YOLOv8 ドキュメント
アーキテクチャの革新
YOLOv8 革新的なアンカーフリー検出ヘッドYOLOv8 。これにより、カスタムデータセットの特定の分布に基づいて手動でアンカーボックスを設定する必要がなくなるため、学習プロセスが根本的に簡素化される。この設計選択により、モデルは高い頑健性を獲得し、異なる環境間での汎化が容易になる。
さらに、このアーキテクチャはC2fモジュール(2つの畳み込み層を備えたクロスステージ部分ボトルネック)を特徴としており、これは勾配の流れを改善し、計算コストを大幅に増加させることなく、ニューラルネットワークがより豊かな特徴表現を学習できるようにする構造的改良である。これにより、PyTorchなどの標準的な深層学習フレームワークを介した推論実行時に、モデルは高い効率性を発揮する。 PyTorchなどの標準的な深層学習フレームワークを介した推論実行時に、モデルが非常に効率的になる。
メモリ効率
Ultralytics YOLO 、最高のトレーニング効率を実現するよう設計されています。トランスフォーマーベースのアーキテクチャやより重いCNNと比較して、トレーニング中にCUDA 大幅に少なくて済みます。これにより、コンシューマー向けハードウェアでより大きなバッチサイズでのトレーニングが可能となり、開発サイクルを加速させます。
YOLOv7: 「Bag-of-Freebies」アプローチ
YOLOv7 2022年半ばに登場YOLOv7 学術界で急速に主流のベースラインとなった。ハイエンドGPU上でのリアルタイム物体検出の限界を押し広げるため、アーキテクチャの再パラメータ化と勾配経路の最適化に重点を置いた。
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: Institute of Information Science, Academia Sinica, Taiwan
- 日付: 2022-07-06
- Arxiv:2207.02696
- GitHub:WongKinYiu/yolov7
アーキテクチャの革新
YOLOv7 拡張効率的層集約ネットワーク(E-ELAN)YOLOv7 、これによりモデルはより多様な特徴を継続的に学習できる。アンカーベースのパラダイムに大きく依存し、推論コストを増加させることなく精度を向上させる最適化手法の集合である「訓練可能なフリービーの袋」を導入している。
YOLOv7 はMSCOCO などの標準的な学術ベンチマークで優れた性能YOLOv7 、そのアーキテクチャはサーバーグレードのアクセラレータ向けに高度に最適化されています。これらのモデルをエッジデバイスにエクスポートして展開する際には、より近代的で合理化されたフレームワークと比較して、手動での設定がより多く必要となる場合があります。
詳細な性能比較
これらのモデルを評価する際には、速度、精度、モデルサイズのトレードオフが主要な考慮事項となる。下表は両モデルの指標をまとめたものである。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
データが示す通り、YOLOv8x 最高の絶対精度(53.9mAP)YOLOv8x 一方、nano版(YOLOv8n)は卓越した推論速度と驚異的な軽量性を提供する。この多様性により、YOLOv8 制約のあるハードウェア環境への適応性がYOLOv8 高まっている。
Ultralytics :使いやすさとエコシステム
YOLOv7 強力な検出指標YOLOv7 、 Ultralytics YOLOv8 は、開発者体験、エコシステム統合、マルチタスク処理能力の面で、それを大幅に凌駕しています。
比類なき汎用性
YOLOv7 主に物体検出YOLOv7 、他のタスク向けの実験的ブランチを備えています。一方、YOLOv8 物体検出、インスタンスセグメンテーション、画像分類、姿勢推定、方向付き境界ボックス(OBB)を YOLOv8 サポートします。この統一されたアプローチにより、チームは1つのAPIを習得するだけで、全く異なるプロジェクト要件にまたがって展開することが可能となります。
効率化された導入と統合
モデルを本番環境向けにエクスポートする作業は、しばしばボトルネックとなる。Ultralytics を使用すれば、開発者は以下のような形式へのエクスポートが可能となる ONNX、 TensorRT、CoreML といった形式へのCoreML Python 1行CoreML 。これにより、複雑なアンカーベースのグラフをエクスポートする際に発生しがちなオペレータサポートの問題を回避できます。
さらに、YOLOv8 MLOpsツールとシームレスにYOLOv8 。実験の追跡に Weights & Biases で実験を追跡する場合でも、Hugging Face でデプロイをテストする場合でも、Ultralytics が面倒な作業を処理します。
コード例:YOLOv8トレーニングとエクスポート
以下のコードは、Ultralytics Python 簡潔さを示しています。モデル初期化からトレーニング、エッジ展開のためのエクスポートまでを、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 容易に統合することを可能にします。
実際のユースケース
両モデルのアーキテクチャ上の差異が、それぞれの理想的な導入シナリオを決定づける。
YOLOv8を選択すべき場合:
- エッジAIとIoTデバイス:超高速なNanoモデルとSmallモデルが利用可能なため、YOLOv8 スマートカメラやドローンなど、計算能力が限られたハードウェアにYOLOv8 です。
- マルチタスクプロジェクト:パイプラインで人間の関節追跡(姿勢推定)と障害物マッピング(セグメンテーション)を同時に行う必要がある場合、YOLOv8 これをネイティブにYOLOv8
- 迅速なプロトタイピングから生産へ: Ultralytics 充実したUltralytics と摩擦のないPython 、チームは製品をより迅速に市場に投入できます。
YOLOYOLOv7を検討すべきタイミング:
- 学術的ベンチマーク:再パラメータ化技術の効果を研究する研究者は、Papers With Codeでの人気が示すように、YOLOv7 標準的なベースラインYOLOv7 用いることが多い。
- レガシーサーバーパイプライン:既存の重計算パイプラインが既にYOLOv7特定のアンカー出力に厳密に最適化されている場合、短期的にはそれを維持することが現実的である可能性がある。
展望:次世代へ
YOLOv8 多用途な強力なYOLOv8 、AIの分野は急速に進化しています。新規プロジェクトを開始するチームには、Ultralytics の最新技術動向をぜひご検討いただくことを強くお勧めします。
最新世代、 YOLO26は、現在のビジョンAIの頂点を代表するものです。エンドツーエンドNMS設計を採用し、非最大抑制(NMS)の後処理を排除することで、よりシンプルで高速なデプロイを実現しています。 分布焦点損失(DFL)の廃止とLLMに着想を得たMuSGDオプティマイザーの導入により、YOLO26はより安定したトレーニングとCPU を実現。高度なProgLoss + STAL損失関数は微小物体認識を劇的に改善し、現代のエッジコンピューティングと航空画像処理における究極の選択肢となっています。
旧システムからの移行ユーザー向けに、高性能な YOLO11 と、クラシックな YOLOv5 も統合されたUltralytics 内で完全にサポートされ続けており、ハードウェアの制約に関わらず、導入準備が整った効率的で高性能なモデルが常に利用可能です。