Fast R-CNN
与 RCNN 的区别:
FastRCNN_哔哩哔哩_bilibili
对所得到的特征矩阵,将它划分为七乘七四十九等份
划分之后,对它的每一个区域去执行最大池化下采样,也就是max pooling操作
假设我们对这个区域(左上角 第一个区域)进行最大池化下采样,得到的值是0.1
然后再对下一个框中的数据进行最大池化下采样,得到0.1
然后依次类推,就得到了我们一个7x7的特征矩阵
无论候选区域,它的特征矩阵是什么样的尺寸,都统一缩放到7x7大小,这样的话可以不去限制输入图像的尺寸
看fast R-cnn,网络的框架
将一张图像,直接输入到cnn网络当中,就得到它的一个特征图,然后根据映射关系,能够找到每一个候选区域的特征矩阵,然后将这个特征矩阵,通过ROI Pooling统一缩放到一个指定的尺寸
然后到这一步之后,我们就将它进行一个展平处理,接着再通过两个全连接层,得到ROI feature vector,然后在这个ROI feature vector的基础上,并联两个全连接层
注意这里是并联
其中一个全连接层,用于目标概率的预测
另外一个全连接层,用来边界框回归参数的预测
P 代表候选框坐标参数
每一个参数说明都给了
来看下计算公式,对于最终预测边界框,中心的x坐标是如何得到的呢
它是使用p w(也就是候选边界框的宽度)乘上回归参数dx,然后再加上px(也就是候选边界框的中心的x坐标)
同理呢,最终预测边界框y的坐标,就等于p h乘以d y加上py,这里的dx和d y是用来调整候选边界框中心坐标的回归参数
接下来再来看一下最终预测边界框,它的宽度是如何得到的,它等于pw乘上e x p的dw,这里的e x p是e的dw次方的意思,是一个指数运算
同理,最终预测的边界框的高度,等于ph乘以e x p的dh,这里的dw和dh就分别对应候选边界框的宽度回归参数以及高度回归参数
通过这个公式,就能将候选边界框,也就是橙黄色的框框给调整到红色的这个框框,也就是最终预测的边界框的一个位置