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

Link to this sectionサポートされるタスクとモード#
YOLO12は様々なコンピュータビジョンタスクをサポートしています。以下の表は、各タスクのサポート状況と、有効な操作モード(推論、検証、学習、エクスポート)を示しています:
検出用の重み(yolo12n.pt、yolo12s.pt、yolo12m.pt、yolo12l.pt、yolo12x.pt)のみがultralytics/assetsでリリースされています。セグメンテーション、分類、姿勢推定、およびOBBアーキテクチャはultralytics/cfg/models/12/で定義されているため、これらのバリエーションは.yaml設定ファイルからのスクラッチ学習をサポートしていますが、現時点では学習済み.ptファイルは提供されていません。学習済みのセグメンテーション、姿勢推定、分類、またはOBBチェックポイントが必要な場合は、YOLO11またはYOLO26を推奨します。
| モデルタイプ | タスク | 事前学習済みウェイト | 推論 | バリデーション | トレーニング | エクスポート |
|---|---|---|---|---|---|---|
| YOLO12 | 検出 | ✅ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-seg | セグメンテーション | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-pose | Pose | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-cls | 分類 | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-obb | OBB | ❌ | ✅ | ✅ | ✅ | ✅ |
すべてのYOLO12アーキテクチャは、学習済みチェックポイントが利用可能であれば、すべてのモードをサポートします。Pretrained Weights列は、Ultralyticsが公式の事前学習済み.ptをultralytics/assetsで公開しているかどうかのみを示しています。セグメンテーション、ポーズ、分類、およびOBBについては、推論、検証、またはエクスポートを実行する前に、対応する.yamlから独自のチェックポイントを学習させる必要があります。
Link to this section性能メトリクス#
YOLO12はすべてのモデルスケールで大幅な精度向上を示しており、最速の先行YOLOモデルと比較すると速度面で若干のトレードオフがあります。以下はCOCO検証データセットでの物体検出の定量的な結果です:
Link to this section検出パフォーマンス (COCO val2017)#
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT (ms) | パラメータ (M) | FLOPs (B) | 比較 (mAP/速度) |
|---|---|---|---|---|---|---|---|
| YOLO12n | 640 | 40.6 | - | 1.64 | 2.6 | 6.5 | +2.1%/-9% (vs. YOLOv10n) |
| YOLO12s | 640 | 48.0 | - | 2.61 | 9.3 | 21.4 | +0.1%/+42% (vs. RT-DETRv2) |
| YOLO12m | 640 | 52.5 | - | 4.86 | 20.2 | 67.5 | +1.0%/-3% (vs. YOLO11m) |
| YOLO12l | 640 | 53.7 | - | 6.77 | 26.4 | 88.9 | +0.4%/-8% (vs. YOLO11l) |
| YOLO12x | 640 | 55.2 | - | 11.79 | 59.1 | 199.0 | +0.6%/-4% (vs. YOLO11x) |
- 推論速度はNVIDIA T4 GPU、TensorRT FP16 精度で測定。
- 比較はmAPの相対的な向上と速度のパーセンテージ変化(正は高速、負は低速)を示しています。比較対象は、公開されているYOLOv10、YOLO11、RT-DETRの測定結果です。
Link to this section使用例#
このセクションでは、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")Link to this section主な改善点#
-
強化された特徴抽出:
- エリアアテンション: 大規模な受容野を効率的に処理し、計算コストを削減します。
- 最適化されたバランス: アテンション計算とフィードフォワードネットワーク計算のバランスを改善しました。
- R-ELAN: R-ELANアーキテクチャを使用して特徴集約を強化します。
-
最適化における革新:
- 残差接続: 特により大規模なモデルにおいて、学習を安定させるためにスケーリングを伴う残差接続を導入しました。
- 改良された特徴統合: R-ELAN内での特徴統合のための改善された手法を実装しました。
- FlashAttention: メモリアクセスのオーバーヘッドを削減するためにFlashAttentionを組み込みました。
-
アーキテクチャの効率化:
- パラメータの削減: 多くの先行モデルと比較して、精度を維持または向上させながら、より少ないパラメータ数を達成しました。
- 合理化されたアテンション: 位置エンコーディングを回避する、単純化されたアテンション実装を使用しています。
- 最適化されたMLP比率: 計算リソースをより効果的に割り当てるために、MLP比率を調整しました。
Link to this section要件#
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)
Link to this section引用と謝辞#
研究でYOLO12を使用する場合は、ニューヨーク州立大学バッファロー校および中国科学院大学による元の論文を引用してください:
@article{tian2025yolo12,
title={YOLO12: Attention-Centric Real-Time Object Detectors},
author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
journal={arXiv preprint arXiv:2502.12524},
year={2025}
}
@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}
}Link to this sectionよくある質問 (FAQ)#
Link to this sectionYOLO12はどのようにして高精度を維持しながらリアルタイム物体検出を実現していますか?#
YOLO12は、速度と精度のバランスをとるためにいくつかの主要な革新を組み込んでいます。エリアアテンションメカニズムは、大きな受容野を効率的に処理し、標準的な自己アテンションと比較して計算コストを削減します。残差効率的層集約ネットワーク (R-ELAN) は特徴集約を改善し、より大規模なアテンション中心モデルにおける最適化の課題に対処します。FlashAttentionの使用や位置エンコーディングの削除を含む最適化されたアテンションアーキテクチャにより、効率性がさらに向上しています。これらの機能により、YOLO12は多くのアプリケーションで極めて重要なリアルタイム推論速度を維持しつつ、最先端の精度を達成しています。
Link to this sectionYOLO12はどのようなコンピュータビジョンタスクをサポートしていますか?#
YOLO12は、主要なコンピュータビジョンタスクを幅広くサポートする多才なモデルです。物体検出、インスタンスセグメンテーション、画像分類、姿勢推定、および指向性物体検出(OBB) (詳細はこちら)に優れています。この包括的なタスクサポートにより、YOLO12はロボット工学や自動運転から医療画像処理、産業用検査まで、多様なアプリケーションのための強力なツールとなります。なお、学習済み.pt重みは現在検出用のみ公開されており、セグメンテーション、姿勢推定、分類、およびOBBアーキテクチャはスクラッチ学習用の.yaml構成として提供されていることに注意してください。
Link to this sectionYOLO12は他のYOLOモデルやRT-DETRなどの競合モデルと比較してどうですか?#
YOLO12は、YOLOv10やYOLO11のような従来のYOLOモデルと比較して、すべてのモデルスケールで大幅な精度の向上を示しており、最速の従来モデルと比較すると速度面で多少のトレードオフがあります。例えば、YOLO12nはCOCO val2017データセットにおいて、YOLOv10nに対して+2.1%、YOLO11nに対して+1.2%のmAP向上を達成しています。RT-DETRのようなモデルと比較して、YOLO12sは+1.5%のmAP向上と大幅な+42%の速度向上を提供します。これらのメトリクスは、YOLO12の精度と効率の優れたバランスを強調しています。詳細な比較については、パフォーマンスメトリクスのセクションを参照してください。
Link to this sectionYOLO12を実行するためのハードウェア要件、特にFlashAttentionを使用する場合の要件は何ですか?#
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の利点を活用できます。
Link to this sectionYOLO12の使用例や詳細なドキュメントはどこで見つけることができますか?#
このページでは、学習と推論の基本的な使用例を提供しています。これらのモードおよび検証やエクスポートを含む他のモードの詳細なドキュメントについては、専用の予測および学習ページを参照してください。タスク固有の情報(セグメンテーション、分類、指向性物体検出、姿勢推定)については、それぞれのドキュメント:セグメント、分類、OBB、およびポーズを参照してください。これらのリソースは、様々なシナリオでYOLO12を効果的に活用するための詳細なガイドを提供します。