Deformable Convolution Networks[譯]

參考資料:

原paper地址:https://arxiv.org/abs/1703.06211

知乎討論地址:https://www.zhihu.com/question/57493889

csdn blog地址:http://blog.csdn.net/yaoqi_isee/article/details/65963253

Notes地址:https://medium.com/@phelixlau/notes-on-deformable-convolutional-networks-baaabbc11cf3


Abstract

? ? 由于構(gòu)造卷積神經(jīng)網(wǎng)絡(luò) (CNN) 所用的模塊中幾何結(jié)構(gòu)是固定的召廷,其幾何變換建模的能力本質(zhì)上是有限的。在我們的工作中灌灾,我們引入了兩種新的模塊來(lái)提高卷積神經(jīng)網(wǎng)絡(luò) (CNN) 對(duì)變換的建模能力熔恢,即可變形卷積 (deformable convolution) 和可變形興趣區(qū)域池化 (deformable ROI pooling)埃篓。它們都是基于在模塊中對(duì)空間采樣的位置信息作進(jìn)一步位移調(diào)整的想法,該位移可在目標(biāo)任務(wù)中學(xué)習(xí)得到,并不需要額外的監(jiān)督信號(hào)柳恐。新的模塊可以很方便在現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò) (CNN) 中取代它們的一般版本,并能很容易進(jìn)行標(biāo)準(zhǔn)反向傳播端到端的訓(xùn)練热幔,從而得到可變形卷積網(wǎng)絡(luò) (deformable convolutional network)乐设。大量的實(shí)驗(yàn)驗(yàn)證了我們的方法在目標(biāo)檢測(cè)和語(yǔ)義分割這些復(fù)雜視覺(jué)任務(wù)上的有效性。代碼地址:這里


1.Introduction

?? 在這項(xiàng)工作中绎巨,我們引進(jìn)了新的模塊伤提,大大增強(qiáng)了CNN的幾何變換建模能力。首先是可變形卷積认烁。它在標(biāo)準(zhǔn)卷積中向常規(guī)采樣網(wǎng)格添加了2D偏移肿男。


Figure 1 展示了卷積核大小為 3x3 的正常卷積和可變形卷積的采樣方式:(a) 所示的正常卷積規(guī)律的采樣 9 個(gè)點(diǎn)(綠點(diǎn)),(b)(c)(d) 為可變形卷積却嗡,在正常的采樣坐標(biāo)上加上一個(gè)位移量(藍(lán)色箭頭)舶沛,其中 (c)(d) 作為 (b) 的特殊情況,展示了可變形卷積可以作為尺度變換窗价,比例變換和旋轉(zhuǎn)變換的特殊情況

? ? 二是deformable RoI pooling如庭。它在以前的RoI pooling中的常規(guī)bin partition中為每個(gè)bin添加了一個(gè)offset。類似地撼港,從先前的特征圖和RoI學(xué)習(xí)偏移坪它,使得能夠?qū)哂胁煌螤畹膶?duì)象進(jìn)行自適應(yīng)部分定位。

? ? 兩個(gè)模塊的權(quán)值都不多帝牡。它們因?yàn)榧尤肓似频膶W(xué)習(xí)添加了少量參數(shù)和計(jì)算往毡。它們可以輕松集成到深CNN架構(gòu)中,并通過(guò)反向傳播進(jìn)行端到端的訓(xùn)練靶溜。這種結(jié)構(gòu)叫做deformable convolutional networks或deformable ConvNets.

? ? 兩者原理是一樣的开瞭,就是在這些卷積或者ROI采樣層上,添加了位移變量罩息,這個(gè)變量根據(jù)數(shù)據(jù)的情況學(xué)習(xí)嗤详,偏移后,相當(dāng)于卷積核每個(gè)方塊可伸縮的變化瓷炮,從而改變了感受野的范圍葱色,感受野成了一個(gè)多邊形。


2.Deformable Convolutional Networks

? ? 雖然CNN中的特征映射圖和卷積核是3D tensor娘香,但可變卷積和RoI池都在2D空間域上運(yùn)行的苍狰,并且在通道維度上保持不變办龄。

2.1Deformable Convolution

一個(gè)2D的卷積由兩步組成:

1)使用框架R在輸入的特征圖上采樣

2)將采樣值與對(duì)應(yīng)的權(quán)重相乘,再求和

R定義了感受野的大小和dilation舞痰。例如:

R = {(?1, ?1),(?1, 0), . . . ,(0, 1),(1, 1)}? 定義了3×3的內(nèi)核土榴,dilation為1

