文献翻译Fully Convolutional Networks for Semantic Segmentation全卷积神经网络

Posted SSyangguang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文献翻译Fully Convolutional Networks for Semantic Segmentation全卷积神经网络相关的知识,希望对你有一定的参考价值。

全卷积神经网络

摘  要

卷积网络是一种强大的视觉模型,它可以产生层次化特征。我们展示了卷积网络这种端到端、像素对像素的训练模型,超过了语义分割的最新技术水平。本文的关键点是构建了“全卷积”神经网络,它是一种输入尺寸任意的端对端神经网络,同时网络有着高效的学习和推理过程。我们定义并详细说明了全卷积神经网络的结构,解释它们在像素位置密集型预测任务中的应用,并得出与先前模型之间的连接。本文将经典的分类网络(AlexNet,VGG16,GoogleNet)整合进全卷积神经网络,经过微调这些网络的学习表征方式来使他们适用于分割任务。然后,本文定义了跳结构将深层、粗糙的语义信息和浅层、精细的表层信息结合,产生准确精细的分割结果。本文提出的全卷积神经网络在PASCAL VOC、NYUDv2、SIFT Slow数据集取得了目前最好的分割结果,对这些数据集中的典型图像,每张的推理过程只需要不到0.2秒。其中在PASCAL VOC数据集中达到了62.2%的平均交并比。

1.介绍

卷积网络驱动着识别领域的进步。卷积网络不仅可以提高整图的分类效果,还可以提高有结构化输出的局部任务效果。这些进步包括以下领域:带有bounding box的目标检测任务、部件与关键点检测、局部匹配。

从粗推理到细推理过程中的下一个步骤是对每个像素进行预测。先前的语义分割方法有涉及到使用卷积网络的,这些方法是通过对每个像素封闭的目标或者区域的标记来标记像素本身的类别,但是这些方法都有各种各样的缺点,本文解决了这部分缺点。

我们推出了可以端对端训练、像素对像素训练的分割模型,效果超越了目前最好的传统方法模型。就我们所了解的来看,本文提出的模型是两个首次:首次可以对像素对预测进行端对端训练训练,首次可以进行有监督预训练。全卷积神经网络可以从任意输入尺寸的图像得到密集像素输出预测结果。学习和推理过程同时在整幅图像上进行密集的前向计算和反向传播。网络内部的上采样层通过子采样池实现网络中的像素预测和学习。

该模型不管在渐进性还是绝对性方面都是高效的,同时排除了在其他任务中的复杂性。patchwise训练较为普遍,但是缺少全卷积训练的高效性。我们的方法并不需要利用预处理和后处理过程,包括超像素、区域提取、随机场或局部分类器限制的后分析。我们通过将分类网络重新解释为全卷积,并且微调了从这些分类网络中学习到的表层信息,将近来分类领域成功转换成了我们的模型。作为对比,先前的模型应用了小型卷积层,但是没有应用有监督预训练。

语义分割面临着语义信息和位置信息的内在矛盾:全局信息解决了分类信息,而局部信息解决了位置信息。有层次结构的深度特征将位置和语义编码为非线性局部-全局金字塔模型。我们又定义了跳结构来利用这些特征把深层、粗糙的语义信息和浅层、精细的表层信息结合起来,该结构的介绍请看4.2节(图3)。

下一部分中,我们将回顾深度分类网络的相关工作、全卷积神经网络和最近利用了卷积层得语义分割模型。下面几节将解释全卷积神经网络的设计与如何权衡密集预测,介绍我们提出的上采样和多层结合的结构,描述我们的实验框架。最终,我们将演示我们在PASCAL VOC、NYUDv2、SIFT Slow数据集得到的极佳结果。

图1全卷积神经网络可以在例如予以跟风这种像素级任务中有效学习输出密集预测

2.相关工作

我们方法借鉴了近来深度网络在图片分类和迁移学习上的成功。迁移学习首次是在不同的视觉识别任务中出现,然后应用于检测,最后是混合区域提取模型中的实例分割和语义分割。我们重新设计了用于分类的网络结构并进行微调,使其能够产生直接的、可产生密集预测的语义分割结果。本文结构绘制了FCN模型结构,并且说明了先前的模型,包括早先的模型和最近的模型。

