1.NMS
非最大抑制(Non-maximum suppression, NMS)是物体检测流程中重要的组成部分。NMS算法的大致思想:对于有重叠的候选框:若大于规定阈值(某一提前设定的置信度)则删除,低于阈值的保留。对于无重叠的候选框:都保留。根据这个设计,如果一个物体处于预设的重叠阈值之内,可能会导致检测不到该待检测物体。即当两个目标框接近时,分数更低的框就会因为与之重叠面积过大而被删掉。

举个例子,对于下图:
先假设有6个输出的矩形框,根据分类器类别分类概率做排序,从小到大分别属于车辆的概率分别为A、B、C、D、E、F。
(1)从最大概率矩形框F开始,分别判断A~E与F的重叠度IOU是否大于某个设定的阈值;
(2)假设B、D与F的重叠度超过阈值,那么就扔掉B、D;并标记第一个矩形框F,是我们保留下来的。
(3)从剩下的矩形框A、C、E中,选择概率最大的E,然后判断E与A、C的重叠度,重叠度大于一定的阈值,那么就扔掉;并标记E是我们保留下来的第二个矩形框。
就这样一直重复,找到所有被保留下来的矩形框。最终留下了C、E、F三个。

这种贪心式方法存在如下问题: 如果同一类别的2个物体距离较近,按照传统的NMS进行处理,得分稍低的物体会因为与另外一个重叠面积过大而被删掉。另一方面,NMS的阈值也不太容易确定,设小了会漏检,设置过高又容易增大误检。

2.Soft-NMS
思路:不要粗鲁地删除所有IOU大于阈值的框,而是降低其置信度,Soft NMS尤其对密集物体检测的检测效果有一定的提升作用.
Soft-NMS大致思路为:M为当前得分最高框,bi 为待处理框,bi 和M的IOU越大,bi 的得分si 就下降的越厉害。
伪代码如下:

NMS中:

Soft-NMS的改进有两种形式,:
(1)线性加权:

(2)高斯加权:

优势
它仅需要对传统的NMS算法进行简单的改动且不增额外的参数。Soft-NMS算法在标准数据集PASCAL VOC2007(较R-FCN和Faster-RCNN提升1.7%)和MS-COCO(较R-FCN提升1.3%,较Faster-RCNN提升1.1%)上均有提升。
Soft-NMS具有与传统NMS相同的算法复杂度,使用高效。
Soft-NMS不需要额外的训练,并易于实现,它可以轻松的被集成到任何物体检测流程中。

样例:
比如一张人脸上有3个重叠的bounding box, 置信度分别为0.9, 0.7, 0.85 。选择得分最高的建议框,经过第一次处理过后,得分变成了0.9, 065, 0.55(此时将得分最高的保存在D中)。这时候再选择第二个bounding box作为得分最高的,处理后置信度分别为0.65, 0.45(这时候3个框也都还在),最后选择第三个,处理后得分不改变。最终经过soft-nms抑制后的三个框的置信度分别为0.9, 0.65, 0.45。最后设置阈值,将得分si小于阈值的去掉。

Soft NMS仍然有问题:其阈值仍然需要手工设定。

参考:
https://zhuanlan.zhihu.com/p/42018282

