Large Kernel Matters—— Improve Semantic Segmentation by Global Convolutional Network

现状:分割问题有两个挑战,一个是分类,一个是定位,分类问题需要模型具有在旋转等变换时保持不变性,但定位问题模型对变化敏感。

主要贡献:

1、提出GCN(Global Convotional Network)来同时解决分割问题的两个challenge。

2、提出Boundary Refinement block来提高物体边界的定位表现。

结构:

1、整体:

Large Kernel Matters—— Improve Semantic Segmentation by Global Convolutional Network_第1张图片
Whole Pipline

左边是预训练过的ResNet,每一层ResNet块输出的特征图被相应的GCN提取,经过BR(Boundary Refinement)形成score maps,低分辨率的score maps会被上采样,然后与更高层的score maps相加形成新的score maps,最终的score map是经过最后的上采样所形成的,并且被用作输出的预测结果。

2、GCN:

Large Kernel Matters—— Improve Semantic Segmentation by Global Convolutional Network_第2张图片
GCN

GCN的结构比较简单,主要的问题是:为什么这种结构可以同时解决分类和定位两个问题?

首先可以来看看分类:现在的一些分类网络使用比较小的隐藏层,这导致在空间维度上比较粗略,从而分类器之间必须紧密联系,即使用全连接层和全局池化层,这可以使得分类器对于位置的变化比较robust。那么这就形成了与localization的一个trade-off,它们的分类器只需要局部连接来产生按像素分类的标签。

而目前的关于分割的研究,主要还是偏向于localization,这就会导致在分类的方面有一些损失,当分类器局部连接时,模型难以处理输入的不同变化,比如下图:

Large Kernel Matters—— Improve Semantic Segmentation by Global Convolutional Network_第3张图片
VRF

关于网络的有效野(VRF),文中是这样说的:However, studies show that network tends to gather information mainly from a much smaller region in the receptive field, which is called valid receptive field (VRF) in this paper.

对于原始尺寸的图像,网络的VRF集中在图片中间,可以包括整个鸽子,而当图片放大,VRF就不能包含整个鸽子,这就是一种分类上的损失。

而GCN可以较好地取得一个权衡,首先在localization方面,GCN没有使用全连接层和池化层,这使得不会损失位置信息,在classification方面,GCN采用large kernel,当kernel的尺寸达到和特征图的空间尺寸一样大时(即global convolution),就会取得和原分类模型一样的效果。

在GCN中,没有直接采用k×k,而是使用两个对称的结构,k×1+1×k和1×k+k×1,这是为了减少运算和参数。

3、Boundary Refinement(BR):

Large Kernel Matters—— Improve Semantic Segmentation by Global Convolutional Network_第4张图片

关于这个结构,是为了加强对于物体边界的定位,是一个残差结构,右边的残差连接应该是用于refine的,具体原理不是很明白,但是实验结果表明确实对边界的定位有帮助。

实验:

这里只给出PASCAL VOC 2012以及Cityscapes的结果:

Large Kernel Matters—— Improve Semantic Segmentation by Global Convolutional Network_第5张图片
PASCAL VOC 2012
Large Kernel Matters—— Improve Semantic Segmentation by Global Convolutional Network_第6张图片
Cityscapes

你可能感兴趣的:(Large Kernel Matters—— Improve Semantic Segmentation by Global Convolutional Network)