Ultralytics YOLO27:
Get Started

YOLO12:アテンション中心の物体検出#

概要#

2025年初頭にリリースされたYOLO12は、従来のYOLOモデルで採用されていたCNNベースの手法とは異なる、アテンション中心のアーキテクチャを導入しながら、多くのアプリケーションで不可欠なリアルタイム推論速度を維持しています。このモデルは、アテンション機構とネットワーク全体のアーキテクチャにおける新しい手法により、高い物体検出精度を実現しつつ、リアルタイム性能を維持します。こうした利点がある一方で、YOLO12はコミュニティ主導のリリースであり、学習の不安定さ、メモリ消費量の増加、重いアテンションブロックによるCPUスループットの低下が生じる可能性があるため、Ultralyticsはほとんどの本番ワークロードにYOLO11またはYOLO26を推奨しています。

コミュニティモデル

YOLO12は主にベンチマークと研究向けにメンテナンスされています。安定したトレーニング、予測可能なメモリ使用量、最適化されたCPU推論が必要な場合は、デプロイにYOLO11またはYOLO26を選択してください。



視聴: Ultralytics パッケージで YOLO12 を使った物体検出 | YOLO12 は高速か低速か? 🚀

主な機能#

  • エリアアテンション機構:大きな受容野を効率的に処理する新しい自己アテンション手法です。特徴マップを水平方向または垂直方向にl個の同じ大きさの領域(デフォルトは4)に分割することで、複雑な演算を避けながら、大きな有効受容野を維持します。これにより、標準的な自己アテンションと比較して計算コストを大幅に削減します。
  • 残差効率的レイヤー集約ネットワーク(R-ELAN):ELANをベースに、特に大規模なアテンション中心モデルの最適化課題に対処するために設計された、改良型の特徴集約モジュールです。R-ELANでは、次の要素を導入しています。
    • スケーリングを伴うブロックレベルの残差接続(レイヤースケーリングに類似)。
    • ボトルネックに似た構造を作る、再設計された特徴集約手法。
  • 最適化されたアテンションアーキテクチャ:YOLO12は、YOLOフレームワークとの効率性と互換性を高めるため、標準的なアテンション機構を効率化しています。具体的には、次の要素が含まれます。
    • FlashAttentionを使用してメモリアクセスのオーバーヘッドを最小限に抑えます。
    • モデルをよりシンプルかつ高速にするため、位置エンコーディングを削除します。
    • アテンション層とフィードフォワード層の計算バランスをより適切に調整するため、MLP比率を一般的な4から1.2または2に変更します。
    • 最適化を改善するため、積み重ねるブロックの深さを減らします。
    • 計算効率の高さを活かし、適切な箇所で畳み込み演算を利用します。
    • 位置情報を暗黙的にエンコードするため、「位置パーセプター」と呼ばれる7x7の分離可能な畳み込みをアテンション機構に追加します。
  • 包括的なタスクサポート:YOLO12は、物体検出、インスタンスセグメンテーション、画像分類、姿勢推定、方向付き物体検出(OBB)など、さまざまなコンピュータービジョンの主要タスクをサポートしています。
  • 効率性の向上:多くの従来モデルと比較して、パラメーター数を抑えながら高い精度を実現し、速度と精度のバランスを改善しています。
  • 柔軟なデプロイ:エッジデバイスからクラウドインフラストラクチャまで、さまざまなプラットフォームへのデプロイを想定して設計されています。

YOLO12の比較ビジュアル

サポート対象のタスクとモード#

YOLO12は、さまざまなコンピュータービジョンタスクをサポートしています。以下の表に、各タスクでサポートされる機能と利用可能な運用モード(推論、検証、トレーニング、エクスポート)を示します。

事前学習済み重みの提供状況

検出用の重み(yolo12n.pt、yolo12s.pt、yolo12m.pt、yolo12l.pt、yolo12x.pt)のみがultralytics/assetsで公開されています。セグメンテーション、分類、姿勢推定、OBBのアーキテクチャはultralytics/cfg/models/12/で定義されているため、これらのバリエーションは.yaml設定からスクラッチでトレーニングできますが、現在、これらに対応する事前学習済みの.ptファイルはありません。セグメンテーション、姿勢推定、分類、OBBの事前学習済みチェックポイントには、UltralyticsはYOLO11またはYOLO26を推奨しています。

モデルタイプタスク事前学習済み重みトレーニング検証推論エクスポート
YOLO12物体検出✅✅✅✅✅
YOLO12-segセグメンテーション❌✅✅✅✅
YOLO12-cls分類❌✅✅✅✅
YOLO12-pose姿勢推定❌✅✅✅✅
YOLO12-obbOBB❌✅✅✅✅

学習済みチェックポイントがあれば、すべてのYOLO12アーキテクチャですべてのモードをサポートします。Pretrained Weights列が示すのは、Ultralyticsが公式の事前学習済み.ptをultralytics/assetsで公開しているかどうかのみです。セグメンテーション、姿勢推定、分類、OBBでは、推論、検証、エクスポートを実行する前に、対応する.yamlから独自のチェックポイントをトレーニングする必要があります。

性能指標#

YOLO12は、すべてのモデルサイズで精度が大幅に向上していますが、従来の最速のYOLOモデルと比較すると、速度にトレードオフがあります。以下に、COCO検証データセットにおける物体検出の定量的な結果を示します。

検出性能(COCO val2017)#

性能
モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT
(ms)
パラメーター
(M)
FLOPs
(B)
比較
(mAP/速度)
YOLO12n64040.6-1.642.67.5+2.1%/-9%(YOLOv10n比)
YOLO12s64048.0-2.619.323.3+0.1%/+42%(RT-DETRv2比)
YOLO12m64052.5-4.8620.270.7+1.0%/-3%(YOLO11m比)
YOLO12l64053.7-6.7726.495.4+0.4%/-8%(YOLO11l比)
YOLO12x64055.2-11.7959.1208.9+0.6%/-4%(YOLO11x比)
  • 推論速度は、NVIDIA T4 GPU上でTensorRT FP16の精度を使用して測定しています。
  • 比較結果は、mAPの相対的な改善と速度の変化率を示します(正の値は高速化、負の値は低速化を示します)。比較対象には、公開結果がある場合、YOLOv10、YOLO11、RT-DETRを使用しています。

使用例#

このセクションでは、YOLO12を使ったトレーニングと推論の例を紹介します。これらのモードやその他のモード(検証およびエクスポートを含む)の詳しいドキュメントについては、専用の予測ページとトレーニングページをご覧ください。

以下の例では、YOLO12の検出モデル(物体検出向け)を取り上げます。その他のサポート対象タスク(セグメンテーション、分類、姿勢推定、方向付き物体検出)については、各タスク専用のドキュメントであるセグメンテーション、分類、姿勢推定、OBBをご覧ください。

例

事前学習済みの*.ptモデル(PyTorchを使用)と設定用の*.yamlファイルをYOLO()クラスに渡すと、Pythonでモデルインスタンスを作成できます。

from ultralytics import YOLO

# COCOで事前学習済みのYOLO12nモデルを読み込みます
model = YOLO("yolo12n.pt")

# COCO8サンプルデータセットでモデルを100エポック学習する
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# 'bus.jpg'画像に対してYOLO12nモデルで推論を実行します
results = model("path/to/bus.jpg")

主な改善点#

  1. 特徴抽出の強化:

    • エリアアテンション:受容野を効率的に処理し、計算コストを削減します。
    • バランスの最適化:アテンションとフィードフォワードネットワークの計算バランスを改善します。
    • R-ELAN:R-ELANアーキテクチャを使用して特徴集約を強化します。
  2. 最適化に関する新機能:

    • 残差接続:スケーリングを伴う残差接続を導入し、特に大規模モデルでの学習を安定させます。
    • 特徴統合の改善:R-ELAN内で特徴を統合する手法を改良しています。
    • FlashAttention:FlashAttentionを導入して、メモリアクセスのオーバーヘッドを削減します。
  3. アーキテクチャの効率化:

    • パラメーター数の削減:多くの従来モデルと比較して、精度を維持または向上させながらパラメーター数を減らしています。
    • アテンションの効率化:位置エンコーディングを使用せず、簡素化されたアテンション実装を採用しています。
    • MLP比率の最適化:計算リソースをより効果的に割り当てるため、MLP比率を調整しています。

要件#

