YOLO Vision 2026:

YOLOv8 と YOLOv7 の比較#

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

これら2つのモデル間の構造的および手法的な違いを理解することは、デプロイパイプラインを最適化しようとする機械学習エンジニアにとって極めて重要です。YOLOv7 が生のスループットに特化した強力な「bag-of-freebies」アプローチを導入したのに対し、Ultralytics YOLOv8 は、高い精度と低いメモリ消費、そしてマルチタスクの汎用性を両立させた、使いやすい包括的なエコシステムの構築に焦点を当てています。

Ultralytics YOLOv8: 多用途なエコシステムのスタンダード#

2023年初頭に Ultralytics によってリリースされた YOLOv8 は、先行モデルからアーキテクチャを大幅に刷新したものです。単なるリアルタイム物体検出器にとどまらず、多種多様なビジョンタスクを即座に処理できる統合フレームワークとしてゼロから設計されました。

アーキテクチャの革新#

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

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

YOLOv8の詳細はこちら

メモリ効率

Ultralytics YOLO モデルは、トレーニング効率を最大化するように設計されています。通常、トランスフォーマーベースのアーキテクチャやより重い CNN と比較して、トレーニング中の CUDA メモリ消費が大幅に少なくなります。これにより、民生用ハードウェアでも大きなバッチサイズでトレーニングが可能になり、開発サイクルが加速します。

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

YOLOv7 は 2022 年半ばに導入され、すぐに学術界で人気のあるベースラインとなりました。リアルタイム物体検出の限界をハイエンド 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」を導入しています。

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

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はObject DetectionInstance SegmentationImage ClassificationPose EstimationOriented Bounding Boxes (OBB)をネイティブでサポートしています。この統一されたアプローチにより、チームは1つのAPIを学習するだけで、全く異なるプロジェクト要件にわたってそれをデプロイすることができます。

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

本番環境向けにモデルをエクスポートすることは、しばしばボトルネックになることがあります。Ultralyticsパッケージを使用すると、開発者は1行のPythonコードで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をモバイルアプリケーション、組み込みシステム、または高スループットのクラウドサーバーに簡単に統合できるようになります。

実際のユースケース#

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

YOLOv8 を選択すべき場合:

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

YOLOv7 を検討すべき場合:

  • 学術的ベンチマーク: 再パラメータ化技術の影響を研究している研究者は、Papers With Codeでの人気に反映されているように、YOLOv7を標準的なベースラインとしてよく使用します。
  • レガシーなサーバーパイプライン: 既存の高負荷計算パイプラインが YOLOv7 の特定のアンカー出力に厳密に最適化されている場合、短期的には維持管理が実用的である可能性があります。

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

YOLOv8 は依然として万能なパワーハウスですが、AI の状況は急速に変化しています。新しいプロジェクトを開始するチームには、Ultralytics シリーズの最新の進歩を探求することを強く推奨します。

最新世代の**YOLO26は、現在のビジョンAIの最高峰を表しています。これはEnd-to-End NMS-Free Designを備えており、よりシンプルで高速なデプロイのために非最大値抑制(NMS)の後処理を排除しています。Distribution Focal Loss(DFL)の削除とLLMにインスパイアされたMuSGD Optimizerの導入により、YOLO26はより安定したトレーニングと最大43%高速なCPU推論を実現します。その高度なProgLoss + STAL**損失関数は小物の認識を大幅に改善し、最新のエッジコンピューティングや航空写真にとって究極の選択肢となっています。

古いシステムから移行するユーザーのために、非常に高性能な**YOLO11およびクラシックなYOLOv5**も、統一されたUltralyticsエコシステム内で完全にサポートされており、ハードウェアの制約が何であれ、デプロイの準備が整った合理化された高性能モデルが存在することを保証します。

コントリビューター

コメント