由于街景的物体差异性大,正确编码对尺度信息的意义上的高级特征是非常困难的。使用扩张卷积(Atrous Convolution)能够在不牺牲特征空间分辨率的同时扩大特征接收野,DeepLab系列工作结合多尺度信息和扩张卷积的特点提出了ASPP模块,将不同扩张率的扩张卷积特征结合到一起。但对于街景分类任务来说,并不能达到很好的效果,所以提出了密集型的ASPP,DenseASPP模型。
ASPP模块
扩展卷积的出现解决了在特征图尺寸与感受野之间的矛盾问题。多尺度信息有助于解决模糊情况并有助于图像分类。 为此,ASPP(如下图) 提出连接由不同扩张速率的卷积生成的特征图,以便输出特征图中的神经元包含多个感知字段大小,这些字段大小编码多尺度信息并最终提高性能。
论文中提出高分辨的街景图像要求更大的感受野,以此同时需要足够大的不同尺度的扩张率。但随着扩张率增加(d>24),扩张卷积的衰退衰减无效了(deeplab3中提到)。所以利用densenet编码多尺度信息的同时获得足够大的感受野的表现,将其融合进ASPP网络中。
因为密集连接,特征的通道数会急速上升,DenseNet中使用1×1的卷积用于降低通道数,限制了模型大小和计算量,同样的,在本文中也使用了多个1×1卷积用于降低参数,限制计算量。
DenseASPP结构
论文提出的DenseASPP用于解决街道场景的尺度挑战,DenseASPP包含了一个基础网络,后面接了一个多级的扩张卷积层,如下图所示:
可以看到扩张卷积级联起来,并且扩张率逐渐的增加,前面的层扩张率较低,后面的层扩张率较大。这和DenseNet的连接非常相似,DenseASPP的最终输出是由多扩张率、多尺度的扩张卷积生成的特征组成。可以将DenseASPP用如下公式表示:
其中dl表示l层的扩张率,[...]表示级联concat操作。表示连接来自前面所有层的输出。与原先的ASPP模块相比,DenseASPP堆叠了所有扩张卷积并做了密集连接。这主要能带来2个收益:
1、密集的特征金字塔(denser feature pyramid)
2、更大的感受野(larger receptive field.)
密集特征金字塔
DenseASPP的一个关键设计是使用密集连接,以实现具有不同扩张率的各种层的集合。 每个集合相当于不同规模的核,即不同的感受野。 因此,我们得到的特征图比ASPP中有更多的尺度。 扩张能够增加卷积核的感受野。 对于具有膨胀率d和核大小K的卷积层,等效的感受野大小为:
例如一个3×3的卷积扩张卷积,扩张率为d=3,则对应的接收野为7。
假设我们有两个卷积层,滤波器大小分别为K 1和K 2,新的感受野是:
例如,一个尺寸为7和尺寸为13的卷积堆叠到一起,构成为感受野为19.
DenseASPP由包含扩张率为3,6,12,18的扩张卷积,每组数字的表示扩张率的组合,长度表示等效的卷积核大小,k表示实际的接收野,如下所示:
更密集像素采样
这么大的接收野条件下,只有3个像素被采样了用于计算,这样的情况下二维的情况下会更糟,虽然得到了更大的接收野,但是在计算的过程中丢弃了大量的信息。
在DenseASPP中,扩张率逐层增加,上层中的卷积可以采用来自较低层的特征,并使像素采样更密集。图4(b)说明了这个过程:膨胀率为3的扩张层放在具有膨胀率6的层下面。对于扩张率为6的原始扩张层,7个像素的信息将有助于最终计算,比原来的3个像素更密集。在二维情况下,49个像素将有助于最终预测,而在标准的单层扩张卷积中,仅贡献9个像素。
当扩张率变大时,这种现象变得更加明显。图4(c)示出了二维版本的结果。具有较大膨胀率的卷积层可以从具有较小膨胀率的滤波器获得帮助,并以更密集的方式对像素进行采样。
更大的感受野
原先的ASPP是四个分支并行处理前馈,而densenetASPP模块通过跳层共享了连接信息,大和小扩展率的卷积相互依赖,构成密集特征金字塔的同时也获得了更大的感受野。
Rmax表示特征金字塔最大感受野,函数Rkd表示卷积核带下为K的扩张率为d,那么ASPP(6,8,12,24)最大的感受野有:
而相对的DenseASPP(6,12,18,24)的最大接收野为: