《Softer-NMS: Rethinking Bounding Box Regression for Accurate Object Detection》
- intro:CMU & Face++
- arXiv:https://arxiv.org/abs/1809.08545
- github:https://github.com/yihui-he/softer-NMS
- 推荐:Softer-NMS: Rethinking Bounding Box Regression
for Accurate Object Detection
背景
先回顾一下NMS和Soft-NMS:
NMS还好理解,就是统计与指定类别最高置信度BBS具有一定重叠度(IoU)较的BBS,然后根据IoU阈值来对置信度进行打分。高于阈值,则置信度置为0,低于阈值,则不变。
举个例子:
下图中红色边界框的置信度最高,绿色框的置信度较小,但和红色框的IoU较大,如果按NMS规则,那么此时绿色框的置信度则置为0。可是实际上,绿色框是后面那匹马的边界框,而红色框是前面那匹马的边界框,两者应该同时存在。
其实是因为两个目标太近了,NMS的规则(阈值的设定太hard)在这种情况下就不能满足条件,以至于NMS的recall比较低。
上面NMS使得"重叠边界框"的置信度为0,所以后面就没有意义了,该边界框都不会再被考虑了。
来看看Soft-NMS如何解决这个问题的:
方法1:线性法
为了改变NMS这种hard threshold做法,并遵循IoU越大,得分越低的原则(IoU越大,越有可能是False Positive),于是用下面这个公式来表示Soft-NMS:
方法2:高斯法
但是方法1是不连续的,这样会导致边界框BBS集合中的score出现断层,因此就有了下面这个Soft NMS式子(也是大部分实验中采用的式子):
解释一下,为什么IoU越大,得分越低。首先,得分越低是优于得分为0的,毕竟还能参与后面的计算,还有可能被"捞"起来。其次,IoU越大,说明两个边界框实在太解决了,其实是两个很重叠的目标,其实对应的边界框IoU也不是特别大。这里针对的是对一个目标,检测的两个重叠度很高的边界框,所以默认最大的就行,但又不能设置阈值一刀切,所以就设计"反比"关系。
创新点
- 提出KL Loss:用于具有定位置信度(localization confidence)的训练检测网络。
- 提出Softer-NMS:通过置信度估计来提高定位精度
关键词:KL Loss、NMS
In this section, we first propose KL Loss for training detection network with localization confidence. Then a new NMS approach is introduced for improving localization accuracy with our confidence estimation.
Bounding Box Regression with KL Loss
- TODO:原理剖析
Softer-NMS
- TODO;原理剖析
其实从下图中可以看到引入了 variances,这是NMS和Soft-NMS中没有的。
实验结果
从下面的表格中,可以看出KL Loss + Softer-NMS最佳的组合算法。各项条件下,mAP均最高。