Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 更快的R-CNN:利用区域提案网络实现实时目标检测

郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!

摘要 - 现有技术的对象检测网络依赖于区域提议算法来假设对象位置。像SPPnet [1]和Fast R-CNN [2]这样的进步减少了这些检测网络的运行时间,使区域提案计算成为瓶颈。在这项工作中,我们引入了一个区域提议网络(RPN),它与检测网络共享全图像卷积特征,从而实现了几乎无成本的区域提议。 RPN是一个完全卷积网络,可同时预测每个位置的对象边界和对象分数。 RPN经过端到端的培训,可以生成高质量的区域提案,由快速R-CNN用于检测。我们通过共享其卷积特征进一步将RPN和Fast R-CNN合并到一个网络中 - 使用最近流行的具有“注意”机制的神经网络术语,RPN组件告诉统一网络在哪里查看。对于非常深的VGG-16型号[3],我们的检测系统在GPU上的帧速率为5fps(包括所有步骤),同时在PASCAL VOC 2007,2012上实现了最先进的物体检测精度,并且MS COCO数据集,每个图像只有300个提案。在ILSVRC和COCO 2015比赛中,更快的R-CNN和RPN是多个赛道中获得第一名的参赛作品的基础。代码已公开发布。

3 Faster-RCNN

我们的物体检测系统称为Faster R-CNN,由两个模块组成。第一个模块是建立区域的深度完全卷积网络,第二个模块是使用建议区域的快速R-CNN检测器[2]。整个系统是一个统一的对象检测网络(图2)。使用最近流行的具有“注意”[31]机制的神经网络术语,RPN模块告诉快速R-CNN模块在哪里查看。在3.1节中,我们介绍了区域提案的网络设计和属性。在3.2节中,我们开发了用于训练具有共享功能的两个模块的算法。

3.1 Region Proposal Networks

区域提议网络(RPN)将图像(任意大小)作为输入并输出一组矩形对象提议,每个提议都有一个对象得分. 3 ^3 3我们使用完全卷积网络[7]对此过程进行建模,我们在这个部分。 因为我们的最终目标是与快速R-CNN对象检测网络共享计算[2],我们假设两个网络共享一组共同的卷积层。在我们的实验中,我们研究了Zeiler和Fergus模型[32](ZF),它有5个可共享的卷积层和Simonyan和Zisserman模型[3](VGG-16),它有13个可共享的卷积层。
注释3:“区域”是一个通用术语,在本文中我们只考虑矩形区域,这是许多方法常见的(例如,[27],[4],[6])。 “对象”测量一组对象类与背景的成员资格。

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第1张图片
图2:更快的R-CNN是用于对象检测的单个统一网络。 RPN模块是该统一网络的“关注点”。

为了生成区域提议,我们在最后一个共享卷积层输出的卷积特征图上滑动一个小网络。该小网络将输入卷积特征映射的n×n空间窗口作为输入。每个滑动窗口都映射到一个较低维度的特征(ZF为256-d,VGG为512-d,后面是ReLU [33])。该特征被馈送到两个兄弟的完全连接的层 - 盒回归层(reg)和盒分类层(cls)。我们在本文中使用n = 3,注意到输入图像上的有效感受野很大(ZF和VGG分别为171和228像素)。该迷你网络在图3(左)中的单个位置示出。请注意,由于迷你网络以滑动窗口的方式运行,因此在所有空间位置共享完全连接的层。该架构自然地用n×n卷积层实现,然后是两个兄弟1×1卷积层(分别用于reg和cls)。

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第2张图片
图3:左:区域提案网络(RPN)。右图:在PASCAL VOC 2007测试中使用RPN提案的示例检测。我们的方法可以检测各种比例和纵横比的物体。

3.1.1 Archor

在每个滑动窗口位置,我们同时预测多个区域提议,其中每个位置的最大可能提议的数量表示为k。因此,reg层具有4k输出,用于编码k个盒子的坐标,cls层输出2k得分,用于估计每个提议的对象或非对象的概率 4 ^4 4。 k个建议是相对于k个参考框参数化的,我们称之为锚点。锚点位于所讨论的滑动窗口的中心,并与比例和纵横比相关联(图3,左)。默认情况下,我们使用3个刻度和3个纵横比,在每个滑动位置产生k = 9个锚点。对于大小为W×H(通常为〜2,400)的卷积特征图,总共有WHk锚点。

注释4: 为简单起见,我们将cls层实现为两级softmax层。或者,可以使用逻辑回归来产生k分数。

翻译不变锚

我们方法的一个重要特性是它在锚点和计算相对于锚点的建议函数方面都是不变的。如果一个人翻译一个图像中的对象,该提议应该翻译并且相同作为比较,MultiBox方法[27]使用k-means生成800个锚点,这些锚点不是平移不变的。所以MultiBox不保证在翻译对象时生成相同的提议。