全卷积神经网络:就我们所知,第一次将卷积网络延伸至任意尺寸输入的想法来自于Matan等人,他们将经典的LeNet网络用于识别数字串。由于这种网络的输入受限于字符串的一维输入,Matan等人使用Viterbi解码器来获得输出。Wolf和Platt将卷积网络输出扩展为邮政地址块四个角的检测得分的二维映射图。这些方法都是通过推理学习来进行识别。Ning等人定义了一种卷积网络,可以使用全卷积化推理对Caenorhabditis线虫进行粗多类别分割。

全卷积化计算已经在最近的多层网络中被探究过了。例如,Sermanet等人提出的滑窗检测、Pinheiro和Collobert提出的语义分割模型、Eigen等人提出的图像重构模型都使用了全卷积化推理。全卷积化训练很少见,但是Tompson等人有效地利用它进行端对端检测器和姿态估计的空间模型,但是他们并未对该方法进行解释或分析。

He等人丢弃了分类网络的非卷积部分来做特征提取器。他们结合了区域提取和空间金字塔池化为分类做一个具有位置信息、长度固定的特征。虽然这个模型高效又快速,却不能进行端对端学习。

基于卷积网络的密集预测:近来多个模型将卷积网络应用于密集预测问题,包括Ning等人、Farabet等人、Pinheiro和Collobert提出的语义分割方法;Ciresan等人提出的电子显微镜图像边界预测模型、Ganin和Lempitsky等人提出的用于自然场景图像的混合卷积/最近领模型;Eigen等人提出的图像重构和深度估计。这类方法的共同要素包括:

• 模型的容量限制和感受野较小;

• patchwise训练;

• 使用超像素投影、随机场正则化、滤波和局部分类进行后处理;

• 为密集输出而进行的输入变换和输出交错;

• 多尺度金字塔处理;

• tanh函数;

• 网络集成;

不过我们提出的方法没有用到这些技术。然而,我们在3.4节研究patchwise训练,在3.2节从FCN的角度研究shift-and-stitch密集输出,在3.3节讨论了网络上采样。

不同于这些现存的方法,我们改进并延伸了深度分类网络结构,使用图像分类网络作为有监督预训练,微调全卷积部分来简单高效地从整图输入和整图GroundTruth进行学习。

Hariharan等人和Gupta等人同样也将深度分类网路进行了改进用于语义分割,但是他们的方法是混合区域提取-分类的模型方法。这些方法通过对检测,语义分割和实例分割的边界框和区域提取进行采样来微调R-CNN系统。其中没有任何一个方法是端对端训练的。这些方法在PASCAL VOC 和NYUDv2数据集上分别获得了最出色的分割结果,所以我们直接在第5部分将我们的FCN模型和他们的语义分割结果做了对比。我们融合各层的特征来定义我们端到端调整的非线性局部-全局表示。在目前的方法中Hariharan等人也在他们的语义分割混合模型中使用了多个层。

3.全卷积神经网络

卷积网络中的每一个数据层都是尺寸为h×w×d的三维数组,h和w代表空间维度,d表示特征维度或者通道数量。第一层是尺寸为h×w,d个颜色通道的输入图像。较深层中的位置对应于它们路径连接的图像中的位置,这些位置称为其感知野。

卷积网络建立在平移不变性上。它的基本组成部分(卷积层、池化层、激活函数)在局部输入区域上运行,并且依赖于相对空间坐标。令代表某一层中位置(i, j)的数据向量,代表下一层中的数据向量,则可以通过下面公式计算得到。

其中, k代表卷积核的尺寸, s代表步长,决定层的类型:用于卷积或者平均池化的矩阵相乘、用于最大池化的空间最大值、用于激活函数的非线性elementwise和其他各种花样的层类型。

函数形式如下,卷积核尺寸和步长遵守转换规则,

一般的深度网络可以计算出一个一般的非线性函数,如果一个网络只用这种形式的层计算得到一个非线性滤波器,我们便称其为深度滤波器或者全卷积神经网络。一个全卷积神经网络本质上可以在任意尺寸输入上运行,产生和输入空间维度对应的输出。

一个带有实值损失函数的全卷积神经网络就可以定义一个任务了。如果损失函数是末层空间维度的和,即,则它的梯度将是每层空间组成梯度总和。因此在所有图像上对末层损失函数计算随机梯度下降就相当于对所有层的损失函数计算了随机梯度下降,将末层的所有感受野作为minibatch。

