非极大值抑制(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 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
1519 3
|
消息中间件 分布式计算 安全
这一次,彻底弄懂ZooKeeper协议
ZooKeeper是动物园的意思,在2012年官方来给ZooKeeper写了这么一段有趣的“ZooKeeper之道”,难怪ZooKeeper现在发展得这么好。动物园管理员对他们负责的动物和参观动物的游客都尽心尽力。他们遵循一套守则,至今只有同行才知道,这套守则可以保证动物和游客的安全。大家好,我是南哥。一个Java学习与进阶的领路人,相信对你通关面试、拿下Offer进入心心念念的公司有所帮助。
364 6
这一次,彻底弄懂ZooKeeper协议
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp微信小程序的健身房私教预约系统的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的健身房私教预约系统的详细设计和实现
165 0
|
分布式计算 Hadoop 关系型数据库
Hadoop学习笔记(HDP)-Part.13 安装Ranger
本文详细介绍了在HDP集群中安装与配置Ranger的全过程,涵盖服务安装、插件启用、用户同步、权限及联合授权测试、审计日志查看,并通过HAProxy实现Ranger高可用部署,保障数据安全与系统稳定。
773 0
|
应用服务中间件 nginx
Nginx服务器的反向代理proxy_pass配置方法讲解
 Nginx服务器的反向代理proxy_pass配置方法讲解 这篇文章主要介绍了Nginx服务器的反向代理proxy_pass配置方法讲解,包括经常被提到的url的/问题的相关说明,需要的朋友可以参考下 就普...
5658 0
|
SQL 运维 Cloud Native
核心应用实现云原生改造升级,波司登数字化战略加速落地
波司登通过阿里云AMS服务,用一年时间实现核心系统云原生化改造,大幅提升了系统的性能、稳定性以及敏捷性,订单处理峰值达到50万单每小时,顺利扛过双十一流量洪峰,线上零售额在疫情冲击下逆势同比增长66%以上。
|
存储 C++
【C生万物】 指针篇 (进级) 00(一)
【C生万物】 指针篇 (进级) 00
145 0
|
前端开发 JavaScript Java
基于Java的汽车租赁系统
该系统为汽车租赁,框架为采用SSH(Struts,Spring,Hibernate),核心功能:前端用户注册登陆后,可以查看汽车详情,挑选成功后,根据租车时间下单,后台管理员登陆后审核订单,用户到店后取车用完后归还,完全交易。除此之外,用户端和管理端还有其它功能。
基于Java的汽车租赁系统
|
Ubuntu
虚拟机和主机之间一系列工具包,开启双向复制粘贴后导致的内存占用问题
虚拟机和主机之间一系列工具包,开启双向复制粘贴后导致的内存占用问题
304 0
虚拟机和主机之间一系列工具包,开启双向复制粘贴后导致的内存占用问题
|
监控 Java Docker
Spring Cloud构建微服务架构:服务容错保护(Hystrix依赖隔离)【Dalston版】
Spring Cloud构建微服务架构:服务容错保护(Hystrix依赖隔离)【Dalston版】
178 0
Spring Cloud构建微服务架构:服务容错保护(Hystrix依赖隔离)【Dalston版】