Faster R-CNN(理论)

305 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

参考:

1.1Faster RCNN理论合集 (bilibili.com)

R-CNN

算法流程

总体步骤

image.png

1候选区的生成(SS算法)

image.png

2对候选区域提取特征

image.png

3对特征判定类别

image.png

image.png

4非极大值抑制算法

image.png

5 使用回归器修正候选框

image.png

Fast R-CNN

对比R-CNN的改进之处

  1. 候选框到特征提取的处理上。R-CNN是对每一个候选框提取特征, Fast R-CNN是对整个图片做特征提取, 然后将候选框映射到特征图上。
  2. 直接通过全连接预测分类和边界框回归器

算法流程

总体步骤

image.png

ROI Pooling

将候选框缩放到统一尺寸。eg:统一缩放到7 x 7大小。

如下图:不管是多大的候选框, 将候选框分成7 x 7的网格区域, 然后再每个网格区域进行最大池化下采样(只选取区域内最大的一个值)。这样便得到了7 x 7的缩放。

image.png

分类器

两个分类器是并联的

image.png

image.png

损失函数

p0是目标为背景的概率 image.png

image.png

image.png

Faster R-CNN

对比Fast R-CNN的不同

  1. 主要是将生成候选框的SS算法换成RPN(Region Proposal Network)算法。

算法流程

总体步骤

image.png

RPN算法

feature map为backbone生成的特征图,eg:ZF网络最后生成特征图的深度为256.

在feature map 每滑动一次窗口就会有K个anchor(给定的固定的可能存在的一种窗口,在算法中通过步距和滑动窗口大小的乘积确定中心点, 然后通过anchor给定的宽高等等,计算anchor窗口.)生成,然后将小窗口特征图生成一维向量,连接全连接,分成背景和前景两类进行打分,所以有2k(前景和背景的概率)个scores,和4k个coordinates(边界框回归参数.) [中心点确定,边界需要调整]

image.png

anchor的尺度为:

image.png

损失函数

image.png

待补充---------------------------------------------------------------------------------

上述图片来源于B站的up主, 连接在最上面已给出, 初学者建议去他的站看看, 强烈推荐。