趋近智
目标检测器提出潜在的边界框后,通常会在同一物体周围生成多个高度重叠的框,每个框都带有不同的置信度分数。非极大值抑制 (NMS) 的作用是清除这些多余的检测结果,只保留置信度最高、互不干扰的框。虽然标准贪婪NMS算法得到普遍使用,但它可能效果不理想,特别是在物体密集排列的场景中。将对旨在解决这些不足的NMS变体进行分析。
回顾标准贪婪NMS的步骤:
这种方法简单且计算效率高。然而,其主要不足在于步骤5。如果一个正确的检测框 Bj 与 Bmax 存在明显重叠(例如,两个不同的物体彼此非常接近),即使它代表一个不同的物体实例,如果其IoU超过 Nthreshold,它也可能被完全移除。这可能导致召回率下降,特别是在拥挤的图像中。
标准NMS与Soft-NMS在处理两个重叠框(A和B)时的比较,其中A的初始分数更高。标准NMS会移除框B,而Soft-NMS则保留框B但降低其置信度分数。
Soft-NMS 并非完全消除重叠框,而是提出根据与得分更高的已选框的重叠程度来降低其置信度分数。这样做的理由是,如果一个框与一个置信度很高的检测结果存在明显重叠,其本身是正确检测的可能性较小,但它不应完全丢弃,特别是当它可能代表一个独立、邻近的物体时。
框 Bi 的分数 si 根据其与已选择的最高分框 Bmax 的IoU进行更新:
si=si×f(IoU(Bmax,Bi))函数 f(⋅) 是一个惩罚函数,它随着IoU的增加而减小。两种常见形式是:
这里,Nthreshold 是标准NMS阈值(用于决定何时在线性情况下开始应用惩罚),而 σ 是一个控制高斯衰减陡度的参数。
通过衰减分数而非完全消除框,Soft-NMS通常会提高平均精度 (AP),特别适用于物体遮挡或密度大的数据集。代价是与标准NMS相比计算成本略有增加,并且引入了一个可能需要调整的新参数(高斯变体的 σ)。
标准NMS和Soft-NMS仅依赖IoU指标。然而,IoU不考虑边界框中心之间的距离。考虑两种情况:两个IoU高的框,因为它们紧密包围同一物体;或两个IoU相同但代表两个独立、相邻物体,其框恰好明显重叠。标准NMS对这两种情况一视同仁。
DIoU-NMS将两个框中心点之间的归一化距离纳入抑制判据。其主要依据是,当根据 Bmax 抑制框 Bi 时,不仅要考虑IoU,还要考虑它们中心之间的距离。如果中心相距很远,即使它们的IoU很高,Bi 也不太可能是与 Bmax 相同的物体所产生的多余检测。
DIoU指标本身对中心之间的距离进行惩罚。在DIoU-NMS中,抑制条件被修改。DIoU-NMS可能使用包含DIoU值的判据,而不是仅仅检查 IoU(Bmax,Bi)>Nthreshold,其定义为:
DIoU=IoU−c2ρ2(b,bgt)其中 ρ(⋅) 是欧几里得距离,b 和 bgt 是两个框的中心点,c 是覆盖两个框的最小外接框的对角线长度。当在NMS中使用时,惩罚项 c2ρ2(b,bgt) 在抑制期间被添加到IoU计算中。具有高IoU但中心相距较远的框受到的惩罚较少,被抑制的可能性也较小。
这使得DIoU-NMS在保留对独立但邻近物体的正确检测方面特别有效,与标准NMS相比,在拥挤场景中带来更好的性能。
标准NMS与其变体之间的选择取决于具体的应用和数据集特性:
无论哪种变体,IoU阈值 (Nthreshold) 仍是一个重要的超参数。较低的阈值会导致更激进的抑制(框更少、更独立),而较高的阈值则更宽松(可能导致更多重叠的框和更多误报)。同样,在NMS之前用于过滤框的初始置信度分数阈值对NMS算法的输入影响很大。这些阈值的最佳值通常通过在验证数据集上评估性能来凭经验确定。
总而言之,虽然贪婪NMS为完善目标检测提供了基本方法,但Soft-NMS和DIoU-NMS等变体提供了更精细的策略来处理重叠物体的复杂性,通常会带来检测准确性的显著提升,特别是在具有挑战性的密集场景中。了解这些替代方案可以更好地根据您的目标检测任务的特定需求调整后处理阶段。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造