0-Faster R-CNN

Faster R-CNN

Faster R-CNN

发布于NIPS 2015

背景

  • R-CNN:使用选择性搜索算法生成候选区域,然后对每个区域进行卷积神经网络(CNN)特征提取和分类。这种方法的计算效率低,因为每个候选区域都要单独进行特征提取。
  • Fast R-CNN:改进了R-CNN,通过在整个图像上进行一次特征提取,然后使用区域兴趣(RoI)池化层对候选区域进行分类和回归。这减少了冗余计算,但候选区域的生成仍是一个瓶颈。

目标检测不仅需要识别图像中的对象,还需要确定每个对象的位置(分类与回归),先前的方法在速度和准确性上难以均衡,由于生成候选区的过程比较慢,所以候选区域生成成为了检测速度的瓶颈。

Faster R-CNN通过引入区域建议网络(RPN,Region Proposal Network)解决了候选区域生成的瓶颈问题。RPN是一个全卷积网络,能够直接从图像的特征图中生成高质量的候选区域。这一设计使得整个目标检测过程可以端到端地进行,大大提高了检测速度和准确性。

通过将RPN和Fast R-CNN结合,Faster R-CNN实现了更快且更精确的目标检测,成为当时目标检测领域的一个重要突破。这一创新影响深远,奠定了后续目标检测方法的发展基础。

实验方法

处理多尺度和多尺寸问题

Fast R-CNN使用参考框金字塔,即在在单一特征图上使用不同尺寸的参考框进行回归,既高效又灵活。

Faster R-CNN基本结构

从图中即可看到,主要分为4层:Conv layers,Region Proposal Network(RPN),RoI pooling, Classification.

1.Conv layers

包含了卷积层,池化层,激活函数这三层。

在卷积(13层)操作时,原图的四周被加了一圈零,这使得3x3卷积后的图像与原图大小一致。在池化(4层)操作时,将输出的长宽都变为输入的二分之一,激活函数有13层。最终图片变为原来的1/16。

生成的特征图保留了输入图像的重要空间信息和上下文信息,为后续的RPN提供基础特征。

2.RPN

是一个轻量级的全卷积网络,直接在卷积层生成的特征图上运行。

主要由一个3x3的卷积层,以及两个并行的1x1卷积层组成,一个用于分类(是否包含对象),一个用于边界框回归(预测候选区域的位置)。

生成一系列潜在的候选区域(anchor boxes),这些区域可能包含对象。每个anchor box通过分类分支判断是否包含对象,通过回归分支调整其位置和尺寸。输出高质量的候选区域,这些区域将被进一步处理。

这里作者提到了一个词叫做“anchors”,就是RPN生成的一堆矩形,根据图像的大小来生成很多不重合的矩形选框,为每一个点都进行anchors选框,再进行遍历计算。

anchors选框

这些大量的anchors,使用CNN判断那些是有目标的anchor,哪些是没有目标的anchor,退化为二分类问题,例如一个800x600的图像就有17100个anchor。

另外,光靠anchor定位判断positive和negative是不够的,所以采用了bounding box regression:

当Ground Truch(GT 实际框)和提取出的框不准时,希望有方法能微调,所以思路是先做平移,再做缩放。训练时作者给出了应该的平移量$(x_t ,x_y)$与尺度因子$(t_w,t_h)$:

平移量与尺度因子

训练时让其尽量接近,就可以修正anchor的位置了。

最后就是生成proposals。

3.Roi Pooling

RoI池化层将RPN生成的候选区域映射到特征图上,并将每个区域池化到相同的固定大小。通过一个固定大小的窗口对候选区域内的特征进行池化。

大小不一的候选区域转换为固定大小的特征图,便于后续的全连接层处理。保留候选区域内的空间信息,并生成统一大小的特征向量。

4.Classification

经过RoI池化层处理后的特征向量通过一系列全连接层进行进一步处理。最终通过两个并行的全连接层,一个用于分类,一个用于边界框回归。

分类层:对每个候选区域进行分类,确定其类别(包括背景类)。

边界框回归层:进一步调整每个候选区域的边界框,使其更精确地定位对象。

损失函数:

损失函数

i代表第i个anchor,pi是正softmax概率,pi*是GT概率,t代表预测边界框,t*是正预测边界框。

实验结果

将检测速度一举提升到17 FPS,而且在VOC 2012测试集上实现了70.4%的检测效果

实验结果

总结

Faster R-CNN通过引入区域建议网络(RPN)极大地提高了目标检测的速度和精度,解决了多尺度对象检测的难题,对计算机视觉领域产生了深远的影响。这一方法不仅提高了目标检测的性能,还为后续研究提供了新的思路和方法。Faster R-CNN的提出标志着目标检测技术的一个重要里程碑,开启了更多关于高效目标检测算法的研究和发展。