论文阅读:Adaptive NMS: Refining Pedestrian Detection in a Crowd

2019年04月11日 23:08:02 Kivee123 阅读数 836
 
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

Adaptive-NMS(CVPR 2019)

文章
  又是一篇在NMS上面做文章的paper。。读完之后感觉,哇!自己再想的深一点也能想出来呀,可是想出来和做出好效果真是两码事。。尤其是没有人告诉你这个idea的价值只能靠自己判断的时候。扯远了。。。还是说一说这篇文章吧。
  NMS是目前基于深度学习的目标检测模型的重要的后处理步骤,针对目标检测来讲,NMS具体操作就是将所有检测结果(设为集合A)中score最大的结果取出来加入到最后的检测结果集合(设为集合B),然后将A中其它检测结果i中与该结果进行比较,如果如该结果的相似度(往往使用IoU)超过一个阈值就将i从A中去掉。重复上述操作,直到A为空空集,伪代码如下(greedy-NMS就是普通的NMS):

  然而普通NMS的问题在于,如果两个ground truth本身就有overlap的话,这个时候就不好办了,如果overlap较小,没有问题,但如果overlap较大呢?比crowd这种场景,这时候要想能检测出两个gt,只能设置较大的阈值来保证较小score的结果不被抑制。可矛盾在于,在crowd这种情况下,人群有时候密集有时候稀疏,高的阈值又会导致对于稀疏的情况下产生过多的False Positive(即被错认为positive的结果)。为了尝试解决这个问题呢,ICCV 2017一篇soft-NMS横空出世(靠一行代码就发了ICCV,牛逼。。。。)。soft-NMS的思想是,NMS所谓的“抑制”可以看做将检测结果的分数置0了,从而就不要该结果了,那么可不可以不置0,而是减小score呢,不过是IoU越大,score减小的越多。

为什么可以这样弄呢?其实细想一下,虽然会存在gt之间存在overlap的情况,但我们的目的是抑制那些overlap更大的(比如有三个结果ABC,分数分别为0.9,0.8,0.7,其中AC是正确结果,A和B的overlap大于A和C的,这样经过一轮NMS后BC的分数可能就变了0.6,0.5,从而将B抑制了)最后实验证明。。。这个想法还真有效!
  这篇论文呢,针对crowd中的行人检测这一特殊的应用场景,对soft-NMS又进行了优化,使得在人群密集的地方,NMS阈值较大,而人群稀疏的地方NMS阈值较小。但是问题在于怎么判断人群是否密集,又怎么根据密集程度定NMS阈值呢?对于第一个问题。。。当然是用CNN啦!于是文章就定义了第i个物体处的密度如下:

因此在训练CNN时,每次还需要求出密度作为监督信号,训练网络能够拟合这个密度函数,即输入一张图片,能输出每个位置的物体密度,但这个参数怕是作者调了不短的时间,模型如下:

有了密度之后,soft-NMS就改进成了

  emmmm,文章的方法就是这样,感觉也是很自然的发现一个问题然后想办法去解决,不过个人以为这个模型恐怕真不好调参。

