Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DeepLab v3+] Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation #68

Open
Yagami360 opened this issue Jun 24, 2020 · 0 comments

Comments

@Yagami360
Copy link
Owner

0. 論文情報・リンク

1. どんなもの?

  • 先行研究である DeepLab v3 をベースに、encoder-decoder ネットワークの構造の採用(encoder : DeepLab v3、decoder : 独自のネットワーク)・Depthwise separable convolution の採用・セグメンテーション用に改良した Xception の採用などにより、セグメンテーション品質や処理速度を向上させたセグメンテーションモデル。PASCAL VOC 2012 dataset と Cityscapes dataset でのセマンティクスセグメンテーションで SOTA を達成している。

2. 先行研究と比べてどこがすごいの?

  • 先行研究である DeepLab v3 をベースに、encoder-decoder ネットワーク(encoder : DeepLab v3、decoder : 独自のネットワーク)を採用することで、特にオブジェクト境界付近でのセグメンテーション品質を高めている。
  • Atrous depthwise separable convolution を適用することで、処理速度を高速化している。
  • ベースネットワークを ResNet101 -> セグメンテーション用に改良した Xception に置き換えることで、セグメンテーション品質を向上させている
  • PASCAL VOC 2012 dataset と Cityscapes dataset でのセマンティクスセグメンテーションにおいて、SOTA を達成

3. 技術や手法の"キモ"はどこにある?

  • アーキテクチャの全体像

    上図は、本手法でのネットワークの全体像を示した図である。
    このアーキテクチャは、先行研究である DeepLab v3(Atrous convolution や ASPP の構造を持つ)を encoder-decoder ネットワークの encoder 部分として採用し、独自の decoder ネットワークを組み込んだアーキテクチャになっている。

    更には、Atrous depthwise separable convolution での畳み込みを採用することで、処理速度を向上させている。
    また、ベースネットワークを ResNet101 -> セグメンテーション用に改良した Xception に置き換えることで、セグメンテーション品質を向上させている。

  • Atrous convolution (Dilated Convolution)
    セグメンテーションセグメンテーションでは、スケール不変性(オブジェクトが画面端にあろうが画像全体にあろうが、オブジェクトをセグメンテーション出来る性質)が実現出来ている必要があるが、そのためにはマルチスケールでの特徴量を取り込むことが重要になってくる。

    Atrous convolution は、畳み込みフィルタの field-of-view を調整可能とすることで、より広い範囲の特徴量を取り込むことを可能にした畳み込み処理であり、以下の式のように定式化される。

    DeepLab v3 では更に、下図のように、各 Atrous convolution からの異なる範囲での特徴マップを Atrous Spatial Pyramid Pooling [ASPP] の構造により取り込み、複数のスケールからの特徴量を抽出している。

  • Atrous depthwise separable convolution

    Depthwise separable convolution は、通常の畳み込み処理を Depth 方向に分解し(Depthwise conv)、その後点方向に 1x1 の conv する(Pointwise conv)ことで、処理速度を劇的に向上させた畳み込み処理である。

    具体的には、まず上図 (a) Depthwise conv のように、特徴マップの各チャンネル(深さ方向)に対して独立した空間方向の畳み込みを行う。次に、上図 (b) Pointwise conv のように、これら深さ方向の畳み込みの出力を結合する点方向の畳み込みを行う。

    Atrous Depthwise separable convolution は、これの拡張版で、(a) Depthwise conv の代わりに、atrous rate r(今の場合 r=2)で拡張された (c) Atrous depthwise conv を用いた畳み込み処理である。

    本手法では、Atrous Spatial Pyramid Pooling [ASPP] と decoder の両方?に、このような Atrous depthwise separable convolution を適用することで、処理速度を高速化している。

  • encoder に DeepLab v3 を使用

    本手法では、DeepLab v3 を encoder-decoder ネットワークの encoder 部分として採用する。
    この際に DeepLab v3 を encoder として機能させるために、logits 前(=出力層の前)の最後の特徴マップ(256 チャンネル)を encoder 出力として利用するようにしている。

  • decoder のアーキテクチャ

    bilinear upsampling でアップサンプリングするモジュールは、狭義の deocoder であるが、この decoder では物体のセグメンテーションの詳細(局所的な情報)をうまく復元出来ない問題がある。

    そのため本手法では、上図 Decoder 側のアーキテクチャのように、encoder のボトルネック出力に、低レベル特徴量(=局所的な特徴量)をもつ Encoder の上位層からの出力を concat するようにしている。

  • セグメンテーション用に Xception を改良

    画像分類モデルである Xception を物体検出用の改良した Aligned Xception に触発されて、Xception をセグメンテーション用に改良した上図のようなネットワークを提案している。
    ※ この改良ネットワークは、ベースネットワークとしている ResNet-101 の代替ネットワークとして採用される

    この改良ネットワークの主な改良点は、以下の通り。
    a. ネットワークの深さを Aligned Xception と同じにする
    b. max pooling を depthwise separable convolution に置き換え(これにより Atrous convolution を適用可能にする)
    c. MobileNet のように 3 × 3 の畳み込みの後に、batch normalization と Relu 活性化を追加

4. どうやって有効だと検証した?

  • ベースネットワーク(ResNet101 -> セグメンテーション用に改良した Xception)での定量比較

    ベースネットワークを ResNet101 -> セグメンテーション用に改良した Xception に置き換えることで、品質が向上していることが見て取れる。

  • 他のセグメンテーションモデルとの定量比較

    PASCAL VOC 2012 dataset と Cityscapes dataset において、本手法での DeepLab v3+ が最も高い mIoU スコアになっており、SOTA を達成していることが見て取れる

  • Decoder 追加によるオブジェクト境界品質改善の検証

    Decoder を追加することで、オブジェクト境界の品質が改善していることが見て取れる
    ※ (a) は Trimap のオブジェクト境界領域内での mIOU スコアの定量比較

    • 【補足】Trimap

      Trimap とは、右上図のように、「前景」「背景」「そのどちらか(オブジェクト境界)」の3つに分割した画像のこと。Image Matting(背景除去)を行う際に必要となる。
  • セグメンテーション品質の定性的検証

    品質の高いセグメンテーション実現できていることが見て取れる。

5. 議論はあるか?

  • xxx

6. 次に読むべき論文はあるか?

  • DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs
  • [DeepLab v3] Rethinking atrous convolution for semantic image segmentation

7. 参考文献

  • xxx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant