NMS非极大抑制-简单总结

NMS(non maximum suppression)非极大抑制

基本过程
  1. 首先将概率进行排序

  2. 以概率最大的框为基准,检查重叠率

  3. 若重叠率超过一个阈值,就剔除后面的框

  4. 若重叠率小于阈值,就保留这个框

  5. 接下来,以次大概率的框继续比较IOU

# INPUT:所有预测出的bounding box (bbx)信息(坐标和置信度confidence), IOU阈值(大于该阈值的bbx将被移除)
for object in all objects:
    (1) 获取当前目标类别下所有bbx的信息
    (2) 将bbx按照confidence从高到低排序,并记录当前confidence最大的bbx
    (3) 计算最大confidence对应的bbx与剩下所有的bbx的IOU,移除所有大于IOU阈值的bbx
    (4) 对剩下的bbx,循环执行(2)和(3)直到所有的bbx均满足要求(即不能再移除bbx)
NMS的缺点
  1. 需要手动设置阈值,阈值的设置会直接影响重叠目标的检测,太大造成误检,太小达不到理想情况。

  1. 低于阈值的直接设置score为0,做法太hard。

  1. 只能在CPU上运行,成为影响速度的重要因素。

  1. 通过IoU来评估,IoU的做法对目标框尺度和距离的影响不同。

NMS的改进思路
  1. 根据手动设置阈值的缺陷,通过自适应的方法在目标系数时使用小阈值,目标稠密时使用大阈值。例如Adaptive NMS

  1. 将低于阈值的直接置为0的做法太hard,通过将其根据IoU大小来进行惩罚衰减,则变得更加soft。例如Soft NMS,Softer NMS。

  1. 只能在CPU上运行,速度太慢的改进思路有三个,一个是设计在GPU上的NMS,如CUDA NMS,一个是设计更快的NMS,如Fast NMS,最后一个是掀桌子,设计一个神经网络来实现NMS,如ConvNMS。

  1. IoU的做法存在一定缺陷,改进思路是将目标尺度、距离引进IoU的考虑中。如DIoU。

改进方法
  • Soft-NMS(ICCV2017)、Softer-NMS(CVPR2019)、Weighted NMS(ICMEW2017)

    后处理方法NMS、Soft-NMS、Softer-NMS、WBC、DIoUNMS 、NMS替代算法Confluence_wbc nms 检测-CSDN博客

    分类置信度优先NMS总结:NMS、soft-NMS及Weighted NMS的局限性:

    • 对于IOU≥NMS阈值的相邻框,传统NMS的做法是将其得分暴力置0,相当于被舍弃掉了,这就有可能造成边框的漏检,尤其是有遮挡的场景。(在目标检测中)

    • 对IOU大于阈值的边框,Soft-NMS采取得分惩罚机制,降低该边框的得分,即使用一个与IoU正相关的惩罚函数对得分进行惩罚。(当邻居检测框b与当前框M有大的IoU时,它更应该被抑制,因此分数更低。而远处的框不受影响。)

    • 如果前面讲的soft NMS是通过抑制机制来改善剔除结果(降低超阈值的得分策略),那么Weighted NMS(W-NMS)则是从极大值这个方面进行改进。W-NMS认为Traditional NMS每次迭代所选出的最大得分框未必是精确定位的,冗余框也有可能是定位良好的。因此,W-NMS通过分类置信度与IOU来对同类物体所有的边框坐标进行加权平均,并归一化。其中,加权平均的对象包括M自身以及IoU≥NMS阈值的相邻框。

    • 缺点:仍为顺序处理模式,且运算效率比Traditional NMS更低;加权因子是IOU与得分,前者只考虑两个框的重叠面积;而后者受到定位与得分不一致问题的限制。

    • 都是以分类置信度优先的NMS,未考虑定位置信度,即没有考虑定位与分类得分可能出现不一致的情况,特别是框的边界有模棱两可的情形时。

    • 采用的都是传统的IOU,只考虑两包围盒子之间的重叠率,未能充分反映两包围盒子之间相对位置关系。

  • IOU-Guided NMS/IOU-Net(ECCV2018)
  • Adaptive NMS(CVPR2019)
  • DIoU NMS(AAAI2020)

后面一部分转自这篇文章:

详解目标检测NMS算法发展历程(收藏版) - 知乎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值