Improving Object Detection With One Line of Code(2017)论文综述

  1. 为什么要做这个研究(理论走向和目前缺陷) ?
    传统的NMS对有重叠的物体效果不好,因为会把两个有重叠的检测框中得分较低的框的得分直接置为0,就会导致重叠的目标不能都检测出来。
  2. 他们怎么做这个研究 (方法,尤其是与之前不同之处) ?
    抛弃传统的NMS中直接将有重叠的检测框中得分较低的框直接降为0的做法,改为根据两框重叠率大小进行逐渐降低得分的做法,这样即使得分降低,通过降低最终的检测阈值便能狗将这些降低得分检测框在显示出来,从而提高mAP(对各级检测阈值进行平均)。提出了两种soft-NMS方案:线性soft-NMS(不连续),高斯soft-NMS(连续)。
  3. 发现了什么(总结结果,补充和理论的关系)?
    传统的nms对于nms的阈值Nt非常敏感,Nt如果设置的比较大,随着检测阈值降低会大大增大假阳性的结果。如果Nt设置的比较小,导致导致重叠框检测不出来。
    但是soft-nms对于其参数σ并不敏感,无论σ值是高还是低,ap值在各检测阈值都比较稳定,不会有大幅降低的情况。

摘要:NMS是目标检测中必不可少的一环。
NMS算法过程:首先它基于得分将检测框都排个序,假设检测框M得分最大,那么所有其他与M的iou值大于一个阈值的检测框的得分都置为0,然后再接着寻找下一个得分最大的框M’,迭代此过程。这样就会导致一个问题,比如两个有重叠的物体,则他们对应的检测框重叠率很高,应用NMS的结果就是这两个框中得分较低的那个框被抑制,导致这个物体无法被检测出,造成误差。
所以本文提出soft-NMS,soft-NMS是根据iou的大小进行渐变的缩小得分(soft),而不是直接置为0这种粗暴的方式(hard)。这样即使有重合的物体,应用soft-NMS的结果只是减小重合检测框中较低得分的检测框的得分值,而不是直接置为0,这样这个框只是得分变低了,而不是直接从列表里移除。

1引言
在一个复杂引入一个新模块如果能提升准确率,且计算量不怎么增加,而且不需要重新训练模型,那就相当完美了。soft-NMS就是这样一个模块。
直觉上,如果两个检测框重叠率很高,那么这两个框很可能对应的是同一个物体,所以应该尽量将得分较低的那个框移除。如果两个检测框重叠率不是很高,那么很可能这两个检测框对应的是两个物体,所以不应该把这两个框任何一个去处。soft-NMS就是根据这个思想进行设计的。
下图用绿框内容取代红框内容就是soft-NMS伪代码:
在这里插入图片描述
2 相关研究
NMS在就是年纪视觉中应用已经快50年了。
首先用在边缘检测,然后特征点检测,人脸检测,行人检测,目标检测等。NMS现在已经是目标检测里的标配了。
NMS已经有近10年由于创新过了。
列举了一些NMS的创新及应用场景,最后总结出贪婪NMS还是最适合于通用目标检测。

3 背景
像在faster r-cnn中做目标检测的大致流程是这样的:
在推断过程中,先对输入图片执行一连串的卷积操作(主干网络),然后这个网络在卷积层的最后一层L层分为两支,一支用来生成候选框,另外一支用来对生成的候选框进行分类和回归的后续操作。
生成候选框的这一支内部也是分为两支,一支用来对anchor box计算分类得分(前景背景),另一支用来对anchor box回归出偏移值。然后会根据每个Anchor box的得分大小排序,挑选出其中K(约为6000)个anchor box,然后把回归的偏移值加到这些anchor box上进行位置修正(原图层面)。最后应用一个NMS(这个nms用的还是原来的nms还是soft-NMS??待确认)对这K个经过偏移值修正的anchor box(proposal) 进行处理,得到最终的要输入第二个大分支里的候选框。
第二个大分支会对每个候选框进行分类和回归,因为并没有限制说一个目标只能生成一个ROI,所以可能会有很多个候选框都对应到同一个目标上去。因此,除了得分最高的那个候选框,这个目标上的其它候选框都将是错误预测为正例的(FP)。为了减轻这个问题,又用了一次NMS,只不过这次应用NMS是对每一个类别单独应用NMS(应用一个特定的阈值)。
因为本来输入到第二个大分支里的预选框(经过第一次nms后)数量已经很少了,第二次进行预测得分时,对于得分小于一定阈值的候选框都删除了,导致候选框更少了,所以地测次进行NMS时的计算量并不大。
本文提出的soft-NMS替代的是第二次NMS,对于第一次NMS用的还是原来的。

