SemanticSegmention関連の論文メモ
図は論文からの引用
GoogleのDeepLabv3の進化版であるDeepLabv3の論文。
目次
概要
オブジェクト境界のセグメンテーション結果を強化するためにDeepLabv3にシンプルなデコーダモジュールを追加したDeepLabv3+を提案。
論文リンク
https://arxiv.org/pdf/1802.02611v3.pdf
著者
- Google Inc
- Liang-Chieh Chen
- Yukun Zhu
- George Papandreou
- Florian Schroff
- Hartwig Adam
提案手法
DeepLabv3からの変更点
- DeepLabv3のベースネットワークをResNetからベースのネットワーックを改良版Xceptionに変更。
- より鮮明なセグメンテーションを得るためにDeepLabv3にデコーダモジュール追加。
- 計算量とパラメータ数を削減するためにDepthwise separable convolution をASPP(Atrous Spatial Pyramid Pooling)とデコーダに適用。
Atrous Spatial Pyramid Pooling
初代DeepLabからあるモジュールだけど少し補足。
- SPPNetのSpatial pyramid poolingをAtrous convolutionで実行
- 異なるrateでAtrous convolutionを実行することでマルチスケールのコンテキスト情報をキャプチャ。
- PSPNetではこれをAtrous convolutionではなくPooling(Max/Avg)で処理していた。
- Atrous convolutionのrateを大きくしていくとフィルタの有効な重みが小さくなる問題がある。(下記Figure4参照 図はDeepLabv3の論文から引用。
- この問題に対応するためにImage PoolingをDeepLabv3で導入。Image Poolingではグローバルなコンテキスト情報をキャプチャするために、Global Average Pooling + 1x1 convを使う。
- DeepLabv3+ではAtrous Spatial Pyramid PoolingにDepthwise separable convolutionを導入した。
改良版Xception
改良点
1. レイヤー数を増加
2. max pooling をDepthwise separable convolutionに置き換え。
3. batch normalizationを追加。
結果
PSPNetよりもmIOUが高い。