DenseASPP for Semantic Segmentation in Street Scenes

DenseASPP for Semantic Segmentation in Street Scenes

摘要
语义图像分割是自动驾驶中最基本的街景理解任务,高分辨率图像中的每个像素都被归为一组语义标签。与其他场景不同的是,自动驾驶场景中的对象呈现出非常大的尺度变化,这对高水平的特征表示提出了很大的挑战,因为必须对多尺度信息进行正确的编码。为了解决这个问题,引入了空洞卷积来产生具有更大感受野的特征,同时不牺牲空间分辨率。在空洞卷积的基础上,提出了空洞空间金字塔池化(atrous Spatial Pyramid Pooling, ASPP)[2],利用不同的空洞率将多个空洞卷积的特征拼接成最终的特征表示。虽然ASPP能够生成多尺度特征,但我们认为尺度轴上的特征分辨率不足以满足自动驾驶场景。为此,我们提出了密集连接的空洞空间金字塔池化(DenseASPP),以密集连接的方式连接一组空洞卷积,这样做可以生成多尺度特性,不仅覆盖更大的范围,而且也密集的覆盖了这个范围,没有显著增加模型大小。我们在街景基准cityscap[4]上评估DenseASPP,并实现最先进的性能。

1.介绍
在全卷积网络(FCN)[16]下,语义图像分割取得了良好的效果,显著改善了特征表示。高级语义信息在分割网络中起着至关重要的作用。为了提取高级信息,FCN使用多个池化层来增加输出神经元的接受域大小。然而,增加池化层的数量会导致feature map的大小减小,这对将分割输出上采样回最初分辨率造成了严重的挑战。另一方面,如果我们从有着更大分辨率的早期的层输出分割,我们就不能利用更高层次的语义进行更好的推理。
为了解决较大的特征图分辨率和较大的感受野之间的矛盾,提出了空洞卷积。通过在内核掩码的适当位置插入0,可以以不同的速率扩展一个无速率的空洞卷积核。与传统的卷积算子相比,空洞卷积能够在不增加核参数数目的情况下获得更大的接受域大小。由空洞卷积产生的特征图可以与输入的大小相同,但是每个输出神经元拥有更大的接受域,因此可以编码更高层次的语义。
虽然空洞卷积解决了特征图分辨率与接受域大小之间的矛盾,但是单纯从由空洞卷积得来的特征图生成语义掩码的方法仍然存在一定的局限性。具体来说,由空洞卷积得来的特征图中的所有神经元都具有相同的接受域大小,这意味着语义掩码的生成过程只利用了单一尺度上的特征。然而,经验[24,2,3]表明,多尺度信息有助于解决模糊情况,并产生更稳健的分类结果。为此,ASPP[2,3]提出将不同空洞率下的空洞卷积生成的特征图串联起来,使得输出特征图中的神经元包含多个接受域大小,对多尺度信息进行编码,最终提高性能。
然而,ASPP仍然受到另一个限制。具体来说,自主驾驶场景下的输入图像具有较高的分辨率,这就要求神经元具有更大的接受域。为了在ASPP中获得足够大的接受域,必须采用足够大的扩张比。然而,随着空洞率的增加(如d > 24), 空洞卷积变得越来越无效,逐渐失去建模能力[3]。因此,设计一个能够编码多尺度信息,同时又能获得足够大的接收域的网络结构是非常重要的。

DenseASPP for Semantic Segmentation in Street Scenes_第1张图片图1所示。说明具有挑战性的规模变化的街景从城市风景[4]。在第一个范例图像中,由于距离照相机的距离,相同的类别如人物在尺度上有很大的不同。第二个范例图像展示了一个更具挑战性的案例,其中一辆大型公共汽车离我们很近,而几个小型交通灯却离我们很远。

这促使我们提出密集空洞空间金字塔池化(DenseASPP)来解决街景中具有挑战性的尺度变化,如图1所示。DenseASPP由一个基础网络和一系列层叠的卷积层组成。它使用密集的连接将每个空洞卷积层的输出提供给前面所有未访问的空洞卷积层,如图2所示。在DenseASPP中,每个空洞卷积层只使用了具有合理空洞率(d≤24)的卷积核。通过一系列的空洞卷积,较晚层次的神经元获得越来越大的感受野,而不会出现ASPP的核降解问题。通过一系列的特征连接,每个中间特征图上的神经元从多个尺度对语义信息进行编码,不同的中间特征图从不同的尺度范围对多尺度信息进行编码。因此,DenseASPP最终的输出特征图不仅涵盖了大范围的语义信息,而且以非常密集的方式覆盖了该范围,如图3所示。我们在Cityscapes数据集上对DenseASPP进行了评估,并获得了最先进的性能,平均相交优于联合得分为80.6%。

综上所述,本文有以下两点贡献:

  1. DenseASPP能够生成覆盖非常大范围的特性(就接受域大小而言)。
  2. DenseASPP生成的特征能够以非常密集的方式覆盖上述尺度范围。
    值得注意的是,上述两个特性不能通过简单地层叠或并行地叠加卷积层来同时实现
    DenseASPP for Semantic Segmentation in Street Scenes_第2张图片
    图2.DenseASPP的结构,(a)对DenseASPP进行了详细的说明,将每个空洞卷积层的输出与输入特征图连接起来,然后输入到下一个空洞卷积层。DenseASPP的每个路径组成一个对应尺度的特征表示。(b)以更具体的方式说明这种结构

2.相关工作
语义图像分割需要高级特征来表示每个像素进行语义预测,而卷积神经网络则成为高级特征提取的主干。
由于卷积神经网络的设计是在整个图像级进行预测,因此对像素级的预测进行了多次修改。全卷积网络将全连接层转换为卷积层,使得分类网络能够输出一个热图。高阶地物图的分辨率较低(一般为输入图像的1/32),有多个下采样层,利用双线性上采样或反卷积来恢复分辨率。
为了弥补高级功能的低分辨率,跳跃连接也使用来自中间层或早期层的功能图。由于低分辨率是由采样层引起的,DeepLab提出去掉最后几个最大值池化层,重新配置网络,使用卷积来重用预先训练好的权值。与添加空洞卷积层来移除池化层不同,更多的空洞卷积层层叠在级联中,进一步增加接受域的大小来覆盖大的对象,带来更广阔的上下文。
此外,多尺度特征是分割对象的另一个重要因素,对象具有不同的尺度和模糊像素,需要不同范围的上下文信息。在空间金字塔匹配之后,PSPNet和ASPP被提出将多个接受域大小的特征连接在一起进行最终预测,其中PSPNet使用四个空间金字塔池(下采样)层并行地聚合来自多个接受域大小的信息,并通过上采样分配给每个像素。ASPP将多个不同空洞率的空洞卷积层的特征串联起来,并以并行方式排列。提出的DenseASPP算法结合了并行和级联使用空洞卷积层的优点,在更大的范围内产生了更多的尺度特征。
DenseASPP是以DenseNet的名字命名的,可以将空洞率设置为1,将其视为DenseASPP的一个特例。因此,DenseASPP也继承了DenseNet的优点,包括减轻了梯度消失的问题和大大减少了参数。在Yee的同期作品《dilated DenseNet》中,同样的思想被用于心脏MRI分割。

3.密集空洞空间金字塔池化
在这一节中,我们从空洞卷积和空洞空间金字塔池的初步知识开始,然后介绍提出的方法。
3.1空洞卷积和金字塔池化
在保持特征图分辨率不变的情况下,在[14]中引入了空洞卷积来增加接收域。在一维情况下,设y[i]为输出信号,x[i]为输入信号,其卷积表达式如下:
DenseASPP for Semantic Segmentation in Street Scenes_第3张图片
其中d为空洞率,w[k]为滤波器的第k个参数,k为滤波器的大小。当d = 1时,这个方程简化为标准卷积。空洞卷积相当于将输入x与上采样滤波器进行卷积,上采样滤波器是在两个连续的滤波器值之间插入d - 1个0产生的。因此,一个大的空洞率意味着一个大的接受域。
在街景分割中,物体的大小通常是不同的。为了处理这种情况,特征图必须能够覆盖不同规模的接受域。针对这一目标,DeepLabV3提出了两种策略,即不同空洞率下的层叠并行的若干个空洞卷积层。在级联模式下,由于上一层接受下一层的输出,它可以有效地产生大量的接受域。在并行模式下,由于多个空洞卷积层接受相同的输入,并且它们的输出连接在一起,因此得到的输出实际上是输入的一个采样,具有不同的接受域尺度。这种并行模式的正式名称为ASPP,它是2中Atrous Spatial Pyramid Pooling的缩写。
为了简化符号,我们使用H_(K,d(X))来表示一个空洞卷积,因此将ASPP写成
在这里插入图片描述
在这项工作中,在DenseNets[8]的推动下,我们进一步将级联和并行策略的边界推进到一个新的架构,该架构能够产生比[3]更密集的接受域。在Cityscapes[4]数据集上的实验结果证明了其有效性。
3.2更密集的特征金字塔和更大感受野
DenseASPP的结构如图2(a)所示。空洞卷积层以级联方式组织,每一层的空洞率逐层增加。空洞率小的层在下部,空洞率大的层在上部。将每一层的输出与输入的特征图和较低层的所有输出连接起来,并将这些连接起来的特征图输入到下一层。DenseASPP的最终输出是由多速率、多尺度的空洞卷积生成的特征图。提出的结构可以同时组成一个更密集和更大的特征金字塔,只需要几个空洞的卷积层。由式(2)可知,DenseASPP中各卷积层的表达式如下:
在这里插入图片描述
其中dl表示l层的空洞率,[···]表示拼接操作。[yl−1,···,y0]表示将所有前一层的输出连接起来形成的特征图。与原始的ASPP[3]相比,DenseASPP将所有的空洞卷积层堆叠在一起,并用紧密的连接将它们连接起来。这种变化主要给我们带来两个好处:更密集的特征金字塔和更大的接受域。我们将在以下两个小节中详细介绍网络设计的这两个优点。
3.2.1更密集的特征金字塔
DenseASPP构成了一个比ASPP更密集的特征金字塔。“密集”一词不仅表示特征金字塔的尺度多样性更好,还表示卷积涉及的像素比ASPP中更多。
更密集的尺度采样:DenseASPP是一个在不同尺度上采样输入的有效架构。DenseASPP的一个关键设计是使用紧密的连接来实现不同空洞率的不同层次的集成。每个系综相当于一个不同尺度的核,即不同的感受野。因此,我们得到了一个比ASPP[2]更多尺度的特征图。
空洞能够增加卷积核的接受域。对于空洞率为d、核大小为K的空洞卷积层,其等效感受野大小为
在这里插入图片描述
以d = 3的3×3卷积层为例,对应的接受域大小为7。
将两个卷积层叠加在一起可以得到更大的感受野。假设我们分别有两个卷积核为K1和K2的卷积层,新的感受野为:
在这里插入图片描述
例如,内核大小为7的卷积层与内核大小为13的卷积层叠加,接收域大小为19。
图3展示了DenseASPP的一个简化的特征金字塔,以帮助读者更好地理解它的规模多样性。该DenseASPP的空洞率为3、6、12、18。每个条带的数目表示不同空洞率的组合,每个条带的长度表示每个组合的等效核大小。很明显,叠加层之间的密集连接能够构成具有更大尺度多样性的特征金字塔。DenseASPP整体是一系列ASPP的集合。
DenseASPP for Semantic Segmentation in Street Scenes_第4张图片
图3.DenseASPP的规模金字塔对应的设置是密集堆叠的空洞卷积(3、6、12、18)。DenseASPP产生的特征金字塔具有更大的尺度多样性(即尺度轴上的高分辨率)和更大的接受域。每个条带右侧的k表示对应组合的感受野大小。

