Acquistion Location Confidence for accurate object detection
Acquistion Location Confidence for accurate object detection
本論文主要是解決一下兩個問題:
1、分類得分高的預測框與IOU不匹配,(我猜應該是訓練數據集導致的)
2、基於回歸的邊框修正是非單調的,缺乏可解釋性。
貢獻點
- IoU-guided NMS
- Optimization refine
- PRpooling
1、IoU-guided NMS
(1)傳統 NMS : 根據邊界框的分類置信度排序,每次選擇cls score最大的框,並對與它IoU大於閾值的框抑制。定位準確的邊界框中有很大一部分會被錯誤抑制,這是由分類置信度和定位準確度之間的不匹配造成的,
(2)IoU-NMS : 使用預測得到的IoU來對預測框進行排序,每次選擇IoU最大的框並對與它IoU大於一定閾值的框抑制。
(3)soft-NMS:NMS基礎上,IoU 大於閾值的框不將其分類置信度置為0。
為了使用IoU來指導排序,但在在測試的時候沒有GroundTruth信息,於是設計一個網絡來
估計邊框與GroundTruth的IoU。如下圖所示。
虛線框的是IoU-Net。
輸入:Jittered-RoIs:通過對groundtruth 隨機變換得到一系列的候選框(而不采用RPN輸出的RoIs)
損失:smooth-L1 LOSS
輸出:候選框與GroundTruth的IoU
2、提出的PrPooling代替了原來的RoI pooling
因為RPN網絡輸出的bounding box的坐標是浮點數,
- RoI Pooling:有量化誤差
- RoI Align:不用量化,利用雙線性插值計算出對應點的特征值。 但N=4固定,ROI大小不固定。
- PrRoI Pooling:利用雙線性插值計算出對應點的特征值,該函數連續可導,有益於後續的基於優化的邊框修正。
論文中的不足之處,缺少PrRoI-pooling的對照實驗。在Mask-RCNN中的RoIAlign的精度相對於RoIPool
The code is released at: https://github.com/vacancy/PreciseRoIPooling
3、基於優化的邊框修正
問題:
基於回歸的邊界框精修非單調,對輸入的分布變化敏感,不同的預測框叠代次數沒法自適應。
解決方法:
通過每次修正得到的邊界框預測得到IoU來修正。
基於優化的算法部分:
每次叠代對不同的預測框都做一次修正,因為PrRoI-Pool是連續可導的,所以通過梯度上升的方式進行優化,計算出邊界框的變換。當變換後的邊界框送入IoU-Net得到新的IoU與舊的IoU區別小於一定值或者出現退化,該邊界框就不在修正。
基於回歸的方法:如圖第一排隨著叠代次數的增加,紅色的預測越來越偏離GroundTruth
基於優化的方法:如圖第二排隨著叠代次數增加,預測框越來越精確。
4、實驗細節
(1)數據集:
80類別的MS-COCO 80k張訓練圖像和35k張驗證圖像,5k張驗證圖像做測試。
(2)訓練參數設置:
輸入圖像裁剪為1200*800的大小
IoU-Net的訓練數據是另外產生的。對於IoU-Net的 IoU標簽通過正則化變為【-1,1】之間。
每層的參數設置為mean=0,標準差=0.01或0.001的高斯分布,batchsize大小為16,在推理部分,先還是使用了一次邊框回歸來初始化坐標,為了加快推理,對所有檢測框做IoU -NMS前100個最大分類置信度的邊框再使用基於優化的算法進行微調。
5、實驗結果比較
相比於soft-NMS,采用了IoU-NMS的結果在AP90上明顯提高了。
問題:AP50的結果較差。
問題原因:因為較小的IoU的框與GroundTruth的特征差異大,導致了IoU預測器不精確,修正也退化了。
解決方法:通過采集更多小IoU的來訓練就可以解決
IoU-Net相較於FPN、Mask-RCNN速度下降了一點,但精度有所提升,時間耗費應該主要是在基於優化的邊框修正上
Acquistion Location Confidence for accurate object detection