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 (Residual Efficient Layer Aggregation Networks): ELANに基づく改良された特徴集約モジュールであり、特に大規模なアテンション中心モデルにおける最適化の課題に対処するために設計されました。R-ELANは以下を導入しています。
- スケーリングを伴うブロックレベルの残差接続(レイヤースケーリングに類似)。
- ボトルネック構造を生成する、再設計された特徴集約手法。
- 最適化されたアテンションアーキテクチャ: YOLO12は、YOLOフレームワークとの互換性と効率性を高めるために、標準的なアテンションメカニズムを合理化しています。これには以下が含まれます。
- メモリ・アクセス・オーバーヘッドを最小化するためのFlashAttentionの使用。
- モデルをよりクリーンかつ高速にするための位置エンコーディングの削除。
- アテンション層とフィードフォワード層の計算バランスを最適化するためのMLP比率の調整(標準の4から1.2または2へ)。
- 最適化を向上させるためのスタックブロックの深さの削減。
- 計算効率の観点から(適切な箇所で)畳み込み演算を活用。
- 位置情報を暗黙的にエンコードするための7x7の分離畳み込み(「位置認識器」)をアテンションメカニズムに追加。
- 包括的なタスクサポート: YOLO12は、物体検出、インスタンスセグメンテーション、画像分類、姿勢推定、および指向性物体検出(OBB)など、幅広い主要なコンピュータビジョンタスクをサポートしています。
- 効率の向上: 多くの以前のモデルと比較して、より少ないパラメータで高い精度を達成しており、速度と精度のバランスが向上しています。
- 柔軟なデプロイメント: エッジデバイスからクラウドインフラストラクチャまで、多様なプラットフォームへのデプロイを想定して設計されています。

