๋ณธ ๋ ผ๋ฌธ์ NeurIPS 2021 ์ ๊ณต๊ฐ๋์๊ณ , ์ฌํํ๊ณ ๊ฐ๋ ฅํ semantic segmentation task ์ฉ Transformer ์ธ SegFormer ๋ฅผ ์ ์ํ๋ ๋ ผ๋ฌธ์ ๋๋ค.
Abstract
๋ณธ ๋ ผ๋ฌธ์์๋ ํจ์จ์ ์ธ Segmentation task ์ํ์ ์ํ ๊ฐ๋จํ๊ณ ํจ์จ์ ์ด๋ฉด์ ๊ฐ๋ ฅํ semantic segmentation ํ๋ ์์ํฌ์ธ SegFormer ๋ฅผ ์ ์ํฉ๋๋ค. SegFormer ๋ 1) multi-scale feature ๋ฅผ ์ถ์ถํ๋ ์๋ก์ด hierarchically structured Transformer encoder ๋ก ๊ตฌ์ฑ๋๊ณ , positional encoding์ด ํ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ํ ์คํธ ์ด๋ฏธ์ง์ ํด์๋๊ฐ ํ์ต ์ด๋ฏธ์ง์ ํด์๋์ ๋ค๋ฅผ ๋ ์ฑ๋ฅ์ด ์ ํ๋๋ positional code์ interpolation์ ํผํ ์ ์์ต๋๋ค. 2) ๋ํ SegFormer ๋ ๋ณต์กํ์ง ์์ ๊ฐ๋จํ MLP ๊ตฌ์กฐ์ decoder๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ ์๋ MLP decoder ๋ ์๋ก ๋ค๋ฅธ ๊ณ์ธต์ ์ ๋ณด๋ฅผ ์ง๊ณํ์ฌ ๊ฐ๋ ฅํ representation ์ ๋ ๋๋งํ๊ธฐ ์ํด local attention ๊ณผ global attention ์ ๊ฒฐํฉํฉ๋๋ค.
์๋ figure๋ฅผ ๋ณด๋ฉด Ade20k ๋ฐ์ดํฐ์ ์์ SegFormer ๋ชจ๋ธ์ด ๋ค๋ฅธ ๋ชจ๋ธ์ ๋นํด ํ๋ผ๋ฏธํฐ ์๋ ์ ๊ณ mIOU๋ ์๋ฑํ ๋์ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
๋ณธ ์ฐ๊ตฌ์ novelty ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Positional Encoding ์ด ํ์์๋ Hierarchical Transformer Encoder
- ๋ณต์กํ๊ณ ๊ณ์ฐ๋์ด ๋ง์ ๋ชจ๋ ์์ด๋ ํ์ํํ representation์ ์ ๊ณตํ๋ Lightweight All-MLP Decoder
- SegFormer ๋ 3๊ฐ์ง semantic segmentation benchmark dataset์์ efficiency, accuracy, robustness ๋ถ๋ถ์์ SoTA๋ฅผ ๋ฌ์ฑ
Method
Figure 2 ์ ํ์๋ ๊ฒ์ฒ๋ผ SegFormer๋ Hierarchical Transformer Encdoer ์ Lightweight All-MLP Decoder ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ํฌ๊ธฐ๊ฐ H x W x 3 ์ธ ์ ๋ ฅ ์ด๋ฏธ์ง๊ฐ ์ฃผ์ด์ง๋ฉด ๋จผ์ 4x4 ํฌ๊ธฐ์ ํจ์น๋ก ๋๋๋๋ค. 16x16 ํจ์น๋ก ๋๋๋ ViT ์ ๋นํด ์ธ๋ถํ๋ ํจ์น๋ฅผ ์ฌ์ฉํ๋ฉด segmentation ์ ์ ๋ฆฌํฉ๋๋ค. ์ด ํจ์น๋ค์ ์ธ์ฝ๋์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ์ฌ ์๋ณธ ์ด๋ฏธ์ง์ ํด์๋๊ฐ {1/4, 1/8, 1/16, 1/32} ์ธ multi-level feature ๋ฅผ ์ป์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ multi-level feature ๋ฅผ ๋์ฝ๋์ ์ ๋ฌํ์ฌ (H/4) x (W/4) x Ncls ํด์๋๋ก segmentation mask ๋ฅผ ์์ธกํฉ๋๋ค. (Ncls : ์นดํ ๊ณ ๋ฆฌ ์)
Hierarchical Transformer Encdoer
๋ณธ ๋ ผ๋ฌธ์์๋ ์ํคํ ์ฒ๋ ๋์ผํ์ง๋ง ํฌ๊ธฐ๊ฐ ๋ค๋ฅธ MiT(Mix Transformer Encoder) ์๋ฆฌ์ฆ MiT-B0 ~ MiT-B5 ๋ฅผ ์ค๊ณํฉ๋๋ค.
# Hierarchical Feature Representation
ViT ์ ๋ฌ๋ฆฌ SegFormer ์ ์ธ์ฝ๋๋ ์ ๋ ฅ ์ด๋ฏธ์ง๊ฐ ์ฃผ์ด์ง๋ฉด multi-level multi-scale feature๋ฅผ ์์ฑํ๊ณ , ์ด๋ฌํ feature๋ segmenation ์ฑ๋ฅ์ ํฅ์์ํค๋ ๊ณ ํด์๋์ coarse ํ feature์ ์ ํด์๋์ fine-grained ํ feature ๋ฅผ ๋ชจ๋ ์ ๊ณตํฉ๋๋ค.
# Efficient Self-Attention
๊ธฐ์กด์ multi-head self-attention ์์ ๊ฐ head Q, K, V ๋ ๋์ผํ dimension NxC ๋ฅผ ๊ฐ์ง๋ฉฐ, ์ฌ๊ธฐ์ N = H x W ์ ์ํ์ค์ ๊ธธ์ด์ด๋ฉฐ self-attention์ ์๋์ ์์ ๋ฐ๋ฆ ๋๋ค.
SegFormer์ ์ธ์ฝ๋๋ 4x4 ํฌ๊ธฐ์ ํจ์น๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ViT ์ ๋นํด ํจ์น ์๊ฐ ๋ง์์ง๊ณ self-attention ์ฐ์ฐ์ด ๋งค์ฐ ๋ณต์กํด์ง๋๋ค. ์ ์๋ ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด sequence reduction process ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ reduction ratiro R ๋ฅผ ๋ฏธ๋ฆฌ ์ง์ ํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ์ํ์ค์ ๊ธธ์ด๋ฅผ ์ค์ด๋ ๋ฐฉ๋ฒ์ ๋๋ค.
K ๋ ๊ธธ์ด๋ฅผ ์ค์ผ ์ํ์ค์ด๊ณ , Reshape() ์ (N/R) x (C·R) ์ ํํ๋ก K๋ฅผ reshape ํ๊ณ , Linear() ๋ Cin ์ฑ๋ ์ฌ์ด์ฆ๋ฅผ ์ ๋ ฅ์ผ๋ก Cout ์ฑ๋ ์ฌ์ด์ฆ๋ก ์ถ๋ ฅํ๋ linear layer ์ ๋๋ค. ๋ฐ๋ผ์ ์๋ก์ด K์ ์ฐจ์์ (N/R) x C ์ด๊ณ , ๊ฒฐ๊ณผ์ ์ผ๋ก self-attention ๋ฉ์ปค๋์ฆ์ ๋ณต์ก์ฑ์ O(N^2) ์์ O(N^2/R) ๋ก ์ค์ด๋ญ๋๋ค. ๋ณธ ๋ ผ๋ฌธ์์๋ R์ stage-1์์ 4๊น์ง [64, 16, 4,1] ๋ก ์ค์ ํ์ต๋๋ค.
* ๊ฐ๋จํ๊ฒ ์๊ฐํ๋ฉด linear layer ๋ก ์ฑ๋ ์๋ฅผ ์ค์ธ ๋ค์์ multi-head self-attention์ ์ํํ๋จ ๋ง์ธ๋ฐ, ๊ต์ฅํ ์ฅํฉํ๊ฒ ์ค๋ช ๋์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
# Overlapped Patch Merging
์ ๋ ฅ ์ด๋ฏธ์ง๊ฐ ์ฃผ์ด์ง๋ฉด ViT์ patch merging ํ๋ก์ธ์ค๋ N x N x 3 ํจ์น๋ฅผ 1 x 1 x C ๋ฒกํฐ๋ก ํํํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ 2 x 2 x Ci ํฌ๊ธฐ์ feature ๋ฅผ 1 x 1 x Ci+1 ๋ฒกํฐ๋ก ํตํฉํ์ฌ ๊ณ์ธต์ ์ธ feature map์ ์ป๊ธฐ ์ํด ํ์ฅํ ์ ์์ต๋๋ค. ์ฆ, ์๋ ์์ฒ๋ผ F1 ์์ F2 ๋ก ์ถ์ํ๊ณ ๋ค์ ๊ณ์ธต์ ์ด๋ค ๋ค๋ฅธ feature map์ ๋ํด์๋ ๋ฐ๋ณตํ ์ ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด๋ฌํ ํ๋ก์ธ์ค๋ ์ฒ์์ ๊ฒน์น์ง ์๋ ์ด๋ฏธ์ง ๋๋ feature patch๋ฅผ ๊ฒฐํฉํ๋๋ก ์ค๊ณ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ํด๋น ํจ์น ์ฃผ๋ณ์ ๋ก์ปฌ ์ฐ์์ฑ์ ์ ์งํ์ง ๋ชปํฉ๋๋ค.
๋๋ฌธ์ SegFormer ์์๋ Overlapped Patch Merging ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฅผ ์ํด K = ํจ์น ํฌ๊ธฐ, S = ์ธ์ ํ ๋ ํจ์น ์ฌ์ด์ stride, P = padding ํฌ๊ธฐ ๋ฅผ ์ ์ํ์ฌ patch merging์ ์ค์ฒฉ๋๋ ์์ญ์ด ์กด์ฌํ๋๋ก ๋ง๋ญ๋๋ค. ์คํ์์๋ overlapping patch merging ์ํ์ non-overlapping ํ๋ก์ธ์ค์ ๋์ผํ ์ฌ์ด์ฆ์ feature๋ฅผ ์์ฑํ๊ธฐ ์ํด K = 7, S = 4, P =3 ๋ฐ K = 3, S = 2, P = 1 ๋ก ์ค์ ํฉ๋๋ค.
์ ๋ฆฌํ๋ฉด ๊ธฐ์กด์ patch merging ๋ฐฉ๋ฒ์์๋ ํจ์น ๊ฐ์ overlap ๋๋ ๋ถ๋ถ์ด ์์๋๋ฐ ์ด๋ ๋ก์ปฌ ์ฐ์์ฑ์ ์ ์งํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ stride์ padding ์ฌ์ด์ฆ๋ฅผ ์ ํด์ ํจ์น๋ฅผ overlap ์์ผ์ ์ถ์ถํ๋ค๋ ๋ป์ ๋๋ค.
# Positional-Encoding-Free Design
ViT ์์ Positional Encoding (PE) ์ ํด์๋๋ ๊ณ ์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ํ ์คํธ ํด์๋๊ฐ ํ์ต ์์ ๋ค๋ฅธ ๊ฒฝ์ฐ PE ๋ฅผ interpolation ํด์ผํฉ๋๋ค. ์ด๋ segmentation task ์์ ํด์๋๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ ์ ํ๋ก ์ด์ด์ง๋๋ค.
SegFormer ์์๋ Feed Forward Network (FFN) ์์ 3x3 Conv ๋ฅผ ์ง์ ์ฌ์ฉํ์ฌ leak location information์ ๋ํ zero padding ์ ๋ํ ์ํฅ์ ๊ณ ๋ คํ๋ Mix-FFN ์ ์ ์ํฉ๋๋ค. ์ด๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํฉ๋๋ค.
xin ์ self-attention ๋ชจ๋์ feature ์ด๊ณ Mix-FFN ์ 3x3 Conv ์ MLP ๋ฅผ ๊ฐ FFN์ ํผํฉํฉ๋๋ค. ๋ณธ ์ฐ๊ตฌ์์ 3x3 Conv ๊ฐ Transformer ์ ๋ํ ์์น ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ธฐ์ ์ถฉ๋ถํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค(์คํ ๊ฒฐ๊ณผ). ๋ํ ํจ์จ์ฑ์ ์ํด depth-wise convolution์ ์ฌ์ฉํฉ๋๋ค.
์ด์ ๊ฐ์ ์ค๊ณ๋ก ์ ์๋ semantic segmentation ์์ ์์ feature map ์ PE ๋ฅผ ์ถ๊ฐํ ํ์๊ฐ ์๋ค๊ณ ์ฃผ์ฅํฉ๋๋ค.
Lightweight All-MLP Decoder
SegFormer ๋ MLP ๋ ์ด์ด๋ก๋ง ๊ตฌ์ฑ๋ ๊ฒฝ๋ ๋์ฝ๋๋ฅผ ํตํฉํ๋ฉฐ ์ด๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์์์ ๋ฐ ๊ณ์ฐ ์๊ตฌ ์ฌํญ ๊ตฌ์ฑ ์์๋ฅผ ํ์๋ก ํ์ง ์์ต๋๋ค. ์ด๋ฌํ ๊ฐ๋จํ ๋์ฝ๋๋ฅผ ์ค๊ณํ๋ ํต์ฌ์ ๊ณ์ธต์ ํธ๋์คํฌ๋จธ ์ธ์ฝ๋๊ฐ ๊ธฐ์กด CNN ์ธ์ฝ๋๋ณด๋ค ๋ ํฐ Effective Receptive Field (ERF) ๋ฅผ ๊ฐ๋๋ค๋ ์ ์ ๋๋ค.
์ ์ํ๋ ALL-MLP ๋์ฝ๋๋ ํฌ๊ฒ ์๋์ ๊ฐ์ 4 ๋จ๊ณ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- MiT ์ธ์ฝ๋์ multi-level feature Fi ๋ MLP ๋ฅผ ํตํด ๋์ผํ ์ฑ๋ ์ฌ์ด์ฆ๋ก ํตํฉ
- Feature ๋ฅผ ์๋ณธ ์ด๋ฏธ์ง์ 1/4 ์ฌ์ด์ฆ๋ก ์ ์ํ๋งํ๊ณ concat
- Concat ํ์ฌ 4๋ฐฐ ์ฆ๊ฐ๋ ์ฑ๋์ MLP ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ ์ฑ๋ ์ฌ์ด์ฆ๋ก ๋ณ๊ฒฝ
- Segmentation mask ๋ฅผ ์์ธก
# Effective Receptive Field Analysis
Semantic Segmentation ์์๋ context ์ ๋ณด๋ฅผ ํฌํจํ๋๋ก ํฐ receptive field ๋ฅผ ์ ์งํ๋ ๊ฒ์ ํต์ฌ ๋ฌธ์ ์ ๋๋ค. ์ฌ๊ธฐ์ ํด์ ์ฌ์ฉํ์ฌ MLP ๋์ฝ๋ ์ค๊ณ๊ฐ ํธ๋์คํฌ๋จธ์์ ์ ๊ทธ๋ ๊ฒ ํจ๊ณผ์ ์ธ์ง ์๊ฐํํ์ฌ ํด์ํฉ๋๋ค. Figure 3 ์์ DeepLabv3+ ์ SegFormer ์ ๋ํ ์ธ์ฝ๋ ์คํ ์ด์ง์ ๋์ฝ๋ ํด๋์ ERF ๋ฅผ ์๊ฐํ ํฉ๋๋ค.
์์ Figure 3 ์ ๋ณด๋ฉด DeepLabv3+ ์ ERF ๋ ๊ฐ์ฅ ๊น์ stage-4 ์์๋ ์๋์ ์ผ๋ก ์๊ณ , SegFormer ์ ์ธ์ฝ๋๋ ํ์ stage ์์ local attention์ ์์ฐ์ค๋ฝ๊ฒ ์์ฑํ๋ ๋์์ stage-4 ์์ context๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์บก์ฒํ๋ non-local attention ์ ์ถ๋ ฅํ ์ ์์ต๋๋ค. ๋ํ ์ค์ธ ํจ์น์์ ๋ณผ ์ ์๋ฏ์ด MLP ํด๋(ํ๋์ ์์) ์ ERF๋ stage-4(๋นจ๊ฐ์ ์์)์ ๋ค๋ฅด๋ฉฐnon-local attention ๋ณด๋ค local-attention์ด ๋ ๊ฐํฉ๋๋ค.
CNN ์ ์ ํ๋ receptive field ๋ receptive field ๋ฅผ ํ์ฅํ๊ธด ํ์ง๋ง ํ์ฐ์ ์ผ๋ก ๋ฌด๊ฑฐ์์ง๋ ASPP ์ ๊ฐ์ context ๋ชจ๋์ ์์กดํด์ผ ํฉ๋๋ค. ์ ์๋ SegFormer ์ ๋์ฝ๋ ์ค๊ณ๊ฐ non-local attention ์ ํ์ฉํ๊ณ ๋ณต์กํ์ง ์์ผ๋ฉด์ ๋ ํฐ receptive field๋ฅผ ๊ฐ์ง๋ค๊ณ ์ค๋ช ํฉ๋๋ค. ๋ํ SegFormer ์ ๋์ฝ๋ ๋์์ธ์ ๋ณธ์ง์ ์ผ๋ก highly local / non-local attention ์ ๋ชจ๋ ์์ฑํ๋ ํธ๋์คํฌ๋จธ์ ์ด์ ์ ์ทจํฉ๋๋ค.
Experiments
์ ๋ฆฌ
SegFormer ๋ Transformer ์ Encoder ์ Decoder ์์ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ๋ค์ ์ฌ์ฉํ์ฌ Semantic Segmentation ์ฑ๋ฅ์ ํฅ์์ํค๋ ๋คํธ์ํฌ์ ๋๋ค.
๋ณธ ๋ ผ๋ฌธ์์ ์ฆ๋ช ๋ ์ฌ์ค ์ค Transformer ๋ฅผ semantic segmentation ์ ์ด์ฉํ ๋ ์ฐธ๊ณ ํ๋ฉด ์ข์ ๋ด์ฉ๋ค์ด ๋ง์ ์์งํด๋๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
Hierarchical Transformer Encdoer : Semantic Segmentation ์ฑ๋ฅ↑ + ์ฐ์ฐ ํจ์จ ↑
- Hierarchical Feature Representation : Multi-scale/level Feature → Semantice Segmentation ์ฑ๋ฅ ↑
- Efficient Self-Attention : Sequence Reduction → ์ฐ์ฐ ํจ์จ์ฑ ↑
- Overlapped Patch Merging : ๋ก์ปฌ ์ฐ์์ฑ ์ ์ง → Semantice Segmentation ์ฑ๋ฅ ↑
- Positional-Encoding-Free Design : PE ์ฌ์ฉ X → ํ์ต/ํ ์คํธ ๋ฐ์ดํฐ ํด์๋ ๋ค๋ฅธ ๊ฒฝ์ฐ์๋ Semantic Segmentation ์ฑ๋ฅ ์ ํ x