摘要:
深度神经网络采用空间金字塔池模块或编解码器结构来完成语义分割任务。前一种网络通过滤波或池化操作以多种速率和多个有效视场探测输入特征,从而实现多尺度上下文信息的编码;后一种网络通过逐渐恢复空间信息来捕获更清晰的目标边界。在这项工作中,我们建议将这两种方法的优点结合起来。具体来说,我们提出的模型DeepLabv3+扩展了DeepLabv3,通过添加一个简单而有效的解码器模块来细化分割结果,特别是沿着目标边界。我们进一步探索 Xception model,并将深度可分离卷积应用于Atrous空间金字塔池和解码器模块,从而产生更快,更强的编码器-解码器网络。我们在PASCAL VOC 2012和cityscape数据集上验证了该模型的有效性,在没有任何后处理的情况下,测试集的性能分别达到89.0%和82.1%。我们的论文附有Tensorflow中提出的模型的公开参考实现
关键词:语义图像分割,空间金字塔池,编解码器,深度可分离卷积。
深度可分离卷积将这个过程分成两个独立的步骤:
深度卷积(Depthwise Convolution): 对输入的每个通道应用一个单独的卷积核。每个输入通道都有自己的卷积核,但所有通道共享相同的卷积核。这一步在深度上进行卷积,独立处理每个通道。
逐点卷积(Pointwise Convolution): 在深度卷积的输出上应用 1x1 的卷积核,将深度卷积的输出通道映射到最终的输出通道。这一步在每个空间位置上执行 1x1 的卷积,用于组合深度卷积的结果。
深度可分离卷积相对于标准卷积具有以下优势:
参数效率: 由于深度卷积和逐点卷积分别使用更小的卷积核,深度可分离卷积具有更少的参数量,从而减少了计算和存储需求。
计算效率: 分解为两个步骤的深度可分离卷积通常需要更少的计算,因为逐点卷积的计算量较小。
表达能力: 尽管深度可分离卷积减少了参数量,但在许多情况下,它仍然能够保持较好的特征表示能力。
深度可分离卷积在轻量级模型和移动设备上的应用变得越来越流行,因为它提供了更高的计算效率和更小的模型尺寸,同时仍然能够保持良好的性能。
Atrous空间金字塔池(Atrous Spatial Pyramid Pooling,ASPP)是一种用于图像语义分割的模块,它可以在不同的尺度上对卷积特征进行池化操作,以捕捉不同尺度下的上下文信息。ASPP模块采用了空洞卷积(Atrous Convolution)的思想,通过在卷积核中插入空洞,可以在不增加计算量的情况下扩大感受野,从而提高特征的表达能力。ASPP模块通常被用作DeepLabv3等图像分割模型的一部分,以提高模型的性能。
1 Introduction
语义分割的目标是为图像中的每个像素分配语义标签[1,2,3,4,5],这是计算机视觉的基本主题之一。基于全卷积神经网络[8,11]的深度卷积神经网络[6,7,8,9,10]在基准任务上比依赖手工制作特征的系统[12,13,14,15,16,17]表现出惊人的改进。在这项工作中,我们考虑了两种类型的神经网络,它们使用空间金字塔池化模块[18,19,20]或编码器-解码器结构[21,22]进行语义分割,前者通过池化不同分辨率的特征来捕获丰富的上下文信息,后者能够获得清晰的对象边界。
为了在多个尺度上捕获上下文信息,DeepLabv3[23]应用了几种不同速率的parallel atrous convolution(ASPP),而PSPNet[24]在不同的网格尺度上执行池化操作。尽管在最后的特征映射中编码了丰富的语义信息,但由于网络骨干内部的池化或跨步操作的卷积,丢失了与对象边界相关的详细信息。这可以通过应用atrous convolution来提取更密集的特征映射来缓解。然而,考虑到最先进的神经网络的设计[7,9,10,25,26]和有限的GPU内存,提取比输入分辨率小8倍甚至4倍的输出特征映射在计算上是禁止的。以ResNet-101[25]为例,当应用atrous convolution提取比输入分辨率小16倍的输出特征时,必须对最后3个残差块(9层)内的特征进行扩展。更糟糕的是,如果输出特征比输入小8倍,26个剩余块(78层!)将受到影响。因此,如果为这种类型的模型提取更密集的输出特征,则计算量很大。另一方面,编码器-解码器模型[21,22]可以在编码器路径中更快地计算(因为没有扩展特征),并在解码器路径中逐渐恢复清晰的对象边界。我们尝试结合两种方法的优点,提出通过加入多尺度上下文信息来丰富编码器-解码器网络中的编码器模块。
特别是,我们提出的DeepLabv3+模型扩展了DeepLabv3[23],增加了一个简单而有效的解码器模块来恢复目标边界,如图1所示。丰富的语义信息在DeepLabv3的输出中进行编码,使用atrous convolution 允许根据计算资源的预算控制编码器特征的密度。此外,解码器模块允许详细的目标边界恢复。
受到最近深度可分离卷积在 [27,28,26,29,30] 中的成功启发,我们也探索了这个操作,并通过调整 Xception 模型 [26](类似于 [31] 的方式),用于语义分割任务,展示了在速度和准确性两方面的改进。我们应用空洞可分离卷积到ASPP(Atrous Spatial Pyramid Pooling)和解码器模块,进一步提高了性能。最后,我们在PASCAL VOC 2012和cityscape数据上验证了该模型的有效性,在没有任何后处理的情况下,测试集的性能分别达到89.0%和82.1%,创下了新的水平。
贡献是:
- 我们提出了一种新的编码器-解码器结构,该结构采用DeepLabv3作为强大的编码器模块和简单有效的解码器模块。
- 在我们的结构中,我们可以通过atrous convolution来任意控制提取的编码器特征的分辨率,以权衡精度和运行时间,这在现有的编码器-解码器模型中是不可能的。
- 我们将Xception模型用于分割任务,并将深度可分离卷积应用于ASPP模块和解码器模块,从而得到更快、更强的编解码器网络。
- 我们提出的模型在PASCAL VOC 2012和cityscape数据集上实现了新的最先进的性能。我们还提供了设计选择和模型变体的详细分析。
2 Related Work
基于全卷积网络(Fully Convolutional Networks, FCNs)的模型[8,11]在多个分割基准测试[1,2,3,4,5]上表现出了显著的改进。为了利用上下文信息进行分割,提出了几种模型变体[12,13,14,15,16,17,32,33],包括使用多尺度输入(即图像金字塔)[34,35,36,37,38,39]或采用概率图模型(如采用高效推理算法[41]的DenseCRF[40])[42,43,44,37,45,46,47,48,49,50,51,39]。本文