关于two-stage的通用训练过程

无论是目标检测,还是一个end-to-end的文本检测识别,只要是two-stage,都是分为 rpn和roi。为什么一定要分为两部分。
因为目标检测还有一个隐功能(分类),文本检测识别还有一个识别功能。这第二个功能都是要交给roi去做。其实可以把roi当作一个独立的模块,前面的rpn只是用来给roi提供一个区域让它去分类或者识别。因此roi一般要做(loss函数)就是分类损失或者是回归损失,公式就不写了,没有意义。
上段提到了rpn是给roi提供区域的,因此rpn的loss函数分为两部分,第一,回归损失,这个是必须要有的,而且不要以为回归是网络最后在做的,在rpn已经做好了(为了确保精度更高,会在roi层之后再做一次回归损失)。第二,分类损失,这个分类,是指,这块区域到底要不要给roi,因此,通常都是2分类。
在训练阶段,为了不让rpn的性能影响到roi,最好直接用ground truth提供的区域去进行分类,而不是用rpn层提取的区域来输入到roi层。如果rpn层训练好了,也可以将rpn层训练好的作为roi的输入。注意,是训练阶段,因此,训练阶段把两个当作单独的模块就可以了。

关于one-stage和two-stage的区别。我的个人理解,就是one-stage把two-stage的roi分类结合到了rpn层,就成了one-stage。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值