[Paper Reading Note]Soft-NMS -- Improving Object Detection With One Line of Code

Paper Reading Note

URL: https://arxiv.org/pdf/1704.04503

TL;DR


NMS是目标检测流程中重要的一部分,但当多个目标的overlap较大时,NMS算法会导致检测结果的丢失,针对这一问题,本论文提出了Soft-NMS算法,该算法不会把与最高分框overlap较大的检测框的score置0,而是使用一个与最高分框overlap的连续函数进行衰减。Soft-NMS相比常规的NMS只是做了一行code的修改,不需要其他任何额外的训练,因此可以很简单的结合到任何检测模型中,实际的实验也证明了Soft-NMS的确是有效的。

Dataset/Algorithm/Model/Experiment Detail

NMS存在的问题如图1所示,如果两个检测框的overlap超过了预设的NMS阈值,那么其中有一个框的score会被设为0(图中绿框),导致recall降低,作者因此提出了一种更加soft的方式,将其score从原来的0.8降低到0.4,这样绿框就会以一个更低的分数存在于检测框的list中
在这里插入图片描述
根据这种降低与最高分框overlap大于阈值的思想,作者提出了Soft-NMS的算法,如图2所示,其和NMS唯一的区别就在于对那些overlap超过阈值的框的处理,NMS中直接把框和score丢弃,而Soft-NMS则是使用一个函数 f f f 来衰减当前框的分数,其输入为当前框与最高分框IoU
在这里插入图片描述
关于函数 f f f ,原始NMS设置了一个hard的阈值 N t N_t Nt ,其score的更新可以用下面的公式表示:

对于该函数在Soft-NMS中的定义,作者采用了两种方法,第一种是使用线性函数,其不连续:

第二种则是使用高斯函数进行连续的定义:

后续的实验证明,这两种定义方式在最终的结果上基本没有差别
COCO和Pascal VOC上的结果如表1和表2所示,其中S-NMS后的G和L分别表示高斯以及线性函数,最终的结果在AP上确实较NMS有提升
在这里插入图片描述

Thoughts

思路比较简单直接,只需要在传统的NMS上稍作修改即可。但目前在实际使用上可能不太work,对于AP的提高主要集中在高recall的部分(如图5所示),在对Precision要求较高的场景下基本上提升不大
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值