为什么vs会输出一个框作为结果_检测与分类专辑 | 对精准目标检测的含不确定性的边界框回归...
摘要
大型目標檢測數據集(如MS-COCO) 試著盡可能地將邊界框框的非常清晰,但是在標記邊框時會存在歧義。在本文中,提出了一種新的邊界框回歸損失學習邊界框的移動及位置方差,此方法在不增加計算量的基礎上提高了不同架構定位的準確性,學習到的位置變化用于在進行NMS處理時合并兩個相鄰的邊界框,進一步提升了定位的準確性在MS-COCO數據集上,將VGG-16 Faster R-CNN的平均精度(AP)從23.6%提升到了29.1%。更重要的是,對于ResNet-50-FPN Mask R-CNN,此方法將AP和AP90分別提高了1.8%和6.2%,大大超過了之前比較先進的邊界框改進方法。1.引言
像ImageNet、MS-COCO和CrowdHuman這樣的大型目標檢測數據集都盡量清晰地標注ground truth邊界框。然而邊界框在有些情況下會不可避免的存在不確定性,不確定性會使標注和邊界框回歸函數的學習變得困難。MS-COCO中一些不精確的標注框展示在圖1(a)(c)中。當物體被部分遮擋了,邊界框的邊界將更加難以區分,比如圖1(d)。
圖1.在目標檢測數據集中,ground-truth邊界框在一些情況下存在固有的不確定性。(a)(c)標注的不確定性。(b) 遮擋帶來的不確定性。(d) 目標自身邊界是不確定的。由于樹的遮擋,火車的左邊界是不清晰的
目標檢測是一項多任務的學習問題,由目標定位和目標分類組成。當前最好的目標檢測器(如:Faster R-CNN, Cascade R-CNN, Mask R-CNN)都依賴于邊界框回歸來定位目標。然而,傳統的邊界框回歸損失并沒有將邊界框的不確定性考慮進去,而且邊界框回歸當分類分數很高的情況下被假定是準確的,但事實并不總是這樣,如圖2。
圖2.VGG-16 Faster R-CNN在MS-COCO數據集上錯誤的案例。(a) 兩個框都是不準的。(b) 分類分數高的邊界框反而是錯誤的
為了解決這個問題,提出了新的邊界框回歸損失,叫做KL Loss,旨在同時學習邊界框回歸和定位不確定性。具體來說,為了獲得預測框的不確定性,首先為邊界框預測和ground-truth框建模為高斯分布和狄拉克函數。接著定義了預測分布和真實分布的KL散度。采用KL Loss學習有三個好處:(1) 數據集中的不確定性可以被很好的捕獲到,邊界框回歸器會從不確定邊界框中計算出更小的損失;(2) 學習到的方差在后處理階段非常有用。同時還提出了方差投票,在NMS階段使用預測方差來加權候選框相鄰的位置,最后投票得到候選框的最終定位。(3) 學到的概率分布是可解釋的,因為它反映了邊界框預測的不確定度,可以對自動駕駛和機器人上的應用有潛在的幫助。
為了證明KL Loss和方差投票的泛化能力,在PASCAL VOC2007、MS-COCO上驗證了多種CNN目標檢測器,包括VGG-CNN-M-1024、VGG-16、ResNet-50-FPN和Mask R-CNN。實驗表明了此方法在目標定位上有更好的準確性。對于MS-COCO數據集上的VGG-16 Faster R-CNN模型將AP從23.6%提高到了29.1%,GPU(GTX 1080Ti)上前向預測時間僅增加了2ms。而且,對于ResNet-50-FPN Mask R-CNN,AP和AP90 分別提高了1.8%和6.2%,超越了目前最先進的邊界框精調算法。
2.?方法
2.1 邊界框參數化
??? 基于圖3所示的雙階段目標檢測器Faster R-CNN或Mask R-CNN,可以分別回歸邊界框的各個邊界。實驗目標是估計定位置信度。嚴格上說,是利用網絡預測一個概率分布而不僅僅是邊界框位置。盡管分布可能非常復雜,像多元高斯或混合高斯那樣,但是本文中假設坐標是獨立分布的,并且用一元高斯來簡化問題。圖3說明了目標檢測器的網絡結構。
圖3.用于估計位置置信度的網絡結構。不同于傳統的標準fast R-CNN的雙階段網絡模型頭部,此網絡的KL Loss回歸損失將估計到的邊界框位置的標準差考慮在內
2.2 使用KLLoss進行邊界框回歸
對于N個樣本的KL散度最小化,使用KL散度作為邊界框回歸的損失函數,分類損失保持不變。如圖4所示,當位置未被估計準確時,期望網絡能夠預測一個更大的方差,使回歸損失減小,用隨機高斯初始化來預測全連接層的權重。標準差和平均值分別設置為0.0001和0,使KL Loss和標準的smooth L1損失在訓練初期相似。
圖4.估計值的高斯分布,對應藍色和灰色的曲線。橙色的曲線是ground-truth對應的狄拉克函數。當位置沒被估計準確,期望預測結果有更大的方差,這樣回歸損失會比較低(藍色)
2.3 方差投票
在獲得預測位置的方差后,接下來要根據學習到的相鄰邊界框的方差來選舉出候選邊界框來。在NMS和soft-NMS循環中投票選出被選中框的位置。在選中有最大得分的檢測結果后,新的位置通過它本身和對應相鄰邊界框計算得到。受到soft-NMS啟發,分配更高的權重給那些接近的且有更少不確定性的框。兩種類型的相鄰邊界框會得到更低的權重:(1) 有大方差的框,(2) 和候選框的IoU小的框。類別得分在投票中不被考慮,因為更低得分的框可能有更高的定位準確度。圖5中提供了一種方差投票的可視化解釋。借助方差投票,兩種在圖2中提到的現象會被避免。
圖5.在MS-COCO上VGG-16Faster R-CNN模型的投票結果。兩種錯誤的情形都被方差投票解決:(a) 當每個候選框在某些坐標上是不準確的情況下(右邊的女性),方差投票可以整合位置置信度,給出更好的框。(b) 高分類得分的邊界框(火車 0.99)實際上相比低分類得分的邊界框(火車 0.35)有更低的定位準確度,在方差投票后,0.99的得分框移動到了正確的位置上
3.?實驗
為了證明本文實驗在目標檢測中的準確性,使用了兩種數據集:MS-COCO和PASCAL VOC 2007。實驗中使用4塊GPU。訓練策略和batchsize根據線性尺度變換規則調整。對于VGG-CNN-M-1024,基于Caffe實現。對于ResNet-50 FPN和Mask R-CNN,基于Detectron實現。對于VGG-16 Faster R-CNN,參考py-faster-rcnn,在train2014上訓練,在val2014上測試。對于其他目標檢測框架,訓練和測試都在train2017和val2017上。除非特別指定,所有超參數設置為默認。
3.1 消融研究
在VGG-16 Faster R-CNN驗證了檢測模型中每個模塊的貢獻:KL Loss、soft-NMS和varvoting。詳細結果表1中呈現。
表1.MS-COCO上模型中每個模塊的貢獻,baseline是VGG-16 Faster R-CNN
KL Loss
令人驚訝的是,用KL Loss簡單的訓練就能獲得2.8%的AP提升,這樣的結果也同樣表現在ResNet-50 Faster R-CNN和Mask R-CNN上(1.5%和0.9%)。首先,通過在訓練中學習高不確定性的樣本來預測高的方差,網絡可以學到更多有用的樣本。其次,定位用的梯度可以自適應通過訓練來控制,這樣鼓勵網絡學到更準確的目標位置。第三,KL Loss學習位置置信度,可以潛在幫助網絡學習到更有判別力的特征。通過KL Loss學到的方差是可解釋的。網絡對于有挑戰性的目標邊界會輸出更高的方差,這樣在一些諸如自動駕駛和機器人的視覺應用上會很實用。圖5的第一行就展示了一些KL Loss學到的標準差定量的例子。
表2.GPU1080TI,CUDA 8, CUDNN 6,MS-COCO,VGG-16 Faster R-CNN上的前向時間對比
方差投票
最后,方差投票進一步提高了AP 29.1%,提升主要來自于更準確的定位。注意到AP50只提升了0.1%,但是AP75,APM,APL分別提升了1.8%,1,8%,1,6%,見表1。這說明了分類置信度和位置置信度不總是相關的。因此,將定位置信度和分類置信度分開學習對提升目標定位準確性至關重要,且方差投票和soft-NMS可以共同作用。用標準的NMS的方差投票,AP提升1.4%,用soft-NMS的方差投票,AP可以提升1.3%,則可以認為soft-NMS擅長利用候選框得分來提升性能,而方差投票擅長精調這些候選框以獲得更精確的目標位置。圖5第二行就展示了方差投票的定量的例子。圖6中,測試了方差投票中可調參數的靈敏度。
圖6.ResNet-50Faster R-CNN中,AP提升隨著方差投票的參數的變化關系
3.2?PASCAL VOC 2007上的實驗
盡管本文中的方法針對大尺度目標檢測任務設計,但它同樣也能在小的數據集上有較好的泛化能力。用Faster R-CNN在PASCAL VOC 2007上進行了實驗,包含了超過20個類別的5k張voc_2007_trainval圖像和5k張voc_2007_test圖像。骨架網絡是:VGG-CNN-M-1024和VGG-16。如表3所示,和soft-NMS做了對比。對于QUBO,測試了貪心和經典tabu求解器。觀察到它比標準的NMS效果還差,盡管論文中在行人檢測任務中給出了很好的結果。假設QUBO在行人檢測任務中效果好是因為有遮擋邊界框的原因。對于VGG-CNN-M-1024,用方差投票訓練提高了mAP 1.6%,進一步提高了0.8%。對于VGG-16而言,將本文所提出的方法和soft-NMS結合提高了mAP 2.9%。注意到方差投票仍然能提升性能即使已經對初始檢測框進行了soft-NMS操作。
表3.用Faster R-CNN在PASCALVOC 2007上對比不同的方法
4.結論
總結來說,在大型數據集中的不確定性會影響先進的目標檢測器的性能。分類置信度不總是和位置置信度有強的關聯。本文提出了一種新的邊界框回歸損失,借助不確定性來學習更準確的目標位置。通過使用KL Loss訓練,網絡學到了每個坐標點的位置方差,并用其來進行方差投票精調邊界框的位置,并在各種網絡和數據集上證明了效果。
總結
以上是生活随笔為你收集整理的为什么vs会输出一个框作为结果_检测与分类专辑 | 对精准目标检测的含不确定性的边界框回归...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python压测接口_python的一个
- 下一篇: qt定时器是阻塞的吗_吊打面试官 | 面