モデル・技術

FPNとは?ピラミッドで見る——トップダウンと横接続で大小の物体を逃さない

読み:エフピーエヌ / 英:FPN(Feature Pyramid Network)

更新日: 読了目安:約6分

FPN(Feature Pyramid Network)は、CNNの各層から得られる異なるスケールの特徴を、トップダウン経路横接続(ラテラル接続)で融合するモジュールです。物体検出で「遠くの小さな車」と「手前の大きな人」を同時に扱うには、一つの解像度だけでは足りない——本記事は畳み込みの細部より、「なぜ特徴をピラミッド状に束ねるのか」に焦点を当てます。

スケールの壁

物体検出は「どこに何があるか」を扱うタスクです(G-316)。しかし画像内の物体は大きさがばらばら——同じ「車」でも、遠景では数ピクセル、近景では画面の半分を占めます。

CNNは層が深くなるほど受容野は広がりますが、空間解像度は下がります。浅い層は細かい位置情報に強く、深い層は大まかな文脈に強い——どちらか一方だけでは検出が苦しくなります。GoogLeNetのInceptionが複数サイズの畳み込みを並べる発想(G-321)も、同じ「スケールの多様性」への応答です。

特徴ピラミッドの直感

FPNは、CNN backbone から複数段の特徴マップを取り出し、ピラミッド状に整理します。

特徴の性質向く物体
高解像度・浅層細かいエッジ・テクスチャ小さな物体
中間中程度のパターン中サイズ
低解像度・深層広い文脈・セマンティクス大きな物体

各段で検出ヘッドを置く——マルチスケール検出——という設計がFPNの目的です。試験では「マルチスケール特徴の構築」がキーワードになります。

トップダウンと横接続

FPNの工夫は二つの経路の組み合わせです。

  1. ボトムアップ — 通常のCNN順伝播で、段ごとの特徴マップを得る
  2. トップダウン — 深い層の特徴を上に向かってアップサンプリングし、文脈を浅い層へ伝播
  3. 横接続(ラテラル) — 同じ段のボトムアップ特徴とトップダウン特徴を足し合わせて融合

深い層の「意味」と浅い層の「位置」——両方を各スケールで使えるのがFPNの要点です。数式の暗記より、この情報の流れを説明できれば試験に十分なことが多いです。

物体検出への組み込み

FPNは単体の検出モデル名ではなく、検出パイプラインの部品です。Faster R-CNNやMask R-CNN(TF-124)に組み込まれ、COCOなどのベンチマークでマルチスケール検出の精度向上に寄与しました。

名前性質
FPN特徴ピラミッドを構築するモジュール
YOLO / SSDマルチスケールを別設計で実現する検出モデル(TF-121)
DETRTransformer系の端から端検出。FPNとは別系譜
FCNセグメンテーション向け。画素マップ出力

試験で押さえるポイント

  • 定義 — トップダウン+横接続でマルチスケール特徴ピラミッドを構築
  • 用途 — 物体検出の特徴抽出部品。モデル名そのものではない
  • 動機 — 大小さまざまな物体に対応するためのスケール融合
  • すり替え回避 — セグメンテーション損失・NLP・生成AIではない

演習で確認する

G検定:G-316G-321TF-121TF-124

関連:HQ-0298TF-401

すり替えに注意

誤った説明正しい理解
FPN=Faster R-CNN特徴モジュール vs 検出モデル全体
FPN=DETRCNN系ピラミッド vs Transformer検出
FPN=画像分類マルチスケール特徴 vs ラベル1つ
FPN=EfficientNet検出向けスケール融合 vs 効率化スケーリング
ピラミッド=画像の縮小特徴マップの多段融合

よくある質問

FPNは何をするモジュールですか?

CNNの浅い層(高解像度・細かい特徴)と深い層(低解像度・大まかな文脈)をトップダウン経路と横接続で融合し、複数スケールの特徴ピラミッドを作る設計です。大小さまざまな物体の検出に使われます。

FPNと物体検出モデルは同じですか?

同じではありません。FPNは特徴抽出の部品(モジュール)であり、Faster R-CNNやMask R-CNNなどの物体検出モデルに組み込まれてマルチスケール検出を可能にします。検出モデルそのものの別名ではありません。

FPNはセグメンテーション専用ですか?

主に物体検出の文脈で語られるマルチスケール特徴の設計です。セグメンテーションでもマルチスケール特徴は重要ですが、FPNは物体検出パイプラインへの組み込みが代表例として知られます。