對(duì)于輸出特征圖y上的每個(gè)位置p0,我們有


Figure 2 正常卷積公式

Deformable Conv操作并沒(méi)有改變卷積的計(jì)算操作响牛,而是在卷積操作的作用區(qū)域上玷禽,加入了一個(gè)可學(xué)習(xí)的參數(shù)?pn。對(duì)于變形的卷積呀打,增加了一個(gè)參數(shù)矢赁,即偏移量 {?pn|n = 1, ..., N}, where N = |R|.


Figure 3 變形卷積公式

然而,這樣的操作引入了一個(gè)問(wèn)題贬丛,即需要對(duì)不連續(xù)的位置變量求導(dǎo)撩银。作者在這里借鑒了之前Spatial Transformer Network和若干Optical Flow中warp操作的想法,使用了bilinear插值將任何一個(gè)位置的輸出豺憔,轉(zhuǎn)換成對(duì)于feature map的插值操作额获。


Figure 4 p =p0 + pn + ?pn for Eq. (2), q enumerates all integral spatial locations in the feature map x
Figure 5 G(·, ·) is the bilinear interpolation kernel.

上式中的g(a, b) = max(0, 1 ? |a ? b|),等式3是很容易計(jì)算的恭应,大多數(shù)的q位置G為0抄邀。

總結(jié)一下上面四個(gè)公式就是,公式1是正常的卷積計(jì)算公式昼榛,公式2是添加了偏移后的公式境肾,然后對(duì)這個(gè)公式做線性插值變化就成了3,3的左邊是原始圖的位置,x(q)是卷積后的特征圖胆屿,G就是需要學(xué)習(xí)的變換核奥喻。這樣就可以求偏導(dǎo)進(jìn)行梯度下降學(xué)習(xí)了。4就是這個(gè)需要學(xué)習(xí)的核的表示非迹。


Figure 6 說(shuō)明了一個(gè)3X3的變形卷積 环鲤,首先通過(guò)一個(gè)小卷積層(綠色)的輸出得到可變形卷積所需要的位移量,然后將其作用在卷積核(藍(lán)色)上彻秆,達(dá)到可變形卷積的效果

對(duì)于輸入的一張feature map楔绞,假設(shè)原來(lái)的卷積操作是3*3的,那么為了學(xué)習(xí)offset唇兑,我們定義另外一個(gè)3*3的卷積層,輸出的offset field其實(shí)就是原來(lái)feature map大小桦锄,channel數(shù)等于2(分別表示x,y方向的偏移)扎附。這樣的話,有了輸入的feature map结耀,有了和feature map一樣大小的offset field留夜,我們就可以進(jìn)行deformable卷積運(yùn)算匙铡。所有的參數(shù)都可以通過(guò)反向傳播學(xué)習(xí)得到。

2.2 Deformable ROI Pooling

? ? RoI池模塊將任意大小的輸入矩形區(qū)域轉(zhuǎn)換為固定大小的特征碍粥。給定一個(gè)ROI鳖眼,大小為w*h,它最后會(huì)被均勻分為K*K塊嚼摩,k是個(gè)自由參數(shù)钦讳。標(biāo)準(zhǔn)的ROI pooling是從輸入的特征圖x中生成k*k個(gè)輸出特征圖y.第(i,j)個(gè)塊的pooling操作可以被定義為:


Figure 7 standard ROI pooling

p0是左上方的角落塊枕面,nij是這個(gè)塊內(nèi)的像素值愿卒。類似的定義變形的ROI pooling,增加一個(gè)偏移量?pij,如下定義


Figure 8 deformable ROI pooling


Figure 9 描述了一個(gè)3*3的deformable ROI pooling


2.3. Deformable ConvNets

? ? 可變卷積和RoI池模塊都具有與其簡(jiǎn)單的額版本有著相同的輸入和輸出潮秘。因此琼开,他們可以取代在現(xiàn)有的CNNs中原有的模塊的位置。在訓(xùn)練的時(shí)候枕荞,用于偏移學(xué)習(xí)的附加conv / fc層初始化為0柜候,他們的學(xué)習(xí)速率是現(xiàn)有l(wèi)ayers的β倍(默認(rèn)為β= 1)。他們的值是通過(guò)bp訓(xùn)練躏精,由雙線性插值運(yùn)算渣刷,見公式 (3)和(4)。所得到的CNN稱為deformable ConvNets玉控。

