概述
如果没有它,探测器将报告同一辆车五到十次。
深入探讨
对象检测器通常会预测每个真实对象周围的许多候选框,每个候选框都有一个置信度分数。 NMS 会修剪这种冗余。经典的贪婪算法按分数对所有框进行排序,保留得分最高的框,然后删除与其重叠(通过并集交集,IoU 测量)超过阈值(例如 0.5)的任何剩余框。它对幸存的盒子重复此操作,直到没有剩余。结果是每个对象都有一个代表框。 NMS 简单、快速且参数少,但它也有弱点:固定的 IoU 阈值可能会错误地抑制拥挤场景中真实的附近物体,并且它将重叠视为二值化。像 Soft-NMS 衰减分数这样的变体,而不是直接删除框来解决这个问题。
现实世界的实施
在相机和照片标记应用程序中将数十个重叠的面部框折叠成每个面部一个
在自动驾驶探测器中为每辆车和行人生成干净的单一边界框
消除文档和车牌 OCR 管道中重叠文本区域框的重复数据
清理零售货架监控和库存盘点系统中的冗余对象建议
非极大值抑制的未来
NMS 仍然是默认的后处理器,但该领域正在朝着删除它的方向发展。 Soft-NMS、DIoU-NMS 和学习变体改进了拥挤场景处理,而 DETR 等端到端检测器使用基于集合的二分匹配来直接预测独特的框,从而完全消除了 NMS。预计手动调整的阈值将让位于学习或无 NMS 的设计,特别是当变压器检测器成熟且实时系统需要确定性、无分支后处理时。
付诸实践
为什么这很重要
- 速度与规模. 视觉人工智能可以大规模自动化检查、检测和标记任务。
- 构建选择. 创意团队可以通过更少的手动修改更快地构建概念原型。
- 团队与工作流程. 操作可以使用以前难以处理的图像和视频信号。
留意
- 如果出处不明,肖像权和同意可能会成为法律风险。
- 模型性能可能因光照、人口统计和环境的不同而有所不同。
- 除非监控置信阈值,否则误报可能会被忽视。
后续步骤
- 定义精确度、召回率和错误成本的接受标准。
- 使用符合实际生产条件的数据进行测试。
- 为低置信度或高影响力的预测添加人工审核。
- 跟踪模型漂移并在相机或数据集更改后重新验证。
不断探索
常见问题
什么是非极大值抑制?
非极大值抑制 (NMS) 是一个清理步骤,它将一堆杂乱的重叠检测框变成每个对象一个整洁的框。如果没有它,探测器将报告同一辆车五到十次。
非极大值抑制在目标检测中的主要目的是什么?
NMS 消除了检测器产生的许多重叠候选框,为每个对象留下一个代表框。
标准 NMS 使用哪个指标来确定两个框是否重叠过多?
NMS 测量与 IoU 的重叠:交集面积除以两个框的并集面积。
在贪婪 NMS 中,每轮首先选择哪个框?
贪心 NMS 按置信度对框进行排序,并保留得分最高的框,然后抑制重叠的得分较低的框。
在拥挤的场景中贪婪 NMS 的已知弱点是什么?
由于它会删除高于 IoU 阈值的任何框,因此 NMS 可能会错误地删除对恰好重叠的不同对象的真实检测。
Soft-NMS 与标准 NMS 有何不同?
Soft-NMS 降低(衰减)重叠框的置信度,而不是丢弃它们,从而减少拥挤场景中的错误抑制。