当前位置: 首页 > news >正文

06-NMS非极大值抑制:去重、重叠框筛选原理与优化

NMS非极大值抑制:去重、重叠框筛选原理与优化

作者:黒漂技术佬

一、为什么需要NMS?

假设你在无人售货柜里放了一瓶可乐,YOLO模型扫了一眼,输出结果让你哭笑不得——同一瓶可乐被画了七八个框,每个框都信心十足地写着"可乐 0.95"、“可乐 0.93”、“可乐 0.91”……

这不是模型眼花了,恰恰相反,这是模型"太认真"的结果。网格划分时相邻格子都可能对同一目标产生响应,加上锚框的尺寸冗余,最终就会产生大量高度重叠的候选框。这种现象在密集场景(比如货柜里挤满饮料瓶)尤其严重。

NMS(Non-Maximum Suppression,非极大值抑制)就是来解决这个"一物多框"问题的。它的核心思路简单到粗暴:在同一目标的一堆候选框里,只留一个最好的,其余全部干掉。

二、NMS标准算法流程

来看看NMS是怎么干活的:

  1. 按置信度排序——把所有检测框按Score(置信度分数)从高到低排好队
  2. 挑大佬——取出当前分数最高的框A,把它请进"最终保留区"
  3. 算IoU,踢小弟——遍历剩余所有框,计算它们与大佬框A的IoU(交并比),超过阈值的统统视为"同一目标",直接删除
  4. 循环往复——从剩下的框中再挑分数最高的,重复步骤2-3,直到没有框为止

用伪代码表达就是:

defnms(boxes,scores,iou_threshold):""" boxes: 候选框列表,每个框为 [x1, y1, x2, y2] scores: 每个框的置信度分数 iou_threshold: IoU阈值,超过即视为重叠 """# 按分数降序排列,拿到索引order=scores.argsort
http://www.jsqmd.com/news/1356710/

相关文章:

  • 科技逆向外语|20260801
  • GinWAF防火墙系统 V1.0.1 安装教程(Ubuntu 18~24 通用,推荐 Ubuntu 24.04|4H4G~16H32G)
  • SkyWalking Agent性能测试与优化实践
  • 基于LLM的个人财务助手开发实战:从MIT研究到代码实现
  • 微信电脑登录「同网络验证」失败 — 深度排查复盘
  • DevOps SRE 面试真题仓库深度解读:用真实战场替代「Top 50」填充题
  • RSA加密基础攻击与CTF解题实战指南
  • Vue 3.4 实战:从零搭建生产级业务组件库的完整指南
  • Unity零停机热更新实战:GameFramework与YooAsset集成方案
  • 从CTF到实战:命令注入漏洞绕过escapeshellcmd与黑名单的深度解析
  • 2026年华南城货运园区怎么选?这份有实力的园区推荐指南请收好 - 装修教育财税推荐2026
  • Beremiz开源PLC企业级架构深度解析:从IEC标准到分布式控制
  • Tika--通用的文件解析工具
  • C语言字符串处理与内存管理详解
  • 05 DQSG
  • Windows驱动管理新利器:Driver Store Explorer 完全指南
  • Codex接入第三方API:低成本调用GPT-5.6等大模型实战指南
  • OpenClaw与飞书对接实战:自动化流程引擎集成指南
  • 8年Java老兵转Agent开发一年,悟了:企业真正缺的不是会框架的人,而是能落地产品的人!
  • RedPanda-CPP项目模板:打造高效C/C++开发工作流
  • 智谱清华唐杰:LLM Memory最新全景综述
  • Unity URP半透明UI模糊背景:Dual Blur算法与Render Texture实战
  • 2026 年新发布:卢湾优秀的冷却塔回收施工公司哪家好,工厂淘汰的那台“烫手铁疙瘩”,居然靠这个赚了一笔,多数人还没发现门道 - 企业推荐官-
  • 2026年轻食创业推荐:蔬三时招商模式深度解析 - 装修教育财税推荐2026
  • 从VS Code到Cursor:AI原生编程副驾驶如何重塑开发效率
  • Linux终端记忆栏:提升运维效率的终极工具
  • 西门子S7-1200 PLC在码垛机自动化控制中的应用与实践
  • 数字绘画拆解学习法:从“绝对小丑爱音”案例掌握角色设计核心技法
  • 如何高效使用C++ Excel库:OpenXLSX的5个实用技巧与最佳实践
  • 把零信任落到代码:可运行的策略决策点(PDP)与网络微分段