论文解读——Improving Object Detection With One Line of Code

摘要

非极大值抑制是目标检测流程中不可分割的一部分。首先它基于检测结果对所有检测框进行分类,选择得分最高的检测框M,并抑制与M有明显重叠的所有其他检测框,这个过程被递归地应用到其余的框上。根据算法的设计,如果一个对象位于预定义的重叠阈值内,则会导致丢失。为此,我们提出了Soft-NMS算法,该算法将其他所有对象的检测分数衰减为与M重叠的连续函数。因此,在这个过程中没有对象被消除。Soft-NMS在标准数据集如PASCAL VOC2007和MS-COCO上采用mAP度量标准获得了一致提升,方法是只修改最大极大值抑制算法,而不添加任何超参数。使用Deformable-RFCN,Soft-NMS将单一模型中最先进的目标检测技术由39.8%提高到40.9%,此外,Soft-NMS的计算复杂度与传统的NMS相同并且该方法可以进行被有效的实现。由于Soft-NMS不需要任何额外的训练,且易于实现,因此可以轻松的集成到任何目标检测方法中。

1. 介绍

目标检测是计算机视觉中的一个基本问题,算法为指定的目标类别生成边界框,并对其进行分类打分。它在自动驾驶、视频/图像搜索、监控等领域有许多实际应用,因此任何为目标检测算法提出的新组件都不应该造成计算瓶颈,否则在实际运用中很容易被忽略。此外,如果引入了一个复杂的模块,需要对模型进行重新训练,这个模型所带来的性能上的一些改进也会被忽略。但是,如果一个简单的模块可以在不需要对现有模型进行任何重新训练的情况下提高性能,那么它将被广泛采用。为此,我们提出了一种Soft-NMS算法,作为当前对象检测方法中传统NMS算法的替代。

传统的目标检测方法采用基于多尺度滑动窗口的方式,根据每个窗口计算的特征为每个类分配前景/背景分数。然而,相邻的窗口通常有相关的分数,所以使用非极大值抑制作为后处理步骤,以获得最终的检测。随着深度学习的出现,滑动窗口方法被使用卷积神经网络的区域建议框所替代。在最先进的检测器中,这些建议框被输入到一个分类子网络中,该子网络为它们分配特定的类别得分,另一个平行的回归子网络改善这些建议框的位置。这个改善过程提高了目标位置信息,但也导致了杂乱的检测,因为多个建议框常常被回归到相同的感兴趣区域。因此即使在最先进的检测器中,非极大只抑制也被用于获取最终的检测集合,因为它显著的减少了假阳性的数量。

非极大值抑制从带有分数S的一系列检测框B开始,在选择以M为最大得分的检测后,将其从集合B中删除并将其附加到最终检测的集合D中,它还删除了集合B中与M重叠大于阈值Nt的任何框。对于剩余的框B重复这个过程。非极大值抑制的一个主要问题是它将相邻检测的分数设置为零。因此,如果一个对象实际存在于重叠的阈值中,它就会被丢弃,这将导致平均精度的下降。然而如果我们降低检测分数作为其与M重叠的函数,它将仍然会在排名列表中,尽管置信度较低。我们在图一中展现了这个问你体的说明。

我们对传统的贪心NMS算法进行了一行修改,随着重叠区域的增加降低检测分数,而不是像NMS那样将分数设为零。直观上来说,如果一个边界框与M的重叠度非常高,那么它应该被赋给一个非常低的分数。而如果它的重叠度很低,那么它可以保持原来的检测分数。这种Soft-NMS算法如图2所示。在诸如PASCAL VOC和MS-COCO这样的标准数据集上,Soft-NMS在多个重叠阈值上测量的平均精度显著提高。由于Soft-NMS不需要任何额外的训练,且易于实现,因此可以很容易地集成到目标检测方法中。

2.相关工作

近50年来,NMS一直是计算机视觉检测算法的重要组成部分。它最初用于边缘检测技术,随后被应用于特征点检测,人脸检测,目标检测等多个任务。在边缘检测中,NMS对边缘进行细化以去除虚假响应。在特征点检测器中,NMS能够有效的执行局部脱粒,以获得独特的特征点检测。在人脸检测中,NMS是通过使用重叠准则将边界框划分为不相交的子集来执行的,最终的检测是通过平均集合中的检测框坐标获得的。Dalal和Triggs证明了一种贪婪NMS算法,一个带有最大检测分数的边界框使用一个预定义的重叠阈值抑制其邻近的边界框来提高性能用于人脸检测。此后,贪婪NMS算法成为目标检测中实际使用的算法。

本篇论文主要是针对目标检测中的非极大值抑制这部分进行了改善,可以检测出相邻的相同物体。在目标检测的任务中,非极大值抑制(NMS)是一种对检测结果进行冗余去除操作的后处理算法,可以理解为局部最大搜索。标准的极大值抑制算法是手工设计一个阈值,基于这个固定的距离值进行贪婪聚类 ,即:贪婪的选取得分高的检测结果并删除那些超过阈值的相邻结果,使得在recall和precision之间取得权衡。NMS是一个迭代-遍历-消除的过程。

(1)将所有框的得分排序,选中最高分及其对应的框

(2)遍历其余的框,如果和当前最高分框的重叠面积大于一定阈值,我们就将框删除。

(3)从未处理的框中继续选一个得分最高的,重复上述过程

猜你喜欢

转载自blog.csdn.net/neil3611244/article/details/81662790