摘要:本文解讀了《Gaussian Bounding Boxes and Probabilistic Intersection-over-Union for Object Detection》,該論文針對目標檢測任務,提出了新的高斯檢測框(GBB),及新的計算目標相似性的方法(ProbIoU)。

本文分享自華為雲社群《論文解讀系列十九:用於目標檢測的高斯檢測框與ProbIoU》,作者:BigDragon。

論文地址: https://arxiv.org/abs/2106.06072

Github地址: https://github.com/ProbIOU

現有目標檢測的改進方向主要集中在:訓練更大資料集 (LVIS dataset)、處理類別不均衡、提出更好的 backbones 、建立長距離相互作用模型 (Transformers , LambdaNetworks)、分類和檢測框的權衡分析,對於檢測框的呈現形式相關研究較少。現有目標檢測任務中以水平框 (HBB )和旋轉框 (OBB )為主,呈現形式還是矩形或者類矩形。 而現有目標距離及相似性計算方式包括:IoU (Intersection over Union)、 GIoU (Generalized IoU )、 DIoU (Distance IoU)、 PIoU (Pixel IoU), Gaussian Wasserstein Distance (GWD)。

現有OBB演算法在細長及旋轉物體檢測問題相對於HBB演算法有所提高,但是與目標語義分割的貼合度不高,因此,本文提出更加貼合語義分割形式的分割呈現形式及對應的目標相似度計算方法。

該論文貢獻如下:

  • 提出一種新的橢圓形目標檢測框 (Gaussian Bounding Boxes,GBB)

GBB與目標的語義分割mask形狀更加接近,更加貼合非矩形目標,在非矩形目標檢測效果優於HBB和OBB。

  • 提出一種新的目標相似度的計算方法 (Probabilistic IoU,ProbIoU)

基於Hellinger Distance的ProbIoU,考慮了2D高斯分佈的特點,滿足所有距離度量標準,能夠表示不同分佈間的真實距離,且處處可微,能提升OBB和HBB目標檢測效果。

1.Gaussian Bounding Boxes (GBB)

為在 2 維區域確定一個二維高斯分佈,需要計算其均值μ和協方差矩陣∑,其中μ為 (x0, y0) T,協方差矩陣∑可通過下列公式進行計算。在目標檢測任務中,可直接設定(x0,y0,a,b,c )作為目標檢測中的迴歸任務中的引數,也可將回歸任務中引數表示為(x0, y0,a ’,b ’,θ ),而後者的形式更加符合現有旋轉檢測框的輸出形式。

假設

水平框及旋轉框向高斯框轉換中遵循以下假設:目標區域為 2 維二元區域 Ω,且 Ω 符合均勻概率分佈,則該分佈的均值 μ 和協方差矩陣 ∑ 可通過如下公式進行計算。

其中, N 表示區域 Ω 的面積。

1.1 將 HBB 轉化為 GBB

對於 HBB ,其二元區域 Ω 為以 (x0, y0) 為中心,高為 H,寬為 W 的矩形區域 , 因此 μ 為 (x0, y0) , 它的協方差矩陣 Σ 可通過如下公式進行計算

因此,可以得出 a=w²/ 12 , b =H²/12,c=0 。如上述公式所示,轉換後的高斯框也可以轉化水平框,該過程是可逆的。

1.2 將 OBB 轉化為 GBB

OBB 轉化為 GBB 需要計算 (a ’,b ’,θ),如下圖所示,方差 a ’和b ’ 可通過將旋轉框轉化為水平框進行計算, 其協方差矩陣可通過下列公式進行計算。

1.3 多邊形框 (PBB) 轉化為 GBB

多邊形框轉化為高斯框,可按下列公式進行計算:

2. ProbIoU 及定位損失函式

2.1 ProbIoU

Bhattacharyya Distance (BD)

為計算不同 GBB 間的相似度,本文首先採用了 Bhattacharyya Coefficient(BC);兩個概率密度函式 p(x)和 q(x) 間的 BC 按下列公式進行計算:

