Dense Decoder Shortcut Connections for Single-Pass Semantic Segmentation

Dense Decoder Shortcut Connections for Single-Pass Semantic Segmentation
摘要
我们提出了一种新颖的端到端可训练的、深度的、单通道语义分割的编码器译码器结构。我们的方法基于级联架构,具有特征级别的远程跳跃连接。该编码器融合了ResNeXt的残差构建块的结构,并采用重复构建块的策略,该构建块聚合了具有相同拓扑结构的一组转换。该译码器具有新颖的结构,包括(i)捕获上下文信息,(ii)生成语义特征,(iii)实现不同输出分辨率之间的融合。至关重要的是,我们引入了密集的解码器短路链接,允许解码器块使用来自所有先前解码器级别的语义特征映射,即来自所有更高级别的特征映射。密集的解码器连接允许从一个解码器块到另一个解码器块的有效信息传播,以及显著提高精度的多级特征融合。重要的是,这些连接允许我们的方法在几个具有挑战性的数据集上获得最先进的性能,而不需要对以前的工作进行耗时的多尺度平均。

  1. 介绍
    语义分割是为图像中的每个像素分配一个类标签的过程,在机器人视觉、自主驾驶、定位和导航等领域都有广泛的应用。
    最近关于语义分割的研究表明,将最先进的基于深度卷积神经网络(CNN)的图像分类器用于语义分割,可以显著提高准确性[5,36]。一个突出的方法涉及全卷积网络(FCN)[36],其中全连接层被转换成卷积层。我们注意到,这种方法的关键是使用skip架构,它将来自深度粗糙层的语义信息与来自浅层精细层的外观信息结合起来。
    最近的技术已经将图像金字塔合并到多尺度推断和评估中。所有这些技术都采用一个输入图像,并将其扩展到多个分辨率,以构建一组级联图像,然后通过(神经网络)处理通道对这些图像进行通道传输(通常是独立的)。这种技术为许多应用程序提供了有用的特性,如降噪或图像处理。它作为一种提取多尺度语义分数的图像表示方法被广泛应用于语义分割中,然后对所有尺度的语义分数进行平均,得到最终结果。然而,对许多尺度分别运行推理步骤会显著增加处理时间,因此对于许多实际应用程序来说,这种方法是不切实际的。更重要的是,多尺度金字塔显著增加了内存需求,使得使用单一的现代GPU来训练一个端到端的网络几乎不可能。这说明多尺度图像金字塔仅用于推理步骤,往往使整个方法工程化程度高。
    在此基础上,本文设计了一种新的端到端可训练的深度编码-解码器体系结构,旨在消除对多尺度、多通道语义分割的需求,并在单一尺度下获得可比较或更好的结果。我们的方法基于级联架构,具有特征级别的远程跳过连接。该编码器融合了ResNeXt的残差构建块的结构,并采用重复构建块的策略,该构建块聚合了具有相同拓扑结构的一组转换。该译码器采用了一种新颖的分块结构,可以捕获上下文信息,生成语义特征,实现不同分辨率之间的融合。至关重要的是,我们建议使用密集的解码器短路连接,以允许解码器的块使用之前所有解码器的块的语义特征映射(即来自所有更高级别的特征映射),并纠正之前解码器的块引入的任何潜在错误。密集解码器的短路连接允许有效的信息从解码器的一个块传播到另一个块,并允许多级特征融合,显著提高了精度。
    我们进行了广泛的评估,涉及几个常用的语义分割数据集:Pascal VOC 2012 [13], Pascal- context [38], Pascal PersonPart [8], NYUD[47]和CamVid[3]。实验结果表明,该方法能够获得单尺度的最优结果,其性能甚至优于多尺度方法。

  2. 相关工作
    语义分割。早期的语义分割工作集中在设计一个强大的特征表示,如TextonBoost [46], TextonForest[44],以及随机森林分类器[45]。近年来,有监督的深度学习架构在许多领域都取得了广泛的成功,并成为成功的语义分割方法的标准。特别是,一些方法,包括DeepLab[5]和全卷积网络(FCN)[36],通过采用最先进的基于深度卷积神经网络(CNN)的图像分类器进行语义分割,在准确性上有了显著的提高。DeepLab[5,6]研究了空洞卷积,它允许控制计算特征响应的分辨率,并有效地扩大了感受野,从而在不增加参数数量或计算量的情况下纳入更大的上下文。DeepLab基于VGG-16[48],其中全连接层已转换为卷积层。此外,在最后一层CNN的响应已经与完全连接的条件随机域(CRF)相结合,这已经在后处理阶段应用。FCN方法[36],也采用了VGG16架构,但是变成了一个端到端可训练的全卷积网络。此外,FCN还定义了一个skip架构,它将来自深度粗糙层的语义信息与来自浅层精细层的外观信息结合起来。这种方法是许多后续工作的基础[1,35,53,55]。
    上述深度学习技术主要基于VGG-16架构[48]。最近的研究工作表明,深度残差网络ResNets和ResNeXts (resnet风格的层,但采用了分裂-转换-合并策略)等更深层次的体系结构可以通过显著增加网络深度来获得准确性。这些残差网络(1)实质上是更深的(如与101或152层)比过去使用与152层(例如ResNet 9.5倍比VGG16层[48]),(2)比VGG网有更少的参数,(3)更容易优化,及(4)可以获得精度大大增加深度[52]。PSPNet[54]和RefineNet[31]是近年来应用ResNet体系结构进行语义分割的几种方法。前者还通过金字塔池化模块采用基于区域的上下文聚合。后者使用级联架构。在某些方面,这是离我们最近的工作,但是我们有许多重要的区别方法:(i) RefineNet包含图像金字塔多尺度推理和评价,而我们建议密集解码器短路连接单程的推理和评价,(2)两种方法提出了不同的解码器,(3)两种方法总以不同的方式,及(iv)两种方法结合不同的模块。此外,我们的方法明显优于RefineNet,甚至在NYUD数据集上达到4.5%。
    CRF。条件随机场(CRF)是一种常用的图像分割图形模型。它结合了平滑条件,最大限度地提高了相似像素之间的标签一致性。近年来的许多研究探索了FCN和CRF的联合学习;充分整合CRF建模与CNN,利用整个网络端到端的训练[55,1]。在[55]中,FCN与具有高斯成对电位的递归神经网络的CRF的均场近似推理公式一起使用。在[1]中,高阶势(目标检测和基于超像素的势)被合并到端到端的可训练的CRF模型中。对象的建议。还有许多其他技术可以将对象的边界框[16,17]或基于分段的区域建议[40,41]细化为分段。虽然这些方法(如CRF和基于对象/区域的建议)可以被纳入我们的网络,以进一步提高方法的准确性,但这些方法超出了本文的范围。
    密集的连接。最近DenseNet[20]提出了密集连接的概念用于图像分类,并将其扩展到FC-DenseNet[24]中的语义分割。然而,我们的方法在使用和目的上有许多重要的区别。上述方法使用多个密集块,这些块之间有过渡层(密集块之间没有密集连接),而我们使用解码器的块之间的密集连接,它们处于不同的抽象级别,如图1所示。此外,上述方法使用密集连接来创建更有效的构建块,而我们使用它们来加强特征传播,实现多层次语义特征融合。此外,我们的方法明显优于FC-DenseNet,甚至在CamVid数据集上可以达到4%。
    Dense Decoder Shortcut Connections for Single-Pass Semantic Segmentation
    图1:我们的单通道语义分割架构概述:级联架构与我们的上下文聚合解码器、特征级的远程跳过连接,以及用于多级特征融合的密集解码器短路连接。

  3. 提出的方法
    结构。我们的语义分割网络主要由编码器和解码器两部分组成,如图1所示。编码器由4个块组成,分别为:enc1、enc2、enc3、enc4。编码器在不同的层上提取外观信息,从浅的、精细的层(enc1)到深的、粗糙的层(enc4)。译码器由4个主要块组成,我们称之为:dec4、dec3、dec2、dec1。它提供了各种层次的语义分割结果,从粗(dec4)到细(dec1)分割。
    我们的网络建立在一个级联的架构上。块encx的输出,其中x = 1,…,3,连接到块encx+1的输入,块enc4的输出连接到块dec4的输入,每个块decx的输出,其中x = 2,…连接到块decx−1的输入。此外,每个解码器的块decx,其中x = 1,…,3,使用来自相应编码器的块encx的特征映射来细化来自先前解码器的块decx+1的低分辨率特征映射。
    编码器。我们将编码器的架构建立在ResNeXt的残差构建块上,但是我们将全局平均池化、全连接层和softmax从网络中移除。我们的编码器的架构,即块encx,其中x = 1,…,4,根据ResNeXt101,如表1所示。
    译码器。提出了一种新的语义分割译码器结构。解码器的核心由4个块组成,即decx,其中x = 1,…,4。解码器块的概述如图1所示。每个块由编码器适配模块和语义特征生成模块组成。此外,dec1、dec2和dec3块之间还有一个融合阶段。我们称这三个块为融合块,因为它们融合了前一个解码器的输出和编码器适配的输出。块dec4只有一个输入,因此,它不执行任何融合。请注意,所有的卷积和池化操作在解码器中,解释如下,不改变特征的维数,除非另有说明。
    编码器适配是每个解码器块decx的第一个阶段,其中x = 1,…,4,见图1。它的目的是准备特征从一个编码器encx融合阶段(x = 1,…, 3)或语义特征生成阶段(x = 4)。首先,我们应用一个3×3卷积减少encx的特征通道,因为这些特征通常是高维度(如enc4。2048)。然后,我们应用三个堆叠的残差块来适应连续阶段的特性,见表1。最后,如果解码器的块执行一个融合(即dec1、dec2和dec3),我们也应用一个3×3的卷积(见下面的解释)。

