非极大值抑制
Non-Maximum Suppression(NMS)非极大值抑制。从字面意思理解,抑制那些非极大值的元素,保留 极大值元素。其主要用于目标检测,目标跟踪,3D重建,数据挖掘等。
而在目标检测的领域中,由于单一物体会存在多个重复识别框,为了避免单一物体出现多个识别框,此时 我们需要引入NMS算法进行过滤,实现将最高置信度的物体识别框进行输出。从而确保最终我们的输出 符合我们预期的效果要求。
传统算法逻辑
单一分类逻辑

1.「确定是物体集合」= {空集合}
- Run 1: 先将BBox依照置信度排序,置信度最高的BBox (红色) 会被选入「确定是物体集合」內,其他BBox会根据这步骤选出最高的BBox进行IoU计算,如果粉红色的IoU为0.6大于我们设定的0.5,所以将粉红色的BBox置信度设置为0。 此时「确定是物件集合」= {红色BBox }
- Run 2: 不考虑置信度为0和已经在「确定是物体集合」的BBox,剩下來的物体继续选出最大置信度的BBox,将此BBox(黄色)丟入「确定是物体集合」,剩下的BBox和Run2选出的最大置信度的BBox计算IoU,其他BBox都大于0.5,所以其他的BBox置信度設置为0。 此时「确定是物件集合」= {红色BBox; 黄色BBox}
- 因为沒有物体置信度>0,所以结束NMS。 「确定是物件集合」= {红色BBox; 黄色BBox}。
多分类逻辑

前面的范例一是标准的NMS程序,这边要搭配一下分类来看,范例二和标准NMS做法一样,先将「确定是物件集合」选出来,此例是NMS选出的BBox是{紫色BBox ; 红色BBox}。
这时候再搭配一下分类的机率,就可以把每个NMS选出的BBox做类别判断了如上图,每个BBox都会带有一组机率
Soft-NMS
概述
对于IOU≥NMS阈值的相邻框,传统NMS的做法是将其得分暴力置0,相当于被舍弃掉了,这就有可能造成边框的漏检,尤其是有遮挡的场景。 Soft-NMS对IOU大于阈值的边框,Soft-NMS采取得分惩罚机制,降低该边框的得分,即使用一个与IoU正相关的惩罚函数对得分进行惩罚。 「当邻居检测框b与当前框M有大的IoU时,它更应该被抑制,因此分数更低。而远处的框不受影响。」
其主要分为两种类型的,既线性衰减型(不连续,会发生跳变,导致检测结果产生较大的波动)与指数高斯型(更为稳定、连续、光滑。
局限性
- 仍采用循环遍历处理模式,而且它的运算效率比Traditional NMS更低。
- 对双阶段算法友好,但在一些单阶段算法上可能失效。(所以看soft-NMS论文时会发现它只在two-stage模型上比较,可能是因为one- stage模型在16年才提出来,之后才开始大火)soft-NMS也是一种贪心算法,并不能保证找到全局最优的检测框分数重置。
- 遮挡情况下,如果存在location与分类置信度不一致的情况,则可能导致location好而分类置信度低的框比location差分类置信度高的框惩罚更多
- 评判指标是IoU,即只考虑两个框的重叠面积,这对描述box重叠关系或许不够全面
Weighted-NMS
概述
W-NMS认为Traditional NMS每次迭代所选出的最大得分框未必是精确定位的,冗余框也有可能是定位良好的。因此,W-NMS通过分类置信度与IOU来对 同类物体所有的边框坐标进行加权平均,并归一化。其中,加权平均的对象包括M自身以及IoU≥NMS阈值的相邻框。
局限性
- 通常能够获得更高的Precision和Recall,一般来说,只要NMS阈值选取得当,Weighted NMS均能稳定提高AP与AR;
- 仍为顺序处理模式,且运算效率比Traditional NMS更低;
- 加权因子是IOU与得分,前者只考虑两个框的重叠面积;而后者受到定位与得分不一致问题的限制;
IOU-Guided NMS
概述
一个预测框与真实框IOU的预测分支来学习定位置信度,进而使用定位置信度来引导NMS的学习。具体来说,就是使用定位 置信度作为NMS的筛选依据,每次迭代挑选出最大定位置信度的框M,然后将IOU≥NMS阈值的相邻框剔除,但把冗余框及其 自身的最大分类得分直接赋予M。因此,最终输出的框必定是同时具有最大分类得分与最大定位置信度的框。
局限性
- 通过该预测分支
解决了NMS过程中分类置信度与定位置信度之间的不一致,可以与当前的物体检测框架一起端到端地 训练,在几乎不影响前向速度的前提下,有效提升了物体检测的精度; - 有助于提高严格指标下的精度,在IOU阈值较高时该算法的优势还是比较明显的(比如AP90),原因就在于IOU阈值较高 时需要预测框的坐标更加准确才能有较高的AP值;
- 顺序处理的模式,运算效率与Traditional NMS相同;
- 需要额外添加IoU预测分支,造成计算开销;
- 评判标准为IOU,即只考虑两个框的重叠面积;
Softer-NMS
概述
其极大值的选择/设定采用了与类似Weighted NMS(加权平均)的方差加权平均操作,其加权的方式采用了类似soft NMS的 评分惩罚机制(受Soft-NMS启发,离得越近,不确定性越低,会分配更高的权重),最后,它的网络构建思路与IOU-Guided NMS相类似。
局限性
- 增加了定位置信度的预测,是定位回归更加准确与合理;
- 使用便捷,可以与Traditional NMS或Soft-NMS结合使用,得到更高的AP与AR;
- 顺序处理模式,且运算效率比Traditional NMS更低;
- 额外增加了定位置信度预测的支路来预测定位方差,造成计算开销;
- 评判标准是IoU,即只考虑两个框的重叠面积,这对描述box重叠关系或许不够全面;
Adaptive-NMS
概述
Adaptive NMS应用了动态抑制策略,通过设计计了一个Density-subnet网络预测目标周边的密集和稀疏的程度,引入密度监督信息,使阈值随着目标周边的密稀程度而对应呈现上升或衰减。当邻框远 离M时,保持si不变;对于远离M的检测框,它们被误报的可能性较小,因此应该保留它们。对于高度重叠的相邻检测,抑制策略不仅取决于与M的重叠,还取决于M是否位于拥挤区域。当M处于密集区域时 (即Nm>Nt),目标密度dM作为NMS的抑制阈值;若M处于密集区域,其高度重叠的相邻框很可能是另一目标的真正框,因此,应该分配较轻的惩罚或保留。当M处于稀疏区域时(即Nm≤Nt),初始阈值Nt作 为NMS的抑制阈值。若M处于稀疏区域,惩罚应该更高以修剪误报。
局限性
- 可以与前面所述的各种NMS结合使用;
- 对遮挡案例更加友好;
- 双阶段和单阶段的检测器都有效果;
- 与Soft-NMS结合使用,效果可能倒退 (受低分检测框的影响);
- 顺序处理模式,运算效率低;
- 需要额外添加密度预测模块,造成计算开销;
- 评判标准是IoU,即只考虑两个框的重叠面积,这对描述box重叠关系或许不够全面;
评论与讨论