4. Faster RCNN

186 阅读2分钟

Faster RCNN的主要创新点:RPN+Fast RCNN

图片.png

算法流程

一、将图像输入网络得到相应的特征图。

二、使用RPN结构生成候选框,将RPN生成的候选框投影到特征图上获得相应的特征矩阵。

对于特征图上的每个3×3的滑动窗口,计算出滑动窗口中心点对应原始图像上的中心点,并计算出k个anchor boxes(注意region proposal是SS算法筛选的),k值的是k个anchor box。

2k指的每个anchor box生成的2个概率,一个是前景概率,一个是后景概率,因此k个anchor就会生成2k个概率。

4k指的是每个anchor box都有4个边界框回归参数。256是指backbone卷积网络的输出深度。

图片.png

图1-1 k、2k、4k的意义

如何计算出滑动窗口中心点对应原始图像上的中心点?

stride(y轴)=原图长/特征图长

stride(y轴)=原图长/特征图长

原图中心点(x/y)=特征图上中心点的横/纵坐标×stride(x/y)

图片.png

图1-2 计算出滑动窗口中心点对应原始图像上的中心点

每个位置/每个滑动窗口都会生成9个anchor boxes。

三种尺度(面积){1282128^22562256^25122512^2}

每种面积下三种比例{1:1,1:2,2:1}

图片.png

图1-3 每个位置/每个滑动窗口都会生成9个anchor boxes

那么每个滑动窗口处实际上会有9个anchor boxes,2×9个类别分数,4×9个回归参数。

图片.png

图1-4 每个位置/每个滑动窗口都会生成9个anchor boxes,18个类别分数,36个回归参数

例子:1000×600×3的图像→60×40×9(20k)个anchor→忽略跨越边界的anchor,剩下约6k个anchor→基于候选框的cls得分,采用非极大值抑制,IoU设为0.7,剩下2k个候选框。 图片大小也不一样怎么输入的backbone。怎么出现的60×40,feature map都一样的吗

三、将每个特征矩阵通过ROI pooling层缩放到7×7大小的特征图。

四、将特征图展平通过一系列全连接层得到预测结果。

损失函数

图片.png

图2-1 损失函数

Faster RCNN的训练方式

图片.png

图3-1 Faster RCNN联合训练

RCNN系列框架

图片.png