論文源址:https://arxiv.org/abs/1703.06211
開源項目:https://github.com/msracver/Deformable-ConvNets
摘要
卷積神經網絡由於其構建時固定的網絡結構,因此只能處理模型的幾何變換問題。本文主要介紹了兩種增強CNN模型變換的模型,稱為可變形卷積及可變形RoI pooling。二者都基於一種思路,通過額外增加模型的偏移及根據目標任務對此偏移量進行學習來增強空間采樣位置。新模型可以取代CNN中的原有模型,可以通過反向傳播算法進行端到端的訓練學習。
介紹
視覺識別任務中的一個重要挑戰是,如何適應物體的尺寸,視野,姿態及部分變形的幾何變化及模型幾何變換。一般具有兩種方式(1)構建具有多樣性變化的訓練數據集,通常是在現有數據集上進行一些額外變換。進而可以從數據集中學習到一些魯棒性表示。但需要大量的訓練及模型參數。(2)使用非變換性質的特征及算法,比如SIFT及基於目標檢測的滑動窗。
上述兩種方式主要存在兩個缺點。(1)模型的幾何變換是假設固定,已知的。一些先驗知識用於增強數據,特征及算法的設計。這種假設不利於具有位置幾何變換新模型的生成。(2)手工設計的不變性特征及算法可能會很困難,對於復雜變換來說不太靈活。
卷積網絡在視覺識別任務上取得了巨大的成功,比如圖像分類,圖像分割,目標檢測。然而,仍然存在上述兩個缺點。模型的幾何變換能力主要通過擴展的數據增強,較大的模型能力,及一些簡單的手工設計模塊像最大池化。
CNN受限於模型的容量及未知變換。限制來源於CNN模型中固定的幾何結構:一個卷積單元在固定位置采樣輸入feature map。pooling 層以一定的比例減少空間分辨率。RoI pooling層將一個RoI的信息划分為固定的空間bins。其中,缺少處理幾何變換的中間機制。這會造成明顯的問題。比如,相同的CNN層中激活單元的感受野大小相同。對於高級層次中的卷積層,對空間位置編碼語義信息是不需要的。由於不同位置處與物體的不同尺寸,變形相關。自適應的確定尺寸及感受野的大小對視覺識別的定位意義重大。比如,語義分割使用全卷積網絡。雖然,目標檢測網絡發展迅速,但所有方法仍依賴於基於特征提取的預選框中。對於非剛性物體,這種方式顯然不是最好的。
本文中,介紹了兩個新模型用於增強CNN對幾何變換性的能力。第一個為可變形卷積,在標准的卷積中對方格中的采樣點增加了一個2D的偏移。可以實現采樣格子的隨機變換。如下圖所示。
偏移通過額外的卷積層從預處理的feature maps中進行學習。因此,輸入特征是局部,密集的及自適應的,可變形並以此作為條件。
另一個為可變形RoI Pooling。在每個bin位置處增加了一個偏移。相似的,偏移仍從預處理過的feature maps及Rois中進行學習,從而可以對不同形狀的物體自適應的定位。
上面的模型都是輕量級的,增加少量的參數用於偏移的學習。可以替換CNN中的普通部分,同時,可以進行端到端的訓練學習。最終的CNN被稱為可變形卷積網絡。
本文提出的方法與空間變換網絡及可變形的部分模型在主旨上具有較高的相似性。都具有中間的變換參數並通過從數據中進行學習。本文不同的是,本文主要考慮在一個樣本中以一種簡便高效可端對端訓練的方式進行密集的空間變換操作。
Deformable Convolutional Networks
CNN中的feature maps及卷積是3D的。而可變形卷積及RoI poolings都是在2D空間上進行操作。整個操作保持通道數不發生變化。本文以2D舉例論述,3D的可以直接擴展。
Deformable Convolution
2D卷積包含兩部分:(1)通過一個矩形格子R在feature map x上進行采樣。(2)帶權重的采樣值的求和。R定義了感受野及空洞的大小。比如,下列定義了一個3x3的卷積核,空洞大小為1.
針對輸出feature map y上的每個位置p0,有如下操作
在可變形卷積中,標准的格子R增加了偏移量上式變為如下形式。
采樣點在非矩形及偏移位置處,將
作為一部分,上式通過雙線性插值操作得到x(p)如下,其中p代表,隨機部分(p=p0+pn+deta pn),q映射feature map x中所有整體空間位置,G代表雙線性插值核。G為兩維的,可以被拆分為兩個一維的
如下圖所示,通過在相同的feature map上使用卷積層來得到偏移量。卷積核具有與當前卷積層相同的空間分辨率及擴張大小(3x3 with dilation 1)。輸出的offset fields與輸入feature map具有相同的空間分辨率。通通道數2N對應N個 2D的偏移。訓練時,產生輸出特征的卷積核與偏移同時進行學習。通過在上述等式中應用雙線性插值及梯度下降算法學習偏移。
Deformable RoI pooling
RoI pooling基於目標檢測方法中應用在所有region proposal。將任意輸入大小的矩形框調整為固定尺寸大小的features。
RoI pooling: 輸入feature map x及大小為wxh的RoI,左上角的點p0, RoI pooling將輸入分為kxk個bins同時,輸出一個kxk的feature map y。對於第(i,j)個bin,有如下表示,
與Deformable 卷積中的式子相似,在空間bin位置處增加偏移量,結果如下
過程如下圖,首先,RoI pooling會生成pooled feature maps。然后一個全連接層生成標准化后的offsets 得到上式中的
,通過與RoI的寬和高進行點乘操作進行標准化處理。
,r代表預先定義尺寸,用於調整偏移帶西奧,一般設置為0.1。偏移的標准化處理十分重要,可以使偏移的學習對不同的RoI大小具有不變性。全連接層通過反向傳播進行學習。
位置敏感性RoI pooling:其為全卷積層,同時不同於RoI pooling。通過一個卷積層所有輸入feature maps首先針對每個目標類別被變為kxk的score maps,如下圖
在得到的score maps上執行pooling操作。第(i,j)處的bin的輸出值通過計算bIn對應的score maps值的相加得到。簡言之,與前面的可變形RoI pooling的不同點在於使用位置銘感的score map xi,j替換其中的feature map。
在可變形PS RoI pooling中,等式唯一的變化是將x變為xi,j,但offset 得學習是不同得。遵循全卷積的思想。在上圖的上面分支,一個卷積層生成一個對應空間分辨率的offset fields,PS ROI pooling 應用於每個ROI,來得到標准化后的offsets ,然后,以相同的方式得到實際偏移
Deformable ConvNets: 可變形卷積與RoI pooling模型與正常的卷積與Roi pooling有相同的輸入輸出。因此,可以對卷積網絡中的對應部分進行替換。訓練時,增加卷積層及全連接層用於偏移量的學習,使用0對權重進行初始化。學習率設置為當前層數的倍,默認為1,Faster R-CNN中默認為0.01倍。在上面等式中使用雙線性插值進行反向傳播算法,最終的CNN被稱為可變形卷積網絡。
為了將可變形卷積網絡與當前優秀的卷積結構進行結合,注意到這些網絡包含兩個階段:(1)一個深層的全卷積網絡對輸入圖片生成feature maps。(2)一個附屬的任務網絡用於根據feature map產生結果。
Deformable ConvNets for Feature Extraction: 本文選用ResNet及改進的Inception ResNet進行特征提取。原始的Inception ResNet用於圖像分類。針對密集預測任務其具有特征不匹配問題。對齊修改使其適用於匹配問題。兩個模型都包含幾個卷積blocks,一個平均池化層,及一千路全連接層。全連接層及平均池化層被移除。后接隨機初始化的1x1卷積用於降維。為了增加feature map的分辨率,最后一個卷積block的有效stride由32個像素,變為16個。在最后一個block的開始處,stride由2變為1,.同時為了進行補償,所有卷積核的dilation由1變為2.可變形卷積應用在最后幾個卷積層中。
Deformable ConvNets的理解
本文工作主要是:增強卷積中的空間采樣位置,帶偏移的RoI pooling及目標任務中偏移量的學習。標准卷積中的感受野及采樣位置是固定的。而在可變形卷積中這些會根據目標的尺寸及形狀自適應的發生變化。在可變形RoiPooling中,標准的RoIpooling的grid不存在,部分與RoI bins發生偏離,並移至附近的前景區域中,對非剛性物體的定位能力進行增強。
實驗
Reference
[1] Y.-L. Boureau, J. Ponce, and Y. LeCun. A theoretical analysis of feature pooling in visual recognition. In ICML, 2010. 1
[2] B. D. Brabandere, X. Jia, T. Tuytelaars, and L. V. Gool. Dynamic filter networks. In NIPS, 2016. 6
[3] J. Bruna and S. Mallat. Invariant scattering convolution networks. TPAMI, 2013. 6
[4] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Semantic image segmentation with deep convolutional nets and fully connected crfs. In ICLR, 2015. 4, 7
[5] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. arXiv preprint arXiv:1606.00915, 2016. 4, 6, 7
[6] M. Cordts, M. Omran, S. Ramos, T. Rehfeld, M. Enzweiler, R. Benenson, U. Franke, S. Roth, and B. Schiele. The cityscapes dataset for semantic urban scene understanding. In CVPR, 2016. 7