<var id="3oqca"><source id="3oqca"><font id="3oqca"></font></source></var><button id="3oqca"><acronym id="3oqca"></acronym></button>
    <th id="3oqca"></th>
    <tbody id="3oqca"><pre id="3oqca"></pre></tbody>
    <th id="3oqca"></th>
      1. <th id="3oqca"></th>

          技術頻道

          娓娓工業
          您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 基于關鍵點檢測二階段目標檢測方法研究

          基于關鍵點檢測二階段目標檢測方法研究

          時間:2021-12-15 23:15:32來源:王宏任 陳世峰

          導語:?卷積神經網絡被廣泛應用于目標檢測領域。該文提出一種新的無錨框二階段目標檢測算法:以 CornerNet 方法為基礎,借助角點提取候選區域,并增加中心池化層來增強物體中心區域特征,通過判斷中心關鍵點是否落在中心區域,可以過濾掉大量的誤檢候選框。隨后,將保留的候選框送到多元分類器進行預測和回歸,獲取最終的檢測結果。實驗結果表明,該方法在 MS-COCO 數據集上能夠取得 46.7% 的檢測精度,與其他同類算法相比具有較強的競爭力。與原始的 CornerNet 算法相比,該方法在精度上有6.2% 的提升,尤其對于形狀特殊的物體,精度提升更加明顯。

            1 引言

            目標檢測是計算機視覺中很常見的任務。根據有無提取候選區域 (Region Proposal),目標檢測領域的檢測方法通常分為一階段 (One-stage) 檢測網絡和二階段 (Two-stage) 檢測網絡。其中,一階段檢測方法直接回歸物體的類別概率和位置坐標值。常見的一階段算法包括:YOLOv1、YOLOv2、YOLOv3、SSD、DSSD 和 Retina-Net。二階段檢測方法的任務包括第一階段提取候選區域以及第二階段將候選區域送到分類器進行分類與檢測。常見的二階段算法包括:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN、Mask R-CNN 和Cascade R-CNN。與一階段檢測網絡相比,二階段檢測網絡的檢測精度更高,但速度慢于一階段檢測網絡。

            另外,根據是否利用錨框 (Anchor) 提取候選目標框,目標檢測框架也可分為基于錨框的方法 (Anchor-based)、基于無錨框的方法 (Anchorfree) 以及兩者融合類。其中,基于錨框類算法有 Fast R-CNN、SSD、YOLOv2 和 YOLOv3;基于無錨框類算法有 CornerNet、ExtremeNet、CenterNet 和FCOS;融合基于錨框和基于無錨框分支的方法有 FSAF、GA- RPN 和 SFace。

            目前, 所有的主流探測器, 如 Faster R-CNN、SSD、YOLOv2 和 YOLOv3 都依賴一組預先定義的錨框。其中,人們認為錨框的使用是檢測器成功的關鍵。盡管這些主流探測器取得了巨大的成功,但基于錨框方法仍存在一些缺點:(1) 即使經過仔細的設計,但由于錨框的尺度和長寬比是預先設定的,檢測器在處理形狀變化較大的候選物體時也會遇到困難, 尤其是對于小物體,這無疑阻礙了檢測器的泛化能力;(2) 為了達到較高的召回率,需要在輸入圖像上密集放置錨框 ( 如對于短邊為 800 的圖像,在特征金字塔網絡 (FPN) 中放置超過180k 的錨框 ),但大多數錨框在訓練中被標記為負樣本,而過多的負樣本會加劇訓練中正負樣本之間的不平衡;(3) 錨框涉及復雜的計算,如計算與真實邊框 (Ground-truth) 的重疊度(Intersection over Union,IoU)。

            為了克服基于錨框方法的缺點,CornerNet 采用基于關鍵點檢測角點提取候選區域的方法:利用單個卷積神經網絡來檢測一個以左上角和右下角為一對關鍵點的目標包圍框,通過將目標作為成對的關鍵點進行檢測,消除了以往檢測器通常需要人為設計錨框的需要。然而,CornerNet 也存在一些問題: (1)CornerNet 對物體內部信息的感知能力相對較弱,制約了CornerNet 的性能。(2) 在進行關鍵點配對時,CornerNet 認為屬于同一類別的關鍵角點間應盡可能靠近,屬于不同類別的關鍵角點間應盡可能遠離。但在實驗過程中發現,通過計算左上角點的嵌入向量及右下角點的嵌入向量間的距離來決定是否將兩個點進行組合,經常會發生配對錯誤的情況。(3) 采用關鍵點配對的方式確定一個目標的候選區域,會產生大量誤檢目標的候選區域,這樣不僅會使檢測精度降低而且會花費較長時間。本文提出一種新的無錨框二階段目標檢測算法對以上 3 個問題進行優化。

            2 基于關鍵點目標檢測方法

            本文將 CornerNet 作為基準,提出一種基于無錨框 3 個關鍵點檢測的二階段目標檢測網絡方法。如圖 1 所示:第一階段采用基于無錨框關鍵點檢測的方法分別檢測角點以及中心關鍵點,同時判斷中心點是否落在中心區域以進行誤檢候選區域的剔除,即提取候選區域;第二階段將第一階段過濾后保留下來的候選區域送到多元分類器中進行分類與檢測。

          基于關鍵點檢測的二階段目標檢測方法網絡框架.png

          圖 1 基于關鍵點檢測的二階段目標檢測方法網絡框架

            2.1 基于無錨框 3 個關鍵點檢測

            為了檢測角點,本文先采用基于 CornerNet 關鍵點檢測的方法來定位左上以及右下角點;然后,通過角點池化生成左上角以及右下角兩個熱圖來代表不同類別關鍵點的位置;最后, 進行角點關鍵點的偏移修正。

            另外,為了加強網絡對物體內部信息的感知能力,本文增加了中心關鍵點的檢測分支,并采用中心池化操作加強中心點的特征。同時定義了物體中心度的概念——設定中心度大于0.7 時,可認為中心關鍵點落在中心區域,很好地解決了不同尺寸物體中心區域的判定。最終,只有當物體的中心點落在預測框的中心區域才進行保留,否則去除。需要說明的是,當中心關鍵點同時落在多個不同的預測框中時,取中心度最大的那個預測框予以保留,并剔除多余的預測框,以減少誤檢框出現的概率。具體如圖 2 所示。

            

          利用中心關鍵點過濾誤檢候選區域.png

            圖 2 利用中心關鍵點過濾誤檢候選區域

            2.1.1 角點關鍵點檢測

            關于角點關鍵點的檢測,本文借鑒 CornerNet 來定位被檢對象的兩個角點關鍵點——分別位于其左上角和右下角。計算 3 個熱圖 ( 即左上的熱圖和右下的熱圖以及中心點的熱圖, 熱圖上的每個值表示一個角的關鍵點出現在相應位置的概率), 其分辨率變成原始圖像分辨率的 1/4。其中,熱圖有兩個損失,符號1.png  用來定位熱圖上的左上角關鍵點,符號2.png  用來定位熱圖上的右下角關鍵點和偏移損失,具體如公式 (1) ~ (3)。在計算熱圖之后,從所有熱圖中提取固定數量的關鍵點 ( 左上角 k 個,右下角 k 個 ),每個角點的關鍵點都配有一個類標簽。

           公式1.png 

          (1)

            其中,C 為目標的類別;H、W 分別為熱圖的高和寬;pcij 為預測熱圖中 c 類在位置 (i, j) 的得分;ycij 為加了非歸一化高斯熱圖;N 為圖像中物體的數量;α 和 β 為控制每個點貢獻的超參數。

           公式2.png     

          (2)

          公式3.png 

          (3)

          其中,OK是偏移量; 公式9.png 表示在取整計算時丟失的精度信息;xk 和 yk 為角 k 的 x 和 y 坐標;(xk , yk)  在映射到熱圖中為符號3.png,n 為下采樣值,在本文中為 4; 符號10.jpg表示向下取整。特別地,預測一組由所有類別的左上角共享的偏移量,以及另一組由右下角共享的偏量,在訓練時采用 Smooth L1 Loss。

            在進行關鍵點配對時,CornerNet 認為屬于同一類別的關鍵角點間應盡可能靠近,屬于不同類別的關鍵角點間應盡可能遠離。但在實驗的過程中,配對關鍵點時可能會出現錯誤, 同時為了充分利用物體的內部信息,本文將這一機制舍棄,留給二階段中的多元分類器來完成關鍵點的配對問題。

            2.1.2 中心度——中心區域的定義

            為了有效剔除大量誤檢候選區域,本文通過判斷中心關鍵點是否落在目標框的中心區域的方法來解決此問題。由于每個邊界框的大小不同,所以中心區域不能設置為一個固定的數值。本文提出尺度可調節的中心區域定義法如公式 (4) 所示,引入新的定量指標中心度 (Centrality) 概念。

           公式4.png 

          (4)

            其中,l 為計算中心點到預測框左邊的距離;r 為中心點到右側的距離;t 為中心點到上邊框的距離;b 為中心點到下邊框的距離,具體如圖 3 所示。

            2.1.3 中心池化

            

          中心度計算.png

            圖 3 中心度計算

            中心池化操作參考 CornerNet 的兩個角點池化模塊—— 左上角點池化和右下角點池化,分別預測左上角關鍵點和右下角關鍵點。每個角點模塊有 2 個輸入特征圖,相應圖的寬、高分別用 W 和 H 表示。假設要對特征圖上 (i, j) 點做左上角的角點池化,即計算(i, j) 到(i, H) 的最大值( 最大池化),同時計算(i,j) 到(W, j) 的最大值( 最大池化),隨后將這兩個最大值相加得到 (i, j) 點的值。右下角的角點池化操作類似,只不過計算最大值變成從 (0, j) 到 (i, j) 和從 (i, 0) 到 (i, j)。

            物體的幾何中心不一定具有很明顯的視覺特征,如人類頭部包含強烈的視覺特征,但中心關鍵點往往在人體的中間。為了解決這個問題,本文采用中心池化來捕捉更豐富和可識別的視覺特征。圖 4 為中心池化的原理:特征提取網絡輸出一幅特征圖 ( 寬、高分別用 W 和 H 表示 ),中心池化可通過不同方向上的角點池化的組合實現。其中,水平方向上取最大值的操作可通過左邊池化 (Left Pooling) 和右邊池化 (Right Pooling) 串聯實現。同理,垂直方向上取最大值的操作可通過上部池化 (Top Pooling) 和下部池化 (Bottom Pooling) 串聯實現。

          中心池化結構示意圖.png

            圖 4 中心池化結構示意圖

            

          本文方法和最先進的檢測框架在 COCO test-2017 上的精度對比.png

            注:AP50 和 AP75 為在單個 IoU 閾值 0.50 和 0.75 時的精度;APs、APm、APl 分別為小目標、中目標和大目標的檢測精度。下同表 2、表 4

            表 1 本文方法和最先進的檢測框架在 COCO test-2017 上的精度對比

            為了判斷特征圖中的某個像素是否為中心關鍵點,需要通過中心池化找到其在水平方向和垂直方向的最大值,且將二者相加,這樣有助于更好地檢測中心關鍵點。具體操作為特征圖的兩個分支分別經過一個 3×3 卷積層、BN(Batch Normalization) 層以及一個 ReLU 激活函數,做水平方向和垂直方向的角點池化,最后再相加。假設對圖上 (i, j) 點在水平方向做右邊池化,即計算(i, j) 到(W, j) 的最大值( 最大池化); 同理,計算左邊池化,再將二者串聯相加獲得 (i, j) 點水平方向的值。同理,找到垂直方向,最后將水平與垂直方向的值進行相加獲得 (i, j) 點的值。

            2.2 分類

            采用關鍵點檢測的方式提取候選區域,雖然能夠解決需人為設定錨框大小以及長寬比等超參數的問題,大大提高檢測的靈活度,但也因此帶來了兩個問題:大量的誤檢候選區域以及過濾掉這些誤檢區域而帶來的高計算成本;诖,本文采取的解決方案主要包括兩個步驟:

            (1) 先判斷角點與中心點是否屬于同一類別,再通過計算中心點的中心度是否大于 0.7 來過濾掉大量錯誤的候選區域。

            (2) 將第一步篩選后存留的候選區域送到之后的多元分類器,對仍存在多個類別的目標分數進行排序。其中,采用RoIAlign 提取每個候選區域上的特征,并通過 256×7×7 卷積層,得到一個表示類別的向量,為每一個存活的候選區域建立單獨的分類器。損失函數 Lclass 為 Focal Loss:

          公式5.png  

          (5)

          其中,M 和 N 分別為保留的候選區域數量和其中的正樣本數量;C 為數據集中與之交叉的類別數;IoUnc 為第 n 個候選區域與第 c 個類別中所有真實框之間的最大 IoU 值;τ 為IoU 的閾值 ( 設為 0.7);  符號4.png 為第 n 個目標中第 c 個類別的分類分數;? 為平滑損失函數的超參數 ( 設為 2)。

            3 實驗

            3.1 數據集與評估指標

            MS-COCO 是目前最流行的目標檢測基準數據集之一,總共包含 12 萬張圖片,超過 150 萬個邊界框,覆蓋 80 個對象類別,是一個非常具有挑戰性的數據集。本文使用trainval35k 來訓練基于關鍵點檢測二階段目標檢測網絡模型, 并在 MS-COCO 數據集上進行評估。其中,trainval35k 是由80k 張訓練圖片和 35k 張驗證圖像的子集組成的聯合集! 

            本文使用 MS-COCO 中定義的平均精度 (Average Precision,AP) 作為度量來表征網絡模型的性能以及其他競爭對手的性能。單個 IoU 閾值從 0.5 到 0.95 每隔 0.05 記錄一次精度 AP,最后取平均值 ( 即 0.5:0.05:0.95) 。實驗中也記錄了一些其他重要指標,如 AP50 和 AP75 為在單個 IoU 閾值 0.50 和 0.75 下計算精度,APs、APm 和 APl 為在不同的目標尺度下計算精度 ( 小尺寸物體面積小于 32×32,中尺寸物體面積大于 32×32 小于 96×96,大尺寸物體面積大于 96×96)。所有的度量都是在每個測試圖像上允許最多保留100 個候選區域計算的。

            3.2 網格的訓練和測試

            本文以 CornerNet 作為基線,部分參考了CornerNet、FCOS 的代碼,特征提取網絡仍然延用 CornerNet 中采用的52/104 層的 Hourglass 網絡,并借助 Pytorch 實現算法。

            網絡從零開始訓練,輸入圖像的分辨率為 511×511,輸出熱圖的分辨率為 128×128。利用 Adam 來優化訓練損失, 整個網絡的損失函數 L 為:

           公式6.png 

          (6)

            其中,符號5.png符號6.png采用的是 Focal Loss,分別用于訓練網絡檢測角點和中心關鍵點;符號7.png符號8.png采用 Smooth L1 Loss 分別訓練網絡預測角點和中心關鍵點的偏移量。在8 張 NVIDIA 2080-Ti 上進行模型訓練,batch size 大小設為 48( 每張卡分配 6 個樣本 ),前 250k 次迭代學習率設為2.5×10- 4,接下來的 50k 次迭代減小學習率到 2.5×10 - 5。訓練 Hourglass-104、Hourglass-52 的時間分別是 9 d 和 5 d。

            4 結果與討論

            本文在通用檢測數據集 COCO test-2017 上對近年來比較常見的基于錨框與基于無錨框的檢測框架進行精度測試,結果如表 1 所示。從表 1 可知,本文基于無錨框關鍵點檢測的二階段方法比基于錨框的二階段方法 YOLOv4 精度提升 3.2%;比基于無錨框的一階段方法如 FCOS、CenterNet 精度分別提升 5.2% 和 1.8%,比 CornerNet 精度提升 6.2%。其中,在檢測尺寸以及長寬比特殊的物體時,檢測精度提升更明顯。這表明,基于無錨框方法進行提取候選區域更具優勢。在單尺度測試時,將原始分辨率的圖像和水平翻轉的圖像輸入網絡中,而在多尺度測試時,將原始圖像的分辨率分別設置為 0.6、1、1.2、1.5 和 1.8 倍。此外,在單尺度評價和多尺度評價中都增加了翻轉變量。在多尺度評價時,將所有尺度的預測結果 ( 包括翻轉變量 ) 融合到最終結果中,然后使用soft-NMS 來抑制冗余的限定框,并保留 100 個得分最高的限定框作為最終評價,結果如表 2 所示。

           多尺度測試.png 

          表 2 多尺度測試

            將 3 種不同檢測框架與本研究檢測方法在 COCO 數據集上進行召回率評估,即記錄不同長寬比和不同大小目標的平均召回率 (Average Recall,AR),結果如表 3 所示。

          基于錨框和無錨框檢測方法的平均召回率 (AR) 比較.png

          注:X 為 ResNeXt[29];AR1+、AR2+、AR3+、AR4+ 分別表示邊界框面積在(962, 2002]、(2002, 3002]、(3002, 4002]、(4002, ∞ ) 時的召回率; AR5∶ 1、AR6∶ 1、AR7∶ 1、AR8∶1 分別表示物體長寬比為 5 ∶ 1、6 ∶ 1、7 ∶ 1、8 ∶ 1 時的召回率

            表 3 基于錨框和無錨框檢測方法的平均召回率 (AR) 比較

            通常來說,在物體非常大時,如尺寸大于 (400×400, ∞ ), 更容易被檢測到。與其他基于無錨框的方法相比,基于錨框的方法 Faster R-CNN 并沒有達到期望的較高召回率。但當物體長寬比比較特殊 ( 如 5 ∶ 1 和 8 ∶ 1) 時,基于無錨框的檢測方法比基于錨框的方法表現更加優異。這是因為基于無錨框的檢測方法擺脫了人為設置錨框長寬比的束縛。本文方法繼承了FCOS 和 CornerNet 的優點,使目標定位更靈活,特別是長寬比例特殊的物體。

            本文在 CornerNet 算法基礎上加上中心關鍵點檢測分支與原始算法進行對比來進行消融實驗,其中特征提取網絡采用Hourglass-52,結果如表 4 所示。分析數據可以看到,當引入中心關鍵點檢測分支后精度提升 3%,小目標檢測精度提升5.8%,大目標檢測精度提升 3.6%。表明引入中心關鍵點檢測分支后,小目標誤檢候選區域去除得更多。這是因為從概率上講,小目標由于面積小更容易確定其中心點,因此那些誤檢候選區域不在中心點附近的概率更大。

          添加中心關鍵點分支的消融實驗.png

            表 4 添加中心關鍵點分支的消融實驗

            圖 5 為基于錨框方法 Faster R-CNN 與基于無錨框關鍵點檢測的方法進行檢測任務的可視化對比結果?梢钥吹,本文研究方法無需人為設置錨框大小及長寬比,對于檢測小目標以及形狀特殊的物體具有更好的檢測效果。

          微信圖片_20211216161256.png

          圖 5 基于錨框方法 Faster R-CNN 與基于無錨框關鍵點檢測的方法進行檢測任務的可視化對比結果

            5 結論

            本文提出了基于無錨框二階段目標檢測框架,即分別提取角點關鍵點以及物體中心關鍵點,并將它們組合成候選區域。通過判斷物體中心點是否落在中心區域來過濾掉大量誤檢候選區域,同時舍棄了 CornerNet 中采取的角點關鍵點結合的方式,采用二階段的方式,將保留下來的候選區域送入多元分類器進行分類與回歸。

            通過以上兩個階段,本文網絡模型檢測的查全率和準確率均有顯著提高,其結果也優于大多數現有目標檢測方法,在召回率與檢測精度上都取得了良好的表現。最重要的是,基于無錨框的方法在提取候選區域時更加靈活,克服了基于錨框方法需人為設置錨框超參數的缺點。


          作者:王宏任 1,2 陳世峰 1

                 1 中國科學院深圳先進技術研究院

            2 中國科學院大學深圳先進技術學院轉載自《集成技術》



          標簽: 工業軟件

          點贊

          分享到:

          上一篇:VPLC516E 機器視覺運動控制一...

          下一篇:光伏電纜技術及其標準的發展

          中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.kumys.net)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

          本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

          網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

          中國傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

          網站客服服務咨詢采購咨詢媒體合作

          Chuandong.com Copyright ?2005 - 2022 ,All Rights Reserved 版權所有 粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

          国语自产偷拍精品视频偷拍
          <var id="3oqca"><source id="3oqca"><font id="3oqca"></font></source></var><button id="3oqca"><acronym id="3oqca"></acronym></button>
            <th id="3oqca"></th>
            <tbody id="3oqca"><pre id="3oqca"></pre></tbody>
            <th id="3oqca"></th>
              1. <th id="3oqca"></th>