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

记录一下对非极大值抑制的理解。

非极大值抑制法

   顾名思义,是在抑制不是极大值的元素,即搜索一个局部最大值。

在目标检测中应用比较广泛。对一个目标而言,算法对该目标肯产生多个候选框,每个框对应一个score,将这些score全部排序,选出得分最大的一个,再用其他框与当前最大的框计算其重叠程度,就是常说的iou,当大于某个阈值,比如0.5时,将这些大于阈值0.5的框删除,只保留score最大的一个框,因此就是抑制了不是极大值的框,即非极大值抑制。。

单个目标和多目标

若只有一个目标,直接选取得分最大的框即可,若有多个目标,NMS算法会迭代的进行选择,保留每个目标的得分最大框。
假设图中有两个人脸待检测,首先对现有的框按score的大小进行排序,选出得分最大的一个框,通过计算iou,将大于某个阈值的几个非极大值的框删除,并标记第一个框,是最终保留下来的;然后在剩下的框中,继续按照之前的方法,选出score最大的框,计算iou,将大于某个阈值的框删除。这样不断迭代,就可以对多目标进行检测。

假设有6个得分框,分别按从score从小到大记A,B,C,D,E,F,
(1)选出当前最大的得分框F,计算剩下的框与F的iou,选出大于某个阈值的框,如A,B,然后将A,B删除,标记现在所选择的框F
(2)在剩下的框中C,D,E中,选出score最大的框E,计算C,D与E之间的iou,将大于某个阈值的框删除,标记现在选择的框E
(3)不断重复该过程,就可以得到所需要的框

如图,共有如下5个得分框,有两个人脸待检测,按score大小从小到大排序,为0.67,0.75,0.81,0.83,0.98!

在这里插入图片描述

首先选出score最大的框,即得分为0.98的红框,计算剩余框与它的iou,将大于某阈值的框删除,在图中可以看出,删除的框是得分为0.75和0.83的框。标记0.98的得分框。
在这里插入图片描述

在这里插入图片描述
在剩余的两个框中,继续按照之前的方法进行操作,即可得出另一个所需要的框。

在这里插入图片描述
小白理解,如有错误请指正。

参考https://blog.csdn.net/shuzfan/article/details/52711706

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值