NMS(non maximum suppression),中文名非极大值抑制,在很多计算机视觉任务中都有广泛应用,如:边缘检测、目标检测等。通常情况下算法产生的预选框会有很多个,但实际上只需要不同物体上最好的一个框就够了。NMS算法就是为了抑制这些冗余的框而设计的算法。
NMS 原理
对于矩形框的列表H及其对应的置信度S,建造一个存放待处理候选框的集合H,初始化为包含全部N个框;建造一个存放最优框的集合M,初始化为空集。
1.将所有集合 H 中的框进行排序,选出置信度分数最高的框 S,从集合 H 移到集合 M;
2.遍历集合H中的框,分别与框M计算交并比(Interection-over-union,IoU),如果高于某个阈值(一般为0~0.5),则认为此框与M重叠,将此框从集合 H 中去除。
3.回到第1步进行迭代,直到集合 H 为空。集合 M 中的框为我们所需。重叠率(重叠区域面积比例IOU)阈值:常用的阈值是 0.3 ~ 0.5,
可以使用交叉验证来选择最优的参数
Reference