YOLO12:Attention中心の物体検出#
概要#
2025年初頭にリリースされたYOLO12は、従来のYOLOモデルで使用されていたCNNベースのアプローチから脱却した、Attention中心のアーキテクチャを導入しています。一方で、多くのアプリケーションに不可欠なリアルタイム推論速度は維持しています。このモデルは、Attentionメカニズムとネットワーク全体のアーキテクチャにおける新しい手法上の革新により、高い物体検出精度を実現しながら、リアルタイム性能も維持しています。こうした利点がある一方で、YOLO12はコミュニティ主導のリリースであり、重いAttentionブロックが原因で、トレーニングの不安定性、メモリ消費量の増加、CPUスループットの低下が生じる可能性があります。そのため、Ultralyticsでは、ほとんどの本番ワークロードにYOLO11またはYOLO26を推奨しています。
Watch: How to Use YOLO12 for Object Detection with the Ultralytics Package | Is YOLO12 Fast or Slow? 🚀
主な特徴#
- Area Attentionメカニズム:大きな受容野を効率的に処理する新しい自己Attentionアプローチです。特徴マップをl個の同じサイズの領域(デフォルトは4個)に水平方向または垂直方向で分割し、複雑な処理を回避しながら大きな実効受容野を維持します。これにより、標準的な自己Attentionと比較して計算コストを大幅に削減します。
- Residual Efficient Layer Aggregation Networks(R-ELAN):ELANを基盤とする改良型の特徴集約モジュールで、特に大規模なAttention中心モデルにおける最適化の課題に対処するよう設計されています。R-ELANでは、次の機能を導入しています。
- スケーリングを伴うブロックレベルの残差接続(レイヤースケーリングに類似)。
- ボトルネックのような構造を形成する、再設計された特徴集約手法。
- 最適化されたAttentionアーキテクチャ:標準的なAttentionメカニズムを効率化し、YOLOフレームワークとの互換性を高めています。これには次の内容が含まれます。
- FlashAttentionを使用してメモリアクセスのオーバーヘッドを最小化。
- 位置エンコーディングを削除し、よりシンプルで高速なモデルを実現。
- MLP比率を(一般的な4から1.2または2に)調整し、Attention層とフィードフォワード層の計算バランスを改善。
- 最適化を改善するため、積層ブロックの深さを削減。
- 計算効率に優れる畳み込み処理を、適切な箇所で活用。
- 位置情報を暗黙的にエンコードするため、Attentionメカニズムに7x7の分離可能畳み込み(「position perceiver」)を追加。
- 包括的なタスクサポート:YOLO12は、物体検出、インスタンスセグメンテーション、画像分類、ポーズ推定、方向付き物体検出(OBB)など、主要なコンピュータービジョンタスクを幅広くサポートしています。
- 効率の向上:従来の多くのモデルと比較して、より少ないパラメーター数で高い精度を実現し、速度と精度のバランスが改善されていることを示しています。
- 柔軟なデプロイ:エッジデバイスからクラウドインフラストラクチャまで、さまざまなプラットフォームへのデプロイを想定して設計されています。

