[译]用于语义分割的全卷积网络 FCN(UC Berkeley)

来源:互联网 发布:java math 生成随机数 编辑:程序博客网 时间:2024/06/14 22:35

文章链接:《Fully Convolutional Networks for Semantic Segmentation》arXiv:1411.4038
https://arxiv.org/abs/1411.4038

摘要

卷积网络在特征分层领域是非常强大的视觉模型。
我们证明了经过端到端、像素到像素训练的卷积网络超过语义分割中最先进的技术。
我们的核心观点是建立“全卷积”网络,输入任意尺寸,经过有效的推理和学习产生相应尺寸的输出。
我们定义并指定全卷积网络的空间,解释它们在空间范围内预测每个像素所属的类别和获取与先验模型联系的应用。
我们改编当前的分类网络(AlexNet,the VGG net , and GoogLeNet)到完全卷积网络和通过微调传递它们的学习表现到分割任务中。
然后我们定义了一个跳跃式的架构,结合来自深、粗层的语义信息和来自浅、细层的表征信息来产生准确和精细的分割。
我们的完全卷积网络成为了在PASCAL VOC最出色的分割方式(在2012年相对62.2%的平均IU提高了20%),NYUDv2,和SIFT Flow,对一个典型图像推理只需要花费不到0.2秒的时间。

1.引言

卷积网络不仅在全图式的分类上有所提高,也在结构化输出的局部任务(目标检测边框,关键点的预测,局部通信)上取得了进步。

从粗糙到精细的推理中,下一步自然是对像素的预测。将神经网络用于语义分割,其中每个像素被标记为其封闭对象或区域的类别。
这里写图片描述

我们证明了经过端到端,像素到像素训练的卷积网络超过语义分割没有更先进的技术。我们认为这是第一次训练端到端的FCN在像素级别的预测,而且来自监督式预处理。全卷积在现有的网络基础上从任意尺寸的输入预测密集输出。学习和推理能在全图通过密集的前馈计算和反向传播一次执行。网内上采样层能在像素级别预测和通过下采样池化学习

全局信息解决的“是什么”,而局部信息解决的是“在哪里”。深层特征通过非线性的局部到全局金字塔编码了位置和语义信息。我们定义了一种利用集合了深、粗层的语义信息和浅、细层的表征信息的特征谱的跨层架构

在下一节,我们回顾深层分类网。接下来的章节将解释FCN设计密集预测权衡,介绍我们的网内上采样多层结合架构,描述我们的实验框架。

2 相关工作

我们的方法是基于最近深层网络在图像分类上的成功和转移学习
基于卷积网的dense prediction其他人的方法的相同点包括如下:

限制容量和接收域的小模型patchwise训练 超像素投影的预处理,随机场正则化、滤波或局部分类输入移位和dense输出的隔行交错输出 多尺度金字塔处理饱和双曲线正切非线性 集成 

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定义了task。如果损失函数是一个最后一层的空间维度总和,

这里写图片描述

它的梯度将是它的每层空间组成梯度总和。所以在全部图像上的基于l的随机梯度下降计算将和基于l’的梯度下降结果一样,将最后一层的所有接收域作为minibatch(分批处理)。

在这些接收域重叠很大的情况下,前反馈计算和反向传播计算整图的叠层都比独立的patch-by-patch有效的多。

我们接下来将解释怎么将分类网络转换到能产生粗输出图的全卷积网络。对于像素级预测,我们需要连接这些粗略的输出结果到像素。3.2节描述了一种技巧,快速扫描[13]因此被引入。我们通过将它解释为一个等价网络修正而获得了关于这个技巧的一些领悟。作为一个高效的替换,我们引入了去卷积层用于上采样见3.3节。在3.4节,我们考虑通过patchwise取样训练,便在4.3节证明我们的全图式训练更快且同样有效。

3.1 改编分类用于dense prediction

典型的识别网络,包括LeNet [23], AlexNet[22], 和一些后继者[34, 35],表面上采用的是固定尺寸的输入产生了非空间的输出。这些网络的全连接层有确定的位数并丢弃空间坐标。然而,这些全连接层也被看做是覆盖全部输入域的核卷积。需要将它们加入到可以采用任何尺寸输入并输出分类图的全卷积网络中。这种转换如图所示。
这里写图片描述

当我们将分类网络重新解释为任意输出尺寸的全卷积域输出图,输出维数也通过下采样显著的减少了。分类网络下采样使filter保持小规模同时计算要求合理。这使全卷积式网络的输出结果变得粗糙,通过输入尺寸因为一个和输出单元的接收域的像素步长等同的因素来降低它。

3.2 Shift-and stitch是滤波稀疏

dense prediction能从粗糙输出中通过从输入的平移版本中将输出拼接起来获得。尽管单纯地执行这种转换增加了f^2的这个因素的代价,有一个非常有名的技巧用来高效的产生完全相同的结果[13,32],这个在小波领域被称为多孔算法[27]。为了重现这种技巧,通过扩大来稀疏滤波,如下:
这里写图片描述

最后,并没有用。正如在下一节中描述的,我们发现从上采样中学习更有效和高效,特别是接下来要描述的结合了跨层融合

3.3上采样是向后卷积

另一种连接粗糙输出到dense像素的方法就是插值法。比如,简单的双线性插值计算每个输出y_ij来自只依赖输入和输出单元的相对位置的线性图最近的四个输入。
从某种意义上,伴随因子f的上采样是对步长为1/f的分数式输入的卷积操作。只要f是整数,一种自然的方法进行上采样就是向后卷积(有时称为去卷积)伴随输出步长为f。这样的操作实现是不重要的,因为它只是简单的调换了卷积的顺推法和逆推法。所以上采样在网内通过计算像素级别的损失的反向传播用于端到端的学习。

3.4patchwise训练是一种损失采样

随机优化中,梯度计算是由训练分布支配的。patchwise 训练和全卷积训练能被用来产生任意分布,尽管他们相对的计算效率依赖于重叠域和minibatch的大小。在每一个由所有的单元接受域组成的批次在图像的损失之下(或图像的集合)整张图像的全卷积训练等同于patchwise训练
如果保存下来的patches依然有重要的重叠,全卷积计算依然将加速训练。
patcheswise训练中的采样能纠正分类失调和减轻密集空间相关性的影响。在全卷积训练中,分类平衡也能通过给损失赋权重实现,对损失采样能被用来标识空间相关。
我们研究了4.3节中的伴有采样的训练,没有发现对于dense prediction它有更快或是更好的收敛效果。全图式训练是有效且高效的

4 分割架构

我们将ILSVRC分类应用到FCNs增大它们用于dense prediction结合网内上采样和像素级损失。我们通过微调为分割进行训练。接下来我们增加了跨层来融合粗的、语义的和局部的表征信息这种跨层式架构能学习端到端来改善输出的语义和空间预测。

