YOLO12: 注意中心の物体検出
概要
YOLO12は、これまでのYOLO モデルで用いられてきた伝統的なCNNベースのアプローチから逸脱しつつも、多くのアプリケーションに不可欠なリアルタイム推論速度を維持する、注意中心のアーキテクチャを導入している。このモデルは、リアルタイム性能を維持しながら、注意メカニズムや全体的なネットワークアーキテクチャにおける斬新な方法論的革新により、最先端の物体検出精度を達成している。
見るんだ: Ultralytics パッケージでYOLO12をオブジェクト検出に使う方法 🚀 YOLO12は速いか遅いか?
主な特徴
- エリア・アテンションのメカニズム:大きな受容野を効率的に処理する新しい自己注意アプローチ。特徴マップを 縦横に等しい大きさの領域(デフォルトは4)に分割することで、複雑な演算を避け、大きな有効受容野を維持する。これにより、標準的な自己注意に比べて計算コストが大幅に削減される。
- 残留効率的レイヤ集約ネットワーク(R-ELAN):ELANをベースに改良された特徴集約モジュールで、特に大規模な注意中心モデルにおける最適化の課題に対処するように設計されています。R-ELANが導入:
- スケーリングによるブロックレベルの残留コネクション(レイヤーのスケーリングと同様)。
- ボトルネックのような構造を作り出す、再設計された特徴集約法。
- 最適化されたアテンション・アーキテクチャ:YOLO12は、より効率的でYOLO フレームワークとの互換性を高めるために、標準的なアテンションメカニズムを合理化しました。これには以下が含まれる:
- FlashAttentionを使用して、メモリアクセスのオーバーヘッドを最小限に抑える。
- 位置エンコーディングを削除し、よりクリーンで高速なモデルを実現。
- MLPの比率を調整し(一般的な4から1.2または2へ)、注意層とフィードフォワード層間の計算のバランスを良くする。
- スタックされたブロックの深さを減らして最適化を改善。
- コンボリューション演算(適切な場合)を活用し、計算効率を高める。
- 注意メカニズムに7x7の分離可能な畳み込み(「位置知覚器」)を加えることで、位置情報を暗黙的にエンコードする。
- 包括的なタスクサポート:YOLO12は、物体検出、インスタンス分割、画像分類、姿勢推定、指向性物体検出(OBB)など、コンピュータビジョンの中核となるさまざまなタスクをサポートしている。
- 効率性の向上:従来の多くのモデルと比較して、より少ないパラメータでより高い精度を達成し、速度と精度のバランスが改善されていることを実証。
- 柔軟な展開:エッジデバイスからクラウドインフラまで、多様なプラットフォームに展開できるように設計されています。
サポートされるタスクとモード
YOLO12は、様々なコンピュータビジョンタスクをサポートしている。下の表は、タスクのサポートと、それぞれで有効な動作モード(推論、検証、トレーニング、エクスポート)を示している:
モデルタイプ | タスク | 推論 | バリデーション | トレーニング | 輸出 |
---|---|---|---|---|---|
YOLO12 | 検出 | ✅ | ✅ | ✅ | ✅ |
YOLO12-seg | セグメンテーション | ✅ | ✅ | ✅ | ✅ |
YOLO12-ポーズ | ポーズ | ✅ | ✅ | ✅ | ✅ |
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% (対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 T4GPU 測定した推論速度。
- 比較は、mAPの相対的な改善と速度の変化率を示す(正は速く、負は遅い)。YOLOv10、YOLO11、RT-DETR 公表結果がある場合は、それとの比較を行っている。
使用例
このセクションでは、YOLO12でのトレーニングと推論の例を提供します。これらのモードや他のモード(検証や エクスポートを含む)のより包括的なドキュメントについては、専用のPredictと Trainのページを参照してください。
以下の例は、YOLO12検出モデル(物体検出用)に焦点を当てています。その他のタスク(セグメンテーション、分類、指向性オブジェクト検出、ポーズ推定)については、それぞれのタスク固有のドキュメントを参照してください:Segment、Classify、OBB、Pose。
例
プレトレーニング *.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")
コマンドラインインターフェイスCLI)コマンドも利用できる:
主な改善点
-
特徴抽出の強化:
- エリアアテンション:大きな受容野を効率的に処理し、計算コストを削減。
- 最適化されたバランス:注意とフィードフォワードネットワーク計算のバランスを改善。
- R-ELAN:R-ELANアーキテクチャを使用したフィーチャーアグリゲーションの強化。
-
最適化の革新:
- 残差接続:特に大きなモデルで学習を安定させるために、スケーリングによる残差接続を導入します。
- 洗練されたフィーチャー統合:R-ELAN内のフィーチャー統合のための改良された方法を実装します。
- FlashAttention:FlashAttentionを搭載し、メモリアクセスのオーバーヘッドを削減。
-
建築効率:
- パラメータの削減:従来の多くのモデルと比較して、精度を維持または向上させながら、より少ないパラメータ数を実現。
- 簡略化された注意:単純化された注意の実装を使用し、位置エンコーディングを避ける。
- MLP比率の最適化MLP の比率を調整し、計算リソースをより効果的に割り当てます。
必要条件
Ultralytics YOLO12の実装は、デフォルトではFlashAttentionを必要としない。しかし、オプションでFlashAttentionをコンパイルし、YOLO12で使用することができます。FlashAttentionをコンパイルするには、以下のNVIDIA GPUのいずれかが必要です:
- チューリングGPU(T4、Quadro RTXシリーズなど)
- アンペアGPU(例:RTX30シリーズ、A30/40/100)
- エイダ・ラブレスGPU(RTX40シリーズなど)
- ホッパーGPU(H100/H200など)
引用と謝辞
YOLO12を研究に使用する場合は、バッファロー大学および中国科学院大学の原著作を引用してください:
@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は、スピードと精度のバランスをとるために、いくつかの重要な革新的技術を取り入れている。エリアアテンションメカニズムは、大きな受容野を効率的に処理し、標準的な自己アテンションと比較して計算コストを削減します。Residual Efficient Layer Aggregation Networks (R-ELAN)は、特徴集約を改善し、より大きな注意中心のモデルにおける最適化の課題に対処する。FlashAttentionの使用と位置エンコーディングの削除を含む、最適化されたアテンションアーキテクチャは、効率をさらに向上させます。これらの機能により、YOLO12は、多くのアプリケーションにとって重要なリアルタイム推論速度を維持しながら、最先端の精度を達成することができる。
YOLO12はどのようなコンピューター・ビジョン・タスクをサポートしていますか?
YOLO12は、幅広いコアコンピュータビジョンタスクをサポートする汎用性の高いモデルである。物体検出、インスタンス分割、画像分類、姿勢推定、および指向性物体検出(OBB)に優れている(詳細参照)。この包括的なタスクサポートにより、YOLO12は、ロボット工学や自律走行から医療画像や工業検査まで、多様なアプリケーションに対応する強力なツールとなる。これらの各タスクは、推論、検証、トレーニング、エクスポートの各モードで実行できる。
YOLO12は、他の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の精度と効率性の強力なバランスを浮き彫りにしています。詳細な比較については、パフォーマンス・メトリクスのセクションをご覧ください。
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の使用例やより詳しいドキュメントはどこにありますか?
このページはトレーニングと推論の基本的な使用例を提供します。Validationや Exportを含む、これらのモードや他のモードに関する包括的なドキュメントについては、専用のPredictや Trainのページを参照してください。タスク固有の情報(セグメンテーション、分類、指向性オブジェクト検出、ポーズ推定)については、それぞれのドキュメントを参照してください:Segment,Classify,OBB,Poseを参照してください。これらのリソースは、様々なシナリオでYOLO12を効果的に活用するための詳細なガイダンスを提供しています。