關注公號:AI深度視線 | CVPR 2020 | CentripetalNet:目標檢測新網絡,COCO 48 % AP超現所有Anchor-free網絡

 

1 引言

 

 

摘要:基於關鍵點的檢測器性能還不錯,不過匹配錯關鍵點的情況還是經常發生,並極大地影響了探測器的性能。作者在這篇文章中提出一種使用向心偏移來對同一實例中的角點進行配對的CentripetalNet向心網絡。向心網絡可以預測角點的位置和向心偏移,並匹配移動結果對齊的角。結合位置信息,這種方法比傳統的嵌入方法更準確地匹配角點。角池將邊界框內的信息提取到邊界上。爲了使這些信息在角落裏更容易被察覺,作者又設計了一個交叉星可變形卷積網絡來適應特徵。除了檢測,通過爲作者的CentripetalNet安置一個mask預測模塊來探索anchor-free檢測器上的實例分割。在MS-COCO test-dev上,CentripetalNet不僅以48.0%的AP勝過所有現有的anchor-free檢測器,而且以40.2%的MaskAP達到了與最新實例分割方法相當的性能

代碼將在https: // github.com/kiveedong/petalnet上提供。

 

 

2 思路創新點

 

  • 傳統方法:

主要採用關聯嵌入(associative embeding)法對角點進行配對,需要網絡對每個角點額外學習一個嵌入(embeding),判斷兩個角是否屬於同一個邊框。以這種方式,如果兩個角來自同一個box,它們將有類似的嵌入,否則,它們的嵌入將是非常不同的。基於關聯嵌入的檢測器在目標檢測中取得了良好的性能,但也存在一定的侷限性。

 

  • 缺點:

首先,傳統方法在訓練過程中運用推拉損失來學習每個點的嵌入。推損(Push loss)將在不屬於同一物體的點之間計算,以使它們彼此遠離。而拉損(Pull loss)只考慮來自同一物體的點之間的拉損。因此,在訓練過程中,網絡實際上是被訓練來尋找對角線上所有潛在點中唯一的匹配點。它對異常值高度敏感,當一個訓練樣本中有多個相似對象時,訓練難度會急劇增加

其次,嵌入預測是基於外觀輪廓,沒有使用位置信息,因此如圖1所示,如果兩個物體有相似的外觀,即使相距很遠,網絡也傾向於預測它們的相似嵌入

 

  • 基於上述考慮,作者提出兩點創新:

  1. 一種新穎的向心偏移角匹配方法

    向心偏移:給定一對角點,作者定義一個二維向量,即向心位移,對於每個角,向心位移編碼空間偏移從角點落到盒子中心點。這樣,每個角都可以根據向心位移產生一箇中心點,如果兩個角屬於同一個邊框,那麼它們產生的中心點應該是相近的。匹配的質量可以用兩個中心之間的距離和匹配的幾何中心來表示。結合每個角點的位置信息,與關聯嵌入方法相比,該方法對異常值具有較強的魯棒性。

  2. 一種能夠更好地預測向心偏移的交叉星形可變形卷積模塊

交叉星可變形卷積,不僅可以學習一個大的感受野,而且還可以學習“cross stars”的幾何結構。可以觀察到角池(corner pool)輸出的feature map中有一些“cross stars”。

 

 

3 CentripetalNet

 

 

  • 網絡結構

上圖爲centrpetalnet的核心結構。Centrpetalnet由四個模塊組成,分別是角點預測模塊向心移位模塊交叉星可變形卷積模塊實例掩碼頭模塊

  • 工作原理

首先基於Centernet pipline生成角點候選對象。對於所有的角點候選項,引入向心移位算法來追求高質量的角點對並生成最終的預測邊界框。向心偏移模塊預測角點的向心偏移,並匹配角對,這些對角對的偏移結果從其位置解碼,並且向心偏移對齊。

然後,交叉星可變形卷積,它的偏移場是從角到相應中心的偏移中學習,進行特徵適應,豐富角位置的視覺特徵,這對於提高向心位移模塊的精度是很重要的。

最後,添加了一個實例掩碼模塊來進一步提高檢測性能,並將該方法擴展到實例分割區域。該方法以向心位移模塊的預測邊框爲region proposals,利用RoIAlign提取region特徵,並利用小型卷積網絡對分割掩碼進行預測。centrpetalnet是端到端訓練的,可以使用或不使用實例分割模塊進行推理。

 

