Faster R-CNN训练顺序

转自:https://blog.csdn.net/weixin_40449426/article/details/78141635 

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。
这就是总体框架的描述,如果你理解了这些,再想深入内部细节的算法,就不会一头雾水,没有方向。至于细节算法,比如anchor,RoI等等可以参考其他博客文章,都写的不错,只不过从学习者角度来说,他们都把这些算法写在最前面,让学习者看的时候有些茫然。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值