这篇文章是ECCV2018里唯一的HEM方面的文章,是UMass的研究人员提出的目标检测方面的难例挖掘算法。

HEM是“难例挖掘”的意思,让算法能够自己找到很难区分的样本,然后进一步供以训练。最后使得算法可以更好地区分难例。

举个栗子:在目标检测算法中,检测器经常会有错检,比如它的目标是检测篮球,但它很容易检测到光头上去。那这个光头,就是一个难例。HEM可以找到这些难例,然后进行针对性训练,以达到提升检测性能的目的。

相关的上一篇博文是《online hard negative mining》的解析,我对OHEM做了一定程度的解析。有兴趣可以戳链接。

先按国际惯例,给出标题和链接:

标题:《Unsupervised Hard Example Mining from Videos for Object Detection》

链接:http://openaccess.thecvf.com/content_ECCV_2018/papers/SouYoung_Jin_Unsupervised_Hard-Negative_Mining_ECCV_2018_paper.pdf


核心思想

此文的核心思想很好描述:在视频中对每个单帧目标检测,在连续的10帧里,如果检测框稳定输出,则可以认为这是一个正样本,如果偶尔冒出一两个框,则认为这一两个野框框到的是负样本。这个负样本成功引起了咱算法的注意,这可不是一般的负样本,这是能忽悠检测错检的负样本。咱把含有这种负样本的帧收集下来,针对性训练,是不是可以提高检测器对这种负样本的“免疫性”呢?

来来来,不爱看字的看看图:

图1

对图1简单叙述:表示两个视频中的连续帧。黄色框表示正确检测结果,稳定并且有很高的confidence。红色框就是万恶的困难负样本。需要强调的是,检测器对每帧的检测都是独立的

详细操作步骤

1. 获取视频数据,直接在YouTube上下载的,未经过标注的视频。这就是文章标题第一个单词“unsupervised”的含义;

2. 用经过预训练的检测器Faster R-CNN,对每个视频逐帧inference,那么对于每帧都应该有一些bbox输出;

这里的预训练用专门的数据集,比如Caltech行人检测的数据集和WIDER FACE的人脸数据集。

3. 针对第2步得到的Bbox,联系到它的±5帧,即前后5帧。策略为:将每个bbox扩大至100x100的区域(search region),把每个bbox划出的patch当作template,在前后5帧中进行标准化互相关操作(NCC)。用小框(bbox)对大框(search region)进行NCC,NCC阈值设为0.5,那么NCC会有一个结果,相邻帧检测会有一个结果,如果这俩结果IOU小于0.2,则判断这是个“野框”,判断为困难负例;反之,则判断这个框为伪正例。为什么叫伪正例呢?因为这是机器认为的“正例”,顶多算个银水,只有人工标注的GT才能算金水(没玩过狼人杀的自动跳过这句)。

不爱看字的看图:虚线框代表100x100的search region,如果相邻帧的检测结果继续出现在seach region内,并且iou大于0.2则认为没有闪动。反之,则认为检测闪动,判断其为困难负例。

4. 收集帧,把第3步得到的含有“伪正例”和至少一个“困难负例”(我觉得叫“硬负例”好听点,以后改一下称呼)的帧收集到新的数据集,label就用第3步机器自己判断的label。用新的数据集对检测器进行再训练。

完整步骤如上,应该比较清晰了。

可以一般化到“困难正例”的挖掘,对,有以困难负例自然就有困难正例,就是容易漏检的正例。

策略和上面是一样的,如果漏检帧会在search region中被NCC找到。


实验结果

作者随机抽了511个困难负例,发现其中453个是真负例,16个为真正例,42例不明确。这说明,这种无监督爬下来的数据质量还不错。应用到具体算法的提升结果你们可以去论文里看,我就不截图了。


总结

本文的trick利用了视频连续性来收集样本,可以在数据有限的前提下大大提高模型对“硬例”的检测效果。目前来看,有一定的工程应用价值。

