【图像分类】ResNet论文理解

摘要

  本文:
  更深层次的神经网络更难训练。本文提出剩余学习框架,以减轻深层次神经网络的训练。重新构造层(用于学习剩余函数)来作为参考层输入,而不是学习未引用的函数。
  实验证明:
  剩余网络更容易优化,可以在深度增加的情况下获得精度的提升。
  在ImageNet数据集上:评估深度高达152层的剩余网络——比VGG网络深8倍,但仍然具有较低的复杂性。在测试集上,这些剩余网络集合的误差达到3.57%。该结果在ILSVRC 2015分类任务中获得第一名。我们还对CIFAR-10进行了100层和1000层的分析。
  效果:
  表征的深度是许多视觉识别任务的中心。仅仅由于本文极深的表征,在COCO目标检测数据集上获得了28%的提升。Deep residual nets是我们提交给ILSVRC和COCO 2015竞赛的基础,在ImageNet检测、ImageNet定位、COCO检测和COCO分割等任务中获得了第一名。

一、引言

  图像分类:
  深度卷积神经网络 为图像分类带来了一系列突破 。深度网络自然地以端到端多层的方式将低层、中层、高层的特征和分类器整合在一起,,并且特征的“层”可以通过堆叠层的数量(深度)来丰富。
  深度神经网络:
  最近的证据表明网络深度至关重要。在ImageNet挑战赛上的优秀结果都利用了“非常深”的模型,深度从16到30。许多其他重要的视觉识别任务也有同样的问题,能够从很深的模型中受益。
  网络深度增加带来的问题——梯度消失或梯度爆炸
  在深度重要性的驱动下,出现一些问题:学习更好的网络就像叠加更多层一样容易吗?回答这个问题的一个障碍是臭名昭著的梯度消失/爆炸问题,它从一开始就阻碍了模型收敛。
  解决方案:通过初始归一化和中间归一化层得到了很大程度的解决,这使得具有数十层的网络通过随机梯度下降(SGD)与反向传播达到收敛。
  网络退化:
  当更深层的网络能够开始收敛时,一个退化问题就暴露出来了:随着网络深度的增加,精确度会达到饱和(这可能并不令人惊讶),然后迅速退化。并且这种退化并不是由过拟合引起的,在适当深度的模型上增加更多的层会导致更高的训练误差,如图。
在这里插入图片描述
&emspe; 退化(训练精度的)表明并不是所有的系统都同样容易优化。考虑一个较浅的体系结构,以及在其上添加更多层的较深的对等物。通过构造更深层次的模型,有一个解决方案:添加的层是身份映射,其他层是对学习的浅层模型的复制。这个构造的解的存在表明一个更深的模型应该不会产生比它的浅层对应的更高的训练误差。但实验表明, 现有的解决方案是无法找到与构建的解决方案相比(或者在可行的时间内无法这样做),是相当好的或更好的。
  本文解决退化问题——剩余学习:
   引入深度剩余学习框架来解决退化问题。不是希望每几个堆叠层直接适合所需的底层映射,而是显式地让这些层适合剩余映射。
   形式上:期望的底层映射表示为H(x),我们让堆叠的非线性层拟合另一个映射F(x):= H(x)−x,原始的映射被重新映射为F(x)+x。 优化剩余映射比优化原始的、未引用的映射更容易。在极端情况下,如果一个恒等映射是最优的,那么将剩余推到零比用一堆非线性层来拟合恒等映射要容易得多。
   F(x) +x:可以通过带“快捷连接”的前馈神经网络实现,快捷连接是那些跳过一层或多层的连接。 在我们的案例中,快捷连接执行恒等映射,它们的输出被添加到堆叠层的输出中(如图)恒等快捷连接: 既不增加额外的参数,也不增加计算复杂度。整个网络仍然可以通过带有反向传播的SGD进行端到端的训练,并且可以使用公共库(例如Caffe)轻松实现,而无需修改求解器。
在这里插入图片描述
  实验:
  (1)ImageNet上进行了全面的实验来显示退化问题并评估本文方法。结果表明:
  1)极深剩余网络很容易优化,但对应的“普通”网(仅仅是堆叠层)在深度增加时表现出更高的训练误差;