平移不变属性还会减小模型大小。 MultiBox具有(4 + 1)×800维全连接输出层,而在k = 9个锚点的情况下,我们的方法具有(4 + 2)×9维卷积输出层。因此,我们的输出层具有2.8×104参数(VGG-16为512×(4 + 2)×9),比具有6.1×106参数的MultiBox输出层少两个数量级(1536×(4 + 1)×800 for GoogleNet [34]在MultiBox [27]中。如果考虑特征投影图层,我们的建议图层的参数仍然比MultiBox6少一个数量级。我们希望我们的方法在PASCAL VOC等小数据集上的过度拟合风险较小。

多尺度锚点作为回归参考

我们的锚设计提出了一种解决多尺度(和纵横比)的新方案。如图1所示,有两种流行的多尺度预测方法。第一种方式基于图像/特征金字塔,例如,在DPM [8]和基于CNN的方法[9],[1],[2]中。图像在多个尺度上调整大小,并为每个尺度计算特征图(HOG [8]或深度卷积特征[9],[1],[2])(图1(a))。这种方式通常很有用但很耗时。第二种方法是在特征图上使用多尺度(和/或纵横比)的滑动窗口。例如,在DPM [8]中,使用不同的滤波器大小(例如5×7和7×5)分别训练不同宽高比的模型。如果这种方式用于解决多个尺度,可以将其视为“过滤金字塔”(图1(b))。第二种方式通常与第一种方式共同采用[8]。
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第3张图片
图1:用于处理多种尺度和尺寸的不同方案。 (a)构建图像和特征图的金字塔,并且分类器在所有尺度上运行。 (b)在特征图上运行具有多个尺度/尺寸的滤波器的金字塔。 (c)我们在回归函数中使用参考框的金字塔。

作为比较,我们基于锚的方法建立在锚的金字塔上,这更具成本效率。我们的方法参考多尺度和纵横比的锚框对边界框进行分类和回归。它仅依赖于单个尺度的图像和特征图,并使用单个尺寸的滤镜(特征图上的滑动窗口)。我们通过实验证明了该方案对于解决多种尺度和尺寸的影响(表8)。
由于这种基于锚点的多尺度设计,我们可以简单地使用在单尺度图像上计算的卷积特征,这也可以通过快速R-CNN检测器[2]完成。多尺度锚的设计是共享特征的关键组件,无需额外成本来解决尺度问题。

3.1.2 损失函数

为了训练RPN,我们为每个锚分配一个二进制类标签(是或不是对象)。我们为两种锚点分配一个正面标签:(i)具有最高交叉点(IoU)与地面实况框重叠的锚点/锚点,或(ii)具有高于IoU重叠度的锚点0.7与任何地面真相框。请注意,单个地面实况框可以为多个锚点分配正面标签。通常第二个条件足以确定阳性样本;但我们仍然采用第一个条件,因为在极少数情况下,第二个条件可能没有找到正样本。如果所有地面实况框的IoU比率低于0.3,我们会为非正锚定分配负标签。既不是正面也不是负面的锚点对训练目标没有贡献。

通过这些定义,我们可以在快速R-CNN中将多任务丢失后的目标函数最小化[2]。我们对图像的损失函数定义为:
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第4张图片
这里,i是迷你批次中锚点的索引,pi是锚点i作为对象的预测概率。如果锚为正,则地面实况标签 p i ∗ p^*_i pi为1,如果锚为负,则为0。 ti是表示预测边界框的4个参数化坐标的向量,并且 t i ∗ t ^ * _ i ti是与正锚点相关联的地面实况框的向量。分类丢失 L c l s L_{cls} Lcls是两类(对象与非对象)的日志丢失。对于回归损失,我们使用 L r e g ( t i , t i ∗ ) = R ( t i − t i ∗ ) L_{reg}(t_i,t^*_i)= R(t_i -t^*_i) Lregtiti=R(titi)其中R是[2]中定义的鲁棒损失函数(平滑L1)。术语 p i ∗ p^*_i pi Lreg表示仅对正锚( p i ∗ = 1 p^*_i=1 pi=1)激活回归损失,否则禁用( p i ∗ = 0 p^*_ i=0 pi=0)。 cls和reg层的输出分别由 { p i } \{p_i\} {pi} { t i } \{t_i\} {ti}组成。

这两个项由Ncls和Nreg归一化,并由平衡参数λ加权。在我们当前的实现中(如在已发布的代码中),方程(1)中的cls项由小批量大小(即,Ncls = 256)标准化,并且reg项由锚位置的数量标准化(即,Nreg~2,400)。默认情况下,我们设置λ= 10,因此cls和reg项的大致相等。我们通过实验表明,结果对λ的值在很宽的范围内不敏感(表9)。我们还注意到,上述标准化不是必需的,可以简化。

对于边界框回归,我们采用[5]之后的4个坐标的参数化:
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第5张图片
其中x,y,w和h表示框的中心坐标及其宽度和高度。变量x,xa和x *分别用于预测框,锚框和地面实况框(同样适用于y,w,h)。这可以被认为是从锚箱到附近的地面实况框的边界框回归。

然而,我们的方法通过与先前基于RoI的(感兴趣区域)方法[1],[2]不同的方式实现了边界框回归。在[1],[2]中,对从任意大小的RoI汇集的特征执行边界框回归,并且回归权重由所有区域大小共享。在我们的公式中,用于回归的特征在特征图上具有相同的空间大小(3×3)。为了考虑不同的大小,学习了一组k个边界框回归量。每个回归量负责一个比例和一个宽高比,并且k个回归量不共享权重。因此,由于锚的设计,即使特征具有固定尺寸/比例,仍然可以预测各种尺寸的盒子。

3.1.3 训练RPNs

RPN可以通过反向传播和随机梯度下降(SGD)进行端到端训练[35]。我们遵循[2]中的“以图像为中心”的采样策略来训练这个网络。每个小批量产生于包含许多正面和负面示例锚点的单个图像。可以针对所有锚点的损失函数进行优化,但是这将偏向负样本,因为它们占主导地位。相反,我们在图像中随机采样256个锚点来计算小批量的损失函数,其中采样的正和负锚点的比率高达1:1。如果图像中的正样本数少于128个,我们将小批量填充为负数。
我们通过从标准偏差为0.01的零均值高斯分布中绘制权重来随机初始化所有新图层。通过预训练ImageNet分类模型[36]来初始化所有其他层(即共享卷积层),这是标准实践[5]。我们调整ZF网络的所有层,并将conv3 1和更高版本调整为VGG网络以节省内存[2]。我们对60k小批量使用0.001的学习率,对PASCAL VOC数据集的下一个20k小批量使用0.0001。我们使用0.9的动量和0.0005的重量衰减[37]。我们的实现使用Caffe [38]。

3.2共享RPN和快速R-CNN的功能

到目前为止,我们已经描述了如何训练用于区域提议生成的网络,而不考虑将利用这些提议的基于区域的对象检测CNN。对于检测网络,我们采用Fast R-CNN [2]。接下来,我们描述了学习由RPN和具有共享卷积层的快速R-CNN组成的统一网络的算法(图2)。独立训练的RPN和快速R-CNN都将以不同方式修改其卷积层。因此,我们需要开发一种技术,允许在两个网络之间共享卷积层,而不是学习两个独立的网络。我们讨论了使用共享功能训练网络的三种方法:
(i)交替训练。在此解决方案中,我们首先训练RPN,并使用这些建议来训练快速R-CNN。然后,使用由快速R-CNN调谐的网络来初始化RPN,并且迭代该过程。这是本文所有实验中使用的解决方案。
(ii)近似的联合培训。在此解决方案中,RPN和快速R-CNN网络在训练期间合并到一个网络中,如图2所示。在每个SGD迭代中,前向传递生成区域提议,当训练快速时,这些提议被视为固定的,预先计算的提议R-CNN探测器。向后传播如常进行,其中对于共享层,来自RPN丢失和快速R-CNN损失的反向传播信号被组合。该解决方案易于实施。但是这个解决方案忽略了导数,也就是提案框 ′ ^\prime 坐标,这也是网络响应,因此是近似值。在我们的实验中,我们凭经验发现该求解器产生了接近的结果,但与交替训练相比,训练时间缩短了约25-50%。此解算器包含在我们发布的Python代码中。
(iii)非近似联合培训。如上所述,由RPN预测的边界框也是输入的函数。快速R-CNN中的RoI池化层[2]接受卷积特征以及预测的边界框作为输入,因此理论上有效的反向传播求解器也应该涉及梯度w.r.t.框坐标。在上述近似联合训练中忽略这些梯度。在非近似联合训练解决方案中,我们需要一个可区分的RoI池层。框坐标。这是一个非常重要的问题,并且可以通过[15]中开发的“RoI翘曲”层给出解决方案,这超出了本文的范围。

四步交替训练

在本文中,我们采用实用的4步训练算法来通过交替优化来学习共享特征。在第一步中,我们按照3.1.3节的描述训练RPN。该网络使用ImageNet预先训练的模型进行初始化,并针对区域建议任务进行微调端对端。在第二步中,我们使用由步骤1 RPN生成的提议由Fast R-CNN训练单独的检测网络。该检测网络也由ImageNet预训练模型初始化。此时,两个网络不共享卷积层。在第三步中,我们使用探测器网络来初始化RPN训练,但我们修复了共享卷积层,只调整了RPN特有的层。现在这两个网络共享卷积层。最后,保持共享卷积层固定,我们微调快速R-CNN的独特层。因此,两个网络共享相同的卷积层并形成统一的网络。可以进行类似的交替训练以进行更多迭代,但我们观察到可以忽略不计的改进。

4 实现细节

我们在单一尺度的图像上训练和测试区域建议和物体检测网络[1],[2]。我们重新缩放图像,使其短边为s = 600像素[2]。多尺度特征提取(使用图像金字塔)可以提高准确性,但不会表现出良好的速度 - 准确性权衡[2]。在重新缩放的图像上,最后一个卷积层上的ZF和VGG网络的总步幅是16个像素,因此在调整大小( ~ 500×375)之前在典型的PASCAL图像上是 ~10个像素。即使是如此大的步幅也能提供良好的效果,尽管可以通过更小的步幅进一步提高精度。
对于锚点,我们使用3个刻度,框区域为 12 8 2 , 25 6 2 和 51 2 2 128^2,256^2和512^2 1282,25625122像素,3个宽高比为1:1,1:2和2:1。对于特定数据集,未仔细选择这些超参数,我们将在下一节中提供关于其效果的消融实验。如上所述,我们的解决方案不需要图像金字塔或滤波金字塔来预测多个尺度的区域,从而节省了大量的运行时间。图3(右)显示了我们的方法适用于各种比例和纵横比的能力。表1显示了使用ZF网络的每个锚点的学习平均提议大小。我们注意到,我们的算法允许预测大于潜在的感受野。这样的预测并非不可能 - 如果只有对象的中间可见,人们仍然可以粗略地推断对象的范围。

表1:使用ZF网络的每个锚点的学习平均建议大小(s = 600的数字)。在这里插入图片描述
需要小心处理跨越图像边界的锚盒。在训练期间,我们忽略所有跨境锚点,因此它们不会造成损失。对于典型的1000×600图像,总共将有大约20000(≈60×40×9)个锚。由于忽略了跨界锚点,每个图像大约有6000个锚点用于训练。如果在训练中不忽略过境异常值,则会在目标中引入大的,难以纠正的误差项,并且训练不会收敛。然而,在测试期间,我们仍然将完全卷积RPN应用于整个图像。这可能会生成跨界建议框,我们将其剪切到图像边界。
一些RPN提案彼此高度重叠。为了减少冗余,我们根据其cls分数对提议区域采用非最大抑制(NMS)。我们将NMS的IoU阈值修正为0.7,这使得每个图像大约有2000个提议区域。正如我们将要展示的那样,NMS不会损害最终的检测准确性,但会大大减少提案的数量。在NMS之后,我们使用排名前N的提议区域进行检测。在下文中,我们使用2000个RPN提案训练快速R-CNN,但在测试时评估不同数量的提议。

4实验

4.1 PASCAL VOC的实验

我们全面评估了PASCAL VOC 2007检测基准的方法[11]。该数据集包括大约5k训练验证图像和20个对象类别的5k测试图像。我们还针对少数型号提供PASCAL VOC 2012基准测试的结果。对于ImageNet预训练网络,我们使用具有5个卷积层和3个完全连接层的ZF网络[32]的“快速”版本,以及具有13个卷积层和3个的公共VGG-16模型7 [3]完全连接的层。我们主要评估检测平均精度(mAP),因为这是对象检测的实际度量(而不是关注对象提议代理度量)。
表2(上图)显示了使用各种区域建议方法进行训练和测试时的快速R-CNN结果。这些结果使用ZF网。对于选择性搜索(SS)[4],我们通过“快速”模式生成大约2000个提案。对于EdgeBoxes(EB)[6],我们通过调整为0.7 IoU的默认EB设置生成提案。在快速R-CNN框架下,SS的mAP为58.7%,EB的mAP为58.6%。具有快速R-CNN的RPN实现了有竞争力的结果,mAP为59.9%,同时使用多达300个提案 8 ^8 8。由于共享卷积计算,使用RPN比使用SS或EB产生更快的检测系统;较少的提案也减少了区域完全连接层的成本(表5)。

表2:PASCAL VOC 2007测试装置的检测结果(在VOC 2007 trainval上培训)。探测器是具有ZF的快速R-CNN,但是使用各种提议方法进行训练和测试。
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第6张图片

评论

比较vgg和zf net的性能作为图像网络与训练网络

关于RPN的消融实验。 为了研究RPN作为提议方法的行为,我们进行了几次消融研究。首先,我们展示了在RPN和快速R-CNN检测网络之间共享卷积层的效果。为此,我们在4步培训过程的第二步后停止。使用单独的网络将结果略微降低至58.7%(RPN + ZF,非共享,表2)。我们观察到这是因为在第三步中,当使用检测器调谐的特征来微调RPN时,提议质量得到改善。
接下来,我们将解开RPN对训练Fast R-CNN检测网络的影响。为此,我们使用2000 SS提案和ZF网络训练快速R-CNN模型。我们通过更改在测试时使用的建议区域来修复此检测器并评估检测mAP。在这些消融实验中,RPN不与探测器共享特征。
在测试时用300个RPN提议替换SS导致mAP为56.8%。 mAP的损失是由于培训/测试提案之间的不一致。该结果用作以下比较的基线。
有些令人惊讶的是,在测试时使用排名靠前的100个提案时,RPN仍然会带来竞争结果(55.1%),这表明排名靠前的RPN提案是准确的。另一方面,使用排名靠前的6000个RPN提议(没有NMS)具有可比较的mAP(55.2%),这表明NMS不会损害检测mAP并可能减少误报。
接下来,我们通过在测试时关闭其中任何一个来分别调查RPN的cls和reg输出的作用。当在测试时移除cls层(因此没有使用NMS /排名)时,我们从未划分的区域中随机抽样N个提议。 mAP几乎没有变化,N = 1000(55.8%),但当N = 100时,mAP显着降低到44.6%。这表明cls得分是最高排名提案的准确性。
另一方面,当在测试时移除reg层(因此提议成为锚盒)时,mAP降至52.1%。这表明高质量的提案主要是由于回归的边界限制。锚盒虽然具有多个刻度和纵横比,但不足以进行精确检测。
我们还评估了更强大的网络对RPN提案质量的影响。我们使用VGG-16训练RPN,仍然使用上面的SS + ZF探测器。 mAP从56.8%(使用RPN + ZF)提高到59.2%(使用RPN + VGG)。这是一个很有希望的结果,因为它表明RPN + VGG的提议质量优于RPN + ZF。由于RPN + ZF的建议与SS竞争(一直用于训练和测试时均为58.7%),我们可能期望RPN + VGG优于SS。以下实验证明了这一假设。

注8:对于RPN,提议的数量(例如,300)是图像的最大数量。在NMS之后,RPN可能会产生更少的提案,因此平均提案数量更少。

表3:PASCAL VOC 2007测试装置的检测结果。 探测器是快速R-CNN和VGG-16。 培训数据:“07”:VOC 2007 trainval,“07 + 12”:VOC 2007 trainval和VOC 2012 trainval联合组合。 对于RPN,快速R-CNN的训练时间建议是2000.†:这个数字在[2]中报道; 使用本文提供的存储库,此结果更高(68.1)。
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第7张图片
VGG-16的性能。 表3显示了提案和检测的VGG-16结果。使用RPN + VGG,非共享特征的结果为68.5%,略高于SS基线。如上所示,这是因为RPN + VGG生成的提议比SS更准确。与预先定义的SS不同,RPN受到积极培训,并受益于更好的网络。对于功能共享变体,结果为69.9%比强大的SS基线更好,但几乎没有成本建议。我们在PAS-CAL VOC 2007 trainval和2012 trainval的工会集上进一步培训RPN和检测网络。 mAP为73.2%。图5显示了PASCAL VOC 2007测试装置的一些结果。在PASCAL VOC 2012测试装置(表4)中,我们的方法在VOC 2007 trainval + test和VOC 2012 trainval的联合装置上进行了70.4%的mAP培训。表6和表7显示了详细的数字。
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第8张图片
图5:使用更快的R-CNN系统在PASCAL VOC 2007测试装置上选择物体检测结果的例子。该模型为VGG-16,训练数据为07 + 12 trainval(2007年测试集上为73.2%mAP)。我们的方法检测各种尺度和纵横比的物体。每个输出框与[0,1]中的类别标签和softmax分数相关联。分数阈值0.6用于显示这些图像。获得这些结果的运行时间为每个图像198ms,包括所有步骤。

表4:PASCAL VOC 2012测试装置的检测结果。 探测器是快速R-CNN和VGG-16。 培训数据:“07”:VOC 2007 trainval,“07 ++ 12”:VOC 2007 trainval + test和VOC 2012 trainval联合组合。 对于RPN,Fast R-CNN的列车时间建议是2000。
表5:K40 GPU上的时序(ms),但SS提议是在CPU中评估的。 “区域性”包括NMS,汇集,完全连接和softmax层。 请参阅我们发布的运行时分析代码。
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第9张图片
在表5中,我们总结了整个物体检测系统的运行时间。 SS取决于内容需要1-2秒(平均约1.5秒),而带有VGG-16的快速R-CNN在2000 SS建议上需要320毫秒(如果在完全连接的层上使用SVD,则需要223毫秒[2])。我们的VGG-16系统在提议和检测方面总共需要198毫秒。在共享的卷积功能的情况下,仅使用RPN需要10ms来计算附加层。由于提议较少(每张图像300张),我们的区域计算也较低。我们的系统的ZF网络帧速率为17 fps。

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第10张图片

对超参数的敏感度。 在表8中,我们研究了锚点的设置。默认情况下,我们使用3个比例和3个宽高比(表8中的69.9%mAP)。如果在每个位置仅使用一个锚点,则mAP下降3-4%。如果使用3个刻度(具有1个纵横比)或3个纵横比(具有1个刻度),则mAP更高,证明使用多个尺寸的锚作为回归参考是有效的解决方案。仅使用3个具有1个纵横比(69.8%)的比例与在该数据集上使用具有3个纵横比的3个比例一样好,表明比例和纵横比不是检测精度的解开尺寸。但我们仍然在设计中采用这两个维度来保持我们的系统灵活性。
在表9中,我们比较等式(1)中的λ的不同值。默认情况下,我们使用λ= 10,这使得等式(1)中的两个项在归一化后大致相等地加权。表9显示,当λ在约两个数量级(1到100)的范围内时,我们的结果仅略微受影响(约1%)。这表明结果在很宽的范围内对λ不敏感。

表8:使用不同锚定设置在PASCAL VOC 2007测试装置上更快的R-CNN的检测结果。 该网络是VGG-16。 培训数据是VOC 2007 trainval。 使用3个刻度和3个宽高比(69.9%)的默认设置与表3中的相同。
表9:使用等式(1)中的不同λ值在PAS-CAL VOC 2007测试集上更快的R-CNN的检测结果。该网络是VGG-16。培训数据是VOC 2007 trainval。使用λ= 10(69.9%)的默认设置与表3中的相同。
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第11张图片
Recall-to-IoU的分析。 接下来,我们使用地面实况框计算不同IoU比率的提案召回率。值得注意的是,Recall-to-IoU指标与最终检测精度有关[19],[20],[21]。使用此度量标准诊断提案方法比评估提案方法更合适。
在图4中,我们显示了使用300,1000和2000提案的结果。我们与SS和EB进行比较,并且基于这些方法产生的置信度,N个提议是排名前N的提议。这些图显示,当提案数量从2000下降到300时,RPN方法表现优雅。这解释了为什么RPN在使用少至300个提案时具有良好的最终检测mAP。正如我们之前分析的那样,这个属性主要归因于RPN的cls术语。当提案较少时,SS和EB的召回比RPN下降得更快。
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第12张图片

一阶段检测与两阶段提案+检测。 OverFeat论文[9]提出了一种检测方法,该方法在卷积特征映射上的滑动窗口上使用回归量和分类器。 OverFeat是一个单阶段,特定于类的检测管道,我们的是一个两阶段级联,由类别不可知的提议和类特定的检测组成。在OverFeat中,区域特征来自于在比例金字塔上的一个纵横比的滑动窗口。这些功能用于同时确定对象的位置和类别。在RPN中,这些特征来自方形(3×3)滑动窗口,并预测相对于具有不同尺度和纵横比的锚点的建议。虽然这两种方法都使用滑动窗口,但区域提议任务只是快速R-CNN的第一阶段 - 下游快速R-CNN探测器参与了改进它们的提议。在我们的级联的第二阶段,区域性特征被自适应地汇集[1],[2]来自提案框,更加完全覆盖区域的特征。我们相信这些功能可以提供更准确的检测。
为了比较单级和两级系统,我们通过一级快速R-CNN模拟OverFeat系统(因此也避免了实现细节的其他差异)。在该系统中,“提议”是3个刻度(128,256,512)和3个纵横比(1:1,1:2,2:1)的密集滑动窗口。训练快速R-CNN以预测类特定分数并从这些滑动窗口回归框位置。由于OverFeat系统采用图像金字塔,我们还使用从5个尺度提取的卷积特征进行评估。我们使用[1],[2]中的那5个尺度。
表10比较了两级系统和一级系统的两个变体。使用ZF模型,单级系统的mAP为53.9%。这比两阶段系统(58.7%)低4.8%。这个实验证明了级联区域提案和对象检测的有效性。 在[2],[39]中报道了类似的观察结果,其中用滑动窗替换SS区域提议导致两篇论文中降低约6%。 我们还注意到,一阶段系统较慢,因为它有更多的处理建议。

表10:一阶段检测与两阶段提案+检测。检测结果使用ZF模型和Fast R-CNN在PASCAL VOC 2007测试装置上进行。 RPN使用非共享功能。
在这里插入图片描述

4.2 MS COCO的实验

我们在Microsoft COCO对象检测数据集[12]上提供了更多结果。此数据集涉及80个对象类别。我们在训练集上测试80k图像,在验证集上测试40k图像,在test-dev集上测试20k图像。我们评估了IoU∈[0.5:0.05:0.95](COCO的标准度量,简称为mAP @ [.5,.95])和[email protected](PASCAL VOC的度量)的平均mAP。
我们的系统对此数据集进行了一些细微的更改。我们在8-GPU实现上训练我们的模型,RPN(每个GPU 1个)和16个快速R-CNN(每个GPU 2个)的有效小批量大小为8。 RPN步骤和快速R-CNN步骤都训练为240k次迭代,学习率为0.003,然后进行80k次迭代,0.0003。我们修改了学习率(从0.003而不是0.001开始),因为小批量大小已经改变。对于锚点,我们使用3个纵横比和4个比例(添加642),主要是通过处理此数据集上的小对象来实现的。此外,在我们的快速R-CNN步骤中,负样本被定义为在[0,0.5]的区间中具有最大IoU与地面实况的那些,而不是[1]中使用的[0.1,0.5],[2] ]。我们注意到在SPPnet系统[1]中,[0.1,0.5]中的负样本用于网络微调,但[0,0.5]中的负样本仍然在SVM步骤中使用硬负挖掘进行访问。但是快速R-CNN系统[2]放弃了SVM步骤,因此永远不会访问[0,0.1]中的负样本。对于快速R-CNN和快速R-CNN系统,包括这些[0,0.1]样本在COCO数据集上改进了[email protected](但对PASCAL VOC的影响可以忽略不计)。
其余的实施细节与PASCAL VOC相同。特别是,我们继续使用300个提案和单一规模(s = 600)测试。 COCO数据集上的每个图像的测试时间仍约为200ms。
在表11中,我们首先使用本文中的实现报告了快速R-CNN系统[2]的结果。我们的快速R-CNN基线在测试开发组中具有39.3%[email protected],高于[2]中报告的基线。我们推测这种差距的原因主要是由于负样本的定义以及小批量大小的变化。我们还注意到mAP @ [.5,.95]只是可比较的。

