《Deformable Convolutional Networks》是一篇2017年Microsoft Research Asia的研究。基本思想也是卷積核的采樣方式是可以通過學習得到的。作者提出了兩種新的op:deformable convolution和deformable roi pooling,主要是通過給傳統卷積采樣點加offsets的方式來獲得新的采樣點。來自:https://arxiv.org/pdf/1703.06211.pd
傳統卷積窗口只要訓練每個卷積窗口的像素權重參數即可。而 可變形卷積網絡必須外加一些參數用來訓練卷積窗口的形狀(各個像素的偏移向量offset):
Deformable Convolution
上圖的offset field就是變形卷積外加的待訓練參數,大小和輸入層圖片大小一樣(input feature map),卷積窗口在offset field上滑動就呈現了卷積像素偏移的效果,達到采樣點優化的效果。
在實際應用中,對於一個的輸入,若使用3*3的卷積核,則先通過卷積,生成一個新的channel數為2*3*3的feature map(大小不變),分別代表不同方向上x,y的offset值。
Deformable RoI Pooling

補充STN:
空間變換結構包含三個部分:

-
Localisation Network:以的feature map作為輸入,以變換矩陣的元素作為輸出的網絡結構,變換矩陣可以為任意形式,對於仿射變換矩陣而言,為一個6參數矩陣。
網絡可以是以回歸層為終止的多種網絡結構,可以采用全連接結構也可以采用卷積結構。 -
Parameterised Sampling Grid:根據Localisation Network的參數,我們對一個一般的feature map產生一個特定的變換后的grid(通過逆變換)。通過仿射變換:
同時將輸入的橫縱坐標范圍和輸出的橫縱左邊范圍歸一化為[-1,+1]。由此對圖像進行裁剪、平移、旋轉、拉伸及扭曲形成輸出的feture map。
左圖為一般采樣下的grid,右圖為空間變換采樣的grid -
Differentiable Image Sampling:在獲得相應的grid和變換矩陣后,需要對原featrue map進行采樣從而得到新的feature map。
通過變換矩陣相關的采樣核:
將原feature map映射到新feature map中,如雙線性插值:
雙線性插值
該變換可以求梯度:
(變換矩陣反向傳播?)
通過以上三個結構,就形成了了一個空間變換器。該結構可以背放在卷積網絡的任意位置,通過訓練學習如何得到最有效的變換方式。