&emspe; 2)我们的深度剩余网可以很容易地从深度的大幅增加中获得精度的提高,产生的结果大大优于以前的网络。
  (2)CIFAR-10数据集上也显示出类似的现象:
&emspe; 表明我们方法的优化效果并不仅仅是一个简单的特定数据集。我们在这个数据集上成功训练超过100层的模型,并探索超过1000层的模型。
  (3)
  在ImageNet分类数据集上:利用极深剩余网得到了很好的结果。152层剩余网络是ImageNet上迄今为止最深的网络,同时仍然比VGG网络复杂度低,在ImageNet测试集上top-5的误差为3.57%,在ILSVRC 2015分类竞赛中获得了第一名。
  极深的表征在其他识别任务上也有很好的泛化性能:在ILSVRC & COCO 2015年的比赛中,在ImageNet detection, ImageNet localization, COCO detection, COCO segmentation上进一步获得了第一名。
  表明:剩余学习原则是通用的,期望它适用于其他视觉和非视觉问题。

二、相关工作

  剩余表征:
  在图像识别中,1)VLAD是通过剩余向量对字典进行编码的表示。2)Fisher Vector可以表示为VLAD的概率版本。它们都是图像检索和分类的强大的浅层表示法。对于向量量化,编码剩余向量比编码原始向量更有效。
  在低级视觉和计算机图形学中,为了求解偏微分方程(PDEs):
  ①广泛使用的多重网格方法:将系统重新化为多尺度下的子问题,其中每个子问题负责在较粗尺度和较细尺度之间的剩余解决方案。
  ②多重网格的一种替代方法是分层基础预处理:它依赖于表示两尺度间剩余向量的变量。
  已经证明,这些求解器比不知道解的剩余性质的标准求解器收敛得快得多——表明,一个良好的重新配方或预处理可以简化优化。
  快捷连接:
  快捷连接的实践和理论 已经研究了很长时间。
  训练多层感知器(MLPs):是增加一个从网络输入连接到输出的线性层 。
  一些文献:一些中间层直接连接到辅助分类器用于解决梯度消失/爆炸
  另一些文献:提出了通过快捷连接实现的定心层响应、梯度和传播误差的方法。
  GoogLenet:一个“inception”层由一个快捷分支和一些较深的分支组成。
  “highway networks”:与我们的工作同步。它具有门控函数的快捷连接,这些门是依赖于数据的,并且有参数。我们的恒等快捷连接是无参数。当有门的快捷方式“关闭”(接近于零)时,highway networks的层代表非剩余函数。相反我们的公式总是学习剩余函数,恒等快捷连接从来没有关闭过,所有的信息总是通过,还有额外的剩余函数需要学习。此外highway networks还没有显示出在深度增加的情况下(例如,超过100层)精度的提高。

三、深度剩余学习

3.1 剩余学习

在这里插入图片描述
  H(x)是一个底层映射,以适应几个堆叠层(不一定是整个网络),x表示这些层中的第一层的输入。假设多个非线性层可以近似复杂的函数,那么它等价于假设它们可以近似剩余函数,即H(x)−x(假设输入和输出具有相同的维数)。与其期望堆叠层近似H(x),我们明确让这些层近似一个剩余函数F(x):= H(x)−x,原始函数因此变成F(x)+x——两种形式都能够近似所期望的函数(如假设),但学习的容易程度可能不同。
  重新表述的动机是退化问题的反直觉现象,正如在引言中所讨论的,如果添加的层可以被构造成恒等映射,那么更深模型的训练误差应该不会比更浅模型的大。退化问题表明,求解者在使用多个非线性层逼近恒等映射时会遇到困难。利用剩余学习公式,如果恒等映射是最优的,求解者可以简单地将多个非线性层的权值趋近于零来逼近恒等映射。
  在实际情况下,恒等映射不太可能是最优的,但我们的重新规划可能有助于预设问题(某些特殊情况下,恒等映射能解决问题,如构造恒等映射,那么更深模型的训练误差应该不会比更浅模型的大)。如果最优函数更接近恒等映射而不是零映射,那么求解者应该更容易找到恒等映射的扰动,而不是学习新的函数。后续实验表明,学习后的剩余函数一般具有较小的响应,这表明恒等映射提供了合理的预处理。