密集的像素采样;与ASPP相比,DenseASPP在特征金字塔的计算中涉及到更多的像素。ASPP采用4个空洞率分别为6、12、18、24的卷积层构成特征金字塔。与相同感受野的传统卷积层相比,具有大空洞率的卷积层的像素采样率非常稀疏。
图4(a)为传统的一维空洞卷积层,其空洞率为6。这个卷积的感受野大小是13。然而,在如此大的内核中,仅采样3个像素进行计算。这种现象在二维情况下会变得更糟。虽然获得了较大的感受野,但在计算过程中却抛弃了大量的信息。
DenseASPP for Semantic Segmentation in Street Scenes_第5张图片
图4.(a)空洞率为6的标准一维空洞卷积。(b)将空洞率较小的一层叠加在空洞率较大的一层之下,使得采样率更密集。红色表示信息来自何处。©二维版本的(b)。

DenseASPP的情况大不相同。在DenseASPP中,空洞率逐层增加,因此,上层的卷积可以利用下层的特征,使像素采样更加密集。图4(b)说明了这一过程:空洞率为3的一层位于空洞率为6的一层之下。对于空洞率为6的原始空洞卷积层,7像素的信息将有助于最终的计算,其密度比原始的3像素要大。在二维情况下,49个像素将贡献最终预测,而在标准的单层空洞卷积中,只有9个像素将贡献。空洞率越大,这种现象越明显。图4©为2D版本的现象。空洞率较大的卷积层可以借助空洞率较小的滤波器,对像素进行更密集的采样。

3.2.2更大的感受野
DenseASPP带来的另一个好处是更大的感受野。空洞卷积层在传统的ASPP中是并行工作的,而四个分支在前馈过程中是不共享任何信息的。与之相反,DenseASPP中的空洞卷积层通过跳级连接来共享信息。小空洞率和大空洞率的层之间是相互依赖的,其中前馈过程不仅会构成一个更密集的特征金字塔,而且会产生一个更大的滤波器来感知更大的上下文。
由式(5)可知,设Rmax为特征金字塔的最大感受野,RK,d为函数,核大小为K、空洞率为d的卷积层,因此,ASPP的最大接受域为(6,12,18,24)是:
DenseASPP for Semantic Segmentation in Street Scenes_第6张图片
而DenseASPP(6、12、18、24)的最大感受野是:
在这里插入图片描述
如此大的感受野可以为高分辨率图像中的大对象提供全局信息。例如,Cityscapes[4]的分辨率为2048×1024,而我们的分割网络最后的特征图为256×128。DenseASPP(6、12、18、24)覆盖了122个特征图大小,DenseASPP(3、6、12、18、24)覆盖了更大的128个特征图大小。

3.3模型大小控制
为了控制模型大小,防止网络过宽,我们按照[8]的方法,在DenseASPP的每一个空洞卷积层之前增加1×1个卷积层,将特征图的深度降低到原来的一半。此外,还使用了稀疏过滤器来进一步控制输出大小。
假设每个空洞卷积层输出n个特征图, DenseASPP输入c0个特征图,第L个1×1卷积层在第L个空洞卷积层之前有cl个输入特征图,我们有
在这里插入图片描述
在我们的设置中,在空洞卷积之前,每1×1个卷积层将维数降为c 0/2通道。在DenseASPP中,我们为所有的空洞卷积层设置了n = c0/8。因此,DenseASPP中参数的数量可以计算如下:
DenseASPP for Semantic Segmentation in Street Scenes_第7张图片
其中L为DenseASPP的空洞卷积层数,K为卷积核大小。例如,DenseNet121的特征图有512个通道,因此基于DenseNet121的模型将n设置为64。此外,在每一个空洞卷积层之前,特征图中的通道数被1×1卷积层缩减为256个。因此DenseASPP(3、6、12、18、24)输出832个通道的地物图,共计1556 480个参数,大大小于DenseNet121的模型尺寸(近1×107个参数)。

声明:此博客仅供作者学习使用,如有侵权请联系作者删除博客

你可能感兴趣的:(深度学习)