Training Region-based Object Detectors with Online Hard Example Mining(CVPR2016 Oral)

本文主要是介绍Training Region-based Object Detectors with Online Hard Example Mining(CVPR2016 Oral),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自:http://zhangliliang.com/2016/04/13/paper-note-ohem/

Training Region-based Object Detectors with Online Hard Example Mining是CMU实验室和rbg大神合作的paper,cvpr16的oral,来源见这里:http://arxiv.org/pdf/1604.03540.pdf

其实文章的idea很简单,是将bootstrapping做成online的形式嵌入到Fast R-CNN的detection的pipeline里面,其实有点类似将SGD回传的时候,对样本进行一个重新选择(选择困难样本或者对困难样本赋予更高的权重)。

在正文开始之前,容我碎碎念一小段,读者可以跳过这一段。其实online boostrapping跟CNN结合的尝试也是蛮多的。比如将FCN跟boostrapping结合做detection的工作有DenseBox,SSD。但都是作为一个trick存在的,只写了一个小节。估计作者也是觉得很难用boostrapping作为核心idea来发paper吧。但这篇敢用bootstrapping作为核心idea并且还中了oral,自然也是有其高明之处。其中最重要的点可能会是,它把bootrapping这个trick做work了,而且是在VOC和COCO上做work,并且能够提高3个点,就显得比较solid了。相对来说,可能DenseBox和SSD相对来说没有做得很work,所以就没有那么confident了。那为何这篇文章就能够把bootrapping做solid呢?很可能是作者确实思考得比较深,用了一些别人没想到的细节(比如对困难样本做nms再选择)。将一个idea做work做solid,是一个难能可贵的能力。

回归正文,文章的核心idea是将bootstrapping,或者说是hard sample mining,直接integrate到SGD算法里面去,并且将这个修改的SGD算法叫Online Hard Example Mining(OHEM)。如下图所示,对于OHEM的一个iter,是这样做的。首先整张图片前传得到conv的featmap,然后将全图的所有的N(对于selective search算法来说,一般N=2000)个proposal都用roi pooling来提特征并且前传到fc中得到每个proposal的loss。显然,loss越大,代表这个proposal对于目前的分类器来说是hard sample,将B(比如B=128)个hard sample收集起来,并且将这些样本的loss求导成diff回传回去,来更新网络。

核心idea就是这样,另外作者提到需要注意的一点是,bbox交叠的propsoal往往比较相似,所以在选择hard sample的时候,sample与sample之间不宜IoU过大,所以作者做了一个IoU为0.7的nms。

这篇关于Training Region-based Object Detectors with Online Hard Example Mining(CVPR2016 Oral)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050169

相关文章

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

【Python报错已解决】AttributeError: ‘list‘ object has no attribute ‘text‘

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一:检查属性名2.2 步骤二:访问列表元素的属性 三、其他解决方法四、总结 前言 在Python编程中,属性错误(At

Post-Training有多重要?一文带你了解全部细节

1. 简介 随着LLM学界和工业界日新月异的发展,不仅预训练所用的算力和数据正在疯狂内卷,后训练(post-training)的对齐和微调方法也在不断更新。InstructGPT、WebGPT等较早发布的模型使用标准RLHF方法,其中的数据管理风格和规模似乎已经过时。近来,Meta、谷歌和英伟达等AI巨头纷纷发布开源模型,附带发布详尽的论文或报告,包括Llama 3.1、Nemotron 340

error while loading shared libraries: libnuma.so.1: cannot open shared object file:

腾讯云CentOS,安装Mysql时: 1.yum remove libnuma.so.1 2.yum install numactl.x86_64

java基础总结12-面向对象8(Object类)

1 Object类介绍 Object类在JAVA里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较方便,它提供了一个最根上的类,相当于所有的类都是从这个类继承,这个类就叫Object。所以Object类是所有JAVA类的根基类,是所有JAVA类的老祖宗

HDU 1097 A hard puzzle(规律)

题目: http://acm.hdu.edu.cn/showproblem.php?pid=1097 题意: 求a的b次方的最后一位。 题解: 直接从例子入手, 第一组数据 7 66,结果如下(只要最后一位所以模10) 7 9 3 1 7 9··· 循环节为4,即结果在4个数值内循环出现。 第二组数据 6 800,结果如下 6 6 6 6··· 循环节为1 ···

MACS bdgdiff: Differential peak detection based on paired four bedGraph files.

参考原文地址:[http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html](http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html) 文章目录 一、MACS bdgdiff 简介DESCRIPTION 二、用法