Introduction
CNNではレイヤーを重ねるに連れて特徴量(この論文内ではsemanticsと呼んでいる)が抽出されていくが,一方でそれが元の画像のどこに有るのか(location)という情報は失われてしまう. これはimage segmentationの場合に不利に働き,普通に出力層を元の画像と対応したピクセルの並びと考えて学習しても,極めて荒い情報しか得られない. そこで著者はFully Convolutional Net (FCN, 全ての層がconvolutionであるnet)を利用した. FCNは空間的情報を前の方のlayerから”skip architecture”によって持ってきて,semanticsと統合してpixelごとの属性を推測する.
LeNetやVGGのようなclassification用のネットワークからのtransfer learningによって学習を高速化しているのもこの論文の特徴である.
Fully convolutional networks
を(layerの)入力ののところに有るデータとし,を(layerの)出力のそれとすると,convolutionやそれにともなうpoolingやactivationのlayer (stageと呼んだほうが通りがいいか)というのは,
と書ける.ただしはfilterの幅,はストライドの幅とする.
複数のlayerの合成の表現は
と書ける.したがって,全結合層を持たないCNNは(これをFully Convolutional Netowork, FCNという)この合成の形で書けることになる. また,FCNは任意の大きさの画像を入力と出来る.
Adapting classifiers for dense prediction
ふつうのCNNの最後の方には全結合層が有るが,これを,その直前のlayerからの入力(h x w x d)を,h x w x dのfilterでconvolutionしたものだと考えることが出来る(fig.1).
しかしこれでは出力層では空間的情報が著しく失われているので,出力層をdense(密)にするというのが著者の重要な仕事といえる.
Upsampling is backwards strided convolution
(vdumoulin/conv_arithmetic, MIT license)
Segmentation Architectue
Combining what and where
空間的情報を前の方のlayerから”skip architecture”によって持ってきて,semanticsと統合してpixelごとの属性を推測する
skip architectureがどうなっているのかわからないので今度pytorch実装を見る
(ただの足し算だった)
0 件のコメント:
コメントを投稿