Deep Residual Learning for Image Recognition(ResNet)-论文阅读笔记

Deep Residual Learning for Image Recognition

ResNet论文阅读笔记

//2022.5.5下午16:56开始

论文地址

[1512.03385] Deep Residual Learning for Image Recognition (arxiv.org)

论文贡献

作者提出了残差网络的思想,且证明了更深层的残差网络具有比VGG网络更低的复杂度和更高的准确性。同时,残差网络实现了更容易的训练过程。

个人总结

本文是ResNet网络的最初原始论文,论文首先说明:一味地加深网络深度会使得网络达到了一种饱和状态(论文中强调不是过拟合现象,而是一种网络深度到一定程度之后的退化问题),而导致精度的下降。

然后,作者提出了改进方法:在层之间,添加身份映射(identity mapping),这种身份映射与普通叠加网络一样具有相同的参数,且这种身份映射是通过shortcut connections实现的。同时,将添加了快捷连接的情况下形成的网络构件称为bottle neck(瓶颈层)。

在实验部分,作者进行了如下实验:

1.13/34层的普通网络与13/34层的残差网络进行实验,结果:本文提出的残差网络具有更高的精度;

2.身份映射的快捷链路和投影映射的快捷链路之间的对比实验,结果:使用身份映射的快捷链路具有更高的精度;

3.使用更深层次的ResNet网络(包含更多的bottle neck瓶颈层)进行实验,包含50/101/152层,结果:网络深度越深精度越高;

4.与目前表现SOTA的网络进行对比实验,结果:ResNet取得了最好的结果;

接着,作者又在CIFAR-10数据集上进行实验,本次实验主要是探究网络深度和精度的关系。作者还比较了不同层的普通网络和不同层的ResNet网络之间的层响应强度结果。得到了ResNet中单层结构对输入的修改小于普通网络。

此外,作者还在PASCAL VOC数据集上进行了实验,说明了ResNet的泛化性能也很强。

在文章的附录部分,作者又将ResNet网络运用到PASCAL VOC和MS COCO数据集上进行目标检测实验,同时又结合实验结果提出了基于FasterRCNN网络的改进方案:box细化、全局上下文、多尺度测试、使用验证数据、集成(ensemble)。作者还在ImageNet的定位任务中使用ResNet网络,达到了当时的SOTA。

论文主要内容

1.介绍

首先作者分析了增加网络深度并在网络中间层等添加规范化层之后不会导致计算量的大幅度增加,但是随着网络深度的增加,网络的准确性达到了饱和,作者强调:这并不是过拟合现象。

然后,作者阐述了对上述问题的一个改进方案:添加的层是身份映射(identity mapping),其他层是从学习的较浅模型复制。这样的架构使得更深的模型将不会产生更高的训练误差。

接着,作者提出了本文中的核心思想:深度学习残差框架。使用残差框架解决退化问题。具体的模式为:形式上,将期望的底层映射表示为H(x),我们让堆叠的非线性层拟合另一个F(x)的映射:= H(x)−x。原始映射被重设为F(x)+x。

F(x) + x的表达式可以通过具有“快捷连接”的前馈神经网络实现(图2)。快捷连接[2,34,49]是指跳过一层或多层的连接。在上述图2中,快捷链接只是执行身份映射,它们的输出被添加到堆叠层的输出中。标识快捷连接既不增加额外的参数,也不增加计算复杂度。整个网络仍然可以由SGD进行端到端反向传播训练,并且可以很容易地使用公共库(如Caffe[19])实现,而无需修改求解器。

同时,作者进行了实验并得到了如下结论:我们在ImageNet[36]上进行了全面的实验,以展示退化问题并评估我们的方法。我们的研究表明:1)我们的极深残差网络很容易优化,但对应的“普通”网络(简单的堆叠层)在深度增加时表现出更高的训练误差;2)我们的深度残差网络可以很容易地从深度的大幅增加中获得精度,产生的结果大大优于以前的网络。此外,作者还在数据集上成功训练了100层的模型和1000层的ResNet模型。

