对象检测网络中的NMS算法详解

4ce84d45a8620a9a82946687a2826857.png

来源:OpenCV学堂
本文约500字,建议阅读5分钟本文详解非最大抑制的两种常见算法与参数对对象检测网络的影响。

01 NMS定义

在一个典型的对象检测管道中,网络会在中间层输出很多候选框proposals(Bounding Box-BB)。在这个阶段输出的BB大多数都会关联同一个检测对象,这个时候需要一个方法来合并这些BB成为一个对象检测框,除了FP之外。Non-maximum-suppression(NMS)通过空间距离结合并交比(IOU)完成聚类划分,对每个cluster只保留得分最高的BB,这种方法中文也被称着-非最大抑制。

f7c019a49b53cc5feb071feac91349fc.jpeg

02 算法实现

NMS有两种最常见的代码实现方法:

贪心算法Greedy

最优解算法Optimal

两种方法实现的伪代码如下:

Greedy

cc75909dd78b4a96d3271e4f827b518d.jpeg

Optimal

3523d8a7c3f5325907998dc3b63148a5.jpeg

两种算法提供了不同的解决思路:

e23dbc931f1019724c61028b385c0961.jpeg

03 NMS超参数

两个重要的参数是score阈值与overlap阈值,任何低于score阈值的BB将会被拒绝,当两个BB的IOU大于给定的overlap阈值时候,两个检测框将会被聚类分割为同一个对象检测框。Overlap阈值需要平衡精度与抑制效果:

a53339be9d8ccdadef686c0cb84dc40d.png

提升:

使用soft-NMS,在soft-NMS中score被乘以负向IOU,图示如下:

3b1e227502b09c31fc98784644fe929f.jpeg

下图是基于soft-NMS实现了对部分重叠对象的成功检测:

32b50cff9dee337ebfe6e6df6db574dc.jpeg

编辑:于腾凯

677c6a6696ab5b5a5e0339b8e51ca98a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值