3.2 恒等映射快捷连接

在这里插入图片描述
  剩余学习构建块如图,形式上定义为:

在这里插入图片描述
x和y是所考虑层的输入和输出向量。F(x,{Wi})函数表示待学习的剩余映射,F + x是通过快捷连接和按元素相加来执行的。
  公式1中:
  ①快捷连接:既不引入额外的参数,也不引入计算复杂度。 这不仅在实践中很有吸引力,而且在普通网络和剩余网络的比较时也很重要——比较同时具有相同数量的参数、深度、宽度和计算成本(除了可忽略的元素添加)的普通/剩余网络。
  ②x和F的维数必须相等:如果不是这样(如改变输入/输出通道时),可以通过快捷连接执行一个线性投影Ws来匹配尺寸:
在这里插入图片描述
  实验证明:恒等映射对于解决退化问题是足够的,并且是经济的,因此Ws只在匹配维数时使用。
  剩余函数F:形式是灵活的,本文实验涉及的函数F有两层或三层,但可能有更多层。但如果F只有一层,则公式1类似于线性层:y = W1x+x,对此没有观察到优点。
  上面的表示法是关于全连接层的,但也适用于卷积层。函数F(x,{Wi})可以表示多个卷积层,基于元素的添加是在两个特征图上逐个通道执行的。

3.3 网络架构

  测试了各种普通网络和残差网络,发现了一致的现象。我们讨论如下两个模型:
在这里插入图片描述

  (1)普通的网络:
  普通baseline(图,中间)主要是受到VGG网络(图,左边)的理念的启发,卷积层大多是3×3卷积核,遵循两个简单的设计规则
  ①对于相同的输出特征图大小的层 ,有相同数量的过滤器
  ②如果特征图的大小减半,则将过滤器的数量增加一倍,以保持每层的时间复杂度。

  我们通过步长为2的卷积层直接执行向下采样,网络以全局平均池化层和softmax的1000路全连接层结束。图3(中间)中有权重层的总数为34。
  值得注意的是,我们的模型比VGG网[41]有更少的过滤器和更低的复杂性(图3,左)。我们的34层基线有36亿次失败(再乘以),这只是vga -19(196亿次失败)的18%。
  (2)残差网络:
  在普通网络的基础上,插入快捷连接(图右),使网络变成对应的残差版本。当输入和输出尺寸相同时,可以直接使用恒等快捷连接(公式1,图中实线) 。当维度增加时(图中虚线)。
  两个选项:
  (A)快捷方式仍执行恒等映射,用额外的零填充以增加维度,此选项不引入任何额外参数;
  (B)使用公式2中的投影快捷连接匹配维数(通过1×1卷积完成)。

  这两个选项,当快捷键穿过两种大小的feature map时,它们的步长都为2。

3.4 实现

  训练设置:
  图像的短边随机采样在[256,480]进行缩放增强;从一幅图像或其水平翻转中随机224×224裁切;使用标准颜色增强。
  采用批处理归一化(BN),在每次卷积后,激活函数作用前。
  初始化权重,并从头开始训练所有的普通网络、残差络网。
  使用的SGD优化器,小批量尺寸为256。
  学习率从0.1开始,当误差稳定时,学习率变为之前的0.1倍,并且模型训练达到60×104次迭代。使用0.001的权重衰减和0.9的动量。不使用dropout
  测试设置:
  采用标准的10-crop测试。为了得到更好的结果采用全卷积形式,在多个尺度上对分数进行平均(将图像调整为较短的边为{224,256,384,480,640})。

四、实验

4.1 ImageNet分类

  在包含1000个类的ImageNet 2012分类数据集上评估了我们的方法。
在这里插入图片描述
  普通网络:
  首先评估18层和34层的普通网络,详细架构如上表。评估结果图表2:

