【論文筆記】Libra R-CNN:Towards Balanced Learning for Object Detection


&論文概述

 

獲取地址:https://arxiv.org/abs/1904.02701v1

 &總結與個人觀點

本文中,系統地重溫了檢測器的訓練過程,從而發現了由於訓練過程中存在的不平衡問題導致模型結構的潛力並未被完全利用。基於這個觀測結果,提出Libra R-CNN通過一個總體平衡的設計來解決對應的不平衡問題。通過使用IoU-balanced取樣、balanced特征金字塔以及balanced L1 loss三個組件,Libra R-CNN在MS COCO數據集中得到了顯著的提升。此外,延伸實驗也表明,Libra R-CNN能夠很好地擴展到one-stage或two-stage中各種backbone中。

Libra R-CNN主要針對檢測過程中地不平衡問題進行展開研究,主要關注取樣、特征融合以及多任務損失計算上,但是在對比實驗中有些做的不夠詳盡地地方。

&貢獻

1、在采樣過程中,提出IoU-balanced采樣方法,使得hard example的分布與原始分布較為均衡;

2、在特征融合過程中,提出balanced feature pyramid,通過一致的融合特征對特征圖進行增強,針對在FPN中使用橫向連接增強特征使其用於增強的特征各不相同的問題;

3、在損失計算過程中,提出balanced L1 Loss,盡量避免在計算過程中,由於損失之間的相互影響,使得其一出現折中的現象。

&擬解決的問題

問題:針對檢測過程中出現的取樣、特征融合以及多任務損失的不平衡問題。

分析

除了在pipeline結構上明顯的不同(one-stage vs two-stage)外,當前的檢測框架基本上遵循同一個訓練樣式:候選區域提取、由此得來的特征提取,以及在標准多任務目標函數中識別分類與精煉定位的結合。而基於這種樣式,目標檢測訓練的性能主要依賴於三個方面:

  • 取樣的區域是否具有代表性;
  • 提取出的視覺特征是否被完全利用;
  • 設計的目標函數是否是最優的。

然而,研究表明,典型的訓練過程在這3個方面都極不平衡。而這些不平衡問題妨礙了模型結構的能力被全部利用,因此限制了整體性能。

取樣不平衡

困難樣本很有價值,因為他們對於提高檢測性能有益。但是,隨機取樣通常選擇大部分為簡單樣本,雖然OHEM能夠盡量挖掘困難樣本,然而其也對噪聲標簽敏感,同時產生更多的內容以及計算花費。Focal loss也能通過one-stage檢測器解決這個問題,但是在擴展到R-CNN中時僅有很小的提升,由於大部分簡單樣本都被two-stage部分過濾。

 

特征層級不平衡

在網絡中,high-level特征通常包含更多的語義信息,而low-level特征中包含更多的細節信息。當前,FPN以及PANet通過橫向連接進行特征融合加快了目標檢測的發展。而如何融合特征決定了檢測的性能。那么最好的融合特征的方法是什么?通過實驗表明,融合的特征應當擁有來自每一個分辨率的平衡的信息。而之前的方法都使得融合的特征更多關注於相鄰分辨率。在非相鄰層級中的語義信息在信息流的每次融合中都會被削弱。

 

目標層級不平衡

一個檢測器需要執行兩個任務(分類與回歸),即在訓練中會生成兩個無關的目標。如果兩者不適當地進行平衡,其中一個目標可能被折中,從而造成整體次優的性能。

這與訓練過程中的采樣類似,如果不進行平衡,由簡單樣本生成的小的梯度可能會被由困難樣本生成的大的梯度淹沒,限制了更深層地精煉。

 

針對以上不平衡問題,提出了對應的解決方法:1)采樣過程中使用IoU-balanced采樣,用來挖掘難例;2)在特征融合過程中使用balanced特征金字塔,使用相同的融合的balanced語義特征來對多層級的特征進行增強;3)在損失計算中使用balanced L1 loss,提升主要的梯度來對參與的分類、整體定位以及精准定位進行rebalance。

 

&框架及主要方法

1、Main Structure

2、IoU-balance Sampling

首先需要考慮“訓練樣本與其相應的ground truth間的覆蓋率是否與其困難程度相關”。

上圖分別為隨機采樣、困難負例挖掘、IoU-balanced采樣方法的樣本的IoU分布。從圖中可以看出超過60%的困難負例有着大於0.05的IoU,而隨機采樣僅有30%的困難負例高於0.05的IoU。這種采樣分布的極度不平衡使得困難負例在更多的簡單樣本中不起眼。

通過這些觀察,提出了IoU-balanced采樣。假定需要從M個響應候選區域采樣N個負例,則在隨機采樣中選擇每個樣本的可能性為:p=N/M。

為了提高選擇困難負例的可能性,按照IoU將采樣間隔均分到K個bin中。N個負例均勻分布在每個bin中,則此時根據IoU采樣的選取可能性為:pk=N/K*1/Mk, kϵ[0, K),其中Mk是第k個響應間隔中采樣候選區域的數量。此實驗中,K默認值為3。

