A CLOSER LOOK: SMALL OBJECT DETECTION IN FASTER R-CNN

摘要

Faster R-CNN是一种众所周知的物体检测方法,它将区域提议的生成及其分类结合到单个管线中。 在本文中,我们将Faster R-CNN应用于公司徽标检测任务。 受小型对象实例的R-CNN性能较弱的推动,我们对提案和分类阶段进行了详细检查,检查了它们在各种对象大小下的行为。 另外,我们看看feature map分辨率对这些阶段性能的影响。 我们引入了一个改进的方案来生成锚定提案,并提出对Faster R-CNN进行修改,该方法利用较高分辨率的小对象feature map 我们在闪烁数据集上评估我们的方法,提高了小对象实例的检测性能

1、介绍

当前的物体检测流水线如Faster R-CNN [1] [2]建立在深度神经网络上,其卷积层通过应用先前学习的卷积,然后对图像应用非线性激活函数来提取越来越多的抽象特征表示。 在此过程中,通常会使用max-pooling对中间feature map进行多次下采样。

(a)它降低了应用模型的计算复杂度,(b)有助于实现特征表示的一定程度的平移不变性,并且(c)还增加了更深层中的神经元的接收场。 这些优点的另一面是特征图,其分辨率比原始图像低得多。 由于这种降低的分辨率,很难将特征与原始图像中的精确位置相关联。

尽管存在这种潜在的缺点,但这种方法在图像分类和目标检测领域已经非常成功。 对于大多数应用来说,像素精确定位并不重要。

在本文中,我们考察了公司徽标检测问题中来自不同层次特征层次的特征表示的适用性。 公司标识检测是一种吸引很多商业兴趣的对象检测应用。 在表面层面上,公司标识检测不过是一般对象检测的特例。 但是,公司徽标很少是拍摄照片时想要拍摄的物体。 相反,他们通常偶然会偶然陷入图片中。 因此,公司标志倾向于占据相当小的图像区域。

IoU是评估本地化质量的通常标准。 通过这种测量,一个给定数量的像素关闭的检测对小的对象实例的影响比对大的影响更大。 因此,小型对象实例需要比大型实例更精确的本地化才能被分类为正确的检测。

解决这个问题的一个简单方法是对图像进行上采样并重复检测,但这种简单的方法并不是很吸引人,因为应用卷积的努力随着图像的边长而二次增长。 对于公司标志检测尤其如此,其中对象通常比图像小,导致很多不必要的计算。

贡献如下:

1. 我们从理论上研究提案阶段的小物件问题。 我们推导出描述可合理提出的最小目标尺寸的关系,并为选择合适的anchors尺度提供启发式。

2. 我们使用不同feature map中的特征进行详细的实验,这些实验将提案和分类阶段的行为视为对象大小的函数。 更深的图层可能能够提供更高质量的特征,这意味着单个激活对输入刺激比早期图层更具特异性。 我们表明,在小对象的情况下,来自较早层的特征能够提供与更深层的特征性能相当的性能,甚至可以超过这些性能。

3. 我们以知名的FlickrLogos数据集评估我们的观察结果,其形式为对faster rcnn流水线的扩展。

2 相关工作

Wang等人以前曾研究过低分辨率数据。 [4]在图像分类的背景下。他们得出结论:低分辨率分类问题不受益于更深层的网络体系结构,更多的滤波器或更大的滤波器大小,并且还注意到大小物体的特征表示之间的实质性差异。然而,[4]没有讨论它对物体检测的影响。

贝尔等 [5][6]Fast-RCNN [1]的背景下确实考虑了小物体的物体检测。 [6]明确考虑公司标志检测的问题,并注意接受领域,对象大小和检测性能之间的关系。 [5]应用跳跃池技术来创建多尺度特征表示。他们还考虑周期性网络的特征。然而,[5][6]都只考虑管道的分类阶段。此外,他们没有明确分析Fast R-CNN在多个feature map和比例上的行为。

3 SMALL OBJECTS IN FASTER R-CNN

