YOLO12: アテンション中心の物体検出#
概要#
2025年初期にリリースされたYOLO12は、従来のYOLOモデルで使用されていた従来のCNNベースのアプローチから脱却したアテンション中心のアーキテクチャを導入しつつ、多くのアプリケーションに不可欠なリアルタイム推論速度を維持しています。このモデルは、アテンション機構と全体的なネットワークアーキテクチャにおける新たな方法論的革新を通じて、リアルタイムパフォーマンスを維持しながら高い物体検出精度を実現します。これらの利点にもかかわらず、YOLO12は、重いアテンションブロックのために学習の不安定性、メモリ消費量の増加、およびCPUスループットの低下を示す可能性があるコミュニティ主導のリリースであるため、Ultralyticsではほとんどの本番ワークロードに対してYOLO11またはYOLO26を推奨しています。
Watch: How to Use YOLO12 for Object Detection with the Ultralytics Package | Is YOLO12 Fast or Slow? 🚀
主な特徴#
- 領域アテンション機構 (Area Attention Mechanism): 大きな受容野を効率的に処理する新しい自己注意(セルフアテンション)アプローチです。特徴マップを水平方向または垂直方向に l 個の等しいサイズの領域(デフォルトは4)に分割し、複雑な操作を回避しながら大きな有効受容野を維持します。これにより、標準的な自己注意と比較して計算コストが大幅に削減されます。
- 残差効率的層集約ネットワーク (R-ELAN): ELANをベースにした改善された特徴集約モジュールで、特に大規模なアテンション中心モデルにおける最適化の課題に対処するために設計されています。R-ELANでは以下が導入されています:
- スケーリングを伴うブロックレベルの残差接続(レイヤースケーリングに類似)。
- ボトルネックのような構造を作成する、再設計された特徴集約手法。
- 最適化されたアテンションアーキテクチャ: YOLO12は、YOLOフレームワークとの互換性と効率性を高めるために、標準的なアテンションメカニズムを合理化しています。これには以下が含まれます:
- FlashAttentionを使用してメモリアクセスのオーバーヘッドを最小限に抑える。
- 位置エンコーディングを削除し、よりクリーンで高速なモデルにする。
- MLP比率を調整し(一般的な4から1.2または2へ)、アテンション層とフィードフォワード層の間の計算バランスを最適化する。
- 最適化を改善するために、スタックブロックの深さを削減する。
- 計算効率のために(適切な箇所で)畳み込み演算を活用する。
- 位置情報を暗黙的にエンコードするために、アテンションメカニズムに7x7の分離畳み込み(「位置認識器」)を追加する。
- 包括的なタスクのサポート: 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 | Detection | ✅ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-seg | セグメンテーション | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-cls | Classification | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-pose | ポーズ | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-obb | OBB | ❌ | ✅ | ✅ | ✅ | ✅ |
すべての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/速度) |
|---|---|---|---|---|---|---|---|
| YOLO12n | 640 | 40.6 | - | 1.64 | 2.6 | 7.6 | +2.1%/-9% (vs. YOLOv10n) |
| YOLO12s | 640 | 48.0 | - | 2.61 | 9.3 | 23.7 | +0.1%/+42% (vs. RT-DETRv2) |
| YOLO12m | 640 | 52.5 | - | 4.86 | 20.2 | 71.3 | +1.0%/-3% (vs. YOLO11m) |
| YOLO12l | 640 | 53.7 | - | 6.77 | 26.4 | 96.3 | +0.4%/-8% (vs. YOLO11l) |
| YOLO12x | 640 | 55.2 | - | 11.79 | 59.1 | 210.2 | +0.6%/-4% (vs. YOLO11x) |
- 推論速度は、NVIDIA T4 GPUとTensorRT FP16精度を使用して測定されました。
- 比較はmAPの相対的な向上と速度のパーセンテージ変化(正は高速、負は低速)を示しています。比較対象は、公開されているYOLOv10、YOLO11、RT-DETRの測定結果です。
使用例#
このセクションでは、YOLO12を用いた学習と推論の例を示します。これらおよびその他のモード(検証やエクスポートを含む)に関するより包括的なドキュメントについては、専用の予測および学習ページを参照してください。
以下の例では、YOLO12の検出モデル(物体検出用)に焦点を当てています。サポートされている他のタスク(セグメンテーション、分類、姿勢推定、方向付き物体検出)については、それぞれのタスク固有のドキュメント(セグメント、分類、ポーズ、OBB)を参照してください。
事前学習済みの *.pt モデル(PyTorchを使用)と設定 *.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): 大きな受容野を効率的に処理し、計算コストを削減します。
- 最適化されたバランス: アテンション計算とフィードフォワードネットワーク計算のバランスを改善しました。
- R-ELAN: R-ELANアーキテクチャを使用して特徴集約を強化します。
-
最適化における革新:
- 残差接続: 特により大規模なモデルにおいて、学習を安定させるためにスケーリングを伴う残差接続を導入しました。
- 改良された特徴統合: R-ELAN内での特徴統合のための改善された手法を実装しました。
- FlashAttention: メモリアクセスのオーバーヘッドを削減するためにFlashAttentionを組み込みました。
-
アーキテクチャの効率化:
- パラメータの削減: 多くの先行モデルと比較して、精度を維持または向上させながら、より少ないパラメータ数を達成しました。
- 合理化されたアテンション: 位置エンコーディングを回避する、単純化されたアテンション実装を使用しています。
- 最適化された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を使用する場合は、バッファロー大学および中国科学院大学による元の研究を引用してください。
@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に公開されています。
よくある質問 (FAQ)#
YOLO12には、速度と精度のバランスをとるためのいくつかの重要な革新が組み込まれています。領域アテンション機構は大きな受容野を効率的に処理し、標準的な自己注意と比較して計算コストを削減します。Residual Efficient Layer Aggregation Networks (R-ELAN) は特徴集約を改善し、大規模なアテンション中心モデルにおける最適化の課題に対処します。FlashAttentionの使用や位置エンコーディングの削除を含む最適化されたアテンションアーキテクチャにより、効率がさらに向上します。これらの機能により、YOLO12は、多くのアプリケーションに不可欠なリアルタイム推論速度を維持しながら、最先端の精度を実現できます。
YOLO12は、YOLOv10やYOLO11のような従来のYOLOモデルと比較して、すべてのモデルスケールで大幅な精度向上を示していますが、最速の従来モデルと比較していくつかの速度のトレードオフがあります。たとえば、YOLO12nは、COCO val2017データセットでYOLOv10nと比較して+2.1%のmAP向上、YOLO11nと比較して+1.2%のmAP向上を実現しています。RT-DETRなどのモデルと比較して、YOLO12sは+1.5%のmAP向上と、大幅な+42%の速度向上を提供します。これらの指標は、YOLO12の精度と効率の優れたバランスを強調しています。詳細な比較については、パフォーマンス指標セクションを参照してください。
Ultralytics YOLO12の実装では、デフォルトでFlashAttentionは必要ありません。ただし、メモリアクセスのオーバーヘッドを最小限に抑えるために、オプションでFlashAttentionをコンパイルして使用することができます。FlashAttentionをコンパイルするには、以下のNVIDIA GPUのいずれかが必要です:Turing GPU(T4、Quadro RTXシリーズなど)、Ampere GPU(RTX30シリーズ、A30/40/100など)、Ada Lovelace GPU(RTX40シリーズなど)、またはHopper GPU(H100/H200など)。この柔軟性により、ハードウェアリソースが許す場合にユーザーはFlashAttentionの利点を活用できます。