日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 目标检测 >内容正文

目标检测

【目标检测_CentripetalNet】CentripetalNet: Pursuing High-quality Keypoint Pairs for Object Detection_2020

發布時間:2023/12/15 目标检测 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【目标检测_CentripetalNet】CentripetalNet: Pursuing High-quality Keypoint Pairs for Object Detection_2020 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

      • Abstract
      • 1、Introduction
      • 2、Related work
        • Anchor-based approach
        • Anchor-free Approach
      • 3、CentripetalNet
        • 3.1 Centripetal Shift Module
        • 3.1Centripetal shift module
          • 3.1.1 Centripetal shift
          • 3.1.2 Corner Matching
        • 3.2 Cross-star deformable convolution
      • 4、Experiment

論文地址: https://arxiv.org/pdf/2003.09119.pdf
源碼地址: https://github.com/KiveeDong/CentripetalNet

Abstract

基于關鍵點的檢測器取得了很好的性能。然而,不正確的關鍵點匹配仍然普遍存在,嚴重影響了檢測器的性能。在本文中,我們提出了 CentripetalNet,它利用向心位移來對同一實例中的角點進行配對。

CentripetalNet 預測角點(corner points)的位置(position)和向心偏移(centripetal shift),并對偏移結果對齊(aligned)的角點進行匹配。

結合位置信息,我們的方法比傳統的嵌入方法更精確地匹配角點。corner pooling 將邊界框內的信息提取到邊界上。為了使角點處的信息更加敏感,我們設計了一個 corner-star deformable convolution network 進行特征自適應。此外,我們還通過在向心網絡上安裝一個掩模預測模塊來探索無錨檢測器上的實例分割。在MS-COCO測試開發中,我們的向心網不僅在AP為48.0%的情況下優于所有現有的無錨檢測器,而且在askAP為40.2%的情況下,我們的向心網實現了與最先進的實例分割方法相當的性能。代碼將在https://github.com/KiveeDong/CentripetalNet上提供

1、Introduction

目標檢測是計算機視覺在自動駕駛、移動娛樂、視頻監控等應用中的一個基本課題。其挑戰來源于目標外觀較大的尺度、形變、遮擋。隨著深度學習的發展,目標檢測取得了長足的進步[10,9,29,26,23,19,11,20,1,17]。基于錨的方法[9,29,23]在過去幾年中引領了潮流,但是很難手動設計一組合適的錨。此外,基于錨的方法在負錨和正錨之間存在顯著差異。為了改進它,CornerNet[17]提出了一種將邊界框表示為一對角的新方法,即左上角和右下角。基于這種思想,出現了許多基于角點的方法[17,7]。corner-based 的檢測框架逐漸引領了目標檢測領域的新趨勢。corner-based 的檢測框架分為角點預測和角點匹配兩個步驟。在本文中,我們集中討論第二步。

傳統的方法[17,7]主要采用關聯嵌入方法對角點進行配對,其中網絡需要學習每個角點的附加嵌入,以識別兩個角點是否屬于同一個 bounding-box。這樣,如果兩個角來自同一個box,它們將有一個相似的嵌入,否則,它們的嵌入將完全不同。基于關聯嵌入的檢測器在目標檢測中取得了很好的性能,但也存在一定的局限性。首先,訓練過程采用推拉損失來學習每個點的嵌入。將計算不屬于同一對象的點之間的推送損耗,以將它們推離彼此。而拉損只在同一物體的點之間考慮。因此,在訓練過程中,網絡實際上被訓練在對角線的所有潛在點內尋找唯一的匹配點。當一個訓練樣本中存在多個相似對象時,該方法對異常值非常敏感,訓練難度會急劇增加。其次,嵌入預測基于外觀特征,不使用位置信息,如圖1所示,如果兩個對象具有相似的外觀,則即使它們相距很遠,網絡也傾向于為它們預測相似的嵌入。