表11: MS COCO数据集的目标检测结果(%)。网络是VGG16
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第13张图片
接下来我们评估更快的R-CNN系统。使用COCO训练集进行训练,更快的R-CNN在COCO测试开发组中具有42.1%[email protected]和21.5%mAP @ [.5,.95]。 mAP @ 0.5为2.8%,mAP @ [.5,.95]高于同一协议下的快速R-CNN对应物2.2%(表11)。这表明RPN在更高的IoU阈值下表现出色,可以提高定位精度。使用COCO trainval设置进行训练,更快的R-CNN在COCO测试开发设置上具有42.7%[email protected]和21.9%mAP @ [.5,.95]。图6显示了MS COCO test-dev集的一些结果。
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第14张图片
图6:使用Faster R-CNN系统在MS COCO test-dev集上设置的对象检测结果的选定示例。该模型为VGG-16,训练数据为COCO trainval(测试开发组的42.7%[email protected])。每个输出框与[0,1]中的类别标签和softmax分数相关联。分数阈值0.6用于显示这些图像。对于每个图像,一种颜色代表该图像中的一个对象类别。

ILSVRC和COCO 2015比赛中更快的R-CNN我们已经证明,由于RPN完全学会通过神经网络建议区域,更快的R-CNN从更好的功能中获益更多。即使将深度基本上增加到超过100层,这种观察仍然有效[18]。只有将GGG-16替换为101层剩余网络(ResNet-101)[18],更快的R-CNN系统将mAP从41.5%/ 21.2%(VGG-16)增加到48.4%/ 27.2%(ResNet) -101)关于COCO val集。通过与Faster R-CNN正交的其他改进,He等人。 [18]获得单一模型结果55.7%/ 34.9%,COCO测试开发集合的综合结果为59.0%/ 37.4%,在COCO 2015物体检测竞赛中获得第一名。同样的系统[18]也在ILSVRC 2015物体检测竞赛中获得第一名,超过第二名绝对值8.5%。 RPN也是ILSVRC 2015本地化和COCO 2015细分竞争中第一名获奖作品的构建模块,详情分别见[18]和[15]。

