全面解析可變形卷積家族(Deformable Convolutional Networks v1+ v2)

目錄

  • DCN v1
  • DCN v2
  • 參考

DCN v1

背景

在計算機視覺領域,同一物體在不同場景蕾盯,角度中未知的幾何變換是檢測/識別的一大挑戰(zhàn),通常來說我們有兩種做法:

(1)通過充足的數(shù)據(jù)增強蓝丙,擴充足夠多的樣本去增強模型適應尺度變換的能力级遭。

(2)設置一些針對幾何變換不變的特征或者算法望拖,比如SIFT和sliding windows。

兩種方法都有缺陷挫鸽,第一種方法因為樣本的局限性顯然模型的泛化能力比較低说敏,無法泛化到一般場景中,第二種方法則因為手工設計的不變特征和算法對于過于復雜的變換是很難的而無法設計丢郊。所以作者提出了Deformable Conv(可變形卷積)和 Deformable Pooling(可變形池化)來解決這個問題盔沫。

可變形卷積

可變形卷積顧名思義就是卷積的位置是可變形的,并非在傳統(tǒng)的N × N的網(wǎng)格上做卷積枫匾,這樣的好處就是更準確地提取到我們想要的特征(傳統(tǒng)的卷積僅僅只能提取到矩形框的特征)架诞,通過一張圖我們可以更直觀地了解:



在上面這張圖里面,左邊傳統(tǒng)的卷積顯然沒有提取到完整綿羊的特征婿牍,而右邊的可變形卷積則提取到了完整的不規(guī)則綿羊的特征侈贷。

那可變卷積實際上是怎么做的呢?其實就是在每一個卷積采樣點加上了一個偏移量等脂,如下圖所示:


(a) 所示的正常卷積規(guī)律的采樣 9 個點(綠點)俏蛮,(b)(c)(d) 為可變形卷積,在正常的采樣坐標上加上一個位移量(藍色箭頭)上遥,其中 (c)(d) 作為 (b) 的特殊情況搏屑,展示了可變形卷積可以作為尺度變換,比例變換和旋轉變換等特殊情況粉楚。

我們先看普通的卷積辣恋,以3x3卷積為例對于每個輸出y(p0),都要從x上采樣9個位置模软,這9個位置都在中心位置x(p0)向四周擴散伟骨,(-1,-1)代表x(p0)的左上角,(1,1)代表x(p0)的右下角燃异。


所以傳統(tǒng)的卷積輸出就是(其中就是網(wǎng)格中的n個點):

正如我們上面闡述的可變形卷積携狭,他就是在傳統(tǒng)的卷積操作上加入了一個偏移量,正是這個偏移量才讓卷積變形為不規(guī)則的卷積回俐,這里要注意這個偏移量可以是小數(shù)逛腿,所以下面的式子的特征值需要通過雙線性插值的方法來計算。:

那這個偏移量如何算呢仅颇?我們來看:


對于輸入的一張feature map单默,假設原來的卷積操作是3×3的,那么為了學習偏移量offset忘瓦,我們定義另外一個3×3的卷積層(圖中上面的那層)搁廓,輸出的維度其實就是原來feature map大小,channel數(shù)等于2N(分別表示x,y方向的偏移)。下面的可變形卷積可以看作先基于上面那部分生成的offset做了一個插值操作枚抵,然后再執(zhí)行普通的卷積线欲。

可變形卷積的可視化


我們可以從上圖看到,可以看到當綠色點在目標上時汽摹,紅色點所在區(qū)域也集中在目標位置李丰,并且基本能夠覆蓋不同尺寸的目標,因此經(jīng)過可變形卷積逼泣,我們可以更好地提取出感興趣物體的完整特征趴泌,效果是非常不錯的。

可變形池化

理解了可變形卷積之后拉庶,Deformable RoIPooling(可變形池化)就比較好理解了嗜憔。原始的RoIPooling在操作過程中是將RoI劃分為k×k個子區(qū)域。而可變形池化的偏移量其實就是子區(qū)域的偏移氏仗。同理每一個子區(qū)域都有一個偏移吉捶,偏移量對應子區(qū)域有k×k個。與可變形卷積不同的是皆尔,可變形池化的偏移量是通過全連接層得到的呐舔。因為和可變形卷積類似,這里就不多講了慷蠕。

DCN v2

背景

DCN v1聽起來不錯珊拼,但其實也有問題:我們的可變形卷積有可能引入了無用的上下文(區(qū)域)來干擾我們的特征提取,這顯然會降低算法的表現(xiàn)流炕。作者也做了一個實驗進行對比說明:


我們可以看到雖然DCN v1更能覆蓋整個物體澎现,但是同時也會引入一些無關的背景,這造成了干擾每辟,所以作者提出了三個解決方法:

(1)More Deformable Conv Layers(使用更多的可變形卷積)剑辫。

(2)Modulated Deformable Modules(在DCNv1基礎(添加offset)上添加每個采樣點的權重)