当这些感受野明显重叠时,不将整幅图分为小图计算,而是对整幅图直接进行层之间的计算时,前向计算和后向传播都会变得更为高效。

接下来我们将会解释如何将分类网络转化为全卷积神经网络用于产生粗输出映射图。对于像素级预测,我们需要将这些粗映射图和原图的像素联系起来。由于这个原因,3.2节引入了一个叫快速扫描的技巧,通过将其重新解释为等效的网络修正来深入了解这一技巧。作为一种有效的替代方法,我们在3.3节介绍了用于上采样的反卷积层。3.4节我们考虑用patchwise采样进行训练,并且在4.3节给出了证明:我们的整图训练方法快速而有效。

3.1改进分类器用于密集预测

典型的识别网络,包括LeNet,AlexNet和其他深度网络,表面看来都是采用了固定尺寸的输入,产生没有空间位置信息的输出。这些网络的全连接层都有固定的维度,同时丢弃了空间坐标信息。然而,这些全连接层也可以看作是一个覆盖整个输入区域的卷积核。这样处理就可以将这些传统网络模型转换为全卷积神经网络,可以接受任意尺寸的输入并产生一个分类输出映射。这个转换如图2所示。

图2将全连接层转换为卷积层可以使分类网络输出一个热映射图。增加层数和空间损失(图1)可以生成有效的端对端学习机制。

此外,当最终结果的映射图等价于原始网络在特殊输入patch上的估算时,计算大多摊销在在这些patch的重叠区域上。例如AlexNet推理一张227×227的图像分类得分需要1.2毫秒,而全卷积神经网络从500×500的原始图像上生成10×10的输出映射图需要22毫秒,这比朴素法快了5倍多。

对于密集问题(例如语义分割),自然而然就要选这些卷积模型的空间输出映射图。每个Groundtruth可用的输出单元,前向和后向过程都是直接的,它们都利用了卷积的固有的计算效率(和可极大优化性)。AlexNet对应的后向传播时间需要2.4毫秒,全卷积神经网络生成10×10的输出映射需要37毫秒,结果就是相对于前向过程速度加快了。

当我们重新将分类网络解释为从任意输入尺寸产生输出的全卷积神经网络时,输出的尺寸也因为下采样而降低了。分类网络下采样时会要求保持卷积核尺寸较小、计算力要求合理。这些网络的全卷积版本使得输出变得粗糙,将其从原本输入的大小减小到等于输出单元感受野像素步长相同的因子大小。

3.2Shift-and-stitch

从粗输出获得密集预测,可以通过将平移版本的输入和输出拼接来获得。如果输出是用因子f进行下采样的,将横轴像素向右移动x个像素,纵轴像素向下移动y个像素,每次移动的像素数量(x,y)满足0≤x,y<f。处理这些输入中的每一个,并交错输出,使得预测对应于其感受野中心处的像素。

尽管单纯地执行这种转换增加了的这个因子的代价,有一个非常出名的技巧可以有效产生相同的结果 ,它在小波领域被称为多孔算法。考虑有一个步长为s的层(卷积层或者池化层)和一个其后权重为(忽略不相关的特征维数)的卷积核。设置较浅层的输入步长为1,可以将其输出尺寸上采样至s倍。然而,将原始的卷积核与上采样得到的输出进行卷积并没有得到和shift-and-stitch相同的结果,因为原始卷积核只能感知经过下采样的低分辨率映射图。为了重现这个技巧,通过下式将其放大为稀疏滤波器。

用这个技巧去重现整个网络输出包括一层一层地重复放大卷积核,直到所有子采样被移除。(实际上,这个过程可以被处理上采样输入时的子采样版本过程有效解决。)

在网路中减少子采样是一种折中的方法:卷积核可以感知更为具有更多细节的信息,但是同时感受野会变小,计算时间也会变长。shift-and-stitch技巧则是另一种折中办法:卷积核的感受野尺寸不必缩小就可以输出更密集的映射图,但是相对于原始设计的卷积核不能感知更精细的信息。

虽然我们用这个技巧完成了先前的实验,但并没有用到最终的模型中。我们将会在下一章介绍通过上采样来学习的方法,这种方法更为高效有用(尤其是结合了跳层结构之后)。

3.3上采样时向后步进的卷积

