物体検出の実用モデルとして最も広く使われてきたYOLOファミリーは、2023年のYOLOv8以降も改良を止めていない。2024年9月10日にUltralyticsが公開したYOLO11は、YOLOv8と同じ「バックボーン→ネック→ヘッド」という骨格を保ちながら、内部のブロック構造を作り直したモデルである。この記事では、YOLO11が何を変え、何を変えなかったのかを、公式ドキュメントと構成ファイル(YAML)レベルの一次情報に基づいて、数式と図を使いながら一つずつ検証する。
この記事はUltralytics公式ドキュメント(docs.ultralytics.com)、公式GitHubリポジトリの設定ファイル、および査読前論文「YOLOv11 Demystified」(arXiv:2604.03349)の記述に基づいて構成している。
0. この記事で分かること
- YOLO11がYOLOv8から具体的に何を変更したモデルなのか(C3k2、C2PSA)
- アンカーフリー検出ヘッドがどうやって座標を予測しているか(DFL)
- 学習に使われている損失関数と拡張手法
- n/s/m/l/xの5サイズで、精度・パラメータ数・速度がどう変わるか(公式実測値)
- YOLO11をどんな場面で選ぶべきか、逆にどこで別の選択肢を検討すべきか
1. まず結論:YOLO11とは何か
YOLO11は、Ultralyticsが開発・公開しているリアルタイム物体検出モデルの一世代であり、YOLOv8の「バックボーン・ネック・ヘッド」という3段構成を維持したまま、特徴抽出ブロックを新設計のC3k2に置き換え、バックボーン末尾に空間注意機構C2PSAを追加したモデルである。検出・セグメンテーション・姿勢推定・分類・OBB(回転バウンディングボックス)・トラッキングまでを同一のフレームワークでカバーする汎用アーキテクチャとして設計されている。
2. なぜこの改良が必要だったのか
YOLOv8は当時、精度と速度のバランスに優れたOne-stage検出器として広く使われていたが、2つの方向で改善余地が残っていた。1つはパラメータ効率である。同じ精度をより少ないパラメータ・FLOPsで達成できれば、エッジデバイスへの搭載やバッテリー駆動ロボットでの運用がより現実的になる。もう1つは特徴マップの中で「どこに注目すべきか」を明示的に学習する仕組みの欠如である。YOLOv8のバックボーンは畳み込みだけで特徴を積み上げており、画像内の重要領域と背景を区別する機構を持たない。この2つの課題に対する回答が、それぞれC3k2ブロックとC2PSA注意機構である。
3. 入力は何か
YOLO11の入力は、他の多くのYOLO系検出器と同様に、リサイズ・パディングされた固定サイズのRGB画像である(デフォルトは640×640ピクセル)。学習・推論のどちらでも、入力はバッチ化された [B, 3, H, W] のテンソルとして扱われる。入力段階での特別な前処理(独自の正規化やパッチ分割)は必要とせず、標準的なMosaicなどのデータ拡張を経た画像をそのままバックボーンに渡す設計である。
4. 何を求めるのか/出力は何か
出力は、画像内に存在する物体それぞれについての「クラス」「バウンディングボックスの座標」「確信度スコア」の組である。YOLO11は検出ヘッドをクラス分類ブランチとボックス回帰ブランチに分離したデカップルドヘッド(decoupled head)を採用しており、さらに後述するようにアンカーボックスを一切使わないアンカーフリーな設計で座標を直接回帰する。この「グリッド上の各位置から直接、物体までの距離を予測する」という発想は、FCOSなどのアンカーフリー検出器の系譜に連なるものであり、あらかじめ複数のアスペクト比・スケールを仮定したアンカーボックスを用意する必要がなくなる分、ハイパーパラメータ調整の手間が減り、極端なアスペクト比を持つ物体への汎化にも強くなる。
5. 基本構成
YOLO11のアーキテクチャは、YOLOv8と同じく「バックボーン→ネック→ヘッド」の3段構成を踏襲している。変更点は各段の中身にある。
図1 — YOLO11のバックボーン・ネック・ヘッド。太枠(青)がYOLOv8から変更された部分。C3k2がバックボーン・ネック両方の基本ブロックを置き換え、C2PSAがバックボーン末尾(SPPFの直後)に追加されている。
バックボーンはP3/P4/P5という3段階の解像度で特徴マップを出力し、ネック(PAN-FPN: Path Aggregation Network + Feature Pyramid Network)が高解像度・低解像度の特徴を双方向に融合することで、小さい物体も大きい物体も同じネットワークで検出できるようにする。この多スケール特徴融合の骨格自体はYOLOv8から変わっていない。変わったのは、この骨格の中で使われる基本ブロックがC2fからC3k2に置き換わり、バックボーンの出口にC2PSAという注意機構が挿入された点である。
6. 構成要素の技術詳細
C3k2ブロック — C2fの一般化
YOLOv8はCSP(Cross Stage Partial)構造を持つC2fブロックを基本単位として使っていた。C2fは、入力チャネルを2つに分割し、一方を複数のBottleneckブロックに通し、もう一方をそのまま迂回させたうえで、両方の出力(および各Bottleneckの中間出力)をすべて連結(concat)してから1×1畳み込みで統合するという構造である。
YOLO11のC3k2は、この「Bottleneckを繰り返す」という基本発想を保ちながら、繰り返す内部ブロックの中身を差し替え可能にした。公式のモデル定義(YAML)を見ると、C3k2内の各ブロックは、コンストラクタのフラグに応じて次の3種類のいずれかになる。
- 通常の
Bottleneck(小型モデルnではこちらが使われる) C3kブロック(カーネルサイズを指定できるC3構造。中・大型モデルm/l/xでc3k=Trueとして使われる)Bottleneck + PSABlockのペア(バックボーン末尾のC2PSA内部で使われる)
つまりC3k2は「C2fの内部Bottleneckを、モデルサイズや配置場所に応じて軽量なものから注意機構付きのものまで切り替えられる、一般化されたブロック」だと理解できる。1つのYAML設定ファイルが、この切り替えによってn/s/m/l/xの5サイズすべてをカバーしている点も実装上の特徴である。
C2PSA — バックボーンへの空間注意の導入
C2PSA(Cross Stage Partial with Spatial Attention)は、YOLO11で新たに導入されたブロックで、バックボーンのSPPF(Spatial Pyramid Pooling - Fast、複数のプーリングサイズで受容野を広げるモジュール)の直後に挿入される。C2PSAもCSP構造を踏襲しており、一方の分岐を複数のPSABlockに通す。PSABlock内部は、マルチヘッド自己注意(multi-head self-attention)と2層の順伝播ネットワーク(FFN)を、それぞれ残差接続でつないだ構成になっている。
ここで x は入力特徴、\text{MHSA} はマルチヘッド自己注意、\text{FFN} は2層の順伝播ネットワークである。畳み込みだけで積み上げられたYOLOv8のバックボーンに対し、C2PSAはこの自己注意によって特徴マップ内の離れた位置同士の関係を直接学習できるようにする。畳み込みが持つ「近傍しか見えない」という性質を補い、画像内の重要領域に重みを集中させる働きを持つ。
アンカーフリー検出ヘッドとDFL
YOLO11の検出ヘッドはクラス分類とボックス回帰を別ブランチに分けたデカップルドヘッドであり、あらかじめ用意したアンカーボックスを使わず、特徴マップ上の各グリッド点から直接、物体境界までの距離を予測する。ボックス回帰ブランチは、上下左右4方向それぞれについて \text{reg\_max}=16 個の離散ビンに対する確率分布を出力し、その期待値を連続的な距離として使う。これがYOLOv8から引き継がれているDistribution Focal Loss(DFL、Li他、NeurIPS 2020「Generalized Focal Loss」で提案)の考え方である。
境界までの距離を単一の実数値として直接回帰する代わりに、「距離がどのビンに落ちる確率が高いか」という離散分布として学習させることで、境界があいまいな物体(輪郭が不明瞭、遮蔽されているなど)でも、分布の形状に不確実性を反映させながら学習を安定させられる。クラス分類ブランチは、YOLO11では深さ方向分離畳み込み(depthwise-separable convolution)を使うよう変更されており、通常の畳み込みよりパラメータ数・計算量を抑えている。
損失関数と学習レシピ
YOLO11の学習損失は、ボックス回帰の CIoU(Complete IoU)損失、座標分布のDFL損失、分類のBCE(二値交差エントロピー)損失の重み付き和で構成される。
CIoU損失は、単純なIoU(重なり率)だけでなく、ボックス中心間の距離とアスペクト比の一致度もあわせて評価する。
\rho(b, b^{gt}) は予測ボックス中心と正解ボックス中心のユークリッド距離、c は両ボックスを内包する最小矩形の対角線の長さ、v はアスペクト比のズレを表す項、\alpha は IoU が高いほど v の重みを大きくする係数である。IoUだけを最適化すると、重なりのないボックス同士では勾配がほぼ得られないという問題があるが、中心距離とアスペクト比の項を加えることでこの問題を緩和している。
データ拡張には、複数画像を貼り合わせるMosaic、2枚の画像を混合するMixUp、物体領域を別画像に貼り付けるCopy-Paste、ランダムな変換を自動選択するRandAugment、ランダムに矩形領域を消去するErasingなどが使われている(arXiv:2604.03349「YOLOv11 Demystified」の記述に基づく)。
7. モデルバリアント比較
YOLO11は、パラメータ数と計算量が異なるn(nano)/s(small)/m(medium)/l(large)/x(extra-large)の5サイズで提供される。以下はUltralytics公式ドキュメントが報告するCOCO val2017でのベンチマーク値である(入力640px)。
| モデル | mAP50-95 | パラメータ数 | FLOPs | CPU ONNX推論 | T4 TensorRT推論 |
|---|---|---|---|---|---|
| YOLO11n | 39.5 | 2.6M | 6.5B | 56.1 ± 0.8 ms | 1.5 ± 0.0 ms |
| YOLO11s | 47.0 | 9.4M | 21.6B | 90.0 ± 1.2 ms | 2.5 ± 0.0 ms |
| YOLO11m | 51.5 | 20.1M | 68.1B | 183.2 ± 2.0 ms | 4.7 ± 0.1 ms |
| YOLO11l | 53.4 | 25.3M | 87.2B | 238.6 ± 1.4 ms | 6.2 ± 0.1 ms |
| YOLO11x | 54.7 | 56.9M | 195.3B | 462.8 ± 6.7 ms | 11.3 ± 0.2 ms |
出典: Ultralytics公式ドキュメント YOLO11。CPU ONNX推論はONNX Runtime、T4 TensorRT推論はNVIDIA T4 GPU上でのFP16推論値。
この表から読み取れる実用上のポイントは2つある。1つは、nからxまでパラメータ数がおよそ22倍に増える一方、mAP50-95の伸びは39.5から54.7への約15ポイントにとどまるという、精度とモデルサイズの非線形な関係である。もう1つは、mとlの差である。パラメータ数は20.1Mから25.3Mへとそれほど増えないのに対し、mAPは51.5から53.4へ、GPU推論時間も4.7msから6.2msへと相応の差が出ており、m→lの投資対効果はn→s→mの各段階に比べてやや小さい。エッジ向けにはn/s、精度優先の据え置き運用にはl/xという住み分けが、この数値からも裏付けられる。
YOLOv8との定量比較
同じUltralytics公式ドキュメントが報告するYOLOv8の数値と並べると、世代間の変化がより具体的に見える。
| モデル | mAP50-95(v8→v11) | パラメータ数(v8→v11) | FLOPs(v8→v11) | CPU ONNX推論(v8→v11) |
|---|---|---|---|---|
| n | 37.3 → 39.5 | 3.2M → 2.6M | 8.7B → 6.5B | 80.4ms → 56.1ms |
| s | 44.9 → 47.0 | 11.2M → 9.4M | 28.6B → 21.6B | 128.4ms → 90.0ms |
| m | 50.2 → 51.5 | 25.9M → 20.1M | 78.9B → 68.1B | 234.7ms → 183.2ms |
| l | 52.9 → 53.4 | 43.7M → 25.3M | 165.1B → 87.2B | 375.2ms → 238.6ms |
| x | 53.9 → 54.7 | 68.2M → 56.9M | 257.8B → 195.3B | 479.1ms → 462.8ms |
出典: YOLOv8公式ドキュメント、YOLO11公式ドキュメント(いずれもCOCO val2017、640px、CPU ONNX推論)。
lサイズで見ると、パラメータ数が43.7Mから25.3Mへとほぼ半減しながらmAPはわずかに向上しており、C3k2とC2PSAによるパラメータ効率化の効果が最も顕著に出ている。一方でxサイズはパラメータ・FLOPsが大きく減っているのに対しCPU推論時間の短縮幅は小さく、大規模モデルほどC2PSAの自己注意計算がボトルネックになりやすいことをうかがわせる。
YOLOv8との違いを一言でまとめると、同程度以上のmAPをより少ないパラメータ・FLOPsで達成する方向にシフトした世代である。ただしこれは「常にYOLOv8を上回る」ことを意味しない。用途やデータセットによっては旧世代のほうが高い絶対精度を記録するケースも報告されており、この点は本サイトの物体検出の技術動向でも扱っている。
検出以外のタスクへの展開
YOLO11は物体検出専用のモデルではなく、同じバックボーン・ネックを土台に、ヘッド部分だけを差し替えることで、インスタンスセグメンテーション(YOLO11-seg)、姿勢推定(YOLO11-pose、キーポイント座標を回帰)、分類(YOLO11-cls)、回転バウンディングボックス検出(YOLO11-obb、傾いた物体の向きも含めて回帰)、複数フレームにまたがるトラッキングまでを、単一のフレームワークでカバーしている。C3k2とC2PSAというバックボーン側の改良が、これらすべてのタスクに共通して恩恵をもたらす設計になっている点も、YOLO11が「検出モデル」ではなく「視覚認識の共通基盤」として設計されていることを示している。
8. 何が苦手か/難しい環境
YOLO11も、YOLO系検出器に共通する弱点をそのまま引き継いでいる。小物体・遠距離物体の検出は依然として難しい。バックボーンで解像度を段階的に下げていく設計上、画面に対して数ピクセル程度しか占めない物体は、深い層に到達するころには特徴がほぼ消えてしまう。C2PSAの空間注意はこの問題を部分的に緩和するが、根本的な解決にはならない。
密集した同種物体の検出も課題として残る。DFLとCIoUの組み合わせで境界回帰の精度は上がっているが、隣接する物体同士の境界が重なり合う状況(群衆、果樹園での果実の密集など)では、依然として誤検出・見逃しが発生しやすい。
ドメインシフトへの弱さもCNNベースの検出器全般に共通する課題である。学習データと大きく異なる照明条件、天候、カメラ角度の画像に対しては、精度が大きく低下しうる。C2PSAの自己注意はTransformerベースの検出器(DETR系列)ほど広い受容野を持つわけではなく、この点でのロバスト性はDETR系に一歩譲る。
また、AGPL-3.0ライセンスで公開されている(商用利用でソースコード非公開を望む場合はUltralyticsのEnterprise Licenseが必要)という点は、技術的な弱点ではないが、実運用を検討する際に見落とされがちな制約である。
9. 実用上の選び方
エッジデバイス・バッテリー駆動ロボットでは、推論速度とパラメータ数が制約になりやすく、YOLO11n/sが第一候補になる。CPU推論でも56ms程度で動くnサイズは、Raspberry Piクラスの組み込み機器での運用も現実的な範囲に入る。
ドローン・移動体からの空撮検出は、小物体検出が課題の中心になるため、単にYOLO11のサイズを大きくするだけでなく、入力解像度を上げる、あるいはタイル分割して推論するといった運用上の工夫が必要になる。この領域ではDETR系の変形可能注意機構が優位という報告もあり、精度最優先ならRT-DETRなど別系統との比較検討が妥当である。
倉庫・工場の据え置きカメラによる検査のように、GPUリソースに余裕があり、精度を最優先したい用途では、YOLO11l/xが選択肢になる。ただしこの領域でも、後述するRF-DETRのようなTransformer系検出器がCOCOで60mAPを超える精度を報告しており、YOLO一択ではなくなりつつある(詳細は物体検出の技術動向を参照)。
研究・プロトタイピングでは、Ultralyticsが提供するPythonパッケージの完成度の高さ(学習・推論・エクスポートまでを数行で書けるAPI)がYOLO11を選ぶ実務的な理由になる。ライセンス上の制約が問題にならない環境であれば、立ち上がりの速さは依然として大きな強みである。
10. まとめ(3行で復習)
- YOLO11はYOLOv8の骨格(バックボーン・ネック・ヘッド)を保ちながら、基本ブロックをC2PSAで空間注意を組み込めるC3k2に置き換えた世代である。
- 検出ヘッドはアンカーフリーで、DFLが境界距離を離散分布の期待値として予測し、CIoU損失が重なり・中心距離・アスペクト比を同時に最適化する。
- nからxまでパラメータ効率は着実に向上しているが、小物体検出・密集物体・ドメインシフトへの弱さはYOLO系検出器に共通する課題として残っている。
より基礎から物体検出とセマンティックセグメンテーションを学びたい場合は「Object Detection・Semantic Segmentation入門」を、YOLOファミリー全体の最新動向(NMSフリー化やDETR系との競合)は「物体検出の技術動向」を参照してほしい。
参考リンク
- Ultralytics YOLO11 公式ドキュメント
- Ultralytics YOLOアーキテクチャ解説
- Ultralytics: YOLO11 Anchor-Free Detectionの利点
- YOLO11公式モデル設定ファイル(GitHub)
- YOLOv11 Demystified: A Practical Guide to High-Performance Object Detection (arXiv:2604.03349)
- Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection (NeurIPS 2020, arXiv:2006.04388)
- Ultralytics ライセンス
コメント
コメントの投稿にはログインが必要です
まだコメントはありません。