在目标检测中应用的多,实际上只要涉及到类似的数据处理问题,都可以用非极大值抑制方法。

一、在基于深度学习(各种CNN)模型的目标检测案例中出现的较多,还涉及到IoU(交并比的概念)。参考了这篇博客:https://blog.csdn.net/xiexu911/article/details/80609298

非极大值抑制就是一个寻找局部最大值的过程。(数据结构中的查找或者排序的类似思想,需要迭代方法)

在进行目标检测时一般会采取窗口滑动的方式,在图像上生成很多的候选框,然后把这些候选框进行特征提取后送入分类器,一般会得出一个得分(score),比如人脸检测,会在很多框上都有得分,然后把这些得分全部排序。选取得分最高的那个框,接下来计算其他的框与当前框的重合程度(iou),如果重合程度大于一定阈值就删除,因为在同一个脸上可能会有好几个高得分的框,都是人脸但是不需要那么框我们只需要一个就够了。

那么肯定有人会好奇,如果图片中有好几个人脸,你这选取一个最大的,那第二个人脸怎么办呢。

实际上这是一个迭代的过程,第一步的非极大值抑制就是选取了某一个最大的得分,然后删除了他周边的几个框,第二次迭代的时候在剩下的框里面选取一个最大的,然后再删除它周围iou区域大于一定阈值的,这样不停的迭代下去就会得到所有想要找到的目标物体的区域。

假设有ABCDEF这么多个得分框(已经按照得分从小到大排序)。

1、从最大概率矩形框F开始,分别判断A~E与F的重叠度IOU是否大于某个设定的阈值;

2、假设B、D与F的重叠度超过阈值,那么就扔掉B、D;并标记第一个矩形框F,是我们保留下来的。

3、从剩下的矩形框A、C、E中,选择概率最大的E,然后判断E与A、C的重叠度,重叠度大于一定的阈值,那么就扔掉;并标记E是我们保留下来的第二个矩形框。

4、一直重复这个过程,找到所有曾经被保留下来的矩形框。

第一步寻找得分框:

第一次迭代找到一个:

第二次迭代找到另外一个:

参考:https://blog.csdn.net/shuzfan/article/details/52711706

https://blog.csdn.net/zchang81/article/details/70211851

二、在激光slam中提取角点特征的时候也可以用到

参考了这篇论文: [1]满增光,叶文华,肖海宁,钱晓明.从激光扫描数据中提取角点特征的方法[J].南京航空航天大学学报,2012,44(03):379-383.

数学--数据处理--非极大值抑制(NMS)相关推荐

  1. MTCNN中的重叠度IOU和非极大值抑制NMS原理及Python实现

    MTCNN中的重叠度IOU和非极大值抑制NMS原理及Python实现 一.重叠度iou 从在一张照片上框人脸时,因为图像金字塔的原因可能会把人脸框两次以上,每个框的坐标为[X1,Y1X2,Y2,C], ...

  2. PyTorch实现非极大值抑制(NMS)

    NMS即non maximum suppression即非极大抑制,顾名思义就是抑制不是极大值的元素,搜索局部的极大值.在最近几年常见的物体检测算法(包括rcnn.sppnet.fast-rcnn.f ...

  3. 【目标检测系列】非极大值抑制(NMS)的各类变体汇总

    关注上方"深度学习技术前沿",选择"星标公众号", 技术干货,第一时间送达! [导读]前面已经先后为大家详细介绍过了目标检测领域的基础知识:[目标检测基础积累] ...

  4. 风机桨叶故障诊断(七) 滑动窗与非极大值抑制NMS

    风机桨叶故障诊断(七)滑动窗与非极大值一直NMS 到目前为止,我已经利用自编码神经网络提取特征后训练得到了BP神经网络(参见:点击打开链接),且在测试样本集上表现不错.下面我们就要应用到实际中来检验算 ...

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

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

  6. Opencv学习笔记(二十六)文本检测mser+非极大值抑制nms

    文章目录 mser检测 nms非极大值抑制 代码 mser检测 nms非极大值抑制 代码 import cv2 import matplotlib.pyplot as plt import numpy ...

  7. 非极大值抑制(nms)算法详解[python]

    一.起源 目标检测在使用了基于深度学习的端到端模型后效果斐然.目前,常用的目标检测算法,无论是One-stage的SSD系列算法.YOLO系列算法还是Two-stage的基于RCNN系列的算法,非极大 ...

  8. YOLOv5改进之八:非极大值抑制NMS算法改进Soft-nms

    ​前 言:作为当前先进的深度学习目标检测算法YOLOv5,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法.此后的系列文章,将重点对YOLOv5 ...

  9. 非极大值抑制NMS的python实现

    NMS的python实现 原文http://blog.csdn.net/ei1990/article/details/78203476 1.NMS(Non-Maximum Suppression)  ...

最新文章

  1. oracle 数据精度转换,oracle数据值型数据改精度测试
  2. 西安电子科技大学计算机接口与通用技术答案,西安电子科技大学--西电《计算机接口与通信技术》平时作业...
  3. 54万奖金+百度地图海量业务数据集,智能交通CV赛题来了
  4. 手工卸载oracle,升级和卸载Oracle数据库软件的命令整理
  5. keras模型中的默认初始化权重
  6. linux消息框架,远程处理器消息框架 - 基于Linux 简化 AMP 配置使其更方便更动态地分配资源...
  7. js获取当前月的第一天和最后一天
  8. python隐式调用_c#隐式调用python_C#调用python脚本样例
  9. iOS开发最新之CocoaPods环境配置教程
  10. 20200812每日一句
  11. 华为内部经典项目管理体系
  12. 模式分解的无损性判断
  13. Docker安装ElasticSearch 版本7.6.2
  14. App集成ApplePay
  15. 创新、协调、绿色、开放、共享”五大发展理念整体上是一个彼此之间有联系、成结构的体系,是统一的,而从个体上来说,他们之间是相互促进、相互依赖、相互作用、相互对立的,这恰恰体现出辩证法物质世界的普遍联系和
  16. zyt-Linux云计算
  17. 叶檀:别上了美国人的当 加息会给中国致命一击
  18. XTP dockingpane的使用方法
  19. Ubuntu简单使用操作
  20. imx8的源码开发方式非yocto方式(三)——基于imx8的firmware-imx固件包下载与解压

热门文章

  1. 数据挖掘在企业中应用的四种途径
  2. charles 安装 ssl_charles抓包配置
  3. 年月日_C++计算输入的年月日是这一年的第几天
  4. python文本关键词匹配_NLP利剑篇之模式匹配
  5. 英文期刊论文写作工具入门
  6. 无障碍开发(五)之设置获取无障碍属性值
  7. get与post请求问题
  8. MySQL存储引擎比较
  9. python 之 字符编码 和 中文显示
  10. ---Android源码的下载单独的git库的方法