非极大值抑制(Non-Maximum Suppression,简称 NMS)

news2024/11/28 3:50:00

        本文为专栏《Python三维点云实战宝典》系列文章,专栏介绍地址“【python三维深度学习】python三维点云从基础到深度学习_python3d点云从基础到深度学习-CSDN博客”。配套书籍《人工智能点云处理及深度学习算法》提供更加全面和系统的解析。

         非极大值抑制(Non-Maximum Suppression,简称 NMS)是目标检测中常用的一种算法,用于在重叠区域存在多个候选框时,选择置信度最高的候选框,抑制其他低置信度候选框的过程。NMS算法是一种简单而有效的方法,可以帮助我们提高检测的准确性和效率,因此在目标检测中被广泛使用。

图片来源:https://blog.csdn.net/mechleechan/article/details/88365039

        NMS算法的核心思想是,对于一个目标,它只能被一个候选框所包含,因此对于重叠的多个候选框,我们需要选择置信度最高的一个来表示该目标的位置。具体来说,NMS算法包括以下几个步骤:

  1. 根据预测框的置信度进行排序:对于每一个预测框,我们都会有一个置信度分数,表示这个框里面包含目标的概率。我们将所有的预测框按照置信度从高到低进行排序,这样置信度最高的预测框就排在最前面。
  2. 选择置信度最高的预测框,并将其加入最终的检测结果列表中。
  3. 去除与已选框重叠度较高的其他预测框:从排在第二位的预测框开始,与已选框的重叠度计算,若重叠度大于一定阈值,则将该预测框从候选框列表中删除,否则将其加入最终的检测结果列表中。
  4. 重复步骤3,直到所有的预测框都被遍历完毕。

        NMS算法通过不断选择置信度最高的预测框,并删除与其重叠度较高的其他预测框,最终得到了一组准确的、无重叠的目标检测结果。

        NMS算法在目标检测中的应用场景非常广泛,包括人脸检测、2D/3D物体检测、行人检测等等。实际应用中模型检测结果往往存在多个候选框重叠的情况,例如人脸检测中同一张图片中可能存在多个人脸,而这些人脸的候选框可能会出现重叠的情况。使用NMS算法可以帮助我们从多个候选框中选择置信度最高的候选框,减少重复检测,提高检测准确率。

        除了在目标检测中的应用外,NMS算法还可以应用在其他领域中,例如图像分割、文本识别等。在图像分割中,NMS算法可以用于消除分割结果中的重复区域,提高分割的准确性。在文本识别中,NMS算法可以用于消除重叠的字符框,从而得到准确的文本识别结果。

        除了传统的NMS算法,近年来还出现了一些改进的NMS算法。其中,Soft-NMS算法是一种比较流行的改进算法,它采用了一种渐进式的抑制方法,即不是直接删除重叠区域内的预测框,而是将其置信度逐步降低。这种方法可以避免一些本应该被保留的预测框被错误地删除,从而提高了检测的准确性。另外,基于深度学习的一些目标检测算法,如Faster R-CNN、YOLO等,也采用了类似NMS的算法来处理重叠的预测框。

更多python与C++技巧、三维算法、深度学习算法总结、大模型请关注我的博客,欢迎讨论与交流:https://blog.csdn.net/suiyingy,或”乐乐感知学堂“公众号。Python三维领域专业书籍推荐:《人工智能点云处理及深度学习算法》。

  本文为专栏《Python三维点云实战宝典》系列文章,专栏介绍地址“【python三维深度学习】python三维点云从基础到深度学习_python3d点云从基础到深度学习-CSDN博客”。配套书籍《人工智能点云处理及深度学习算法》提供更加全面和系统的解析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2062621.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

揭开数字化转型的神秘面纱

​在当今快速发展的时代,数字化转型已成为众多企业和组织追求的目标。然而,对于许多人来说,数字化转型仍然笼罩着一层神秘的面纱。本研究报告旨在揭开数字化转型的神秘面纱,深入探讨其内涵、重要性以及实施策略。 一、数字化转型的…

开始尝试从0写一个项目--后端(四)

借出,归还,管理 学生和管理员登录分离 学生登录到用户界面 管理员到后台 后台和用户分离 添加代码 sems-server/src/main/java/com/ljc/controller/user/UserStudentController.java package com.ljc.controller.user;import com.ljc.constant.Jwt…

【PyCharm】配置“清华镜像”地址(pip源)

文章目录 前言一、清华镜像是什么?二、pip是什么?三、具体步骤1.复制镜像地址2.打开PyCharm,然后点击下图红框的选项3.在弹出的新窗口点击下图红框的选项进行添加4.在URL输入框中粘贴第一步复制的地址,名字可以不更改,…

leetcode371. 两整数之和,位运算

leetcode371. 两整数之和 给你两个整数 a 和 b ,不使用 运算符 和 - ​​​​​​​,计算并返回两整数之和。 示例 1: 输入:a 1, b 2 输出:3 示例 2: 输入:a 2, b 3 输出:5 …

【Axure高保真原型】中继器表格——标签使用情况案例

今天和大家分享中继器表格——标签使用情况案例的原型模板,效果包括: 模糊搜索——输入标签编号或者标签名称,可以快速查找对应的数据 排序——点击排序按钮,可以按升序或降序排列 分页——点击上拉列表,可以选择表格…

gpu压力测试工具----gpu_burn的使用

背景: 我们平时想做gpu的压力测试,需要一个简单的可以一键执行的工具来测试,主要要来打满gpu的使用率和显存,这里以8卡4090机器为测试机,驱动版本550.54.14,cuda版本12.3。 开源方案: gpu-burn一…

oauth2.0学习

一、授权码模式 时序图 1、用户访问第三方服务,如果用到需要授权服务提供授权的资源,第三方服务生成获取授权码请求(附带回调地址和用户在授权服务的确认身份的信息)并页面发起请求 2、第三方授权服务根据请求生成对应的登录地址…

c++ 谷歌的招聘 题解

题目描述 2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘 内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 1010 位素数,这个素数是自然常数 e 中最早出现的 10 位连续数字 能找出这个素数的人,就可以通过访问谷歌的这个网站进…

MySQL 亿级数据平滑迁移实战

作者:来自 vivo 互联网服务器团队- Li Gang 本文介绍了一次 MySQL 数据迁移的流程,通过方案选型、业务改造、双写迁移最终实现了亿级数据的迁移。 一、背景 预约业务是 vivo 游戏中心的重要业务之一。由于历史原因,预约业务数据表与其他业务…

springcloud集成seata实现分布式事务

Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 官网:Apache Seata 文章目录 一、部署1.下载2.修改配置,nacos作注册中心,db存储 二、集成到springcloud项目1.引入依赖2.修改…

go设计模式——单例模式

概念 单例是一种创建型设计模式,它确保一个类在整个程序运行期间只有一个实例,并提供一个全局访问点来使用该实例。虽然单例模式在某些情况下非常有用,例如管理全局配置、日志记录或资源共享,但它也带来了与全局变量相似的问题。…

【CSS】什么是1px问题,前端如何去解决它,如何画出0.5px边框?

1px 问题概述 在移动端开发中,1px 的边框在高 DPI 屏幕上可能会显得过粗,这是因为移动设备的像素密度(DPI)通常比传统的计算机屏幕高。在高 DPI 屏幕上,1px 实际上可能会被渲染为 2px 或更多,这使得边框看…

华为手机换ip地址怎么换?手机换ip地址有什么影响

在数字化时代,网络已成为我们生活中不可或缺的一部分。无论是日常沟通、工作学习还是娱乐休闲,我们都离不开互联网。然而,随着网络安全问题的日益突出,如何保护个人隐私和信息安全成为了用户关注的焦点。更换手机IP地址作为提升网…

Vue3+Vite 解决“找不到模块“@/components/xxx.vue”或其相应的类型声明 ts(2307)”

1. 安装插件 pnpm i types/node -D2. 修改vite.config.ts文件 import path from path;resolve: {alias: {"": path.resolve(__dirname,"./src"),},},3. 修改tsconfig.app.json文件 别人教的都是修改tsconfig.json文件,但是我发现可能是因为版…

NVF04M录音芯片在宠物喂食器的应用:录音播放功能,内置SPI闪存

在现代社会中,宠物已经成为人们生活中的一部分,而宠物喂食器作为宠物养护的重要工具,也越来越受到人们的关注。为了满足人们对宠物喂食器的多样化需求,九芯电子供应商研发了一款NVF04M录音芯片。它在宠物喂食器中的作用主要是提供…

巧用PDF转Markdown插件,在扣子(Coze)手搓一个有趣好玩的AI Bot

近期,TextIn团队开发的PDF转Markdown插件已经上架Coze平台。 短短的时间内,已经有不少朋友愉快地和我们的工具开始玩耍。今天我们抛砖引玉,介(an)绍(li)几种PDF转Markdown插件的有趣玩法&#…

通用情商智商性格测试ACCESS\EXCEL数据库

今天这个数据库记录数不太多,是个可以进行智商和情商测试的数据,也可以体验比较有趣的测试体验,整个测试主要是以回答不同方面的问题来分析的。智商测试和情商测试均采用国际标准试题,采用国际标准测试题目,通过回答不…

多模态模型评测框架lmms-eval发布!全面覆盖,低成本,零污染

随着大模型研究的深入,如何将其推广到更多的模态上已经成为了学术界和产业界的热点。最近发布的闭源大模型如 GPT-4o、Claude 3.5 等都已经具备了超强的图像理解能力,LLaVA-NeXT、MiniCPM、InternVL 等开源领域模型也展现出了越来越接近闭源的性能。 在…

NSSM 注册exe服务

参考链接:https://www.cnblogs.com/magicMaQaQ/p/18174409 下载NSSM:[NSSM - the Non-Sucking Service Manager](NSSM - the Non-Sucking Service Manager) 解压得到的压缩包 使用管理员权限运行 cmd,来到解压后的目录,执行nssm…

信息学奥赛知识点(十二)----栈和队列

一、栈 栈是只能在某一端插入和删除的特殊线性表。 用桶堆积物品,先堆进行的压在底下,随后一件一件往上堆。取走时,只能从上面一件一件取。堆和取都在顶部进行。底部一般是不动的。 栈就是一种类似桶堆积物品的数据结构,进行删…