提升小目標檢測的一種新的包圍框相似度度量:Normalized Gaussian Wasserstein Distance

語言: CN / TW / HK

導讀

本文分析了小目標檢測中使用IoU的最大缺點,對於位置的微小變化太過敏感,因此提出了一種新的度量包圍框相似度的方法,用來替換IoU,從實驗結果來看,效果也是非常的明顯。

A Normalized Gaussian Wasserstein Distance for Tiny Object Detection

摘要:檢測小目標是個很大的挑戰,因為小目標一般在尺寸上只佔據很少的畫素,目前的最好的物體檢測器也無法在小目標上取得滿意的效果,因為缺少明顯的資訊量。我們發現,目前的基於IoU的度量方法,對於小目標的位置的變化非常的敏感,因此,當我們在使用基於anchors的方法時,會明顯的使得檢測結果。為了減輕這個影響,我們對於小目標,提出了基於Wasserstein距離的度量方式。具體來說,我們先對包圍框建模成一個2D的高斯分佈,然後提出一個新的度量方式,叫做Normalized Wasserstein Distance (NWD) ,來計算對應的高斯分佈之間的相似度。我們提出的這個NWD度量方式可以非常容易的嵌入到基於anchor的檢測器的標籤分配,非極大值抑制,以及損失函式中,替代常用的IoU的度量。我們在一個新的小目標檢測資料集上評估了我們的這個度量方式,在這個資料集中,目標的平均尺寸要比現有的物體檢測資料集的物體尺寸要小的多。廣泛的實驗表明,當使用了NWD的度量方式後,我們的方法要比baseline高6.7AP,相比於SOTA也高6AP。

1、介紹

小目標檢測在現實場景中是很常見的,但是現有的目標檢測器大都是在常規尺寸的目標上進行研究和發展。而小目標在AI-TOD資料集中為小於16x16畫素的目標,表現出的資訊量非常的少,這導致了網路很難學習出可區分的特徵,因此,在檢測的時候會出現非常多的錯誤。

當前,對於小目標檢測的發展主要集中在如何提取可區分的特徵上。有些是通過對輸入影象尺寸進行歸一化,提高小目標及其特徵的解析度來提升效果。還有些實用生成對抗網路來生成超解析度的圖。另外,還有通過FPN來學習多尺度的特徵來得到具有尺度不變性的檢測器。這都取得了一些進展,但是這些精度的提升都是有額外的代價的。

為了學習到具有可分性的特徵,訓練樣本的選擇在anchor based檢測器中起到了非常關鍵的作用,也就是說正負樣本的分配是非常重要的。但是,由於小目標只有幾個畫素,這在訓練時選擇樣本的時候增加了難度。如圖1,我們發現,IoU度量對於不同尺度的物體的敏感程度會有很大的不同,對於6x6的小目標,一個很小的位置變化會導致IoU的巨大的變化。而對於正常尺寸的物體36x36,同樣大小的位置變動,其IoU的變化很小。圖2顯示了4個對於不同的尺寸的物體,IoU的變化曲線。在小物體的時候,曲線下降的很快。值的注意的是,Iou的敏感性導致了,對於特定的包圍框的位置,只能進行離散的變化。

圖片

圖片

這個現象表明,IoU的度量對於尺度是不具備不變性的,而且變化是離散的,這就導致了在標籤分配時有2個缺陷。具體來說,IoU閾值()在anchor based物體檢測器中用來分配正負樣本,在RPN中,一般用到(0.7,0.3)。首先,IoU在小目標上的敏感性會導致標籤很容易變得相反,這就導致正負樣本可能會具有相似的特徵,網路很難收斂。第二,我們發現,在AI-TOD資料集中,使用IoU作為度量的話,每個gt平均分配到的正樣本的數量是小於1的,這是由於有些gt和任意的anchor之間的IoU都小於閾值。這樣,在訓練的時候,小目標就會缺少足夠的監督資訊。儘管有一些自適應調整閾值的方法,如ATSS,可以動態的調整匹配的閾值,但是對於小目標,仍然很難找到一個合適的閾值,來得到高質量的正負樣本。