2.相关工作

剩余的表示。(Residual Representation)在图像识别中,VLAD[18]是由残差向量相对于字典进行编码的表示,Fisher V ector[30]可以表示为VLAD的概率版本[18]。两者都是图像检索和分类的强有力的浅层表示[4,48]。对于矢量量化,编码残差向量[17]比编码原始向量更有效。

在低水平视觉和计算机图形学中,为了求解偏微分方程(PDEs),广泛使用的多重网格方法[3]将系统重新表述为多尺度的子问题,其中每个子问题负责粗尺度和细尺度之间的剩余解。Multigrid的另一种选择是分层基预处理[45,46],它依赖于代表两个尺度之间剩余向量的变量。已有研究表明[3,45,46],这些求解器比不知道解的剩余性质的标准求解器收敛得快得多。这些方法表明,良好的重新配方或预处理可以简化优化。

Shortcut connections(快捷链路链接)导致捷径连接的实践和理论[2,34,49]已经被研究了很长时间。训练多层感知器(multi-layer perceptrons, MLPs)的早期实践是在网络输入和输出之间增加一个线性层[34,49]。在[44,24]中,一些中间层直接连接到辅助分类器,用于处理消失/爆炸梯度。文献[39,38,31,47]提出了通过快捷连接实现的中心层响应、梯度和传播误差的方法。在[44]中,“初始”层由一个快捷分支和几个较深的分支组成。

作者还介绍了和本工作同时进行的其他工作:与我们的工作同时,“公路网”[42,43]呈现了带有门限值[15]的捷径连接。这些门依赖于数据并具有参数,而我们的身份快捷方式则没有参数。当门控捷径“关闭”(接近于零)时,公路网中的各层代表非剩余函数。相反,我们的公式总是学习剩余函数;我们的身份捷径永远不会关闭,所有的信息总是被传递,还有其他需要学习的剩余功能。同时,作者还介绍了highway networks工作在增加网络的深度之后,训练的精度不会增加。

3.深度残差网络学习

3.1 残差学习

让我们把H(x)看作是由几个堆叠层(不一定是整个网络)匹配的底层映射,x表示这些层的第一个输入。如果假设多个非线性层可以渐近逼近复杂函数s2,那么就等价于假设它们可以渐近逼近剩余函数,即H(x)−x(假设输入和输出是相同的维度)。因此,与其期望堆叠层近似H(x),不如显式地让这些层近似一个残差函数F(x):= H(x)−x。因此,原始函数就变成了F(x)+x。虽然这两种形式都应该能够渐近地逼近所需的函数(如假设的那样),但学习的难易程度可能不同。

这种重新形成的公式受到了训练过程中退化问题的激励 (图1,左)。正如我们在引言中所讨论的,如果添加的层可以构造为身份映射,则更深的模型的训练误差应该不大于浅层模型。退化问题表明求解者在用多个非线性层逼近恒等式映射时可能有困难。利用剩余学习重构,如果恒等式映射是最优的,求解器可以简单地将多个非线性层的权值趋近于零,从而逼近恒等式映射。

在实际情况中,标识映射不太可能是最优的,但我们的重新表述可能有助于确定问题的前提。如果最优函数更接近恒等映射而不是零映射,那么对解算者来说,找到恒等映射的扰动比学习一个新函数更容易。我们通过实验(图7)表明,学习到的残差函数一般都有较小的响应,这表明恒等映射提供了合理的预处理。

3.2 Identity Mapping by Shortcuts(通过快捷方式进行身份映射)

作者在文中说到:对每隔几层进行剩余学习。一个构造块如图2所示。形式上,在本文中,我们考虑一个被定义为:

