Deformable Convolutional Networks

一、摘要

由於構造卷積神經網絡 (CNN) 所用的模塊中幾何結構是固定的,其幾何變換建模的能力本質上是有限的。在我們的工作中,我們引入了兩種新的模塊來提高卷積神經網絡 (CNN) 對變換的建模能力,即可變形卷積 (deformable convolution) 和可變形興趣區域池化 (deformable ROI pooling)。它們都是基於在模塊中對空間採樣的位置信息作進一步位移調整的想法,該位移可在目標任務中學習得到,並不需要額外的監督信號。新的模塊可以很方便在現有的卷積神經網絡 (CNN) 中取代它們的一般版本,並能很容易進行標準反向傳播端到端的訓練,從而得到可變形卷積網絡 (deformable convolutional network)。大量的實驗驗證了我們的方法在目標檢測和語義分割這些複雜視覺任務上的有效性。

二、分析

這是一種對傳統方塊卷積的改進核,本質是一種抽樣改進。

談到抽樣,人腦好像天生知道如何抽樣獲得有用特徵,而現代機器學習就像嬰兒一樣蹣跚學步。我們學會用cnn自動提取有用特徵,卻不知用什麼樣的卷積纔是最有效的。我們習慣於方塊卷積核窗口,而Jifeng Dai的work認爲方塊不是最好的形狀。

標準卷積中的規則格點採樣是導致網絡難以適應幾何形變的“罪魁禍首”。爲了削弱這個限制,研究員們對卷積核中每個採樣點的位置都增加了一個偏移的變量。通過這些變量,卷積核就可以在當前位置附近隨意的採樣,而不再侷限於之前的規則格點。這樣擴展後的卷積操作被稱爲可變形卷積(deformable convolution)。

可變形卷積是指卷積核在每一個元素上額外增加了一個參數方向參數,這樣卷積核就能在訓練過程中擴展到很大的範圍。

三、圖示
在這裏插入圖片描述
上圖:展示了卷積核大小爲 3x3 的正常卷積和可變形卷積的採樣方式,( a ) 所示的正常卷積規律的採樣 9 個點(綠點),( b )( c )( d ) 爲可變形卷積,在正常的採樣座標上加上一個位移量(藍色箭頭),其中( c )( d ) 作爲 ( b ) 的特殊情況,展示了可變形卷積可以作爲尺度變換,比例變換和旋轉變換的特殊情況

事實上,可變形卷積單元中增加的偏移量是網絡結構的一部分,通過另外一個平行的標準卷積單元計算得到,進而也可以通過梯度反向傳播進行端到端的學習。加上該偏移量的學習之後,可變形卷積核的大小和位置可以根據當前需要識別的圖像內容進行動態調整,其直觀效果就是不同位置的卷積核採樣點位置會根據圖像內容發生自適應的變化,從而適應不同物體的形狀、大小等幾何形變。然而,這樣的操作引入了一個問題,即需要對不連續的位置變量求導。 作者在這裏借鑑了之前Spatial Transformer Network和若干Optical Flow中warp操作的想法,使用了bilinear插值將任何一個位置的輸出,轉換成對於feature map的插值操作。同理,類似的想法可以直接用於 (ROI) Pooling中改進。

可形變卷積:
在這裏插入圖片描述
可變性卷積的流程爲:

  1. 原始圖片batch(大小爲bhwc),記爲U,經過一個普通卷積,卷積填充爲same,即輸出輸入大小不變,對應的輸出結果爲(bhw2c),記爲V,輸出的結果是指原圖片batch中每個像素的偏移量(x偏移與y偏移,因此爲2c)。
  2. 將U中圖片的像素索引值與V相加,得到偏移後的position(即在原始圖片U中的座標值),需要將position值限定爲圖片大小以內。position的大小爲(bhw*2c),但position只是一個座標值,而且還是float類型的,我們需要這些float類型的座標值獲取像素。
  3. 例,取一個座標值(a,b),將其轉換爲四個整數,floor(a), ceil(a), floor(b), ceil(b),將這四個整數進行整合,得到四對座標(floor(a),floor(b)), ((floor(a),ceil(b)), ((ceil(a),floor(b)), ((ceil(a),ceil(b))。這四對座標每個座標都對應U中的一個像素值,而我們需要得到(a,b)的像素值,這裏採用雙線性差值的方式計算
    (一方面得到的像素準確,另一方面可以進行反向傳播)。
  4. 在得到position的所有像素後,即得到了一個新圖片M,將這個新圖片M作爲輸入數據輸入到別的層中,如普通卷積。

可形變ROI池化:

在這裏插入圖片描述

四、可變卷積網絡的新思路:簡明深刻的網絡結構變革

可變形卷積單元具有諸多良好的性質。它不需要任何額外的監督信號,可以直接通過目標任務學習得到。它可以方便地取代任何已有視覺識別任務的卷積神經網絡中的若干個標準卷積單元,並通過標準的反向傳播進行端到端的訓練。是對於傳統卷積網絡簡明而又意義深遠的結構革新,具有重要的學術和實踐意義。它適用於所有待識別目標具有一定幾何形變的任務(幾乎所有重要的視覺識別任務都有此特點,人臉、行人、車輛、文字、動物等),可以直接由已有網絡結構擴充而來,無需重新預訓練。它僅增加了很少的模型複雜度和計算量,且顯著提高了識別精度。例如,在用於自動駕駛的圖像語義分割數據集(CityScapes)上,可變形卷積神經網絡將準確率由70%提高到了75%。

此外,通過增加偏移量來學習幾何形變的思想還可方便地擴展到其它計算單元中去。例如,目前業界最好的物體檢測方法都使用了基於規則塊採樣的興趣區域(region of interests, ROI)池化(pooling)。在該操作中,對於每個採樣的規則塊增加類似的偏移量,從而得到可變形興趣區域池化 (deformable ROI pooling)。由此所獲得的新的物體檢測方法也取得了顯著的性能提升。

近年來,與神經網絡結構相關的研究工作層出不窮,大多是對於各種基本網絡單元連接關係的研究。不同於大部分已有的工作,可變形卷積網絡首次表明了可以在卷積網絡中顯式地學習幾何形變。它修改了已使用二十餘年的基本卷積單元結構,在重要的物體檢測和語義分割等計算機視覺任務上獲得了重大的性能提升。
可以想象,在不遠的未來,在更多的計算機視覺識別任務中(如文字檢測、視頻物體檢測跟蹤等)都將看到它的成功應用。

Notes:
可變形卷積很好理解,但如何實現呢?實現方面需要關注兩個限制:

  1. 如何將它變成單獨的一個層,而不影響別的層;

  2. 在前向傳播實現可變性卷積中,如何能有效地進行反向傳播。

這兩個問題的答案分別是:

  1. 在實際操作時,並不是真正地把卷積核進行擴展,而是對卷積前圖片的像素重新整合,變相地實現卷積核的擴張;

  2. 在圖片像素整合時,需要對像素進行偏移操作,偏移量的生成會產生浮點數類型,
    而偏移量又必須轉換爲整形,直接對偏移量取整的話無法進行反向傳播,這時採用雙線性差值的方式來得到對應的像素。

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