非极大值抑制(Non-Maximum Suppression,NMS)是计算机视觉中常用的一种技术,用于在目标检测任务中消除冗余的边界框。然而,传统的NMS方法在选择最大置信度边界框时使用了硬阈值,这可能导致一些具有较高置信度但有重叠的边界框被错误地删除。为了解决这个问题,提出了软式非极大值抑制(Soft-NMS)方法,它通过降低重叠边界框的得分来减弱它们的影响,从而更有效地选择最佳边界框。
Soft-NMS的基本思想是,在计算重叠边界框的得分时,不再使用硬阈值,而是使用一个衰减函数来降低得分。这个衰减函数在重叠程度增加时逐渐减小得分,从而使得具有较高置信度但有重叠的边界框在得分排序中处于次要位置。
下面是一个用Python实现Soft-NMS的示例代码:
import numpy as np
def soft_nms(boxes, scores