【論文メモ】FastFCN

FastFCNの紹介

Semantic Segmentationをターゲットとして2019年に提案された,FastFCNというネットワークについてまとめます.
私個人としては,low levelの特徴量をどう使ったら精度向上につながるのかという視点で読んでいきました.

arxiv.org

一言でいうと

Dilated Convolution[1]よりも効率的に,Denseかつ高解像度の特徴量を得るネットワークの提案

論文リンク

https://arxiv.org/abs/1903.11816

実装リンク

GitHub - wuhuikai/FastFCN: FastFCN: Rethinking Dilated Convolution in the Backbone for Semantic Segmentation.

著者/所属機関

Huikai Wu, Junge Zhang, Kaiqi Huang (Institute of Automation, Chinese Academy of Sciences)
Kongming Liang, Yizhou Yu (Deepwise AI Lab)

投稿日付

2019.03.28

概要

  • Dilated Convolutionの課題
    • Denseで高解像度の特徴量を得られるConvolutionの方法
    • 計算時間が長いこととGPUメモリの大量消費が課題
  • 計算コストを低減しつつ,高解像度の特徴量を得るネットワークを提案
    Joint Pyramid Upsampling(JPU)ネットワークと呼んでいる.
  • Dilated Convolutionと精度は同等以上,推論速度は約2~3倍速くなった.

f:id:osazo:20191013063825p:plain
Fig.1 Dilated Convolutionを使ったBackbone Network(output_stride=8)

新規性・差分

マルチスケールの特徴量の使い方として代表的な方法は以下の2つかと思います.

  • それぞれのスケールで出力を予想し,スケール間で和をとり最終出力とする.
    FCN8s,FCN16s等[1]が代表的です.
  • Decoderネットワークに低レベル特徴も入力する.
    U-Net[2]が代表的です.また,Deeplav v3+[3]でも取り入れられています.
    物体検出に出てくるFeature Pyramid Network[4]もこの一種と捉えられます.

提案手法はマルチスケール(high level & low level)の特徴量を統合し,JPUネットワークを通してDilated Convolutionの代替となるDenseで高解像度の特徴量を取得します.Dilated Convolutionと比較すると,最もhigh levelな特徴量の解像度が1/32なので,1/8のDilated Convolutionと比較するとコスト面でのメリットがあります.
イデアとしてはありそうなものなので(Feature Pyramid Networkの拡張と考えられる),探すと類似の既存研究は他にも出てきそうです.
またもう1つのメリットとして,提案されたモジュールは任意のBackboneに組み込み可能のようです.汎用性の高さはこの界隈では1つのウリと言って良いでしょう.

手法

  • Dilated Convolutionについて
    • Semantic SegmentationのSOTAネットワークのほぼ全てで使用されている
    • 通常はstride=2として解像度を落とす部分を,stride=1として高解像度化.
      Receptive fieldが狭くなるのでdilationを上げて対応.
    • 精度改善には貢献
    • 計算量,GPUメモリ使用量の増加がデメリット.
  • Joint Pyramid Upsamplingの提案
    • マルチスケールの特徴量を組み合わせて使用.
    • ASPPのような異なるdilationのConvによる特徴量を統合.
    • Dilated Convolutionを積層するよりも,計算量において効率的.
    • 精度の悪化もほとんどないか,あるいは改善している.

f:id:osazo:20191013063939p:plain
Fig2. FastFCNのPipe Line

f:id:osazo:20191013064046p:plain
Fig.3 Joint Pyramid Upsampling(JPU) Moduleの構成

結果

  • Pascal ContextではSOTAを更新
  • ADE20KでもSOTAではないものの,Dilated Convを用いたものよりも精度改善

参考文献

[1] [1511.07122] Multi-Scale Context Aggregation by Dilated Convolutions
[2] [1605.06211] Fully Convolutional Networks for Semantic Segmentation
[3] [1505.04597] U-Net: Convolutional Networks for Biomedical Image Segmentation
[4] [1802.02611] Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation
[5] [1612.03144] Feature Pyramid Networks for Object Detection