画像の画素ひとつひとつにクラスラベルを割り当てるセマンティックセグメンテーションの代表モデル、FCNとU-Netを学ぶ項目です。セグメンテーションの種類の区別と、解像度を復元する仕組みが理解の中心になります。

📖 概要

セマンティックセグメンテーションは、画像の各画素を「道路」「人」「空」などのクラスに分類するタスクです。画像全体に1つのラベルを与える画像分類と異なり、出力は入力と同じ空間サイズのラベルマップになります。FCN(Fully Convolutional Network)は、画像分類CNNの全結合層を畳み込み層に置き換えることで、任意サイズの入力から画素単位の予測を出力できるようにした先駆的なモデルです。

CNNは畳み込みとプーリングを重ねるうちに特徴マップの解像度が下がるため、画素単位の予測を行うには縮小された特徴マップを元の解像度へ戻すアップサンプリングが必要です。また、深い層の特徴は「何があるか」という意味情報に富む一方で位置の細かさを失っているため、浅い層の高解像度な特徴をスキップコネクションで合流させ、境界の細部を復元します。FCNはこの2つの要素を導入し、U-Netはエンコーダ・デコーダを対称に配置した構造でこれを徹底したモデルです。

なお、セグメンテーションには画素をクラス単位で塗り分けるセマンティックセグメンテーションのほかに、物体の個体を区別するインスタンスセグメンテーション、両者を統合したパノプティックセグメンテーション(Panoptic Segmentation)があり、これらの区別も本項目の重要な学習内容です。

🔍 キーワード解説

FCNとアップサンプリング

FCNは、分類用CNNの末端にある全結合層を1×1畳み込みに置き換え、ネットワーク全体を畳み込み層だけで構成することで、空間構造を保ったまま画素単位のクラススコアマップを出力します。縮小された特徴マップは、アップサンプリングによって入力解像度まで拡大します。アップサンプリングの手段としては、バイリニア補間などの固定的な拡大のほか、学習可能な転置畳み込み(逆畳み込みとも呼ばれます)が用いられます。転置畳み込みは、通常の畳み込みと逆方向の空間変換を学習でき、デコーダ側の解像度復元の中心的な部品です。

スキップコネクションとU-Net

スキップコネクションは、エンコーダ側(縮小過程)の浅い層の特徴マップを、デコーダ側(拡大過程)の対応する解像度の層へ直接渡す接続です。深い層だけからアップサンプリングすると物体の輪郭など細部がぼやけますが、高解像度の特徴を合流させることで境界の精度が向上します。FCNでは中間層の予測を足し合わせる形でこれを実現し、細かい層まで使うほど詳細な出力が得られます。U-Netは、エンコーダとデコーダを左右対称のU字型に配置し、各解像度でエンコーダの特徴マップをデコーダ側にチャネル方向に連結(concatenate)するスキップコネクションを持つモデルです。もともと医用画像(細胞画像)のセグメンテーションのために提案され、少ないデータでも学習しやすい構造として、現在も画像生成モデルを含む幅広い分野で使われています。なお、ResNetの残差接続もスキップコネクションの一種ですが、あちらは「加算による勾配伝播の改善」、U-Netは「高解像度情報の復元」と、主目的が異なる点に注意しましょう。

インスタンスセグメンテーション

インスタンスセグメンテーションは、物体の個体(インスタンス)ごとに画素領域を区別するタスクです。セマンティックセグメンテーションでは隣接する2人の人物が同じ「人」領域として1つに塗られますが、インスタンスセグメンテーションでは「人1」「人2」として別々のマスクになります。代表的なモデルにMask R-CNNがあり、物体検出で得た領域ごとにマスクを予測します。通常、数えられる前景物体(人・車など)が対象で、空や道路のような背景領域は扱いません。

パノプティックセグメンテーション(Panoptic Segmentation)

パノプティックセグメンテーション(Panoptic Segmentation)は、セマンティックセグメンテーションとインスタンスセグメンテーションを統合したタスクです。画像の全画素に対して、数えられる物体(thingsと呼ばれます)には「クラス+個体ID」を、背景的な領域(stuffと呼ばれます)には「クラス」を割り当てます。つまり、すべての画素を漏れなくラベル付けしつつ、前景物体は個体単位で区別する、最も包括的なセグメンテーションといえます。

📝 試験でのポイント

💡 ポイント
  • セマンティック/インスタンス/パノプティックの3種類のセグメンテーションの定義の区別が最頻出です。「クラス単位」「個体単位」「両者の統合(things+stuff)」で整理しましょう
  • FCNの要点は「全結合層を畳み込みに置換」「アップサンプリングで解像度復元」「スキップコネクションで細部補完」の3点です
  • U-Netの構造的特徴(対称なエンコーダ・デコーダ、特徴マップの連結によるスキップコネクション)を押さえましょう
  • 転置畳み込み(逆畳み込み)が学習可能なアップサンプリングであることは、畳み込みの知識と関連付けて問われます
  • Mask R-CNNがインスタンスセグメンテーションのモデルである点は物体検出の項目とまたがって出題されやすいポイントです

📚 まとめ

FCNは全結合層を畳み込みに置き換え、アップサンプリングとスキップコネクションによって画素単位の予測を実現した、セマンティックセグメンテーションの基礎モデルです。U-Netは対称なエンコーダ・デコーダとスキップコネクションでこの考え方を発展させました。タスクとしては、クラス単位のセマンティック、個体単位のインスタンス、両者を統合したパノプティックの3種類を明確に区別できるようにしておきましょう。