论文地址:https://arxiv.org/pdf/1511.03339.pdf
发表时间:2016
在全卷积神经网络(FCNs)中结合多尺度特征一直是实现语义图像分割最新性能的关键因素。提取多尺度特征的一种常见方法是将多个调整后的输入图像提供给一个共享的深度网络,然后将得到的特征合并起来进行像素级分类。在这项工作中,我们提出了一种注意机制,学习在每个像素位置的多尺度特征。我们采用了一个最先进的语义图像分割模型,我们与多尺度输入图像和注意力模型共同训练它。所提出的注意力模型不仅优于平均池化和最大池化,而且允许我们通过诊断来可视化不同位置和尺度上的特征的重要性。此外,我们还表明,在合并多尺度特征时,对每个尺度的输出添加额外的监督对于获得优异的性能至关重要。我们在三个具有挑战性的数据集上进行了广泛的实验,证明了我们的模型的有效性,包括PASCAL-Person-Part, PASCAL VOC 2012 和MS-COCO 2014的一个子集。
1. Introduction
语义图像分割,也被称为图像标记或场景解析,涉及到为图像中的每个像素分配语义标签(例如,“人”或“狗”)的问题。这是计算机视觉中一项非常具有挑战性的任务,也是场景理解[18]最关键的步骤之一。成功的图像分割技术可以促进大量的应用,如图像编辑[17]、增强现实[3]和自动驾驶汽车[22]。
最近,各种基于全卷积网络(FCNs)[38]的方法[11,15,37,42,58,34]在几个语义分割基准测试上显示出了惊人的结果。在这些模型中,使用多尺度特征[19,45,27,38,41,34]是成功进行语义分割的关键要素之一。在全卷积网络中,利用多尺度特征的网络结构主要有两种类型[54]。
第一种类型,我们称之为skip-net,它结合了来自FCNs[27,38,41,11]的中间层的特征。由于接受域的大小越来越大,一个skip-net的特征在本质上是多尺度的。在训练过程中,skip-net通常采用两步过程[27,38,41,11],首先训练深度网络主干,然后在多尺度特征提取过程中进行修复或稍微进行微调。该策略的问题是训练过程并不理想(即分类器训练和特征提取是分开的),而且训练时间通常较长(例如,3-5天的[38])。
第二种类型,我们称之为share-net,它将输入图像调整到多个尺度,并将每个尺度通过一个共享的深度网络。然后,根据所得到的多尺度特征[19,34]的融合,计算出最终的预测结果。共享网不需要上面提到的两步培训过程。它通常在[20,14,44,15]尺度上使用平均或最大池。每个尺度上的特征要么同样重要,要么被稀疏的选择。
近年来,注意力模型在一些计算机视觉和自然语言处理方面取得了巨大的成功[5,40,55,9]。注意力不是将整个图像或序列压缩成静态表示,而是允许模型根据需要关注最相关的特征。在这项工作中,我们结合了一个注意模型的语义图像分割。与之前在二维空间和/或时间维度[48,56]中使用注意模型的工作不同,我们探索了其在尺度维度上的影响。
特别地,我们将一个最先进的语义分割模型[11]应用到一个share-net中,并使用一个软注意模型[5]来推广尺度上的平均池和最大池,如图1所示。所提出的注意模型学习根据图像中呈现的目标尺度对多尺度特征进行加权(例如,模型学习对大对象的粗尺度特征施加大的权重)。对于每个尺度,注意模型输出一个权重图,逐像素对特征进行加权,然后使用FCN对所有尺度产生的得分图的加权和进行分类。
在[6,33,50,54]的激励下,我们进一步对每个尺度上的FCNs的输出引入了额外的监督,我们发现这对于更好的性能至关重要。我们共同训练注意力模型和多尺度网络。我们在几个具有挑战性的数据集上证明了我们的模型的有效性,包括PASCAL-Person-Part, PASCAL VOC 2012 和MS-COCO 2014的一个子集。实验结果表明,我们提出的方法在强基线上可以持续改进。与平均池化方法和最大池化方法相比,注意组件也给出了一个重要的改进。更重要的是,所提出的注意力模型提供了诊断可视化,通过可视化每个图像位置的每个尺度上的特征的重要性来揭示黑盒网络的操作。
2. Related Work
我们的模型从几个领域获得了成功,包括深度网络、语义分割的多尺度特征和注意力模型。
深度网络:深度卷积神经网络(DCNNs)[32]已经在几个计算机视觉任务上展示了最先进的性能,包括图像分类[31,47,50,49,44]和目标检测[24,28]。对于语义图像分割任务,最先进的方法是全卷积神经网络(FCNs)[38]的变体,包括[11,15,34,42,58]。特别是,我们的方法建立在当前最先进的深度实验室模型[11]之上。
多尺度特征:众所周知,多尺度特征对计算机视觉任务很有用,如[21,2]。在语义分割的深度网络的背景下,我们主要讨论了两种利用多尺度特征的网络。第一种类型,skip-net,利用了来自网络不同级别的特性。例如,FCN-8s逐步学习更精细的尺度(训练图像的分辨率越来越高)。哈里哈兰等人[27]用超列表示对一个像素进行了分类(即,来自中间层的特征的连接)。Hariharan等人[41]将一个超像素分类,从一个小的近邻提取到整个图像区域。11将多层感知器(MLPs)应用于输入图像和池化层的输出,以提取多尺度特征。ParseNet[36]聚合了整个图像上的特性,以提供全局上下文信息。
第二种类型是share-net,它将多尺度的输入图像应用于共享网络。例如,Farabet等人[19]采用了一个拉普拉斯金字塔,将每个尺度通过一个共享的网络,并融合了所有尺度的特征。Lin等人[34]将输入图像调整为三个尺度的大小,并将得到的三个尺度特征连接起来,以生成条件随机场(CRF)的一元势和成对势。Pinheiro等人[45],不是一次性应用多尺度输入图像,而是在循环卷积神经网络中输入不同阶段的多尺度图像。Dai等人[15]在测试阶段也采用了这种份额净策略,以获得更好的性能。在这项工作中,我们将DeepLab[11]扩展为一种共享网络,并在三个具有挑战性的数据集上证明了它的有效性。请注意,Eigen和Fergus[16]以从粗到细的三个尺度顺序将输入图像输入给dcnn。不同尺度下的dcnn具有不同的结构,其模型需要进行两步训练过程。
深度网络的注意模型:在计算机开发中,注意模型被广泛应用于目标年龄分类[8,25,53]和目标检测[4,7,57]。Mnih等人[40]学习了一个注意模型,它自适应地转向图像区域进行处理。然而,他们的注意力模型是不可微的,这对于训练过程中的标准反向传播是必要的。另一方面,Gregor等人[25]使用可微注意模型来指定读写图像区域的图像生成。Bahdanau等人[5]提出了一个注意模型,在预测机器翻译的目标词时,温和地加权源句中输入词的重要性。随后,Xu等人[55]和Yao等人[56]分别使用注意力模型进行图像字幕和视频字幕。这些方法将注意力应用于二维空间和/或时间维度,而我们使用注意力来识别最相关的尺度。
注意尺度:为了合并来自多尺度特征的预测,有两种常见的方法:平均池化[14,15]或最大池化[20,44]。在[5]的激励下,我们提出联合学习一个注意模型,该模型在预测一个像素的语义标签时,对来自不同输入尺度的特征进行温和的权重。我们的模型的最终输出是由所有尺度上的得分图的加权和产生的。我们表明,所提出的注意力模型不仅提高了平均池化和最大池化的性能,而且还允许我们诊断不同位置和尺度的特征的重要性,将我们与现有的利用多尺度特征进行语义分割的工作分离开来。
3. Model
3.1. Review of DeepLab
FCNs在语义图像分割[15,37,58]中已被证明是成功的。在本小节中,我们简要回顾了DeepLab模型[11],它是FCNs[38]的一个变体。DeepLab采用[49]最先进的分类网络16层(即VGG-16网)结构。该网络被修改为全卷积网络[38],产生密集的特征图。特别是,原始VGG-16网的最后一个完全连接的层被转换为卷积层(例如,最后一层具有大小为1×1的空间卷积核)。原始VGG-16净的空间抽取因子为32,因为使用了5个最大池化层,每个层的步幅为2。DeepLab通过使用孔洞卷积[39]将其减少到8,并采用线性插值将最后一层的分数图到原始图像分辨率提高8倍。DeepLab[11]有几个变体。在本工作中,我们主要关注DeepLab-largeFOV。后缀LargeFOV来自于这样一个情况:该模型在fc6的卷积变体(fc6是VGG-16网络中最初的第一个全连接层)上使用空洞卷积增大layer的感受野,调整滤波器的权值。
3.2. Attention model for scales
在此,我们将讨论了如何合并我们所提出的模型的多尺度特征。我们提出了一个注意模型,学习加权多尺度特征。平均池[14,15]或最大池[20,44]的尺度合并特征可以考虑作为我们的方法的特殊情况。
基于share-net,假设一个输入图像的大小被调整到几个尺度的 s ∈ 1 , . . . , S s∈{1,...,S} s∈1,...,S。每个尺度通过DeepLab(FCN权重共享所有尺度)生成尺度s的score map,表示为 f i , c s f_{i,c}^s fi,cs,其中i为空间位置,c为类别C。通过双线性插值, f i , c s f_{i,c}^s fi,cs被调整为具有相同的分辨率(相对于最好的尺度)。我们用 g i , c g_{i,c} gi,c表示所有尺度的(i,c)处的得分图的加权和,即:
g i , c = ∑ s = 1 S w i s ⋅ f i , c s (1) g_{i, c}=\sum_{s=1}^{S} w_{i}^{s} \cdot f_{i, c}^{s} \tag{1} gi,c=s=1∑Swis⋅fi,cs(1)
其中权重 w i s w_{i}^{s} wis为softmax计算的结果,公式为:
w i s = exp ( h i s ) ∑ t = 1 S exp ( h i t ) (2) w_{i}^{s}=\frac{\exp \left(h_{i}^{s}\right)}{\sum_{t=1}^{S} \exp \left(h_{i}^{t}\right)} \tag{2} wis=∑t=1Sexp(hit)exp(his)(2)
其中, h i s h_i^s his为attention模型在尺度s上关于位置i的score map(Softmax前一层的输出), w i s w_{i}^{s} wis是在所有通道共享的。attention模型由另一个参数化的FCN模型构成,从而产生密集的map。所提出的注意力模型采用来自VGG16中fc7的特征做输入,它包含了2个layer(第一个layer为chanel:512,ksize:3x3的卷积,第二个layer为chanel:S,ksize:1x1的卷积,其中S为尺度的数量)。我们将在实验结果中讨论这种设计的选择。
权重 w i s w_i^s wis反映了在位置i和尺度s上的特征的重要性。因此,注意模型决定了对不同位置和尺度上的特征的关注程度。它进一步使我们能够通过可视化 w i s w_i^s wis来可视化每个尺度的注意力。注意,在我们的公式中,尺度上的平均池化或最大池化是两种特殊情况。特别是,权重是在公式(1)将被1/S替换则为平均池化,而被sum操作替换成为最大池化,在最大池化的情况下, w i s = 1 w_i^s=1 wis=1。
我们强调,注意模型为每个尺度和位置计算一个软权值,它允许损失函数的梯度通过反向传播,类似于[5]。因此,我们能够联合训练注意力模型和FCN(即DeepLab)的端到端部分。该联合训练的一个优点是,避免了对每个像素的“地面真实尺度”的繁琐注释,使模型能够自适应地找到尺度上的最佳权值。
3.3. Extra supervision
我们使用在像素级上标注的训练图像来学习网络参数。最终的输出是通过对所有合并后的score map执行softmax操作得到的。我们用随机梯度下降(SGD)最小化所有图像位置的交叉熵平均损失。网络参数从[49]的imagenet预训练的VGG-16模型中初始化。
除了对最终输出引入的监督外,我们还为每个尺度[33]的FCN添加了额外的监督。这背后的动机是,我们希望合并有判别性的特征(在池化或注意模型之后),以获得最终的分类器输出。正如[33]所指出的,用鉴别特征训练的判别分类器在分类任务中表现出更好的性能。我们没有向中间层[6,33,50,54]添加额外的监督,而是为每个尺度的DeepLab的最终输出注入额外的监督,以便要合并的特征被训练为更具鉴别性。具体来说,总损失函数包含1+S个交叉熵损失函数(一个为最终输出,一个为每个尺度),每个尺度的权重为1。训练期间的GT被适当地降采样。
4. Experimental Evaluations
在本节,列出了所有的实验设置,我们在三个数据集( PASCAL-Person-Part [13], PASCAL
VOC 2012 [18],和MS-COCO 2014 [35]的子集)上评估我们的方法。
Network architectures: 我们的网络是基于公开可用的模型,DeepLab-LargeFOV[11],它将VGG-16网络[49]修改为FCN[38]。我们对DeepLab-LargeFOV使用与[11]相同的设置。
Training: MBSGD用于训练。我们设置了30张图像的小批处理大小,初始学习率为0.001(最终的分类器层为0.01)。经过2000次迭代后,学习率乘以0.1。我们使用的动量为0.9,权重衰减为0.0005。在一个NVIDIA特斯拉K40GPU上,对所有报告的实验进行微调我们的网络大约需要21个小时。在训练过程中,我们的模型接受所有按比例调整的输入,并共同执行训练。因此,总的训练时间是普通的DeepLab-largefov的两倍。一个PASCAL图像的平均推理时间为350 ms。
Evaluation metric: 性能是通过类[18]的像素交叉并并(IOU)平均值来衡量的。
Reproducibility: 该方法是通过扩展Caffe框架[29]来实现的。代码可以在 http://liangchiehchen.com/projects/DeepLab.html 中找到。
Experiments: 为了证明我们的模型的有效性,我们主要沿着三个轴进行实验:(1)多尺度输入(从一个尺度到三个尺度,s∈{1,0.75,0.5}),(2)不同的方法(平均池、最大池或注意模型)来合并多尺度特征,(3)以及有或没有额外监督的训练
4.1. PASCAL-Person-Part
Dataset: 我们对语义部分进行实验,由[13]从VOC 2010数据集进行标注。通常[51,52]对数据集的动物部分分割的工作很少。另一方面,我们更关注数据集的人物部分,它包含更多的训练数据和大规模的变化。具体来说,该数据集包含了针对每个人的详细部分注释,包括眼睛、鼻子等。我们将这些注释合并为头部、躯干、上/下臂和上/下腿,从而得到人的六个部分类和一个背景类。我们只使用那些包含人物的图像进行训练(1716张图像)和验证(1817张图像)。
Improvement over DeepLab: 我们将在表1中报告这些结果。当使用DeepLab-LargeFOV作为基线时。我们发现,使用两个输入量表比只使用一个输入量表更好,而且它也略优于使用三个输入量表结合平均池化或注意模型。我们假设,当合并三个尺度输入时,要合并的特征必须具有足够的区别性或直接的融合会降低性能。另一方面,最大池化似乎对这种效果是稳健的。无论使用多少个尺度,我们的注意力模型都比平均池和最大池产生更好的结果。我们进一步在图4中可视化了由最大池化和我们的注意模型产生的权重图,这清楚地表明,我们的注意模型在不同的尺度下学习了更好的可解释的权重图。此外,我们发现,通过对每个尺度的fcn引入额外的监督,可以显著提高性能(见w/E-Supv列),无论采用什么合并方案。结果表明,添加额外的监督是合并多尺度特征的必要条件。最后,将我们提出的方法与DeepLab-MSc-LargeFOV进行了比较,后者利用中间层的特征进行分类(MSc表示多尺度特征)。注意:DeepLabMSc-LargeFOV是一种skip-net。我们的最佳模型(56.39%)比其性能DeepLabMSc-LargeFOV(53.72%)好2.67%。
Design choices: 所有的实验报告在这项工作中,我们提出的注意力模型作为输入卷积f c7特性[49],并采用FCN组成的两层(第一层有512过滤器内核大小3×3和第二层过滤器内核大小1×1,S是规模的数量)。我们实验了不同的设置,包括只对注意模型使用一层,将第一层的内核更改为1×1,以及改变第一层的过滤器的数量。性能变化不大;退化范围为0.1%到0.4%。此外,我们发现使用fc8作为注意模型的特征会导致更差的性能(∼下降了0.5%),而fc6和fc7的结果相似。我们还尝试再增加一个尺度(总共四个尺度:s∈{1,0.75,0.5,0.25}),然而,性能下降了0.5%。我们认为s=0.25尺度下生成的分数图太小,作用有限。
Qualitative results: 我们在图5中将部分分割结果以及注意模型产生的权重图可视化。通过attention模型合并多尺度特征不仅仅产生了更好的性能,且更好的解释了权重map。特别地,scale-1 attention(尺度为1时的attention输出的权重map)通常关注小物体,scale-0.7关注中间尺度的物体,scale-0.5通常给大尺度的物体或者背景给予更多的权重。因为当图像被缩小为原始分辨率的一半时,就可以更容易地捕捉到最大比例的对象或背景上下文信息。
Failure modes: 我们在图5的底部展示了两个失败的案列,这是由于人体质态极其复杂或人体部件存在遮挡叠加。这第一个问题可用通过增加数据解决,而第二个问题则更具挑战性,因为人体的部件通常被衣物遮挡。
Supplementary materials: 在辅助材料中,我们使用我们的预训练模型应用于MPII Human Pose dataset中的一些视频中。这个模型并没有在MPII数据中进行预训练,其结果是一帧一帧的计算输出的。如视频所示,经过图像来自其他数据集,我们的模型依旧能产生可解释的且视觉效果良好的分割结果,并在不同的尺度下推出出有意义的attention。此外,我们在整个补充材料中为整个数据集提供了更多定性的结果。
4.2. PASCAL VOC 2012
Dataset: PASCAL VOC 2012分割基准[18]由20个前景对象类和一个背景类组成。按照相同的实验协议[11,15,58],我们从[26]的注释中增加了原始的训练集。我们报告了原始的PASCAL VOC 2012验证集和测试集的结果。
Pretrained with ImageNet: 首先,我们实验了这样一个场景,即底层的DeepLab-LargeFOV只在ImageNet[46]上进行了预训练。我们复现的DeepLab-LargeFOV and DeepLab-MSc-LargeFOV在验证集上性能为62.28% 和 64.39%。它们与[11]中报告的数据(62.25%和64.21%)相似。我们在表3报告了所提出的方法的结果。 3.我们观察到与PASCAL-人-部分数据集相似的实验结果:(1)使用两个输入尺度比单一输入尺度更好。(2)增加额外的监督是为了实现更好的性能是必要的,特别是对于平均池化和提出的注意模型。(3)通过三种尺度输入、注意模型和额外监督,获得了最佳性能(比DeepLabLargeFOV基线提高了6.8%),其性能比DeepLab-MSc-LargeFOV(64.39%)好4.69%。
我们还在表4中报告了我们的最佳模型的测试集的结果。 首先,我们观察到注意模型比平均池化提高了1%,这与我们在验证集上的结果一致。然后,我们将我们的模型与DeepLab-LargeFOV和DeepLabMSc-LargeFOV[11]进行比较。我们发现,我们提出的模型比DeepLab-LargeFOV提高了6.4%,比DeepLab-MScLargeFOV提高了4.5%。最后,我们将我们的模型与其他两种方法进行了比较:ParseNet[36]和TTI zoomout v2[41]。ParseNet将图像立面特征作为全局上下文信息合并。我们将ParseNet作为利用多尺度特征的一种特例,其中整个图像由图像级特征进行总结。TTI zoomout v2也利用了不同空间尺度上的特征.如表4中所示,我们提出的模型的性能都优于这两者。注意,这里讨论的任何方法都没有使用完全连接的CRF[30]。
Pretrained with MS-COCO: 其次,我们实验使用的底层基线DeepLabLargeFOV已经在MS-COCO 2014数据集[35]上进行了预先训练。我们的目标是测试在如此强大的基线下,我们是否还能观察到任何改善。如表5中所示,我们再次观察到类似的实验结果,我们的最佳模型仍然比DeepLab-LargeFOV基线高出3.84%。我们还在表4的底部报告了测试集上的最佳模型。 为了与在测试集上报告的DeepLab变体进行公平的比较,我们使用了一个完全连接的CRF[30]作为后处理。如表中所示,我们的模型达到了75.1%的性能. 分别超过DeepLab-CRF-LargeFOV 2.4%和DeepLab-MScCRF-LaregeFOV 1.5%。在[34]的启发下,在训练过程中通过随机缩放输入图像(从0.6到1.4)来合并数据增强,为我们的模型带来了0.6%的额外改进。
4.3. Subset of MS-COCO
数据集:MS-COCO2014数据集[35]包含80个前景对象类和1个背景类。训练集有大约80K图像和40K图像用于验证。我们从训练集中随机选择10K张图像,从验证集中随机选择1500张图像(得到的训练和验证集与我们用于pascalVOC2012的大小相同)。目标是在另一个具有挑战性的数据集上演示我们的模型。
对DeepLab的改进:除了观察到与之前相似的结果外,我们发现DeepLabLargeFOV基线在表6中达到了较低的平均IOU 31.22%。由于MS-COCO数据集的困难(例如,较大对象的尺度差异和更多的对象类)。然而,使用多尺度的输入、注意模型和额外的监督仍然可以比DeepLab-LargeFOV基线提高4.6%,比DeepLabMSc-LargeFOV提高4.17%(31.61%)。我们发现,采用平均池化和注意模型作为合并方法的结果非常相似。我们假设许多小的预测精度类别(如叉、鼠标和牙刷)会降低改进。这个具有挑战性的问题(即,分割小对象和处理不平衡的类)被认为是未来的工作。
另一方面,我们在表7中显示了人物类的性能。因为它在该数据集中出现最频繁,且以不同的尺度出现(见图5(a),在[35]中为图13(b))。如表7所示,从这种情况下,提出的方法变得更加明显,我们观察到与以前相同结果的定性结果如图7所示。
5. Conclusion
对于语义分割,本文采用了一种最先进的模型(即DeepLab-LargeFOV)来利用多尺度输入。在三个数据集上的实验表明:(1)使用多尺度输入比单尺度输入具有更好的性能。(2)将多尺度特征与所提出的注意模型合并,不仅提高了平均或最大池基线的性能,而且还允许我们诊断可视化不同位置和尺度上的特征的重要性。(3)通过对每个规模的网络最终输出添加额外的监督,可以获得卓越的性能。
补充图片