Dense Decoder Shortcut Connections for Single-Pass Semantic Segmentation
表1:我们的编码器的结构块encx,其中x=1,…,4,和我们的编码器适配(EA)阶段。残差模块的形状显示在括号中,每个阶段堆叠的模块的数量。一个层表示为(卷积核大小,#输出通道)。C=32是指32组的分组卷积也就是32个分支。
此阶段的目的是将编码器自适应的特征与先前解码器的特征融合起来。特别是在解码器decx中,我们使用经过编码器适配阶段的encx特性,来从之前的解码器decx+1、…、4中提炼低分辨率特性。然而,我们必须首先确保我们想要融合的特征具有相同的维度,即它们具有相同的空间分辨率和通道数量。为了保证相同的信道数,编码器的最后一次适配操作与之前的解码器的最后一次操作进行3×3的卷积。因此,我们简单地将两个卷积的输出通道数量设置为相同的值,即这些卷积的输入通道数量中最小的值。然后,为了保证特征的空间分辨率相同,我们将双线性插值应用于要融合的特征的最大空间分辨率的上尺度低分辨率特征。最后,由于特征具有相同的维数,我们可以通过元素求和操作来融合特征,如图3所示。
解码器中每个块的最后一部分负责捕获上下文信息,然后使用它来生成语义特征。为了捕获上下文信息,我们应用了一个由4个卷积-池化组成的序列,每个块包含一个3×3个卷积和一个5×5个最大值池化层。每个池化层捕获图像中一个大区域的上下文信息,用于特征图的每个空间位置。我们通过连接特征映射将这个阶段的输入与池化操作的所有输出融合在一起。我们还应用了3×3卷积来减少(i)来自池化层的特征映射的维数,(ii)连接的特征的维数
Dense Decoder Shortcut Connections for Single-Pass Semantic Segmentation
如图2所示。然后,我们通过应用四个堆叠的残差块来生成语义特征,以便进一步处理(在块dec4、dec3和dec2中)或最终预测(在块dec1中)。如果我们为进一步的处理生成语义特征,那么我们将应用一个3×3卷积,如在融合阶段中所解释的那样。如果我们为最终预测生成语义特征,我们应用一个dropout来减少过度拟合,然后通过一个3×3卷积来调整特征映射的输出通道的数量到类的数量。此外,我们应用每个像素的softmax函数来生成一个语义分割图,我们还应用双线性插值来放大一个低分辨率的特征地图的原始大小的图像。
Dense Decoder Shortcut Connections for Single-Pass Semantic Segmentation
图像金字塔。图像金字塔作为一种多尺度图像表示,用于提取多尺度图像的特征,在语义分割中得到了广泛的应用。通常,在建立一个图像金字塔之后,在每个尺度上分别进行语义分割,并在不同尺度上对结果进行平均[5,7,9,26,31,39,54]。然而,对每个规模分别运行推断步骤会显著增加处理时间,使得这种方法对于许多实际应用程序来说是不切实际的。此外,使用图像金字塔会显著增加内存需求,使得不可能使用单个GPU端到端的训练整个网络。因此,图像金字塔仅用于推理步骤,使得这类方法工程化程度很高
密集解码器的短路连接。我们没有直接使用图像金字塔,而是引入了密集解码器的短路连接,如图1所示。我们将解码器的块视为一个语义特征的层次结构,就好像它是由图像金字塔创建的一样。我们的级联架构能够有效地从单次图像推理创建多尺度的特征金字塔。我们密集解码器的短路连接使用特征金字塔的概念,并连接的每个输出解码器decx和每个解码器的输入块decy,其中x > y。这是让解码器从以前所有使用语义特征映射(高级)解码器纠正任何潜在的错误之前介绍了译码器。我们密集的解码器短路连接有效地融合了来自不同尺度的语义特征映射,并允许从一个块到另一个块的有效信息传播。这大大降低了内存需求,并允许我们在使用多尺度特征金字塔的同时,在一个拥有12gb内存的单一GPU上端到端的培训整个网络。此外,如果需要,还可以使用图像金字塔进行多尺度推理和评价,从而产生多尺度特征金字塔金字塔。
此外,我们的网络中还有两种短路连接方式:短程和远程。短程跳跃连接是残差块的标识映射,参见图2,它允许正向和反向信号直接从一个块传播到任何其他块[19]。特征级的远程跳跃连接将深层粗糙层的语义信息与浅层精细层的外观信息结合起来。我们将FCN-8[36]使用2个远程跳跃连接的想法扩展到3个远程快捷连接,但是由于存在这样的差异,FCN的跳跃连接用于融合预测,而我们的跳跃连接用于融合语义特征。我们的远程跳跃连接发生在encx块和decx块之间,其中x{1,2,3},如图1所示。

  1. 实验
    我们综合评价了我们的方法在几个常用的语义分割数据集:Pascal VOC 2012 [13], Pascal- context [38], Pascal PersonPart [8], NYUD[47]和CamVid[3]。在接下来的小节中,我们将介绍实验设置、结果以及与最新技术的比较。
  2. 总结
    我们提出了一种新颖的端到端可训练的、深度的、编码-解码器结构,用于单通道语义分割。我们的方法基于级联架构,具有特征级别的远程跳跃连接。我们已经合并了ResNeXt的残差块的结构,并采用了重复构建块的策略,该策略聚合了一组具有相同拓扑结构的转换。此外,我们还提出了一种新的解码器架构,它由多个块组成,每个块捕获上下文信息,生成语义特征,并支持不同输出分辨率之间的融合。至关重要的是,我们引入了密集的解码器短路连接,允许解码器块使用来自所有先前解码器级别的语义特征映射,即来自所有更高级别的特征映射。密集解码器的短路连接允许有效的信息从一个解码器块传播到另一个解码器块,并允许多层特征融合,显著提高了准确性。我们在不同的语义分割数据集上对我们的方法进行了广泛的评估,在几个具有挑战性的数据集上获得了最先进的性能,而不需要花费时间对以前的工作进行多尺度平均。此外,我们密集的解码器快捷连接已经表明,它们很可能也适用于其他架构。

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