摘要:本文解讀了《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等六大實戰營供大家免費學習