论文阅读笔记04-faster-rcnn
faster-rcnn在当时算是一个相当不错,具有使用价值的算法。
算法流程如下:
(1)输入测试图像;
(2)将整张图片输入CNN,进行特征提取;
(3)用RPN生成建议窗口(proposals),每张图片生成300个建议窗口;
(4)把建议窗口映射到CNN的最后一层卷积feature map上;
(5)通过RoI pooling层使每个RoI生成固定尺寸的feature map;
(6)利用Softmax Loss(探测分类概率) 和Smooth L1 Loss(探测边框回归)对分类概率和边框回归(Bounding box regression)联合训练.
下面是该算法的整体结构
相比FAST-RCNN,主要两处不同:
(1)使用RPN(Region Proposal Network)代替原来的Selective Search方法产生建议窗口;
(2)产生建议窗口的CNN和目标检测的CNN共享
接下来介绍RPN网络的细节:
RPN(Region Proposal Networks)
经过特征提取网络得到feature-map尺寸为52x39x256。
Feature Map进入RPN后,先经过一次3x3的卷积,同样,特征图大小依然是52x39,数量512,这样做的目的应该是进一步集中特征信息。
此时对于feature-map中每一个像素点,即所谓的锚点(anchor),可以产生9个不同尺寸的region proposal,一共产生了52x39x9个region proposal。
RPN 分为上下两部分,分别是rpn-classification和rpn-bbox。
rpn-classification负责对每一个anchor-box进行分类,判断其属于背景还是前景。
rpn-bbox负责对每一个anchor-box进行边bbox-regression,得到一个勉强精确的region proposal。
最终挑选出score较高的300个region proposal,送入后面的分类和回归网络。(个人疑惑:300个region中前景背景的比例如何,暂不明确)