基于上述考慮,我們提出了一種基于向心位移的角點匹配方法和一個十字星可變形卷積模塊來更好地預測向心位移。給定一對角點,我們為每個角點定義一個二維向量,即向心位移,其中向心位移編碼從角點到長方體中心點的空間偏移。這樣,每個角點都可以根據向心位移生成一個中心點,因此如果兩個角點屬于同一個邊界框,則它們生成的中心點應該是閉合的。匹配的質量可以用兩個中心與該匹配的幾何中心之間的距離來表示。結合每個角點的位置信息,與聯合嵌入方法相比,該方法對異常點具有較強的魯棒性。此外,我們還提出了一種新的成分,即 cross-star 可變形卷積,不僅可以學習大的感受野接收場,而且可以學習 cross-star 的幾何結構。我們觀察到 corner-pooling 輸出的特征圖中有一些“十字星”。

“cross-star”的邊界包含對象的上下文信息,因為 corner-pooling 使用max和sum操作將對象的位置信息沿 “cross-star” 邊界擴展到角。因此,我們將目標的幾何和位置信息明確地嵌入到可變形卷積的偏移場中。與 CornerNet 相比,我們的模型配備了向心偏移和 cross-star 可變形卷積,在MS-COCO test-dev2017上從42.1%AP提高到47.8%AP,取得了顯著的性能提升。此外,基于多任務學習在目標檢測中的優勢,我們首先加入了實例掩碼分支,進一步提高了目標檢測的準確性。我們將roalign應用于一組預測感興趣區域(roi)的集合特征,并將集合特征輸入掩模頭,生成最終的分割預測。為了證明所提出的向心網的有效性,我們在具有挑戰性的MS-COCO基準上對該方法進行了評估[21]。在MS-COCO test-dev上,向心網不僅在AP為48.0%的情況下優于所有現有的無錨檢測器,而且在實例分割方面也取得了與現有方法相當的性能。

2、Related work

Anchor-based approach

基于錨的檢測器在特征地圖的每個位置設置錨箱。該網絡預測每個錨定框中有對象的概率,并調整錨定框的大小以匹配對象。通常,基于錨的方法可以分為兩類,即兩階段方法和單階段方法。

從R-CNN系列方法[10,12,9]中導出兩階段方法,首先利用選擇性搜索方法[32]提取ROI,然后對其進行分類和回歸。更快的R-CNN[29]使用區域建議網絡(RPN)通過修改預設錨定框來生成roi。掩模R-CNN[11]使用雙線性插值用roalign層替換RoIPool層。它的遮罩頭使用自頂向下的方法來獲取實例分段。

在不提取roi的情況下,一級方法直接對預先設置的錨箱進行分類和回歸。SSD[23]利用來自多個不同卷積層的特征映射,以不同的步幅對錨定盒進行分類和回歸。與YOLO[26]相比,YOLOv2[27]使用預設錨定。然而,上述方法存在著正負樣本不平衡的問題。RetinaNet[20]使用焦點損失來緩解分類不平衡問題。RefineDet[37]通過引入錨定細化模塊來過濾和消除負樣本來細化FPN結構。

針對不同的問題,本文還提出了與基于錨的檢測器協同工作,如改進錨的選擇過程[33]、改進特征學習過程[39,18]、優化定位預測方法[24]、改進損失函數[30,16]。

Anchor-free Approach

對于基于錨的方法,錨箱的形狀應仔細設計以適合目標對象。與基于錨的方法相比,無錨檢測器不再需要預先設置錨箱。主要提出了兩種無錨探測器。

探測器的第一種類型直接預測了目標的中心。Yolov1[26]在目標中心點預測物體的大小和形狀。DenseBox[14]引入了一種全卷積神經網絡框架以獲得高效率。UnitBox[36]使用IoU loss將四個邊界作為一個整體進行回歸。由于陽性樣本的數量相對較少,這些檢測器的召回率相當低。為了解決這個問題,FCOS[31]將對象邊界框內的所有點作為正樣本處理。它檢測所有正點以及從該點到邊界框邊界的距離。