既然發現了IoU對於小目標並不是一個很好的度量方法,我們就提出了一個新的度量方法來計算框和框之間的相似度,就是把框建模成高斯分佈,然後用Wasserstein距離來度量這兩個分佈之間的相似度,來代替IoU。這個距離的好處是,即便是2個框完全不重疊,或者重疊很少,還是可以度量出相似度出來。另外,NWD對於目標的尺度不敏感,對於小目標的更加的穩定。

NWD可以用在一階段和二階段的方法上,不僅可以替代標籤分配中的IoU,還可以替代NMS和損失函式中的IoU。實驗表明,在AI-TOD資料集中,使用我們的方法可以持續的提升效能。本文的貢獻總結如下:

  • 我們分析了IoU對於小目標的敏感性,提出了NWD,作為一個更好的度量框之間相似度的指標。
  • 我們將NWD用到了標籤分配,NMS和損失函式中,設計出了一個強大的物體檢測器。
  • 我們提出的方法可以顯著的提升TOD資料集上的表現,在Faster RCNN上,可以提升11.1%到17.6%。

2、相關工作

2.1 小目標檢測

之前的小目標檢測的方法可以大致分為3類:多尺度特徵學習,設計更好的學習策略,基於GAN的檢測。

多尺度特徵學習:一個簡單的方法就是把影象縮放成不同的尺度,訓練不同的檢測器,每個檢測器在對應的尺度範圍內可以達到很好的效果。為了減少計算量,開始使用不同尺度的特徵,特徵金字塔,之後,就是對特徵金字塔FPN的各種改進,PANet,BiFPN等等。另外,TridentNet構建了平行的多分支的結構,使用了不同的感受野來生成針對特定尺度的特徵圖。

設計更好的學習策略:由於同時去檢測小目標和大目標是很困難的,所以提出了SNIP和SNIPER,訓練的時候,選擇特定尺度範圍內的物體去訓練。Scale-Aware Network(SAN)將不同空間的特徵對映到尺度不變的子空間,使得檢測器對於不同的尺度更加的魯棒。

基於GAN的檢測器:Perceptual GAN通過將小目標的特徵和大目標的特徵的表示變得更接近來提升小目標的檢測。MT-GAN訓練了一個影象級的超解析度模型來提升小ROI的特徵表示。

2.2 物體檢測中的評估指標

IoU是目前用來度量包圍框之間相似度的最常用的方法。但是,IoU只在包圍框相交的時候有用。為了解決這個問題,提出了GIoU,然後又提出了DIoU和CIoU。在NMS的時候,可以提升效果,但是,在標籤分配中的使用卻很少提到。GWD(Gaussian Wasserstein Distance)loss,用在旋轉物體檢測中,用來度量旋轉框之間的位置關係。我們的方法主要是為了緩解小目標對於IoU太過敏感的問題,可以替換anchor based物體檢測器中的IoU。

2.3 標籤分配策略

對於小目標來說,將高質量的anchor匹配到gt上是很難的。一個簡單的方法就是降低IoU的閾值,雖然這樣可以增加小目標的正樣本的數量,但是總體質量也會下降。目前有一些工作想將標籤分配做的更加的自適應,比如ATSS,自動計算閾值,還有PAA,OTA。但是,這些方法還是用的IoU,對於TOD資料集來說,不是很合適。

3、方法

3.1 對包圍框進行高斯分佈建模

對於小目標來說,包圍框裡總是會有一些背景畫素的,因為真實的物體不可能正好是個矩形。在包圍框中,前景畫素一般集中在中間,背景畫素一般集中在邊上。為了更好的對包圍框中的每個畫素進行加權,可以將包圍框建模成一個2D的高斯分佈。具體來說,對於水平的包圍框  ,用內接橢圓可以表示為:

圖片