在这里插入图片描述

  表2的结果表明,较深的34层普通网络的验证误差高于较浅的18层普通网络。 为了揭示原因,比较了它们在训练过程中的训练/验证误差,我们观察到退化问题-尽管18层普通网络的解空间是34层普通网络解空间的子空间,但在整个训练过程中,34层普通网络的训练误差较高。
  原因分析:这种优化困难不太可能是由于梯度消失造成的,这些网络使用BN进行训练,保证前向传播的信号具有非零方差,我们还验证了反向传播的梯度具有BN的健康规范,所以前向信号和后向信号都不会消失。事实上34层的普通网络仍然能够达到竞争精度,说明求解器在一定程度上是有效的。我们推测深层普通网络可能具有指数级低的收敛率,这影响了训练误差的减少 。
  残差网络:
  评估18层和34层残差网络(ResNets)。基线架构与上面的普通网络相同,只是在为每对3×3过滤器添加了一个快捷连接。
在这里插入图片描述
  第一个比较中(表2右),对所有的快捷方式和增加维度的补零都使用了恒等映射(选项A)。因此它们没有额外的参数。
  表2得到三个主要观察结果:
  ①残差学习的情况正好相反——34层ResNet比18层ResNet好(好2.8%)。更重要的是,34层的ResNet显示出相当低的训练错误,并可推广到验证数据。这表明在此设置中退化问题得到了很好的解决,并且我们设法通过增加深度来获得精度增益。
  ②与它的普通34层网络相比,ResNet将top-1错误降低了3.5%(表2)。通过比较验证了剩余学习在极深系统上的有效性。
   ③18层的普通网络和残差网络具有相当的精度(表2),但是18层的ResNet收敛速度更快。当网络“不是太深”(这里是18层)时,当前的SGD求解器仍然能够找到普通网络的好解决方案。ResNet通过在早期提供更快的收敛速度来简化优化。
  恒等快捷连接VS投影快捷连接:
  上述已经证明了无参数、恒等快捷连接有助于训练。接下来我们研究投影快捷连接(公式2)。
在这里插入图片描述
  比较三种连接选项:
  (A)填充零的快捷方式用于增加维度,并且所有的快捷方式都是无参数的;
  (B)投影快捷连接用于增加维度,其他捷径为恒等快捷连接;
  (C )所有快捷连接都是投影连接。在这里插入图片描述
&emspe; 表3显示:三个选项都比普通选项好得多。B比A稍微好一点,这是因为A中的零填充维度确实没有剩余学习。C比B稍微好一点,将此归因于许多(13条)投影快捷连接引入了额外参数。但A/B/C之间的小差异表明投影快捷连接对于解决退化问题不是必需的。因此本文的其余部分不使用选项C,进而减少内存/时间复杂度和模型大小。 恒等快捷连接对于不增加瓶颈架构的复杂性特别重要
  更深层次的瓶颈架构:
在这里插入图片描述
  接下来描述ImageNet的更深层次的网络,考虑到所能负担的训练时间,修改了构建块为瓶颈设计——每一个残差函数F,使用3层堆叠而不是2层(1×1、3×3和1×1卷积),其中1×1层负责减少和增加(恢复)维度,3×3层为瓶颈层有较小的输入/输出维度。上图两种设计具有相似的时间复杂度。
  无参数恒等快捷连接对于瓶颈架构尤其重要。如果用投影代替图5(右)中的恒等快捷连接,由于捷径连接到两个高维端点,时间复杂度和模型大小都增加了一倍。因此恒等快捷连接为瓶颈设计更有效。
  50层ResNet: 34层的网络中替换每个2层块为上述3层的瓶颈块,形成一个50层的ResNet(表1),使用选项B来增加维度。
  ResNet101层和152: 使用更多的3层块构建 101层和152层ResNet(表1)。 虽然深度显著增加,但152层ResNet(113亿次)的复杂度仍然低于vga -16/19网络(153 / 196亿次)。50/101/152层的ResNets比34层的更加精确,没有观察到退化问题,因此深度的大幅增加可以显著提高精度。
  与先进方法的比较: 在表4中 与之前的最佳单模型结果进行了比较。基准34层ResNets已经达到了非常有竞争力的准确性。152层ResNet的单模型top-5验证误差为4.49%。这个单模型的结果优于之前所有的集成结果(表5) 将6个不同深度的模型组合成一个集成(提交时只有两个152层的模型),测试集top-5的误差为3.57%(表5)。获得了2015年ILSVRC的第一名。
在这里插入图片描述