这里x和y是考虑的层的输入和输出向量。函数F(x, {Wi})表示需要学习的剩余映射。对于图2中有两层的例子,F = W2σ(W1x),其中σ表示ReLu激活函数和偏差。操作F + x是通过快捷连接和添加元素来执行的。我们采用加法后的第二次非线性(即σ(y),见图2)。

式(1)中的快捷连接既不引入额外的参数,也不引入计算复杂度。这不仅在实践中很有吸引力,而且在我们比较普通网络和剩余网络时也很重要。我们可以公平地比较同时具有相同数量的参数、深度、宽度和计算成本(除了可忽略的元素级附加)的普通/剩余网络。

在等式(1)中x和F的尺寸必须相等。如果不是这样(例如,当改变输入/输出通道时),我们可以通过快捷连接执行一个线性投影w来匹配尺寸:

我们也可以用Eqn(1)中的方阵w。但我们将通过实验证明,恒等映射对于解决退化问题是足够的,并且是经济的,因此w只在匹配维度时使用。

残差函数F的形式是灵活的。本文的实验涉及到一个函数F,它有两层或三层(图5),也可以有更多层。但如果F只有一层,则Eqn.(1)类似于线性层:y = W1x + x,我们没有观察到它的优点。

我们还注意到,尽管为了简单起见,上述表示法是关于全连接层的,但它们适用于卷积层。函数F(x, {Wi})可以表示多个卷积层。以元素为单位的添加是在两个特征映射上逐个通道执行的。

3.3 网络架构

普通的网络。我们的简单基线(图3,中)主要是受VGG网[41]的思想启发(图3,左)。卷积层大多有3×3过滤器,遵循两个简单的设计规则:(i)对于相同的输出特征图大小,层有相同的过滤器数量;(ii)如果feature map的大小减半,那么filter的数量将增加一倍,以保持每层的时间复杂度。我们直接通过卷积层进行下采样,其步幅为2。网络以全局平均池化层和带有softmax的1000路全连接层结束。图3中加权层数为34层(中)。

值得注意的是,与VGG网[41]相比,我们的模型滤波器较少,复杂度也较低(图3,左)。我们的34层基线有36亿次FLOPS(乘加),这只是VGG-19(196亿次FLOPS)的18%。

剩余的网络。在上述平面网络的基础上,我们插入快捷连接(图3,右),将网络转化为对应的残差版本。身份快捷键(Eqn。(1))时可以直接使用输入和输出是相同的维度(实线快捷键在无花果。3)。当维度增加(图3中虚线的快捷方式),我们认为两个选择:(A)快捷方式仍然执行标识映射,用额外的零增加维度的条目填充。该选项不引入额外参数;(B) Eqn.(2)中的投影快捷方式用于尺寸匹配(通过1×1 convolutions完成)。对于这两个选项,当快捷方式跨越两种大小的特征图时,它们的执行步幅都为2。

3.4 实现细节

我们对ImageNet的实现遵循了[21,41]中的实践。图像被调整大小,其短边在[256,480]中随机采样,用于比例增强[41]。224×224裁剪是从图像或其水平翻转中随机抽样,每像素的平均值减去[21]。使用[21]中的标准颜色增强。我们在每次卷积之后,在激活之前,在[16]之后,采用批归一化(BN)[16]。我们在[13]中初始化权重,并从头开始训练所有普通/剩余网。我们使用小批量256的SGD。学习速率从0.1开始,当误差稳定时除以10,模型被训练到60 × 104次迭代。我们使用的权重衰减为0.0001,动量为0.9。我们不使用dropout[14],按照[16]中的做法。

在试验中,我们采用标准的10种作物试验[21]进行比较研究。为了获得最佳结果,我们采用了如[41,13]所示的全卷积形式,并在多个尺度上对得分进行平均(图像的大小调整,使较短的边在{224,256,384,480,640}内)。

4.实验

4.1 ImageNet数据集上的分类实验

普通网络在ImageNet数据集上的实验。

针对于ImageNet数据集设计的不同残差网络如下表1所示。