? ? 我們可以把deformable ConvNets分成兩步飞主,一是用一個(gè)深度全卷積網(wǎng)絡(luò)從輸入的圖上得到特征圖,二是高诺,用一層具有特定功能的網(wǎng)絡(luò)從特征圖中產(chǎn)生結(jié)果碌识。


Figure 10:在兩層的標(biāo)準(zhǔn)卷積(a)中使用固定感受野和在可變形卷積(b)中使用可變形的感受野。頂部:頂部功能圖上的兩個(gè)激活單元虱而,在不同尺寸和形狀的兩個(gè)對(duì)象上筏餐。激活來(lái)自3×3過(guò)濾器。中間:3×3過(guò)濾器在以前的特征圖上的采樣位置牡拇。另外兩個(gè)激活單元被突出顯示魁瞪。底部:上一個(gè)特征圖上兩個(gè)級(jí)別的3×3濾波器的采樣位置。兩組位置突出顯示惠呼,對(duì)應(yīng)于上面突出顯示的單位导俘。

3. Understanding Deformable ConvNets

? ? 這是建立在一個(gè)簡(jiǎn)單的想法之上的。卷積和RoI合并中的空間采樣位置增加了額外的偏移量剔蹋。這些偏移量是從數(shù)據(jù)中學(xué)習(xí)的旅薄,被目標(biāo)驅(qū)動(dòng)的。當(dāng)可變形模塊堆疊成多層時(shí)泣崩,復(fù)合變形的影響是深刻的少梁。


Figure 11 Understanding Deformable ConvNets

4. Experiments

作者在不同網(wǎng)絡(luò)結(jié)構(gòu)上的實(shí)驗(yàn)結(jié)果在文章中描述的很清楚洛口,下面是我自己跑的作者的代碼(這里):

下面是網(wǎng)絡(luò)結(jié)構(gòu),deformable CNN 比Normal CNN多了Convoffset2D層凯沪。

Normal CNN


Deformable CNN

增加Convoffset2D層并不會(huì)改變層與層之間輸入與輸出的shape第焰,因此可以很容易的在現(xiàn)有的網(wǎng)絡(luò)中增加offset,從而變成deformable ConvoNets,但毫無(wú)疑問(wèn)會(huì)增加訓(xùn)練參數(shù)的數(shù)量,因?yàn)槎嗔薿ffset.


這是代碼中對(duì)Convoffset2D的描述


這是conv內(nèi)部結(jié)構(gòu)的代碼描述(keras keras.backend=tensorflow)

Normal CNN測(cè)試mnist image和scaled mnist image的準(zhǔn)確率:

Deformable CNN測(cè)試mnist image和scaled mnist image的準(zhǔn)確率:


可以看到妨马,Deformable CNN對(duì)scaled image有著非常大的優(yōu)勢(shì)

分別打印出三個(gè)deformable convnet layer


結(jié)果如下

水平有限挺举,歡迎大佬指教~ ? ?^_^ ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市身笤,隨后出現(xiàn)的幾起案子豹悬,更是在濱河造成了極大的恐慌,老刑警劉巖液荸,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞻佛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡娇钱,警方通過(guò)查閱死者的電腦和手機(jī)伤柄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)文搂,“玉大人适刀,你說(shuō)我怎么就攤上這事∶翰洌” “怎么了笔喉?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)硝皂。 經(jīng)常有香客問(wèn)我常挚,道長(zhǎng),這世上最難降的妖魔是什么稽物? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任奄毡,我火速辦了婚禮,結(jié)果婚禮上贝或,老公的妹妹穿的比我還像新娘吼过。我一直安慰自己,他們只是感情好咪奖,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布盗忱。 她就那樣靜靜地躺著,像睡著了一般羊赵。 火紅的嫁衣襯著肌膚如雪售淡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天慷垮,我揣著相機(jī)與錄音揖闸,去河邊找鬼。 笑死料身,一個(gè)胖子當(dāng)著我的面吹牛汤纸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播芹血,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼贮泞,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了幔烛?” 一聲冷哼從身側(cè)響起啃擦,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎饿悬,沒(méi)想到半個(gè)月后令蛉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡狡恬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年珠叔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弟劲。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡祷安,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出兔乞,到底是詐尸還是另有隱情汇鞭,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布庸追,位于F島的核電站霍骄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏锚国。R本人自食惡果不足惜腕巡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望血筑。 院中可真熱鬧绘沉,春花似錦、人聲如沸豺总。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)另玖。三九已至,卻和暖如春慷丽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背要糊。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锄俄,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓奶赠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親药有。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容