4.2 CIFAR-10 和分析

  CIFAR-10数据集:
  包含10类,由50k的训练图像和10k的测试图像组成。
  网络:
  普通网络/残差网络遵循图(中间/右边)的形式;网络输入为32×32的图像,减去每像素的均值;第一层是3×3卷积,然后在大小为{32,16,8}的特征图上使用6n的3×3堆叠层,每个特征图大小对应2n层,过滤器的数目分别为{16,32,64},下采样由步长为2的卷积执行,网络以全局平均池化、10路全连接层和softmax结束。总共有6n+2个叠加权重层。下表总结了该架构:
在这里插入图片描述

  使用快捷连接时,连接到3×3层的对上(共3n个快捷连接)。在此数据集中所有情况下使用恒等快捷连接(即选项A)。因此残差模型具有与普通模型完全相同的深度、宽度和参数数量。
  训练and测试参数设置:
   权值衰减为0.0001,动量为0.9;采用权值初始化和BN,不使用dropout;模型在两个gpu上用128个小批量进行训练;初始学习率为0.1,在32k和48k迭代时将其除以10;在64k迭代时终止训练;采用简单的数据增强进行训练:每边填充4个像素,从填充的图像或其水平翻转中随机采样一个32×32的剪裁。在测试时,只对原始的32×32图像的单个图像进行评估。
  不同深度网络对比:
  ①比较n ={3,5,7,9}: 得到20,32,44,56层网络,普通网络的深度越深,训练误差越大。这种现象与ImageNet 和MNIST类似,说明这种优化难度是一个基本问题。同样与ImageNet的情况类似ResNets克服了优化的困难,并证明了当深度增加时,精度有所提高。
  ②探索n = 18: 得到110层ResNet:在这种情况下发现初始学习率为0.1有点太大,无法开始收敛。所以使用0.01来预训练,直到训练误差低于80%(大约400次迭代),然后回到0.1继续训练,其余设置和前面一样,这个110层的网络融合得很好,它有更少的参数但仍是最先进的结果(6.43%,表6)。
  ③探索超过1000层: 探索超过1000层的深层模型,n = 200得到一个1202层的网络。我们的方法没有优化难度,这个103层的网络可以实现训练误差<0.1%,测试错误仍然相当好(7.93%,表6)。但在如此深的模型中存在一些悬而未决的问题,这个1202层网络的测试结果比我们的110层网络差,虽然两者都是有类似的训练错误,我们认为这是因为过拟合,对于这个小数据集,1202层网络可能会不必要地大(19.4M)。使用强正则化方法如maxout 或dropout 在该数据集上会获得最佳结果,在本文中没有使用maxout/dropout,只是在设计时简单地对深架构和浅架构进行正则化,而没有分散对优化难点的关注,但结合更强的正则化可能会提高结果,我们将在未来进行研究。
在这里插入图片描述
  层响应分析:
在这里插入图片描述
  图7为各层响应的标准差(std),响应是每3×3层的输出(BN之后和其他非线性激活(ReLU/加法)之前),对于ResNets这种分析揭示了残差函数的响应强度:
  ①图7可以看出,ResNets的响应通常小于普通的对应物,这些结果支持了我们的基本动机——残差函数可能通常比非残差函数更接近于零。
  ②更深的ResNet具有较小的响应强度:图7中ResNet-20、56和110之间的比较,当有更多的层时,单个的ResNets层倾向于较少地修改信号。

4.3 PASCAL 和 MS COCO的目标检测

  该方法对其它识别任务具有良好的泛化性能。表7和表8分别为PASCAL VOC 2007和COCO 2012的目标检测基线结果。采用Faster R-CNN作为检测方法,用ResNet-101替换vga -16,使用两种模型的检测实现(见附录)是相同的,所以只能归因于更好的网络。基于深度残差网络,我们在2015年ILSVRC和COCO比赛中获得了ImageNet detection, ImageNet localization, COCO detection, COCO segmentation几个项目的第一名。细节在附录中。

五、附录

