困难负样本挖掘方法——OHEM
Online Negative Example Mining
论文链接
背景:
在模型训练中,大量的训练数据中会存在一些难以区分的负样本,找到这样的负样例再进行针对性地训练,能够对模型精度有一定的提升。在 two-stage 的目标检测方法中,经过区域生成算法或者网络生成的 region proposals 通常会经过正负样本的筛选和比例平衡后,才送入之后的检测网络进行训练。但是正负样本的定义和训练的比例是需要人为定义的。如果要筛选 hard mining。通常使用的都是 hard negative mining 的方法。但是此方法不适用于 end-to-end 的模型。因为会大大降低模型的训练速度。OHEM是一种线上的困难负样例挖掘解决方案,可以自动地选择 had negative 来进行训练,不仅效率高而且性能好。
简单介绍:
传统 hard negative mining method:
传统算法需要迭代训练,放入巻积神经网络,每次都需要冻结网络生成困难负样例,很难应用在端-端的检测模型。(SVM + 传统 hard negative mining method)OHEM的基准算法是Fast R-CNN,可以把交替训练的步骤和 SGD 结合起来。之所以可以这样,作者认为虽然 SGD 每迭代一次只用到少量的图片,但每张图片都包含上千个 RoI,可以从中选择 hard examples,这样的策略可以只在一个 mini-batch 中固定模型,因此模型参数是一直在更新的。
更具体的,在第 t 次迭代时,输入图片到卷积网络中得到特征图,然后把特征图和所有的 RoIs 输入到 RoI 网络中并计算所有 RoIs 的损失,把损失从高到低排序,然后选择 B / N (B 为 Roi 总个数,N 为输入图片个数)个 RoIs。这里有个小问题,位置上相邻的 RoIs 通过 RoI 网络后会输出相近的损失,这样损失就翻倍。作者为了解决这个问题,使用了 NMS(非最大值抑制) 算法,先把损失按高到低排序,然后选择最高的损失,并计算其他 RoI 与这个 RoI 的 IoU (交叉比),移除 IoU 大于一定阈值的 RoI,然后反复上述流程直到选择了 B/N 个 RoIs。
图中的b模块正是OHEM 比 Fast R-CNN 多出的模块。
- 对于two-stage模型,可以把它的两部分是提取推荐框和分类回归两个部分,而OHEM的作用恰好是两个部分的中间。
在提取推荐框之后,会有很多ROI传输到后面网络。这部分的输出便是推“可能存在目标的位置“,以image patch(会给数以千计的小片(你可以叫ROI,也可以叫推荐框,还可以叫image patch))的形式给到后面的分类和回归网络。分类回归会对这些小片进行分类、坐标和尺寸回归以及置信度打分(confidence, 置信度是指,模型对这个输出有多大把握)。如果在训练阶段,那可以通过这些参数与标注结果进行计算得出损失值。OHEM恰恰利用了这个损失值。
操作流程:
正常进行一次Faster RCNN的前向传播,获得每个小片单独的损失值;
对小片们进行非极大值抑制(NMS),不了解NMS点链接去了解,非常简单;
对nms之后剩下的小片按损失值进行排序,然后选用损失值最大的前一部分小片当作输入再进一遍b部分,通过这种方法,可以屏蔽掉loss值非常低的小片。loss值非常高的小片意味着,模型训练很多次还对这些小片有着很高的loss,那么就认为这是困难负例。所谓的线上挖掘,就是先计算loss->筛选->得到困难负例。
把困难负例输入到图1中(b)模块,(b)模块是(a)模块的copy版,连参数都是一样的。只是(a)模块是不可训练的,用于寻找困难负例嘛。(b)模块是用来反向传播的部分,然后把更新的参数共享到(a)部分(a部分也跟着一起更新)。其实在程序的实现上,(a)模块可以复用,不需要额外来一个(b)模块。ab部分可以并行操作:a对下一张图像进行前向,b对上一张图像进行反向。
困难负样本挖掘方法——OHEM相关推荐
- 困难样本挖掘(Online Hard Sample Mining)
一.分类与检测 分类和检测是计算机视觉里面两个非常重要的任务,虽然两个任务的目标并不完全相同,但是本质上检测是在分类问题上的一次推广,即检测是在整个个图像上做的局部分类并且标记该局部分类的位置,那么可 ...
- 物体检测中的困难样本挖掘(Online Hard Sample Mining)
一.分类与检测 分类和检测是计算机视觉里面两个非常重要的任务,虽然两个任务的目标并不完全相同,但是本质上检测是在分类问题上的一次推广,即检测是在整个个图像上做的局部分类并且标记该局部分类的位置,那么可 ...
- yolov4负样本_了解各种挂件--帮助读懂YOLOV4
YOLOV4在V3的基础上引进了很多挂机,了解这些挂件们,会有助于真正了解这篇文章.所以我就先从挂件开始介绍吧. Weighted-Residual-Connections 文章 weighted-r ...
- 负样本的艺术,再读Facebook双塔向量召回算法
负样本的艺术,再读Facebook双塔向量召回算法 Facebook这篇Embedding召回的论文,之前已经有几篇文章涉及过了,分别是<Embeding-based Retrieval in ...
- 对比学习效果差?谷歌提出弱语义负样本,有效学习高级特征!
文 | jxyxiangyu 编 | 小轶 对比学习是 2021 年几大研究热点之一了.如果说预训练模型解决了机器学习对大规模标注数据的需求问题,那么,对比学习可以说是将无监督/自监督学习推广到更一般 ...
- ECCV18 | 无监督难分样本挖掘改进目标检测
(欢迎关注"我爱计算机视觉"公众号,一个有价值有深度的公众号~) 大量训练数据有助于目标检测系统性能的提升,对于已经训练好的系统而言,有研究发现,那些被系统误分类的少量" ...
- MoCo 动量对比学习——一种维护超大负样本训练的框架
MoCo 动量对比学习--一种维护超大负样本训练的框架 FesianXu 20210803 at Baidu Search Team 前言 在拥有着海量数据的大型互联网公司中,对比学习变得逐渐流行起来 ...
- 目标检测中的样本不平衡处理方法——OHEM, Focal Loss, GHM, PISA
GitHub 简书 CSDN 文章目录 1. 前言 2. OHEM 3. Focal Loss 3.1 Cross Entropy 3.2 Balanced Cross Entropy 3.3 Foc ...
- OHEM(Online Hard Example Mining)在线难例挖掘(在线困难样例挖掘) HNM (目标检测)
Hard Negatie Mining与Online Hard Example Mining(OHEM)都属于难例挖掘,它是解决目标检测老大难问题的常用办法,运用于R-CNN,fast R-CNN,f ...
最新文章
- 如何创建企业转型路线图
- 如何发布自己的NPM包(模块)?
- 腾讯大数据回答2019:鹅厂开源先锋,日均计算量超30万亿,全力打破数据墙
- Codeforces Round #321 (Div. 2) B. Kefa and Company (尺取)
- 微软发招,苹果发飙,React Native躺枪
- Android Service、IntentService,Service和组件间通信
- 异或运算交换两个整数
- 读保护_混合ASIL系统中不同安全等级模块间的边界保护
- 集成LNMP/LAMP/FAMP的LuNamp2.1正式版开源发布
- 【BZOJ3524】Couriers,第一次的主席树
- [SHOI2008]堵塞的交通
- Windows 中不规则窗体的编程实现三种方法:CRgn,作图路径法,据图像创建region
- 安卓root之后交管123123 20秒闪退和中国农业银行app 6.0闪退的解决方法
- 如何提高工作效率,提高工作效率的方法?
- 5G网络切片技术解析,一文让你读懂5G切片
- reinstall virtualbox-dkms 虚拟机崩溃
- 没经验能做seo专员吗
- 3D人体姿态估评估指标
- 留痕笔记2.0升级到delphi11踩过的坑
- 最强旗舰手机功能曝光:大变活人、智能静音、拍照测肤……