天天看点

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

《Bounding Box Regression with Uncertainty for Accurate Object Detection》

论文地址:

https://arxiv.org/pdf/1809.08545.pdf

论文是face++和卡耐基梅隆大学提出的,用于解决边界框回归不确定不精准的问题。提出了俩个联合使用的方法,其一是提出用KL Loss,第二点是提出var voting的候选框选择方法,俩者都是基于标准差(standard deviations)。

作者认为检测模型中的NMS使用score作为选择候选框的方法是不准确的,并不能选出符合真正目标位置的候选框。作者使用标准差(standard deviations)来改变这一问题,标准差越小,波动越小,越能代表准确的定位。

一.KL Loss替代Smooth L1 Loss

在边界框回归损失函数中加入标准差,因此首先需要模型能够预测标准差,作者在检测模型在预测边界框回归和分类概率的同时预测边界框的标准差,在fast r-cnn和Faster r-cnn中都是在fc7层之后加入预测标准差。如下图所示:

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

经过RoI pooling层后的特征经过俩次全连接层,预测其类别、边界框偏移以及边界框标准差(Box std)

作者为将标准差加入loss中,认为预测的边界框应该符合一个概率分布,为简化将其定义为高斯分布,

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)
softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

即标准差,

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

即预测边界框的值。

并且作者认为真值的边界框分布的标准差应该趋向于0,因此其分布就变成了狄拉克函数(Dirac delta function),也就是信号中的冲激函数。

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)
softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

作者使用KL散度(KL-Divergence)描述边界框预测值和真实值的距离。这里的推到只需要用冲激函数的性质即可完成。

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

其中H(x)是阶跃函数,冲激函数就是对阶跃函数求导。

由于式中只有前两项跟预测值有关,因此可以去除后两项简化为;

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

对其求导可以发现,

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

其中当

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

较小的时候(其小于1)梯度会很大,在训练的过程中会产生梯度爆炸,(我代码中实验了一下,确实因此训练中会由于梯度太大一直出现Nan值而无法训练)。

作者提出的解决方法是用

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

替代,且在前面网络最后预测标准差改为预测

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

(这点极其重要,否则梯度爆炸无法训练)

最后作者模仿Smooth L1对其做了类似的处理,最后的loss就是:

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

时,

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

否则(<1)为:

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

二、var voting替代NMS

作者将预测的标准差加入到候选框选择中替代nms中的score。

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

蓝色时soft-nms的方法,绿色时var voting的方法。

三、实验结果

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

可以看出,使用var voting,选择标准差较小的边界框更加准确。

softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)
softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

继续阅读