其中 BC (p,q ) ∈ [0,1], 當且僅當兩個分佈相同時,BC (p,q)=1 。

基於上述 BC ( p,q ),可以得到不同 分佈間的巴氏距離 (Bhattacharyya Distance, BD), 兩個概率密度函式p(x)和q(x) 間的BD按下列公式進行計算:

當 p ~N (μ1,Σ1), q~N (μ2, Σ2 ) 且目標檢測中實際問題為2維向量及矩陣,巴氏距離 BD 可通過如下公式進行計算:

Hellinger Distance (HD)

由於 Bhattacharyya Distance 不滿足三角不等式,所以它並不是真實的距離,因此,為表示真實距離,採用 Hellinger Distance (HD) ,其公式如下:

其中 HD (p,q) ∈ [0,1],當且僅當兩個分佈相同時, HD(p,q)=0 。

Probabilistic IoU (ProbIoU)

基於上述 Hellinger Distance , 本文提出高斯分佈相似性計算方法 ProbIoU ,其具體計算公式如下:

2.2 定位損失函式

假設預測 GBB 為 p= (x1,y1,a1,b1,c1 ),真實 GBB 為 p=(x2,y2,a2,b2,c2 ),則其損失函式如下所示:

然而,當預測 GBB 遠離真實 GBB 距離時, L1 損失函式的值接近於 1 ,訓練過程產生梯度小且收斂速度慢。 L2 損失函式避免了上述問題,但與 IoU 的幾何關係弱,因此,建議首先採用 L2 損失函式訓練,然後切換至 L1 損失函式。

2.3 ProbIoU 的特性

基於 Hellinger Distance 的 ProbIoU 具有以下特性:

  • 三個函式中所有引數都是可微的;
  • Helinger Distance 滿足所有距離度量標準 ;
  • 損失函式對物件縮放是不變的。

3. 實驗結果

3.1 不同檢測框 實驗結果

在 COCO2017 上進行訓練, 通過對比 GBB 、OBB 、HBB 檢測得到的 IoU,可得到如下結論:

  • GBB 在 COCO 2017 中 77 類別的均值 IoU 要高於 HBB 和 OBB
  • GBB 在 traffic light 、 microwave 、 tv 三個類別要差於 HBB 和 OBB

3.2 ProbIoU loss 對於 HBB 、 OBB 檢測的提升

將基於 ProbIoU 的損失函式用於 HBB 檢測任務中, 分別採用 EfficientDet D0 和 SSD 300 在 PASCAL-VOC 2007 資料集訓練。如下表所示, 相對於 IoU , 採用 ProbIoU 方法 在 AP 及 AP75 均有提升,採用基於 ProbIoU 的損失函式的模型均能達到較高 AP 。

將基於 ProbIoU 的損失函式用於OBB 檢測任務中, 分別採用 R-50 Retinanet 及 R-50 R3Det ,在 DOTA v1 及 HRSC2016 資料集進行訓練。如下表所示,在 DOTA V1 資料集,採用 Retinanet 模型時,基於 ProbIoU 的 損失函式 AP 比 GWP-ret 高 2%;採用 R3Det 模型時, 其結果與GWD-rep 和GWD-ret 接近。在 HRSC2016 資料集上,基於 ProbIoU 的損失函式結果與GWD-rep 相當, 並且優於GWD-ret 。

4. 總結

本文所呈現的方法包含以下三個重要部分 :

  • 採用高斯分佈形式檢測框 (GBB)
  • 提出基於 Hellinger Distance 的 ProbIoU,並提出對應的損失函式 L1,L2
  • 訓練過程中,採用L1 和 L2 損失函式組合效果更佳

本文所呈現的方法侷限性包含以下兩個部分 :

  • 對於等軸的高斯分佈,無法確定其旋轉角度
  • 對於細長目標,訓練過程中容易梯度過大,造成訓練不穩定。

想了解更多的AI技術乾貨,歡迎上華為雲的AI專區,目前有AI程式設計Python等六大實戰營供大家免費學習

點選關注,第一時間瞭解華為雲新鮮技術~