4.3从MS COCO到PASCAL VOC

大规模数据对于改进深度神经网络至关重要。接下来,我们将研究MS COCO数据集如何帮助PASCAL VOC的检测性能。
作为一个简单的基线,我们直接评估PASCAL VOC数据集上的COCO检测模型,而无需对任何PASCAL VOC数据进行微调。此评估是可能的,因为COCO上的类别是PASCAL VOC上的类别的超集。在本实验中忽略了COCO专用的类别,而softmax层仅在20个类别和背景上执行。在PASCAL VOC 2007测试装置下,此设置下的mAP为76.1%(表12)。尽管PASCAL VOC数据未被利用,但这一结果优于VOC07 ​​+ 12(73.2%)的培训。

表12:PASCAL VOC 2007测试装置和2012测试装置上的快速R-CNN的检测mAP(%) -
不同的训练数据。该型号为VGG-16。 “COCO”表示COCO trainval集用于训练。另见表6和表7。
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第15张图片
然后我们微调VOC数据集上的COCO检测模型。在这个实验中,COCO模型取代了ImageNet预训练模型(用于初始化网络权重)和更快的R-CNN系统进行了微调,如第3.2节所述。 这样做可以使PASCAL VOC 2007测试装置的mAP达到78.8%。 来自COCO集的额外数据使mAP增加5.6%。 表6显示,使用COCO + VOC培训的模型在PASCAL VOC 2007上具有每个类别的最佳AP。在PASCAL VOC 2012测试装置上观察到类似的改进(表12和表7)。 我们注意到获得这些强大结果的测试时间速度仍然是每张图像约200毫秒

