[深度学习论文笔记][arxiv 1804]ExFuse: Enhancing Feature Fusion for Semantic Segmentation

[arxiv 1804]ExFuse: Enhancing Feature Fusion for Semantic Segmentation

Zhenli Zhang, Xiangyu Zhang, Chao Peng, Dazhi Cheng, Jian Sun

from Fudan, Face++ and BIT

paper link

Motivation

这篇文章着重研究语义分割网络中高低层特征融合的效率问题。在很多工作中,融合不同尺度的特征是提高分割性能的一个重要手段。低层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。如何将两者高效融合,取其长处,弃之糟泊,是改善分割模型的关键。

这篇文章从两个大的方向上提出了改善思路,即1.增加低层特征的语义和2.在高层特征中增加更多空间信息。其中包括5个改善的细节,在下面一一介绍。

Method

这篇文章是基于GCN网络[1]进行改进的。新提出的结构直接在GCN上进行添加。
作者首先认为GCN的高低层特征融合效率比较低。为了证明这点,作者在VOC 2012的验证集上,使用不同的网络主干逐层融合不同尺度的特征,观察其性能变化,如下图所示。可见融合第三级(res4)特征对性能提升最大,而更底层的特征则对性能几乎没有影响。因此需要提出一些更高效的方法。

[深度学习论文笔记][arxiv 1804]ExFuse: Enhancing Feature Fusion for Semantic Segmentation

本文工作的结构图如下图所示,其中虚线标出的SS, SEB, ECRE和DAP是本文提出的。

[深度学习论文笔记][arxiv 1804]ExFuse: Enhancing Feature Fusion for Semantic Segmentation

Direction 1: Introducing More Semantic Information into Low-level Features

这篇文章中,作者为了增加低层特征的语义信息做了三点改进:

  1. 网络结构重排(layer rearrengement),构建更适合于分割的预训练模型;
  2. 深度语义监督(semantic supervision);
  3. 语义嵌入支路(semantic embedding branch),将高层特征融入低层特征。

Layer rearrangement

ResNeXt网络结构中,各级的网络包含的残差单元个数为{3,4,23,3}。为了提高底层特征的语义性,一个想法便是让低层的两级网络拥有的层数更多。因此作者将残差单元个数重排为{8,8,9,8},并重新在ImageNet上预训练模型。重排后网络的分类性能没有明显变化,但是分割模型可以提高约0.8个点(mean intersection over union)的性能。

Semantic Supervision (SS)

深度语义监督其实在其他的一些工作里(如GoogLeNet,边缘检测的HED等等)已经使用到了。这里的使用方法基本上没有太大变化,能够带来大约1个点的提升。
参见结构图。

Semantic Embedding Branch (SEB)

语义嵌入支路的结构如下图所示:

[深度学习论文笔记][arxiv 1804]ExFuse: Enhancing Feature Fusion for Semantic Segmentation

其做法是将高层特征上采样后,与低层特征逐像素相乘,用在GCN之前。
该部分能带来大约0.7个点的提升。

Direction 2: Embedding More Spatial Resolution into High-level Features

高层特征空间信息的损失只要是由于其自身的低分辨率(尺寸小)。这篇文章尝试将更多的空间特征融入到通道(channel)中去,包括:

  1. 通道分辨率嵌入(explicit channel resolution embedding);
  2. 稠密邻域预测(densely adjacent prediction)。

Explicit Channel Resolution Embedding (ECRE)

其思路是在上采样支路中使用[2,3,4]工作中都使用到的子像素上采样模块(sub-pixel upsample)。作者的出发点并不是前人工作中强调的如速度快、消除反卷积的棋盘效应等等,而是通过这个结构能够让和空间信息相关的监督信息回传到各个通道中,从而让不同通道包含不同空间信息。该模块和原有的反卷积一起使用才能显示出更好的性能。同单独使用反卷积相比,性能可以提高约0.6个点。

Densely Adjacent Prediction (DAP)

DAP模块只使用在输出预测结果的时候。其想法也是通过扩展通道数来增加空间信息。举一个例子来描述其功能,假设DAP的作用区域为3x3,输出结果的通道数为21,则扩展后的输出通道数为21x3x3。每3x3个通道融合成一个通道。如在最终结果中,第5通道(共21通道)的(12,13)坐标上的像素,是通过DAP之前的第5+0通道(11,12)、5+1通道的(11,13)、5+2通道的(11,14)、5+3通道的(12,12)、5+4通道的(12,13)、5+5通道的(12,14)…平均得到的。DAP能带来约0.6个点的提升。

Experiment

这篇文章的另一贡献是在VOC 2012的测试集上取得了目前最好的性能。有关网络训练的详细步骤可以参见文章的实验部分内容。

[深度学习论文笔记][arxiv 1804]ExFuse: Enhancing Feature Fusion for Semantic Segmentation

Reference

[1] Peng, C., Zhang, X., Yu, G., Luo, G., Sun, J.: Large kernel matters - improve
semantic segmentation by global convolutional network. (2017)

[2] Shi, W., Caballero, J., Huszar, F., Totz, J., Aitken, A.P., Bishop, R., Rueckert, D., Wang, Z.: Real-time single image and video super-resolution using an effcient sub-pixel convolutional neural network. (2016) 1874-1883

[3] Aitken, A., Ledig, C., Theis, L., Caballero, J., Wang, Z., Shi, W.: Checkerboard artifact free sub-pixel convolution: A note on sub-pixel convolution, resize convolution
and convolution resize. (2017)

[4] Wang, P., Chen, P., Yuan, Y., Liu, D., Huang, Z., Hou, X., Cottrell, G.: Understanding convolution for semantic segmentation. (2017)