GWD:基於高斯Wasserstein距離的旋轉目標檢測 | ICML 2021

  論文詳細描述了當前旋轉目標檢測的主要問題,提出將旋轉回歸目標定義爲高斯分佈,使用Wasserstein距離度量高斯分佈間的距離用於訓練。目前,常規目標檢測也有很多將回歸轉化爲概率分佈函數的做法,本文有異曲同工之妙,值得閱讀

來源:曉飛的算法工程筆記 公衆號

論文: Rethinking Rotated Object Detection with Gaussian Wasserstein Distance Loss

Introduction


  任意朝向的目標在檢測數據集中無處不在,相對於水平的目標檢測,旋轉目標檢測仍處於起步階段。目前,大多數SOTA研究都集中於迴歸目標的旋轉角度,而解決旋轉角度則帶來新的問題:i) 指標與損失不一致。ii) 旋轉角度迴歸區間不連續。 iii) 方形問題。事實上,以上的問題還沒有很好的解決方案,這會極大地影響模型的性能,特別是在角度在範圍邊界的情況。

  爲了解決上述問題,論文提出了GWD方法,首先使用二維高斯分佈來對旋轉目標進行建模,然後使用Gaussian Wasserstein Distance(GWD)來代替不可微的旋轉IoU,根據GWD計算loss值,這樣就將模型訓練和度量標準對齊了。
  論文的主要貢獻有以下幾點:

  • 總結了旋轉目標檢測的三個主要問題。
  • 使用Gaussian Wasserstein Distance(GWD)描述旋轉bbox間的距離,再用GWD計算代替IoU損失的loss,且是可微的。
  • GWD-based損失能夠解決旋轉角度範圍不連續問題和方形問題,且對bbox的定義方式沒有要求。
  • 在多個公開數據集上進行測試,論文的方法均有不錯的表現。

Rotated Object Regression Detector Revisit


Bounding Box Definition

  圖2展示了兩種旋轉bbox的定義方式:OpenCV形式\(D_{oc}\)和長邊形式\(D_{le}\),前者的角度爲\(h_{oc}\)和橫座標的夾角\(\theta\in[-90^{\circ},0^{\circ})\),後者的角度則爲長邊與橫座標的夾角\(\theta\in[-90^{\circ},90^{\circ})\),兩種定義可以進行相互的轉換(不考慮中心點):

  兩種表示方法的主要差異在於邊順序和角度\((h,w,\theta)\),相同的bbox用不同的表達方式,可能需要交換邊的順序或角度加減90。在現在很多的研究中,將模型的設計與bbox的定義進行耦合來避免特定的問題:如\(D_{oc}\)可避免方形問題,\(D_{le}\)可避免邊交換問題。

Inconsistency between Metric and Loss(指標與損失不一致問題)

  IoU是檢測領域的重要評測指標,但在實際訓練中使用的迴歸損失函數(如\(l_n\)-norms)與評測指標往往存在不一致的問題,即更小的損失值並不等於更高的性能。目前,不一致問題在水平目標檢測領域已經有了一些應對措施,如DIoU和GIoU。而在旋轉目標檢測領域,由於角度迴歸的加入,使得不一致問題更加突出,但目前仍沒有很好的解決方案,論文也列舉了一些例子來對比IoU損失和smooth L1損失:

  • Case 1: 角度差值與損失值之間的關係,曲線幾何都是單調的,但只有smooth L1曲線是凸曲線,能優化到全局最優解。

  • Case 2:長寬比差異與損失值之間的關係,smooth-l1損失值是固定的(主要來自於角度差異),而IoU損失則隨着橫軸劇烈變化。

  • Case 3:中心點偏移對損失值的影響,曲線都是單調的,但smooth L1曲線與差值大小沒有高度一致。

  從上面的分析可以看出,在旋轉目標檢測領域,IoU損失更能填補評判準則與迴歸損失間的差異。但很遺憾,在旋轉目標檢測領域,兩個旋轉bbox間的IoU計算是不可微的,不能用於訓練。爲此,論文基於Wasserstein distance提出可微的損失來替代IoU損失,順便也可以解決旋轉角度迴歸區間不連續問題和方形問題。

Boundary Discontinuity and Square-Like Problem(旋轉角度迴歸區間不連續以及方形問題)

  上圖的Case1-2總結了旋轉角度迴歸區間不連續問題,以以OpenCV形式的Case 2爲例,對於anchor\((0,0,70,10,-90^{\circ})\)以及GT\((0,0,10,70,-25^{\circ})\),存在兩種迴歸的方法:

  • way1逆時針旋轉一個小角度即可,預測結果爲\((0,0,70,10,-115^{\circ})\),但由於角度的週期性(PoA)和邊順序交換(EoE),若使用smooth L1損失函數,這個結果與GT間會產生巨大的損失值。另外,這個角度也超出了預定的角度範圍。
  • 選擇way2則需要在縮放寬高的同時,順時針旋轉一個大的角度。

  上述的問題通常出現在anchor和GT的角度在角度範圍的邊界位置時,當anchor和GT的角度不在邊界位置時,way1則不會產生巨大的損失值。因此,對於smooth-L1,邊界角度和非邊界角度的最優處理會太一致,這也會阻礙模型的訓練。

  方形問題主要出現在使用長邊形式的檢測方法中,由於方形目標沒有絕對的長邊,長邊形式對方形目標的表達本身就不唯一。以Case3爲例,存在anchor\((0,0,45,44,0^{\circ})\)以及GT\((0,0,45,43,-60^{\circ})\),way1可以順時針旋轉一個小角度變成位置與GT一致的\((0,0,45,43,30^{\circ})\)。但由於角度差距較大,way1會產生較高的迴歸損失。因此,需要像way2那樣逆時針旋轉較大的角度。造成方形問題的主要原因並不是前面提到的PoA和EoE,而是度量標準和損失計算的不一致導致的。

The Proposed Method


  經過上述的分析,論文希望新的旋轉目標檢測方法的迴歸損失函數滿足以下幾點:

  • Requirement1: 與IoU度量標準高度一致。
  • Requirement2: 可微,允許直接學習。
  • Requirement3: 對角度迴歸範圍的邊界場景更爲平滑。

Wasserstein Distance for Rotating Box

  目前大多數IoU損失都可認爲是距離函數,基於此,論文基於Wasserstein distance提出新的迴歸損失函數。首先,將旋轉bbox\(\mathcal{B}(x,y,h,w,\theta)\)轉化爲2-D高斯分佈\(\mathcal{N}(m,\sum)\)

\(R\)爲旋轉矩陣,\(S\)爲特徵值的對角向量。對於\(\mathbb{R}^n\)上的任意兩個概率測度\(\mu\)\(\upsilon\),其Wasserstein距離\(W\)可表達爲:

  公式2對所有的隨機向量組合\((X,Y)\in\mathbb{R}^n\times\mathbb{R}^n,X\sim\mu,Y\sim\upsilon\)進行計算,代入高斯分佈\(d:=W(\mathcal{N}(m_1,\sum_1);\mathcal{N}(m_2,\sum_2))\),轉換得到:

  特別要注意:

  考慮在可交換的情況(水平目標檢測)\(\sum_1\sum_2=\sum_2\sum_1\)下,公式3可轉換爲:

\(\parallel\parallel_F\)爲Frobenius範數,這裏的bbox均是水平的,公式5近似於\(l_2\)-norm損失,表明Wasserstein距離與水平檢測任務中常用的損失一致,能夠用於迴歸損失。這裏的公式推算比較複雜,有興趣的可以看看參考文獻。

Gaussian Wasserstein Distance Regression Loss

  論文采用非線性轉化函數\(f\)將GWD映射爲\(\frac{1}{\tau+f(d^2)}\),得到類似於IoU損失的函數:

  前面的曲線圖也描述了使用不同非線性函數\(f\)下的損失函數曲線,可以看到公式6十分貼近IoU損失曲線,也能度量無相交的bbox。因此,公式6顯然可以滿足Requirement1和Requirement2,下面開始分析Requirement3,先給出公式1的特性:

  根據特性1可知,GWD損失函數對於OpenCV形式和長邊形式是相等的,即模型不需要固定特定bbox表達形式進行訓練。以Case2的Way1爲例,GT\((0,0,70,10,65^{\circ})\)和預測\((0,0,70,10,-115^{\circ})\)擁有相同的均值\(m\)和方差\(\sum\),GWD損失函數不會輸出較大的損失值。而根據特性2和特性3,Case2和Case3的way1同樣不會產生較大的損失值,所以GWD損失函數也滿足Requirement3。
  整體而言,GWD在旋轉目標檢測的優勢有以下幾點:

  • GWD使得bbox的不同定義形式相等,保證模型能夠專注於準確率提升,不需要顧忌bbox的定義形式。
  • GWD是可微的IoU損失替代方案,與檢測指標高度一致。而且,GWD可以度量無相交bbox間的距離,類似於GIoU和DIoU的特性。
  • GWD避免了旋轉角度迴歸區間不連續問題和方形問題,降低了模型的學習難度。

Overall Loss Function Design

  論文將RetinaNet作爲基礎檢測器,bbox表示爲\((x,y,w,h,\theta)\),實驗主要採用OpenCV形式,迴歸目標定義爲:

  變量\(x\),\(x_a\),\(x^{*}\)分佈代表GT,anchor和預測結果,最終的多任務損失函數爲:

\(N\)爲anchor數,\(obj_n\)爲前景或背景的指示器,\(b_n\)爲預測bbox,\(gt_n\)爲GT,\(t_n\)爲GT的標籤,\(p_n\)爲預測標籤,\(\lambda_1=1\)\(\lambda_2=2\)爲超參數,\(L_{cls}\)爲focal loss。

Experiments


  對比其他針對特定問題的解決方案。

  在DOTA數據集上對比多個模型,論文還有很多其他實驗,有興趣的可以去看看。

Conclusion


  論文詳細描述了當前旋轉目標檢測的主要問題,提出將旋轉回歸目標定義爲高斯分佈,使用Wasserstein距離度量高斯分佈間的距離用於訓練。目前,常規目標檢測也有很多將回歸轉化爲概率分佈函數的做法,本文有異曲同工之妙,值得閱讀。

參考內容

如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公衆號【曉飛的算法工程筆記】

work-life balance.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章