目前的物体检测管线通常包含两个阶段:当前检测管线的第一步通常是从图像中识别感兴趣区域(ROI)。这些投资回报率作为关注模型,并提出潜在的对象位置,在第二阶段进行更仔细的检查。

对于我们的实验,我们使用fasterR-CNN [2]方法的重新实施。Faster R-CNN通过一系列学习的卷积提取图像的特征表示。此feature map构成了对象建议阶段和分类阶段的基础。第一步是通过区域提议网络(RPN)完成的,该网络通过在输入图像上生成具有指定大小和纵横比的锚定区域的密集网格开始。

对于每个anchorsRPN--它是一个全卷积网络 - 预测一个分数,这个分数是衡量这个anchors包含一个感兴趣对象的概率的度量。此外,RPN为每个锚点预测两个偏移量和比例因子,这些偏移量和比例因子是边界框回归机制的一部分,用于优化对象的位置。细化的锚点按照得分排序,受到非最大限制的抑制,最好的得分锚点作为对象建议被保存,并被馈送到网络的第二阶段。

在训练时候,anchors分为正面和负面的例子,取决于他们与地面实例的重叠。 通常情况下,如果一个锚具有一个大于0.5的地面实体对象,则认为它是一个正面的例子。

 [2]使用边长为2的幂,从128像素开始。 这种锚点选择可以在数据集上提供良好的结果,例如VOC2007 [8],其中物体通常比较大并占据整个图像区域的相当大的比例。 此外,[2]还动态地重新缩放输入图像以放大对象。

放大输入图像通常不适用于公司徽标检测。 1显示了FlickrLogos [3]数据集的大小分布。 平均物体尺寸与图像的平均边长(通常约1000像素)相比非常小。

1还清楚地表明,边长为128的锚不足以覆盖物体尺寸的范围。 为了解决这个问题,人们可以简单地使用[2]所使用的相同的功率二方案来增加额外的anchors。 然而,我们表明这种方案导致困难 - 特别是对于小物体 - 因为它可能无法产生具有足够重叠的anchors box

为了说明这个问题,我们考虑图2a中的情况:我们假设一个边长为sg的二次地面实边界框Bg和一个边长为sa的二次方形anchors box。 此外,我们将假设w.l.o.g. sgsa,并且通过sa≥αsg通过缩放因子α≥1来关联两边长度。 在这些条件下,我们可以在不改变IoU的情况下将Bg移动到Ba的任何位置。

在这种情况下,我们可以将IoU表示为这些框包含的区域之间的比率:

 

 

2.a)在等长宽比的对齐边界框的情况下,IoU可以表示为边界框区域的比率。 (b)当采用步幅采样锚时,两个尺寸相同的边界框的最差情况位移d

为了将anchors box分类为正例,我们要求IoU超过某个阈值t。 因此,对于α>,锚点不能覆盖具有足够重叠的地面实体框,以便被归类为正例。 对于非四边形锚点,同样的关系是成立的 - 只要地面实箱和anchors box的纵横比相匹配。

因此,相邻尺度sa1sa2anchors box边长应该通过sa2 = sa1相关。

  对于之前的考虑,我们假设存在一个锚点位置,在该位置锚点的角落与groundtruth实例完全对齐。 实际上,这是不正确的,因为RPN所基于的网络的特征图通常具有比原始图像小得多的分辨率。 原始图像和特征映射之间的下采样因子有效地导致具有步幅danchors网格。

为了检查特征映射分辨率对RPN识别小对象实例的影响,我们考虑图2b中的情况。 我们假设一个二次实证实例Bg和一个具有相同比例和纵横比的anchors box Ba的存在。 在最坏的情况下,两个盒子相互移动距离d/ 2。这些盒子之间的IoU可以表示为:

 

对于sg求解tIoUBgBa),假设d> 00 <t <1且忽略该二次表达式的负解,我们获得以下关于最小可检测物体大小的以下关系:

 

对于用作Faster R-CNN d = 16的基础的VGG16 [9]体系结构。假设t = 0.5,这转换成sg44px的最小可检测物体尺寸。 这表明,对于我们的尺寸分布的小端来说,需要更高分辨率的特征图。 对于conv4特征图(d = 8),最小可检测物体尺寸由sg22px给出。 由于我们不期望可靠地对小于30px的对象进行分类,所以我们使用下一个幂作为最小anchors大小。

