faster-rcnn

                                             Faster RCNN

https://blog.csdn.net/qq_43477550/article/details/105584364

https://zhuanlan.zhihu.com/p/31426458

https://blog.csdn.net/weixin_39749553/article/details/94833656

 

                      

Faster-RCNN是在Fast RCNN的基础上做的,他的主要贡献是设计了RPN网络,之前的工作生成预选框用的方法是selective search的方法。

RPN的具体工作流程是这样的:Faster RCNN首先会有一个骨干网络,这个骨干网络是负责特征提取的。经过特征提取之后会得到一个feature map。这个feature map就是RPN网络的输入。在进入RPN网络之前,这个feature map有9个维度。每个像素点的9个维度代表了9个anchor box,这9个anchor box的尺寸是提取定义好的(anchor box的中心点坐标应该就是grid cell的中心点)。比如原文是40*60*9,大约20000个框。之后这20000个框的信息分成两路,分别做1*1的卷积操作。

        第一路卷积后的尺寸是40*60*36(4*9  9个框,每个框有4个数值的信息);

        另一路卷积后的结果是40*60*18(2*9  9个框,每个框有两种可能,positive和negative),在第一条支路经过softmax的打分后就可以得到每个框的分数,有了分数,又有这些框的坐标,我们就可以做NMS。在NMS之后选出排名最靠前(也就是softmax得分最高)的2000个框. 再然后从这2000个框中选择出 256 个框包括 128 个正样本和 128 个负样本来计算 Loss. Loss的话就两个部分来计算置信度损失和定位损失,分别用着256个框的 score 和 坐标去计算就行了。计算positive和negative的分类损失时,每个anchor box的标签值是根据当前anchor的IoU得到的:当anchor与ground truth(GT)的IoU>0.7,则认为该anchor是positive,标签值P=1;反之IoU<0.3时,认为该anchor是negative,标签值p=0;至于那些0.3<IoU<0.7的anchor则不参与训练。分类的损失函数使用的是softmax loss,回归使用的损失函数是smooth L1 loss。     RPN的流程到这里就结束了,后边就是用 RPN 选出来的 ROI 训练全连接层进行分类和位置预测的部分了。

 

参考链接:https://zhuanlan.zhihu.com/p/31426458

1、Faster-rcnn主要分为以下4个部分:

       1、Conv layers。Faster RCNN首先使用一组基础的conv+relu+pooling层提取image的feature maps。该feature maps被共享用于后续RPN层的全连接层。

              1、所有的conv层都是:kernel_size=3,pad=1,stride=1

              2、所有的pooling层都是:kernel_size=2,pad=1,stride=1;   kernel_size=2,pad=0,stride=2

       Conv layers卷积部分不改变feature的大小,只通过pad来降采样。

       2、RPN(region proposal networks)。RPN网络用于生成region proposals。该层通过softmax判断anchors属于positive或者negative,再利用bounding box regression修正anchors获得精确的proposals。

                               

 

                                               

       3、Roi Poiling。该层收集输入的feature maps和proposals,综合这些信息后提取proposal features maps,送入后续全连接层判定目标类别。

          因为RPN网络生成的proposal是根据positive anchors进行bounding box regression,那么这样获得的proposals也是大小形状各不相同,ROI Poiling就是为了解决这个问题。

      4、Classification。利用proposal feature maps计算proposal的类别,同时再次bounding box regression获得检测框最终的精确位置。

              classification部分利用已经获得的proposal feature maps,通过full connect层与softmax计算每个proposal具体属于哪个类别(如人、车、电视等),输出cls_prob概率向量;同时再次利用bounding box regression获得每个proposal的位置偏移量bbox_pred,用于回归更加准确的目标检测框。

         

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值