FCN

FCN

卷积网络是一种强大的视觉模型,可以产生特征的层次结构。我们证明,经过端到端、像素到像素训练的卷积网络本身在语义分割方面超过了最新的水平,我们的关键见解是建立“完全卷积”网络,它可以接受任意大小的输入,并通过有效的推理和学习产生相应大小的输出。我们定义并详细描述了全卷积网络的空间,解释了它们在空间密集预测任务中的应用,并绘制了与先前模型的连接图。我们将当代分类网络(AlexNet[19]、VGG网[31]和GoogLeNet[32])转化为完全卷积网络,并通过微调[4]将它们的学习表示迁移到分割任务中。

然后,我们定义了一种新的体系结构,它结合了来自深层的语义信息和来自浅层的外观信息,从而产生精确而详细的分割(segmentations)。

1. Introduction

我们发现,一个完全卷积的网络(FCN),经过端到端、像素到像素的语义分割训练,在没有进一步机器的情况下,已经超过了目前的技术水平,这是第一个训练FCN端到端(1)进行像素预测和(2)进行监督预训练的工作。现有网络的完全卷积版本预测来自任意大小输入的密集输出。学习和推理都是通过密集的前向计算和反向传播一次完成的。网络内的上采样层允许在具有子采样池的网络中进行像素级预测和学习。

在这里插入图片描述

这种方法是有效的,无论是渐近的还是绝对的(both asymptotically and absolutely),并且排除了其他工作中对并发症的需要。分段训练很常见[27,2,8,28,11],但是缺乏完全卷积训练的效率。我们的方法没有使用复杂的前处理和后处理]。我们的模型通过将分类网重新解释为全卷积的和从其学习到的表示进行微调,将最近在分类[19,31,32]方面的成功转移到密集预测。相比之下,以前的工作在没有监督的预训练的情况下应用了小型convnets[8,28,27]。

语义分割面临着语义和位置之间的内在张力:全局信息解决了什么,而局部信息解决了哪里(global information resolves what while local information resolves where)。深层特征层次共同编码局部到全局金字塔中的位置和语义。在第4.2节中,我们定义了一个新的“跳过”架构,将深层、粗糙、语义信息和浅层、精细的外观信息结合起来(参见图3)。

2. Related work

我们的方法借鉴了深层网络在图像分类[19,31,32]和迁移学习[4,38]方面的最新成果。迁移首先在各种视觉识别任务上被证明[4,38],然后在检测上,以及在混合命题分类模型中的实例和语义分割上被证明[12,16,14]。我们现在重新构建和优化分类网络,以指导密集的语义分割预测。我们绘制了FCNs的空间图,并在此框架中定位了历史和近期的先验模型。

全卷积计算在当今的多层网络时代也得到了广泛的应用。Sermanet等人的滑动窗口检测。[29],Pinheiro和Collobert的语义分割[28],以及Eigen等人的图像恢复。[5] 做完全卷积推理。完全卷积训练是罕见的,但被汤普森等人有效地使用[35]学习端到端的部分检测器和空间模型以进行姿势估计,尽管它们不公开或分析该方法。

[17]放弃了分类网络的非卷积部分,从而制作了一个特征提取器。它们将proposals和空间金字塔池结合起来,产生一个本地化的、固定长度的分类特征。这种混合模型虽然快速有效,但不能端到端的学习。

与现有方法不同的是,我们采用并扩展了深度分类体系结构,将图像分类作为有监督的预训练,并对其进行完全卷积的微调,从而简单有效地从整个图像输入和整个图像ground thruths中学习。

3. Fully convolutional networks

convnet中的每一层数据都是一个大小为h x w x d的三维数组,其中h和w是宽和高,d是特征或通道维度。第一层是图像,像素大小为h x w和d色通道,较高层中的位置对应于它们所连接到的图像中的位置,称为它们的感受野。

卷积神经网络是建立在平移不变性上的。它们的基本组件(卷积、池化和激活函数)作用于局部输入区域,并且只依赖于feature中相对应的空间坐标。将 x i , j x_{i,j} xi,j表示在某一层位置 ( i , j ) (i,j) (i,j)处的数据向量, y i , j y_{i,j} yi,j x i , j x_{i,j} xi,j的输出。