5.1 附录A 目标检测baselines

  本节:介绍基于基线Faster R-CNN的检测方法。模型由ImageNet分类模型初始化,然后在目标检测数据上进行微调。在2015年的ILSVRC和COCO检测比赛中对ResNet-50/101进行了实验。
  网络设置:
  Faster RCNN使用VGG-16,但ResNet没有隐藏的fc层,因此采用NoC的想法来解决这个问题——图像上下采样步幅不大于16像素的层(即conv1, conv2 x, conv3 x,conv4 x, ResNet-101中总共91个conv层)计算全图像共享conv特征图,我们认为这些层类似于vgg-16中的13个conv层,通过这样ResNet和vgg -16拥有相同下采样总步幅(16像素)的conv特征图。特征图由区域建议网络(RPN,产生300个建议)和Fast R-CNN检测网络共享。在conv5 1之前执行RoI Pooling。ROI pooling池化后的特征图使用conv5 x的所有层,相当于vgg-16的fc层。最后的分类层被两个兄弟层(分类和盒回归)所取代。
  对于BN层:在经过预训练后,计算ImageNet训练集上每一层的BN统计量(均值和方差),然后在微调过程中固定BN层进行目标检测。因此BN层变成具有恒定偏移量和伸缩性的线性激活,并且BN统计信息不会微调更新。固定BN层主要是为了在Faster R-CNN训练中减少内存消耗。

5.1.1 PASCAL VOC

  数据集:使用VOC 2007中的5k trainval图像和VOC 2012中的16k trainval图像进行训练(“07+12”)。对于PASCAL VOC 2012测试集,使用VOC 2007中的10k trainval+测试图像和VOC 2012中的16k trainval图像进行训练(“07++12”)。表7显示了结果。ResNet-101比vga -16改进了3%的mAP。这完全是因为ResNet学习了改进的特征。
在这里插入图片描述

5.1.2 MS COCO

  MS COCO数据集涉及80个对象类别。我们评估了PASCAL VOC度量(mAP@ IoU = 0.5)和标准COCO度量(mAP@ IoU = 0.5:.05:.95)。使用训练集上80k的图像进行训练,使用val集上40k的图像进行评估。我们的COCO检测系统和PASCAL VOC的检测系统是相似的。用8 gpu实现训练COCO模型,因此RPN步骤的批处理大小为8个图像、Fast R-CNN有16个小批量图像。RPN步长和Fast RCNN分别训练240k次和80k次,学习率分别为0.001和0.0001。
  表8显示了MS COCO验证集的结果。ResNet-101的mAP@增加了6%。相比vgg -16, 这完全是由于更好的网络学习到了一些特性,更深层次的网络可以提高识别和定位能力。
在这里插入图片描述

5.2 附录 B 目标检测的改进

5.2.1 MS COCO

  边界框细化:
  box改进部分遵循了迭代定位。在Faster R-CNN中,最终的输出是一个回归框(不同于提议框)。为了进行推理:从回归框中pooling一个新的特征,并获得一个新的分类分数和一个新的回归框。把这300个新的预测和原来的300个预测结合起来,使用IoU阈值0.3对预测框的联合集应用非最大抑制(NMS)。框细化将mAP提高了大约2点(表9)。
在这里插入图片描述

  全局上下文:
  在Faster R-CNN步骤中结合全局上下文。给定全图像卷积特征图,通过全局空间金字塔池化层(SPP,使用“单层”金字塔)对特征进行池化,利用整个图像的边界框作为ROI区域,可以实现‘ROI’pooling,这个池化后的特征被送入ROI 层以后的层以获得全局上下文特征,这个全局特征与原始的每个区域特征连接在一起,然后送入兄弟分类和边界框回归层。这种新结构是端到端训练的。全局上下文提升了mAP。
  多尺度测试:
  ①单尺度测试:上面的结果都是通过单尺度训练/测试得到的,其中图像的短边为s = 600像素。
  ②多尺度测试:在一些文献中通过从特征金字塔中选择一个尺度来进行多尺度训练/测试。本文实,进行了多尺度测试;由于时间有限没有进行多尺度训练。此外仅对Faster R-CNN步骤进行了多尺度测试(尚未对RPN步骤进行多尺度测试)。通过训练模型计算图像金字塔上的卷积特征映射,其中图像的短边s∈{200,400,600,800,1000}, 从金字塔中选择两个相邻的尺度,在这两种尺度的特征图上进行RoI池化和后续层(分类和回归),多尺度测试将mAP提高了超过2个点(表9)。
  合奏:
  在Faster R-CNN中,系统被设计用于学习区域建议和对象分类器,因此一个集成可以用于提高这两个任务。我们使用集成来提出区域,区域的联合集由每个区域分类器来处理。表9显示了我们基于3个网络集合的结果,test-dev集的mAP分别为59.0%和37.4%,该结果在COCO 2015的检测任务中获得了第一名。

