非极大值抑制(Non-Maximum Suppression,简称 NMS)

        本文为专栏《Python三维点云实战宝典》系列文章,专栏介绍地址“【python三维深度学习】python三维点云从基础到深度学习_python3d点云从基础到深度学习-CSDN博客”。配套书籍《人工智能点云处理及深度学习算法》提供更加全面和系统的解析。

         非极大值抑制(Non-Maximum Suppression,简称 NMS)是目标检测中常用的一种算法,用于在重叠区域存在多个候选框时,选择置信度最高的候选框,抑制其他低置信度候选框的过程。NMS算法是一种简单而有效的方法,可以帮助我们提高检测的准确性和效率,因此在目标检测中被广泛使用。

图片来源:https://blog.csdn.net/mechleechan/article/details/88365039

        NMS算法的核心思想是,对于一个目标,它只能被一个候选框所包含,因此对于重叠的多个候选框,我们需要选择置信度最高的一个来表示该目标的位置。具体来说,NMS算法包括以下几个步骤:

  1. 根据预测框的置信度进行排序:对于每一个预测框,我们都会有一个置信度分数,表示这个框里面包含目标的概率。我们将所有的预测框按照置信度从高到低进行排序,这样置信度最高的预测框就排在最前面。
  2. 选择置信度最高的预测框,并将其加入最终的检测结果列表中。
  3. 去除与已选框重叠度较高的其他预测框:从排在第二位的预测框开始,与已选框的重叠度计算,若重叠度大于一定阈值,则将该预测框从候选框列表中删除,否则将其加入最终的检测结果列表中。
  4. 重复步骤3,直到所有的预测框都被遍历完毕。

        NMS算法通过不断选择置信度最高的预测框,并删除与其重叠度较高的其他预测框,最终得到了一组准确的、无重叠的目标检测结果。

        NMS算法在目标检测中的应用场景非常广泛,包括人脸检测、2D/3D物体检测、行人检测等等。实际应用中模型检测结果往往存在多个候选框重叠的情况,例如人脸检测中同一张图片中可能存在多个人脸,而这些人脸的候选框可能会出现重叠的情况。使用NMS算法可以帮助我们从多个候选框中选择置信度最高的候选框,减少重复检测,提高检测准确率。

        除了在目标检测中的应用外,NMS算法还可以应用在其他领域中,例如图像分割、文本识别等。在图像分割中,NMS算法可以用于消除分割结果中的重复区域,提高分割的准确性。在文本识别中,NMS算法可以用于消除重叠的字符框,从而得到准确的文本识别结果。

        除了传统的NMS算法,近年来还出现了一些改进的NMS算法。其中,Soft-NMS算法是一种比较流行的改进算法,它采用了一种渐进式的抑制方法,即不是直接删除重叠区域内的预测框,而是将其置信度逐步降低。这种方法可以避免一些本应该被保留的预测框被错误地删除,从而提高了检测的准确性。另外,基于深度学习的一些目标检测算法,如Faster R-CNN、YOLO等,也采用了类似NMS的算法来处理重叠的预测框。

更多python与C++技巧、三维算法、深度学习算法总结、大模型请关注我的博客,欢迎讨论与交流:https://blog.csdn.net/suiyingy,或”乐乐感知学堂“公众号。Python三维领域专业书籍推荐:《人工智能点云处理及深度学习算法》。

  本文为专栏《Python三维点云实战宝典》系列文章,专栏介绍地址“【python三维深度学习】python三维点云从基础到深度学习_python3d点云从基础到深度学习-CSDN博客”。配套书籍《人工智能点云处理及深度学习算法》提供更加全面和系统的解析。

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coding的叶子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值