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

【目标检测】NMS算法的理论讲解

将NMS就必须先讲IOU,
在这里插入图片描述
IOU就是交并比,两个检测框的交集除以两个检测框的并集就是IOU

为什么要做NMS操作,因为要去除同一个物体的多的冗余检测框
在这里插入图片描述

那么NMS算法是如何做的呢?
在这里插入图片描述
以上是算法的流程图
下面讲解算法的流程
首先输入是预测框的集合B,置信度分数S,IoU的阈值 τ \tau τ,以及置信度的阈值T
①首先我们创建一个过滤后的检测框的集合F
将这个集合设为空集进行初始化
②根据置信度的阈值过滤已有的预测框,根据我们设置的置信度的阈值T,假设我们现在设置阈值T为0.7,那么现有的置信度小于0.7的检测框就都被排除掉了,剩下的大于0.7的才能入选到预测框的集合B中去。
在这里插入图片描述
比如对于上面这张图,设置置信度阈值为0.7的话,这个左边的置信度为0.3的检测框就不可能作为B集合中的一部分了。
③对于入选B集合的检测框,我们按照置信度分数进行排序,因为如果要保留检测框,肯定是希望保留置信度更高的。
④做一个while循环,只要B集合不为空
⑤从B集合中选择置信度最高的检测框b,放到我们最终需要的返回结果F集合中,b肯定有冗余框,但是不要紧,为什么呢?因为b是置信度分数最高的,就算要删除冗余框,b也是会被保留下来的。
⑥对于B集合中剩下的检测框,我们逐个将其与b做IoU的计算,这个计算结果只要大于IoU的阈值 τ \tau τ,就可以视作是b的冗余检测框,从B中删除
循环重复上面的过程,直至B变为一个空集合

http://www.lryc.cn/news/326016.html

相关文章:

  • 3-iperf3 使用什么工具可以检测网络带宽、延迟和数据包丢失率等网络性能参数呢?
  • 阳光倒灌高准直汽车抬头显示器HUD太阳光模拟器
  • jdk11中自定义java类在jvm是如何被查找、加载
  • 单片机---独立按键
  • java分布式面试快问快答
  • AI:148-开发一种智能语音助手,能够理解和执行复杂任务
  • Kindling the Darkness:A Practical Low-light Image Enhancer
  • 图像处理与视觉感知---期末复习重点(4)
  • ABAP AMDP 示例
  • 发票查验接口C++语言如何集成、发票OCR
  • 【图论 | 数据结构】用链式前向星存图(保姆级教程,详细图解+完整代码)
  • 【蓝桥杯3.23小白赛】(详解)
  • 设计模式之抽象工厂模式精讲
  • 初识云原生、虚拟化、DevOps
  • 怎麼實現Nginx反向代理?
  • IOS面试题编程机制 71-75
  • JMeter元件作用域和执行顺序
  • Jmeter 聚合报告之 90% Line 正确理解
  • 2024 解决 Failed to launch process [ElasticSearch]
  • 平台介绍-搭建赛事运营平台(4)
  • 系列学习前端之第 7 章:一文掌握 AJAX
  • iOS - Runtime - Class的结构
  • MySQL高阶语句(一)
  • MySQL知识总结
  • Go-Gin-Example 第八部分 优化配置接口+图片上传功能
  • 阿里云国际DDoS高防的定制场景策略
  • v4l2采集视频
  • Spring Cloud 八:微服务架构中的数据管理
  • Chrome/Edge 使用 Markdown Viewer 查看 Markdown 格式文件
  • flutter 弹窗之系列一