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

NMS定义

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

算法实现

NMS有两种最多见的代码实现方法网络

  • 贪心算法Greedy
  • 最优解算法Optimal
    两种方法实现的伪代码以下:
    Greedy
    对象检测网络中的NMS算法实现详解
    Optimal
    对象检测网络中的NMS算法实现详解

两种算法提供了不一样的解决思路:对象检测网络中的NMS算法实现详解ide

NMS超参数

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

  • 当overlap阈值越大、proposals boxes被压制的就越少,结果就是致使大量的FP(False Positives),进一步致使检测精度降低与丢失(缘由在于对象与背景图像之间不平衡比率,致使FP增长数目远高于TP)
  • 当overlap阈值很小的时候,致使proposals boxes被压制的很厉害,致使recall大幅降低。

提高:

使用soft-NMS,在soft-NMS中score被乘以负向IOU,图示以下:对象检测网络中的NMS算法实现详解code

下图是基于soft-NMS实现了对部分重叠对象的成功检测:
对象检测网络中的NMS算法实现详解对象

本文转自it

https://medium.com/@yusuken/object-detction-1-nms-ed00d16fdcf9

由gloomyfish翻译,转载请注明出处!io

相关文章
相关标签/搜索