您的位置:首页 > 游戏 > 手游 > 非极大值抑制(Non-Maximum Suppression,简称 NMS)

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

2024/12/23 9:12:23 来源:https://blog.csdn.net/suiyingy/article/details/129624932  浏览:    关键词:非极大值抑制(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博客”。配套书籍《人工智能点云处理及深度学习算法》提供更加全面和系统的解析。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com