4 Soft-NMS
当前目标检测的评价标准都很看重定位准确性,会用多种重叠阈值(0.5-0.95)然后计算平均值来作为mAP。因此,如果在第二步网络中应用NMS时把阈值设置为比较低的数值如0.3(即如果两个检测框的iou值重叠率Nt大于0.3才对低得分的检测框进行抑制),就会使得很多稍微有点重叠的检测框被NMS抑制,如果是两个有重叠的目标,那么他们的检测框也会有重叠,就会导致nms的结果只剩下其中一个目标的单独一个检测框,另外一个目标没有对应的检测框。这样,最后检测时会错过有重叠的被检测物体。

但是如果把Nt的值设置为0.7,这样即使相邻的检测框重叠率很大(不大于0.7就行)也不会被抑制,这样如果是两个有重叠的目标,他们各自对应的检测框都会被保留。但是对于单独的、没有与其他目标重叠的目标,一个目标可能会对应很多检测框。生成最终的检测框时,会把有重叠的目标各自的检测框都显示出来,同时会把单独目标的很多非最优的检测框也生成出来,造成很多假阳性的结果。

soft-NMS想做的就是并不根据Nt值就直接对非最优的检测框进行抑制,而是一个渐变的过程。如果两个检测框有重叠,那么这两个检测框有可能对应的是同一个目标,也有能对应的是有重叠的两个目标,一般情况下,这两个检测框重叠率越高,则它们越有可能对应的是同一个目标,重叠率较低时则它们更有可能对应的是两个目标。所以通过重叠率的大小对得分较低的那个框进行衰减。
1) 如果它们重叠率很高,衰减的就很多,使得这个得分较低的框得分更低,最终检测时如果把检测阈值设置的很高(如0.7)就会使得这个得分更低的框不会显示出来(此时认为这两个检测框对应的是同一个目标),但是如果检测阈值设置的低一些(0.3),这个次优的检测框显露出来(此时认为它对应的是另外一个目标),以避免漏检。
2) 如果它们重叠率很低,衰减的就不多,使得这个得分较低的框得分不怎么降低,最终检测时如果把检测阈值设置的很高(如0.8),就会使得这个得分较低的框不显示出来(认为是两框对应同一个目标),但是如果设置的稍微低(0.6)一些,就会使得这个框显示出来(认为两框对应不同的目标)。
soft-NMS这种根据重叠率大小进行衰减而不是直接置为0的soft的操作,使得最终检测时更灵活,即可以通过降低检测阈值来使得在有重叠物体的场景下显示有重叠的目标,也可以通过提高检测阈值在没有重叠场景下降低误减率。
注意,有重叠的目标各自的两个框即使经过Soft-NMS降低分数之后,分数依然会高于单个目标对应的多个检测框经过soft-nms抑制后的得分,因为有重叠的两个目标的两个框之间的重叠率会低于单个目标对应的多个检测框值键的重叠率。

NMS算法公式:
在这里插入图片描述
线性soft-NMS公式:
在这里插入图片描述
也就是说越靠近得分最高的那个框,得分衰减的越多。远离得分最高的那个框到一定值(iou小于一定值)就不会衰减得分。
但是上式有一个问题,就是iou值达到Nt会突然进行衰减,即不连续,如果连续就更好了。于是定义高斯soft-NMS公式,就不再是分段不连续的:
在这里插入图片描述
5 数据集和评估
在这里插入图片描述
6实验
6.1结果
线性soft-NMS: Nt=0.3
高斯soft-NMS: σ = 0.5
在yolo和ssd上的recall提升没有faster r-cnn明显,因为yolo,ssd不是基于proposal的算法,本身召回率就不高,即准确的候选框就不多,即使用了soft-NMS不把这些候选框给抑制了,ap也不会怎么提高。而基于proposal召回率本身就很高了,用了NMS会去除一些假阳性的结果,使得ap提高。

6.2敏感性分析
在faster r-cnn或者r-fcn上用soft-NMS会比传统的NMS效果好那么一点(0.10.7),在Nt或σ在0.30.6之间时,准确率比较稳定。
在这里插入图片描述
6.3 为什么soft-NMS效果比NMS好?
在这里插入图片描述
从表3可分析:
对于传统的NMS:

  1. 高Ot(代表检测阈值)时,AP值随着Nt值上升有轻微上升趋势(第二个红框)。
  2. 低Ot时,AP值随着Nt值上升而大幅下降(第一个红框)。

对于soft-NMS:
在高Ot时,AP值随着σ值上升会有提升。
但在低Ot时,AP值并不像传统nms大幅下降,而只是略微下降一点。

6.4 有质量的结果
有些得分不高的框,由于跟多个其他框有重叠,那么这个框的得分就会被多次衰减。

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值