非极大值抑制(non-maximum suppression)的理解

简介:

最近在学习RCNN时看到了非极大值抑制,一开始有点不明白,在网上学习了之后记录一下。
非极大值抑制就是一个寻找局部最大值的过程。
在进行目标检测时一般会采取窗口滑动的方式,在图像上生成很多的候选框,然后把这些候选框进行特征提取后送入分类器,一般会得出一个得分(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、一直重复这个过程,找到所有曾经被保留下来的矩形框。
第一步寻找得分框:

image


第一次迭代找到一个:

image


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

转自:https://blog.csdn.net/xiexu911/article/details/80609298

目录
相关文章
|
存储 SQL 分布式计算
Fusion Insight大数据平台介绍
1. 概述 华为Fusion Insight是一个分布式数据处理系统,对外提供大容量的数据存储、查询和分析能力。Fusion Insight在Hadoop集群上又封装了一层,类似于开源的CDH,HDP等大数据平台。
6388 0
|
Linux 网络安全 开发工具
|
搜索推荐 算法 API
向量数据库-Milvus
Milvus 是一个开源的、高性能的向量数据库,专为海量向量数据的快速检索而设计。在人工智能、计算机视觉、推荐系统和其他需要处理大规模向量数据的领域有着广泛应用【7月更文挑战第3天】
4920 7
|
关系型数据库 数据库 MySQL
|
机器学习/深度学习 算法 计算机视觉
深度学习目标检测系列:RCNN系列算法图解
本文简要介绍图像检测中常用的深度学习方法——RCNN家族系列算法,以图像讲解形式,便于理解。
21312 1
|
SQL 关系型数据库 MySQL
|
SQL 关系型数据库 MySQL
|
安全 API iOS开发
苹果ATS(强制HTTPS)审核新政解码
1. ATS App Transport Security(ATS) 是Apple为增强iOS App网络通信安全提出的安全功能,适用于iOS App和App Extension;在启用ATS之后,它会强制应用通过HTTPS(而不是HTTP)连接网络服务。 WWDC 2016上提出,2016
31262 0
|
人工智能 前端开发 Java
阿里技术协会(ATA)10月系列精选文集
阿里技术协会优质文章集锦系列,集合了阿里技术人的知识沉淀分享,包括:JAVA核心技术、架构、人工智能、移动、前端等优质技术文章。
19975 0