對于第二種類型,檢測器預測關鍵點并將其分組以獲得邊界框。CornerNet[17]檢測對象的左上角和右下角,并將它們嵌入到抽象的特征空間中。它通過計算每對點的嵌入之間的距離來匹配同一對象的角點。ExtremeNet[38]檢測對象的頂部、左側、底部、最右側和中心點。結合Deep Extreme Cut[25],可以使用極值點進行分割。這些檢測器需要一些特定的分組方法來獲得邊界盒。RepPoints[35]使用可變形卷積網絡(DCN)[6]獲得用于表示對象的點集。轉換函數經過精心設計,可將點集轉換為邊界框。CenterNet[7]在CornerNet中增加了一個中心檢測分支,通過中心點驗證大大提高了性能。

這些方法通常在錯誤檢測較多的情況下達到較高的召回率。主要的挑戰在于如何匹配同一對象的關鍵點。在這項工作中,我們提出了一個向心位移,它將角點之間的關系編碼,并通過預測的空間信息得到相應的中心,從而可以通過它們的共享中心建立左上角和右下角之間的連接。

3、CentripetalNet

我們首先提供方法的概述。如圖2所示,CentripetalNet 由四個模塊組成,即角點預測模塊、向心偏移模塊、cross-star 十字星變形卷積模塊和 instance mask 頭。我們首先基于CornerNet生成候選角點。在所有候選角點的基礎上,引入向心移位算法來尋找高質量的角點對,并生成最終的預測邊界盒。具體地說,向心偏移模塊預測角點的向心偏移,并匹配角點對,其從其位置解碼的偏移結果與向心偏移對齊。然后,我們提出了一種新的十字星可變形卷積算法,它的偏移場是從角點到相應中心的偏移量中得到的,用于進行特征自適應以豐富角點位置的視覺特征,這對于提高向心偏移模塊的精度具有重要意義。最后,為了進一步提高檢測性能,我們增加了一個實例掩碼模塊,并將該方法擴展到實例分割領域。該方法以向心位移模塊的預測包圍盒為區域建議,利用roalign提取區域特征,并應用小卷積網絡預測分割掩模。總體來說,我們的向心網是端到端訓練的,可以在有或沒有實例分割模塊的情況下進行推理。

3.1 Centripetal Shift Module

Fig 2:CentripetalNet 概述。由于左上角和右下角的角點預測和特征自適應是相似的,為了簡單起見,我們只畫左上角模塊。向心變換模塊首先得到預測的角點和自適應特征,然后預測每個角點的向心位移,并根據預測的角點和向心位移進行角點匹配。在匹配過程中,如果移動角點的位置足夠接近,它們將形成一個得分較高的邊界框。

CentripetalNet四個模塊:

  • 角點預測模塊
  • 向心偏移模塊
  • cross-star 十字星變形卷積模塊
  • instance mask 模塊

步驟:

  • 首先基于CornerNet pipline生成候選角點
  • 對于所有的角點候選項,引入向心移位算法來追求高質量的角點對并生成最終的預測邊界框。向心偏移模塊預測角點的向心偏移,并匹配角對,這些對角對的偏移結果從其位置解碼,并且向心偏移對齊。
  • 然后,交叉星可變形卷積,它的偏移場是從角到相應中心的偏移中學習,進行特征適應,豐富角位置的視覺特征,這對于提高向心位移模塊的精度是很重要的。
  • 最后,添加了一個實例掩碼模塊來進一步提高檢測性能,并將該方法擴展到實例分割區域。該方法以向心位移模塊的預測邊框為region proposals,利用RoIAlign提取region特征,并利用小型卷積網絡對分割掩碼進行預測。centrpetalnet是端到端訓練的,可以使用或不使用實例分割模塊進行推理。

3.1Centripetal shift module

3.1.1 Centripetal shift

對于 bboxi=(tlxi,tlyi,brxi,bryi)bbox^i=(tlx^i, tly^i,brx^i,bry^i)bboxi=(tlxi,tlyi,brxi,bryi),其幾何中心為: (ctxi,ctyi=(tlxi,brxi2,tlyi,bryi2))(ctx^i, cty^i = (\frac{tlx^i, brx^i}{2}, \frac{tly^i,bry^i}{2}))(ctxi,ctyi=(2tlxi,brxi?,2tlyi,bryi?))

文中定義對 top-left 角點和 bottom-right 角點的向心偏移分別為:


