<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ECCV2020 | CPNDet:Anchor-free+兩階段目標檢測思想,先找關鍵點再分類

          共 5917字,需瀏覽 12分鐘

           ·

          2020-08-01 03:36

          點擊上方小白學視覺”,選擇加"星標"或“置頂

          重磅干貨,第一時間送達


          這篇文章收錄于ECCV2020,是作者團隊是:國科大、華為、華中科大、鵬城實驗室。是一篇關于Anchor-free的兩階段目標檢測網(wǎng)絡,效果可達49.2%AP,在準確率和召回率等性能上優(yōu)于CenterNet、FCOS等網(wǎng)絡,并且模型的推理速度較快。整體的思路,可以說有一點點無聊,不過當作個水文看看還是可以的。


          論文地址:https://arxiv.org/abs/2007.13816.pdf

          代碼地址:https://github.com/Duankaiwen/CPNDet


          通常,目標檢測算法的目標是確定圖像中目標對象的類別和位置。本文提出了一種新穎的anchor-free兩階段框架,該框架首先通過查找可能的角點關鍵點組合來提取多個候選目標object proposals,然后通過獨立的分類階段為每個候選object分配一個類別標簽。實驗證明了這兩個階段分別是提高召回率和準確率的有效解決方案,同時這兩個階段可以集成到端到端網(wǎng)絡中。本文的方法被稱為“Corner Proposal Network (CPN)”,它具有檢測各種scales尺度的目標的能力,并且還避免了被大量false-positive proposals所混淆。在MS-COCO數(shù)據(jù)集上,CPN的AP達到49.2%,在最新的目標檢測方法中具有一定的競爭力。同樣,CPN在AP達到41.6%/ 39.7%時有26.2 / 43.3FPS,推理速度性能同樣出色。

          簡介




          目標檢測方法的兩個關鍵點是找到具有不同幾何形狀的物體(即高召回率)以及為每個檢測到的物體分配一個準確的標簽(即高準確率)?,F(xiàn)有的目標檢測方法大致是按照如何定位物體和如何確定其類別來分類的。對于第一個問題,早期的研究工作大多是基于錨(anchor)的,即在圖像平面上放置一些尺寸固定的邊界框,而這種方法后來受到無錨(anchor-free)方法的挑戰(zhàn),該方法建議用一個或幾個關鍵點和幾何圖形來描繪每個目標對象。通常,這些可能的目標對象被命名為proposals(候選目標),對于每一個目標對象,類別標簽要么從之前的輸出中繼承,要么由為此訓練的單個分類器進行驗證。這就帶來了所謂的兩階段和單階段方法之間的爭論,其中人們傾向于認為前者的工作速度較慢,但產(chǎn)生的檢測精度更高。


          本文為目標檢測算法的設計提供了另一種觀點。主要有兩個論點:首先,檢測方法的召回率由其定位不同幾何形狀的對象(特別是形狀稀疏的對象)的能力決定,因此anchor-free方法(特別是對目標對象邊界進行定位的方法)的召回率性能可能更好;第二,anchor-free方法經(jīng)常會導致大量誤報,于是可以在anchor-free方法中使用單個分類器來提高檢測的準確性,見圖1。因此,本文的方法繼承了anchor-free和兩階段目標檢測方法的優(yōu)點。


          圖1.現(xiàn)有物體檢測方法的典型錯誤。第一行:基于anchor錨的方法(如Faster R-CNN)可能難以找到具有特殊形狀的物體(如尺寸非常大或長寬比極端的物體)。第二行:anchor-free方法(如CornerNet)可能會錯誤地將不相關的關鍵點歸入一個物體。綠色、藍色和紅色邊界框分別表示真陽性、假陽性和假陰性。


          本文的方法被稱為Corner Proposal Network(CPN)。它通過定位目標的左上角和右下角,然后為其分配類標簽來檢測目標對象。具體地,首先利用CornerNet的關鍵點檢測方法,并進行改進,不是將關鍵點與關鍵點特征嵌入分組,而是將所有有效的Corner角點組合枚舉為可能的proposals目標對象。這導致了大量的proposals,其中大多數(shù)是誤報。然后,訓練一個分類器,以根據(jù)相應的區(qū)域特征從不正確配對的關鍵點中區(qū)分出真實目標對象。分類有兩個步驟,首先是一個二進制分類器,它過濾掉大部分proposals(即與目標對象不對應的proposals),然后,對篩選后的目標對象重新排序類別分數(shù)。


          CPN的有效性已在MS-COCO數(shù)據(jù)集上得到驗證,具體使用104層堆疊式Hourglass網(wǎng)絡作為主干網(wǎng)絡,CPN在COCO數(shù)據(jù)集上的AP為49.2%,比之前最好的anchor-free目標檢測算法CenterNet 高2.2%。尤其,CPN在檢測具有特殊形狀(例如很大或很小的面積或極高長寬比)的物體時具有更高的精度增益,這證明了使用anchor-free方法進行proposals提取的優(yōu)勢。同時,CPN使用較輕的主干網(wǎng)絡DLA-34 并在推理環(huán)節(jié)不使用圖像翻轉(zhuǎn)數(shù)據(jù)增強策略時,在26.2 FPS時可達到41.6% AP,在43.3FPS時達到39.7% AP,在相同的推理速度是,性能超過了大多數(shù)的目標檢測算法。


          本文方法:CPNDet




          作者首先討論了兩個問題:使用基于anchor的方法還是不使用anchor的方法來提取候選目標proposals,以及是使用一階段還是兩階段的方法來確定proposals的類別,并進行相關的對比實驗。


          1 Anchor-based or Anchor-free? One-stage or Two-stage?


          首先研究anchor-based vs. anchor-free的方法?;赼nchor的方法首先在圖像上放置多個anchor作為候選區(qū)域,然后使用單獨的分類器來判斷每個候選的目標和類別。大多數(shù)情況下,每個anchor都與圖像上的特定位置相關聯(lián),并且其大小是固定的,盡管bounding box的回歸過程可以稍微改變其幾何形狀。anchor-free的方法不假定目標對象來自相對固定的幾何形狀的anchor,而是定位目標的一個或幾個關鍵點,然后確定其幾何形狀和(或)類別。

          本文的核心觀點是,anchor-free方法對任意幾何形狀的物體的定位具有較好的靈活性,因此具有較高的召回率。這主要是由于anchor的設計大多是經(jīng)驗性的(例如,為了減少anchor的數(shù)量并提高效率,需要考慮常見的目標物體尺寸和形狀),檢測算法的靈活性較低,形狀奇特的物體可能會被遺漏。典型例子如圖1所示,定量研究見表1。



          主要對四種object proposal提取方法進行了對比,并在MS-COCO驗證數(shù)據(jù)集上進行了評估。結果顯示,anchor-free方法通常具有更高的整體召回率,這主要是由于它們在兩種情況下的優(yōu)勢:首先,當目標對象非常大,例如,大于4002像素時,基于anchor的方法Faster R-CNN將不會有更高的召回率。其次,當物體的長寬比變得特殊時,如5 : 1和8 : 1,F(xiàn)aster R-CNN的召回率非常低,在這種情況下,召回率明顯低于CornerNet和CenterNet,因為沒有預定義的anchor可以適應這些物體。在FCOS中也有類似的現(xiàn)象,F(xiàn)COS是一種ancor-free的方法,它用一個關鍵點和到邊界的距離來表示一個目標對象,但是當邊界離中心很遠時,F(xiàn)COS通常很難預測一個準確的距離。而CornerNet和CenterNet方法將角點(和中心)關鍵點歸為一個目標object,它們在某種程度上擺脫了這個麻煩。因此,本文的方法選擇anchor方法,特別是點分組方法(CornerNet和CenterNet),以提高目標檢測的召回率。同時,本文的CPN繼承了CenterNet和CornerNet的優(yōu)點,對物體的定位有更好的靈活性,尤其是形狀奇特的物體。


          然而,anchor-free方法擺脫了尋找object proposal的約束,但它遇到的一大難題是如何在關鍵點和目標對象之間建立緊密的關系,因為后者往往需要更豐富的語義信息。如圖1所示,缺乏語義信息會導致大量的誤報,從而損害檢測的精度。


          以具有高召回率的CornerNet和CenterNet為例。如表2所示,具有52層和104層Hourglass 網(wǎng)絡的CornerNet在MS-COCO驗證數(shù)據(jù)集上實現(xiàn)了37.6%和41.0%的AP,而很多檢測到的 "目標 "都是假陽性false positives。無論是當刪除object proposal,還是給每個預備的object proposal分配一個正確的標簽,檢測精度都會顯著上升。這個結果在CenterNet上也是成立的,它增加了一個中心點來過濾掉假陽性樣本,但顯然沒有把它們?nèi)縿h除。為了進一步緩解這個問題,本文的方法需要繼承兩階段方法的優(yōu)點,即提取proposal內(nèi)的特征,并訓練一個分類器來過濾掉假陽性樣本。


          2 The Framework of Corner Proposal Network

          基于以上分析,本文的方法旨在整合anchor-free方法的優(yōu)勢,并通過利用兩階段目標檢測方法的區(qū)分機制來減輕其缺點。基于此,提出了一個名為Corner-Proposal-Network(CPN)的新框架。它使用anchor-free方法提取object proposal,然后進行有效的區(qū)域特征計算和分類以濾除誤報。圖2顯示了包含兩個階段的總體流程,下面詳細介紹了這兩個階段的細節(jié)。


          Stage 1: Anchor-free Proposals with Corner Keypoints

          第一階段是anchor-free proposals提取過程,我們假設每個目標對象由兩個關鍵點決定其左上角和右下角的位置。具體地,采用CornerNet來定位一個目標對象,一對關鍵點分別位于其左上角和右下角。對于每個類,計算出兩個熱圖heatmap(即左上角熱圖和右下角熱圖,熱圖上的每個值表示對應位置出現(xiàn)角關鍵點的概率),與原始圖像相比,分辨率降低了4倍。heat map有兩個損失項,即Focal損失用于定位熱圖上的關鍵點,以及偏移損失用于學習其與精確角位置的偏移。在計算完熱圖后,從所有熱圖中提取固定數(shù)量的關鍵點(K左上角和K右下角)。每個角關鍵點都有一個類標簽。CornerNet具體解析可以參考本公眾號文章:目標檢測秘籍六:Anchor-free網(wǎng)絡。


          接下來,通過每個有效的關鍵點對來定義一個object proposal。在這里,有效的意思是指兩個關鍵點屬于同一類(即,從相同類的左上角熱圖和右下角熱圖中提?。?/strong>,并且左上角的x坐標小于右下角的x坐標。但,這會導致每個圖像上出現(xiàn)大量誤報(錯誤配對的角關鍵點),我們將區(qū)分和分類這些proposal的任務留給了第二階段。


          盡管本文的方法基于CornerNet來提取object proposal,但是確定目標對象及其類別等后續(xù)機制卻大不相同。CornerNet通過將關鍵點投射到一維空間來生成目標對象,并將緊密嵌入的關鍵點分組到同一實例中。我們認為,embedding 過程雖然在不使用額外計算的假設下是必要的,但在配對關鍵點時可能會產(chǎn)生重大錯誤。特別是,不能保證embedding 函數(shù)(給每個目標對象分配一個數(shù)字)是可學習的,更重要的是,損失函數(shù)只在每個訓練圖像中起作用,以迫使不同目標對象的embedding number被分離,但這種機制往往不能通用于看不見的場景,例如,即使多個訓練圖像簡單地連在一起,在單獨的圖像上工作良好的embedding 函數(shù)也會急劇失效。不同的是,本文的方法使用單獨的分類器確定目標對象實例,從而充分利用內(nèi)部特征來提高準確性。

          Stage 2: Two-step Classification for Filtering Proposals

          由于關鍵點熱圖的高分辨率和靈活的關鍵點分組機制,檢測到的目標對象可以具有任意形狀,并且召回率上限大大提高。但是,這種策略增加了proposal的數(shù)量,因此帶來了兩個問題:大量的誤報以及過濾掉它們的計算成本。為解決此問題,第二階段設計了一種有效的兩步分類方法,該方法首先使用輕量級二進制分類器刪除80%的proposal,然后應用細分類器確定每個幸存proposal的分類標簽。


          分類方法第一步:訓練一個二進制分類器,以確定每個proposal是否是一個目標對象。為此,首先采用卷積核大小為7×7的RoIAlign 來提取每個proposal上的box特征(見圖2)。然后使用一個32×7×7的卷積層以獲得每個proposal的分類分數(shù)。基于此,構建了一個二進制分類器,損失函數(shù)為:



          分類方法第二步:為每個存活的proposal分配一個類別標簽,這一步非常重要,因為與角點關鍵點相關聯(lián)的類標簽并不總是可靠的,由于ROI區(qū)域信息的缺乏,各個角點之間的共識可能是不正確的,所以需要一個更強大的分類器,結合ROI特征來做出最終的決定。為此,在第二步提出了另一個分類器,這個分類器是建立在第一步提取的RoI Align特征的基礎上,同時是從類別特征圖中提取特征(見圖2)以保存更多的信息,并通過256×7×7卷積層,得到一個表示類別的向量,為每一個存活的proposal建立單獨的分類器。損失函數(shù)為:

          DeNet (《Denet: Scalable real-time object detection withdirected sparse sampling》)和本文的方法之間的差異,盡管它們在思想層面上是相似的。首先,本文為每個角點配備一個多類別標簽而不是一個二進制標簽,因此本文的方法可以依靠類別標簽消除不必要的無效角點對,以節(jié)省整個框架的計算成本;其次,本文使用一種額外的輕量級二進制分類方法減少分類網(wǎng)絡要處理的proposal數(shù)量,而DeNet僅依賴一個分類網(wǎng)絡。最后,本文的方法為兩個分類器設計了一種新的focal損失函數(shù)變體,它不同于DeNet中的最大似然函數(shù),這主要是為了解決訓練過程中正樣本和負樣本之間的不平衡問題。

          實驗與結果



          數(shù)據(jù)集:MS-COCO dataset


          評價指標:average precision (AP)、 ten ?IoU ?thresholds ?(i.e., ?0.5 ?:? 0.05 ?:? 0.95)


          Baseline:CornerNet ?and CenterNet


          1、對比實驗


          ?

          2、消融實驗





          3、推理速度



          4、可視化


          更多細節(jié)可參考論文原文。




          瀏覽 62
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  婷婷在线网站 | 精品韩无码台湾成人在线 | 懂色av蜜臀av粉嫩av分 麻豆的视频高清在线观看完整 | 在线视频中文字幕一区 | 黄色日逼免费网站 |