论文阅读Faster RCNN
0 准备
0.0 AlexNet[Alex Krizhevsky et al.2012]
输入:227x277x3
卷积层输出(池化层之前):13x13x256
最后一层池化层:6x6x256
全连接层:4096-4096-1000
0.1 ZFNet[Zeiler and Fergus,2013]
输入:227x227x3
卷积层输出(池化层之前):13x13x512
最后一层池化层:6x6x512
全连接层:4096-4096-1000
0.2 Overfeat(还没看论文,不知道具体原理)
1 思想
从RCNN到fast RCNN,再到本文的faster RCNN,目标检测的四个基本步骤(候选区域生成,特征提取,分类,位置精修)终于被统一到一个深度网络框架之内。所有计算没有重复,完全在GPU中完成,大大提高了运行速度。
三个要解决的问题:
1. 如何设计区域生成网络
2. 如何训练区域生成网络
3. 如何让区域生成网络和fast RCNN网络共享特征提取网络
2 RPN(Region Proposal Network)结构
2.1 思想
- 根据特征得到区域(而不是重新设计一种网络)
- 原来是用RP的方法得到ROI,再映射到conv feature map上,现在可以直接在feature map上对所有候选框进行识别
- 后续位置还有精修,不需要特别准确
2.2 RPN结构
- 在卷积特征图上滑动一个nxn的窗口(代表了输入图像上的候选区域)
- 卷积得到一个低维的向量(256-d for ZF and 512-d
for VGG) - 连接两个全连接层(box-regression layer && box-classification layer)
Translation-Invariant Anchor
因为每一个位置候选区域的大小和形状都是未知的,所以在每个滑窗位置预测k个region proposals(k=9)叫作anchor。那么对于每一个位置reg layer 有4k个输出对应BBox的坐标,cls layer有2k个scores输出对应是否有目标的概率。
2.3 训练
2.3.1 样本
Anchor:
一般设置短边s=600
anchor考虑三个尺度(128^2,256^2,512^2)和三个宽高比(1:1,1:2,2:1)
对于600x1000的图像,得到的特征大小为60x40,那么anchor大约有20k(~60*40*9)个;忽略掉超出边界的,大约有6k个
用于训练的anchor
a. 对每个标定的真值候选区域,与其重叠比例最大的anchor记为前景样本
b. 对a剩余的anchor,如果其与某个标定重叠比例大于0.7,记为前景样本;如果其与任意一个标定的重叠比例都小于0.3,记为背景样本
c. 对a,b剩余的anchor,弃去不用。
d. 跨越图像边界的anchor弃去不用
2.3.2 损失函数
RPN是不针对具体的类,而只是检测出物体
i表示anchor;
前一项是分类的Softmax损失,后一类是回归损失(前面那个N是归一化系数)
与其他框回归方法的不同
- Fast RCNN是对特征图上不等的区域池化,所有区域共享权重
- Faster RCNN是对特征图上相等的区域池化,不同的anchor权重不同(训练了k个anchor)
3 Faster RCNN
3.1 结构
RPN用来产生候选区域(不针对具体类别,只是框出可能含有目标的区域)
Fast-RCNN用来对候选区域进行分类和定位
3.2 训练
3.2.1 multi-stage训练
- 训练RPN
- 利用RPN得到的候选区域训练Fast-RCNN
- 用Fast-RCNN来初始化RPN的训练,固定卷积层微调RPN特有的层(共享了卷积层特征)
- 保持共享的卷积层固定微调Fast RCNN的全连接层
3.2.2 联合训练
4 结果分析
4.1 mAP(平均准确度)
- 可以看到,利用RPN来提取候选区域相较于用SS和EB的方法要高出1%左右
- 不使用共享权值的情况下,也可以达到一个比较高的mAP
- 只看RPN的结果,要略差于SS
- 只使用类损失或者回归损失,结果都会有不同程度的下降
4.2 PASCAL VOC 2007测试结果
在07测试集上,SS的最好结果是66.9%,而RPN的最好结果是69.9%
4.3 时间
使用VGG的话,可以达到5fps,即每秒处理5张图片
而使用ZF的话,可以达到17fps
4.4 召回率分析
如果对IOU的要求更高的话,SS的优势会逐渐显现(毕竟SS提取的区域准确性相对RPN更高)
4.5 阶段训练(单阶段还是多阶段?)
Faster-RCNN相比于Overfeat的单阶段训练结果高出5%左右
5 结论
- 提出了RPN用来有效地产生候选区域
- 共享卷积特征
- 一体化的监测系统5-17fps
- 学习的RPN可以改善候选区域质量和准确度