又发现了个框架 但没有代码啊~~ 还是搬来了,重要样本关注机制,一种新颖的目标检测框架

上论文

论文地址: https://arxiv.org/pdf/1904.04821.pdf

在目标检测框架中,平等对待所有样本并以平均性能最大化目标是一种常见的范例。在今天分享中,研究者通过仔细研究不同的样本如何对以mAP衡量的总体性能做出贡献,重新审视了这一范式。

研究表明,每个小批次中的样本既不是独立的,也不是同等重要的,因此平均而言,更好的分类器并不一定意味着更高的mAP。在这项研究的激励下,研究者提出了原始样本的概念,这些样本在推动检测性能方面起着关键作用。研究者进一步开发了一种简单而有效的抽样和学习策略,称为“预防样本注意力”(PISA),将训练过程重点指向此类样本。

研究者的实验表明,在训练检测器时,关注prime sample(其实就是正样本中IoU高的样本和负样本中得分高的样本)通常比关注难样本更有效。特别是,在MSCOCO数据集上,PISA在单级和两级检测器上的性能始终优于随机采样基线和难挖掘方案,例如OHEM和Focal Loss,大约为2%,即使其具有强大的主干ResNeXt-101。

Improvement of NMS with localization confidence

IoUNet建议使用定位置信度而不是NMS的分类分数。它增加了一个额外的分支来预测样本的IoU,并使用NMS的定位置信度,即预测IoU。IoUNet和新提出的方法之间存在一些主要差异。

首先,IoUNet旨在为预测IoU较高的候选提供更高的分数。在这项工作中,研究者发现高IoU并不一定意味着对训练很重要。特别是,围绕目标的候选之间的相对排名也起着至关重要的作用。其次,研究者的目标不是改进NMS,没有利用额外的分支来预测定位置信度,而是调查prime sample的重要性,并建议更多地关注基于重要性的重加权的基础样本,以及将两个分支的训练关联起来的新损失。

Prime Sample

左:白色虚线表示ground truth,红色框表示prime sample,蓝框为难例样本

右:不同采样策略下模型的PR曲线,random表示平等对待各个样本,hard表示重点关注难例样本,prima表示重点关注重要样本

可以看到,基于prime sample的采样策略能够更好地提升检测器的性能,原因是什么呢?

目标检测中,我们的目的是提高mAP,首先就要了解什么是mAP?

AP就是ROC曲线下的面积。在绘制ROC曲线时,检测框的置信度决定了该检测框是否被保留,该检测框与标注框的IOU决定了该检测框是否对应了真实目标,这两个方面都影响了TP,FP和Recall,Precision和AP。

根据map的定义,哪些正样本比较重要?

mAP的工作方式揭示了两个标准:

(1)在与ground truth物体重叠的所有包围盒中,IoU最高的那个是最重要的,因为其IoU值会直接影响 recall。(2)在所有不同对象的最高IoU边界框中,具有较高IoU的边界框更为重要,因为随着θ的增大,它们是最后一个低于IoU阈值θ的边界框,因此对总体精度有很大影响。

在这些标准上,正样本中IoU高的样本对于目标检测器而言更为重要。

根据map的定义,哪些负样本比较重要?

(1)在本地区域内的所有负样本中,得分最高的样本最为重要。(2)在不同地区的所有得分最高的样本中,得分较高的样本更为重要,因为它们是第一个降低精度的样本。

在负样本中,因为很多的负样本会通过NMS(非极大值抑制)而去掉。所以,如果一个负样本旁边有个得分更高的样本,那么这个负样本就不重要,因为它会被NMS去掉。

在这些标准上,负样本中得分高的样本对于目标检测器而言更为重要。

IoU-HLR和Score-HLR

根据样本的重要性将样本分为各个级别Hierarchical Local Rank (HLR).:

正样本的分级方法是基于IOU的,所以成为IoU Hierarchical Local Rank (IoU-HLR)。负样本的分级方法是基于Score的,所以叫做Score Hierarchical Local Rank (Score-HLR)。

IoU-HLR:

(1)获得不同标注框的正样本候选框的IOU

(2)根据IOU将候选框分为不同的rank,IOU最大的为top1rank,从而获得局部的rank

(3)不同目标的对应的rank组合在一起,并按照他们的IOU排序,这是全局的rank

(4)最后得到排序结果

这样排序的原因:满足了上面的两个原则

第一个是,同一目标,IOU最大的最重要,它将那些局部排序较高的样本放在前面,这些样本对于每一个单独的gt来说是最重要的;

第二个是,不同目标,IOU大的更重要,在每个rank组内,根据IoU对样本进行重新排序

右侧是负样本按照SCORE的排序方式,他和前面的排序方式是类似的

在下图中绘制了随机样本、难样本和的prime sample分布,以及IoU和分类损失。顶行显示正样本,底行显示负样本。据观察,难正性样本倾向于具有高分类损失,并且沿着IoU轴在更宽的范围内分散,而prime sample正样本趋向于具有高IoU和低分类损失。难负性样本往往具有高分类损失和高IuU,而prime sample负样本也覆盖了一些低损失样本,IuU分布更为分散。这表明这两类样品具有本质上不同的特征。                              whaosoft aiot http://143ai.com