【ECCV2018】Unsupervised Hard Example Mining from Videos for Object Detection相关推荐

  1. 【YOLT】《You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery》

    文章目录 1 Motivation 1.1 Challenges 1.2 Impressive framework 2 Author's algorithm 3 Advantage 4 Method ...

  2. 【arXiv2022】GroupTransNet: Group Transformer Network for RGB-D Salient Object Detection

    paper:https://arxiv.org/abs/2203.10785 目录 一 动机 二 方法 三 网络框架 3.1 模态纯化模块(MPM) 3.2 尺度统一模块 (SUM) 3.3 多 Tr ...

  3. 【深度学习】【ECCV2018】CornerNet及代码解读

    [ECCV2018]CornerNet Introduction ConerNet Detecting Corners Grouping Corners Corner pooling Hourglas ...

  4. 【YOLOv4原文+翻译】YOLOv4:Optimal Speed and Accuracy of Object Detection

    最近新出了YOLOV4,我系统的从V1开始整理出稿,传送门: [YOLOv1原文+翻译]You Only Look Once Unified, Real-Time Object Detection [ ...

  5. 【故障处理】ORA-12545: Connect failed because target host or object does not exist

    [故障处理]ORA-12545: Connect failed because target host or object does not exist [故障处理]ORA-12545: Connec ...

  6. oracle enq ta,【案例】Oracle等待事件event enq: KO - fast object checkpoint解决办法

    [案例]Oracle等待事件event enq: KO - fast object checkpoint解决办法 时间:2016-11-03 10:11   来源:Oracle研究中心   作者:HT ...

  7. 【显著性物体检测】【ECCV2018】Reverse Attention for Salient Object Detection【论文笔记】

    简介:在不怎么增加计算量的前提下,采用从粗到精的思想,由高级特征到低级特征,补全显著性检测的轮廓[最近很多都是基于这个思想].模型的速度与效果都占优.具体关注,是怎么实现特征的多级利用的. ECSSD ...

  8. 【libcudnn】ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory

    最近在服务器上安装tensorflow-gpu,安装完成后,在使用tensorflow的时候报错" ImportError: libcudnn.so.7: cannot open share ...

  9. 【论文笔记】:Libra R-CNN: Towards Balanced Learning for Object Detection

    &Title: Libra R-CNN: Towards Balanced Learning for Object Detection &Summary 检测不平衡问题包括:样本层面( ...

最新文章

  1. 使用joda-time工具类 计算时间相差多少 天,小时,分钟,秒
  2. 人工智能的下一个前沿:识别“零”和“无”
  3. python怎么用函数查看变量类型_查看变量类型的Python内置函数是()。
  4. 编程之美-蚂蚁爬杆方法整理
  5. vue的Prop属性
  6. codeblocks哪个字体最舒服_如果给你一百万让你放弃一种美食永远不吃,你会放弃哪个?...
  7. mybatis 报错: Invalid bound statement (not found)
  8. 字符串的首地址做形参不能将变化传递回主函数
  9. 220UF25V 10*7.7SMD铝电解电容封装
  10. win2012没有远程桌面授权服务器可以提供许可证 如何远程
  11. 340-写一个银行转账死锁问题并且解决
  12. Java实现Excel导入导出(附Demo)
  13. java编写连接数据库代码
  14. asc和desc的英文全称
  15. ensp查看历史配置命令_华为路由查看配置命令是什么?
  16. 数据库系统实验二作业-SQL实验报告
  17. 神探夏洛克 | 不再卖腐,第四季的最大的看点变成了……
  18. 使用皮皮影院搭建电影展
  19. 水务企业数字化资产管理解决方案
  20. 多思计组实验实验五、程序计数器实验

热门文章

  1. matlab paillier加密_叶胜超:一分钟了解Paillier同态加密算法以及经典应用(118)...
  2. IntelliJ IDEA怎么设置编码格式
  3. mysql5.7修改账户密码
  4. tf第八讲:global_step理解与指数衰减学习率
  5. 神奇的Selinux Restore Rule
  6. python 多维list 初始化
  7. CUDA编程深入浅出,案列讲解
  8. Redis Zrem 命令
  9. 《站酷志:资深设计师的Photoshop创意课》
  10. IQ 调制器和 IQ 解调器