论文阅读:Adaptive NMS: Refining Pedestrian Detection in a Crowd的更多相关文章

  1. 论文阅读 | ExtremeNet:Bottom-up Object Detection by Grouping Extreme and Center Points

    相关链接 论文地址:https://arxiv.org/abs/1901.08043 论文代码:https://github.com/xingyizhou/ExtremeNet 概述 ExtremeN ...

  2. 论文阅读: End-to-end Learning of Action Detection from Frame Glimpses in Videos

      End-to-End Learning of Action Detection from Frame Glimpses in Videos  CVPR 2016  Motivation:    本 ...

  3. 论文阅读之:Is Faster R-CNN Doing Well for Pedestrian Detection?

    Is Faster R-CNN Doing Well for Pedestrian Detection? ECCV 2016   Liliang Zhang & Kaiming He 原文链接 ...

  4. 论文阅读 | FCOS: Fully Convolutional One-Stage Object Detection

    论文阅读——FCOS: Fully Convolutional One-Stage Object Detection 概述 目前anchor-free大热,从DenseBoxes到CornerNet. ...

  5. 论文笔记之:Pedestrian Detection aided by Deep Learning Semantic Tasks

    Pedestrian Detection aided by Deep Learning Semantic Tasks CVPR 2015 本文考虑将语义任务(即:行人属性和场景属性)和行人检测相结合, ...

  6. 论文阅读:Prominent Object Detection and Recognition: A Saliency-based Pipeline

    论文阅读:Prominent Object Detection and Recognition: A Saliency-based Pipeline  如上图所示,本文旨在解决一个问题:给定一张图像, ...

  7. 论文笔记:Ten years of pedestrian detection, what have we learned?

    最近正在研究行人检测,学习了一篇2014年发表在ECCV上的一篇综述性的文章,是对行人检测过去十年的一个回顾,从dataset,main approaches的角度分析了近10年的40多篇论文提出的方 ...

  8. 【计算机视觉】论文笔记:Ten years of pedestrian detection, what have we learned?

    最近正在研究行人检测,学习了一篇2014年发表在ECCV上的一篇综述性的文章,是对行人检测过去十年的一个回顾,从dataset,main approaches的角度分析了近10年的40多篇论文提出的方 ...

  9. 论文笔记之:Learning Cross-Modal Deep Representations for Robust Pedestrian Detection

    Learning Cross-Modal Deep Representations for Robust Pedestrian Detection 2017-04-11  19:40:22  Moti ...

随机推荐

  1. Ryu控制器编程开发——packet_in和packet_out简易交换机实现

    Ryu控制器二次开发,实现一个简单的只能够简单地广播数据包的交换机. from ryu.base import app_manager from ryu.controller import ofp_e ...

  2. ORM SQLAlchemy - 对象关联

    >>> from sqlalchemy import Column, Integer, String >>> class User(Base): ... __tab ...

  3. mybatis+mysql批量插入和批量更新、存在及更新

    mybatis+mysql批量插入和批量更新 一.批量插入 批量插入数据使用的sql语句是: insert into table (字段一,字段二,字段三) values(xx,xx,xx),(oo, ...

  4. Mysql表的横向拆分与纵向拆分

    表的拆分分为横向拆分(记录的拆分)和纵向拆分(字段的拆分).拆分表的目的:提高查询速度. 1.横向拆分 我们从一个案例去解释,情景是这样的:某某博客,有50W的博客量,有2w的用户,发现随着用户和博客 ...

  5. Winform 工程反编译后窗体如何显示

    Winform反编译后,如果想要让它象正常的工程一样,可以在窗体编辑器中,编辑,需要做一些工作. 1.  转换.resources 为 .resx 利用resgen工具.这个工具是vs自带的. 在启动 ...

  6. 启动Spring boot报错:nested exception is java.sql.SQLException: Field 'id' doesn't have a default value

    先看具体日志: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with n ...

  7. 深入理解Attention机制

    要了解深度学习中的注意力模型,就不得不先谈Encoder-Decoder框架,因为目前大多数注意力模型附着在Encoder-Decoder框架下,当然,其实注意力模型可以看作一种通用的思想,本身并不依 ...

  8. swift 第一课 基础知识-1

    1. 基本的打印: print("这是学习 swift 的第一课") var varA = print("a 的值是 \(varA)") //注:字符串打印参数 ...

  9. QFramework 使用指南 2020(九):Res Kit(3)异步加载 与 异步队列加载

    在上一篇我们了解了 Res Kit 的一些背后设计原理,讲解了一些概念,比如:开发阶段.真机阶段等. 在这一篇,我们回到 Res Kit 使用细节上. 在 Res Kit 的第一篇,我们介绍了 Res ...

  10. [Paper Reading] Show, Attend and Tell: Neural Image Caption Generation with Visual Attention

    论文链接:https://arxiv.org/pdf/1502.03044.pdf 代码链接:https://github.com/kelvinxu/arctic-captions & htt ...