論文提出可變形卷積核(DK)來自適應有效感受域,每次進行卷積操作時都從原卷積中采樣出新卷積,是一種新穎的可變形卷積的形式,從實驗來看,是之前方法的一種有力的補充。
來源:曉飛的算法工程筆記 公眾號
論文: Deformable Kernels: Adapting Effective Receptive Fields for Object Deformation
Introduction
傳統的卷積由於存在硬性的規則,在對於物體放大或旋轉時,不能作出適應性的改變,而可變形卷積則通過改變輸入的采樣位置來進行適應性的改變,即改變理論感受域。但理論感受域並不能度量像素對輸出的貢獻,相比理論感受域,更重要的是有效感受域(ERF),通過計算輸出對應輸入的偏導獲得(與卷積權重相關),改變理論感受域只是改變有效感受域的一種手段。
為此,論文提出可變形卷積核(Deformable Kernels, DK),用於進行可變形建模的新型卷積操作,在推理時根據輸入直接生成新的卷積核來改變有效感受域。如圖d,DK學習卷積核的偏移來對原卷積進行重新采樣,而不改變輸入數據。從實驗結果來看,DK對分類任務和檢測任務都十分有效,結合舊的可變形卷積方法能產生更好的結果。
Approach
對有效感受域概念不感興趣的可以直奔后面對可變形卷積核的描述,前面有效感受域的介紹不影響后面內容。
A Dive into Convolutions
-
2D Convolution
大小為$K\times K$,stride為1的二維卷積操作如公式1,輸出為目標區域像素與卷積核乘積的和,$\mathcal{K}=[-K/2,K/2]^2$。
-
Theoretical Receptive Field
卷積層單個輸出相對於上一層的輸入的感受域大小為卷積核大小$K\times K$,當卷積層疊加起來時,單個輸出的對應的隔層感受域也會因此而疊加,得到的疊加區域即理論感受域,與卷積核大小$K$和網絡深度$n$線性相關。
-
Effective Receptive Field
由於卷積的疊加以及非線性激活的引入,理論感受域內的像素對輸出的貢獻各不相同,可以使用有效感受域(ERF)來度量區域內每個像素對輸出的影響,通過計算輸出對應像素值的偏導得到,具體可以看參考論文。
Analysis on Effective Receptive Fields
這里主要分析如何根據輸入和一系列卷積來計算有效感受域,先分析線性卷積網絡的情景,再拓展到非線性卷積網絡。
對於線性卷積網絡,給定$I^{(0)}$為輸入圖片以及stride為1的$K\times K$卷積權重合集${W{(s)}}_{s=1}n$,公式1可以展開為公式2,特征圖$I$和卷積權重$W$的上標以及卷積核位置$k$的下標為層數$s\in [1, n]$。
根據ERF的定義,輸出坐標$j$對應輸入坐標$i$的有效感受域值$\mathcal{R}^{(n)}(i;j)=\partial I_j^{(n)} / \partial I_i{(0)}$計算為公式3,$\Bbb{1}[\cdot]$為指示函數。公式3的意義為所有從$i$到$j$的路徑的權重和,權重的計算為卷積核權重的累積,有效感受域值跟輸出的采樣位置$j$、卷積核位置$k$以及卷積核權重${W{(s)}}$有關。
假設將第$m$個卷積核$W^{(m)}$替換為$1\times 1$卷積核$W_{\tilde{k}_m}{(m)}$,ERF的計算會變為公式4,$S=[1,n]$ $m$即不包含$m$層,這里每條路徑權重直接乘上$W_{\tilde{k}_m}{(m)}$,因為$m$層只有一個路徑,符合指示函數的路徑必定包含$k_m$。
$K\times K$卷積可以看成分散在矩形區域內的$K^2$個$1\times 1$卷積,因此,公式3可以改寫成公式5,將$m$層的$K\times K$卷積看成多個$1\times 1$卷積,相對的輸出位置也要進行相應的修改(這里應該為$j-k_m$比較合適)。
對於復雜的非線性卷積,在公式1中加入ReLU激活得到公式6,即每層卷積都接激活函數。
非線性版本的有效感受域值計算為上式,因子$\mathcal{C}$使得ERF值變成與數據相關,實際中的有效感受域是不規則的形狀,包含許多不規則分布的零值。
需要注意,公式4和公式5的計算是線性的,使得有效感受域值計算能與內核的線性采樣操作兼容,比如使用雙線性插值獲得小數位置的內核值,即可以認為內核采樣等對數據進行線性ERF采樣(ERF與輸出的采樣位置$j$、卷積核位置$k$以及卷積核權重${W^{(s)}}$有關),這種兼容性也可以相似地推廣到非線性的情況下。基於以上的分析,論文提出可變形卷積核(Deformable Kernels, DK)。
Deformable Kernels(DK)
DK添加了可學習的核偏移值,使得輸出的計算從公式1變為公式7,ERF的計算也變成了與核偏移值相關的公式8。由於偏移值通常包含小數,使用雙線性插值來計算偏移后的值。
原卷積核的大小稱為score size,一般DK對scope size是沒有約束的,即可以從大小為$K{'}$的原卷積中采樣出$K2$的新卷積,然后用於大小為$K^2$區域上。這樣網絡能夠盡可能使用更大的原卷積而不會帶來太多的額外計算,論文最大的原卷積為$9\times 9$。
如圖2,DK有兩種實現形式,全局模式和局部模式,$\mathscr{G}$為可學習的核偏移值生成器,將輸入塊轉換為內核的偏移值:
- 全局模式$\mathscr{G}_{global}$的實現為global average pooling層+全連接層,分別用於降維以及輸出$2K^2$個偏移值。
- 局部模式$\mathscr{G}_{local}$的實現為與目標卷積大小一樣的卷積操作,輸出為$2K2$維,最終輸出為$2K2\times 1\times 1$。
全局模式更關注整體圖片,根據整圖進行核偏移,而局部模式則更關注圖片的局部區域,對於小物體,生成形狀特別的核(值差異大),從而使得ERF更密集,而對於大物體,生成較扁平的核(值差異小),使得ERF更廣闊。一般情況下,局部模式的自由度更高。
Computation Flow of Deformable Kernels
圖5展示了局部DK的計算示意圖,偏移值生成器根據輸入生成偏移值,將目標卷積的點均勻平鋪在原卷積中,然后根據偏移值進行偏移,使用雙線性插值計算偏移后的權重更新目標卷積,最后使用目標卷積對輸入進行卷積輸出。
前向時,給予原卷積$W$和學習到的卷積核偏移${ \Delta k }$,結合雙線性插值$\mathcal{B}$生成目標卷積$W^{'}$,然后使用目標卷積對輸入進行常規的卷積輸出。
DK的反向傳播需要生成3種梯度:
- 前一層特征圖的梯度
- 當前層原生卷積的梯度
- 當前層偏移值生成器的梯度
前兩種的計算方法與普通的卷積一樣,第三種則使用公式13結合雙線性插值的計算方法。
Link with Deformable Convolutions
DK的核心是學習適應輸入的偏移值來原卷積進行采樣,從而達到可變形的目的,整體思想可能與可變形卷積類似。
可變形卷積的計算如公式9,主要是對數據進行偏移,而有效感受域則為公式10。如前面說到的,有效感受域與輸出的采樣位置以及卷積核位置有關,這在一定程度上了解釋可變形卷積為何適用於學習形狀多變的目標。
假設同時對數據和核進行偏移,輸出的計算以及有效感受域的計算如公式11,盡管兩種方法的目的是類似的,但在實際中發現,兩種方法協作能夠帶來很好更好的效果。
Experiments
實驗主要針對深度卷積(depthwise convolutions)進行優化,內核偏移不能超過越過score size。基礎模型為ResNet-50-DW和MobileNetV2,對比實驗加入條件卷積(Conditional Convolutions)和可變形卷積(Deformable Convolutions)的對比。
Image Classification
Object Detection
What do Deformable Kernels Learn?
將MobileNet-V2的最后一層卷積進行t-SNE降維得到可視化結果,點的顏色為類別(10類)或bbox尺寸(10等分),對比DK和條件卷積,條件卷積學習到語義相關的特征,而DK則學習到尺寸相關的特征,這解釋了前面的實驗兩種方法同時使用效果更好。
對不同的卷積的有效感受域進行了可視化,可變形卷積與DK都能產生類似的適應ERF,但可變形卷積傾向於更廣闊的響應,DK則傾向於集中在物體內部,兩者結合效果最佳。
CONCLUSION
論文提出可變形卷積核(DK)來自適應有效感受域,每次進行卷積操作時都從原卷積中采樣出新卷積,是一種新穎的可變形卷積的形式,從實驗來看,是之前方法的一種有力的補充。
如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的算法工程筆記】