另一种联系粗输出和密集式像素的方式是插值法。举个例子,简单的双线性插值法通过线性映射来计算最邻近的四个输入的每个输出,线性映射仅依赖输入单元和输出单元的相对位置。

某种意义来说,用因子f上采样就是对的输入进行步长为1/f的卷积操作。只要f是整数,一个自然能想到的方法就是用输出步长为f进行向后卷积(有时候也叫去卷积)。因为它只是简单地反转了卷积前向和后向过程,所以该操作实施后作用不大。因此,在网络中进行的上采样,通过后向传播像素级损失来进行端到端学习。

注意这些层中去卷积作用的卷积核的参数并不需要被固定(比如说对于双线性上采样),但是却可以被学习。一叠这样的去卷积层和激活函数就可以学习出一个非线性上采样过程。

在实验中我们发现,对于学习密集预测,网络内上采样真是又快又好。我们最好的分割框架就使用了这些层去学4.2节将会提出的用于精确预测的上采样。

3.4patchwise训练是一种损失采样

在随机优化中,梯度计算由训练分布所驱动。虽然patchwise训练和全卷积训练相关的计算效率取决于重叠区域和minibatch的大小,但是他们却可以模拟任何分布。整图的全卷积训练和patchwise训练相同,每个批都包含图像(或图像数据集)损失之下单元的所有感受野。这方法比统一形式的patch采样更有效,也减少了可能批次的数量。然而,在一幅图像中随机选择patch可能会容易恢复。给空间项将损失值限制到一个随机采样子集排除了梯度计算的patch。

如果保持patch明显重叠,全卷积计算将会加速训练过程。如果梯度在多个后向传播过程中积聚,批次就可以包含多图的patch。patcheswise训练中的采样能纠正类别不平衡,可以减轻密集patch空间相关性的影响。在全卷积训练中,通过加权损失也可以实现类别平衡,损失采样可以被用于处理空间相关性。

我们在4.3节探索了下采样训练过程,并未发现它在产生密集预测时收敛得更快更好。整图训练是高效实用的。

4.分割架构

我们将ILSVRC分类器放入FCN中,通过网络内上采样和像素级损失来在密集预测上增强他们。我们通过微调来训练分割。下一步,我们在层之间加入跳层结构来融合粗语义信息混合细表层信息。跳结构是端对端学习的,用来优化输出的语义精确性和空间位置信息精度。

我们在PASCAL VOC2011分割挑战任务中进行里训练和验证。我们用像素级多项式逻辑回归进行训练,用平均交并比(mIOU)这个标准指标来验证,分割类别包括VOC数据集的所有类别(包括背景类)。训练过程忽略了Groundtruth中难以辨识的像素。

4.1从分类器到密集全卷积神经网络

首先我们将已有的分类器进行卷积化,如第3节所述。我们认为赢得ILSVRC12的AlexNet模型,以及赢得ILSVRC14的VGG模型和GoogLeNet模型效果不错。我们选择了在该任务中和VGG19效果相同的VGG16网络模型。对于GoogLeNet,为了提升效果,我们只用了最后的损失函数层并且丢弃了平均池化层。我们通过丢弃最后的分类层、将全连接层换为卷积层来截断已有的每种网络模型。通过给21个通道附加1×1的卷积核,为粗输出映射图中每个位置的像素计算PASCAL所包含类别(包括背景)的预测得分。之后是一个去卷积层,它在3.3节有描述,用双线性上采样将粗输出转换为密集像素输出。表1比较了每种网络模型的初步验证结果和它们的特征。我们发现网络收敛后,固定学习率(至少175个epochs)的方式可以取得最佳效果。

从分类到分割的微调让每个网络模型都可以进行合理的预测。即使是最差的模型也能取得将近75%的这种极佳表现。配备了分割功能的VGG16网络模型(FCN-VGG16)已经在验证过程中达到了56.0分的平均交并比,在测试过程则是达到了52.6 。在其他数据集上训练后,验证子集的平均交并比得分方面,FCN-VGG16提高到了59.4,AlexNet提高到了48 。尽管分类准确性相似,但是GoogLeNet的分割效果不像VGG16分割结果那么好。

 