首先,作者使用18层和34层的普通网络进行训练,并比较发现更深层的34层普通网络具有更高的验证误差,这说明退化问题已经出现。

上图4说明了退化问题的出现。

表2 为:ImageNet验证的前1个错误(%,10作物测试)与普通的ResNets相比,这里ResNets没有额外的参数。培训流程如图4所示。

我们认为这种优化困难不太可能是由梯度消失引起的。这些普通网络使用BN[16]进行训练,确保正向传播的信号具有非零方差。我们也验证了反向传播梯度与BN呈现健康的规范。所以正向信号和反向信号都不会消失。事实上,34层平面网络仍然能够达到竞争精度(表3),说明求解器在一定程度上是可行的。我们推测深平原网可能具有指数级的低收敛速度,这影响了对培训错误3的减少。出现这种优化困难的原因将在未来进行研究。

使用残差网络进行实验。接下来,我们评估18层和34层剩余网(ResNets)。基线架构与上面的普通网络相同,只是在图3(右)中为每对3×3过滤器添加了一个快捷连接。在第一个比较中(表2和图4右),我们对所有快捷方式使用恒等映射,对增加维度使用零填充(选项A)。因此,与普通的对应方法相比,它们没有额外的参数。

我们从表2和图4中得到三个主要的观察结果。

首先,这种情况与剩余学习相反——34层ResNet比18层ResNet好2.8%。更重要的是,34层的ResNet显示了相当低的训练误差,并可推广到验证数据。这表明,在这种情况下,退化问题得到了很好的解决,我们设法通过增加深度来获得精度。

第二,与普通的34层网络相比,34层的ResNet网络减少了3.5%的top-1误差(表2),这是因为成功地减少了训练误差(图4右与左)。这一比较验证了残差学习在极深系统上的有效性。

最后,我们还注意到,18层平面/残差网同样准确(表2),但18层ResNet收敛更快(图4右vs左)。当网“不是过深”(这里是18层)时,目前的SGD求解器仍然能够找到平面网的良好解。在这种情况下,ResNet通过在早期提供更快的收敛来简化优化。

身份快捷链路和投射快捷链路的对比。作者已经证明了无参数的身份快捷方式有助于培训。接下来我们研究投影捷径(Eqn.(2))。在表3中,我们比较了三个选项:(A)零填充快捷方式用于增加维度,所有快捷方式都不含参数(与右表2和图4相同);(B)投影捷径用于增加维度,其他捷径为同一性;(C)所有的捷径都是投影。

表3显示,所有这三个选项都比普通选项好得多。B略好于A。我们认为这是因为A中的零填充维度确实没有剩余学习。C比B稍微好一点,我们把这归因于许多(13)个投影快捷方式所引入的额外参数。但A/B/C之间的微小差异表明,预测捷径对于解决退化问题并不是必要的。因此,在本文的其余部分中,我们不使用选项C,以降低内存/时间复杂度和模型大小。标识快捷方式对于不增加下面介绍的瓶颈架构的复杂性尤为重要。

更深层的瓶颈层架构。接下来,我们描述ImageNet的深层网络。因为考虑到我们所能承受的培训时间,我们修改构建模块作为瓶颈设计4。对于每个残差函数F,我们使用了一个3层的堆栈,而不是2层(图5)。这三个层是1×1、3×3和1×1卷积,其中1×1层负责减少然后增加(恢复)维度,使3×3层成为一个瓶颈,具有更小的输入/输出维度。图5显示了一个示例,其中两种设计具有相似的时间复杂度。

无参数标识快捷方式对于瓶颈架构尤其重要。如果将图5(右)中的身份快捷方式替换为投影,可以看出,由于快捷方式连接到两个高维端点,时间复杂度和模型大小都增加了一倍。因此,标识快捷方式为瓶颈设计带来了更有效的模型。

ResNet50我们替换34层网络中的每个2层的块为3层的瓶颈块,产生一个50层的ResNet(表1)。我们使用选项B增加维度。这个模型实现了每秒钟38亿次的浮点计算。

101层和152层ResNets。我们使用更多的3层块构建了101层和152层ResNet(表1)。值得注意的是,虽然深度显著增加,但152层ResNet(113亿FLOPs)的复杂度仍然低于vg -16/19 net(153 / 196亿FLOPs)。

50/101/152层ResNets比34层ResNets更精确(表3和表4)。我们没有观察到降解问题,因此从深度的大幅增加中获得了很大的准确性。对于所有的评估指标(表3和表4),都可以看到深度的好处。

与最先进的方法比较。在表4中,我们与之前的最佳单模型结果进行了比较。我们的基线34层ResNets已经达到了非常有竞争力的准确性。我们的152层ResNet单模型top-5验证误差为4.49%。这个单一模型的结果优于之前所有的集成结果(表5)。我们将6个不同深度的模型组合在一起形成一个集成(提交时只有两个152层的模型)。这导致了3.57%的前5名的测试集误差(表5)。该条目在2015年ILSVRC中获得了第一名。

4.2 在CIFAR-10数据集上的实验和分析

作者关注的是很深层网络的行为,而不是为了得到最先进的结果。我们对CIFAR-10数据集[20]进行了更多的研究,该数据集由10个类的50k训练图像和10k测试图像组成。我们在训练集上进行实验训练,在测试集上进行评估。作者有意使用简单的架构,如下所示。

平面/剩余架构遵循图3中的形式(中间/右边)。网络输入是32×32图像,减去每个像素的平均值。第一层是3×3 convolutions。然后我们对大小分别为{32,16,8}的特征图使用一个6n层的堆栈,并使用3×3卷积,每个特征图大小使用2n层。过滤器的数目分别为{16,32,64}。子采样通过步长为2的卷积进行。网络以全局平均池、10路全连接层和softmax结束。共有6n+2个叠加的加权层。下表总结了该体系结构:

当使用快捷连接时,它们被连接到3×3层对(总共3n个快捷方式)。在这个数据集中,我们在所有情况下都使用身份快捷方式(即选项A),因此,我们的残差模型与普通模型具有完全相同的深度、宽度和参数数量。

作者设置权值衰减为0.0001,动量为0.9,在[13]和BN[16]中采用权值初始化,但没有dropout。这些模型在两个gpu上训练的小批量大小为128。我们从学习速率0.1开始,在32k和48k迭代时除以10,在64k迭代时终止训练,这是在45k/5k训练/val分割中确定的。我们遵循[24]中的简单数据增强训练:每一侧填充4个像素,从填充图像或其水平翻转中随机抽样32×32剪裁。为了进行测试,我们只评估原始32×32图像的单个视图。

我们将n ={3, 5, 7, 9}与20,32,44和56层网络进行比较。图6(左)显示了平面网的行为。深平面网深度增加,越深训练误差越大。这种现象类似于ImageNet(图4,左)和MNIST(见[42]),表明这样的优化难度是一个基本问题。

图6(中)显示了ResNets的行为。同样类似于ImageNet的情况(图4,右),我们的ResNets克服了优化的困难,并在深度增加时显示了精度的提高。

我们进一步探索n = 18,导致110层ResNet。在这种情况下,我们发现初始学习率0.1有点太大,无法开始收敛5。所以我们使用0.01来热身训练,直到训练误差低于80%(大约400次迭代),然后返回0.1继续训练。其余的学习计划和之前一样。这个110层的网络收敛性好(图6,中间)。它的参数比其他深而薄的网络少,例如FitNet[35]和Highway[42](表6),但属于最先进的结果(6.43%,表6)。