为此,我们训练和在PASCAL VOC 2011分割挑战赛[中验证。我们训练逐像素的多项式逻辑损失验证标准度量的在集合中平均像素交集还有基于所有分类上的平均接收,包括背景。这个训练忽略了那些在groud truth中被遮盖的像素(模糊不清或者很难辨认)。

这里写图片描述

4.1 从分类到densea FCN

我们在第3节中以卷积证明分类架构的。我们认为拿下了ILSVRC12的AlexNet3架构和VGG nets、GoogLeNet4一样在ILSVRC14上表现的格外好。我们选择VGG 16层的网络5,发现它和19层的网络在这个任务(分类)上相当。对于GoogLeNet,我们仅仅使用的最后的损失层,通过丢弃了最后的平均池化层提高了表现能力。我们通过丢弃最后的分类切去每层网络头,然后将全连接层转化成卷积层。我们附加了一个1*1的、通道维数为21的卷积来预测每个PASCAL分类(包括背景)的得分在每个粗糙的输出位置,后面紧跟一个去卷积层用来双线性上采样粗糙输出到像素密集输出如3.3.节中
描述。表1将初步验证结果和每层的基础特性比较。我们发现最好的结果在以一个固定的学习速率得到(最少175个epochs)。

分类到分割的微调对每层网络有一个合理的预测。

这里写图片描述

4.2 结合“是什么”和“在哪里”

我们定义了一个新的全卷积网用于结合了特征层级的分割并提高了输出的空间精度

全卷积分类能被微调用于分割如4.1节所示,甚至在标准度量上得分更高,它们的输出不是很粗糙。最后预测层的32像素步长限制了上采样输入的细节的尺寸。

我们提出增加结合了最后预测层有更细小步长的更低层的跨层信息,将一个线划拓扑结构转变成DAG(有向无环图),并且边界将从更底层向前跳跃到更高(图3)。因为它们只能获取更少的像素点,更精细的尺寸预测应该需要更少的层,所以从更浅的网中将它们输出是有道理的。结合了精细层粗糙层让模型能做出遵从全局结构的局部预测。与Koenderick 和an Doorn [21]的jet类似,我们把这种非线性特征层称之为deep jet

我们首先将输出步长分为一半,通过一个16像素步长层预测。我们增加了一个1*1的卷积层在pool4的顶部来产生附加的类别预测。我们将输出和预测融合在conv7(fc7的卷积化)的顶部以步长32计算,通过增加一个2×的上采样层和预测求和(见图3)。我们初始化这个2×上采样到双线性插值,但是允许参数能被学习,如3.3节所描述、最后,步长为16的预测被上采样回图像,我们把这种网结构称为FCN-16s。FCN-16s用来学习端到端,能被最后的参数初始化。这种新的、在pool4上生效的参数是初始化为0 的,所以这种网结构是以未变性的预测开始的。这种学习速率是以100倍的下降的。

学习这种跨层网络能在3.0平均IU的有效集合上提高到62.4。图4展示了在精细结构输出上的提高。我们将这种融合学习和仅仅从pool4层上学习进行比较,结果表现糟糕,而且仅仅降低了学习速率而没有增加跨层,导致了没有提高输出质量的没有显著提高表现。

我们继续融合pool3和一个融合了pool4和conv7的2×上采样预测,建立了FCN-8s的网络结构。在平均IU上我们获得了一个较小的附加提升到62.7,然后发现了一个在平滑度和输出细节上的轻微提高。这时我们的融合提高已经得到了一个衰减回馈,既在强调了大规模正确的IU度量的层面上,也在提升显著度上得到反映,如图4所示,所以即使是更低层我们也不需要继续融合。

这里写图片描述

其他方式精炼化   减少池层的步长是最直接的一种得到精细预测的方法。

4.3实验框架

优化  我们利用momentum训练了GSD。

微调  我们通过反向传播微调整个网络的所有层。经过表2的比较,微调单独的输出分类表现只有全微调的70%。考虑到学习基础分类网络所需的时间,从scratch中训练不是可行的。

更多的训练数据  PASCAL VOC 2011分割训练设置1112张图片的标签。

patch取样  正如3.4节中解释的,我们的全图有效地训练每张图片batches到常规的、大的、重叠的patches网格。相反的,先前工作随机样本patches在一整个数据集[30,3,9,31,11],可能导致更高的方差batches,可能加速收敛[24]。我们通过空间采样之前方式描述的损失研究这种折中,以1-p的概率做出独立选择来忽略每个最后层单元。为了避免改变有效的批次尺寸,我们同时以因子1/p增加每批次图像的数量。注意的是因为卷积的效率,在足够大的p值下,这种拒绝采样的形式依旧比patchwose训练要快(比如,根据3.1节的数量,最起码p>0.2)图5展示了这种收敛的采样的效果。我们发现采样在收敛速率上没有很显著的效果相对于全图式训练,但是由于每个每个批次都需要大量的图像,很明显的需要花费更多的时间

分类平衡  全卷积训练能通过按权重或对损失采样平衡类别。

dense prediction 分数是通过网内的去卷积层上采样到输出维度。最后层去卷积滤波被固定为双线性插值,当中间采样层是被初始化为双线性上采样,然后学习。

扩大  我们尝试通过随机反射扩大训练数据,”jettering”图像通过将它们在每个方向上转化成32像素(最粗糙预测的尺寸)。这并没有明显的改善。

实现  所有的模型都是在单NVIDIA Tesla K40c上用Caffe[20]训练和学习。我们的模型和代码都是公开可用的,网址为http://fcn.berkeleyvision.org。

这里写图片描述

5 结果

我们训练FCN在语义分割和场景解析,研究了PASCAL VOC, NYUDv2和 SIFT Flow。尽管这些任务在以前主要是用在物体和区域上,我们都一律将它们视为像素预测。我们在这些数据集中都进行测试用来评估我们的FCN跨层式架构,然后对于NYUDv2将它扩展成一个多模型的输出,对于SIFT Flow则扩展成多任务的语义和集合标签。

度量 我们从常见的语义分割和场景解析评估中提出四种度量,它们在像素准确率和在联合的区域交叉上是不同的。令n_ij为类别i的被预测为类别j的像素数量,有n_ij个不同的类别,令

这里写图片描述

PASCAL VOC

这里写图片描述

NVUDv2

这里写图片描述

SIFT Flow

这里写图片描述

6 结论

全卷积网络是模型非常重要的部分,是现代化分类网络中一个特殊的例子。认识到这个,将这些分类网络扩展到分割并通过多分辨率的层结合显著提高先进的技术,同时简化和加速学习和推理。

参考资料
http://www.jianshu.com/p/91c5db272725

阅读全文
0 0
原创粉丝点击