サポートされているタスクとモード
YOLO12はさまざまなコンピュータビジョンタスクをサポートしています。以下の表は、各タスクのサポート状況と有効な運用モード(推論、検証、学習、エクスポート)を示しています。
Only detection weights (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) are released on ultralytics/assets. Segmentation, classification, pose, and OBB architectures are defined in ultralytics/cfg/models/12/, so those variants support training from scratch from the .yaml config, but no pretrained .pt files are currently available for them. For pretrained segmentation, pose, classification, or OBB checkpoints, Ultralytics recommends YOLO11 or YOLO26.
| モデルタイプ | タスク | 事前学習済み重み | 推論 (Inference) | 検証 | 学習 | Export |
|---|---|---|---|---|---|---|
| YOLO12 | 検出 | ✅ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-seg | セグメンテーション | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-pose | 姿勢推定 | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-cls | 分類 | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-obb | OBB | ❌ | ✅ | ✅ | ✅ | ✅ |
All YOLO12 architectures support every mode once a trained checkpoint is available. The Pretrained Weights column indicates only whether Ultralytics publishes an official pretrained .pt on ultralytics/assets: for segmentation, pose, classification, and OBB, you must train your own checkpoint from the corresponding .yaml before running inference, validation, or export.
性能メトリクス
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 | 6.5 | +2.1%/-9% (対 YOLOv10n) |
| YOLO12s | 640 | 48.0 | - | 2.61 | 9.3 | 21.4 | +0.1%/+42% (対 RT-DETRv2) |
| YOLO12m | 640 | 52.5 | - | 4.86 | 20.2 | 67.5 | +1.0%/-3% (対 YOLO11m) |
| YOLO12l | 640 | 53.7 | - | 6.77 | 26.4 | 88.9 | +0.4%/-8% (対 YOLO11l) |
| YOLO12x | 640 | 55.2 | - | 11.79 | 59.1 | 199.0 | +0.6%/-4% (対 YOLO11x) |
- 推論速度は、TensorRT FP16精度を使用したNVIDIA T4 GPUで測定されました。
- 比較は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")主な改善点
-
強化された特徴抽出:
- エリア・アテンション: 大きな受容野を効率的に処理し、計算コストを削減します。
- 最適化されたバランス: アテンション演算とフィードフォワードネットワーク演算間のバランスを改善。
- 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を使用する場合は、ニューヨーク州立大学バッファロー校および中国科学院大学による元の研究を引用してください。
@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}
}FAQ
YOLO12はどのようにして高い精度を維持しながらリアルタイム物体検出を達成しているのですか?
YOLO12は、速度と精度のバランスをとるためにいくつかの重要な革新を組み込んでいます。エリア・アテンション・メカニズムは、大きな受容野を効率的に処理し、標準的な自己注意と比較して計算コストを削減します。R-ELANは特徴集約を改善し、大規模なアテンション中心モデルにおける最適化の課題に対処します。FlashAttentionの使用や位置エンコーディングの削除を含む最適化されたアテンションアーキテクチャにより、効率性がさらに向上しています。これらの機能により、YOLO12は、多くのアプリケーションで不可欠なリアルタイム推論速度を維持しながら、最先端の精度を実現しています。
YOLO12はどのようなコンピュータビジョンタスクをサポートしていますか?
YOLO12は、幅広い主要なコンピュータビジョンタスクをサポートする多目的モデルです。物体検出、インスタンスセグメンテーション、画像分類、姿勢推定、および指向性物体検出(OBB)(詳細はこちら)において優れた性能を発揮します。この包括的なタスクサポートにより、YOLO12はロボティクスや自動運転から、医療画像、産業検査まで、多様なアプリケーションのための強力なツールとなります。なお、学習済み.pt重みは現時点では検出用のみ公開されており、セグメンテーション、姿勢推定、分類、およびOBBのアーキテクチャはゼロからの学習用として.yaml構成ファイルが提供されています。
YOLO12は、他のYOLOモデルやRT-DETRなどの競合モデルと比較してどうですか?
YOLO12は、YOLOv10やYOLO11といった従来のYOLOモデルと比較して、すべてのモデルスケールで大幅な精度向上を示していますが、最も高速な以前のモデルと比較すると速度面でのトレードオフがあります。例えば、COCO val2017データセットにおいて、YOLO12nはYOLOv10nに対して+2.1%のmAP向上、YOLO11nに対して+1.2%の向上を達成しています。RT-DETRのようなモデルと比較すると、YOLO12sは+1.5%のmAP向上と+42%という大幅な速度向上を実現しています。これらの指標は、YOLO12の精度と効率の優れたバランスを強調しています。詳細な比較については、性能指標セクションを参照してください。
YOLO12を実行するためのハードウェア要件、特にFlashAttentionを使用する場合の要件は何ですか?
デフォルトでは、Ultralytics YOLO12の実装はFlashAttentionを必要としません。ただし、FlashAttentionはオプションでコンパイルし、YOLO12で使用することでメモリ・アクセス・オーバーヘッドを最小化できます。FlashAttentionをコンパイルするには、Turing GPU(例:T4、Quadro RTXシリーズ)、Ampere GPU(例:RTX30シリーズ、A30/40/100)、Ada Lovelace GPU(例:RTX40シリーズ)、またはHopper GPU(例:H100/H200)といったNVIDIA GPUのいずれかが必要です。この柔軟性により、ハードウェアリソースが許す場合にFlashAttentionの利点を活用できるようになります。
YOLO12の使用例や詳細なドキュメントはどこで見つけることができますか?
このページでは、学習および推論に関する基本的な使用例を紹介しています。これらおよびその他のモード(検証およびエクスポートを含む)に関する包括的なドキュメントについては、専用の予測および学習ページを参照してください。タスク固有の情報(セグメンテーション、分類、指向性物体検出、姿勢推定)については、各ドキュメント(セグメント、分類、OBB、姿勢推定)を参照してください。これらのリソースは、さまざまなシナリオでYOLO12を効果的に活用するための詳細なガイドを提供しています。