层响应分析。图7显示了层响应的标准差(std)。响应是每个3×3层的输出,在BN之后和其他非线性(ReLU/加法)之前。对于ResNets,这个分析揭示了剩余函数的响应强度。从图7可以看出,ResNets的响应通常比普通的ResNets小。这些结果支持了我们的基本动机(3.1节),即剩余函数可能比非剩余函数一般更接近于零。我们还注意到,ResNet越深,响应强度越小,如图7中ResNet-20、56和110的对比可以证明这一点。当层数较多时,单个层的ResNets倾向于对信号的修改较少。

探索超过1000层之后的网络。我们积极探索超过1000层的深层模型。我们设置n = 200,这将导致一个1202层的网络,它是按照上面描述的训练的。我们的方法没有优化难度,该103层网络能够实现训练误差<0.1%(图6,右)。它的测试误差仍然相当好(7.93%,表6)。

但在如此深入的模型上,仍存在一些悬而未决的问题。这个1202层的网络的测试结果比我们110层的网络差,虽然两者都是有类似的培训错误。我们认为这是过度拟合的结果。1202层的网络对于这个小数据集可能是不必要的大(19.4M)。为了获得该数据集的最佳结果([10,25,24,35]),采用强正则化,如maxout[10]或dropout[14]。在本文中,我们没有使用maxout/dropout,只是简单地通过设计的深度和稀薄的体系结构施加正则化,而没有分散对优化困难的关注。但结合更强的正则化可能会改善结果,我们将在未来研究。

4.3 在PASCAL和MSCOCO数据集上的实验

该方法在其他识别任务上具有良好的泛化性能。表7、8为PASCAL VOC 2007、2012[5]、COCO[26]对象检测基线结果。我们采用Faster R-CNN[32]作为检测方法。这里我们感兴趣的是用ResNet-101替换VGG-16[41]的改进。使用这两种模型的检测实现(见附录)是相同的,所以增益只能归功于更好的网络。最引人注目的是,在具有挑战性的COCO数据集上,我们获得了COCO的标准指标(mAP@[.])增加了6.0%。5.0.95]),相对改善28%。这种增益完全是由于习得的表示。

   基于深度残差网,我们在2015年ILSVRC & COCO竞赛中获得了多个赛道的第一名:ImageNet检测、ImageNet定位、COCO检测、COCO分割。详情见附录。

附录

1.目标检测流程

在本节中,我们将介绍我们基于基线Faster R-CNN[32]系统的检测方法。模型由ImageNet分类模型初始化,然后对对象检测数据进行微调。在ILSVRC和COCO 2015检测竞赛中,我们已经试验了ResNet-50/101。

