R-CNN、Fast R-CNN和Faster R-CNN

1,190 阅读2分钟

R-CNN

2014年由Ross Girshick提出

算法流程

  1. 输入图像,使用Selective Search方法生成1K~2K个候选区域
  2. 对每个候选区域,使用深度网络提取特征
  3. 将特征送入每一类的SVM分类器,判别是否属于该类,对每一类进行非极大值抑制剔除重叠建议框
  4. 使用回归器精细修正候选框位置

Fast R-CNN

同样使用VGG16作为网络的backbone,与R_CNN相比,训练速度快9倍,测试推理快213倍,准确率从62%提升至66%

算法流程

  1. 输入图像,使用Selective Search方法生成1K~2K个候选区域
  2. 将图像输入网络得到相应的特征矩阵,把候选框投影到特征图上获得相应的特征矩阵
  3. 每个特征矩阵通过ROI pooling层缩放到7×77 \times 7大小的特征矩阵,接着将特征矩阵展平,通过一系列全连接层得到预测结果

Fast R-CNN多任务损失

image.png


image.png

Faster R-CNN

2015年提出,同样使用VGG16作为网络的backbone,推理速度在GPU上达到5fps

算法流程

  1. 将图像输入网络得到相应的特征矩阵
  2. 使用RPN结构生成候选框,将候选框投影到特征图上获得相应的特征矩阵
  3. 每个特征矩阵通过ROI pooling层缩放到7×77 \times 7大小的特征矩阵,接着将特征矩阵展平,通过一系列全连接层得到预测结果

Region proposal network

在特征矩阵上使用3×33 \times 3的滑动窗口,投影到原图上,选取三种尺度(1282,2562,5122128^2, 256^2, 512^2)、三种比例(1:1,1:2,2:11:1, 1:2, 2:1)的anhor,每个位置在原图上都对应有9个anchor

对于一张1000×600×31000 \times 600 \times 3的图像,大约有60×40×960 \times 40 \times 9个anchor,忽略跨越边界的anchor,剩下大约6K个anchor。RPN生成的候选框之间存在大量重叠,基于候选框的cls得分,采用非极大值抑制,IoU设为0.7,这样每张图像只剩2K个候选框。

RPN多任务损失

image.png


image.png

训练

image.png