深圳Yolo 视觉
深圳
立即加入
词汇表

非最大抑制NMS

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

非最大值抑制NMS)是计算机视觉中使用的一种重要的后处理技术。 后处理技术,用于完善 物体检测算法的结果。当模型分析图像时 模型分析图像时,经常会为一个物体预测多个重叠的 边框,而每个边框都有不同的概率。 概率不同。NMS 会过滤这些多余的预测,以确保每个独特的物体都能被准确识别一次。 一次,只保留最准确的边界框,而舍弃其余的。这一过程对于在实际应用中实现高精度 在实际应用中实现高精度,防止系统 防止系统检测到同一目标的 "幽灵 "重复。

抑制机制

NMS 算法就像一个过滤器,可以清理深度学习模型的原始输出。 深度学习模型的原始输出。它在很大程度上依赖于两个关键 指标:置信度得分,表示模型对某一方框包含物体的确定程度 模型对某个方框包含某个对象的确定程度,以及 交集大于联合(IoU),它 的空间重叠度。

NMS 的标准贪婪算法一般遵循以下步骤 这些步骤:

  1. 阈值处理:所有置信度低于特定阈值的候选方框都会被 立即丢弃,以去除弱预测。
  2. 排序:其余方框根据置信度得分从高到低排序。
  3. 选择:得分最高的方框被选为有效检测。
  4. 抑制:算法将所选方框与所有其他剩余方框进行比较。如果所选方框与其他方框之间的IoU 之间的 IoU 超过规定的限制(如 0.5),则分数较低的方框将被抑制(删除),因为它被认为代表了同一个对象。 (删除),因为它被认为代表同一对象。
  5. 迭代:对下一个得分最高的方框重复此过程,直到处理完所有候选方框。 处理完毕。

软NMS 等高级变体会降低重叠方框的检测分数,而不是完全消除它们。 在拥挤的场景中,物体会自然地相互遮挡。 自然相互遮挡的场景中大有裨益。

实际应用

在依赖人工智能解释的系统中,NMS 无处不在NMS 人工智能来解释 视觉数据的系统中无处不在。在对安全至关重要的高精度环境中,它的作用尤为关键。

  • 人工智能在汽车领域的应用在自动驾驶汽车的 在自动驾驶汽车的感知堆栈中,准确检测其他车辆和行人是必不可少的。 如果没有NMS,车辆感知系统可能会将一个行人detect 为三个或四个不同的人,因为预测会出现重叠。 重叠的预测。这可能会混淆 运动规划算法,导致制动或转向失误。 或转向失误。NMS 可确保对障碍物进行干净、单一的表示,这一点可在NMS DRIVE 等技术中看到。 NVIDIA DRIVE 等技术。
  • 医学图像分析 使用人工智能识别 X 射线和核磁共振成像扫描中的肿瘤或病变时,精确性至关重要。 医疗系统中的人工智能使用NMS 来确保 单个异常不会触发多个警报,帮助放射科医生专注于不同的发现。可靠的 检测减少了误报,简化了医学影像研究中描述的诊断工作流程。 医学影像研究中描述的诊断工作流程。

Ultralytics 中的NMS YOLO

Ultralytics YOLO11框架中,NMS 直接集成到预测管道中。用户可以轻松调整NMS 参数,如IoU 临界值,以便在去除重复对象和分离IoU 较近的对象之间取得平衡。 用户可以轻松调整 NMS 参数,如 IoU 临界值,以便在去除重复对象和分离间距较近的对象之间取得平衡。

以下代码片段演示了如何使用 ultralytics 包装

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on an image
# 'iou=0.5' sets the NMS threshold; boxes with >50% overlap are suppressed
# 'conf=0.25' filters out boxes with low confidence before NMS runs
results = model.predict("https://ultralytics.com/images/bus.jpg", iou=0.5, conf=0.25)

# Display the number of detected objects after NMS
print(f"Objects detected: {len(results[0].boxes)}")

与相关概念的比较

必须将NMS 与检测管道中的其他术语区分开来。

  • NMS 与锚箱锚点是 锚点是模型处理过程中用作预测起点的预定义形状。NMS 是 后处理步骤,在模型输出最终预测结果后进行。
  • NMS 与信心阈值A 置信度阈值仅根据每个方框的概率分数来筛选方框。NMS 则根据方框与其他方框的 它们与其他方框的关系(重叠)。
  • NMS 与端到端检测:传统NMS 增加 推理延迟,因为它是一个连续的 过程。即将推出的架构,如YOLO26,正朝着本机端到端设计的方向发展。 即将推出的架构(如 YOLO26)正朝着本机端到端设计的方向发展。这些模型旨在直接从 这些模型的目标是直接从神经网络输出最终的唯一对象集,从而在未来的机器学习模型中淘汰外部NMS 算法。 机器学习模型。

对于希望高效部署这些模型的开发人员来说,了解NMS 对实时推理的影响至关重要。 实时推理的影响至关重要。像 TensorRT等工具通常包含优化的NMS 插件,以加速模型部署过程中的这一 步骤。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入