log的作用: 降低向心偏移的數值范圍,使得學習更容易

訓練過程中,在真實 corner 的位置,使用 smooth L1 loss,其中 NNN為訓練時真實corner的個數:

3.1.2 Corner Matching

為了匹配角點,我們設計了一種利用角點的向心位移和位置進行匹配的方法。一對屬于同一邊界框的角應共享該框的中心,這是直觀和合理的。由于我們可以從預測角點的位置和向心位移來解碼對應的預測角點中心,因此很容易比較一對角點的中心是否足夠接近,并且該兩個中心是否接近由角點對組成的 bounding-box 的中心,如圖3(c)所示。基于上述觀察,我們的方法如下。從角點熱圖和局部偏移特征圖中提取角點后,對同一類別的角點進行分組,滿足 tlx<brx<tly<brytlx<brx<tly<brytlx<brx<tly<bry 的條件,即可構造出預測的邊界盒 bboxibbox^ibboxi。對于每個邊界框b,我們將其得分設置為其角點得分的幾何平均值,這是通過在預測的角點熱圖上應用 softmax 獲得的。

然后,如圖3所示,我們將每個邊界框的中心區域定義為等式3,以比較解碼中心和邊界框中心的接近度。

RcentralR_{central}Rcentral? 的角點用下列公式計算:

其中,0<μ≤10< \mu\leq10<μ1 表示中心區域的寬度和高度是邊界框的寬度和高度的 μ\muμ 倍。通過向心偏移,可以分別解碼左上角和右下角的中心 (tlctx,tlcty)(tl_{ctx}, tl_{cty})(tlctx?,tlcty?)(brctx,brcty)(br_{ctx}, br_{cty})(brctx?,brcty?)

然后計算滿足 (tlctx,tlcty)∈Rcentralj∧(brctx,brcty)∈Rcentralj(tl_{ctx}, tl_{cty}) \in R^j_{central} \wedge (br_{ctx}, br_{cty}) \in R^j_{central}(tlctx?,tlcty?)Rcentralj?(brctx?,brcty?)Rcentralj? 的box的得分權重 wjw_jwj?,這意味著回歸的中心越接近,預測的box有更高的得分權重。對于其他邊界框,我們將 wjw_jwj?設置為0。最后,我們可以通過乘以得分權重對預測的邊界框重新打分。

3.2 Cross-star deformable convolution

由于 corner-pooling,在feature map 中有一些“cross-star”,如圖4(a)所示。“cross-star”的邊界保留了對象的大量上下文信息,因為 corner-pooling 使用max和sum 操作將對象的位置信息沿“cross-star”邊界擴展到角。要獲取“十字星”的上下文信息,不僅需要一個大的感受野,還需要學習“十字星”的幾何結構。基于上述直覺,我們提出了一種新的卷積運算,即十字星可變形卷積,以增強角點的視覺特征。

我們提出的跨星可變形卷積如圖2所示。首先,將角 corner pooling 特征映射輸入到跨星可變形卷積模塊中。為了了解可變形卷積中十字星的幾何結構,我們可以利用對應物體的大小來顯式地引導偏移場分支,因為我們發現十字星的形狀與包圍盒的形狀有關。不過,以左上角為例,他們自然應該少注意“十字星”的左上角,因為物體外有更多無用的信息。因此,我們將一個 guiding shift,如圖3(b)所示,從角到中心的移位,包含形狀和方向信息,嵌入到偏移字段分支。具體地,偏移場在三個卷積層上執行。前兩個卷積層將角池輸出嵌入到特征映射中,特征映射受以下損失的監督:


第二卷積層將上述特征映射到偏移場,偏移場顯式地包含上下文和幾何信息。通過可視化如圖7c所示的學習偏移場,我們的跨星可變形卷積可以有效地學習“跨星”的幾何信息并提取“跨星”邊界的信息。

4、Experiment

COCO 2017

多任務訓練:

效果:單階段目標檢測最好效果:48% mAP

總結

以上是生活随笔為你收集整理的【目标检测_CentripetalNet】CentripetalNet: Pursuing High-quality Keypoint Pairs for Object Detection_2020的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。