术语表

非最大抑制(NMS)

了解用于物体检测的非最大值抑制 (NMS)。了解它如何完善结果、提高准确性并为YOLO 等人工智能应用提供动力。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

非最大值抑制(NMS)是计算机视觉(CV)中广泛使用的一种重要后处理技术,尤其是在物体检测管道中。它的主要作用是完善检测模型生成的原始输出,因为检测模型通常会为同一对象实例识别出多个重叠的边界框。通过智能过滤这些冗余边框,NMS 可确保图像或视频帧中的每个不同物体都由一个最佳边框来表示。这大大提高了最终检测结果的清晰度和准确性,使其在后续任务中更加有用。

非最大抑制是如何工作的

物体检测模型,如各种 Ultralytics YOLO版本,通常会扫描图像,并围绕检测到的物体提出许多潜在的边界框。每个提议的包围盒都有一个置信度分数,表示模型确定该包围盒包含一个物体并属于某个特定类别。NMS 的工作原理是根据置信度得分和空间重叠情况,系统地减少这些提议。

该过程一般遵循以下步骤:

  1. 所有提议的边界框都会根据置信度得分进行排序,通常是降序排列。
  2. 置信度得分最高的边界框被选为最终检测结果。
  3. 所有与该选定边框有明显重叠的其他边框都会被抑制或移除。重叠度使用 "交集大于联合(IoU)"度量,如果 IoU 超过预定义的阈值(例如 0.5),就会被抑制。有关这一核心概念的详细解释,请参阅PyImageSearch 的 NMS 指南等资源。
  4. 这一过程反复进行:从剩余的方格中选择下一个得分最高的方格,并删除重叠的方格。
  5. 这一过程一直持续到所有方框都被选为最终检测结果或被抑制为止。

这样可以确保只保留最有把握、不重叠的方框,从而提供更简洁、更可解释的输出结果,正如许多计算机视觉教程中所展示的那样。

人工智能和机器学习的重要性

在更广泛的人工智能(AI)机器学习(ML)领域,NMS 是实现可靠物体检测性能的基础。如果没有 NMS,像 YOLO11这样的检测器的输出就会被单个物体的多个方框所干扰。这种冗余会导致下游应用出现错误,例如计数物体(物体计数指南)、物体跟踪机器人技术中的复杂场景理解。

通过消除这些冗余检测(通常会导致误报),NMS 大大提高了模型预测的精确度。这种改进对于要求高可靠性和准确性的应用来说至关重要。NMS 的影响体现在平均精度 (mAP) 等评估指标中,这些指标通常在应用 NMS 后计算得出,详见YOLO 性能指标指南

实际应用

NMS 是实现众多人工智能实际应用的基础技术:

与相关技术的比较

NMS 特别是物体检测模型生成初始候选边界框集后进行的后处理步骤。它不应与检测架构本身相混淆,例如基于锚点的检测器无锚点的检测器之间的区别。这些架构定义了如何提出潜在的边界框,而 NMS 则完善了这些提议。

有趣的是,与 NMS 相关的计算成本和潜在瓶颈激发了对无 NMS 物体检测器的研究。YOLOv10等模型在训练过程中整合了各种机制(如一致的双重分配),从本质上避免预测多余的盒子,从而减少推理延迟,实现真正的端到端检测(YOLOv10 无 NMS 方法)。这与传统方法(如 Ultralytics YOLOv8YOLOv5等传统方法形成鲜明对比,在这些方法中,NMS 仍是推理管道的标准和重要组成部分。您可以在我们的文档中探索技术比较,如YOLOv10 与YOLOv8。Soft-NMS(关于 Soft-NMS 的论文)等变体提供了另一种方法,即衰减重叠方框的分数,而不是完全消除它们。

与Ultralytics 工具集成

NMS 与Ultralytics 生态系统无缝集成。Ultralytics YOLO 模型可在以下过程中自动应用 NMS 预测predict)验证(val) 模式,确保用户在默认情况下获得干净准确的检测输出。控制 NMS 行为的参数(如 IoU 门限和置信度门限)通常可根据特定应用需求进行调整。

Ultralytics HUB等平台进一步抽象了这些细节,允许用户训练模型(云训练指南)并部署模型,其中 NMS 作为优化管道的一部分自动处理。这种集成确保了用户无论在MLOps 方面是否具有深厚的专业技术知识,都能受益于各种计算机视觉任务中最先进的物体检测结果。Ultralytics 框架内的具体实施细节可在Ultralytics 实用程序参考资料中查看。如需了解更多定义,请查看Ultralytics 术语表

阅读全部