歡迎光臨
每天分享高質量文章

CVPR 2019 | 天秤座R-CNN:全面平衡的標的檢測器

作者丨文永亮

學校丨哈爾濱工業大學(深圳)

研究方向丨標的檢測、GAN

推薦理由

 

這是一篇浙江大學和香港中文大學發表於 CVPR 2019 的論文,這篇文章十分有趣,網友戲稱:“無痛漲點,實現簡單,良心 paper”,在我看來確實是這樣的,沒有太大的改造結構,不需增加計算成本的條件下,居然能漲兩個點 mAP。

除了本文解讀的 Libra R-CNN(天秤座 RCNN)[1],我記得陳愷他們港中文的實驗室今年還中了一篇 CVPR 2019,Region Proposal by Guided Anchoring [2],這篇也是不錯的,看題目就知道是指導 anchor 的形狀漲分的了。

這兩篇改進的原始碼都會在 Github 上放出,作者表示還在完善中,地址是:

https://github.com/open-mmlab/mmdetection

 

三個不平衡

 

縱觀目前主流的標的檢測演演算法,無論 SSD、Faster R-CNN、Retinanet 這些的 detector 的設計其實都是三個步驟: 

  • 選擇候選區域 

  • 提取特徵 

  • 在 muti-task loss 下收斂 

往往存在著三種層次的不平衡: 

  • sample level

  • feature level

  • objective level 

這就對應了三個問題: 

  • 取樣的候選區域是否具有代表性?

  • 提取出的不同 level 的特徵是怎麼才能真正地充分利用?

  • 目前設計的損失函式能不能引導標的檢測器更好地收斂?

 

其實如果不對 detector 的結構做功夫的話,針對這些 imbalance 改進的其實就是為了把 detector 的真正功效給展現出來,就是如果把一個標的檢測器 train 好的問題。

 

對應的三個改進

 

IoU-balanced Sampling 

 

作者認為 sample level 的不平衡是因為隨機取樣造成的,Ross Girshick 後面提出了 OHEM(online hard example mining,線上困難樣本挖掘)是一個 hard negative mining 的一種好方法,但是這種方法對噪音資料會比較敏感。隨機取樣造成的不平衡可以看下圖:

 

 

作者發現瞭如果是隨機取樣的話,隨機取樣到的樣本超過 70% 都是在 IoU 在 0 到 0.05 之間的,有人會問不是隨機嗎?為什麼大部分樣本都落在了 IOU 較小的部分了呢?

 

因為樣本的分佈在 IoU 上並不是均勻分佈的,生成候選框時隨機取樣會造成背景框遠遠大於框中 GT 的框,一張圖這麼大,是標的物體的區域只佔很小一部分,背景佔了絕大多數的位置,所以大部分樣本都擠在了 IoU 在 0 到 0.05 的區間了。

 

作者覺得這裡就是不科學的地方,統計得到的事實是 60% 的 hard negative 都落在 IoU 大於 0.05 的地方,但是隨機取樣只提供了 30%。所以作者提出了 IoU-balanced Sampling

 

隨機取樣就是比如你要選 N 個 hard negative,有 M 個候選框,選中的機率就是:

 

如果一共還是要取樣 N 個,透過 IoU 的值劃分為 K 個區間,每個區間中的候選取樣數為,則 IoU-balanced sampling 的取樣公式即為:

 

 

作者透過在 IoU 上均勻取樣,把 hard negative 在 IoU 上均勻分佈,在 COCO 資料集上達到的效果比 OHEM 的要好,並且這樣簡單很多。

 

Balanced Feature Pyramid

 

 

feature level 的不平衡表現在 low/high level 特徵的利用上,如何利用不同解析度的特徵。具體分為四步:

  • rescaling

  • integrating

  • refining

  • strengthening

 

1. rescaling & integrating

 

假設表示第 l 層特徵,越高層解析度越低,若有的多層特徵,C2 解析度最高,我們知道低層特診解析度高往往學習到的是細節特徵,高層特徵解析度低學習到語意特徵,把四層特徵 resize 到中間層次的 C4 的 size,然後後面再做簡單的相加取平均操作:

 

就是這樣簡單的操作並沒有引入什麼計算就可以實現,最終在 AP 上也得到了驗證是有效的。

 

2. refining & strengthening

rescaling 後取平均提取到的的特徵還可以進一步地 refine 成更 discriminative,作者這裡用到了 non-local 模組,paper 中使用了 Gaussian non-local attention [4] 增強 integrate 後的特徵。

 

就像 Figure 4 畫的一樣,這樣提取的特徵其實與 FPN 可以一同使用,是作為 feature pyramid 的補充,作為一種增強手段。

 

Balanced L1 Loss

 

Fast R-CNN [5] 中是透過 multi-task loss 解決 Classification(分類)和 Localization(定位)的問題的,定義如下:

分別對應著分類和定位的損失函式,p, u 分別是的預測和標的,是對應 u 類的回歸結果。v 是回歸標的。λ 用於在多工學習下調整損失權重。 

 

之所以會提出 Balanced L1 loss,是因為這個損失函式是兩個 loss 的相加,如果分類做得很好地話一樣會得到很高的分數,而導致忽略了回歸的重要性,一個自然的想法就是調整 λ 的值。

 

我們把樣本損失大於等於 1.0 的叫做 outliers,小於的叫做 inliers。由於回歸標的是沒有邊界限制的,直接增加回歸損失的權重將會使模型對 outliers 更加敏感。

對於 outliers 會被看作是困難樣本(hard example),這些困難樣本會產生巨大的梯度不利於訓練的過程,而 inliers 被看做是簡單樣本(easy example)只會產生相比 outliers 大概 0.3 倍的梯度。

 

首先我們看 Smooth L1 Loss:

 

 

所以作者從常見的 Smooth L1 Loss 中推匯出了 Balanced L1 Loss:

 

 

它的梯度計算遵從下麵的準則:

 

作者從需求出發,想要得到一個梯度當樣本在 |x|<1 附近產生稍微大點的梯度,作者設計了下麵這個函式,從 Figure 5 可以看出 αln(b|x|+1) 大於 x。

 

根據梯度反求出 Lb(x) 運算式:

 

還有很重要的一點就是為了函式的連續性,需要滿足 x=1 時 Lb(1)=γ:

 

其實意思就是

 

這個函式不得不說非常妙,成功掰彎了梯度,我也不知道他怎麼想出來的。

實驗結果

 

在 COCO test-dev 資料集上與目前 state-of-the-art 的標的檢測的方法對比,能比 Faster R-CNN、RetinaNet、Mask R-CNN 要高 2+ 的 AP。

 

三種解決方案的各種組合情況的對比實驗:

 

值得註意的是,作者對 IoU-balanced samping 做實驗時對 K 的取值做了實驗證明該方法對 K 的取值並不敏感,即對 IoU 分多少個區間並不敏感。

 

 

這是 IoU-balanced sampling 的候選框的視覺化效果:

 

總結

 

paper 邏輯清晰,緊緊抓住三個層次去做改進,三個問題對應三個解決方案,結構清晰一目瞭然,實驗充分,相比兩個單階段和兩階段檢測器的兩個代表 Faster R-CNN 和 RetinaNet 分別高了 2+ 的 AP,圖畫得也不錯,我覺得是篇好論文,而且應該是作者在比賽中實際運用到的才寫出了這篇 paper,以後標的檢測的比賽我覺得都可以參考這篇去做改進。

 

參考文獻

[1]. Pang J, Chen K, Shi J, et al. Libra R-CNN: Towards Balanced Learning for Object Detection[J]. arXiv preprint arXiv:1904.02701, 2019. 

[2]. Wang J, Chen K, Yang S, et al. Region proposal by guided anchoring[J]. arXiv preprint arXiv:1901.03278, 2019. 

[3]. Shrivastava A, Gupta A, Girshick R. Training region-based object detectors with online hard example mining[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 761-769. 

[4]. Wang X, Girshick R, Gupta A, et al. Non-local neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 7794-7803. 

[5]. Ross Girshick. Fast R-CNN. In IEEE Conference on Computer Vision and Pattern Recognition, 2015.

已同步到看一看
贊(0)

分享創造快樂