利用我们以前的结果,我们选择作为我们的anchorsA = 32,45,64,90,128,181,256,因为我们遵循[2]的建议并设置t = 0.5

3.1. Region Proposals of small objects

我们想评估不同对象大小的RPN的有效性。 RPN质量的主要衡量标准是平均最佳重叠(MABO)。 它衡量RPN为每个重叠度较高的对象生成至少一个提案区域的能力。 如果C表示一组对象类别,则Gc是特定类别cCL的对象提议集合的地面实体对象集合,我们可以通过其平均最佳重叠ABO评估特定类别cRPN的性能 c)由以下给出:

 

其中IoUgl)是地面实体项目g与提案l之间的联合的交集。 MABO是每个对象类别的所有ABO值的意思。

为了检查对象大小对RPN性能的影响,我们通过将以下算法应用于每个图像来创建FlickrLogos [3]数据集的不同比例合成变体

我们首先选择两个非重叠的groundtruth边界框之间具有最大距离的点。 这一点定义了两个轴,图像将沿着这两个轴被分成四个部分。 我们确保分割的轴不与其他任何groundtruth项目相交。 如果不能找到这样的分割,图像将被丢弃。 对于包含多个groundtruth项目的每个结果分区,该过程将递归应用。 应用此算法后,每个图像只包含一个对象实例,然后将其重新缩放以匹配所需的目标大小。

使用这个算法,我们创建了11个不同缩放版本的测试集,我们称之为Ftestx,其中x{10 * i + 20 | i = 0。。。 10}表示以对象区域的平方根度量的目标对象大小。 此外,我们创建一个单一的训练数据集Ftrain,其中的对象以这样一种方式缩放,即对象区域的平方根均匀分布在区间[20px120px]中。

为了观察不同层次的RPN的性能,我们基于[2]使用的VGG16 [9]架构创建了三个RPNconv3RPNconv4RPNconv5。这些网络分别使用来自convconv4conv5图层的功能来预测对象提议。这些特征通过归一化层,将激活归一化为零均值和单位方差。这与批量标准化相似[10]。然而,我们将训练集的激活标准化,而不是像[10]中那样关于当前批次。我们这样做是为了使我们能够轻松使用现成的Imagenet [11]预先训练好的VGG16网络。那些预先训练过的模型通常具有这样的性质,随着数据在网络中的进展,激活的方差随着层次而降低。该属性使得很难对网络体系结构进行某些更改。例如,添加不同深度的额外分支将导致每个分支中不同比例的激活,这反过来导致每个分支中不同的有效学习速率。这种规范化方案规避了这个问题。

我们在这个特征归一化之上放置一个标准的RPN,它由一个3×3卷积构成,使用与上一层相同数量的通道。然后将这个RPN的输出用于预测锚定分数和回归器的另外两个卷积层(详见[2])。对于RP Nconv3,我们使用conv3图层的特征来预测边界框。

我们对Ftrain数据集上的每个RPN进行微调,进行40000次迭代,初始学习率为μ= 0.001,我们的锚点集A.30000次迭代后,学习率降低了γ= 0.1。然后,我们在不同的Ftestx数据集上评估训练的RPN,同时只考虑单个锚点的输出。因此,我们可以绘制不同feature map在预测给定大小的对象提议方面的效果。图3显示了这个实验的结果。横坐标上的每个点表示使用相应的Ftest x数据集进行实验的结果,而纵坐标则将该实验的性能报告为MABO

3显示了对于小对象而言,conv5feature map提供的结果明显低于conv3conv4feature map生成的结果。

另一个需要观察的是早期的feature map为每个锚点提供比conv5feature map更多的本地化响应。 当物体尺寸远离理想anchors尺寸时,这表现为陡峭的性能下降。 这是所有检查对象大小的一致模式:即使是中等大小的边长在80像素和100像素之间的对象,也可以通过conv4特征图更好地预测。 但是,只有在对象大小与锚点大小紧密匹配的情况下,这才是真实的。 conv5特性映射能够在更大范围的对象大小上提供更稳定的性能。

 