其中,是橢圓的中心點,是x和y軸的半徑。對應到包圍框中,,,,。2D高斯分佈的概率密度函式為:

圖片

其中,X,μ,∑分別表示座標(x,y),均值和方差。當:

圖片

時,這個橢圓就是2D高斯分佈的一個分佈輪廓。因此,水平包圍框 可以建模為一個2D高斯分佈:

圖片

這樣一來,兩個包圍框之間的相似度可以用這兩個高斯分佈之間的距離來表示。

3.2 歸一化的高斯Wasserstein距離

我們使用了最優傳輸理論中的Wasserstein距離來計算兩個分佈的距離。對於兩個2D高斯分佈,其2階Wasserstein距離可以定義為:

圖片

簡化一下:

圖片

對於兩個包圍框來說:

圖片

但是,這是個距離度量,不能直接用於相似度。我們用歸一化後的指數來得到一個新的度量,叫做歸一化的Wasserstein距離。

圖片

這裡C是一個常數,和資料集有關。在下面的實驗中,我們把C設成資料集中目標的平均絕對尺寸,這樣可以到達最好的效果。我們發現,C在一定範圍內,對於結果都是穩定的。

相比於IoU,NWD有以下好處:

1、尺度不變性。

2、對於位置的差別變換平緩。

3、具有度量不想交的框的相似度的能力。

3.3 NWD-based檢測器

我們提出的NWD可以方便的替換anchor based檢測器中的IoU的度量。我們以FasterRCNN為例,具體來說,我們分析了3個部分,標籤分配,NMS,損失函式。

NWD-based標籤分配:FasterRCNN包括2個網路,RPN用來生成proposal,R-CNN用來基於這些proposal來檢測目標。RPN和R-CNN部分都有標籤分配的環節,在RPN中,首先會生成不同大小和尺度的anchor,然後對這些anchor會分配一個二分類的標籤。對於R-CNN,標籤分配的過程和RPN類似,區別就在於R-CNN的輸入是RPN的輸出。我們用NWD來替換其中的IoU,具體來說,在訓練RPN的時候,有2種anchors會分配為正樣本:1)對於某個gt,具有最高NWD的anchor,且該NWD的值大於,2)和某個gt的NWD值大於的anchor。對應的,如果NWD值小於,就是負樣本。另外,有一部分anchor既不是正樣本,也不是負樣本,不參與訓練。

NWD-based NMS :NMS用來去除冗餘的框,也用到了IoU。而對於小目標,由於IoU的敏感性太高,會使得很多位置接近的框的IoU值太小,從而導致太多的誤檢。換成NWD後會緩解這個現象。

NWD-based Regression Loss  :IoU損失可以減少訓練和測試時候的gap,但是IoU-based loss在2中情況下無法提供梯度來優化網路1)在沒有overlap的時候,2)當gt完全包含預測框或者相反的時候。而在小目標的時候,這兩種情況都會出現。雖然DIoU和CIoU可以處理這兩種情況,但是對於位置的變化太敏感了。因此,我們設計了基於NWD的loss:

圖片

其中,是預測框的高斯分佈,是GT框的高斯分佈。

4、實驗

我們在AI-TOD和VisDrone2019資料集上進行了驗證,消融實驗在AI-TOD做,AI-TOD資料集的平均尺寸是12.8畫素。

4.1 和基於IoU的其他度量方法對比

標籤分配,NMS,損失函式的對比:

圖片

4.2 消融研究

在單個環節使用NWD的效果:

圖片

多個地方使用NWD的效果:

圖片

我們發現,在所有6個地方都使用NWD相比於只在RPN中使用NWD效果要差,為了進一步分析這個問題,我們多訓練了12個epochs,發現差距縮小了,這說明在R-CNN中使用NWD使得收斂變慢了。為了得到更好的效果和節省訓練時間,我們只在RPN中使用NWD。

4.3 結果

在AI-TOD上的效果:

圖片

不同方法在AI-TOD上的對比:

圖片

不同方法在VisDrone2019上的對比:

圖片