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

非最大抑制NMS

了解非最大抑制(NMS)如何消除目标检测中的重复边界框。Ultralytics 如何提供原生端到端NMS。

非最大抑制(NMS)是一种用于目标检测的后处理技术,用于优化模型生成的原始预测结果。 当目标检测模型分析图像时,常会为单个目标生成多个重叠的边界框,每个边界框都关联着相应的置信度评分。这种冗余预测的产生源于模型可能在略有差异的尺度或位置detect 。NMS 仅保留每个目标最精确的边界框并舍弃其余预测NMS 输出结果,确保最终输出清晰、精准且无重复项。

非极大值抑制的工作原理

NMS 候选边界框列表及其对应的置信度分数进行操作。其目标是为目标选择最佳边界框,并抑制(移除)与其显著重叠的其他边界框,因为这些框很可能是对同一目标的重复检测。该过程通常遵循以下步骤:

  1. 过滤:移除所有置信度低于特定阈值(例如0.25)的边界框,以立即剔除弱预测结果。
  2. 排序:根据剩余箱子的置信度得分,按降序排列。
  3. 选择:选中置信度评分最高的方框作为有效检测结果。
  4. 比较: 使用交并比(IoU)将选定框与所有其他剩余框进行比较, 该指标用于衡量两个框之间的重叠程度。
  5. 抑制:若选定框与另一框IoU 值超过预设阈值 (例如0.45),则得分较低的框将被视为重复框并予以移除。
  6. 迭代:对尚未被抑制或选中的下一个得分最高的方框重复该过程,直至所有方框均被处理完毕。

实际应用

在精度至关重要且重复检测可能导致下游系统混乱的场景中,NMS 。

  • 自动驾驶:在自动驾驶汽车系统中,摄像头detect 、其他车辆及交通标志。某个模型可能对单个行人预测出三个略有差异的边界框。NMS 车辆规划系统仅接收该行人的单一坐标,从而避免因"幽灵"障碍物导致的异常制动或路径规划错误。
  • 零售库存管理:使用计算机视觉技术统计货架商品数量时,商品往往紧密堆叠。若未NMS(数值空间排序)NMS,单个汽水罐可能因预测结果重叠而被重复计数,导致库存数据失准。NMS 检测结果,确保库存统计与实际情况相符。

基于PyTorch的NMS

尽管许多现代框架NMS 处理了NMS ,但理解其实现机制有助于参数调优。 以下示例演示了如何PyTorch 应用NMS :

import torch
import torchvision.ops as ops

# Example bounding boxes: [x1, y1, x2, y2]
boxes = torch.tensor(
    [
        [100, 100, 200, 200],  # Box A
        [105, 105, 195, 195],  # Box B (High overlap with A)
        [300, 300, 400, 400],  # Box C (Distinct object)
    ],
    dtype=torch.float32,
)

# Confidence scores for each box
scores = torch.tensor([0.9, 0.8, 0.95], dtype=torch.float32)

# Apply NMS with an IoU threshold of 0.5
# Boxes with IoU > 0.5 relative to the highest scoring box are suppressed
keep_indices = ops.nms(boxes, scores, iou_threshold=0.5)

print(f"Indices to keep: {keep_indices.tolist()}")
# Output will likely be [2, 0] corresponding to Box C (0.95) and Box A (0.9),
# while Box B (0.8) is suppressed due to overlap with A.

NMS 端到端检测

传统上,NMS 强制性的"清理"步骤,独立于主神经网络之外运行,从而增加了推理延迟。然而,该领域正朝着端到端架构方向发展。

  • NMS:一种需要手动调整IoU 启发式过程。若阈值过低,可能遗漏相邻的有效目标(召回率低);若阈值过高,则会保留重复目标(精度低)。
  • 端到端模型:新一代模型(如YOLO26)采用原生端到端设计。它们在训练过程中学会为每个目标精确预测一个边界框,从而有效内化NMS (非最大交集)NMS 。这消除了外部后处理的需求,Ultralytics 实现了更快的推理速度和更简化的部署流程。

相关概念

  • NMS一种变体方案,其中重叠框不会被严格移除,而是降低其置信度评分。这使得部分重叠的物体(如人群中的人)在衰减后若评分仍保持足够高,仍可被检测到。
  • 锚框预定义的框形 被许多检测器用于估计物体尺寸。最终预测结果经过锚框优化后,NMS 进行调整。
  • 交并比(IoU) NMS 用于NMS 两个边界框重叠程度的数学公式,作为抑制决策的阈值。

加入Ultralytics 社区

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

立即加入