非极大抑制(Non-max suppression,NMS)算法

非极大抑制(Non-max suppression,NMS)算法
在这里插入图片描述
目标检测算法会生成很多候选框,这时我们要将多余的候选框去除,如上图,这就要用到NMS算法。

以YOLOV1举例,对于YOLOv1而言,网络最终会生成98个候选框。

代码中的做法是:对98个候选框进行筛选,先删除confidence小于0.1的,再对每个候选框分别计算score,score为confidence*最大类别概率,删除score<0.1的,得到剩余候选框列表L后再进行下一步NMS处理

先取L中score最大的候选框,然后删除L中与其IOU>0.5的候选框。再选取L中score次大的候选框,然后删除L中与其IOU>0.5的候选框。以此类推,同样的方法遍历一遍L,最终将剩余的候选框作为NMS算法的结果返回,类别即为该候选框类别概率最大的类。算法中使用到的阈值可进行调整。

极大抑制Non-Maximum Suppression,NMS算法是一种用于目标检测中的方法,它的主要原理是抑制不是极大值的元素,从而选择具有最高置信度的边界框。NMS算法的目的是消除多余的窗口,找到最佳物体检测位置。 NMS算法的基本思想是,在目标检测过程中,检测器会生成多个候选边界框,每个边界框都有一个对应的置信度分数。为了选择最佳的边界框,NMS算法会先按照置信度对边界框进行排序,然后从置信度最高的边界框开始,逐个比较其它边界框。 具体步骤如下: 1. 对所有候选边界框按照置信度进行降序排序。 2. 选择置信度最高的边界框作为初始边界框,并将其添加到最终的结果列表中。 3. 逐个比较当前边界框与其它边界框的重叠程度。如果重叠程度高于预设的阈值(例如IoU阈值),则将该边界框剔除,否则将其添加到最终的结果列表中。 4. 重复步骤3,直到所有的边界框都被比较完毕。 5. 最终,最终的结果列表中只保留了置信度最高且没有被剔除的边界框,即为NMS算法的输出结果。 通过这种方式,NMS算法能够有效地消除重复的边界框,只保留具有最高置信度的边界框,从而提取出目标检测中分数最高的窗口。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [目标检测中NMS极大抑制)原理解析](https://blog.csdn.net/weixin_61961691/article/details/129415238)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值