NMS与Soft NMS相关推荐

  1. NMS、soft NMS、softer NMS与IOU-Guided NMS

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 NMS.soft NMS.softer NMS与IOU-Guided NMS 一.NMS 二.soft NMS 三.softer NM ...

  2. 目标检测中的NMS,soft NMS,softer NMS,Weighted Boxes Fusion

    NMS 非最大值抑制算法,诞生至少50年了. 在经典的两阶段目标检测算法中,为了提高对于目标的召回率,在anchor阶段会生成密密麻麻的anchor框. 所以在后处理的时候,会存在着很多冗余框对应着同 ...

  3. Soft NMS算法笔记

    原博客地址:https://blog.csdn.net/u014380165/article/details/79502197#comments 提出问题 如下图,测算法本来应该输出两个框,但是传统的 ...

  4. 交并比 (IoU), mAP (mean Average Precision), 非极大值抑制 (NMS, Soft NMS, Softer NMS, IoU-Net)

    目录 目标检测的评价指标 交并比 (Intersection of Union, IoU) mAP (mean Average Precision) 其他指标 非极大值抑制 (Non-Maximum ...

  5. nms,soft nms算法理解

    从上面这张图可以看出来nms和soft nms的算法原理: ** 经典nms的原理 **设定目标框的置信度阈值,常用的阈值是0.5左右 根据置信度降序排列候选框列表 选取置信度最高的框A添加到输出列表 ...

  6. nms修改为soft nms

    nms修改为soft nms 一,NMS与soft nms原理 先放一张论文中的图 在对上述图片中的目标进行检测过程中,使用非极大值抑制(NMS)进行筛选时只能获取到得分最高的框(得分0.95),对于 ...

  7. 卷积在计算机中实现+pool作用+数据预处理目的+特征归一化+理解BN+感受野理解与计算+梯度回传+NMS/soft NMS

    一.卷积在计算机中实现 1.卷积 将其存入内存当中再操作(按照"行先序"): 这样就造成混乱. 故需要im2col操作,将特征图转换成庞大的矩阵来进行卷积计算,利用矩阵加速来实现, ...

  8. Soft NMS论文笔记

    论文:Improving Object Detection With One Line of Code. Navaneeth Bodla*, Bharat Singh*, Rama Chellappa ...

  9. Soft NMS+Softer NMS+KL Loss

    论文1: Soft-NMS – Improving Object Detection With One Line of Code (ICCV2017) 速达>> 论文2: Softer-N ...

最新文章

  1. python中的format方法和int方法
  2. 【解答】一个电动模型,每一组电池能让其行驶8分钟,一个充电器能同时给两组电池充电,一组充满需要15分钟,至少准备(?)组电池,(?)个充电器,可以让模型每次行驶完可以立即换电池行驶不用等待。
  3. map iterator_一个简单的Map Iterator性能测试
  4. AUTOSAR从入门到精通100讲(三)-基于UDS服务的BootLoader架构和刷写流程
  5. 命令行关闭特定服务和调整服务启动方式
  6. linux系统上tftp服务器的安装配置
  7. 如何搭建运营级的网络直播平台
  8. 突然觉得一个感情空虚的人是多么的痛苦?
  9. ESP8266-Arduino编程实例-OLED显示DHT22传感器数据
  10. 字符串分割 strsep 函数
  11. GStreamer基础教程10——GStreamer工具
  12. win10和win7游戏测试软件,Win7/Win10玩游戏哪个好?实测结果意外
  13. fni matlab,使用Matlab求解Van Der Pol方程的方法研究
  14. ubuntu系统下mysql数据库的备份与恢复
  15. STC8A 应用知识归纳
  16. navcat导入mysql bak_navcat excel数据导入mysql的方法
  17. 油猴脚本*********js简单替换页面文字
  18. 高德地图Android自定义路线规划的简单实现
  19. android中如何显示图片的一部分
  20. 将十个数进行从大到小的顺序进行排列_让宝宝快速掌握相邻数,7款趣味玩教具来啦...

热门文章

  1. 【矩阵论笔记】内积空间定义、长度、Cauchy-Schwartz、三角不等式
  2. 一个细菌基因组完整分析脚本
  3. 控制app字体大小不随手机字体大小影响
  4. Linux_任务调度基本说明
  5. 3分钟录制微课,流畅高清无水印。课程录制工具哪家强?
  6. 【Unity3D插件】Inventory Pro插件分享《游戏背包系统》
  7. Linux 命令之软连接、硬连接详解
  8. cocos2d-lua:精灵帧动画的使用
  9. 如何在机器人工程培养方案中实现全栈ROS机器人工程师课程规划总结篇(2021之1024)
  10. 扒一扒程序员那些可爱的口头禅