NMS定义
在一个典型的对象检测管道中,网络会在中间层输出很多候选框proposals(Bounding Box-BB)。在这个阶段输出的BB大多数都会关联同一个检测对象,这个时候需要一个方法来合并这些BB成为一个对象检测框,除了FP之外。Non-maximum-suppression(NMS)通过空间距离结合并交比(IOU)完成聚类划分,对每个cluster只保留得分最高的BB,这种方法中文也被称着-非最大抑制。
算法实现
NMS有两种最常见的代码实现方法
两种方法实现的伪代码如下:
Greedy
Optimal
两种算法提供了不同的解决思路:
NMS超参数
两个重要的参数是score阈值与overlap阈值,任何低于score阈值的BB将会被拒绝,当两个BB的IOU大于给定的overlap阈值时候,两个检测框将会被聚类分割为同一个对象检测框。Overlap阈值需要平衡精度与抑制效果:
提升:
使用soft-NMS,在soft-NMS中score被乘以负向IOU,图示如下:
下图是基于soft-NMS实现了对部分重叠对象的成功检测:
@OpenCV学堂
版权声明
本文版权归《gloomyfish》,转载请自行联系。