在这里插入图片描述

其中k被称为核大小,s是stride, f k s f_{ks} fks决定层类型:用于卷积的矩阵乘法,或平均池化,最大池化,或用于激活函数的元素非线性,等等用于其他类型的层。

在这里插入图片描述

FCN自然地对任意大小的输入进行操作,并生成相应(可能重新采样)空间维度的输出。

如果损失函数是最后一层空间维数的和 l ( x ; θ ) = Σ i j l ′ ( x i j ; θ ) l(\mathbf x;\theta)=\Sigma_{ij}l'(\mathbf x_{ij};\theta) l(x;θ)=Σijl(xij;θ),它的梯度是它的每个空间分量的梯度的和。

接下来,我们将解释如何将分类网络转换为生成粗输出映射的完全卷积网络,对于像素级预测,我们需要将这些粗输出连接回像素。第3.2节描述了为此目的而引入的一个技巧OverFeat[29]。我们通过将其重新解释为等效的网络修改来深入了解这个技巧。作为一种有效的替代方法,我们在第3.3节中介绍了用于上采样的deconvolution层。在第3.4节中,我们考虑采用分段抽样的方法进行训练,并在第4.3节中证明我们的整个图像训练更快、同样有效。

3.1. Adapting classifiers for dense prediction

典型的识别网络,包括LeNet[21]、AlexNet[19]及其更深层的继承者[31,32],表面上接受固定大小的输入并产生非空间输出。这些网络的完全连接层具有固定维度且丢弃了空间坐标信息。然而,这些全连接层也可以被视为覆盖其整个输入区域的卷积层。这样做可以把它们变成全卷积网络,可以接受任何大小的输入,输出分类图。

在这里插入图片描述

图2。将完全连接的层转换为卷积层使分类网络能够输出热图。添加层和空间损失(如图1所示)产生了一个高效的端到端密集学习机器。

此外,虽然所得到的feature map相当于对特定输入patch的原始分类网络的输出,但在这些patch的重叠区域上的计算是高度分摊的。例如,虽然AlexNet需要1.2 ms(在典型的GPU上)来生成227 x 227图像的分类分数,但完全卷积版本需要22 ms来生成500 x 500图像的10 x 10输出网格,这比朴素方法快5倍多。

这些卷积模型的空间输出图使其成为语义分割等密集问题的自然选择。由于在每个输出单元都有ground truth,前向和后向传递都很直接,并且都利用了卷积固有的计算效率(和积极的优化)。

在AlexNet的例子中,对应的回传时间为单张图像的2.4毫秒,而对于完全卷积的10 10输出图,则为37毫秒,结果是与前向传递的速度相似。这种密集的回传时间如图1所示。

对于AlexNet示例,对于单个图像,相应的backward时间为2.4 ms,对于完全卷积的10×10输出映射,相应的向后时间为37 ms,从而产生与前向过程类似的加速。这种密集的反向传播如图1所示。

在这里插入图片描述

虽然我们将分类网重新解释为完全卷积的分类网可以得到任何大小的输入的输出图,但输出的维度通常是通过子采样来减少。这使得这些分类网的全卷积版本的输出变得更加粗糙,将其与输入的大小相比较,减少了一个等于输出单元的接收场的像素跨度的系数。

3.3. Upsampling is backwards strided convolution

另一种连接粗输出和稠密像素的方法是插值。例如,简单双线性插值通过仅依赖于输入和输出单元的相对位置的线性映射从最近的四个输入计算每个输出 y i j y_{ij} yij

在某种意义上,上采样因子f是输入步长为 1 / f 1/f 1/f的卷积。只要is integral,一种自然的上采样方法就是输出步长为f的backwards convolution(有时称为deconvolution))。这种操作很容易实现,因为它只是简单地反转卷积的前向和后向过程。因此,在网络中进行上采样,通过像素方向的反向传播进行端到端学习。

需要注意的是,这样一个层中的deconvolution滤波器不需要固定(如双线性上采样),而是可以学习的,一堆deconvolution层和激活函数甚至可以学习非线性上采样。

在我们的实验中,我们发现网络中的上采样对于学习稠密预测是快速有效的。我们最好的分割架构使用这些层来学习为第4.2节中的精确预测增加样本。

3.4. Patchwise training is loss sampling

在随机优化中,梯度计算由训练分布驱动的。patchwise训练和完全卷积训练都可以产生任何分布,尽管它们的相对计算效率取决于重叠和mini-batch大小。整个图像完全卷积训练与patchwise训练相同,其中每个batch包含低于图像(或图像集合)损失的单位的所有感受野。虽然这比patches的均匀采样更有效,但它减少了可能的batches数量。然而一幅图片中patches的随机选择可以简单地复现。将损失限制为其空间项的随机采样子集(或者,等效地在输出和损失之间应用DropConnect掩码[36])从梯度计算中排除patches。

如果保留的patches仍然具有显着重叠,则完全卷积计算仍将加速训练。如果梯度在多个后向传递上累积,则batches可以包括来自多个图像的patches。patchwise训练中的采样可以纠正类不平衡[27,8,2]并减轻密集patches的空间相关性[28,16]。在完全卷积训练中,也可以通过加权损失来实现类平衡,并且可以使用损失采样来解决空间相关性。

我们在第4.3节中使用采样来探索训练,并且没有发现它为密集预测产生更快或更好的收敛。 整体图像培训是有效和高效的。

4. Segmentation Architecture

我们将ILSVRC分类器投射到FCNs中,并通过网络内的上采样和像素级的损失对其进行增强以实现稠密预测。接下来,我们构建了一个新的skip结构,该结构结合了粗糙、语义和局部、外观信息来细化预测。

在本次调查中,我们对PASCAL VOC 2011 segmentation 挑战进行了训练训和验证[7]。我们使用逐像素多项式logistic损失进行训练,并使用平均像素相交于并集的标准度量进行验证,平均值覆盖所有类,包括背景。训练忽略了隐藏在ground truth中的像素(模糊或困难)。

4.1. From classifier to dense FCN

我们首先将已验证的分类体系结构卷积,如第3节所示。我们考虑赢得ILSVRC12的AlexNet3体系结构[19],以及在ILSVRC14中表现出色的VGG网络[31]和GoogLeNet[32]。我们选择VGG 16层net5,我们发现在这个任务中他相当于vgg-19。对于GoogLeNet,我们只使用最终损失层,并通过移除最后的平均池层来提高性能。我们通过丢弃最终的分类器层来截取每个网络,并将所有完全连接的层转换为卷积。

我们在每个粗输出位置附加一个与通道维度21的1x1卷积,以预测每个PASCAL类(包括背景)的得分,然后通过反卷积层将粗输出向上采样到像素密度输出,如3.3节所述。表1比较了初步的验证结果以及每个网络的基本特征。我们报告了以固定的学习速率(至少175个epoch)收敛后获得的最佳结果。

表1。我们采用并扩展了三个分类转换网络进行分割,比较了PASCAL VOC 2011验证集上的平均交集和推理时间(NVIDIA Tesla K40c上500 x 500输入的平均20次试验)的性能。我们从密集预测的角度详细描述了适应网络的结构:参数层的数量、输出单元的接收场大小以及网络中最粗的步长。(这些数字给出了在固定学习速率下获得的最佳性能,而不是可能的最佳性能。)

在这里插入图片描述

从分类到分割的微调为每个网络提供了合理的预测。即使是最差的模型也能达到最先进性能的75%。segmentation-equippped的VGG网(FCN-VGG16)在平均值为56.0 IU时已经是最先进的,而在测试时为52.6。在额外数据方面的训练将val7子集的性能提高到59.4平均IU。培训详情见第4.3节。

4.2. Combining what and where

我们定义了一个新的全卷积网络(FCN)用于分割,它结合了特征层次结构的各层,并改进了输出的空间精度。参见图3。

详情见第4.3节。

4.2. Combining what and where

我们定义了一个新的全卷积网络(FCN)用于分割,它结合了特征层次结构的各层,并改进了输出的空间精度。参见图3。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值