5.2.2 PASCAL VOC

  使用COCO数据集上的单一模型(55.7%mAP@.5在表9)中,在PASCAL VOC集合上对这个模型进行了微调。还采用了边界框细化、上下文和多尺度测试的改进。这样做我们在PASCAL VOC 2007(表10)和PASCAL VOC 2012(表11)上分别实现了85.6%和83.8%的结果。
在这里插入图片描述

5.2.3 ImageNet Detection

  ImageNet检测(DET)任务涉及200个目标类别。精度由map @ 5来评估。 网络在1000个类的ImageNet分类集上进行预训练,并在DET数据上进行微调。我们将验证集分为两个部分(val1/val2)。 使用DET训练集和val集对检测模型进行微调,val2集用于验证。单一尺度的ResNet-101在DET测试集的mAP为58.8%,三种模型集成的mAP为62.1%(表12)。该结果在2015年ILSVRC ImageNet检测任务中获得第一名,以8.5分(绝对)的优势超过第二名。

5.3 附录C ImageNet 定位

  ImageNet 定位(LOC)任务需要对对象进行分类和定位。假设首先使用图像级分类器来预测图像的类标签,而定位算法只考虑基于预测的类来预测边框。我们采用“逐类回归”(PCR)策略,为每一类学习一个边界盒回归器。预先训练网络(1000类ImageNet训练集上),然后对其进行微调以用于定位。
  网络结构:
  定位算法基于RPN框架,但做了一些修改。本文用于定位的RPN是按类的形式设计的,该RPN用于二进制分类(cls)和边界框回归(reg)——两个兄弟1×1卷积层,cls和reg层都是在每个类中。具体来说cls层有1000-d的输出,每个维度都是用于预测是否为对象类的二元logistic回归,reg层有一个1000×4-d的输出,由1000个类的边界框回归表组成。边界框回归参考每个位置上的多个平移不变的“锚”框。
  数据增强:
  在ImageNet分类训练中,随机抽取224×224个crops作为样本进行数据增强。
  训练设置:
  使用一个小批量的256张图像进行微调。为避免负样本占主导地位,每幅图像随机采样8个锚点,其中采样的正锚点与负锚点的比例为1:1。为了测试,将网络全卷积应用在图像上。
  定位结果:
在这里插入图片描述
  表13比较了定位结果。VGG的论文center-crop错误为33.1%,在相同的设置下使用ResNet-101 net的RPN方法显著地将center-crop错误降低到13.3%。这个比较演示了我们的框架的出色性能——使用密集(全卷积)和多尺度测试,ResNet-101误差为11.7%。
在这里插入图片描述
  RCNN代替Fast RCNN:
  ①选择RCNN的原因:以上结果仅基于Faster R-CNN 中的RPN,可以使用Faster R-CNN中的检测网络(Fast R-CNN)来改进结果。数据集图像通常包含一个单一的主导对象,并且提案区域高度重叠,因此具有非常相似的ROI池化特征。因此Fast R-CNN 以图像为中心的训练产生了小的变异样本,这可能不是随机训练所需要的。基于此在当前的实验中,使用原始的以roi为中心的RCNN来代替Fast R-CNN。
  ②R-CNN实现如下:在训练图像上应用如上训练的每类RPN来预测ground truth类的边界盒,这些预测框扮演了类依赖提案的角色。对于每一张训练图像,提取得分最高的200个提案作为训练样本,训练一个R-CNN分类器。将图像区域从一个提案中裁剪出来,扭曲到224×224像素,按照R-CNN的方式输入分类网络,这个网络的输出由cls和reg的两个兄弟fc层组成,也是按类的形式。R-CNN网络以roi为中心的方式在训练集上使用批处理大小256进行微调。测试时,RPN为每个预测类生成得分最高的200个提案,然后使用R-CNN网络来更新这些提案的得分和框位。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值