3.2. ROI Classification of small objects

在识别ROI后,更快的RCNN为每个ROI和每个class预测评分和边界框回归。在原始方法中,此阶段重新使用之前计算的用于生成region proposalconv5 feature mapROI-Pooling [1]层使用网络的下采样因子将由RPN标识的ROI坐标投影到feature map上。特征图的相应区域被转换成具有预定空间分辨率(通常7×7)的固定维度表示。然后将这些特征表示中的每一个都输入到几个完全连接的层中,以进行分类和类特定的边界框回归。

我们根据对象大小对分类阶段的表现进行分析,这与我们对RPN的分析类似。与RPN不同的是,每个锚点凭借其大小和重叠标准自我选择适当的训练示例,分类阶段确实具有此属性。因此,我们需要注意训练集中的大小分布。

   对于本文的范围,我们感兴趣的是每个功能地图可以为特定对象大小提供的最大性能。为了避免尺寸分布的任何影响,理想情况下,我们希望为每个测试集Ftestx提供单独的训练集。为了减少训练工作量,我们将多种尺寸组合成单个训练集。为此,我们生成四个训练集Ftrainab,其中a表示最小对象大小,b表示最大对象大小作为对象区域的平方根。我们选择(ab)∈{20px60px),(40px80px),(60px100px),(80px120px}来充分覆盖FlickrLogo数据集中的小对象范围(图1)。

与我们对RPN的评估类似,我们生成三个分类管道版本:CLSconv3CLSconv4CLSconv5CLSconv5在体系结构上与[1]中描述的缺省管道相同。另外两个网络是相似的:它们仅基于它们所基于的特征映射和第3章中描述的规范化层不同。在训练期间,我们仅训练完全连接的层,并将这些结果与网络进行比较,其中所有层经过优化(CLSconv5(全部))。

我们在所有训练集Ftrain上训练每个网络,并在所有测试集Ftest x中评估它们的平均平均精度(mAP),其中axb。 由于训练集之间的对象大小范围相互重叠,我们为每个对象大小x获得多个mAP- 由测试集Ftestx表示。 我们采用每个版本的分类类别的最大mAP。 为了消除对分类性能的不利建议的影响,我们为我们的实验假设了一个完美的RPN,并使用ground truth边界框作为对象建议评估我们的网络。

4显示了这个实验的结果。不出所料,小型对象实例的分类性能通常会下降。 CLSconv5网络的性能比CLSconv3网络的性能下降更强烈。 但是,当网络的所有层都进行了优化时,conv5功能可以在所有对象大小上提供良好的性能。

   因此,我们得出这样的结论:原则上分类阶段对于仅给出低分辨率feature maps的小物体进行分类具有类似的困难。 但是,在给出选项时,filter可以相应地进行调整。

 

Fig4:按照CLS(classfication pipeline)大小分类,对于小目标,conv5性能明显下降。而conv5融合了所有特征之后能够适应大小不一的所有尺寸的目标。

 

 

4 特征融合

我们已经表明,浅层的feature map可以帮助改进小型对象实例的region proposal。此外,我们已经表明,如果网络的所有层都在进行优化,则分类阶段不会从更高分辨率的特征映射中受益。我们希望利用我们的观察结果来证明它们在真实世界的数据集中的优势。为此,我们建议对R-CNN快速流水线进行直接扩展:

因此,我们为faster R-CNN提出以下修改后的流水线:从conv4特征映射开始,将额外分支添加到原始网络体系结构中。该分支由标准化层(如第3节所述)和一个单独的RPN组成,负责预测标度为A0 = {32,45,64}anchors的子集。

网络的主要分支保持不变。 所有其他anchors使用conv5feature map进行预测。在conv5特性上存在一个单独的分类管道。就像faster R-CNN一样,网络可以被调整到最终。

在测试期间,每个分支中生成的提案都受到其自身非最大抑制的影响。 两个分支机构的提案然后合并,并进行联合非最大限制压制。 所有提案的数量都限制在n = 2000之内,并纳入分类阶段。



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值