论文阅读:Adaptive NMS: Refining Pedestrian Detection in a Crowd
论文阅读:Adaptive NMS: Refining Pedestrian Detection in a Crowd
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的更多相关文章
- 论文阅读 | ExtremeNet:Bottom-up Object Detection by Grouping Extreme and Center Points
相关链接 论文地址:https://arxiv.org/abs/1901.08043 论文代码:https://github.com/xingyizhou/ExtremeNet 概述 ExtremeN ...
- 论文阅读: 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: 本 ...
- 论文阅读之:Is Faster R-CNN Doing Well for Pedestrian Detection?
Is Faster R-CNN Doing Well for Pedestrian Detection? ECCV 2016 Liliang Zhang & Kaiming He 原文链接 ...
- 论文阅读 | FCOS: Fully Convolutional One-Stage Object Detection
论文阅读——FCOS: Fully Convolutional One-Stage Object Detection 概述 目前anchor-free大热,从DenseBoxes到CornerNet. ...
- 论文笔记之:Pedestrian Detection aided by Deep Learning Semantic Tasks
Pedestrian Detection aided by Deep Learning Semantic Tasks CVPR 2015 本文考虑将语义任务(即:行人属性和场景属性)和行人检测相结合, ...
- 论文阅读:Prominent Object Detection and Recognition: A Saliency-based Pipeline
论文阅读:Prominent Object Detection and Recognition: A Saliency-based Pipeline 如上图所示,本文旨在解决一个问题:给定一张图像, ...
- 论文笔记:Ten years of pedestrian detection, what have we learned?
最近正在研究行人检测,学习了一篇2014年发表在ECCV上的一篇综述性的文章,是对行人检测过去十年的一个回顾,从dataset,main approaches的角度分析了近10年的40多篇论文提出的方 ...
- 【计算机视觉】论文笔记:Ten years of pedestrian detection, what have we learned?
最近正在研究行人检测,学习了一篇2014年发表在ECCV上的一篇综述性的文章,是对行人检测过去十年的一个回顾,从dataset,main approaches的角度分析了近10年的40多篇论文提出的方 ...
- 论文笔记之: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 ...
随机推荐
- elasticsearch _bulk api
https://www.elastic.co/guide/cn/elasticsearch/guide/current/bulk.htmlbulk API 允许在单个步骤中进行多次 create . ...
- JDK1.6历史版本的下载(關於TLSv1.2)Oracle的官方文檔
[资源描述]:对于部分老项目 仍然采用的是JDK1.6 版本 但是打开官方 JDK 都是最新的 版本 想找 历史版本 不容易找到 [资源详情]:提供下载链接: http://www.oracle.co ...
- 关于安卓端 点击button时出现橙色边框
一开始我以为是安卓的原因,后来经过测试发现不是,出现这个情况应该button的outline属性生效了,但是我已经写了outline 为none,后来发现,需要写上:foucs{ outline:0 ...
- Linux设备驱动程序 之 get_free_page
get_free_page 如果模块需要分配大块的内存,使用面向页的分配会有很多优点: 分配页面可使用下面的函数: unsigned long get_zeroed_page(gfp_t gfp_ma ...
- legend3---14、所有增删改的前置操作可以是什么
legend3---14.所有增删改的前置操作可以是什么 一.总结 一句话总结: 先查询数据有没有,这样既起到了服务端验证的功能,也避免了很多增删改可能的错误 1.用户收藏视频,收藏课程有必要建立用户 ...
- Mysql mysqldumpslow命令详解
mysqldumpslow命令 /path/mysqldumpslow -s c -t 10 /database/mysql/slow-log 这会输出记录次数最多的10条SQL语句. 其中: -s, ...
- JAVA将两个byte数组合并为一个
/** * 将两个byte数组合并为一个 * @param data1 要合并的数组1 * @param data2 要合并的数组2 * @return 合并后的新数组 */ public stati ...
- C++ remove remove_if erase
#include <iostream>#include <algorithm>#include <list>#include <vector>#incl ...
- SpringBoot 2.x中为tomcat配置ssl(https)支持
参考来源:https://www.cnblogs.com/imfjj/p/9058443.html https://blog.csdn.net/jackymvc/article/details/810 ...
- JAVA 基础编程练习题49 【程序 49 子串出现的个数】
49 [程序 49 子串出现的个数] 题目:计算字符串中子串出现的次数 package cskaoyan; public class cskaoyan49 { public static void m ...