Faster RCNN近似端到端法详解

Posted mazinkaiser1991

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Faster RCNN近似端到端法详解相关的知识,希望对你有一定的参考价值。

有了交替训练法的基础,近似端到端的训练方法就非常好理解了。

相比于交替训练法,端到端训练主要有两点不一样:

1)网络结构:

  • RPN的输出个数:此处的输出个数不是指损失函数,而是指RPN的输出不仅送入AnchorTargetLayer层计算损失,还送入ProposalLayer生成RoI。在交替训练法中,RPN的训练网络到损失函数部分就已经结束了。但在端到端训练中,RPN的输出还送入ProposalLayer生成RoI,进行接下来的计算。
  • ProposalTargetLayer:这一层是在端到端训练中独有的层,其作用是从RoI中选择一部分sample用于训练Fast RCNN,并给定其对应的groundtruth。训练的batch_size是128,正样本占比是0.25,正样本阈值是0.5。(以上参数可以从config.py文件中查到)
  • 由上一层的作用也可以得出一个不同,在交替训练中使用ProposalLayer产生的大约2000个候选框训练Fast RCNN,但在端到端训练中,仅使用128个候选框(正负样本都有)训练Fast RCNN。

2)损失函数:

与交替训练法所不同的是,端到端训练法将RPN loss与Fast RCNN loss相加,然后反向传播,更新参数。

最后墙裂推荐一下我参考的文章:https://zhuanlan.zhihu.com/p/32404424

非常细致,我的一些疑问就是从这篇文章中找到的答案。

 

以上是关于Faster RCNN近似端到端法详解的主要内容,如果未能解决你的问题,请参考以下文章

为啥faster-rcnn端到端训练只做近似?

从端到端的Fast RCNN到走向实时的Faster RCNN (原理及Pytorch代码解析)

深度学习Faster-RCNN网络

pytorch Faster-RCNN 的验证损失

faster-rcnn算法总结

Ubuntu下跑通py-faster-rcnn详解demo运作流程