ECCV-2020
文章目录
1 Background and Motivation
FCN 首次展示了全卷积神经网络在 semantic segmentation 任务上的成功,然而其 “跃进式” 的 upsampling 操作会丢失大量的 detailed spatial information
随着 CNN 技术的发展,由 FCN 衍生出来的 DilatedFCN based methods 和 Encoder-Decoder based methods 针对 FCN 的缺点进行了改进
1)DilatedFCN based 方法
采用 dilation convolution 来维持特征图的分辨率,极大的缓解了快速 upsampling 造成的 detailed spatial information 的丢失,但该类方法 require high computational complexity and memory consumption
2)Encoder-Decoder(U-Net为代表)based 方法
利用插值或者反卷积来逐步恢复特征图分辨率,也能有效缓解 detailed spatial information 的丢失,但作者认为 “lower-level high-resolution feature maps cannot provide abstractive enough features for achieving high performance segmentation”(也就是说 U-Net 的这种方法的 decoder 方式还不够完美)
且插值或者反卷积操作都是基于局部区域进行的,没有全局观,这样恢复出来的高分辨率特征图难免“鼠目寸光”
DilatedFCN 好,Encoder-Decoder 快,作者中西结合,提出 EfficientFCN,对 Decoder 部分进行了改进,力求又快又好的进行图片分割
2 Related Work
-
DilatedFCN
Deeplab V2 / PSPNet / EncNet / CFNet Gated-SCNN / DANet / ACNet / DMNet -
Encoder-Decoder
UNet / DUsampling / FastFCN
3 Advantages / Contributions
EfficientFCN 在 UNet 的基础上,对 decoder 部分进行改进,提出了 holistically-guided decoder 模块,在 PASCAL Context,PASCAL VOC,ADE20K 三个数据集上实现了 competitive (or better) 的结果,with 1/3 fewer FLOPS
4 Method
Holistically-guided Decoder for Semantic-rich Feature Upsampling
三个核心组件
-
Multi-scale features fusion
-
Holistic codebook generation
根据上一步的特征进一步提取出 bag of words 特征 -
Codeword assembly for high-resolution feature upsampling
根据权重对 bag of words 特征进行组合,实现 upsampling
4.1 Multi-scale features fusion
主干网络的特征为 f 8 f_8 f8、 f 16 f_{16} f16、 f 32 f_{32} f32
经 1×1 conv 变成 channels 都为 512 的 e 8 e_8 e8、 e 16 e_{16} e16、 e 32 e_{32} e32
融合的方式为 biliner 插值和 concatenate,把 e 8 e_8 e8、 e 16 e_{16} e16、 e 32 e_{32} e32 融合成 m 8 m_{8} m8 和 m 32 m_{32} m32
- ↑↓ 箭头就是双线性插值操作来实现上采样和下采样(哈哈,习惯用它做上采样,下采样还是头一次碰到)
- [;;] 为 concatenate 操作
实验发现融合多个特征的效果会好一些
4.2 Holistic codebook generation
m 32 m_{32} m32 丢失的细节信息太多,作者认为传统的 U-Net decoder 无法弥补
上述公式是在 spatial 维度进行归一化,其中
-
A ∈ R n × ( H / 32 ) × ( W / 32 ) A \in \mathbb{R}^{n×(H / 32)×(W / 32)} A∈Rn×(H/32)×(W/32), spatial weighting maps
-
A i ∈ R ( H / 32 ) × ( W / 32 ) A_i \in \mathbb{R}^{(H / 32)×(W / 32)} Ai∈R(H/32)×(W/32)
-
B ∈ R 1024 × ( H / 32 ) × ( W / 32 ) B \in \mathbb{R}^{1024×(H / 32)×(W / 32)} B∈R1024×(H/32)×(W/32),codeword base map
-
c i ∈ R 1024 c_i \in \mathbb{R}^{1024} ci∈R1024, i i i- t h th th codeword
-
C = [ c 1 , ⋅ ⋅ ⋅ , c n ] ∈ R n × 1024 C = [c_1, · · · , c_n] \in \mathbb{R}^{n × 1024} C=[c1,⋅⋅⋅,cn]∈Rn×1024 to encode high-level global features, holistic codewords
4.3 Codeword assembly for high-resolution feature upsampling
恢复 structural information
-
G ∈ R 1024 × ( H / 8 ) × ( W / 8 ) G \in \mathbb{R}^{1024×(H / 8)×(W / 8)} G∈R1024×(H/8)×(W/8),raw codeword assembly guidance feature map
-
B ˉ ∈ R 1024 \bar{B} \in \mathbb{R}^{1024} Bˉ∈R1024,global average vector of the codeword based map
G ˉ = G + B ˉ \bar{G} = G + \bar{B} Gˉ=G+Bˉ
- G ˉ ∈ R 1024 × ( H / 8 ) × ( W / 8 ) \bar{G} \in \mathbb{R}^{1024×(H / 8)×(W / 8)} Gˉ∈R1024×(H/8)×(W/8),novel guidance feature map
原理是 :We propose to transfer the codeword information as the average codeword basis, which is location-wisely added to the OS=8 feature maps
G ˉ \bar{G} Gˉ 经过 1×1 conv 得到 W W W
W ∈ R n × ( H / 8 ) × ( W / 8 ) W \in \mathbb{R}^{n×(H / 8)×(W / 8)} W∈Rn×(H/8)×(W/8)
W W W reshape 成 n × ( H W / 8 2 ) n×(HW / 8^2) n×(HW/82)
具体细节如下
最后, f ~ 8 \widetilde{f}_8 f 8 和 G G G concatenate 成 f ^ 8 \hat{f}_8 f^8
4.4 Final segmentation mask
upsampled feature map f ^ 8 \hat{f}_8 f^8 经 1×1 conv,further upsampled back to the original resolution H × W as the final segmentation mask.
5 Experiments
5.1 Datasets
- PASCAL Context
- PASCAL VOC 2012
- ADE20K
5.2 Results on PASCAL Context
1)Comparison with the classical encoder-decoders
传统的 decoder recovered in a local manner
2)Multi-scale features fusion
融合的更多更好
3)Number of holistic codewords
相对来说,对 n 的设定没有那么敏感,n 太大可能过拟合了
4)Importance of the codeword information transfer for accurate assembly coefficient estimation
directly using OS=8 features to predict codeword assembly coefficients are less effective since they have no information about the codewords
作者的处理方式是 G ˉ = G + B ˉ \bar{G} = G+\bar{B} Gˉ=G+Bˉ
We propose to transfer the codeword information as the average codeword basis, which is location-wisely added to the OS=8 feature maps
作者用两个 1x1 代替这种 transform,效果掉了
5)Visualization of the weighting maps and example results
有关注前景的,也有关注后景的
6)Comparison with state-of-the-art methods
在 ADE20K 上效果不是最好的
5.3 Results on PASCAL VOC
6 Conclusion(own) / Future work
http://mi.eng.cam.ac.uk/~cipolla/lectures/PartIB/old/IB-visualcodebook.pdf