📜  R-CNN vs Fast R-CNN vs Faster R-CNN |机器学习

📅  最后修改于: 2022-05-13 01:55:22.901000             🧑  作者: Mango

R-CNN vs Fast R-CNN vs Faster R-CNN |机器学习

R-CNN:
R-CNN 是由Ross Girshick 等人提出的。 2014年处理目标检测中的高效目标定位问题。以前的方法使用所谓的穷举搜索,它使用图像上不同尺度的滑动窗口来提出区域提议,而本文使用选择性搜索算法,利用对象分割和穷举搜索来有效地确定区域提议。这种选择性搜索算法为每张图像提出大约2000个区域建议。然后将这些传递给 CNN 模型(此处使用 AlexNet)。

R-CNN 架构

然后这个 CNN 模型从每个区域提案中输出一个(1, 4096)特征向量。然后将该向量传递给 SVM 模型用于对象分类和边界框回归器用于定位。

R-CNN 的问题:

  • 每张图像需要对2000个区域建议进行分类。因此,训练网络需要大量时间。
  • 在 GPU 上检测图像中的对象需要49秒。
  • 要存储区域提案的特征图,还需要大量的磁盘空间。

快速 R-CNN:
在 R-CNN 中,我们在 CNN 架构中一个接一个地传递每个区域提议,并且选择性搜索为一张图像生成了大约2000个区域提议。因此,使用 R-CNN 训练甚至测试图像的计算成本很高。为了解决这个问题,提出了 Fast R-CNN,它在一次前向传播中将整个图像和区域建议作为其 CNN 架构的输入。它还将架构的不同部分(例如 ConvNet、RoI 池和分类层)组合在一个完整的架构中。这也消除了存储特征图的要求并节省了磁盘空间。它还在其区域提议分类中使用 softmax 层而不是 SVM,这被证明比 SVM 更快并且产生更好的准确性。

快速 R-CNN 架构

Fast R-CNN 极大地改善了 R-CNN 的训练(8.75 小时对 84 小时)和检测时间。与 R-CNN 相比,它还略微提高了平均精度 (mAP)。

Fast R-CNN 的问题:

  • Fast R-CNN 在检测过程中花费的大部分时间是选择性搜索区域提议生成算法。因此,Faster R-CNN 解决了这种架构的瓶颈。

更快的 R-CNN:

Faster R-CNN 由k He 等人于 2015 年引入。在 Fast R-CNN 之后,架构的瓶颈是选择性搜索。因为它需要为每张图像生成2000个提案。它构成了整个架构的训练时间的主要部分。在 Faster R-CNN 中,它被区域提议网络取代。首先,在这个网络中,我们将图像传递到主干网络。该骨干网络生成卷积特征图。然后将这些特征图传递到区域提议网络。区域提议网络采用特征图并生成锚点(具有唯一大小和比例的滑动窗口的中心)。然后将这些锚点传递到分类层(对是否存在对象进行分类)和回归层(对与对象关联的边界框进行定位)。

更快的 R-CNN 架构

在检测时间方面,Faster R-CNN 比 R-CNN 和 Fast R-CNN 都快。 Faster R-CNN 的 mAP 也比前面两个都好。

R-CNN、Fast R-CNN 和 Faster R-CNN 之间的比较:

 R-CNNFast R-CNNFaster R-CNN
Method For Generating Region ProposalsSelective SearchSelective SearchRegion Proposal Network
The mAP on Pascal VOC 2007 test dataset(%) 58.5

 66.9 (when trained with VOC 2007 only)

70.0 (when trained with VOC 2007 and 2012 both)

 69.9(when trained with VOC 2007 only)

73.2 (when trained with VOC 2007 and 2012 both)

78.8(when trained with VOC 2007 and 2012 and COCO)

The mAP on Pascal VOC 2012 test dataset (%) 53.3

  65.7 (when trained with VOC 2012 only)

68.4 (when trained with VOC 2007 and 2012 both)

67.0(when trained with VOC 2012 only)

70.4 (when trained with VOC 2007 and 2012 both)

75.9(when trained with VOC 2007 and 2012 and COCO)

Detection Time (sec) ~ 49 (with region proposal generation) ~ 2.32(with region proposal generation) 

0.2 (with VGG),

0.059 (with ZF)

以上检测时间结果来自研究论文。它们可能因机器配置而异。
参考:

  • R-CNN 论文
  • 快速 R-CNN 论文
  • 更快的 R-CNN 论文