UltralyticsのYOLO12実装では、デフォルトでFlashAttentionは必要ありません。ただし、FlashAttentionを任意でコンパイルし、YOLO12で使用できます。FlashAttentionをコンパイルするには、次のいずれかのNVIDIA GPUが必要です。

引用と謝辞#

研究でYOLO12を使用する場合は、バッファロー大学および中国科学院大学による原著論文を引用してください。

引用
@inproceedings{tian2025yolov12,
  title={YOLOv12: Attention-Centric Real-Time Object Detectors},
  author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
  booktitle={Advances in Neural Information Processing Systems},
  volume={38},
  pages={78433--78457},
  year={2025},
  url={https://proceedings.neurips.cc/paper_files/paper/2025/file/7103444259031cc58051f8c9a4868533-Paper-Conference.pdf}
}

@software{yolo12,
  author = {Tian, Yunjie and Ye, Qixiang and Doermann, David},
  title = {YOLO12: Attention-Centric Real-Time Object Detectors},
  year = {2025},
  url = {https://github.com/sunsmarterjie/yolov12},
  license = {AGPL-3.0}
}

YOLO12の論文はNeurIPS 2025の論文集で公開され、arXivでプレプリントも公開されています。

よくある質問#

  • YOLO12は、速度と精度のバランスを取るために、いくつかの重要なイノベーションを取り入れています。Area Attention機構は広い受容野を効率的に処理し、標準的な自己Attentionと比較して計算コストを削減します。Residual Efficient Layer Aggregation Networks(R-ELAN)は特徴集約を改善し、Attention中心の大規模モデルにおける最適化の課題に対処します。FlashAttentionの使用や位置エンコーディングの除去を含む最適化されたAttentionアーキテクチャにより、効率がさらに向上します。これらの特長により、YOLO12は多くのアプリケーションで不可欠なリアルタイム推論速度を維持しながら、最先端の精度を実現できます。

  • YOLO12は、多様な主要コンピュータービジョンタスクをサポートする汎用性の高いモデルです。物体検出、インスタンスセグメンテーション、画像分類、姿勢推定、および方向付き物体検出(OBB)に優れています(詳細はこちら)。幅広いタスクをサポートするYOLO12は、ロボティクスや自動運転から医用画像処理、産業検査まで、多様なアプリケーションに対応する強力なツールです。事前学習済みの.pt重みは現在、検出用のみが公開されており、セグメンテーション、姿勢推定、分類、OBBのアーキテクチャはスクラッチから学習するための.yaml設定として提供されている点にご注意ください。

  • YOLO12は、YOLOv10やYOLO11など従来のYOLOモデルと比較して、すべてのモデルスケールで精度が大幅に向上していますが、従来の最速モデルと比べると速度面でトレードオフがあります。たとえば、COCO val2017データセットでは、YOLO12nはYOLOv10nよりmAPが2.1%、YOLO11nより1.2%向上しています。RT-DETRなどのモデルと比べると、YOLO12sはmAPが1.5%向上し、速度も大幅に向上して42%高速です。これらの指標は、YOLO12が精度と効率のバランスに優れていることを示しています。詳しい比較については、パフォーマンス指標のセクションをご覧ください。

  • デフォルトでは、UltralyticsのYOLO12実装にFlashAttentionは必要ありません。ただし、メモリアクセスのオーバーヘッドを最小限に抑えるため、FlashAttentionを任意でコンパイルしてYOLO12で使用できます。FlashAttentionのコンパイルには、次のいずれかのNVIDIA GPUが必要です。Turing GPU(例:T4、Quadro RTXシリーズ)、Ampere GPU(例:RTX30シリーズ、A30/40/100)、Ada Lovelace GPU(例:RTX40シリーズ)、またはHopper GPU(例:H100/H200)。この柔軟性により、ハードウェアリソースが許す場合にFlashAttentionの利点を活用できます。

  • このページでは、トレーニングと推論の基本的な使用例を紹介しています。検証やエクスポートなど、これらのモードやその他のモードの包括的なドキュメントについては、専用のPredictページとTrainページをご覧ください。タスク固有の情報(セグメンテーション、分類、姿勢推定、方向付き物体検出)については、各ドキュメントを参照してください:Segment、Classify、Pose、OBB。これらのリソースでは、さまざまなシナリオでYOLO12を効果的に活用するための詳しいガイダンスを提供しています。

コメント