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層之后加入預測標準差。如下圖所示:
經過RoI pooling層后的特征經過倆次全連接層,預測其類別、邊界框偏移以及邊界框標準差(Box std)
作者為將標準差加入loss中,認為預測的邊界框應該符合一個概率分布,為簡化將其定義為高斯分布,
即標準差,即預測邊界框的值。
并且作者認為真值的邊界框分布的標準差應該趨向于0,因此其分布就變成了狄拉克函數(Dirac delta function),也就是信號中的沖激函數。
作者使用KL散度(KL-Divergence)描述邊界框預測值和真實值的距離。這里的推到只需要用沖激函數的性質即可完成。
其中H(x)是階躍函數,沖激函數就是對階躍函數求導。
由于式中只有前兩項跟預測值有關,因此可以去除后兩項簡化為;
對其求導可以發現,
其中當較小的時候(其小于1)梯度會很大,在訓練的過程中會產生梯度爆炸,(我代碼中實驗了一下,確實因此訓練中會由于梯度太大一直出現Nan值而無法訓練)。
作者提出的解決方法是用替代,且在前面網絡最后預測標準差改為預測(這點極其重要,否則梯度爆炸無法訓練)
最后作者模仿Smooth L1對其做了類似的處理,最后的loss就是:
當時,
否則(<1)為:
?
二、var voting替代NMS
作者將預測的標準差加入到候選框選擇中替代nms中的score。
藍色時soft-nms的方法,綠色時var voting的方法。
三、實驗結果
可以看出,使用var voting,選擇標準差較小的邊界框更加準確。
總結
以上是生活随笔為你收集整理的softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: softer soft parse
- 下一篇: 剪辑视频,教你简单操作添加视频背景图