faster-rcnn系列之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。
接着看到两个全卷积,即kernel_size=1*1,p=0,stride=1;
RPN 分为上下两部分,分别是rpn-classification和rpn-bbox。
rpn-classification负责对每一个anchor-box进行分类,判断其属于背景还是前景。
rpn-bbox负责对每一个anchor-box进行边bbox-regression,得到一个勉强精确的region proposal。

最终挑选出score较高的300个region proposal,送入后面的分类和回归网络。(个人疑惑:300个region中前景背景的比例如何,暂不明确)

猜你喜欢

转载自www.cnblogs.com/yeran/p/10892372.html