ピクセル単位で画像を塗り分けるセマンティックセグメンテーションでは、「そのピクセルの周りだけ」を見ていると誤答が生まれます。湖の上の白い領域はボートか建物か——答えは「湖の上にある」という画像全体の文脈が教えてくれます。この大域的な文脈を取り込む仕組み「ピラミッドプーリング」を核とするモデルがPSPNetです。
📖 ひと言でいうと
PSPNet(Pyramid Scene Parsing Network)とは、セマンティックセグメンテーションのための深層学習モデルで、特徴マップを複数のスケールでプーリングするピラミッドプーリングモジュールにより、画像全体の文脈情報(大域的な情報)と局所的な情報をバランスよく捉える点が特徴です。
例えるなら、地図を虫眼鏡だけで見るのではなく、「全体を1枚で見る」「4分割で見る」「さらに細かく分割して見る」と複数の粗さで眺めた要約を全部手元に並べてから、各地点の判断を下すイメージです。目の前の細部と全体の状況の両方を踏まえるので、判断の間違いが減ります。
🖼 1枚でわかるPSPNet
📘 公式テキストの説明
PSPNet(Pyramid Scene Parsing Network)は、画像認識の分野でセマンティックセグメンテーションを目的とした深層学習モデルである。従来の手法では、画像内の各ピクセルがどのクラスに属するかを予測する際、広範な文脈情報の欠如が課題となっていた。PSPNetは、この問題に対処するため、空間ピラミッドプーリング(Spatial Pyramid Pooling)を導入し、異なるスケールでの特徴を効果的に統合する。具体的には、PSPNetはエンコーダとしてResNetなどの既存の畳み込みニューラルネットワークを用い、入力画像から特徴マップを抽出する。その後、ピラミッドプーリングモジュール(PPM)を通じて、異なるサイズのプーリング操作を行い、画像全体の文脈情報を多層的に取得する。これにより、画像内の大域的な情報と局所的な情報をバランスよく捉え、精度の高いセグメンテーションを実現する。
流れは「①エンコーダ(ResNetなど)で特徴マップを抽出→②ピラミッドプーリングモジュール(PPM)で異なるサイズのプーリングを行い文脈を多層的に取得→③大域と局所を統合して各ピクセルを分類」の3段階です。キーワードは「文脈情報」。従来手法の課題(文脈の欠如)と、その解決策(ピラミッド状のプーリング)を対で覚えるのがコツです。
🔍 しっかり理解する
なぜ「文脈」が必要なのか
セマンティックセグメンテーションでは、各ピクセルの周辺の見た目だけでは区別がつかないケースが頻発します。たとえば、車のボンネットの一部だけを切り出せば建物の壁と見分けがつかず、川面の反射は空と似ています。人間はこうした曖昧さを「川の中に空はない」「道路の上にあるのは車だろう」という場面全体の理解(文脈)で解決しています。従来のFCNベースの手法は、畳み込みの受容野が実質的に狭く、この大域的な文脈をうまく取り込めないことが誤分類の原因になっていました。
ピラミッドプーリングモジュールの仕組み
PSPNetの答えがピラミッドプーリングモジュール(PPM)です。エンコーダが出力した特徴マップに対して、粗さの異なる複数のプーリングを並列にかけます。
最も粗いプーリングは特徴マップ全体を1つに要約し(画像全体の雰囲気)、それより細かいプーリングは2×2、3×3、6×6のような区画ごとの要約を作ります。これらのマルチスケールな要約を元の特徴マップに連結することで、各ピクセルの分類時に「その場所の詳細な特徴」と「画像全体〜中域の文脈」の両方を同時に参照できるようになります。粗さの違う要約が段状に積み上がる様子が「ピラミッド」の名前の由来です。
FPNとの混同に注意——「ピラミッド」の意味が違う
同じ章に登場するFPN(Feature Pyramid Network)も「ピラミッド」を名乗るため混同しがちですが、仕組みは別物です。FPNはCNNの複数の層(深さの違う層)から特徴マップを取り出してピラミッドを作り、大きさの異なる物体の検出に使います。一方PSPNetのPPMは、1つの特徴マップに粗さの異なるプーリングをかけて文脈情報のピラミッドを作ります。「FPN=層のピラミッドで物体検出向け」「PSPNet=プーリングのピラミッドでセグメンテーション向け」と整理しておきましょう。
💡 具体例で考える
自動運転のシーン理解
PSPNetの「Scene Parsing(シーン解析)」という名前のとおり、street sceneのような複雑な場面の解析は得意分野です。自動運転では、道路・歩道・車両・歩行者・信号・空などをピクセル単位で塗り分けて走行環境を面として理解する必要があります。ここで「ビルのガラスに映った空を本物の空と誤認しない」「路面のペイントを障害物と間違えない」ためには、局所の見た目だけでなく場面全体の文脈が欠かせません。PSPNetの大域文脈の取り込みは、まさにこうした誤りを減らすための設計です。都市景観のデータセットを使ったセグメンテーションのベンチマークで、PSPNetは高い性能を示し、その後の文脈活用型モデルの流れを作りました。
⚠️ よくある誤解・紛らわしい用語
- タスクの取り違え — PSPNetはセマンティックセグメンテーションのモデルです。物体検出(Faster R-CNN)やインスタンスセグメンテーション(Mask R-CNN)と混同しないようにしましょう。
- FPNとの混同 — FPNは複数の層から特徴ピラミッドを作る物体検出向けの仕組み、PSPNetは1つの特徴マップへの複数サイズのプーリングで文脈を集めるセグメンテーションモデルです。名前が似ているだけで役割が違います。
- 「ResNetの代替」ではない — PSPNetはResNetなどの既存CNNをエンコーダとして利用します。競合ではなく「土台として使う」関係です。
- 通常のプーリングとの違い — 通常のプーリングは特徴マップを縮小する汎用処理ですが、PPMは異なるサイズのプーリングを並列に行い結果を統合する、文脈収集のための専用構造です。
📝 試験でのポイント
- 「セマンティックセグメンテーション」「ピラミッドプーリング(PPM)」「画像全体の文脈情報」の3点セットがPSPNetを特定する目印です。
- 従来手法の課題が「広範な文脈情報の欠如」であり、それを異なるスケールの特徴の統合で解決した、という因果関係の正誤判定が想定されます。
- エンコーダにResNetなどの既存CNNを用いるという構成の記述もそのまま出題され得ます。
- セグメンテーション系モデル(FCN・SegNet・U-Net・PSPNet・DeepLab)のグループと、検出系(Faster R-CNNなど)を仕分けさせる問題に備えましょう。
📚 まとめ
- PSPNetは、セマンティックセグメンテーションを目的とした深層学習モデルです。
- 従来手法の課題だった「広範な文脈情報の欠如」に対し、異なるサイズのプーリングを並列に行うピラミッドプーリングモジュールで対処しました。
- ResNetなどをエンコーダとして特徴マップを抽出し、大域的な情報と局所的な情報をバランスよく統合します。
- 画像全体の文脈を踏まえることで、自動運転のシーン理解などで求められる精度の高いセグメンテーションを実現します。
