NMS(non maximum suppression),中文名非极大值抑制,主要是应用在计算机视觉中的目标检测。
由于一张图片中的待检测目标,不止一个或者靠的很近,很有必要使用NMS来将目标准确提取出来。
该应用的前提是待测目标已经被框选出来候选并已经知道置信度。如下图所示。
第一步,我们看到四个候选框,置信度分别为0.95,0.83 ,0.92,0.89
我们按照从小到大顺序排列。选择第一个框,也就是下图的红框作为候选框。
第二步,找到第二个框置信度为0.92的框,然后计算他与第一个框的重叠面积(IOU)是否一个阈值(不一定为0),如果大于该阈值,则认为两个框 框的是同一个检测目标,就将其剔除队列。很明显,该框和第一个框没有重叠面积,所以保留。依次做下去,发现0.83的框与第一个大面积重合,他们是同一个目标,所以剔除,依次类推。

第三步,如下图所示,再选择第二框继续第二步操作。
最后我们得到0.95和0.92的框。
补充说明,如下图 关于IOU,可能两个框框住了两个检测目标,但是这两个检测目标太近,导致这两个框有可能重合,所以需要合理设置IOU的阈值

NMS(非极大值抑制)的来龙去脉,简单明了相关推荐

  1. Non-Maximum Suppression,NMS非极大值抑制

    Non-Maximum Suppression,NMS非极大值抑制 概述 非极大值抑制(Non-Maximum Suppression,NMS),顾名思义就是抑制不是极大值的元素,可以理解为局部最大搜 ...

  2. 目标窗口检测算法-NMS非极大值抑制

    1. NMS(non maximum suppression)的定义和算法步骤 NMS(non maximum suppression),中文名非极大值抑制,在很多计算机视觉任务中都有广泛应用,如:边 ...

  3. 深度学习自学(三):NMS非极大值抑制总结

    非极大值抑制(Non-Maximum Suppression,NMS) 顾名思义就是抑制不是极大值的元素,可以理解为局部最大搜索.这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域 ...

  4. 目标检测中的LOU(交并比)和NMS(非极大值抑制)代码实现

    1.LOU, 两个box框的交集比上并集,示意图如下所示: 代码如下所示: #假设box1的维度为[N,4] box2的维度为[M,4] def Lou(box1, box2):N = box1.si ...

  5. 目标检测的Tricks | 【Trick9】nms非极大值抑制处理(包括变体merge-nms、and-nms、soft-nms、diou-nms等介绍)

    如有错误,恳请指出. 用这篇博客记录一下nms,也就是非极大值抑制处理,算是目标检测后处理的一个难点. 在训练阶段是不需要nms处理的,只有在验证或者是测试阶段才需要将预测结果进行非极大值抑制处理,来 ...

  6. NMS 非极大值抑制

    非极大值抑制(non maximum suppression,NMS),顾名思义就是抑制不是极大值的元素,搜索局部的极大值. 定位一个车辆时,算法可能会找出一堆候选框,为了从中找出最佳候选框,非极大值 ...

  7. yolov3 NMS非极大值抑制

    基本原理:对于Bounding Box的列表B及其对应的置信度S,采用下面的计算方式.选择具有最大score的检测框M,将其从B集合中移除并加入到最终的检测结果D中.通常将B中剩余检测框中与M的IoU ...

  8. 【概念梳理】NMS 非极大值抑制

    写在最前 本文对网上关于 NMS 的解释整理了一下 一.原理 YOLO在最后的一个步骤就是对 SxSx(Bx5+C) 个向量进行非极大值抑制(Non-max suppression),一开始不是太明白 ...

  9. NMS——非极大值抑制

    NMS(non maximum suppression),中文名非极大值抑制,在很多计算机视觉任务中都有广泛应用,如:边缘检测.目标检测等. 这里主要以人脸检测中的应用为例,来说明NMS,并给出Mat ...

  10. R-CNN-减少region proposals的数量:NMS(非极大值抑制)

    在R-CNN算法第一阶段中,selective search会产生2000个region proposals.经过svm打分后,一个物体可能就有多个框.如下图: 但是我们需要一个物体只有一个最优框(相 ...

最新文章

  1. “评IDC,送免费主机”活动,主机无任何限制,无广告
  2. 阿里二面:redis分布式锁过期了但业务还没有执行完,怎么办
  3. js模版引擎handlebars.js实用教程——为什么选择Handlebars.js
  4. 037_jQuery Ajax序列化
  5. 百度地图 IOS版开发经验分享
  6. C++ 类和对象(一):类的概念、类的访问控制和封装、类对象模型、this指针
  7. BZOJ.3265.志愿者招募加强版(费用流SPFA)
  8. 如何编写Java代理
  9. Full Tank?
  10. python-matplotlib学习(1)
  11. java排序算法之选择排序
  12. 个人DP训练(基础版)
  13. Paip.声明式编程以及DSL 总结
  14. MAC常用快捷键和命令
  15. Android十大开源框架
  16. association weak 属性
  17. 如何成为Android高手--转载
  18. 顺丰速运和顺丰快递_携手快递外卖小哥,石浦交警送上“安全大礼包”
  19. Python入门到实践(上)(牛客网题库)day2
  20. 计算机系是什么学位_您拥有计算机科学学位可以做什么?

热门文章

  1. 即时通讯-Netty篇
  2. 视频播放器Infuse PRO
  3. in作为介词的用法_介词in重要用法归纳
  4. Vulkan 基本原理
  5. 手码-在U-boot SPL 移植新的PMIC芯片驱动
  6. 机器学习实战(Machine Learning in Action)学习笔记————09.利用PCA简化数据
  7. Linux基础学习笔记(持续更新)
  8. php-win.exe 是什么,windows桌面指的是什么
  9. 关于vue-pdf插件ios端打包白屏(hbuilderx打包)
  10. GitHub · 如何创建文件夹