空洞卷积
我们知道,分割任务是一个像素级别的任务,因此需要在输入的空间尺寸下对每个像素都有分割的结果。 换句话说,如果输入的空间尺寸是HxW,那么输出也需要是HxW的。
然而,为了提高网络性能,许多结构采用了池化或striding操作来增加感受野,同时提升远程信息的获取能力。但是这样的结构也带来了空间分辨率的下降。
在空洞卷积提出以前,大部分的空间尺寸恢复方式都是由上采样或反卷积实现的。前者通常是通过线性或双线性变换进行插值,虽然计算量小,但是效果有时不能满足要求;后者则是通过卷积实现,虽然精度高,但是参数计算量增加了。基于此,DeepLab就提出了“空洞卷积”(atrous convolution)的概念。
空洞卷积是向标准卷积内注入空洞达到**防止梯度消失**、**保持特征图的尺寸不变**、**增加模块感受野大小**的效果。空洞卷积最初的提出是为了解决图像分割的问题而提出的,常见的图像分割算法通常使用池化层和卷积层来增加感受野(Receptive Filed),同时也缩小了特征图尺寸(分辨率,resolution),然后再利用上采样还原图像尺寸,特征图缩小再放大的过程造成了精度上的损失,因此**需要一种操作可以在增加感受野的同时保持特征图的尺寸不变**,从而代替下采样和上采样操作,在这种需求下,空洞卷积就诞生了。
空洞卷积的作用:调整感受野(多尺度信息)的同时控制分辨率。
空洞卷积引入了一个称为 “扩张率(dilation rate)”的超参数(hyper-parameter),该参数定义了卷积核处理数据时各值的间距。扩张率中文也叫空洞数(Hole Size)。
下图是空洞卷积结构的示意图,从左到右 dilation rate 分别为1、6和24。当比率为1的时候,空洞卷积退化为常见的卷积。
上面三幅图是相互独立进行卷积的,大框表示输入图像(感受野默认为1),橙色的点表示 3×3 的卷积核,蓝框区域内表示卷积后的感受野。
前中后三幅图
由上图所示,空洞卷积核中的点距离由 1 增加到了 Dilation 值,即中间 Dilation-1 的地方都是空着的,这个空着的地方,一方面保持了卷积的参数的单次卷积运算量的不变,同时扩大了卷积的视野。
感受野(Receptive Field)的定义:卷积神经网络每一层输出的特征图(feature map)上的像素点映射回输入图像上的区域大小。通俗点的解释是,特征图上一点,相对于原图的大小,也是卷积神经网络特征所能看到输入图像的区域。

应用空洞卷积后,卷积核中心像素的感受野增大了,但是在步长为1的情况下,****特征图的空间分辨率却可以保持不变。