OHEM算法详解——online hard example mining

OHEM(在线难例挖掘)是一种解决数据类别不平衡问题的简单直观算法,它消除了常用的几个启发式和超参数,尤其在大规模数据集上表现优异,如PASCAL VOC和MSCOCO。OHEM在Fast-RCNN中应用,通过筛选损失最大的样本进行训练,提高检测性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OHEM: online hard example mining

论文链接:https://arxiv.org/abs/1604.03540

 

主要特点:

1.不需要设置正负样本比例来解决数据类别不平衡问题

2.数据集越大,性能越明显

文中所说:

1.OHEM is a simple and intuitive algorithm that eliminates several heuristics and hyperparameters in common use. But more importantly, it yields consistent and significant boosts in detection performance on benchmarks like PASCAL VOC 2007 and 2012.

2.Its effectiveness increases as datasets become larger and more difficult, as demonstrated by the results on the MS COCO dataset.

 

算法详解:

OHEM应用在fast-rcnn

1.根据损失进行筛选,选出对分类和检测影响大的样本。

2.将原来的ROI网络扩充为两个ROI,一个ROI只有前向传播,用于计算损失;一个ROI正常前向后向传播,以hard example作为输入,计算损失并传递梯度。

 

问题1:如何选择hard sample?

选择ROI的损失最大的样本,对于ROI重合问题使用NMS去除重合较大的ROI,设置IOU=0.7,大于0.7就去除

问题2:如何选择正负样本?

当一个ROI和一个ground truth的IOU大于0.5,则为正样本;当一个ROI和所有ground truth的IOU的最大值小于0.5时为负样本。(这样选择一定会出现很多负样本,可以通过提高IOU抑制负样本数量,具体设置数值,得通过实验确定)

 

Fast-RCNN结构

主要包括:卷积网络,ROI pooling网络,全连接和两个输出

 

Fast-RCNN中使用OHEM网络

下图中的(a)ROI网络只计算损失值,不反向传播,计算得出hard samples;

下图中的(b)ROI网络将hard samples作为输入,并反向传播,计算得出两个输出(类别和位置)

文中每个mini-batch选择2张图像,每张图像2000个ROI,共4000个,然后每个batch筛选128个hard samples

 

在SSD中使用了hard negative mining这是通过对负样本抽样,抽样时按照置信度误差(预测背景的置信度越小,误差越大)进行降序排列,选取误差较大的top-k作为训练的负样本,保证正负样本比例接近1:3.

而OHEM是通过对hard samples进行训练,解决样本不平衡问题,同时提高了算法识别率

M:使用多尺度;B:不同阶段的bbox回归

 

COCO数据集上的结果,

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值