サポートされるタスクとモード#
YOLO12は、さまざまなコンピュータービジョンタスクをサポートしています。以下の表は、各タスクで有効なタスクサポートと運用モード(推論、検証、トレーニング、エクスポート)を示しています。
ultralytics/assetsでリリースされているのは、検出用の重み(yolo12n.pt、yolo12s.pt、yolo12m.pt、yolo12l.pt、yolo12x.pt)のみです。セグメンテーション、分類、ポーズ、OBBのアーキテクチャはultralytics/cfg/models/12/で定義されているため、これらのバリアントでは.yaml設定ファイルからスクラッチでトレーニングできます。ただし、現在これらのバリアント用の事前学習済み.ptファイルは提供されていません。事前学習済みのセグメンテーション、ポーズ、分類、またはOBBチェックポイントには、UltralyticsではYOLO11またはYOLO26を推奨しています。
| モデルタイプ | タスク | 事前学習済み重み | トレーニング | 検証 | 推論 | エクスポート |
|---|---|---|---|---|---|---|
| YOLO12 | 検出 | ✅ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-seg | セグメンテーション | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-cls | 分類 | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-pose | ポーズ | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-obb | OBB | ❌ | ✅ | ✅ | ✅ | ✅ |
トレーニング済みチェックポイントが利用可能になれば、すべてのYOLO12アーキテクチャで全モードをサポートします。Pretrained Weights列は、Ultralyticsがultralytics/assetsで公式の事前学習済み.ptを公開しているかどうかのみを示します。セグメンテーション、ポーズ、分類、OBBでは、推論、検証、またはエクスポートを実行する前に、対応する.yamlから独自のチェックポイントをトレーニングする必要があります。
性能指標#
YOLO12は、すべてのモデルスケールで精度が大幅に向上していますが、従来の最速のYOLOモデルと比較すると、速度に一部トレードオフがあります。以下に、COCO検証データセットにおける物体検出の定量的な結果を示します。
検出性能(COCO val2017)#
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT (ms) | パラメーター数 (M) | FLOPs (B) | 比較 (mAP/速度) |
|---|---|---|---|---|---|---|---|
| YOLO12n | 640 | 40.6 | - | 1.64 | 2.6 | 7.5 | +2.1%/-9%(YOLOv10nとの比較) |
| YOLO12s | 640 | 48.0 | - | 2.61 | 9.3 | 23.3 | +0.1%/+42%(RT-DETRv2との比較) |
| YOLO12m | 640 | 52.5 | - | 4.86 | 20.2 | 70.7 | +1.0%/-3%(YOLO11mとの比較) |
| YOLO12l | 640 | 53.7 | - | 6.77 | 26.4 | 95.4 | +0.4%/-8%(YOLO11lとの比較) |
| YOLO12x | 640 | 55.2 | - | 11.79 | 59.1 | 208.9 | +0.6%/-4%(YOLO11xとの比較) |
- 推論速度は、TensorRT FP16 精度を使用し、NVIDIA T4 GPUで測定しています。
- 比較では、mAPの相対的な向上率と速度の変化率を示します(正の値は高速化、負の値は低速化を示します)。比較には、入手可能なYOLOv10、YOLO11、RT-DETRの公開済み結果を使用しています。
使用例#
このセクションでは、YOLO12を使用したトレーニングと推論の例を紹介します。これらのモードやその他のモード(検証やエクスポートを含む)の詳細なドキュメントについては、専用のPredictページとTrainページを参照してください。
以下の例では、YOLO12のDetectモデル(物体検出用)に焦点を当てています。その他のサポート対象タスク(セグメンテーション、分類、ポーズ推定、方向付き物体検出)については、各タスクのドキュメントであるSegment、Classify、Pose、OBBを参照してください。
(PyTorchを使用する)事前学習済み*.ptモデルと設定用の*.yamlファイルをYOLO()クラスに渡すことで、Pythonでモデルインスタンスを作成できます。
from ultralytics import YOLO
# Load a COCO-pretrained YOLO12n model
model = YOLO("yolo12n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLO12n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")主な改善点#
-
強化された特徴抽出:
- Area Attention:大きな受容野を効率的に処理し、計算コストを削減します。
- 最適化されたバランス:Attentionとフィードフォワードネットワークの計算バランスを改善します。
- R-ELAN:R-ELANアーキテクチャを使用して特徴集約を強化します。
-
最適化に関する革新:
- 残差接続:特に大規模モデルでトレーニングを安定させるため、スケーリングを伴う残差接続を導入します。
- 洗練された特徴統合:R-ELAN内で特徴を統合する改良手法を実装します。
- FlashAttention:メモリアクセスのオーバーヘッドを削減するため、FlashAttentionを組み込みます。
-
アーキテクチャの効率性:
- パラメーター数の削減:従来の多くのモデルと比較して、精度を維持または向上させながら、パラメーター数を削減します。
- Attentionの効率化:位置エンコーディングを使用しない、簡略化されたAttention実装を使用します。
- MLP比率の最適化:計算リソースをより効果的に配分できるよう、MLP比率を調整します。
要件#
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)
引用と謝辞#
研究でYOLO12を使用する場合は、University at BuffaloとUniversity of Chinese Academy of Sciencesによる原著論文を引用してください。
@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 proceedingsで公開されており、arXivにプレプリントがあります。
FAQ#
YOLO12は、速度と精度のバランスを取るために、いくつかの主要な革新を取り入れています。Area Attentionメカニズムは大きな受容野を効率的に処理し、標準的な自己Attentionと比較して計算コストを削減します。Residual Efficient Layer Aggregation Networks(R-ELAN)は特徴集約を改善し、大規模なAttention中心モデルにおける最適化の課題に対処します。FlashAttentionの使用や位置エンコーディングの削除を含む最適化されたAttentionアーキテクチャにより、効率がさらに向上します。これらの機能によって、YOLO12は多くのアプリケーションで重要なリアルタイム推論速度を維持しながら、最先端の精度を実現できます。
YOLO12は、YOLOv10やYOLO11などの従来のYOLOモデルと比較して、すべてのモデルスケールで精度が大幅に向上していますが、従来の最速モデルと比較すると、速度に一部トレードオフがあります。たとえば、COCO val2017データセットにおいて、YOLO12nはYOLOv10nを1.2%上回り、YOLO11nを1.2%上回るmAP向上を実現します。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の利点を活用できます。