深度學習可形變卷積


深度學習可形變卷積

Deformable Convolutional Networks

參考文獻鏈接:https://arxiv.org/pdf/1703.06211.pdf

參考代碼鏈接: https://github.com/ msracver/Deformable-ConvNets

可形變卷積

卷積神經網絡(CNNs)由於其構建模塊中固定的幾何結構,其固有的局限性在於模型的幾何變換。在這項工作中,引入了兩個新的模塊來增強CNNs的轉換建模能力,即可變形卷積和可變形RoI池。這兩種方法都基於這樣的思想,即在不需要額外監視的情況下,使用附加偏移量來增加模塊中的空間采樣位置,並從目標任務中學習偏移量。新的模塊可以很容易地取代現有cnn中的普通模塊,並且可以通過標准的反向傳播進行端到端的簡單訓練,從而產生可變形卷積網絡。大量實驗驗證了該方法在復雜的目標檢測和語義分割視覺任務中的有效性。

使用可變形卷積,可以提升Faster R-CNN和R-FCN在物體檢測和分割上的性能。只要增加很少的計算量,就可以得到性能的提升。

 

 

 傳統/常規卷積基於定義的濾波器大小,在輸入圖像或一組輸入特征圖的預定義矩形網格上操作。該網格的大小可以是3×3和5×5等。然而,想要檢測和分類的對象可能會在圖像中變形或被遮擋。

在DCN中,網格是可變形的,因為每個網格點都可以通過一個可學習的偏移量移動卷積作用於這些移動的網格點上,因此稱為可變形卷積,類似於可變形RoI池化的情況。通過使用這兩個新模塊,DCN提高了DeepLab、Faster R-CNN、R-FCN、和FPN等的准確率。

最后,MSRA使用DCN+FPN+Aligned Xception在COCO Detection Challenge中獲得第二名,Segmentation Challenge中獲得第三名。發表於2017 ICCV,引用次數超過200

1. 可變形卷積

 

 

 

可變形卷積

  • 規則的卷積是在一個規則的網格R上操作的。
  • R進行可變形卷積運算,但每個點都增加一個可學習的偏移∆pn
  • 卷積生成2N個特征圖,對應N個2D個偏移量∆pn(每個偏移量對應有x-方向和y-方向)。

 

 標准卷積(左), 可變形卷積(右)

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

2. Deformable RoI Pooling

 

 

 Deformable RoI Pooling

  • 常規RoI Pooling將任意大小的輸入矩形區域轉換為固定大小的特征。
  • 在Deformable RoI Pooling中,首先,在top path中,仍然需要常規的RoI Pooling來生成池化的feature map。
  • 然后,使用一個全連接(fc)層生成歸一化的偏移∆p̂ij,然后轉化為偏移∆pij(方程在右下角)其中γ= 0.1。
  • 偏移量歸一化是必要的,使偏移量的學習不受RoI大小的影響。
  • 最后,在底部路徑,執行deformable RoI pooling。輸出特征圖是基於具有增強偏移量的區域進行池化的

3. Deformable Positive-Sensitive (PS) RoI Pooling

 

 

 Deformable Positive-Sensitive (PS) RoI Pooling (在這里顏色很重要)

對於原始的R-FCN中的Positive-Sensitive (PS) RoI pooling,所有的輸入特征圖首先轉換為每個類別k²個得分圖(假設背景類總共C + 1個類別)(最好是讀一下R-FCN,理解一下最初的PS RoI pooling)

  • 在deformable PS RoI pooling中,首先,在頂部路徑上,和原始的相似,
    卷積用於生成2k²(C + 1)得分圖。
  • 這意味着,對於每個類別,有k²個特性圖,這些特征圖代表了要學習的物體的偏移量{上左(TL),上中(TC), . .,右下(BR)}。
  • 偏移量(頂部路徑)的原始的PS RoI Pooling是使用圖中相同的區域和相同的顏色來池化的。在這里得到偏移量。
  • 最后,在底部路徑中,執行deformable PS RoI pooling來池化偏移量增強的特征圖。

可形變卷積的進階:RepPoints

RepPoints: Point Set Representation for Object Detection

論文地址:https://arxiv.org/abs/1904.11490

代碼鏈接:https://github.com/microsoft/RepPoints

現代的目標檢測器在很大程度上依賴於矩形的邊界框,如錨、方案和最終預測,來表示不同識別階段的目標。邊界框使用方便,但僅提供對象的粗略定位,並導致相應的對象特征的粗略提取。在本文中,提出了一種新的更精細的對象表示方法&textbf{RepPoints}(代表點),它是一組用於定位和識別的樣本點。給定訓練的地面真值定位和識別目標,RepPoints學習以限定對象空間范圍並指示語義上重要的局部區域的方式自動排列自己。此外,它們不需要使用錨來采樣邊界框空間。結果表明,基於RepPoints的無錨目標檢測方法與現有的基於錨的檢測方法一樣,在COCO測試dev檢測基准上,使用ResNet-101模型,具有46.5ap和67.4的檢測效率。