表1我们改进拓展了三种网络模型。我们比较了它们在PASCAL VOC2011中验证集上平均交并比的表现、推理时间(在英伟达Tesla K40c显卡上平均进行输入为500×500的实验超过20次)。我们对改进的网络结构进来了说明:层的参数规模、输出单元的感受野尺寸、网络内最大步长。(这些数据都是在固定参数情况下获得的最好结果,并不是说这就是所有情况下最好的结果。)

4.2 结合“是什么”与“在哪里”这两种信息

我们为分割定义一种新的全卷积神经网络,它结合了层次化的特征,提升了输出的空间位置准确性。详情见图3。

图3我们这个DAG网络学习去结合深层粗信息和浅层细信息。池化层和预测层用网格形式来表示,揭示了相关的空间位置信息粗糙性,中间层用竖线来表示。第一行(FCN-32s):单流程网络结构(在4.1节会描述)只用一步,将通过步长为32的上采样得到的预测信息,直接反传到像素信息上。第二行(FCN-16s):结合了末层和第四个池化层(步长为16)的预测信息,可以让网络在保持高级语义信息的同时预测更精细的细节。第三行(FCN-8s):末层结合了第三个池化层(步长为8)的预测信息,提供更精准的细节。

 

虽然全卷积化的分类器可以像4.1节中所示的那样进行细化分割,甚至在分割质量指标上得分很高,但它们的输出却非常粗糙(图4)。最终步长为32像素的预测层限制了上采样输出的细节范围。

我们通过增加跳连接结构来解决这个问题,方式是结合最后的预测层与步长较小的浅层。这将线拓扑变为DAG,边缘从较浅层前跳至较深层。因为深层能够感知的像素较少,想要更精细的预测需要加入浅层信息,所以从浅层取出输出很有必要。细层和粗层的组合使模型可以进行带有位置信息的全局结构预测。与Koenderick 和an Doorn提出的的jet类似,我们把这种非线性层次化的特称为deep jet。

我们首先通过从步长为16像素的层进行预测来将输出的步长减半。在第四个池化层上添加一个1×1的卷积层来产生额外的类别预测。我们用这样的方法将这个输出和步长为32的第七个卷积层进行融合:添加一个尺寸为第七个卷积层2倍的上采样层,然后将把这个上采样层与第四个池化层输出相加(如图3所示)。我们将这个2倍的上采样层通过双线性插值初始化, 但是可以通过3.3节描述的方法来学习参数。最后,就可以把步长为16像素的预测图以上采样的方式还原到原图尺寸了。把用这个方法处理的网络称为FCN-16s。FCN-16s也是端对端学习的,它是以FCN-32s网络模型的参数进行初始化的。第四个池化层后面的1×1卷积层的参数使用的是零初始化,所以这部分需要从头开始训练。学习率降低了100倍。

使用这个跳结构的网络后,验证集上网络的表现提高到了62.4 。图4展示了使用这种结构后输出效果的提高。我们发现,如果直接使用第四个池化层进行上采样得到输出,相对于使用跳连接结构的模型,它的表现较差,只是单纯地降低了学习率,输出的效果并没有提升。

然后,我们继续以这个思路来提升模型表现。我们又提出了FCN-8s模型,它在第三个池化层后面添加1×1的卷积层产生类别预测,然后将它和第四个池化层输出2倍上采样、第七个卷积层4倍上采样的输出进行融合。FCN-8s的平均交并比提升到了62.7,在平滑度和细节上有的提高都不是很大。这样一对比,FCN-8s相对于FCN-16s,不论是强调整体正确性的平均交并比,还是图4中显示的这个细节结果,提升都不是很大,所以我们也不打算继续拿更浅层的输出来做融合了。

通过其他方式进行细化:减少步长是获得精细预测结果最直接的方式。但是这样做对基于VGG16的网络来说是个问题。将第五个池化层的步长设置为1,则为了保持经过卷积化的第六个全连接层的感受野尺寸,它的卷积核尺寸必须是14×14。而且卷积核尺寸这么大,计算力很难满足。我们尝试将第五个池化层后面的层用尺寸更小的卷积核重新设计,但是最后的结果还不如融合的方法。造成这个问题的一个可能原因是对于后面几层ILSVRC初始化很重要。

还有一个方法是用3.2节介绍的shift-and-stitch技巧。试了几次,这方法也不行。

图4经过使用融合不同步长的层信息这种方法,细化全卷积神经网络后的分割细节结果。前三张图分别是融合步长为32、16、8的层后得到的结果。

 

表2.在PASCAL VOC2011数据集上添加不同跳结构的结果对比。FCN-32s-fixed只对最后一层的参数进行了微调。注意FCN-32s和FCN-VGG16是一个意思,之所有命名为FCN-32s是为了方便比较步长带来的变化。

4.3实验设计

优化函数:优化函数用的是加入了动量的随机梯度下降法。我们用了三种模型进行训练:FCN-AlexNet,FCN-VGG16,FCN-GoogLeNet,三种模型的学习率分别设置为,统一设置minbatch的大小为20图。动量大小设置为0.9,权重衰减为。我们发现虽然训练对学习速率敏感,但是偏置的学习速率却加倍了。由于随机初始化并不会产生更好的效果,收敛速度也没有变快,所以对分类层进行零初始化。原始分类网络的位置使用了Dropout。

微调:后向传播过程中,我们对整个网络的所有层都进行了微调。表2可以看出,只微调输出分类器的话,它的效果只有微调全部层的70%表现。考虑到网络学习所需时间,从头开始训练成本太高。(注意VGG网络时分阶段训练的,我们将16层全部进行了初始化)。在单GPU上对FCN-32s进行微调花了3天时间,FCN-16s和FCN-8s又额外多花了一天时间。

更多数据集:PASCAL VOC2011数据集有1112张标注的分割图。Hariharan等人为有8498张图像的PASCAL训练数据收录分割标注。这个数据集将FCN-VGG16的验证集得分提高了3.4分,达到了59.4分的平均交并比。

patch样本:正如3.4节介绍过的那样,我们这种整图训练法可以有效地将每张图像都割裂为大而重叠的网格型patch图。作为对比,以前的方法在整个数据集上随机将样本分为patch,可能会加速收敛。我们通过以前面描述的方式对损失进行空间采样来研究这种权衡方式,然后做出一个独立的选择,以一率1-p去忽略每个最终的层单元。为了避免选择有效的批大小,我们同时给图像的每个批的大小增加到了1/p。注意由于卷积的高效性,在p值足够大时,这种拒绝采样的形式依旧比patchwise训练要快(比如,根据3.1节的数量来看,p>0.2)。图5展示了这种收敛的采样效果。我们发现与整图对比,采样并不会给收敛速率带来明显效果,但是由于大量图像存在时间增加了。因此我们的训练选择了上采样式的整图方式。

类别平衡:全卷积训练可以通过采样或者加权的方式平衡类别。虽然数据集中的类别很不平衡(3/4都是背景),我们却发现类别平衡不是很有必要。

密集预测:通过网路内的去卷积层,将这些预测得分上采样至输入维度。最后一层的去卷积核用双线性插值固定,而中间上采样层初始化为双线性上采样再进行学习。

数据集增强:我们通过镜像法和抖动图像法(在分辨率最低的预测图中,在每个方向上将像素平移32个单位)来增强数据集,结果发现没有明显的提升。

运行:所有训练和测试过程都是在Caffe平台中进行,使用单个英伟达Tesla K40c显卡。我们的模型及其程序可以在该网站中参考:http://fcn.berkeleyvision.org

5.实验结果

我们在PASCAL VOC,NYUDv2,和SIFT Flow数据集中测试了FCN的语义分割和场景解析能力。我们在每个数据集都对FCN的跳结构进行了评估,然后将其扩展到NYUDv2的多模态输入和SIFT Flow的语义和几何标签的多任务预测。

评价指标:我们为语义分割和场景解析准备了四个指标,它们由像素准确性和区域 交并比衍生而来。令等于类别i被分类为类别j的像素数量,表示类别为i的像素总数量。这四个指标为:

• 像素准确度:

• 平均准确度:

• 平均交并比:

• 频权交并比:

PASCAL VOC:表3是FCN-8s在PASCAL VOC2011和2012测试集上的表现,同时也和先前效果最好的SDS,R-CNN模型的表现做了对比。我们的模型在平均交并比上得分最高,相比较提高了20%。如果只看网络卷积部分,忽略区域提取和细化时间,我们提出的模型在推理时间上减少了114倍,如果是整体网络运行时间来看,推理时间则减少了286倍。

 

