YOLO12:注意機構を中心とした物体検出
概要
YOLO12は、以前のYOLOモデルで使用されていた従来のCNNベースのアプローチから脱却し、注意機構を中心としたアーキテクチャを導入していますが、多くのアプリケーションに不可欠なリアルタイム推論速度を維持しています。このモデルは、注意機構とネットワークアーキテクチャ全体の革新的な方法論により、最先端の物体検出精度を実現しながら、リアルタイム性能を維持しています。
見る: Ultralyticsパッケージで物体検出にYOLO12を使用する方法 | YOLO12は高速か低速か? 🚀
主な特徴
- Area Attention Mechanism(領域注意機構): 大きな受容野を効率的に処理する新しい自己注意アプローチ。特徴マップを水平方向または垂直方向にl個の等しいサイズの領域(デフォルトは4)に分割し、複雑な操作を回避し、大きな有効受容野を維持します。これにより、標準的な自己注意と比較して、計算コストが大幅に削減されます。
- Residual Efficient Layer Aggregation Networks (R-ELAN): ELANをベースとした改良版特徴量集約モジュールで、最適化の課題、特に大規模なアテンション中心のモデルにおける課題に対処するように設計されています。R-ELANは以下を導入します:
- スケーリングによるブロックレベルの残差接続(レイヤースケーリングと同様)。
- ボトルネックのような構造を作成する、再設計された特徴集約方法。
- 最適化された注意機構アーキテクチャ: YOLO12 は、YOLO フレームワークとの互換性と効率を高めるために、標準的な注意機構を効率化します。これには以下が含まれます。
- FlashAttentionを使用して、メモリアクセスのオーバーヘッドを最小限に抑えます。
- よりクリーンで高速なモデルのために、位置エンコーディングを削除します。
- MLP比率を(通常の4から1.2または2に)調整して、注意機構とフィードフォワード層間の計算のバランスを改善します。
- 最適化を向上させるために、積み重ねられたブロックの深さを縮小。
- 計算効率を高めるために、(適切な場合は)畳み込み演算を活用します。
- 位置情報を暗黙的にエンコードするために、注意機構に7x7の分離可能な畳み込み(「position perceiver」)を追加します。
- Comprehensive Task Support: YOLO12は、オブジェクト検出、インスタンスセグメンテーション、画像分類、ポーズ推定、および指向性オブジェクト検出(OBB)といった、一連のコアとなるコンピュータビジョンタスクをサポートしています。
- 効率の向上: 多くの既存モデルと比較して、より少ないパラメータでより高い精度を達成し、速度と精度の間の改善されたバランスを示しています。
- 柔軟なデプロイメント: エッジデバイスからクラウドインフラストラクチャまで、多様なプラットフォームでのデプロイメント向けに設計されています。
サポートされているタスクとモード
YOLO12は、さまざまなコンピュータビジョンタスクをサポートしています。以下の表は、タスクサポートと、各タスクで有効になっている動作モード(推論、検証、トレーニング、およびエクスポート)を示しています。
モデルの種類 | タスク | 推論 | 検証 | 学習 | エクスポート |
---|---|---|---|---|---|
YOLO12 | 検出 | ✅ | ✅ | ✅ | ✅ |
YOLO12-seg | セグメンテーション | ✅ | ✅ | ✅ | ✅ |
YOLO12-pose | ポーズ | ✅ | ✅ | ✅ | ✅ |
YOLO12-cls | 分類 | ✅ | ✅ | ✅ | ✅ |
YOLO12-obb | OBB | ✅ | ✅ | ✅ | ✅ |
パフォーマンス指標
YOLO12は、すべてのモデルスケールにおいて大幅な精度向上を示していますが、以前の最速のYOLOモデルと比較すると、速度面でいくつかのトレードオフがあります。以下は、COCO検証データセットにおける物体検出の定量的な結果です。
検出性能(COCO val2017)
パフォーマンス
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 T4 TensorRT (ms) |
params (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の相対的な改善と速度の変化率を示しています(正は高速、負は低速を示します)。比較は、入手可能なYOLO10、YOLO11、およびRT-DETRの公開結果に対して行われます。
使用例
このセクションでは、YOLO12を使用したトレーニングと推論の例を紹介します。これらおよびその他のモード(検証、エクスポートを含む)に関するより包括的なドキュメントについては、専用のPredictおよびTrainページを参照してください。
以下の例では、YOLO12 Detectモデル(物体検出用)に焦点を当てています。サポートされている他のタスク(セグメンテーション、分類、向きを考慮した物体検出、およびポーズ推定)については、それぞれのタスク固有のドキュメント(Segment、Classify、OBB、およびPose)を参照してください。
例
事前トレーニング済み *.pt
モデル(using PyTorch)と構成 *.yaml
filesを以下に渡すことができます。 YOLO()
pythonでモデルインスタンスを作成するためのclass:
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")
コマンドラインインターフェース(CLI)コマンドも利用可能です。
# Load a COCO-pretrained YOLO12n model and train on the COCO8 example dataset for 100 epochs
yolo train model=yolo12n.pt data=coco8.yaml epochs=100 imgsz=640
# Load a COCO-pretrained YOLO12n model and run inference on the 'bus.jpg' image
yolo predict model=yolo12n.pt source=path/to/bus.jpg
主な改善点
-
強化された特徴抽出:
- Area 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による元の研究を引用してください。
@article{tian2025yolov12,
title={YOLOv12: 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 = {YOLOv12: Attention-Centric Real-Time Object Detectors},
year = {2025},
url = {https://github.com/sunsmarterjie/yolov12},
license = {AGPL-3.0}
}
よくある質問
YOLO12は、高い精度を維持しながら、どのようにリアルタイム物体検出を実現していますか?
YOLO12は、速度と精度のバランスを取るために、いくつかの重要な技術革新を取り入れています。Area Attentionメカニズムは、標準的な自己注意と比較して計算コストを削減し、大きな受容野を効率的に処理します。Residual Efficient Layer Aggregation Networks (R-ELAN)は、特徴集約を改善し、より大規模な注意集中型モデルにおける最適化の課題に対処します。FlashAttentionの使用や位置エンコーディングの削除を含む最適化されたAttention Architectureは、効率をさらに高めます。これらの機能により、YOLO12は、多くのアプリケーションに不可欠なリアルタイム推論速度を維持しながら、最先端の精度を達成できます。
YOLO12は、どのようなコンピュータビジョンタスクをサポートしていますか?
YOLO12は、幅広いコアコンピュータビジョンタスクをサポートする汎用性の高いモデルです。物体検出、インスタンスセグメンテーション、画像分類、姿勢推定、および指向性物体検出(OBB)(詳細を参照)に優れています。この包括的なタスクサポートにより、YOLO12は、ロボティクスや自動運転から、医療画像処理や産業検査まで、多様なアプリケーションに対応できる強力なツールとなっています。これらの各タスクは、推論、検証、トレーニング、およびエクスポートの各モードで実行できます。
YOLO12は、他のYOLOモデルやRT-DETRのような競合製品と比べてどうですか?
YOLO12は、YOLOv10やYOLO11などの従来のYOLOモデルと比較して、すべてのモデルスケールで大幅な精度向上を示していますが、最速の従来モデルと比較すると、速度面でいくつかのトレードオフがあります。たとえば、YOLO12nはCOCO val2017データセットでYOLOv10nより+2.1% mAP、YOLO11nより+1.2%の改善を達成しています。RT-DETRのようなモデルと比較すると、YOLO12sは+1.5%のmAP改善と+42%という大幅な速度向上を実現しています。これらの指標は、YOLO12の精度と効率の優れたバランスを強調しています。詳細な比較については、パフォーマンス指標のセクションをご覧ください。
YOLO12を実行するためのハードウェア要件、特にFlashAttentionを使用する場合の要件は何ですか?
デフォルトでは、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の利点を活用できます。
YOLO12の使用例とより詳細なドキュメントはどこにありますか?
このページでは、トレーニングと推論の基本的な使用例を提供します。検証やエクスポートを含む、これらおよびその他のモードに関する包括的なドキュメントについては、専用のPredictページとTrainページを参照してください。タスク固有の情報(セグメンテーション、分類、方向性のある物体検出、ポーズ推定)については、それぞれのドキュメント(Segment、Classify、OBB、Pose)を参照してください。これらのリソースは、さまざまなシナリオで YOLO12 を効果的に活用するための詳細なガイダンスを提供します。