(3)R-CNN Feature Mimicking(模擬R-CNN的feature)。

使用更多的可變形卷積

在DCN v1中只在conv 5中使用了三個可變形卷積渠欺,在DCN v2中把conv3到conv5都換成了可變形卷積妹蔽,提高算法對幾何形變的建模能力。


在DCNv1基礎(添加offset)上添加每個采樣點的權重

我們知道在DCN v1中的卷積是添加了一個offset\Delta{P_n}:


為了解決引入了一些無關區(qū)域的問題峻堰,在DCN v2中我們不只添加每一個采樣點的偏移,還添加了一個權重系數(shù)盅视,來區(qū)分我們引入的區(qū)域是否為我們感興趣的區(qū)域捐名,假如這個采樣點的區(qū)域我們不感興趣,則把權重學習為0即可:

總的來說闹击,DCN v1中引入的offset是要尋找有效信息的區(qū)域位置镶蹋,DCN v2中引入權重系數(shù)是要給找到的這個位置賦予權重,這兩方面保證了有效信息的準確提取

R-CNN Feature Mimicking

作者發(fā)現(xiàn)把R-CNN和Faster RCNN的classification score結合起來可以提升performance贺归,說明R-CNN學到的focus在物體上的feature可以解決無關上下文的問題淆两。但是增加額外的R-CNN會使inference速度變慢很多。DCNV2里的解決方法是把R-CNN當做teacher network拂酣,讓DCN V2的ROIPooling之后的feature去模擬R-CNN的feature秋冰,類似知識蒸餾的做法,下面會具體展開:


左邊的網(wǎng)絡為主網(wǎng)絡(Faster RCNN)婶熬,右邊的網(wǎng)絡為子網(wǎng)絡(RCNN)剑勾。實現(xiàn)上大致是用主網(wǎng)絡訓練過程中得到的RoI去裁剪原圖,然后將裁剪到的圖resize到224×224大小作為子網(wǎng)絡的輸入赵颅,這部分最后提取的特征和主網(wǎng)絡輸出的1024維特征作為feature mimicking loss的輸入虽另,用來約束這2個特征的差異(通過一個余弦相似度計算,如下圖所示)饺谬,同時子網(wǎng)絡通過一個分類損失進行監(jiān)督學習捂刺,因為并不需要回歸坐標,所以沒有回歸損失募寨。在inference階段僅有主網(wǎng)絡部分族展,因此這個操作不會在inference階段增加計算成本。

再用直白一點的話說绪商,因為RCNN這個子網(wǎng)絡的輸入就是RoI在原輸入圖像上裁剪出來的圖像苛谷,因此不存在RoI以外區(qū)域信息的干擾,這就使得RCNN這個網(wǎng)絡訓練得到的分類結果更加可靠格郁,以此通過一個損失函數(shù)監(jiān)督主網(wǎng)絡Faster RCNN的分類支路訓練就能夠使網(wǎng)絡提取到更多RoI內部特征腹殿,而不是自己引入的外部特征。

總的loss由三部分組成:mimic loss + R-CNN classification loss + Faster-RCNN loss.

DCN v2可視化

通過實驗結果我們也可以看到DCN v2更能集中在物體的完整有效的區(qū)域:


參考

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末例书,一起剝皮案震驚了整個濱河市锣尉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌决采,老刑警劉巖自沧,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異树瞭,居然都是意外死亡拇厢,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門晒喷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來孝偎,“玉大人,你說我怎么就攤上這事凉敲∫露埽” “怎么了寺旺?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長势决。 經(jīng)常有香客問我阻塑,道長,這世上最難降的妖魔是什么果复? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任陈莽,我火速辦了婚禮,結果婚禮上据悔,老公的妹妹穿的比我還像新娘传透。我一直安慰自己,他們只是感情好极颓,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布朱盐。 她就那樣靜靜地躺著,像睡著了一般菠隆。 火紅的嫁衣襯著肌膚如雪兵琳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天骇径,我揣著相機與錄音躯肌,去河邊找鬼。 笑死破衔,一個胖子當著我的面吹牛清女,可吹牛的內容都是我干的。 我是一名探鬼主播晰筛,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嫡丙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了读第?” 一聲冷哼從身側響起曙博,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎怜瞒,沒想到半個月后父泳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡吴汪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年惠窄,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漾橙。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡杆融,死狀恐怖,靈堂內的尸體忽然破棺而出近刘,到底是詐尸還是另有隱情擒贸,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布觉渴,位于F島的核電站介劫,受9級特大地震影響,放射性物質發(fā)生泄漏案淋。R本人自食惡果不足惜座韵,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望踢京。 院中可真熱鬧誉碴,春花似錦、人聲如沸瓣距。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蹈丸。三九已至成黄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逻杖,已是汗流浹背奋岁。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留荸百,地道東北人闻伶。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像够话,于是被迫代替她去往敵國和親蓝翰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355