OHEM:Training Region-based Object Detectors with Online Hard Example Mining

首页:https://blog.csdn.net/u014236392/article/details/86767950
论文:Training Region-based Object Detectors with Online Hard Example Mining
official code - caffe:https://github.com/abhi2610/ohem

1. hard example

顾名思义,难例,即检测困难的正样本,与 easy example相对,一般指训练过程中误分的样本。

2. 核心思想

作者认为,在训练过程中,对于模型已经很容易区分正确的 easy example,再多训练也没有太大意义了;而对于不容易区分易误检的 hard example,对他们进行训练更有意义。
所以,作者根据输入样本的损失进行筛选,筛选出hard example,表示对分类和检测影响较大的样本,然后将筛选得到的这些样本应用在随机梯度下降中训练。

3. 网络框架

Fast R-CNN:
在这里插入图片描述
a) 在训练的过程中,因为每张图像上都有大量的proposals,因此基于一些假设,对其进行随机采样,最后每张图像中只取B/N个proposal给后面的RoI net进行运算。
b) 在proposal中,任何与gt box的IOU大于一定阈值的都被视为 foreground roi,任何在IOU在[bg_lo,0.5)范围内的 roi 都被视为 background roi,因为希望模型能够学习到更多的东西,因此在这里设置bg_lo=0.1,因为与 gt box 有部分重叠的box在检测过程中可能更加困难。
c) 针对正负样本个数差距太大的问题,对负样本进行采样,使得最终正负样本在1:3左右。

OHEM:
在这里插入图片描述
a) 之前是随机选择ROI进行之后roi net的操作,论文中则可以通过OHEM选择那些检测困难的样本,并进行之后的roi net。
b) 在OHEM中,所有的proposal都先通过roi net进行forward操作,在backward的过程中,因为只对那些loss很大的roi进行了bp,因此计算量没有增加太多。
c) 在使proposal经过roi net之前,使用NMS去除重叠的bbox。
d) 在这里因为只使用那些loss很大的roi做bp,因此不需要设置fg-bg ratio,因为那些被忽视的正例的loss会越来越高,在之后样本选择的过程中会有更大的概率被选中进行bp。

3.1 实施细节

a) 在实现的过程中,我们可以将所有non-hard roi的loss修改为0,但是这种方法仍然会对所有的roi进行bp的运算,这回造成大量的内存损耗。
b) 针对以上问题,使用下列解决方案:使用2个RoI network,它们之间共享参数,一个roi network只用于forward,它是只读的,计算loss之后,选取hard example之后,将其作为另外一个roi network的输入,这个network是用于forward与backward的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值