表3我们提出的FCN模型在PASCAL VOC2011和2012的测试集上,相对于以往效果最好的模型,平均交并比提高20%,推理时间也减少了。

NYUDv2:NYUDv2是一个由微软Kinect采集的RGB-D数据集。它包含1449张RGB-D图像,由Gupta等人合并为了40个类别的语义分割任务。实验结果是在包含795张图像的训练集和包含654张图像的验证集得到的(主要选择模型时是在PASCAL VOC2011验证集中进行的。)。表4展示了我们提出的模型在不同数据集类型上的表现。首先用RGB图像训练没有进行过改进的FCN-32s模型。为了加入深层信息,我们训练了一个升级到可以输入四通道图像的模型(早期融合)。这种方法带来的提升很小,可能因为在整个模型中传播有意义的梯度很困难。借鉴了Gupta等人的成功,我们尝试了深度三维HHA编码,只使用该类信息进行网络训练,同时这个在后期将预测层和末层信息相加时对RGB和HAA进行了融合的网络模型也是端对端学习的。最后,我们将这种融合网络升级到了步长为16的版本。

 

表4.NYUDv2的结果。RGBD是输入端RGB图像和深度通道在早期进行的融合。

SIFT Flow:SIFT Flow是包含2688张图像的像素级标签数据集,它有22个语义类别(例如桥、山、太阳)和3个集合分类(水平、垂直、天空)。FCN从原理上就可以同时学习并预测这两种类型的标签。我们研究了一个双类型版本的FCN-16s模型,同时包含语义标注和集合标注的预测层和损失函数。经过学习的模型的表现和他们在各自单独的标注类型上经过训练的模型的表现一样,学习和推理过程的速度本质上和每个独立模型一样快。结果在表5给出,在2488张图像和200张测试图像的数据集上测试得到的,在两种标注类型的任务中都是目前最好的结果。

 

表5.包含类别分割(左栏)和几何分割(右栏)的SIFT Flow结果。Tighe是一种无参数迁移方法。Tighe1是支持向量机的示例,Tighe2是支持向量机和马尔科夫随机场的示例。Farabet是在一种多尺度卷积网络模型,Farabet1在经过类别平衡的样本上训练的,Farabet2是在未经过类别平衡的样本上训练的。Pinheiro是一种多尺度循环卷积网络。几何类别的指标是像素准确度。

图6全卷积神经网络在PASCAL数据集上达到了最优秀的效果。左栏是我们输出效果最好的FCN-8s模型的效果。第二列是Hariharan等人先前提出的模型得到的分割结果。注意恢复的精细结构(第一行),分离紧密交互对象(第二行)的能力,以及对遮挡物(第三行)的鲁棒性。第四行显示了一个失败案例:网络误以为船上的救生衣是人。

6.结论

全卷积神经网络是一种可以包含多类别的模型,属于现在这些分类网络的一个特例。我们认识到这点后就将分类网络延伸到分割,使用多个分辨率的层进行结合来改进网络结构,最后达到了极佳的效果,同时还简化了网络结构,加快了学习个推理过程。

致谢

本文的部分工作由DARPA的MSEE和SMISC项目支持进行,NSF奖励了IIS-1427425、IIS-1212798、IIS-1116411服务器设备,以及NSF GRFP、丰田集团、伯克利视觉学习中心。我们非常感激英伟达公司对于GPU设备的资助。感谢Bharath Hariharan和Saurabh Gupta的建议以及他们的数据集工具。非常感谢Sergio Guadarrama在Caffe平台对于GoogLeNet模型的复现。感谢Jitendra Malik非常有用的建议。感谢Wei Liu对于我们工作中一些问题的指正,包括在SIFT Flow中计算平均交并比的问题、计算频权交并比的错误。

以上是关于文献翻译Fully Convolutional Networks for Semantic Segmentation全卷积神经网络的主要内容,如果未能解决你的问题,请参考以下文章

tensorfolw配置过程中遇到的一些问题及其解决过程的记录(配置SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural N

#ICCV2019论文阅读#Fully_convolutional_Features

语义分割专题语义分割相关工作--Fully Convolutional DenseNet

LSTM Fully Convolutional Networks for Time Series Classification 学习记录

Fully Convolutional Networks for Semantic Segmentation(全卷积网络FCN)

论文笔记之:Fully Convolutional Attention Localization Networks: Efficient Attention Localization for Fine