目前,Bounding Box(即包含物體的一個緊致矩形框)幾乎主導了計算機視覺中對於物體的表示,其廣泛流行得益於它簡便且方便物體特征提取的特點,但另一方面也限制了對物體更精細的定位和特征提取。

研究者們提出了一種新的視覺物體表示方法,稱作 RepPoints(representative points,代表性點集),這種方法能更精細地描述物體的幾何位置和進行圖像特征的提取,同時也兼有簡便和方便特征提取的特點。利用這種表示,很自然能得到一個 anchor-free 的物體檢測框架,取得了和目前 anchor-based 方法可比的性能。

動機

在目標檢測任務中,邊界框描述了目標檢測器各階段的目標位置。

雖然邊界框便於計算,但它們僅提供目標的粗略定位,並不完全擬合目標的形狀和姿態。因此,從邊界框的規則單元格中提取的特征可能會受到背景內容或前景區域的無效信息的嚴重影響。這可能導致特征質量降低,從而降低了目標檢測的分類性能。

本文提出一種新的表示方法,稱為 RepPoints,它提供了更細粒度的定位和更方便的分類。

 

 

 如圖所示,RepPoints 是一組,通過學習自適應地將自己置於目標之上,該方式限定了目標的空間范圍,並且表示具有重要語義信息的局部區域。

RepPoints 的訓練由目標定位和識別共同驅動的,因此,RepPoints 與 ground-truth 的邊界框緊密相關,並引導檢測器正確地分類目標。

Bounding Box Representation

邊界框是一個4維表示,編碼目標的空間位置,即 

 

 x,y  表示中心點, w,h 表示寬度和高度。

由於其使用簡單方便,現代目標檢測器嚴重依賴於邊界框來表示檢測 pipeline 中各個階段的對象。

性能最優的目標檢測器通常遵循一個 multi-stage 的識別范式,其中目標定位是逐步細化的。其中,目標表示的角色如下:

 

 

 RepPoints

如前所述,4維邊界框是目標位置的一個粗略表示。邊界框表示只考慮目標的矩形空間范圍,不考慮形狀、姿態和語義上重要的局部區域的位置,這些可用於更好的定位和更好的目標特征提取。

為了克服上述限制,RepPoints 轉而對一組自適應樣本點進行建模:

 

 

 其中 n 為表示中使用的樣本點的總數。在這項工作中, n 默認設置為 9。

Learning RepPoints

RepPoints 的學習是由目標定位損失和目標識別損失共同驅動的。為了計算目標定位損失,首先用一個轉換函數  

 將 RepPoints 轉換為偽框 (pseudo box)。然后,計算轉換后的偽框與 ground truth 邊界框之間的差異。

RPDet

作者設計了一種不使用 anchor 的對象檢測器,它利用 RepPoints 代替邊界框作為目標的基本表示。

目標表示的演化過程如下:

 

 

 RepPoints Detector (RPDet) 由兩個基於可變形卷積的識別階段構成,如圖所示。

 

 

 可變形卷積與 RepPoints 很好地結合在一起,因為它的卷積是在一組不規則分布的采樣點上計算的,另外,它的分類可以指導訓練這些點的定位。

上圖的第一個偏移量通過對角點監督學習得到,第二個偏移量在前一個偏移量的基礎上通過分類監督學習得到。

從另一個角度來理解RepPoints:

可形變卷積通過最后的分類分支和回歸分支的監督,自適應的關注到合適的特征位置,提取更好的特征,但是我一直沒想明白的是可形變卷積真的能夠關注到合適的特征位置嗎,可形變卷積的偏移量學習是非常自由的,可能會跑到遠離目標的位置,那么這些特征真的是有幫助的嗎,這些問題一直困擾着我,我覺得可形變卷積的中間過程太模糊了,太不直接了,是難以解釋的。而RepPoints通過定位和分類的監督信號來直接監督偏移量的學習,這樣偏移量不就有可解釋性了嗎,偏移的位置使得定位和分類更加准確(即偏移的位置可定位目標並且語義信息可識別目標),這樣偏移量就不會亂跑了,而且是可解釋的。

從這個角度來想,RepPoints其實是對可形變卷積進一步的改進,相比可形變卷積有兩個優點

1.通過定位和分類的直接監督來學習可形變卷積的偏移量,使得偏移量具有可解釋性。

2.可以通過采樣點來直接生成偽框 (pseudo box),不需要另外學習邊界框,並且分類和定位有聯系。

 

參考文獻

[1] 《Deformable Convolutional Networks》

[2] 《Deformable ConvNets v2: More Deformable, Better Results》

[3] 《RepPoints: Point Set Representation for Object Detection》

[4] 《孔濤:Deformable ConvNets v2 paper reading》

[5]《北大、清華、微軟聯合提出RepPoints,比邊界框更好用的目標檢測方法》

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM