11種Anchor-free目標檢測綜述 -- Keypoint-based篇

極市導讀
anchor-free目標檢測算法分為兩種,一種是DenseBox為代表的Dense Prediction類型,另一種則是以CornerNet為代表的Keypoint-bsaed Detection類型,以檢測目標關鍵點為主。本文主要列舉幾種Keypoint-based Detection類型的網絡。 >>加入極市CV技術交流群,走在計算機視覺的最前沿
早期目標檢測研究以anchor-based為主,設定初始anchor,預測anchor的修正值,分為two-stage目標檢測與one-stage目標檢測,分別以Faster R-CNN和SSD作為代表。后來,有研究者覺得初始anchor的設定對準確率的影響很大,而且很難找到完美的預設anchor,于是開始不斷得研究anchor-free目標檢測算法,意在去掉預設anchor的環(huán)節(jié),讓網絡自行學習anchor的位置與形狀,在速度和準確率上面都有很不錯的表現。anchor-free目標檢測算法分為兩種,一種是DenseBox為代表的Dense Prediction類型,密集地預測的框的相對位置,另一種則是以CornerNet為代表的Keypoint-bsaed Detection類型,以檢測目標關鍵點為主。
本文主要列舉幾種Keypoint-based Detection類型的網絡,主要涉及以下網絡:
CornerNet ExtremeNet CenterNet CenterNet(Object as Point) CSP CornerNet-Lite RepPoints CentripetalNet SaccadeNet RepPointsV2 CPNDet
CornerNet
論文地址:https://arxiv.org/abs/1808.01244
論文代碼:https://github.com/princeton-vl/CornerNet
CornerNet將目標檢測定義為左上角點和右下角點的檢測。網絡結構如圖1所示,通過卷積網絡預測出左上角點和右下角點的熱圖,然后將兩組熱圖組合輸出預測框,徹底去除了anchor box的需要。論文通過實驗也表明CornerNet與當前的主流算法有相當的性能,開創(chuàng)了目標檢測的新范式。

CornerNet的結構如圖4所示,使用hourglass網絡作為主干網絡,通過獨立的兩個預測模塊輸出兩組結果,分別對應左上角點和右下角點,每個預測模塊通過corner池化輸出用于最終預測的熱圖、embedding向量和偏移。
ExtremeNet
論文地址:https://arxiv.org/abs/1901.08043
論文代碼:https://github.com/xingyizhou/ExtremeNet

ExtremeNet通過檢測目標的四個極點進行目標定位,如圖1所示。整體算法基于CornerNet的思想進行改進,使用五張熱圖分別預測目標的四個極點以及中心區(qū)域,將不同熱圖的極點進行組合,通過組合的幾何中心在中心點熱圖上的值判斷組合是否符合要求。另外,ExtremeNet檢測的極點能夠配合DEXTR網絡進行目標分割信息的預測。
CenterNet
論文地址:https://arxiv.org/abs/1904.08189
論文代碼:https://github.com/Duankaiwen/CenterNet

CornerNet將目前常用的anchor-based目標檢測轉換為keypoint-based目標檢測,使用角點對表示每個目標,CornerNet主要關注目標的邊界信息,缺乏對目標內部信息的獲取,很容易造成誤檢,如圖1所示。為了解決這個問題,論文提出CenterNet,在角點對的基礎上加入中心關鍵點組成三元組進行檢測,既能捕捉目標的邊界信息也能兼顧目標的內部信息。另外,為了更好地提取特征,論文還提出了center pooling和cascade corner pooling,分別用于更好地提取中心關鍵點和角點。
CenterNet(Object as Point)
論文地址:https://arxiv.org/abs/1904.07850
論文代碼:https://github.com/xingyizhou/CenterNet

CenterNet算法將檢測目標視為關鍵點,先找到目標的中心點,然后回歸其尺寸。首先將輸入的圖片轉換成熱圖,熱圖中的高峰點對應目標的中心,將高峰點的特征向量用于預測目標的高和寬,如圖2所示。在推理時,只需要簡單的前向計算即可,不需要NMS等后處理操作。對比上一篇同名的CenterNet算法,這個算法更簡潔且性能足夠強大,不需要NMS等后處理方法,能夠拓展到其它檢測任務中。
CSP

CSP的網絡結構大致如圖1所示,在主干網絡上分別預測目標中心點的位置及其對應的尺寸。這篇文章的整體思想與CenterNet(zhou. etc)基本一致,但不是抄襲,因為是同一個會議上的論文,CenterNet主要研究常規(guī)的目標檢測,而這篇主要研究人臉檢測和行人檢測。但CSP仍然需要進行NMS的后處理,較CenterNet更遜色一些,但不妨礙我們進行簡單地了解,包括學習論文的訓練方法以及參數。
CornerNet-Lite
論文地址:https://arxiv.org/abs/1904.08900
論文代碼:https://github.com/princeton-vl/CornerNet-Lite
CornerNet作為Keypoint-based目標檢測算法中的經典方法,雖然有著不錯的準確率,但其推理很慢,大約需要1.1s/張。雖然可以簡單地縮小輸入圖片的尺寸來加速推理,但這會極大地降低其準確率,性能比YOLOv3要差很多。為此,論文提出了兩種輕量級的CornerNet變種:CornerNet-Saccade和CornerNet-Squeeze。

CornerNet-Saccade在可能出現目標的位置的小區(qū)域內進行目標檢測,首先通過縮小的完整圖片預測attention特征圖,獲得初步的預測框位置以及尺寸,然后在高分辨率圖片上截取以該位置為中心的圖片區(qū)域進行目標檢測。

在CornerNet中,大多數的計算時間花在主干網絡Hourglass-104的推理。為此,CornerNet-Squeeze結合SqueezeNet和MobileNet來減少Hourglass-104的復雜度,設計了一個新的輕量級hourglass網絡。
RepPoints
論文地址:https://arxiv.org/abs/1904.11490
論文代碼:https://github.com/microsoft/RepPoints
經典的bounding box雖然有利于計算,但沒有考慮目標的形狀和姿態(tài),而且從矩形區(qū)域得到的特征可能會受背景內容或其它的目標的嚴重影響,低質量的特征會進一步影響目標檢測的性能。為了解決bounding box存在的問題,論文提出了RepPoints這種新型目標表示方法,能夠進行更細粒度的定位能力以及更好的分類效果。

RepPoints是一個點集,能夠自適應地包圍目標并且包含局部區(qū)域的語義特征。論文基于RepPoints設計了anchor-free目標檢測算法RPDet,包含兩個識別階段。因為可變形卷積可采樣多個不規(guī)則分布的點進行卷積輸出,所以可變形卷積十分適合RepPoints場景,能夠根據識別結果的反饋進行采樣點的引導。
CentripetalNet
論文地址:https://arxiv.org/abs/2003.09119
論文代碼:https://github.com/KiveeDong/CentripetalNet
CornerNet打開了目標檢測的新方式,通過檢測角點進行目標的定位,在角點的匹配上,增加了額外embedding向量,向量距離較小的角點即為匹配。而論文認為,這種方法不僅難以訓練,而且僅通過物體表面進行預測,缺乏目標的位置信息。

CentripetalNet的核心在于提出了新的角點匹配方式,額外學習一個向心偏移值,偏移后足夠近的角點即為匹配。如圖2所示,CentripetalNet包含四個模塊,分別為:
角點預測模塊(Corner Prediction Module):用于產生候選角點,這部分跟CornerNet一樣。 向心偏移模塊(Centripetal Shift Module):預測角點的向心偏移,并根據偏移結果將相近的角點成組。 十字星變形卷積(Cross-star Deformable Convolution):針對角點場景的變形卷積,能夠高效地增強角點位置的特征。 實例分割分支(Instance Mask Head):類似MaskRCNN增加實例分割分支,能夠提升目標檢測的性能以及增加實例分割能力。
SaccadeNet
論文地址:https://arxiv.org/abs/2003.12125
論文代碼:https://github.com/voidrank/SaccadeNet

SaccadeNet的結構如圖2所示,首先初步預測目標的中心位置以及角點位置,然后利用四個角點位置以及中心點位置的特征進行回歸優(yōu)化。整體思想類似于two-stage目標檢測算法,將第二階段的預測框精調用的區(qū)域特征轉化為點特征,在精度和速度上都可圈可點,整體思想十分不錯。
RepPointsV2
論文地址:https://arxiv.org/abs/[2007.08508]
論文代碼:https://github.com/Scalsol/RepPointsV2

RepPointsV2的整體思想類似與Mask R-CNN,加入更多的任務來監(jiān)督目標檢測算法的學習,具體的實現方法是在原網絡上加入輔助分支(auxiliary side-branches)的形式,有監(jiān)督地進行學習,輔助分支能夠優(yōu)化中間特征以及進行聯合檢測。
CPNDet
論文地址:https://arxiv.org/abs/2007.13816
論文代碼:https://github.com/Duankaiwen/CPNDet

本文為CenterNet作者發(fā)表的,作者認為anchor-free方法通常會出現大量的誤檢,需要一個獨立的分類器來提升檢測的準確率。于是結合anchor-free方法和two-stage范式提出了Corner-Proposal-Network(CPN),完整的結構如圖2所示。首先使用anchor-free方法提取關鍵點,遍歷關鍵點組合成候選框,最后使用兩個分類器分別對候選框進行誤檢過濾以及標簽預測。
本文亮點總結
如果覺得有用,就請分享到朋友圈吧!
公眾號后臺回復“秋招”獲取CV干貨資源匯總~

# CV技術社群邀請函 #

備注:姓名-學校/公司-研究方向-城市(如:小極-北大-目標檢測-深圳)
即可申請加入極市目標檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學影像/3D/SLAM/自動駕駛/超分辨率/姿態(tài)估計/ReID/GAN/圖像增強/OCR/視頻理解等技術交流群
每月大咖直播分享、真實項目需求對接、求職內推、算法競賽、干貨資訊匯總、與 10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動交流~

