Faster RCNN alternative training训练步骤

Faster R-CNN,可以大致分为两个部分,一个是RPN网络,另一个是Fast R-CNN网络,前者是一种候选框(proposal)的推荐算法,而后者则是在此基础上对框的位置和框内的物体的类别进行细致计算。


不管是RPN还是Fast R-CNN网络,其网络结构一部分来自于pre-trained model的卷积层(下文简称model),另一部分则是他们各自特有的结构(有卷积和FC,下文简称unique)。
这里,我主要讲的就是训练过程。

第一步:用model初始化RPN网络,然后训练RPN,在训练后,model以及RPN的unique会被更新。


第二步:用model初始化Fast-rcnn网络,注意这个model和第一步一样。然后使用训练过的RPN来计算proposal,再将proposal给予Fast-rcnn网络。接着训练Fast-rcnn。训练完以后,model以及Fast-rcnn的unique都会被更新。
说明:第一和第二步,用同样的model初始化RPN网络和Fast-rcnn网络,然后各自独立地进行训练,所以训练后,各自对model的更新一定是不一样的(论文中的different ways),因此就意味着model是不共享的(论文中的dont share convolution layers)。


第三步:使用第二步训练完成的model来初始化RPN网络,第二次训练RPN网络。但是这次要把model锁定,训练过程中,model始终保持不变,而RPN的unique会被改变。
说明:因为这一次的训练过程中,model始终保持和上一步Fast-rcnn中model一致,所以就称之为着共享。


第四步:仍然保持第三步的model不变,初始化Fast-rcnn,第二次训练Fast-rcnn网络。其实就是对其unique进行finetune,训练完毕,得到一个文中所说的unified network。

--------------------- 
作者:hotgarlicwang 
来源:CSDN 
原文:https://blog.csdn.net/weixin_40449426/article/details/78141635 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(目标检测)