Soft-NMS – Improving Object Detection With One Line of Code

2018 年 3 月 30 日 统计学习与视觉计算组 刘珊兵

本文是ICCV-2017的一篇论文,是对NMS(非极大值抑制)的一种改进,可以提高物体检测的精度。

论文地址:https://arxiv.org/abs/1704.04503

代码:http://bit.ly/2nJLNMu

一、背景

NMS(non maximum suppression),中文名非极大值抑制,在很多计算机视觉任务中都有广泛应用,如:边缘检测、人脸检测和物体检测等,本论文主要用来讲解NMS在物体检测中的应用以及改进。

二、NMS算法(物体检测)

(1)传统的物体检测方法

         滑动窗口+分类器+NMS

(2)深度学习的物体检测方法(R-CNN)

         Region Propoals+分类子网(CNN)+边界回归+NMS

(3)算法流程

        通常的做法对于每个类别将检测框按得分排序,然后保留得分最高的框,同时删除与该框重叠面积大于阈值的其它框,依次迭代进行,直到边框集合为空。如图所示。按照下图整个处理一遍之后,指定一个置信度阈值,然后最后得分大于该阈值的检测框得以保留。


(4)传统的NMS存在的两个问题

第一:如下图所示。红色框和绿色框是当前的检测结果,二者的得分分别是0.95和0.80。如果按照传统的NMS进行处理,首先选中得分最高的红色框,然后绿色框就会因为与之重叠面积过大而被删掉,这样就会造成漏检,导致检测精度下降。

第二:阈值大小不好确定。如果设置的过小,会出现上面这种情况,如果过大,也会存在过多的假正样本,也会增大误检。

三、Soft-NMS算法

       不是简单地删除所有IOU大于阈值的框,而是通过用一种IOU的函数来降低其置信度。简单来说,就是如果两个框重叠面积越大,则它的置信度(分数)应该降的越多,因为它成为假正样本的概率更大,反之。算法流程如上图所示。由于这种改进,没有引入多余的参数,也没有增加计算量,也不需要额外的训练,但是实验效果表明,确实可以提高检测精度,因此,可以广泛应用于检测中。

(1)传统的NMS

(2)Soft-NMS,本文提出了两种函数,分别是线性函数和高斯函数,如下:

由上面的两种函数形式可以看出:M为当前得分最高框,