可變形卷積系列(二) MSRA提出升級版DCNv2,變形能力更強 | CVPR 2019

論文提出 DCNv2,不僅對 DCNv1 的結構進行了改進,還使用了有效的蒸餾學習策略,使得性能有很大的提升,各個方面都值得借鑒

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

論文: Deformable ConvNets v2: More Deformable, Better Results

Introduction


  在提出可變形卷積 DCNv1 後,論文提出新版本的可變形卷積 DCNv2,通過兩種互補的策略以及蒸餾學習來增強模型的性能:

  • 增加可變形卷積的層數,使得 DCNv2 擁有更強的幾何變換的學習能力,能夠進行準確地預測。
  • 在可變形卷積模組中增加調製機制,每次取樣不僅進行偏移,還會使用學習到的權重進行調節,能夠進行更複雜的幾何變換學習。
  • 為了充分榨乾 DCNv2 提升的能力,借用知識蒸餾的方法進行訓練,以 R-CNN 作為指導網路(teacher network),在訓練時模仿其特徵值。

Analysis of Deformable ConvNet Behavior


Spatial Support Visualization

  論文從 3 個互補的視角來了解影像區域對輸出的影響:

  • Effective sampling / bin locations,通過計算輸出值對應像素位置上的梯度來表示像素的重要程度。
  • Effective receptive fields,理論感受域內的像素對輸出的貢獻是不一樣的,貢獻可以通過有效感受域來表示,通過計算輸出值對應每個像素的值擾動時的梯度得出,具體可以看參考內容文章。
  • Error-bounded saliency regions,通過逐步掩蓋圖片的部分區域並計算輸出值,找到與整圖輸出值差異在閾值範圍內的最小顯著區域。

Spatial Support of Deformable ConvNets

  對 conv5 階段的最後一層輸出進行了上述的 3 個視角計算,圖 1 從左往右目標的逐漸變大,每個子圖從上往下分別為關於綠點輸出的 3 種指標的可視化結構,可以得出以下結論:

  • 得益於深度卷積網路強大的表達能力,常規卷積能在一定程度上對幾何變換進行建模學習,主要受卷積權重的影響。
  • 通過引入可變形卷積,綜合卷積核權重以及偏移值,模型能夠很好地對幾何變換進行建模學習,輸出關聯了更多的目標區域,但也會包含較多不相關的物體的區域。

  論文繼續對 RoI 區域也進行了上述 3 個視角的計算,對於常規 RoI pooling 和可變形 RoI pooling,目標區域內的 bin 對輸出的貢獻更高,在可變形 RoI pooling 更為明顯。但兩種方法的顯著區域同樣都不夠準確,造成有較多的額外內容干擾著輸出。

More Deformable ConvNets


Stacking More Deformable Conv Layers

  由於可變形卷積能夠更好地學習幾何變換,因此大膽地將 ResNet-50 中的 conv3、conv4 和 conv5 中的所有3\times 3卷積替換成可變形卷積,共 12 層。DCNv1 僅使用了 3 層,主要由於當時替換實驗是在比較簡單的 VOC 數據集上進行的,效果很快就飽和了,而當時在 COCO 上的偏移值可視化有一定的誤導性,本文補充了更準確的實驗。

Modulated Deformable Modules

  為了進一步加強可變形卷積對幾何變換學習的能力,加入調製機制,可變形卷積不僅能對輸入進行偏移,還可以調整各位置輸入的權重。極端地,當權重為 0 則忽略該位置輸入,為模型提供了另一種調整目標區域的方式。

  可調製變形卷積如公式 1,\Delta p_k\Delta m_k分別為k位置的可學習偏移值和權重標量,\Delta m_k的範圍為[0,1],偏移後的值的計算依然用雙線性插值計算。\Delta p_k\Delta m_k通過相同旁路卷積層計算,旁路輸出 channel 為3KK為主幹的卷積核大小,前2K維是每個位置的 x 和 y 偏移,後K維通過 sigmoid 層獲得每個位置的權重。旁路卷積的參數初始為 0,所以\Delta p_k\Delta m_k初始為 0 和 0.5,學習率為主幹學習率的 0.1 倍。

  可調製的變形 RoI pooling 單個 bin 的計算如公式 2,n_k為 bin 內的像素總數,\Delta p_k\Delta m_k對應整個 bin 的偏移和權重。\Delta p_k\Delta m_k通過旁路 RoI pooling+2 x 1024-D fc + 3k-D fc 計算,前2K維是歸一化的 bin 偏移值,與 RoI 區域相乘後得到最終的 bin 偏移值,後K維通過 sigmoid 層獲得每個 bin 的權重,初始化和學習率與上面的一致。

R-CNN Feature Mimicking

  從圖 2 的 Error-bounded saliency regions 結果看到,不管常規卷積還是可變形卷積都會包含部分非目標區域,對最終的結果造成影響。論文通過實驗發現,可調製變形卷積雖然有更強的幾何變換建模能力,但常規的訓練沒有特定的損失,很難引導可調製變形卷積的學習。因此,考慮到性能和準確率的取捨,論文加入特徵模仿(feature mimicking)引導可變形卷積生成類似 R-CNN 從 croped 圖片中提取到的特徵。由於背景的內容較為複雜,特徵模仿損失僅用於正樣本。

  整體的訓練架構如圖 3,添加額外 R-CNN 分支用於特徵模仿,分支的結構與主幹網路類似。對於 RoI 區域b,從原圖中 crop 下來並 Resize 後送到 R-CNN 分支得到14\times 14的特徵圖,再進行整圖的可調製變形 RoI pooling,通過兩層全連接得到 1024-D 特徵f_{RCNN}(b),最後接C+1-way Sfotmax 分類器預測分類結果。

  特徵模仿損失通過餘弦相似度的計算,如公式 3,\Omega為用於特徵模仿的所有 RoI 區域。在訓練時,每次隨機取樣 32 個 RPN 生成的正樣本構成\Omega,同時計算特徵模組損失和 R-CNN 分支的分類交叉熵損失。RCNN 分支的兩個新損失的權重為主幹對應項權重的 0.1 倍,RCNN 分支除了最後的 classification head 外的模組均與主幹共享。在推理時,僅使用 Faster R-CNN 模組。

Experiments


Enriched Deformation Modeling

  對 DCNv2 的兩個結構改進進行了對比實驗,表 1 和表 2 分別為短邊 1000 和短邊 800 的實驗,結合圖 1 和圖 2 的可視化結果,兩個改進都能有效地提高準確率。

R-CNN Feature Mimicking

  對於特徵模仿學習,僅模仿正樣本的效果最好。

Application on Stronger Backbones

Conclusion


  論文提出 DCNv2,不僅對 DCNv1 的結構進行了改進,還使用了有效的蒸餾學習策略,使得性能有很大的提升,各個方面都值得借鑒。

參考內容



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

work-life balance.