從上圖的采樣結果分布可以看出使用了IoU-balanced的采樣方法的負例分布更接近於難例分布。同時實驗表明只要帶有更高的IoU更可能被選取,則最終性能對K並不敏感。

同樣這種方法也適用於困難正例,然而大多情況下,沒有足夠的采樣候選區域來將此擴展到正例中。為了使得balanced采樣方法更詳盡,從每個ground truth中采樣相同的正例作為可選方案。

下圖為IoU-balanced的可視化結果與隨機采樣的對比:

3、Balanced Feature Pyramid

與之前通過橫向連接融合特征的方法不同,本文通過使用相同的深度融合balanced語義特征來對多層級的特征進行增強。

 

如上圖所示,該部分主要包含4個步驟:rescaling、integrating、refining、strengthening。

  •  rescaling,為了同個多層級的特征,同時保存對應的語義層級,首先將多層級的特征{C2,C3,C4,C5}使用插值或最大池化resize到中間尺度,如與C4的size相同,通過平均化得到需要的balanced語義特征

 

   然后將該特征通過相同但相反的過程來對原始特征進行增強。每個分辨率在這個過程中獲得從其他分辨率的來的相同的信息,且該過程沒有任何的參數。

  •  refining,為了使得其更具有分辨力,對balanced語義特征進行精煉。發現直接卷積以及non-local模型都能表現地很好,但是non-local模型更具有穩定性,因此默認使用嵌入的高斯非局部注意力,這個過程能夠增強融合特征同時提高精度。

 

4、Balanced L1 Loss

在Fast R-CNN中基於多任務損失的指導分類與定位問題被同時解決,其損失函數定義如下:

 

其中p為分類的預測值,u為目標值。定義樣本的loss>=1.0的為outliers,其余的為inliers。用於平衡參與的任務的簡單解決方式是調整它們的損失權重,然而,由於無邊界的回歸目標直接提高定位損失的權重將會使得模型對outliers更敏感。這些outliers可被視為難例,將會產生對訓練過程有害的大的梯度,inliers可被看作間簡單樣本,相比於outliers只貢獻很少的梯度,差不多是其30%。考慮到這些問題,提出了balanced L1 loss。

Balanced L1 loss由在傳統的smooth L1 loss基礎上設置轉折點(loss=1.0)以分離inliers以及outliers,將由outliers生成的大的梯度限制到最大值為1.0,如上圖的虛線所示。Balanced L1 loss的關鍵點在於提升主要的回歸梯度,如來自inliers的梯度,以對參與的樣本以及任務進行rebalance,因此能夠在分類,全局定位以及精准定位中得到一個更balanced訓練。其損失定義如下:

且其梯度的響應公式按照:

 

 

在上圖(a)中顯示了balanced L1 loss在α的控制下提高inliers的梯度,一個小的α對inliers能夠提升更多的梯度,且不影響outliers的梯度。此外,由γ控制的全局promotion magnification也被引入用調節回歸誤差的上界,能夠幫助目標函數更好地平衡參與的任務。

通過繼承上述的梯度公式,可以得到如下balanced L1 loss:

  

其中b用於在上述公式中Lb(x=1)有着相同的值,γ、α以及b被限制為:

默認設置為:α=0.5,γ=1.5。

 

5、Experiments

1) 消融實驗,測試IoU-balanced采樣、balanced特征金字塔、Balanced L1 loss對Libra R-CNN的影響,實驗結果使用數據集為COCO val-2017。從中可以看出每添加一個組件,最終的AP都能進行一定的增長。

下表為IoU-balanced采樣過程中K值的影響對比,可以看出K值的變化對於整體的性能影響並不大:

下表為balanced語義金字塔的實驗,比較了其中主要的兩個步驟以及將這種方式應用到其他的網絡層級中的性能比較:

下表為balanced L1 loss在實驗中的對比結果,使用不同的α以及γ,得到最佳結果為α=0.5,γ=1.5:

 

2) Libra RPN與RPN的實驗比較,結果表明,使用Libra RPN能夠有效提高平均召回率。

&遇到的問題

1、在采樣不平衡中,提到了OHEM的缺點,但是在論文中並沒有對OHEM提到相關的對比實驗,是否是OHEM能夠達到更好的分布效果?

2、在特征層級不平衡中,文中提到使用相同的融合特征對每一層進行特征增強,但是在特征增強過程中,仍然對融合特征進行了max-pool或者interpolation,還是會使得用於增強的特征不相同,只是盡量降低了影響程度;如此,是否可以先將對應的特征圖進行相應操作到融合特征的尺度,然后再回歸到原始特征分辨率中,如此也不會影響其alignmence?

3、插值以及max-pool不會影響其語義層級嗎?

4、在損失不平衡中,提到的regression error指的是什么?

 

&思考與啟發

本論文通過針對訓練過程中的不平衡問題展開討論,對於這類方法,需要詳細了解一下各種不平衡問題的產生原因及其當前解決方法。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM