來(lái)聊聊可形變卷積及其應(yīng)用
點(diǎn)擊上方“小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)

轉(zhuǎn)載自AI算法修煉營(yíng)
使用可變形卷積,可以提升Faster R-CNN和R-FCN在物體檢測(cè)和分割上的性能。只要增加很少的計(jì)算量,就可以得到性能的提升。

(a) Conventional Convolution, (b) Deformable Convolution, (c) Special Case of Deformable Convolution with Scaling, (d) Special Case of Deformable Convolution with Rotation
傳統(tǒng)/常規(guī)卷積基于定義的濾波器大小,在輸入圖像或一組輸入特征圖的預(yù)定義矩形網(wǎng)格上操作。該網(wǎng)格的大小可以是3×3和5×5等。然而,我們想要檢測(cè)和分類的對(duì)象可能會(huì)在圖像中變形或被遮擋。
在DCN中,網(wǎng)格是可變形的,因?yàn)?strong style="box-sizing: border-box;max-width: 100%;overflow-wrap: break-word !important;">每個(gè)網(wǎng)格點(diǎn)都可以通過(guò)一個(gè)可學(xué)習(xí)的偏移量移動(dòng)。卷積作用于這些移動(dòng)的網(wǎng)格點(diǎn)上,因此稱為可變形卷積,類似于可變形RoI池化的情況。通過(guò)使用這兩個(gè)新模塊,DCN提高了DeepLab、Faster R-CNN、R-FCN、和FPN等的準(zhǔn)確率。
最后,MSRA使用DCN+FPN+Aligned Xception在COCO Detection Challenge中獲得第二名,Segmentation Challenge中獲得第三名。發(fā)表于2017 ICCV,引用次數(shù)超過(guò)200次。
1.1 可變形卷積

可變形卷積
規(guī)則的卷積是在一個(gè)規(guī)則的網(wǎng)格R上操作的。
對(duì)R進(jìn)行可變形卷積運(yùn)算,但每個(gè)點(diǎn)都增加一個(gè)可學(xué)習(xí)的偏移?pn。
卷積生成2N個(gè)特征圖,對(duì)應(yīng)N個(gè)2D個(gè)偏移量?pn(每個(gè)偏移量對(duì)應(yīng)有x-方向和y-方向)。

如上所示,可變形卷積將根據(jù)輸入圖像或特征圖在不同位置為卷積選擇值。
與Atrous convolution相比,Atrous convolution在卷積過(guò)程中具有較大但固定的膨脹值。(Atrous convolution也稱為dilated convolution或hole算法。
與Spatial Transformer Network (STN)比較:STN對(duì)輸入圖像或特征圖進(jìn)行變換,而可變形卷積可以被視為一個(gè)非常輕量級(jí)的STN。
2. Deformable RoI Pooling

Deformable RoI Pooling
常規(guī)RoI Pooling將任意大小的輸入矩形區(qū)域轉(zhuǎn)換為固定大小的特征。
在Deformable RoI Pooling中,首先,在top path中,我們?nèi)匀恍枰?strong style="box-sizing: border-box;max-width: 100%;overflow-wrap: break-word !important;">常規(guī)的RoI Pooling來(lái)生成池化的feature map。
然后,使用一個(gè)全連接(fc)層生成歸一化的偏移?p?ij,然后轉(zhuǎn)化為偏移?pij(方程在右下角)其中γ= 0.1。
偏移量歸一化是必要的,使偏移量的學(xué)習(xí)不受RoI大小的影響。
最后,在底部路徑,我們執(zhí)行deformable RoI pooling。輸出特征圖是基于具有增強(qiáng)偏移量的區(qū)域進(jìn)行池化的
3. Deformable Positive-Sensitive (PS) RoI Pooling

Deformable Positive-Sensitive (PS) RoI Pooling (在這里顏色很重要)
對(duì)于原始的R-FCN中的Positive-Sensitive (PS) RoI pooling,所有的輸入特征圖首先轉(zhuǎn)換為每個(gè)類別k2個(gè)得分圖(假設(shè)背景類總共C + 1個(gè)類別)(最好是讀一下R-FCN,理解一下最初的PS RoI pooling)
在deformable PS RoI pooling中,首先,在頂部路徑上,和原始的相似, 卷積用于生成2k2(C + 1)得分圖。
這意味著,對(duì)于每個(gè)類別,有k2個(gè)特性圖,這些特征圖代表了我們要學(xué)習(xí)的物體的偏移量{上左(TL),上中(TC), . .,右下(BR)}。
偏移量(頂部路徑)的原始的PS RoI Pooling是使用圖中相同的區(qū)域和相同的顏色來(lái)池化的。我們?cè)谶@里得到偏移量。
最后,在底部路徑中,我們執(zhí)行deformable PS RoI pooling來(lái)池化偏移量增強(qiáng)的特征圖。
論文地址:https://arxiv.org/abs/1904.11490
目前,Bounding Box(即包含物體的一個(gè)緊致矩形框)幾乎主導(dǎo)了計(jì)算機(jī)視覺(jué)中對(duì)于物體的表示,其廣泛流行得益于它簡(jiǎn)便且方便物體特征提取的特點(diǎn),但另一方面也限制了對(duì)物體更精細(xì)的定位和特征提取。
北大、清華和微軟亞研的研究者們提出了一種新的視覺(jué)物體表示方法,稱作 RepPoints(representative points,代表性點(diǎn)集),這種方法能更精細(xì)地描述物體的幾何位置和進(jìn)行圖像特征的提取,同時(shí)也兼有簡(jiǎn)便和方便特征提取的特點(diǎn)。利用這種表示,很自然能得到一個(gè) anchor-free 的物體檢測(cè)框架,取得了和目前 anchor-based 方法可比的性能。
2.1 動(dòng)機(jī)
在目標(biāo)檢測(cè)任務(wù)中,邊界框描述了目標(biāo)檢測(cè)器各階段的目標(biāo)位置。
雖然邊界框便于計(jì)算,但它們僅提供目標(biāo)的粗略定位,并不完全擬合目標(biāo)的形狀和姿態(tài)。因此,從邊界框的規(guī)則單元格中提取的特征可能會(huì)受到背景內(nèi)容或前景區(qū)域的無(wú)效信息的嚴(yán)重影響。這可能導(dǎo)致特征質(zhì)量降低,從而降低了目標(biāo)檢測(cè)的分類性能。
本文提出一種新的表示方法,稱為 RepPoints,它提供了更細(xì)粒度的定位和更方便的分類。

如圖所示,RepPoints 是一組點(diǎn),通過(guò)學(xué)習(xí)自適應(yīng)地將自己置于目標(biāo)之上,該方式限定了目標(biāo)的空間范圍,并且表示具有重要語(yǔ)義信息的局部區(qū)域。
RepPoints 的訓(xùn)練由目標(biāo)定位和識(shí)別共同驅(qū)動(dòng)的,因此,RepPoints 與 ground-truth 的邊界框緊密相關(guān),并引導(dǎo)檢測(cè)器正確地分類目標(biāo)。
2.2 Bounding Box Representation
邊界框是一個(gè)4維表示,編碼目標(biāo)的空間位置,即?
?,?
?表示中心點(diǎn),?
?表示寬度和高度。
由于其使用簡(jiǎn)單方便,現(xiàn)代目標(biāo)檢測(cè)器嚴(yán)重依賴于邊界框來(lái)表示檢測(cè) pipeline 中各個(gè)階段的對(duì)象。
性能最優(yōu)的目標(biāo)檢測(cè)器通常遵循一個(gè) multi-stage 的識(shí)別范式,其中目標(biāo)定位是逐步細(xì)化的。其中,目標(biāo)表示的角色如下:

2.3 RepPoints
如前所述,4維邊界框是目標(biāo)位置的一個(gè)粗略表示。邊界框表示只考慮目標(biāo)的矩形空間范圍,不考慮形狀、姿態(tài)和語(yǔ)義上重要的局部區(qū)域的位置,這些可用于更好的定位和更好的目標(biāo)特征提取。
為了克服上述限制,RepPoints 轉(zhuǎn)而對(duì)一組自適應(yīng)樣本點(diǎn)進(jìn)行建模:

其中?
?為表示中使用的樣本點(diǎn)的總數(shù)。在這項(xiàng)工作中,?
?默認(rèn)設(shè)置為 9。
2.4 Learning RepPoints
RepPoints 的學(xué)習(xí)是由目標(biāo)定位損失和目標(biāo)識(shí)別損失共同驅(qū)動(dòng)的。為了計(jì)算目標(biāo)定位損失,我們首先用一個(gè)轉(zhuǎn)換函數(shù)?
?將 RepPoints 轉(zhuǎn)換為偽框 (pseudo box)。然后,計(jì)算轉(zhuǎn)換后的偽框與 ground truth 邊界框之間的差異。
2.5 RPDet
作者設(shè)計(jì)了一種不使用 anchor 的對(duì)象檢測(cè)器,它利用 RepPoints 代替邊界框作為目標(biāo)的基本表示。
目標(biāo)表示的演化過(guò)程如下:

RepPoints Detector (RPDet) 由兩個(gè)基于可變形卷積的識(shí)別階段構(gòu)成,如圖所示。

可變形卷積與 RepPoints 很好地結(jié)合在一起,因?yàn)樗木矸e是在一組不規(guī)則分布的采樣點(diǎn)上計(jì)算的,另外,它的分類可以指導(dǎo)訓(xùn)練這些點(diǎn)的定位。
上圖的第一個(gè)偏移量通過(guò)對(duì)角點(diǎn)監(jiān)督學(xué)習(xí)得到,第二個(gè)偏移量在前一個(gè)偏移量的基礎(chǔ)上通過(guò)分類監(jiān)督學(xué)習(xí)得到。
可形變卷積通過(guò)最后的分類分支和回歸分支的監(jiān)督,自適應(yīng)的關(guān)注到合適的特征位置,提取更好的特征,但是我一直沒(méi)想明白的是可形變卷積真的能夠關(guān)注到合適的特征位置嗎,可形變卷積的偏移量學(xué)習(xí)是非常自由的,可能會(huì)跑到遠(yuǎn)離目標(biāo)的位置,那么這些特征真的是有幫助的嗎,這些問(wèn)題一直困擾著我,我覺(jué)得可形變卷積的中間過(guò)程太模糊了,太不直接了,是難以解釋的。而RepPoints通過(guò)定位和分類的監(jiān)督信號(hào)來(lái)直接監(jiān)督偏移量的學(xué)習(xí),這樣偏移量不就有可解釋性了嗎,偏移的位置使得定位和分類更加準(zhǔn)確(即偏移的位置可定位目標(biāo)并且語(yǔ)義信息可識(shí)別目標(biāo)),這樣偏移量就不會(huì)亂跑了,而且是可解釋的。
從這個(gè)角度來(lái)想,RepPoints其實(shí)是對(duì)可形變卷積進(jìn)一步的改進(jìn),相比可形變卷積有兩個(gè)優(yōu)點(diǎn):
1.通過(guò)定位和分類的直接監(jiān)督來(lái)學(xué)習(xí)可形變卷積的偏移量,使得偏移量具有可解釋性。
2.可以通過(guò)采樣點(diǎn)來(lái)直接生成偽框 (pseudo box),不需要另外學(xué)習(xí)邊界框,并且分類和定位有聯(lián)系。
交流群
歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~

