本文是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为当前得分最高框,
bi 为待处理框, bi 和M的IOU越大, bi 的得分 si就下降的越厉害。四、实验分析
(1)对比实验
上图可以看出,基本可以获得平均1%的提升,且不增加额外的训练和计算负担。
(2)敏感度分析
(3)参数对比实验
(4)定性分析
左边为NMS,右边为Soft-NMS。由上图可以看出,Soft-NMS检测效果好于NMS。
左边为NMS,右边为Soft-NMS。由上图可以看出,NMS检测效果好于Soft-NMS。