资讯详情

全卷积神经网络(FCN)论文笔记

全卷积神经网络(FCN)论文笔记

Fully Convolutional Networks for Semantic Segmentation

Abstract

卷积网络是一种功能强大的视觉模型,具有层次结构的特点。。我们的关键洞察力是构建该网络接收任何大小的输入,并通过有效的推理和学习产生相应大小的输出。我们定义并详细描述了完全卷积网络的空间,解释了它们在空间密集预测任务中的应用,并与以前的模型建立了联系。我们将对当代网络进行分类(AlexNet[19]、VGG网络[31]和GoogLeNet[32])调整为完全卷积网络,并通过微调[4]将所学表示转移到分割任务中。然后,我们定义了一个新的系统结构,它将,为了产生准确而详细的分割。实现了我们的完全卷积网络PASCAL VOC(2012年mean IU为62.2%,相对增加20%),NYUDv2和SIFT流量的最先进分割,对典型图像的推断不到五分之一秒。

1. Introduction

卷积网络正在推动识别技术的进步。ConvNet不仅改进了整体图像分类[19、31、32],而且在局部结构化输出任务上也取得了进展。包括包围盒目标检测[29、12、17]、部分和关键点预测[39、24]和局部对应[24、9]。

。使用以前的方法convnet语义分割[27、2、8、28、16、14、11],每个像素都标有封闭对象或区域类别,但这项工作解决了这些缺点。

我们证明了一个完全卷积的网络(FCN),训练结束后,像素到像素的语义分割超过了没有进一步机器的最新技术。据我们所知,这是第一个FCN端到端培训(1)(2)。现有网络的完整卷积版本预测来自于任何大小输入的密集输出。学习和推理是通过密集的前馈计算和反向传输来实现的。在网络中,上采样层通过子采样池实现像素级预测和学习。

这种方法是有效的,无论是渐进的还是绝对的,并排除了其他工作的复杂性。分块训练很常见[27、2、8、28、11],但缺乏完全积累训练的效率。我们的方法不使用预处理和后处理的复杂性,包括超像素[8、16]、建议[16、14]或或局部分类器后期细化[8、16]。我们的模型将最近在分类[19、31、32]方面的成功转化为,将分类网络重新解释为完全卷积,并根据其学习表现进行微调。相比之下,小网络[8、28、27]应用于之前的工作,没有监督的预培训。

语义切分面临语义与位置之间的内在张力:。深层功能结构在ocal-to-global pyramid中联合编码位置和语义。.在第二节中,我们定义了一种新的跳过架构,将深层、粗糙的语义信息与浅层、精细的外观信息相结合(见图3)。

image-20220423112226279

下一节,我们将回顾网络的深度分类FCN相关工作,相关工作CONVNET语义分割的方法。解释以下部分FCN设计和密集的预测权衡,介绍我们的网络采样和多层组合架构,并描述我们的实验框架。最后,我们展示了它PASCAL VOC 2011-2、NYUDv2和SIFT Flow最新结果。

2. Related work

我们的方法借鉴了深度网络在图像分类[19、31、32]和迁移学习[4、38]方面的最新成功。迁移首先在各种视觉识别任务[4、38]上演示,然后在测试中演示,在混合命题分类模型[12、16、14]中演示实例和语义分割。现在,我们重建和优化分类网络,直接、密集地预测语义分割。我们绘制了FCN将以前的模型(包括历史模型和近期模型)放入框架中的空间图。

据我们所知,将convnet扩展到任何大小输入的想法最早出现在Matan在等人[25]中,他们将是经典的LeNet[21]扩展到识别数字串。由于其网络仅限于一维输入字符串,Matan等人使用维特比解码获取输出。Wolf和Platt[37]将convnet二维地图扩展到邮政地址块四个角的检测分数。这两部历史作品都以复杂的方式进行推理和学习,以便进行测试。Ning等人[27]定义了一个convnet,利用全卷积推理对线虫组织进行粗多类分割。

