原論文
SegNeXt: Rethinking Convolutional Attention Design for Semantic Segmentation
https://proceedings.neurips.cc/paper_files/paper/2022/file/08050f40fff41616ccfc3080e60a301a-Paper-Conference.pdf
結論
セグメンテーションのためのViT構造をした畳み込みモデルを提案する.ViTのSA部分をマルチスケールの畳み込みに置き換える.
概要
画像認識分野で,CNNとViTがある.セグメンテーションタスクでは,高画質画像を扱うこと,局所的な認識が必要な点からCNNの方が有効である.けど,ViTは画像認識分野で有効なので,ViTの構造を移植して,ViTの形をした畳み込みモデルを提案する.
セマセグの性能向上条件
- Transformer系のモデルは強力
- 様々のサイズの認識対象を処理する必要
- 空間情報の優先順位付け
- 高画質画像を扱うので計算量を小さくする必要がある
モデル構造
下図にモデル構造を示す.
ResNetなどで使用される階層型のモデル構造である.
(a)にステージの全体像で,Attentionでマルチスケールの畳み込み,FFNでローカルな畳み込みをする.(b)にAttention(マルチスケールの畳み込み)の構造を示す.それぞれを1x1で挟んでる(チャンネル認識).
ステージ間は畳み込みでダウンサンプリングする.
マルチスケールの畳み込み
まず,5x5DWConvする.その後,カーネルサイズの異なるDW畳み込みを並列に計算して,それぞれの要素和→1x1Conv(Channel Mixing)する.出力したAttと入力のFの要素積をする(いわゆるSENetなどで使用される動的な重みを持つゲート構造である).この要素積により,入力特徴量のどこの部分が重要なのかを表現できる.
※ゲート構造にsoftmaxを使用しない
並列した畳み込み,例えば,7x7カーネルの畳み込みは計算量削減のために7x1と1x7に因数分解して畳み込みを行う.因数分解した畳み込みはカーネルのサイズが7x1と細長くなるため,画像の直線的な情報を集約する.セマセグでは,人や電柱など,直線的なオブジェクトがあるので有効に動作する.
デコーダー
デコーダがエンコーダーのステージ1から4までの特徴量を集約するSegFormerとは異なり,SegNeXtは,(c)のように,最後の3つのステージからの特徴量しか受け取らない.これは,SegNeXtが畳み込みに基づいているためである.ステージ1の特徴量には低レベルの情報が多すぎるため,性能が低下する.
実験
まとめ
今回は,Self-Attentionをマルチスケール畳み込みに変更【SegNeXt】について解説した.SAをマルチスケール畳み込みに置き換えることで,動的なパラメータを持つ受容野の大きい畳み込みモデルが完成した.ViTに寄せた構造だけど,計算は畳み込みなので,計算量が大きくなりすぎない.