与[32]中使用的VGG-16不同,我们的ResNet没有隐藏的fc层。我们采用“网络在Conv特征地图”(NoC)[33]的思想来解决这个问题。我们使用在图像上步幅不大于16像素的层(即conv1、conv2 x、conv3 x和conv4 x,在ResNet-101中共有91个conv层;我们认为这些层类似于VGG-16中的13个conv层,通过这样做,ResNet和VGG-16都有相同的总步幅(16像素)的conv特征图。这些层由region proposal network (RPN,生成300个proposal)[32]和Fast R-CNN检测网络[7]共享。RoI池[7]在conv5 1之前进行。在这个RoI-pooled特性上,每个区域都采用conv5x及以上的所有层,起到VGG-16的fc层的作用。最后的分类层被两个兄弟层取代(分类和框回归[7])。

BN层的处理:对于BN层的使用,在训练前,我们计算ImageNet训练集上每一层的BN统计量(平均值和方差)。然后在目标检测微调过程中固定BN层。因此,氮化硼层成为具有恒定偏移和规模的线性激活,并且氮化硼统计数据不通过微调更新。我们修复BN层主要是为了在Faster R-CNN训练中减少内存消耗。

PASCAL VOC

表7显示了结果。ResNet-101使mAP比VGG-16提高了>3%。这个增益完全是因为ResNet学习到的改进特性。

MS COCO

表8显示了MS COCO验证集的结果。ResNet-101增加了6%的地图@[。与VGG-16相比,这是一个28%的相对改进,这完全是由于更好的网络学习到的特征。值得注意的是,mAP@[。5.0.95]的绝对增长(6.0%)几乎与mAP@.一样大5(6.9%)。这表明,一个更深的网络可以提高识别和定位。

2.目标检测改进

为了完整起见,我们报告对竞赛所做的改进。这些改进是基于深度特征,因此应该受益于剩余学习。

MS COCO

box细化。我们的框改进部分遵循[6]中的迭代定位。在Faster R-CNN中,最终输出是一个与提案框不同的回归框。因此,为了进行推理,我们从回归框中汇集一个新特征,并获得一个新的分类分数和一个新的回归框。我们将这300个新的预测与原来的300个预测结合起来。非最大抑制(NMS)应用于预测框的联合集,使用IoU阈值0.3[8],然后使用框投票[6]。框细化使mAP提高了约2个点(表9)。

全局上下文。我们在快速R-CNN步骤中结合全球上下文。考虑到全图像卷积特征映射,我们通过全局空间金字塔池[12](具有“单层”金字塔)池化一个特征,可以使用整个图像的边界框作为RoI来实现作为“RoI”池化。此池特性被输入后roi层以获得全局上下文特性。该全局特征与原始的逐区域特征连接在一起,然后是兄弟分类和框回归层。这个新结构是端到端训练的。全局上下文改进mAP@.约1点(表9)。

多尺度测试。在上面的[32]中,所有的结果都是通过单尺度训练/测试得到的,其中图像的短边为s = 600像素。在[12,7]中,通过从特征金字塔中选择一个尺度来开发多尺度训练/测试,在[33]中,通过使用maxout层来开发多尺度训练/测试。在我们当前的实现中,我们按照[33]执行了多尺度测试;由于时间有限,我们没有进行多尺度训练。此外,我们只对Fast R-CNN步骤进行了多尺度测试(但还没有对RPN步骤)。使用训练好的模型,我们计算图像金字塔上的conv特征映射,其中图像的短边为s∈{200,400,600,800,1000}。

我们从[33]之后的金字塔中选择两个相邻的比例。RoI池和随后的层在这两个尺度[33]的特征映射上执行,这两个尺度在[33]中被maxout合并。多尺度测试将mAP提高2点以上(表9)。

使用验证数据。接下来,我们使用80k+40k训练集进行训练,使用20k测试开发集进行评估。测试开发集没有公共可用的地面真相,结果由评估服务器报告。在此设置下,结果是mAP@.5分55.7%,一张地图@[。5, .95]为34.9%(表9)。这是我们的单模型结果。

合奏。在Faster R-CNN中,系统被设计用来学习区域建议和对象分类器,因此集成可以用来促进这两项任务。我们使用集合来建议区域,建议的并集由每个区域分类器的集合来处理。表9显示了我们基于3个网络的综合结果。测试开发集上的mAP为59.0%和37.4%。该成果获得COCO 2015检测任务第一名。

PASCAL VOC

基于上述模型,我们重新访问PASCAL VOC数据集。COCO数据集上的单一模型(55.7% mAP@.表9中的5),我们在PASCAL VOC集合上微调这个模型。此外,还采用了箱体细化、上下文和多尺度测试等改进方法。通过这样做,我们在PASCAL VOC 2007上实现85.6%的mAP(表10),在PASCAL VOC 2012上实现83.8%(表11)PASCAL VOC 2012的测试结果比之前最先进的测试结果[6]高出10分。

ImageNet Detection

ImageNet检测(DET)任务涉及200个对象类别。准确度由mAP@.5进行评估。ImageNet DET的对象检测算法与表9中的MS COCO相同。这些网络在1000类ImageNet分类集上进行预训练,并在DET数据上进行微调。我们将验证集分成[8]之后的两部分(val1/val2)。我们使用DET训练集和val1集微调检测模型。val2集用于验证。我们不使用其他ILSVRC 2015数据。我们使用ResNet-101的单一模型有58.8%的mAP和我们的3个模型集成在DET测试集上有62.1%的mAP(表12)。该结果在2015年ILSVRC的ImageNet检测任务中获得第一名,以8.5分(绝对)领先第二名。

3.ImageNet Localization

ImageNet本地化(LOC)任务[36]需要对对象进行分类和本地化。接下来[40,41],我们假设首先使用图像级分类器预测图像的类标签,而定位算法只考虑基于预测的类预测边界框。我们采用“逐类回归”(PCR)策略[40,41],学习每个类的边界框回归。我们预先训练网络进行ImageNet分类,然后微调它们进行定位。我们在提供的1000类ImageNet训练集上训练网络。

我们的定位3算法是基于[32]的RPN框架,并做了一些修改。与[32]中不确定类别的方式不同,我们的用于本地化的RPN是按照每个类的形式设计的。这个RPN以两个用于二进制分类(cls)和框回归(reg)的兄弟1×1卷积层结束,如[32]。与[32]相比,cls和reg层都位于每个类的from中。具体来说,cls层有1000-d的输出,每个维度都是二元逻辑回归,用于预测是否为对象类;reg层有一个1000×4-d输出,由1000个类的框回归器组成。与[32]一样,我们的边界框回归是在每个位置引用多个翻译不变的“锚”框。

在我们的ImageNet分类训练(第3.4节)中,我们随机抽样224×224作物以增强数据。我们使用256个小批量图像进行微调。为了避免负样本占主导地位,每幅图像随机抽取8个锚点,所抽取的正锚点和负锚点的比例为1:1[32]。为了进行测试,该网络对图像进行全卷积处理。

表13比较了本地化结果。在[41]之后,我们首先使用ground-truth类作为分类预测执行“oracle”测试。VGG的论文[41]报告了使用地面真实类,中心误差为33.1%(表13)。在相同的设置下,我们使用ResNet-101网的RPN方法将中心作物误差显著降低到13.3%。这个比较证明了我们的框架的出色性能。通过密集(完全卷积)和多尺度测试,我们的ResNet-101使用地面真实类的误差为11.7%。利用ResNet-101进行分类预测(top 5分类误差4.6%,表4),top 5定位误差为14.4%。

以上结果仅基于Faster R-CNN[32]中的proposal network (RPN)。可以使用Faster R-CNN中的检测网络(Fast R-CNN[7])来提高结果。但我们注意到,在这个数据集上,一幅图像通常包含一个单一的主导对象,建议区域彼此高度重叠,因此具有非常相似的roi池特征。因此,Fast R-CNN[7]以图像为中心的训练会产生小变化的样本,这可能不是随机训练所需要的。受此启发,在我们当前的实验中,我们使用了原始的以roi为中心的RCNN[8],而不是Fast R-CNN。

我们的R-CNN实现如下。我们将上面训练的每个类的RPN应用于训练图像,以预测地面真值类的边界框。这些预测框扮演了类相关建议的角色。对于每个训练图像,提取得分最高的200个建议作为训练样本,训练R-CNN分类器。图像区域从建议中裁剪,扭曲到224×224像素,并像R-CNN[8]一样输入分类网络。这个网络的输出由cls和reg的两个兄弟fc层组成,也是以类的形式。这个R-CNN网络在训练集上使用以roi为中心的小批量256进行微调。为了进行测试,RPN为每个预测类别生成得分最高的200个提案,R-CNN网络用于更新这些提案的分数和方框位置。

该方法将前5位定位误差降低到10.6%(表13)。这是我们在验证集中的单一模型结果。使用网络集合进行分类和定位,我们在测试集中实现了9.0%的前5位定位误差。这个数字显著优于ILSVRC 14结果(表14),显示了64%的误差相对减少。该成果在2015年ILSVRC ImageNet本地化任务中获得第一名。

本文仅作为个人复习之用,并无他用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值