faster-rcnn代码阅读-proposal层


这一节讲述proposal层,和这一层有关的结构图如下:

proposal层的prototxt定义如下:

layer {
  name: 'proposal'
  type: 'Python'
  bottom: 'rpn_cls_prob_reshape'
  bottom: 'rpn_bbox_pred'
  bottom: 'im_info'
  top: 'rpn_rois'
#  top: 'rpn_scores'
  python_param {
    module: 'rpn.proposal_layer'
    layer: 'ProposalLayer'
    param_str: "'feat_stride': 16"
  }
}

这一层的功能是对卷积网络中RPN输出的bbox_deltas, scores做后处理,主要步骤如下:

1、同上节中的第一步,生成anchor;

2、将anchor和RPN网络输出的bbox_deltas叠加,得到proposals,剔除超出图像区域的proposal,并删除在原图尺度(不是输入网络的尺度)上长或宽小于16的proposal;

3、将proposals按分数从大到小排序,并取前12000个做NMS,overlap阈值为0.7;

4、NMS之后,proposals仍然是按分数从大到小排序的,取前2000个(如果NMS之后proposal个数小于2000,则取全部)proposals;

5、给proposals(n x 4)添加一列,表示batch_inds(都为0),添加在第一列,最后得到的proposals的shape为n x 5。

这一层的代码链接见这里,此外涉及到的其他函数有bbox_transform_invclip_boxesnms


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM