Ultralytics YOLO27:
Get Started

YOLOv8とYOLOXの比較#

コンピュータービジョンの分野は、リアルタイム物体検出アーキテクチャの継続的な進化によって大きく形作られてきました。その歩みにおける重要な節目として、Ultralytics YOLOv8とYOLOXが挙げられます。どちらのモデルも、バウンディングボックスの予測を効率化するアンカーフリー設計を採用していますが、ディープラーニング研究とデプロイエコシステムの発展において、それぞれ異なる時代と思想を反映しています。

この包括的な技術比較では、それぞれのアーキテクチャ、トレーニング手法、実環境でのパフォーマンス指標を詳しく解説し、開発者や研究者がビジョンAIアプリケーションに最適なソリューションを選択できるようにします。

モデルの背景#

各フレームワークの起源と設計目標を理解することで、アーキテクチャの違いやエコシステムの成熟度を把握するための重要な背景が得られます。

Ultralytics YOLOv8#

UltralyticsのGlenn Jocher、Ayush Chaurasia、Jing Qiuによって開発され、2023年1月10日にリリースされたYOLOv8は、Ultralyticsエコシステムにおける大きな飛躍となりました。YOLOv5の大きな成功を基盤として、YOLOv8は大幅に洗練された最先端のアーキテクチャを導入し、物体検出、インスタンスセグメンテーション、画像分類、姿勢推定など、多様なタスクを標準で処理できるようになりました。

主な強みは、適切に保守されたUltralyticsエコシステムにあります。統一されたPython API、充実したドキュメント、Weights & BiasesやCometなどのMLOpsツールとの標準統合により、「ゼロからヒーローへ」と進めるシームレスな体験を提供します。

YOLOX#

MegviiのZheng Ge、Songtao Liu、Feng Wang、Zeming Li、Jian Sunによって開発され、2021年7月18日に発表されたYOLOXは、学術研究と産業用途の隔たりを埋めることを目指しました。Arxiv論文で詳述されているように、YOLOXはYOLOシリーズをアンカーフリー設計へと移行させ、分離型ヘッドを統合したことで注目を集めました。これにより、トレーニングの安定性と収束性が向上しました。

2021年に大きな影響を与えた一方で、YOLOX GitHubリポジトリは、現在も主に研究向けのコードベースです。最新のフレームワークに見られる幅広いタスクへの対応力や洗練されたデプロイパイプラインを備えておらず、本番環境へのデプロイには手動での設定が多く必要です。

YOLOXのドキュメントを見る

アーキテクチャの革新#

どちらのモデルもアンカーフリー方式を採用しており、トレーニング前に複雑なデータセット固有のアンカーボックスクラスタリングを行う必要がありません。これにより、経験則に基づいて調整するパラメーターの数が減り、検出ヘッドが簡素化されます。

分離型ヘッドと特徴抽出#

YOLOXは、YOLOシリーズに分離型ヘッドを初めて導入しました。従来は分類タスクと回帰タスクを単一の統合ヘッドで実行していたため、トレーニング中に勾配が競合することがよくありました。分類ブランチと位置特定ブランチを分離することで、YOLOXは収束を高速化しました。

YOLOv8はこの概念を採用し、大幅に改良しました。バックボーンには最先端のC2f(2つの畳み込みを用いたクロスステージ部分ボトルネック)モジュールを採用し、旧型のC3モジュールに置き換えています。これにより、計算オーバーヘッドを大幅に増やすことなく、勾配の流れと特徴表現が向上します。さらにYOLOv8は、Task-Aligned Assignerを使用した高度なアンカーフリー検出ヘッドを実装しています。分類スコアとIntersection over Union(IoU)の組み合わせに基づいて正例サンプルを動的にマッチングし、優れた精度を実現します。

メモリー効率

Ultralytics YOLOモデルは、優れたメモリー効率を実現するように設計されています。Transformerベースのアーキテクチャや最適化されていない研究用コードベースと比べ、YOLOv8はトレーニング時に必要なCUDAメモリーが大幅に少ないため、開発者は一般的なコンシューマー向けハードウェアでより大きなバッチサイズを使用できます。

パフォーマンス比較#

実環境へのデプロイに用いるモデルを評価する際は、精度(mAP)、推論レイテンシ、モデルの複雑さのバランスが重要です。以下の表では、COCOデータセットでのパフォーマンス指標を示します。

モデルサイズ
(ピクセル)
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.1
YOLOv8x64053.9479.114.3768.2257.8
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

表から分かるように、同等のパラメーター数では、YOLOv8モデルは一貫してYOLOXモデルを上回ります。たとえば、YOLOv8mのmAPは50.2%で、YOLOXmの46.9%を上回っています。TensorRTを使用したGPU推論速度でも競争力を維持しながら、精度が大幅に向上しています。

トレーニングとエコシステムの利点#

この2つのソリューションの最も顕著な違いの1つは、開発者エクスペリエンスです。YOLOXのトレーニングでは、複雑な環境構築やスクリプトの手動修正が必要になることが多く、メモリーリークやエクスポートの問題をデバッグするには、PyTorchの内部実装に関する深い知識も求められます。

一方、Ultralyticsエコシステムはこうした複雑さを抽象化し、直感的に使えるPython APIとコマンドラインインターフェース(CLI)を提供します。

効率的なPython API#

カスタムデータセットで最先端のYOLOv8モデルをトレーニングするために必要なコードは、わずか数行です。

from ultralytics import YOLO

# 物体検出用の事前学習済みYOLOv8モデルを読み込みます
model = YOLO("yolov8n.pt")

# COCO8のサンプルデータセットでモデルをトレーニングする
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# モデルを簡単に検証します
metrics = model.val()

# 本番環境向けにONNXへスムーズにエクスポートします
model.export(format="onnx")

このAPIは、検出、セグメンテーション、方向付きバウンディングボックス(OBB)の各タスクでワークフローを標準化し、本番アプリケーションの市場投入までの時間を大幅に短縮します。さらに、組み込みのエクスポート機能により、カスタムC++オペレーターを記述せずにONNX、OpenVINO、CoreMLへスムーズに変換できます。

最適なユースケース#

これらのアーキテクチャのどちらを選ぶかはプロジェクトの制約によりますが、YOLOv8はより柔軟な基盤を提供します。

  • 高速エッジ分析: NVIDIA Jetsonなどのデバイスでリアルタイム処理を行う場合、YOLOv8は速度と精度の優れたバランスを提供し、標準搭載のTensorRT統合を通じて簡単にデプロイできます。
  • 学術研究: PyTorchにおけるアンカーベース手法からアンカーフリー手法への移行を研究する人にとって、YOLOXは今も有用な学習ツールです。
  • 複雑なマルチタスクアプリケーション: 物体追跡とインスタンスセグメンテーションを同時に必要とするアプリケーションでは、これらの機能がUltralyticsライブラリに直接組み込まれているため、YOLOv8が有力な選択肢となります。

今後に向けて:代替モデル#

YOLOv8はYOLOXから大きく進化していますが、AI分野は非常に速いペースで進歩しています。新しいプロジェクトを始めるユーザーには、Ultralytics YOLO26の評価を強くおすすめします。2026年1月にリリースされたYOLO26は、ビジョンAIの新たなゴールドスタンダードです。

YOLO26は革新的なエンドツーエンドのNMSフリー設計を採用しています。オプションの1対1ヘッド(nms=False)により、Non-Maximum Suppressionの後処理を不要にし、デプロイパイプラインを簡素化します。新しいMuSGD OptimizerとDistribution Focal Loss(DFL)の廃止を組み合わせることで、YOLO26はYOLO11と比較してCPU推論を最大43%高速化します。また、ProgLoss + STAL(Progressive Lossと小物体対応ラベル割り当て)も導入され、航空画像やロボティクスで重要となる小物体認識が大幅に向上します。

また、Ultralyticsエコシステムで広くサポートされている優れた旧世代モデルとして、YOLO11も検討できます。多様なタスクで堅牢なパフォーマンスを提供します。

結論#

YOLOXは、YOLOファミリーにおける分離型ヘッドとアンカーフリー設計の有効性を示しました。しかし、Ultralytics YOLOv8はこれらの概念を取り入れてアーキテクチャを改良し、本番環境ですぐに使えるエコシステムに統合しました。その使いやすさと幅広いタスクへの対応力は、今も他に類を見ません。Ultralyticsモデルを選択すると、優れたパフォーマンス、メモリー効率の高いトレーニング、充実したデプロイツールを利用でき、実験から実環境での成果へとスムーズに移行できます。

コントリビューター

コメント