全卷积计算也被用于当今多层网络时代。Sermanet al[29]的、Pinheiro和Collobert[28]语义分割和Eigen et al[5]图像恢复完全卷积推理。完全卷积训练很少见,但是Tompson等人[35]有效地利用它来学习端到端检测器和空间模型来进行姿势估计,尽管他们没有解释或分析这种方法。

或者,H等人[17]丢弃分类网络的非进化部分,制作特征提取器。它们结合在一起,产生局部固定长度的分类特征。虽然这种混合模式快速有效,但不能端到端学习。

最近的工作ConvNet应用于,包括Ning等人[27]、Farabet等人[8]和Pinheiro和Collobert[28]语义分割;Ciresan等人[2]电子显微镜边界预测,以及Ganin和Lempitsky[11]混合神经网络/最近邻模型的自然图像边界预测;图像恢复和深度估计由Eigen等人[5,6]完成。这些方法的共同要素包括:

1)限制容量和感受野生小模型

2)、patchwise的训练[27,2,8,28,11];

3)通过超像素投影、机场规则化、滤波或局部分类进行后处理[8、2、11]

4)OverFeat[29]引入的密集输出[28,11]输入移位和输出交错;

5)饱和tanh非线性[8,5,28];

6)ensembles[2,11],

。然而,我们确实这样做了FCNs从分片训练3的角度研究.4和“”密集输出3.2.我们还讨论了网络采样3.3,其中Eigen等人[6]的是特例。

与现有方法不同,我们采用并扩展了深度分类系统结构,并进行完全卷积微调,以简单有效地从整个图像输入和整个图像接地路径中学习。

Hariharan等人【16】和Gupta等人14也将深度分类网络应用于语义分类,但在混合提议分类模型中也是如此。这些方法通过采样边界框和/或区域建议进行微调R-CNN系统[12]用于检测、语义分割和实例分割。这两种方法

它们分别在PASCAL VOC切分和NYUDv实现了2分state-of-the-art,因此,我们直接将我们的独立端到端FCN比较第五节的语义切分结果。

3. Fully convolutional networks

convnet每层数据都是一个大小h×w×dh和的三维数组w是空间维度,d是特征或通道维度。第一层是图像,像素大小为h×w,颜色通道为d。更高层的位置对应于通过路径连接到的图像中的位置,称为它们

convnet基于翻译不变性。它们的基本组件(卷积、池和激活函数)在局部输入区运行,仅依赖于相对空间坐标。 X i j X_{ij} Xij​写入特定层中位置(i,j)处的数据向量,将 y i j y_{ij} yij​写入下一层,这些函数通过

其中k称为,s表示或子采样因子, f k s f_{ks} fks​确定层类型:用于卷积或平均池的矩阵乘法,用于最大池的空间最大值,或用于的元素非线性,等等,用于其他类型的层。

这种函数形式是在组合下保持的,内核大小和步幅遵循转换规则

深度网络计算一般使用非线性函数,而只有这种形式的层的网计算非线性滤波器,我们称之为深滤波器或。FCN自然地对任何大小的输入进行操作,并产生相应(可能重新采样)空间维度的输出。

由FCN组成的实值损失函数定义了一个任务。如果损失函数是最后一层空间维度上的和,$l(x,θ)= {\textstyle \sum_{ij}{}l{‘}(x_{ij};\theta )} , 则 其 梯 度 将 是 其 每 个 空 间 分 量 梯 度 上 的 和 。 因 此 , 在 ∗ ∗ 整 个 图 像 上 计 算 的 “ 随 机 梯 度 下 降 ” 将 与 ,则其梯度将是其每个空间分量梯度上的和。因此,在**整个图像上计算的“随机梯度下降”将与 ,则其梯度将是其每个空间分量梯度上的和。因此,在∗∗整个图像上计算的“随机梯度下降”将与l^{’}$上的随机梯度下降相同**,将所有最后一层感受野作为一个小批量。

当这些感受野显著重叠时,当在整个图像上计算时,前馈计算和反向传播都要

接下来,我们将解释如何将分类网络转换为产生粗略输出映射的完全卷积网络。对于像素预测,我们需要将这些粗略输出连接回像素。第3.2节描述了OverFeat【29】为此引入的一个技巧。我们通过将其重新解释为等效的网络修改来深入了解这个技巧。作为一种有效的替代方案,我们在第节中介绍了用于。在第节中,我们考虑了,并在第节给出了我们的

3.1. Adapting classifiers for dense prediction

典型的识别网络,包括LeNet[21]、AlexNet[19]及其更深层的继承者[31,32],表面上接受,并产生非空间输出。这些网络的完全连接层具有固定的尺寸,并。然而,这些完全连接的层也可以被视为内核覆盖整个输入区域的卷积。这样做会将它们投射到完全卷积的网络中,这些网络接受任何大小的输入,并输出分类图。这种转变如图2所示。(相比之下,非进化网络,如Le等人[20]的网络,缺乏这种能力。)

**注:最后一层的全连接层换成了卷积层,在VGG中也有提到这种方法,但是VGG没有使用,参数量相同,但是可以接受大小不固定的输入,(GPA还没开始应用)**计算如下图:

此外,虽然生成的maps相当于对特定输入patches上原始网络的评估,但计算在这些patches的重叠区域上进行了高度摊销。例如,虽然AlexNet(在典型的GPU上)需要才能生成图像的分类分数,但完全卷积版本需要才能从图像生成,这比naıve方法快5倍多。 ()

这些卷积模型的空间输出映射使它们成为语义分割等密集问题的自然选择。利用每个单元固有的正向和反向计算效率。

AlexNet示例的相应向后时间对于,对于完全卷积的10×10输出映射为37毫秒,这导致了与前向传递类似的加速。这种密集的反向传播如图1所示。 (

虽然我们将分类网重新解释为完全卷积,可以为任何大小的输入生成输出映射,但输出维度通常通过子采样来减少。分类网子样本保持过滤器小,计算要求合理。这将使这些网络的完全卷积版本的输出变得粗糙,将其从输入的大小减少一个因子,该因子等于输出单元感受野的像素步长.

3.2. Shift-and-stitch is filter rarefaction

是OverFeat[29]引入的一种技巧,可以。如果输出按f的系数进行下采样,则输入会(通过左上填充)向右移动x像素,向下移动y像素,每移动一次(x,y)∈ {0,…,f− 1} ×{0,…,f− 1}. 这些 f 2 f^2 f2输入分别通过convnet运行,输出是交错的,因此预测对应于其感受野中心的像素。

只需改变convnet的过滤器和层间距,就可以产生与这种移位和缝合技巧相同的输出。考虑一个具有输入步幅的层(卷积或汇集),以及一个具有滤波器权重 f i j f_{ij} fij​的后续卷积层(省略了特征维数,这里不相关)。将,就像shift和stitch一样。然而,将原始滤波器与上采样输出进行卷积不会产生与技巧相同的结果,因为原始滤波器只看到其(现在已上采样)输入的减少部分。要复制这个技巧,请将

(i和j为零)。复制技巧的全部净输出包括逐层重复该滤波器放大,直到移除所有子采样

简单地减少网络中的子采样是一种折衷:。我们已经看到,移位和缝合技巧是另一种折衷:

虽然我们已经做了的初步实验,但我们并在我们的模型中它。我们发现,如下一节所述,通过上采样进行学习更有效,尤其是与下文所述的跳层融合相结合时。

3.3. Upsampling is backwards strided convolution(转置卷积)

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

从某种意义上讲,因子f的上采样是分数输入步长为1/f的卷积。只要f是整数,自然的上采样方式就是输出步长为f的向后卷积(有时称为反卷积)。这种操作实现起来很简单,因为它只是反转卷积的向前和向后过程。

注意,这种层中的反卷积滤波器(例如,双线性上采样),但可以学习。一堆反卷积层和激活函数甚至可以学习

在我们的实验中,我们发现网络上的上采样对于学习密集预测是快速有效的。我们的最佳分割架构使用这些层来学习向上采样,以便在第4.2节中进行精确预测。

3.4. Patchwise training is loss sampling

在随机优化中,梯度计算由训练分布驱动。分片训练和完全卷积训练都可以产生任何分布,尽管它们的相对计算效率取决于重叠和小批量大小。,其中每一批训练由一张图像(或图像集合)丢失下方的所有单位的感受野组成。虽然这比均匀采样patch更有效,但它减少了可能的批次数量。然而,可以简单地恢复图像中随机选择的patch。将损失限制在其空间项的随机抽样子集上(或者,在输出和损失之间等效地应用DropConnect mask[36])会将patches排除在梯度计算之外。

如果保留的patch仍然有明显的重叠,完全卷积计算仍然会加快训练速度。如果在

分块训练中的采样可以纠正类别不平衡[27,8,2],并缓解密集斑块的空间相关性[28,16]。在完全卷积训练中,类平衡也可以通过加权损失来实现,损失采样可以用来处理空间相关性。

我们在第4.3节中探讨了抽样训练,并没有发现它能更快或更好地收敛于密集预测。整体图像训练是有效和高效的。

4. Segmentation Architecture

附1、FCN-32S

原文中涉及到padding=100,是为了防止小于192x192的图像,在最后进入全连接层时图像会小于7x7,这会报错,但是显示使用中我们不会进行padding操作,因为一般分割的图像会大于192x192,

全连接加前面的卷积可以直接使用VGG16的预训练数据,在后面增加一个1x1卷积,修改维度,在进行一次,上采样率为倍,其中转置卷积的权重参数(冻结的原因应该是上采样率太大,使用转置卷积效果不好),所以就是还原图像中的点

附2、FCN-16S

在FCN-32S的基础上改进,分成两路,一路是原始的FCN-32S,最后一个转置卷积,另一个是将VGG16的Backbone中(对照VGG结构图),得到大小的feature map,对应h/16 * w/16(h=w=224),使用卷积降维,维度调整到类别数,,两路输出相加在进行转置卷积(上采样率为倍)

附2、FCN-8S

基于FCN-16S,再次基础上融合了VGG16结构Backbone中的MaxPooling3,其中feature map大小为(h/8,w/8),同样经过1x1卷积降维之后,和FCN-16S转置卷积上采样率之前的输出相加,在进行一次转置卷积上采样率为8倍。注意这里处理上采样率会相应调整,这里是

我们将ILSVRC分类器转换为FCN,并通过网络内对其进行增强,以实现密集预测。我们通过微调来训练分割。接下来,我们构建了一个新的skip架构,它结合了来细化预测。

在本次调查中,我们对PASCAL VOC 2011细分挑战进行了训练和验证[7]。我们一起训练每像素多项式逻辑损失,并用联合上的平均像素交点的标准度量进行验证,平均值覆盖所有类别,包括背景。训练忽略了在ground truth中被掩盖(模糊或困难)的像素。

4.1. From classifier to dense FCN

我们首先将第3节中所述的经验证的分类体系结构进行卷积。我们考虑AlxNET3架构(19)赢得ILVRC12,以及VGG网[31 ]和GoGoLeNET4(32)在ILVSRC14中做得非常好。我们选择VGG 16层网络5,在这个任务中,我们发现它相当于19层网络。对于GoogLeNet,我们只使用最终的loss层,并通过丢弃最终的平均池层来提高性能。我们通过丢弃最后的分类器层来斩首每个网络,并。我们附加一个通道维数为21的1×1卷积,以预测每个粗略输出位置处每个PASCAL类(包括背景)的分数,然后是一个反卷积层,以粗略输出到像素密集输出,如第3.3节所述。表1比较了初步验证结果以及每个网络的基本特征。我们报告了在固定学习速率(至少175个阶段)下收敛后获得的最佳结果。

从分类到分割的微调为每个网络提供了合理的预测。即使是最糟糕的模式也取得了成功∼ 75%的最先进表演。分段装备VGG网络(FCN-VGG16)在val上的mean IU为56.0,而在测试[16]上的mean IU为52.6,这似乎是。在val的子集上,额外数据训练将绩效提高到59.4mean IU。训练详情见第4.3节。

尽管分类精度相似,但我们对GoogLeNet的实现与这个分割结果并不匹配。

4.2. Combining what and where

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

虽然完全卷积的分类器可以微调到如4.1所示的分段,甚至在标准度量上得分很高,但它们的输出粗糙得令人不满意(见图4)。最终预测层的32像素步长限制了上采样输出中的细节比例。

我们通过添加链接来解决这个问题,这些链接将。这将线拓扑转换为DAG,边从较低的层向前跳到较高的层(图3)。由于他们看到的像素更少,更精细的规模预测应该需要更少的层,因此从较浅的净输出进行预测是有意义的。,模型可以根据全球结构进行局部预测。通过类比Florack等人[10]的多尺度局部喷流,我们将我们的非线性局部特征层次称为deep jet(深喷流)

我们首先通过预测16像素的步幅层将输出步幅分成两半。我们在pool4上添加了一个1×1卷积层,以生成额外的类预测。我们通过添加2×上采样层并将两个预测相加,将该输出与在第32步的conv7(卷积fc7)上计算的预测进行融合。(见图3)。我们将2×上采样初始化为双线性插值,但允许按照第3.3节所述学习参数。最后,步幅16的预测被上采样回图像。我们称之为网络。FCN-16s是端到端学习的,用最后一个更粗的网络的参数初始化,我们现在称之为。作用于pool4的新参数被初始化为零,这样网络以未修改的预测开始。学习率降低了100倍。

学习此跳过网络可将验证集的性能从。图4显示了输出精细结构的改进。我们将这种融合与仅从pool4层学习(这导致了较差的性能)以及在不添加额外链接的情况下简单地降低学习率(这导致性能显著提高,但没有提高输出质量)进行了比较。

我们继续以这种方式将来自pool3的预测与来自pool4和conv7的预测的2倍上采样进行融合,构建净。我们获得对62.7平均IU进行了轻微的额外改进,并发现输出的平滑度和细节有了轻微的改善。在这一点上,我们的融合改进已经达到了递减的回报,无论是在强调大规模正确性的IU度量方面,还是在图4中可见的改进方面,

减少合并层的步长是获得更精确预测的最直接的方法。然而,这样做对我们基于VGG16的网络来说是有问题的。将pool5层设置为跨步1需要我们的卷积fc6具有14×14的内核大小,以保持其感受野大小。除了计算成本,我们还很难学习如此大的滤波器。我们试图用更小的过滤器重新构建pool5上面的层,但未能成功实现可比性能;一种可能的解释是,

获得更精确预测的另一种方法是使用第3.2节中描述的移位和缝合技巧。在有限的实验中,我们发现这种方法的成本改进比分层融合要差。

4.3. Experimental framework

我们用SGD的动力训练。我们使用20幅图像的小批量,固定学习率为10−3, 10−4、5−5分别用于FCN AlexNet、FCN-VGG16和FCN GoogLeNet,通过行搜索选择。我们使用动量0.9,重量衰减5−4或2−4,并将偏差的学习率提高了一倍,尽管我们发现训练对这些参数不敏感(但对学习率敏感)。我们对类评分卷积层进行零初始化,发现随机初始化既不会产生更好的性能,也不会产生更快的收敛速度。在最初的分类器网络中使用的地方包括辍学。

我们通过整个网络的反向传播来微调所有层。与表2相比,单独微调输出分类器仅产生70%的完整微调性能。考虑到学习基本分类网所需的时间,从头开始培训是不可行的。(请注意,VGG网络是分阶段训练的,而我们从完整的16层版本开始初始化。)对于粗略的FCN-32s版本,在单个GPU上进行微调需要三天时间,而升级到FCN-16s和FCN-8s版本则需要大约一天时间。

正如第3.4节所解释的,我们完整图像训练有效地将每幅图像分为一组。相比之下,之前的工作在一个完整的数据集上随机采样补丁[27,2,8,28,11],可能会导致更高的方差批次,从而加速收敛[22]。我们通过以前面描述的方式对损失进行空间采样来研究这种权衡,并做出独立选择,以一定的概率1忽略每个最后一层单元1−p、 为了避免改变有效的批量大小,我们同时将每批。注意,由于卷积的效率,这种形式的拒绝采样仍然比对足够大的p值(例如,根据第3.1节中的数字,至少对于p>0.2)的分片训练更快。图5显示了这种形式的采样对收敛的影响。我们发现,,但由于每批需要考虑的图像数量较多,因此需要花费大量时间。因此,在我们的其他实验中,我们选择了不采样的整体图像训练。

完全卷积训练可以通过加权或采样损失来平衡课程。虽然我们的标签有点不平衡(大约三分之四是背景),但

通过网络内的反褶积层将分数向上采样到输入维度。反褶积滤波器固定为,而初始化为,然后学习。不使用Shift和Stitch(第3.2节)或过滤器稀疏等效物。

我们尝试通过随机镜像和“抖动”图像来增加训练数据,将图像在每个方向上转换到32像素(最粗略的预测尺度)。这没有产生明显的改善。

我们用于表1的PASCAL VOC 2011分割挑战训练集标记了1112张图像。Hariharan等人[15]收集了一组更大的8498帕斯卡训练图像的标签,用于训练之前最先进的系统SDS[16]。该培训数据将FCNVGG16验证分数7提高了3.4分,达到59.4平均IU。

所有型号都在一台英伟达特斯拉K40c上使用Caffe[18]进行培训和测试。这些模型和代码将在发布时开源发布。

5. Results

我们在语义分割和场景解析上测试了FCN,探索了。虽然这些任务在历史上区分了对象和区域,但我们将两者统一视为像素预测。我们在每个数据集上评估我们的FCN skip架构,然后将其扩展到NYUDv2的多模式输入和SIFT Flow的语义和几何标签的多任务预测。

我们报告了常见语义分割和场景解析评估中的四个指标:

表3给出了我们的FCN-8s在PASCAL VOC 2011和2012测试集上的性能,并将其与之前最先进的SDS[16]和著名的R-CNN[12]进行了比较。我们在平均IU上取得了20%的相对优势。推理时间减少了114×(仅convnet,忽略建议和改进)或286×(总体)。

使用以下方法收集的RGB-D数据集: ,它有1449张RGB-D图像,带有像素标签,Gupta等[13]将其合并为一个40类语义分割任务。我们报告了795张训练图像和654张测试图像的标准分割结果。(注:所有型号选择均在PASCAL 2011 val上进行。)表4给出了我们的型号在几个不同版本中的性能。首先,我们在RGB图像上训练未修改的粗糙模型(FCN-32s)。为了增加深度信息,我们在升级的模型上进行训练,以采用四通道RGB-D输入(早期融合)。这几乎没有什么好处,可能是因为很难在整个模型中传播有意义的梯度。继Gupta等人[14]的成功之后,我们尝试了深度的三维HHA编码,仅基于此信息的训练网络,以及RGB和HHA的“后期融合”,其中来自两个网络的预测在最后一层进行汇总,并最终得到端到端学习的双流网络。最后,我们将这个晚期融合网络升级为16步版本。

是一个包含2688幅图像的数据集,其中包含33个语义类别(“桥”、“山”、“太阳”)以及三个几何类别(“水平”、“垂直”和“天空”)的像素标签。FCN自然可以学习同时预测两种类型标签的联合表示。我们学习了FCN-16s的双头版本,带有语义和几何预测层和损失。学习模型在这两项任务上的表现与两个独立训练的模型一样好,而学习和推理的速度基本上与每个独立模型本身一样快。表5中的结果根据标准分为2488张训练图像和200张测试图像,其中10张显示了这两项任务的最新性能。

6. Conclusion

全卷积网络是一类丰富的模型,现代分类网络是其中的一个特例。认识到这一点,将这些分类网络扩展到分割,并通过多分辨率层组合改进体系结构,极大地提高了最先进的技术水平,同时简化并加快了学习和推理。

附加案例

标签: j小型中间继电器转换型

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台