3.1 Centripetal Shift Module

 

  • Centripetal Shift 向心偏移:

 

對於一個box:

它的中心爲:

 

作者定義它兩個角點的向心偏移爲:

這裏作者使用對數函數來減少向心位移的數值範圍,使學習過程更容易。

在訓練中,作者在地面真值角的位置應用平滑的L1損失:

 

  •  Corner Matching.

爲了匹配角點,作者設計了一種利用角點向心位移和位置的匹配方法。一個屬於同一邊界框的一對角應該共享該框的中心,至少直覺上來說這是合理的。由於我們可以從預測角的位置和向心偏移中解碼出相應的中心,因此很容易比較一對角的中心是否足夠靠近並接近由角對組成的邊界框的中心,例如如圖3(c)所示。

基於以上觀察,作者的方法如下,一旦從角熱圖和局部偏移特徵圖中獲得角點,作者將相同類別的角進行分組,滿足(tlx < brx)∧(tly < bry)的條件,構造預測邊框。對於每個邊界框bboxj,作者將其得分設置爲其角點得分的幾何平均值,這些分數是通過在預測的角點熱圖上應用softmax得到的。然後,如圖3所示,作者將每個邊界框的中心區域定義爲公式3,以比較解碼中心和邊界框中心的接近度。

 

其角點座標表示爲:

其中0<µ≤1表示中心區域的寬度和高度是邊界框的寬度和高度的µ倍。通過向心偏移,可以分別解碼左上角和右下角的中心(tlctx, tlcty)和(brctx, brcty)。

然後作者計算每個預測邊界框的得分權重wj,這意味着迴歸的中心更接近,預測的box有更高的得分權重。

對於其他邊界框,作者設置wj=0。最後,作者可以通過乘以分數權重對預測的邊界框進行重新評分。

 

3.2. Cross-star Deformable Convolution

 

由於角點池的原因,feature map中出現了一些“cross stars”,如圖4(a)所示。“十字星”的邊界保持了對象的豐富上下文信息,因爲角池使用max和sum操作將對象的位置信息擴展到沿“十字星”邊界的角。要獲取‘cross star’的上下文信息,不僅需要一個大的感受野,還需要學習‘cross star’的幾何結構。基於上述直覺,作者提出了交叉星可變形卷積,這是一種新穎的卷積運算,用於增強拐角處的視覺特徵。

作者提出的可變形的交叉星卷積如圖2所示。

首先,作者將角池的特徵映射輸入到可變形的交叉星卷積模塊中。爲了學習可變形卷積的“十字星”的幾何結構,使用對應目標的大小來顯式地引導偏移場分支,因爲“十字星”的形狀與包圍盒的形狀有關。然而,以左上角爲例,他們應該少注意“十字星”的左上角,因爲有更多的無用信息在目標之外。

因此,作者嵌入了一個導向偏移——從角落到中心的偏移到偏移場分支,如圖3(b)所示,它包含了形狀和方向信息。具體來說,偏移場是在三個卷積層上進行的。前兩個卷積層將角池輸出嵌入到feature map中,其Loss如下:

 

 

第二個卷積層將上述特徵映射到偏移量字段,偏移量字段顯式地包含上下文和幾何信息。作者的cross-star deformable convolution通過將學習到的偏移場可視化,如圖7c所示,可以有效地學習' cross star '的幾何信息,提取' cross star '的邊界信息。

 

3.3. Instance Mask Head

 

爲了得到實例分割掩碼,作者將soft-nms前的檢測結果作爲region proposals,並利用全卷積神經網絡對掩碼進行預測。爲了保證檢測模塊能夠產生方案,作者首先對中心網進行了幾個時代的預訓練。選擇得分最高的k個提案,然後在主幹網的特徵圖上進行RoIAlign,得到它們的特徵。作者將RoIAlign的尺寸設置爲14×14,並預測得到一個28×28的掩模。在得到RoI的特性後,作者應用連續四個3×3層卷積,然後用一層反捲積upsample特性映射到28×28 mask地圖。在訓練過程中,作者對每個區域的方案應用交叉熵損失。

 

4 實驗和結果

 


COCO數據集比較:

 

 實例分割:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章