英语原文共 10 页
基于全卷积网络的语义分割
Jonathan Longlowast; Evan Shelhamerlowast; Trevor Darrell UC Berkeley {jonlong,shelhamer,trevor}@cs.berkeley.edu
摘要
卷积网络在特征分层领域是非常强大的视觉模型。我们展示了经过端到端、像素到像素训练的卷积网络超过语义分割中最先进的技术。我们的核心观点是建立“全卷积”网络,输入任意尺寸,经过有效的推理和学习产生相应尺寸的输出。我们定义并指定全卷积网络的空间,解释它们在空间范围内密集预测任务(预测每个像素所属的类别)和获取与先验模型联系的应用。我们改编当前的分类网络(AlexNet[22] ,the VGG net [34] , and GoogLeNet [35] )到完全卷积网络和通过微调 [5] 传递它们的学习表现到分割任务中。然后我们定义了一个跳跃式的架构,结合了来自深、粗层的语义信息和来自浅、更好层的表征信息来产生准确和精细的分割。我们的完全卷积网络成为了在PASCAL VOC(在2012年相对62.2%的平均IU提高了20%),NYUDv2,和SIFT Flow, 成为了目前最好的的分割方式,对一个典型图像推理只需要花费不到0.2秒的时间。
1.引言
卷积网络在辨别领域处于领先的状态。卷积网不仅全图式的分类上有所提高[22,34,35] ,也在结构化输出的局部任务上取得了进步。包括在目标检测边界框[32,12,19]、部分和关键点预测[42,26] 和局部通信 [26,10] 的进步。在从粗糙到精细推理的进展中下一步自然是对每一个像素进行预测。早前的方法已经将卷积网络用于语义分割[30,3,9,31,17,15,11] ,其中每个像素被标记为其封闭对象或区域的类别,但是有个缺点就是这项工作的地址问题。
图1.全卷积网络能有效学习对每个像素做出密集预测,例如语义分割
我们证明了经过端到端 、像素到像素训练的的卷积网络超过语义分割中没有further machinery的最先进的技术。我们认为,这是第一次训练端到端(1)的FCN在像素级别的预测,而且来自监督式预处理(2)。全卷积在现有的网络基础上从任意尺寸的输入预测密集输出。学习和推理能在全图通过密集的前馈计算和反向传播一次执行。网内上采样层能在像素级别预测和通过下采样池化学习。
这种方法非常有效,无论是渐进地还是完全地,消除了在其他方法中的并发问题。Patchwise训练是常见的[30, 3, 9, 31, 11],但是缺少了全卷积训练的有效性。我们的方法不是利用预处理或者后期处理解决并发问题,包括超像素 [9,17],预测[17,15],或者对通过随机域事后细化或者局部分类 [9,17] 。我们的模型通过重新解释分类网到全卷积网络和微调它们的学习表现将最近在分类上的成功 [22,34,35] 移植到密集预测。与此相反,先前的工作应用的是小规模、没有超像素预处理的卷积网。
语义分割面临在语义和位置的内在张力问题:全局信息解决的“是什么”,而局部信息解决的是“在哪里”。深层特征通过非线性的局部到全局金字塔编码了位置和语义信息。我们在4.2节(见图3)定义了一种利用集合了深、粗层的语义信息和浅、细层的表征信息的特征谱的跨层架构。
在下一节,我们回顾深层分类网、FCNs和最近一些利用卷积网解决语义分割的相关工作。接下来的章节将解释FCN设计和密集预测权衡,介绍我们的网内上采样和多层结合架构,描述我们的实验框架。最后,我们展示了最先进技术在PASCAL VOC 2011-2, NYUDv2, 和SIFT Flow上的实验结果。
2.相关工作
我们的方法是基于最近深层网络在图像分类上的成功 [22,34,35] 和转移学习。转移第一次被证明在各种视觉识别任务 [5,41] ,然后是检测,不仅在实例还有融合proposal-classification模型的语义分割 [12,17,15] 。我们现在重新构建和微调直接的、dense prediction语义分割的分类网。在这个框架里我们绘制FCNs的空间并将过去的或是最近的先验模型置于其中。
全卷积网络据我们所知,第一次将卷积网扩展到任意尺寸的输入的是Matan等人 [28] ,它将经典的LeNet [23] 扩展到识别字符串的位数。因为他们的网络结构限制在一维的输入串,Matan等人利用译码器译码获得输出。Wolf和Platt [40] 将卷积网输出扩展到来检测邮政地址块的四角得分的二维图。这些先前工作做的是推理和用于检测的全卷积式学习。Ning等人 [30] 定义了一种卷积网络用于秀丽线虫组织的粗糙的、多分类分割,基于全卷积推理。
全卷积计算也被用在现在的一些多层次的网络结构中。Sermanet等人的滑动窗口检测 [32] ,Pinherio 和Collobert的语义分割 [31] ,Eigen等人的图像修复 [6] 都做了全卷积式推理。全卷积训练很少,但是被Tompson等人 [38] 用来学习一种端到端的局部检测和姿态估计的空间模型非常有效,尽管他们没有解释或者分析这种方法。
此外,He等人 [19] 在特征提取时丢弃了分类网的无卷积部分。他们结合proposals和空间金字塔池来产生一个局部的、固定长度的特征用于分类。尽管快速且有效,但是这种混合模型不能进行端到端的学习。
基于卷积网的dense prediction近期的一些工作已经将卷积网应用于dense prediction问题,包括Ning等人的语义分割 [30] ,Farabet等人 [9] 以及Pinheiro和Collobert [31] ;Ciresan等人的电子显微镜边界预测 [3] 以及Ganin和Lempitsky [11] 的通过混合卷积网和最邻近模型的处理自然场景图像;还有Eigen等人 [6,7] 的图像修复和深度估计。这些方法的相同点包括如下:
- 限制容量和接收域的小模型
- patchwise训练 [30,3,9,31,11]
- 超像素投影的预处理,随机场正则化、滤波或局部分类 [9,3,11]
- 输入移位和dense输出的隔行交错输出 [32,31,11]
- 多尺度金字塔处理 [9,31,11]
- 饱和双曲线正切非线性 [9,6,31]
- 集成 [3,11]
然而我们的方法确实没有这种机制。但是我们研究了patchwise训练 (3.4节)和从FCNs的角度出发的“shift-and-stitch”dense输出(3.2节)。我们也讨论了网内上采样(3.3节),其中Eigen等人[7]的全连接预测是一个特例。
和这些现有的方法不同的是,我们改编和扩展了深度分类架构,使用图像分类作为监督预处理,和从全部图像的输入和ground truths(用于有监督训练的训练集的分类准确性)通过全卷积微调进行简单且高效的学习。
Hariharan等人 [17] 和Gupta等人 [15] 也改编深度分类网到语义分割,但是也在混合proposal-classifier模型中这么做了。这些方法通过采样边界框和region proposal进行微调了R-CNN系统 [12] ,用于检测、语义分割和实例分割。这两种办法都不能进行端到端的学习。他们分别在PASCAL VOC和NYUDv2实现了最好的分割效果,所以在第5节中我们直接将我们的独立的、端到端的FCN和他们的语义分割结果进行比较。
我们通过跨层和融合特征来定义一种非线性的局部到整体的表述用来协调端到端。在现今的工作中Hariharan等人 [18] 也在语义分割的混合模型中使用了多层。
3.全卷积网络
卷积网的每层数据是一个h*w*d的三维数组,其中h和w是空间维度,d是特征或通道维数。第一层是像素尺寸为h*w、颜色通道数为d的图像。高层中的locations和图像中它们连通的locations相对应,被称为接收域。
卷积网是以平移不变形作为基础的。其基本组成部分(卷积,池化和激励函数)作用在局部输入域,只依赖相对空间坐标。在特定层记X_ij为在坐标(i,j)的数据向量,在following layer有Y_ij,Y_ij的计算公式如下:
其中k为卷积核尺寸,s是步长或下采样因素,f_ks决定了层的类型:一个卷积的矩阵乘或者是平均池化,用于最大池的最大空间值或者是一个激励函数的一个非线性elementwise,亦或是层的其他种类等等。当卷积核尺寸和步长遵从转换规则,这个函数形式被表述为如下形式:
当一个普通深度的网络计算一个普通的非线性函数,一个网络只有这种形式的层计算非线性滤波,我们称之为深度滤波或全卷积网络。FCN理应可以计算任意尺寸的输入并产生相应(或许重采样)空间维度的输出。一个实值损失函数有FCN定义了任务。如果损失函数是一个最后一层的空间维度总和,如下式
它的梯度将是它的每层空间组成梯度总和。所以在全部图像上的基于l的随机梯度下降计算将和基于l#39;的梯度下降结果一样,将最后一层的所有接收域作为minibatch(分批处理)。在这些接收域重叠很大的情况下,前反馈计算和反向传播计算整图的叠层都比独立的patch-by-patch有效的多。
我们接下来将解释怎么将分类网络转换到能产生粗输出图的全卷积网络。对于像素级预测,我们需要连接这些粗略的输出结果到像素。3.2节描述了一种技巧,快速扫描[13]因此被引入。我们通过将它解释为一个等价网络修正而获得了关于这个技巧的一些领悟。作为一个高效的替换,我们引入了去卷积层用于上采样见3.3节。在3.4节,我们考虑通过patchwise取样训练,便在4.3节证明我们的全图式训练更快且同样有效。
3.1改编分类用于密集预测
典型的识别网络,包括LeNet [23] , AlexNet [22] , 和一些后继者 [34, 35] ,表面上采用的是固定尺寸的输入产生了非空间的输出。这些网络的全连接层有确定的位数并丢弃空间坐标。然而,这些全连接层也被看做是覆盖全部输入域的核卷积。需要将它们加入到可以采用任何尺寸输入并输出分类图的全卷积网络中。这种转换如图2所示。
图2.将全连接层转化到卷积层能使一个分类图输出热图。添加层和一个空间损失(如图1所示)产生一个搞笑的端到端的密集学习机制。
此外,当作为结果的图在特殊的输入patches上等同于原始网络的估计,计算是高度摊销的在那些patches的重叠域上。例如,当AlexNet花费了1.2ms(在标准的GPU上)推算一个227*227图像的分类得分,全卷积网络花费22ms从一张500*500的图像上产生一个10*10的输出网格,比朴素法快了5倍多。
这些卷积化模式的空间输出图可以作为一个很自然的选择对于密集问题,比如语义分割。每个输出单元ground truth可用,正推法和逆推法都是直截了当的,都利用了卷积的固有的计算效率(和可极大优化性)。对于AlexNet例子相应的逆推法的时间为单张图像时间2.4ms,全卷积的10*10输出图为37ms,结果是相对于顺推法速度加快了。
当我们将分类网络重新解释为任意输出尺寸的全卷积域输出图,输出维数也通过下采样显著的减少了。分类网络下采样使filter保持小规模同时计算要求合理。这使全卷积式网络的输出结果变得粗糙,通过输入尺寸因为一个和输出单元的接收域的像素步长等同的因素来降低它。
3.2 Shift-and stitch是滤波稀疏
密集预测能从粗糙输出中通过从输入的平移版本中将输出拼接起来获得。如果输出是因为一个因子f降低采样,平移输入的x像素到左边,y像素到下面,一旦对于每个(x,y)满足0lt;=x,ylt;=f.处理f^2个输入,并将输出交错以便预测和它们接收域的中心像素一致。
尽管单纯地执行这种转换增加了f^2的这个因素的代价,有一个非常有名的技巧用来高效的产生完全相同的结果 [13,32] ,这个在小波领域被称为多孔算法 [27] 。考虑一个层(卷积或者池化)中的输入步长s,和后面的滤波权重为f_ij的卷积层(忽略不相关的特征维数)。设置更低层的输入步长到l上采样它的输出影响因子为s。然而,将原始的滤波和上采样的输出卷积并没有产生和shift-and-stitch相同的结果,因为原始的滤波只看得到(已经上采样)输入的简化的部分。为了重现这种技巧,通过扩大来稀疏滤波,如下:
如果s能除以i和j,除非i和j都是0。重现该技巧的全网输出需要重复一层一层放大这个filter知道所有的下采样被移除。(在练习中,处理上采样输入的下采样版本可能会更高效。)
在网内减少二次采样是一种折衷的做法:filter能看到更细节的信息,但是接受域更小而且需要花费很长时间计算。Shift-and -stitch技巧是另外一种折衷做法:输出更加密集且没有减小filter的接受域范围,但是相对于原始的设计filter不能感受更精细的信息。
尽管我们已经利用这个技巧做了初步的实验,但是我们没有在我们的模型中使用它。正如在下一节中描述的,我们发现从上采样中学习更有效和高效,特别是接下来要描述的结合了跨层融合。
3.3上采样是向后向卷积
另一种连接粗糙输出到dense像素的方法就是插值法。比如,简单的双线性插值计算每个输出y_ij来自只依赖输入和输出单元的相对位置的线性图最近的四个输入。
从某种意义上,伴随因子f的上采样是对步长为1/f的分数式输入的卷积操作。只要f是整数,一种自然的方法进行上采样就是向后卷积(有时称为去卷积)伴随输出步长为f。这样的操作实现是不重要的,因为它只是简单的调换了卷积的顺推法和逆推法。所以上采样在网内通过计算像素级别的损失的反向传播用于端到端的学习。
需要注意的是去卷积
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。