【文献阅读9】An Analysis of Scale Invariance in Object Detection – SNIP


本文仅作阅读翻译学习


我的总结

在这里插入图片描述

文章名称:An Analysis of Scale Invariance in Object Detection – SNIP
文章地址:https://arxiv.org/abs/1711.08189v2
代码地址:https://github.com/bharatsingh430/snip
文章作者:Bharat Singh、Larry S. Davis
发表时间: 25 May 2018

摘要

由于小目标和大目标很难在小尺度和大尺度下分别识别,我们提出了一种新的训练方案,称为图像金字塔尺度归一化(SNIP),它根据图像尺度选择性地反向传播不同大小的目标实例的梯度。

1 引言

参见图1。检测器需要处理的这种尺度变化是巨大的,并且对卷积神经网络的尺度不变性提出了极端的挑战。此外,分类数据集和检测数据集之间的对象实例的尺寸差异也会在从预先训练的分类网络进行微调时导致大的域转移。
图1 数据集内感兴趣区域的比例与感兴趣区域相对于图像的比例
为缓解由尺度变化和小物体实例引起的问题,现有解决方案:

  • 特征融合:来自靠近输入的层的特征,称为浅层(er)层,与用于检测小对象实例的深层结合。
  • 增大感受野:扩张/可变形卷积用于增加感受野或检测大对象。
  • 独立预测:不同分辨率层的独立预测用于捕获不同尺度的对象实例。
  • 上下文:上下文用于歧义消除。
  • 限制范围:训练在一个范围内进行
  • 多尺度推断:在多个尺度的图片金字塔上推断并在预测时使用非极大抑制。

现有方案未解决训练时的问题:

  • 为了获得良好的对象检测性能,对图像进行上采样至关重要吗?我们能否在ImageNet的低分辨率图像上以较小的步长预训练中枢神经系统,然后在检测数据集上对其进行微调,以检测小对象实例?
  • 当根据预先训练的图像分类模型微调对象检测器时,是否应该在适当地重新缩放输入图像后,将训练对象实例的分辨率限制在一个严格的范围内(从64x64到256x256),或者是否应该在对输入图像进行上采样后,让所有对象分辨率(在COCO的情况下,从16x16到800x1000)都参与训练?

针对这些问题,作者在ImageNet和COCO上设计了对照实验。

  • 第3节,研究了当不同尺度的图像被提供作为输入时,通过检查现有的用于图像网分类的网络的性能来研究尺度变化的影响。实验揭示了上采样对于小目标检测的重要性。
  • 第5节,训练和比较了特定尺度和尺度不变检测器设计的性能。
  • 第6节,提出了一种新的训练范式,作者称之为图像金字塔的尺度归一化(SNIP),它受益于在训练期间减少尺度变化,但不付出减少训练样本的代价。

2 相关著作

本节作者主要详细描述了现有解决方案与问题。
以金字塔特种融合为例,如果一个对象的大小是25×25像素,那么在训练期间,即使上采样因子为2,也只能将对象缩放到50×50像素。请注意,网络通常是在分辨率为224x224的图像上预先训练的。因此,即使由特征金字塔网络生成的高级语义特征(在conv5)对于分类小对象也是无用的(对于高分辨率图像中的大对象也可以进行类似的论证)。因此,将它们与来自浅层的特征相结合对于检测小物体是不好的,见图2。虽然特征金字塔有效地利用了网络中所有层的特征,但是对于检测非常小/大的对象,它们不是图像金字塔的有吸引力的替代物。
图2 同一层卷积特征在不同尺度下的图像是不同的,映射到不同尺度下图像的不同语义区域。

3 多尺度图像分类

在这一节中,我们研究了域偏移的影响,当在训练和测试期间提供不同分辨率的图像作为输入时,会引入域偏移。我们进行这种分析是因为最先进的检测器通常以800x1200像素的分辨率进行训练,但推理是在图像金字塔上进行的,包括更高的分辨率,如1400x2000,用于检测小物体。

朴素的多尺度推理:
首先,作者通过对原始ImageNet数据库进行下采样,获得不同分辨率的图像,48x48、64x64、80x80、96x96和128x128。然后,这些图像被上采样到224×224,并作为输入提供给在224×224大小的图像上训练的CNN架构,称为CNN-B(见图3)。图4 (a)显示了CNN-B在ResNet101主干上的最高准确性。观察到,随着训练图像和测试图像之间分辨率差异的增加,性能也会下降。因此,在网络未被训练的分辨率上进行测试显然是次优的,至少对于图像分类是这样。
图3。CNN-B和CNN-B-FT都提供了一个上采样的低分辨率图像作为输入。CNN-S提供低分辨率图像作为输入。CNN-B是在高分辨率图像上训练的。CNN-S是在低分辨率图像上训练的。CNN-B-FT对高分辨率图像进行预处理,并对上采样的低分辨率图像进行微调。使用了ResNet-101架构。
图4。所有数字都是导入的有效数据集。我们提高了图像分辨率48,64,80等。并在图(a)中绘出预先训练的ResNet-101分类器的前1精度。图(b,c)显示了原始图像分辨率分别为48,96像素时不同CNNs的结果。
分辨率特定分类器:
基于上述观察,一个提高较小物体上检测器性能的简单解决方案是在ImageNet上以不同的步长预训练分类网络。毕竟,在CIFS 10(包含小对象)上获得最佳性能的网络体系结构不同于ImageNet。ImageNet分类网络中的第一个卷积层的步长为2,随后是步长为2x2的最大池化层,这可能会消除小对象中存在的大部分图像信号。因此,对于48x48图像,我们在第一层以1和3×3卷积的步幅训练ResNet-101,见图3,用于CIFAR的典型体系结构。同样,对于96x96大小的图像,我们使用5x5大小的内核和2的步长。标准的数据增强技术,如随机裁剪、色彩增强、70 epochs后禁用色彩增强来训练这些网络。如图4所示,这些网络(CNN-S)的性能明显优于CNN-B。因此,对低分辨率图像预先训练具有不同架构的分类网络并将其用于低分辨率对象的对象检测是很有吸引力的。

微调高分辨率分类器:
另一种简单的小目标检测方法是在上采样的低分辨率图像上微调CNN-B从而训练出CNN-B-FT,图3。CNN-B-FT对上采样的低分辨率图像的性能优于CNN-S,图4。该结果从经验上证明了在高分辨率图像上学习的滤波器对于识别低分辨率图像也是有用的。因此,与其将步长减小2倍,不如对图像进行2倍的上采样,然后对在高分辨率图像上预先训练的网络进行微调。
在训练对象检测器时,我们可以使用不同的网络架构来对不同分辨率的对象进行分类,也可以对所有分辨率使用单一架构。由于在ImageNet(或其他更大的分类数据集)上的预训练是有益的,并且在更大的对象实例上学习的过滤器有助于对更小的对象实例进行分类,所以对图像进行上采样以及使用在高分辨率图像上预训练的网络应该比用于对小对象进行分类的专用网络更好。幸运的是,现有的物体检测器通过对图像进行上采样来检测更小的物体,而不是使用不同的架构。作者的分析支持这种做法,并将其与其他选择进行比较,以强调差异。

4 背景

Deformable-RFCN 1在COCO上获得最好的单一模型结果,并且是公开的,基于FCN检测器2

5 数据变化还是正确的比例?