5结论

我们提出了RPN,以便有效和准确地生成区域提案。 通过与下游检测网络共享卷积特征,区域提议步骤几乎是免费的。 我们的方法使基于深度学习的统一对象检测系统能够以接近实时的帧速率运行。 学习到的RPN还改善了区域建议质量,从而提高了整体物体检测精度。

[1] K. He, X. Zhang, S. Ren, and J. Sun, “Spatial pyramid pooling in deep convolutional networks for visual recognition,” in European Conference on Computer Vision (ECCV), 2014.
[2] R. Girshick, “Fast R-CNN,” in IEEE International Conference on Computer Vision (ICCV), 2015.
[3] K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” in International Conference on Learning Representations (ICLR), 2015.
[4] J. R. Uijlings, K. E. van de Sande, T. Gevers, and A. W. Smeul- ders, “Selective search for object recognition,” International Journal of Computer Vision (IJCV), 2013.
[5] R. Girshick, J. Donahue, T. Darrell, and J. Malik, “Rich feature hierarchies for accurate object detection and semantic seg- mentation,” in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014.
[6] C. L. Zitnick and P. Doll´ar, “Edge boxes: Locating object proposals from edges,” in European Conference on Computer Vision (ECCV), 2014.
[7] J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015.
[8] P. F. Felzenszwalb, R. B. Girshick, D. McAllester, and D. Ra- manan, “Object detection with discriminatively trained part- based models,” IEEE Transactions on Pattern Analysis and Ma- chine Intelligence (TPAMI), 2010.
[9] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun, “Overfeat: Integrated recognition, localization and detection using convolutional networks,” in International Conference on Learning Representations (ICLR), 2014.
[10] S. Ren, K. He, R. Girshick, and J. Sun, “Faster R-CNN: Towards real-time object detection with region proposal networks,” in Neural Information Processing Systems (NIPS), 2015.
[11] M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman, “The PASCAL Visual Object Classes Challenge 2007 (VOC2007) Results,” 2007.
[12] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ra- manan, P. Doll´ar, and C. L. Zitnick, “Microsoft COCO: Com- mon Objects in Context,” in European Conference on Computer Vision (ECCV), 2014.
[13] S. Song and J. Xiao, “Deep sliding shapes for amodal 3d object detection in rgb-d images,” arXiv:1511.02300, 2015.
[14] J. Zhu, X. Chen, and A. L. Yuille, “DeePM: A deep part-based model for object detection and semantic part localization,” arXiv:1511.07131, 2015.
[15] J. Dai, K. He, and J. Sun, “Instance-aware semantic segmenta- tion via multi-task network cascades,” arXiv:1512.04412, 2015.
[16] J. Johnson, A. Karpathy, and L. Fei-Fei, “Densecap: Fully convolutional localization networks for dense captioning,” arXiv:1511.07571, 2015.
[17] D. Kislyuk, Y. Liu, D. Liu, E. Tzeng, and Y. Jing, “Human cu- ration and convnets: Powering item-to-item recommendations on pinterest,” arXiv:1511.04003, 2015.
[18] K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image recognition,” arXiv:1512.03385, 2015.
[19] J. Hosang, R. Benenson, and B. Schiele, “How good are de- tection proposals, really?” in British Machine Vision Conference (BMVC), 2014.
[20] J. Hosang, R. Benenson, P. Doll´ar, and B. Schiele, “What makes for effective detection proposals?” IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), 2015.
[21] N. Chavali, H. Agrawal, A. Mahendru, and D. Batra, “Object-Proposal Evaluation Protocol is ’Gameable’,” arXiv: 1505.05836, 2015.
[22] J. Carreira and C. Sminchisescu, “CPMC: Automatic ob-
ject segmentation using constrained parametric min-cuts,” IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), 2012.
[23] P. Arbel´aez, J. Pont-Tuset, J. T. Barron, F. Marques, and J. Malik, “Multiscale combinatorial grouping,” in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014.
[24] B. Alexe, T. Deselaers, and V. Ferrari, “Measuring the object- ness of image windows,” IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), 2012.
[25] C. Szegedy, A. Toshev, and D. Erhan, “Deep neural networks for object detection,” in Neural Information Processing Systems (NIPS), 2013.
[26] D. Erhan, C. Szegedy, A. Toshev, and D. Anguelov, “Scalable object detection using deep neural networks,” in IEEE Confer- ence on Computer Vision and Pattern Recognition (CVPR), 2014.
[27] C. Szegedy, S. Reed, D. Erhan, and D. Anguelov, “Scalable, high-quality object detection,” arXiv:1412.1441 (v1), 2015.
[28] P. O. Pinheiro, R. Collobert, and P. Dollar, “Learning to segment object candidates,” in Neural Information Processing Systems (NIPS), 2015.
[29] J. Dai, K. He, and J. Sun, “Convolutional feature masking for joint object and stuff segmentation,” in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015.
[30] S. Ren, K. He, R. Girshick, X. Zhang, and J. Sun, “Ob- ject detection networks on convolutional feature maps,” arXiv:1504.06066, 2015.
[31] J. K. Chorowski, D. Bahdanau, D. Serdyuk, K. Cho, and Y. Bengio, “Attention-based models for speech recognition,” in Neural Information Processing Systems (NIPS), 2015.
[32] M. D. Zeiler and R. Fergus, “Visualizing and understanding convolutional neural networks,” in European Conference on Computer Vision (ECCV), 2014.
[33] V. Nair and G. E. Hinton, “Rectified linear units improve restricted boltzmann machines,” in International Conference on Machine Learning (ICML), 2010.
[34] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, and A. Rabinovich, “Going deeper with convo- lutions,” in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015.
[35] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel, “Backpropagation applied to handwritten zip code recognition,” Neural computation, 1989.
[36] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. C. Berg, and L. Fei-Fei, “ImageNet Large Scale Visual Recognition Challenge,” in International Journal of Computer Vision (IJCV), 2015.
[37] A. Krizhevsky, I. Sutskever, and G. Hinton, “Imagenet classi- fication with deep convolutional neural networks,” in Neural Information Processing Systems (NIPS), 2012.
[38] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Gir- shick, S. Guadarrama, and T. Darrell, “Caffe: Convolutional architecture for fast feature embedding,” arXiv:1408.5093, 2014.
[39] K. Lenc and A. Vedaldi, “R-CNN minus R,” in British Machine Vision Conference (BMVC), 2015.

你可能感兴趣的:(Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks)