文章目录
摘要(重点是RPN)
- 减低检测运行时间,揭露区域建议的瓶颈;RPN生成高质量 region proposals
- RPN预测:object bounds and objectness scores
- 合并RPN和fast rcnn通过共享卷积特征(attention mechanisms)
- RPN通过学习数据,告诉网络关注哪些地方(通过正负例定义和标签框,loss设计)
- 因为RPN的设计是学习网络,所以可从更深度CNN模型中提取特征进行学习建议准确性更好
- VGG16backbone的faster detection system实现5fps的检测速度(每张图只有300建议区域)
1 介绍
- 说明解释检测网络速度慢的原因是区域建议的方法问题
- RPN的Anchor设计:using Pyramids of reference boxes 能预测wide range of scales和aspect ratios(多尺度和多比例物体检测)
- 合并RPN和Frcnn的训练策略:交替训练RPN和frcnn with proposals fixed。省训练时间
- 模型评价:数据集voc coco
- 代码公开地址, 获得2015年冠军:ILSVRC检测和定位 and COCO检测和分割
- https://github.com/shaoqingren/faster_rcnn (in MATLAB)
- https://github.com/rbgirshick/py-faster-rcnn (in Python).
2 相关工作
- 1 Object Proposal:区域建议 前人的方法,独立于检测网路
- 1 Grouping super-pixels: Selective Search
- 2 Sliding windows: objectness in windows, EdgeBoxes
- 2 检测网络前人方法
- fast rcnn是分类网络(除了bounding回归)精度依赖于region proposal,overfeat
3 Faster R-CNN
3.1 Region Proposal Networks
3.1.1 Anchors
1 Translation-Invariant Anchors
得益于anchors的提出,每个特征点对应一个对应原图上位置(乘以16),在原图上画出3尺寸,3比列的anchors
2 Multi-Scale Anchors as Regression References
- anchor 生成
3.1.2 Loss Function
1 rpn分类正负例打标:anchor与标签的iou:正例iou>0.7, 负例iou<0.3(物体和背景)
2 rpn的loss,cls是2类别交叉熵损失,reg是预测的anchor的偏移量t*,损失是smooth(t-t*),t是通过anchor和真实标签计算,t*是通过预测和anchor计算。
3 rpnbbox相对偏移量预测,anchor是带a,真实的是x,y,w,h,预测是*
注意重点:anchor是中间阶梯,如果没有anchor的话很难收敛,anchor是基于先验知识的,可以使得模型更好的拟合真实标签。
anchor可以设计成为其他形状的,它仅仅是预测的值的先验参考值
3.2 rpn计算流程
3.1rpn的筛选:
- 1 生成anchor(每个featuremap的点放大16倍对应到原图,就是anchor的中心,再给出3个size和3个ratio=9个anchors
- 2 修剪出画的roi
- 3 按预测物体背景得分排序(这一步是关键学习和筛选的关键,只有是物体的anchor进入下一轮
- 4 NMS:选择前12000得分排序anchors,iou剔除的是与max score计算后大于0.7的anchor,剩余的进入下一轮
- 5 按预测得分排序饭后前2000个(仅用于训练时,预测时只返回前300个)
3.3 筛选proposal得到ROI
1 ROI pooling(量化取整,会引起误差,而maskrcnn用了ROI align插值pooling更精确)
得到的anchor是对应原图上的框,如何找到对应到feature map 的框:缩小16倍量化取整(因为maxpooling了4次)==》anchor除以16得到feature map 框,对这个框进行roi-pooling,不管多大的map都分割成77的网格进行pooling(取网格里的像素的最大值)得到77的pooling特征
3.4 faster RCNN预测网路
3.4 四个训练步骤
4 实验
4.1 On Pascal VOC(2007+2012)20类别
1 消融实验Ablation Experiments on RPN
1 rpn 的detector单独训练 map58.7%
2 unshared cnn SS+detector 56.8%
3 将RPN的cls和reg分开 ,无NMS:44.6%
2 VGG-16的性能
3 不同anchor scales和aspect ratios的对比实验
3scales和3ratios选最后一行,效果最好
4 不同λ的影响(RPN分类和回归损失的加和系数)
论文实验得出λ=10,
5 Recall-to-IoU的分析
设置预测的region和真实的框的IOU,设置越大,被过滤掉的region越多,recall检出率就越小,一般设置0.7
4.2 On MS COCO(80类别)
table6和7如上节,20种类别
- faster RCNN 在ILSVRC&COCO2015的比赛 第一
4.3 从 MS COCO到 Pascal VOC
对voc训练的模型再加上coco数据进行finetune增加了5.6%
5 结论
- 有效精确的候选区域生成
- 共享卷积特征
- 5帧接近实时的检测效果
- RPN学习网络能改善建议区域的质量,因此对全部对象得到好的检测精度