ISR

研究者提出了一种soft Sampling的方法——Importance-based Sample Reweighting (ISR), 它根据重要程度给samples分配了不同的loss weights,用线性方程可以将ri(第i个样本所在的rank)转换为ui(类别j的第i个样本的重要性),如下所示:

ui和wi存在着一个简单的递增的关系:

cross entropy classification loss可以被改写为:

n和m分别是正样本和全部样本的总量。注意到简单的增加loss weights将会改变loss的全部值和正样本负样本之间的比例,所以我们将wi归一化到wi’为了保证全部正样本的loss不变。

实验及可视化

Examples of PISA (bottom) and random sampling (top) results. The score threshold for visualization is 0.2:

Prime Sample相关推荐

  1. HDU2866 Special Prime

    HDU2866 Special Prime Description 给定L,求有多少个小于L的素数p,满足方程\(n^3+p*n^2=m^3\) \(n\in Z^+,m\in Z^+\) Input ...

  2. 一种关注于重要样本的目标检测方法!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale学术 作者:宋志龙,浙江工业大学,Datawhale成员 在目标检测中训练模型 ...

  3. CVPR2020检测类论文最全汇总:136篇论文方向细分(附代码和论文打包下载)

    为了方便大家进一步的学习,我们对这CVPR中的1467篇论文进行了整理,本次分享的是所有检测类论文,并将它们细分为3D目标检测.人脸检测.动作检测.视频目标检测.文本检测.行人检测等方向,同时附上了相 ...

  4. 【TPAMI2020】目标检测中的不平衡问题:综述论文,34页pdf

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 作者:ChenJoya 知乎链接:https://zhuanlan.zhihu.c ...

  5. java 语言如何判断素数_C语言实验之判断素数(循环结构java)方法讲解

    C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...

  6. 【深度学习】一种关注于重要样本的目标检测方法!

    作者:宋志龙,浙江工业大学,Datawhale成员 在目标检测中训练模型时,样本间往往有差异性,不能被简单地同等对待.这次介绍的论文提出了一种重要样本的关注机制,在训练过程中帮助模型分辨哪些是重要的样 ...

  7. idea测试单元错误_不要单元测试错误

    idea测试单元错误 在进入标题主题之前,我们先来看一个简单的编程示例. 在编程任务中,我将演示一些不良的编码样式,并以此为基础,我将更容易解释为什么相同的样式在单元测试中是不良的. 好吧,既然我写了 ...

  8. C语言循环结构素数判断,C语言实验之判断素数(循环结构java)方法讲解

    C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...

  9. CVPR 2020 论文大盘点-目标检测篇

    本文盘点CVPR 2020 所有目标检测相关论文,总计64篇论文,感觉最大的特点是3D目标检测研究工作很多有21篇,尤其是工业界单位,可能是自动驾驶热带来的.2D目标检测依然很热,神经架构搜索也开始在 ...

最新文章

  1. P3391 【模板】文艺平衡树(Splay)
  2. 使用命令创建mysql_用命令创建MySQL数据库
  3. 明天是你的生日~~~
  4. 盘点大型分布式网站术语
  5. ubuntu安装matlab2009,Ubuntu中安装Matlab2010a
  6. oracle 添加服务命名空间,c# – 找不到类型或命名空间名称“OracleConnection”
  7. java 反射深度克隆_C# 使用反射来实现对象的深度复制方法
  8. VMware vSAN6.7 设计和优化 vSAN 主机 vSAN 6.5带来七大更新 解读VMware超融合增长秘诀
  9. 服务网关Ocelot 入门Demo系列(01-Ocelot极简单Demo及负载均衡的配置)
  10. python吃香吗_python编程为何这么吃香
  11. linux内核3,升级linux内核到3.10
  12. 【NOIP2018】【Luogu5019】铺设道路(贪心,差分)
  13. linux删除文件后不释放磁盘的问题
  14. Instagram: 用Django服务30亿用户
  15. 基于JAVASCRIPT操作XML的无刷新分页
  16. 智能优化算法:适应度相关优化算法 - 附代码
  17. centos界面的转换+快捷键的使用
  18. 好久能旅游?新加坡,一座惬意的城市
  19. 核心单词Word List 9
  20. 绝绝子!京东大牛用一文将Python 接口自动化测试解析透彻的不行~

热门文章

  1. ROS+ubuntu20.04+opencv4.5.5
  2. 微信小程序canvas绘制插件
  3. jquery设置文本 点击事件 追加元素 删除元素
  4. 人在美国,刚下飞机,这下不能装X了
  5. 【微信小程序生成二维码并下载,分享】
  6. ndarray如何取元素_Numpy之访问和删除 ndarray 中的元素及向其中插入元素
  7. JAVA实习生工作总结(四)
  8. 树莓派点亮led灯C语言,树莓派点亮你的LED小灯——GPIO学习笔记
  9. react antd-mobile v2图片选择器ImagePicker压缩图片上传腾讯云COS处理方案
  10. 新增“查验工具”的身份证二要素实名验证API接口