医療系AIエンジニアの技術メモ

ディープラーニング(主に画像系)の技術メモブログです

Decoders Matter for Semantic Segmentation : Data-Dependent Decoding Enables Flexible Feature Aggregation

スポンサーリンク


f:id:y_kurashina:20190904010251p:plain
Fig1. DUpsamplingを用いたSegmentationモデル

論文URL

http://openaccess.thecvf.com/content_CVPR_2019/papers/Tian_Decoders_Matter_for_Semantic_Segmentation_Data-Dependent_Decoding_Enables_Flexible_Feature_CVPR_2019_paper.pdf
2019年のCVPRで公開

ポイント

  • 入力データに応じたupsamplingを行うData-dependent Upsampling (DUpsampling)レイヤーを提案
    • 通常使用される共一次補間(bilinear)では低解像度の情報から高解像度の情報を復元することができない。
    • 入力テンソルのチャンネル情報を効果的に利用し、低解像度のテンソルを高精度に高解像度化している
    • 多くのSegmentation用モデルのdecorder部では、encoderの異なる解像度の特徴量テンソルを高解像度側にbilinearでupsamplingしてconcatしているのに対し、DUpsamplingを使用する場合は全ての特徴量テンソルを低解像度側にdownsamplingしてconcatしても、最終的なセグメンテーション精度をbilinearよりも改善できている
      • 低解像度のテンソルでconcatできるためdecoder部のメモリ使用量や計算コストを大幅に削減できる
    • 学習時の損失関数を通常のsoftmax cross entropy lossとした場合は学習が十分に進まず、温度T依存の修正softmax ( = \frac{\exp(z _ i / T)}{\sum _ j \exp(z _ j / T)})を使用する必要がある
      • Tはハイパーパラメータではなく学習パラメータとしていた

DUpsampling

f:id:y_kurashina:20190905001718p:plain
Fig2. DUpsampling

  • 使用する記号
    • F : DUpsamplingの入力(=encoderの出力)テンソル
      • F \in \mathbb{R} ^ {\tilde{H} \times \tilde{W} \times \tilde{C}}
    • Y : セグメンテーション教師ラベル
      • Y \in \left\{ 0, 1 \right\} ^ {H \times W \times C}
    • r : encoderによるdownsampling比
      •  \frac{H}{\tilde{H}} = \frac{W}{\tilde{W}} = r
      • 典型的には、r = 16 もしくは 32
  • Fに1x1の畳み込みを行いチャンネル数N=r ^ 2 Cのテンソルを求め、r \times r \times Cにreshapeすると元解像度のテンソルが得られる(Fig2はr  = 2の例)
    • 通常、教師ラベルYの分布は画素毎に独立なわけではないため、構造情報の圧縮表現を低解像度のテンソルFで保持できると言う仮説の元、1x1の畳み込みによる線形変換を行っている。

PASCAL VOC test setでの評価結果

f:id:y_kurashina:20190906000929p:plain

  • 著者の結果はDeepLabv3+をベースにencoderの出力解像度を1/8ではなく1/16とし、decodeをDUpsamplingで行ったもの
    • 計算量が30%に低減されたとのこと。メモリ使用量の削減量については記載がなかった。

スポンサーリンク