本节分析图像分辨率、对象实例的比例和数据变化对对象检测器性能的影响。
我们在不同的环境下训练检测器在1400x2000图像上对它们进行评估,以检测小对象(COCO数据集中小于32x32像素),目的只是为了区分影响性能的因素。结果见表1。
表1 .在不同的训练协议下在小物体(小于32×32像素)上映射。MST表示多尺度训练,如图5.3所示。配有ResNet-50的FCN探测器(见第4节)。
不同分辨率下的训练:
我们从训练使用两种不同分辨率(800x1400和1400x2000,分别称为800all和1400all)的所有对象实例的检测器开始,如图5.1所示。不出所料,1400 all强过了800all,因为前者是在相同的分辨率(即1400x2000)下训练和测试的。然而,这种改善只是微不足道的。为什么?为了回答这个问题,我们考虑在如此大的分辨率下训练时,中型到大型对象实例会发生什么。它们变得太大,无法正确分类!因此,较高分辨率的训练会放大小对象以获得更好的分类,但会放大中大型对象,从而降低性能。
图5。为训练基于提议的检测器的分类器提供输入的不同方法。
尺度特定检测器:
我们训练了另一个分辨率为1400x2000的探测器(1400<80px),同时忽略了所有中到大的物体(原始图像中大于80像素),以消除超大物体的有害影响,图5.2。不幸的是,它的表现甚至比800all还要糟糕。怎么回事?我们忽略了中大型对象(约占对象实例总数的30%),这在外观和姿势上损失了一个重要的变化源,它对性能的损害大于消除极端比例对象的帮助。

多尺度训练:
最后,我们评估了在训练期间通过使用多个分辨率的随机采样图像获得比例不变检测器的常见做法,称为MST,图5.3。它确保在许多不同的分辨率下观察到训练实例,但它也会被极小和极大的对象降级。表现类似于800all。我们的结论是,在捕捉尽可能多的对象变化时,用适当比例的对象训练检测器是很重要的

6 图像金字塔上的目标检测

目标是结合两种方法的优点,即在外形和姿势上有最大的变化,同时将比例限制在合理的范围内。我们通过一种新的构造来实现这一点,我们称之为图像金字塔的尺度归一化(SNIP)。

6.1 图像金字塔的尺度归一化

SNIP是MST的修改版本,其中只有分辨率接近预训练数据集(通常为224x224)的对象实例用于训练检测器。在多尺度训练(MST)中,每个图像以不同的分辨率观察,因此,在高分辨率(如1400x2000)下,大对象很难分类,在低分辨率(如480x800)下,小对象很难分类。幸运的是,每个对象实例以几种不同的尺度出现,其中一些出现在所需的尺度范围内。为了消除过大或过小的极端尺寸对象,只对落在所需比例范围内的对象进行训练,其余对象在反向传播过程中被忽略。实际上,SNIP在训练期间使用所有对象实例,这有助于捕捉外观和姿态的所有变化,同时减少预训练网络的尺度空间中的域偏移。表1报告了使用SNIP训练的检测器的评估结果——它优于所有其他方法。这个实验表明SNIP检测小物体的有效性。
在训练过程中,在特定的分辨率图像里我们不会选择超过特定尺寸范围的推荐和真值框。
在特定分辨率i下,如果RoI ar(r)的面积落在 [sic, eic] 范围内,则标记为有效,否则无效。
类似地,RPN训练也使用所有地面真值框来给锚点分配标签。最后,在训练期间,那些与无效地面真值框重叠大于0.3的锚被排除(即,它们的梯度被设置为零)。
在推断过程中,我们使用每个分辨率的RPN生成建议,并在每个分辨率下对它们进行独立分类,如图6所示。
与训练类似,我们不会选择在每个分辨率下超出指定范围的检测(不是建议)。在分类和边界框回归之后,我们使用软NMS来组合来自多个分辨率的检测,以获得最终的检测框,参见图6。
图6。显示了SNIP训练和推理。在每个尺度上超出指定范围的无效读出放大器以紫色显示。这些都是在训练和推理过程中丢弃的。训练过程中的每一批都由从特定比例中取样的图像组成。无效的GT框用于使RPN中的锚无效。使用NMS对每个标度的检测进行重新标度和组合。
池化后的感兴趣区域的分辨率与预训练的网络相匹配,因此网络在微调过程中更容易学习。对于像R-FCN这样将感兴趣区域分成子部分并使用位置敏感滤波器的方法,这变得更加重要。例如,如果RoI的大小为48像素(conv5特征图中的3像素),并且每个轴上有7个过滤器,则特征和过滤器之间的位置对应关系将会丢失。

6.2 子图像采样

使用像ResNet-101或DPN-92 这样的深度网络对高分辨率图像进行训练需要更多的GPU内存。因此,我们裁剪图像,使它们适合GPU内存。我们的目标是生成最小数量的子图像,大小为1000x1000,覆盖图像中的所有小对象。这有助于加速训练,因为在没有小物体的地方不需要计算。为此,我们为每个图像生成50个大小为1000x1000的随机放置的子图像。选择覆盖最大数量对象的子图像,并将其添加到我们的训练图像集中。
我们对剩余的对象重复采样和选择过程,直到图像中的所有对象都被覆盖。
由于子图像是随机生成的,建议框通常在图像边界有一边,为了加快采样过程,我们将子图像与图像边界对其。我们发现,对于1400x2000大小的图像,平均会生成1.7个1000x1000大小的子图像。
图像分辨率为800x1200或480x640时,或者当图像不包含小对象时,不需要该采样步骤。随机裁剪不是我们观察到检测器性能提高的原因。为了验证这一点,我们使用未裁剪的高分辨率图像(1400x2000)训练了ResNet-50(因为它需要更少的内存),并且没有观察到mAP的任何变化。

7 数据集和评估

我们在COCO数据集上评估我们的方法。COCO包含123,000个用于培训的图像,在测试开发中对20,288个图像进行评估。由于COCO上的评估服务器不提供提案召回,我们对118,000张图像进行训练,并报告剩余5,000张图像的召回(通常称为minival集)。除非特别说明,小物体的面积小于32x32,中等物体的范围从32x32到96x96,大物体大于96x96。

7.1 训练细节

  • Deformable-RFCN3作为检测器。
  • RPN和RCN单独·训练评价。

7.2 改进RPN

在检测器中,如Faster-RCNN/R-FCN, Deformable R-
FCN, RPN 用于生成区域建议。仅当与真实边界框的重叠大于0.7时,RPN才会将锚框指定为正。
我们发现当在conv4使用15个锚框((5种尺度 - 32,64, 128, 256, 512;步长16;3种纵横比)时,当COCO中的图像分辨率为800x1200时,只有30%的真值框符合该标准。
即使将该阈值更改为0.5,也只有58%的真值框具有符合该标准的锚框。因此,对于超过40%的真值框,重叠小于0.5的锚框被指定为(或忽略)。
由于我们以多种分辨率对图像进行采样,并且只以相关分辨率对梯度进行反向传播,因此这个问题在一定程度上得到了缓解。我们还连接conv4和conv5的输出,以捕捉不同的特性,并使用7个锚定比例。更仔细地将特征与多层预测相结合,应该会进一步提高性能。

7.3 实验

与标准多尺度测试相比,SNIP将性能提高了1.9%。

结论

分析了在极端尺度变化下识别和检测目标的不同技术,揭示了当前目标检测训练流水线的不足。在此基础上,提出了一种训练方案(SNIP),以解决参与训练的对象实例的大范围分布,并减少预训练分类网络的域转移。在COCO数据集上的实验结果证明了尺度和图像金字塔在目标检测中的重要性。因为我们不需要在高分辨率图像中反向传播大物体的梯度,所以可以减少在图像的重要部分中执行的计算。


  1. J. Dai, H. Qi, Y . Xiong, Y . Li, G. Zhang, H. Hu, and Y . Wei.Deformable convolutional networks. ICCV, 2017. ↩︎

  2. J. Dai, Y . Li, K. He, and J. Sun. R-fcn: Object detection via region-based fully convolutional networks. In Advances in neural information processing systems, pages 379–387,2016. ↩︎

  3. J. Dai, H. Qi, Y . Xiong, Y . Li, G. Zhang, H. Hu, and Y . Wei.Deformable convolutional networks. ICCV, 2017. https://arxiv.org/abs/1703.06211 ↩︎

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值