Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
在 Fast RCNN 基础上进一步优化。
region-based detectors(Fast R-CNN) 使用的卷积特征图, 也可以被用来生成 region proposals
RPN同时预测目标边界和目标在每个位置的得分,生成高质量的区域建议
Region Proposal Network (RPN) 和 检测网络(Fast R-CNN) 交替训练 共享卷积特征 ------> 注意力机制
( the RPN component tells the unified network where to look )
1.Faster R-CNN
RPN网络和Fast R-CNN网络中均有分类和回归,但两者有所不同,
RPN中分类是判断conv5-3中对应的anchors属于目标和背景的概率(score),并通过回归获取anchors的偏移和缩放尺度,根据目标得分值筛选用于后续检测识别的Proposal;
Fast R-CNN是对RPN网络提取的Proposal做分类识别,并通过回归参数调整得到目标(Object)的精确位置。
---------------------
2.RPN ( Region Proposal Networks )
输入任意大小图片 ---> RPN ---> 一系列矩形目标建议(带有每个位置的得分)
image --> conv --> 特征图 ---> 滑动窗口 --> a box-regression layer (reg) box相关的四个参数
--> a box-classification layer (cls) 目标和非目标的概率
每个滑窗位置考虑k(9)种参考窗口----> 每个滑窗位置会同时预测最多9个区域建议。
- anchor 解决多尺度采样问题 使用一个3×3的卷积核,在最后一个特征图(conv5-3)上滑动,将卷积核中心对应位置映射回输入图像,生成3种尺度(scale){128平方,256平方,512平方}和3种长宽比(aspect ratio){1:1,1:2,2:1}共9种Anchor
- 特征图conv5-3每个位置都对应9个anchors,如果feature map的大小为W×H,则一共有W×H×9个anchors,滑动窗口的方式保证能够关联conv5-3的全部特征空间,最后在原图上得到多尺度多长宽比的anchors。
- 可以预测区域建议 wide range of scales and aspect ratios
平移不变性(目标平移之后仍然可以生成相同的目标建议),降低模型的大小。(图像中平移了物体,窗口建议也会平移)
确定每个滑窗中心对应感受野内存在目标与否。由于目标大小和长宽比例不一,需要多个尺度的窗。
按照倍数和长宽比例得到不同大小的窗。例如论文中基准窗大小为16,给了(8、16、32)三种倍数和(0.5、1、2)三种比例,这样能够得到一共9种尺度的anchor
在对60*40的map进行滑窗时,以中心像素为基点构造9种anchor映射到原来的1000*600图像中,映射比例为16倍。那么总共可以得到60*40*9大约2万个anchor。
- 损失函数
怎么判定一个anchor内是否有目标呢?论文中采用了这样的规则:1)假如某anchor与任一目标区域的IoU最大,则该anchor判定为有目标;2)假如某anchor与任一目标区域的IoU>0.7,则判定为有目标;3)假如某anchor与任一目标区域的IoU<0.3,则判定为背景。所谓IoU,就是预测box和真实box的覆盖率,其值等于两个box的交集除以两个box的并集。其它的anchor不参与训练。
实验结果对大范围的不敏感。 正则化不是必要的。
回归误差中Leg与pi相乘,因此bbox回归只对包含目标的anchor计算误差
对于bbox的groundtruth,只考虑判定为有目标的anchor,并将其标注的坐标作为ground truth。
计算bbox误差时,不是比较四个角的坐标,而是tx,ty,tw,th,
3.实验结果
cls分数决定了排名最高的提案的准确性。
高质量的建议主要是由于回归框边界
使用多个尺寸的锚作为回归参考是一种有效的解决方案
验证了级联区域方案和目标检测的有效性
RPN在提高IoU阈值的定位精度方面表现优异
大规模的数据对于改进深度神经网络是至关重要的