SegNet: シーン画像セグメンテーションCNNの初期提案

1. SegNet の概要

SegNet は,初期のセマンティックセグメンテーション向けの,畳み込みニューラルネットワークである[Badrinarayanan et al., 2015].車載前方動画の各フレームに,各画素のクラスラベルづけを行った画像データセットを構築し,以前はMRFやCRFでしか解かれていなかった「シーン画像のセマンティックセグメンテーション」を,入ラールネットワークで学習することを初めて提案した.つまり「シーン画像むけのセマンティックセグメンテーションネットワークの元祖」であるとも言える.

この記事では,そのSegNetについて述べる.

SegNet は「砂時計型のEncoder-Decoder型CNN」のプーリング層に「プーリング座標インデックスの受け渡し」の仕組みを追加することで,シーン画像のセグメンテーションを可能にさせた.プーリング実施座標をEncoder-Decoder間で受け渡すことにより,大・中・小範囲の視覚野(field of view)の空間位置情報を,後半のエンコーダに渡して,それを元にデコードする(アップサンプリングする).

当時のAlexNetVGGNetなどの「画像の物体クラス識別CNN」は,終盤の層で抽出された高レベルの特徴(物体領域全体を抽象化した情報)を,その後の全結合層を用いることでクラス識別していた.それがSegNetでは,「砂時計型Encoder-Decoder構造 + プーリングインデックス受け渡し」の構成を導入することで,画像中の小範囲の特徴(低レベル特徴.エッジやテクスチャなど)をエンコードした空間位置や,中範囲の特徴(中間サイズの物体パーツ的な特徴)をエンコードした空間位置も,Decoder側に受け渡しながら,デコードしていけるようになった.

こうして,シーン画像セグメンテーションのような「広範囲の小中レベル特徴の空間情報もDecodingに必須である,複雑なシーン画像の全画素でのクラス識別」においても,高精度なセグメンテーションマップの推定(もといDecoderにおける段階的なデコーディング)が初めて実現できるようになった.この意味で,SegNetは,クラス推定画素の離れた場所の細かな部分の情報も必要である「シーン画像におけるセマンティックセグメンテーション」の新しい可能性を最初に開いた,代表的な初期研究であると言える.

ただし,SegNet では,同時期に登場したFCN [Long et al., 2015]やU-Netのように「スキップ接続」を用いてはいない点が異なるのこと注意である.その後のセマンティックセグメンテーションネットワークは,どれもスキップ接続に頼るのが普通になり,SegNetの手法は流行らなかったからである.一方,FCNは,Pascal VOCの1物体画像に対する前景・背景2値マスク問題しか解いておらず,「複数クラスを画素ごとに識別するシーン画像セグメンテーション」が対象ではなかった点で異なる.

SegNetの論文は,車載前方シーン画像(camvid データセット)と室内シーン画像 (NYUデータセット)に対する実験を行った.ノイジーな結果しか出力できなかった,旧来手法の 構造化Random Forest ベースの手法 [Kontschieder et al., 2011] や,Boosting + 高階CRF で後処理する手法と比べると [Sturgess et al., 2009],SegNetを用いると,中~高精度のノイズも少なく境界もよく捉えた出力マップが推定できる.

更に,SegNetのジャーナル版では,同時期に登場したディープ手法であるFCNや,DeepLab(v1)とも比較を行い,SegNetの方が正確なセグメンテーションマップを出力できることを実験で示した.

2. SegNet の構造と特徴

2.1 SegNet の対称Encoder-Decoder構造

SegNet のネットワーク構造
図1 SegNet のネットワーク構造

SegNetでは,AutoEncoderのような左右対称の砂時計型CNNを,セグメンテーション向けのネットワーク構造として提案した(図1).

  • エンコーダ(前半): VGGNet-16層のうち全結合以降を取り除いた13層を使用.VGGNet-16層と同じように,特徴マップの空間解像度はプーリング層(2 x 2窓, stride = 2)を通るたびに,2分の1に減っていく.
  • デコーダ(後半): Encoderを左右対称にひっくり返した逆VGG-13層の構造.エンコーダ中の各プーリング層で失った元の空間解像度を,アップサンプリング層 (2.2節)で取り戻しいきながら,畳み込み層で出力セグメンテーションマップに向けてデコードしていく.
  • 最終的に,元画像と縦横サイズが同じ解像度の,セグメンテーションマップ (クラス数$C$だけのチャンネル数)を出力として得る.各チャンネルには$c$番目のクラスの画素ごとの確率が出力されている.

SegNetはVGG-13層を2つないだモデルであるので,当時としてはモデルが巨大で,計算コストがかなり高かった.学習には,画素ごとの交差エントロピー損失の(バッチ)総和を用いてSGDで最適化する.

2.2 プーリング座標インデックスによる位置情報伝達

SegNetのプーリング座標受け渡し
図2 SegNetのプーリング座標受け渡し

SegNetでは,前半のEncoderでプーリングを行うのと同じ回数だけ,後半のDecoderでアップサンプリング(アンプーリング)を行う.そのアップサンプリングを行う際,Encoder側の対応する(特徴マップ同士のサイズが同じの)プーリング層において,最大値プーリングをおこなった際に,各窓内で最大値を取ったプーリング座標インデックス$(x,y)$を受け渡し,再使用する (図2).つまり,Encoderでプーリングした座標と,同じ座標で必ずアップサンプリング(アンプーリング)を行う.

このプーリング座標インデックスの受け渡しの導入により,本来は畳み込みとプーリングを何度も重ねる中で消えていってしまう「序盤の畳み込み層でどのフィルタが反応したか」の位置情報を,後半のDecoderに受け渡して復活させることが可能となった.

よって,アップサンプリングを各解像度で$N$回行うことで,複数解像度において,それぞれプーリングした空間座標の情報を「各画素の単位で」受け渡すことを実現できる.従って画素単位でクラス識別を行う必要があるセマンティックセグメンテーションにおいて,各画素周辺の小・中・大パーツの(異なる解像度の)特徴配置が保存されることで,性能が向上した.また,アップサンプリングにおいては学習可能な層を使わずに,セグメンテーションの性能を向上している点も利点である.

ちなみに,U-Net [Ronneberger et al., 2015] では,「Encoder- Decoder間の多段スキップ接続」と「(学習可能な)アップコンボリューション」の2つを用いることで,SegNetと同等の問題解決をもう少しコンパクトなネットワーク構造により実現している.以後,U-Net方式の構造の方が,好まれて広く使用されたこともあり,プーリング座標インデックス受け渡しは流行はしなかった.

3. SegNet のまとめ

この記事では,車載画像セグメンテーション向けの元祖であるSegNetについて紹介した.

砂時計型Encoder-Decoder CNNを導入し,プーリング座標のインデックスの受け渡しを,同じスケールのEncoder-Decoder間でおこなう.これにより,入力と同じ空間サイズの出力マップを推定できる仕組みが提案された.

参考書籍

References

  • [Badrinarayanan et al., 2015] V. Badrinarayanan, A. Kendall, and R. Cipolla. “Segnet: A deep convolutional encoder-decoder architecture for image segmentation.” arXiv:1511.00561, 2015.
  • [Badrinarayanan et al., 2017] Badrinarayanan, Vijay, Alex Kendall, and Roberto Cipolla. “Segnet: A deep convolutional encoder-decoder architecture for image segmentation.” IEEE transactions on pattern analysis and machine intelligence 39.12 (2017): 2481-2495.
  • [Kontschieder et al., 2011], P. Kontschieder, S. R. Bulo, H. Bischof, and M. Pelillo. Structured class-labels in random forests for semantic image labelling. In ICCV, 2011.
  • [Long et al., 2015] J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional net- works for semantic segmentation,” in CVPR, 2015.
  • [Ronneberger et al., 2015] O. Ronneberger, P. Fischer, and T. Brox. U-Net: Convolutional Networks for Biomedical Image Segmentation, pages 234–241. Springer International Publishing, Cham, 2015
  • [Silberman et al., 2012] N. Silberman, D. Hoiem, P. Kohli, and R. Fergus, “Indoor segmen- tation and support inference from RGBD images,” In ECCV, 2012
  • [Sturgess et al., 2009] P. Sturgess, K. Alahari, L. Ladicky, and P. H.S.Torr. Combin- ing appearance and structure from motion features for road scene understanding. In BMVC, 2009.

参照外部リンク

関連記事

↓ ためになった方は,記事をSNSでシェアをしてくださると,管理人の記事執筆モチベーションが上がります