伏軒儀,張鑾景,梁文科,畢方明+,房衛(wèi)東
1.中國礦業(yè)大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州221116
2.中國賽寶(山東)實驗室,濟(jì)南250013
3.中國科學(xué)院 上海微系統(tǒng)與信息技術(shù)研究所 無線傳感網(wǎng)與通信重點實驗室,上海200050
目標(biāo)檢測是計算機(jī)視覺和圖像處理領(lǐng)域的基礎(chǔ)問題,為解決自動駕駛、姿態(tài)估計等下游視覺任務(wù)提供技術(shù)保障。目標(biāo)檢測算法識別圖像中目標(biāo)的類別和位置,結(jié)合目標(biāo)分類和定位兩個任務(wù)。圖像中的目標(biāo)存在形變、遮擋、尺度變化大等特殊情況,給目標(biāo)檢測任務(wù)增加難度,目標(biāo)檢測的發(fā)展就是完善檢測算法以應(yīng)對特殊情況造成的檢測性能下降。目標(biāo)檢測算法分為三個步驟:特征提取、生成候選區(qū)域與候選區(qū)域分類。在傳統(tǒng)的目標(biāo)檢測模型中,使用滑動窗口提取特征,設(shè)計基于人工設(shè)計的特征算子描述圖像,使用分類器對特征進(jìn)行分類?;瑒哟翱谌狈︶槍π?,導(dǎo)致計算冗余。基于底層視覺特征設(shè)計的特征算子難以匹配復(fù)雜的圖像特征,存在單一性、適應(yīng)能力差等問題。2012 年AlexNet在ImageNet競賽中以超過第二名10.9 個百分點的絕對優(yōu)勢一舉奪冠,引發(fā)深度學(xué)習(xí)的研究熱潮。基于深度學(xué)習(xí)的目標(biāo)檢測技術(shù)使用卷積神經(jīng)網(wǎng)絡(luò)替代手工提取特征,大幅提升檢測精度和計算效率,推動目標(biāo)檢測的新發(fā)展。
目前目標(biāo)檢測方面已有綜述從時間先后順序,一階段、二階段分類等方面總結(jié)梳理,與現(xiàn)有綜述不同,本文圍繞錨點機(jī)制在目標(biāo)檢測中的影響展開,介紹anchor機(jī)制的原理和優(yōu)化anchor設(shè)置的目標(biāo)檢測模型,同時重點關(guān)注新近無錨點算法的發(fā)展,探索兩類算法的本質(zhì)區(qū)別,在主流數(shù)據(jù)集上對比典型算法的性能表現(xiàn),便于本方向相關(guān)研究者參考和借鑒。
anchors 是在數(shù)據(jù)集中識別到目標(biāo)的候選框組合,考慮到目標(biāo)大小和尺寸不同,在設(shè)置anchor 時選擇一定的尺寸和寬高比以適配目標(biāo)。anchor 與傳統(tǒng)目標(biāo)檢測中的滑動窗口不同,滑動窗口尺寸單一,無法識別不同尺度大小的目標(biāo);anchor 有針對地設(shè)計尺度和寬高比例參數(shù),提高目標(biāo)檢測的靈活度。Faster R-CNN提出anchor 機(jī)制以來,錨定方法(anchorbased)成為各種目標(biāo)檢測模型的指導(dǎo)思想。圖1 展示Faster R-CNN 中anchor 設(shè)置情況,其中三種顏色代表的尺度分別為128×128、256×256、512×512,顏色相同的anchor寬高比分別為1∶1、1∶2、2∶1。
圖1 Faster R-CNN 中的錨點示意圖Fig.1 Schematic diagram of anchors in Faster R-CNN
基于anchor 的檢測架構(gòu)將目標(biāo)邊界檢測為多個錨框,預(yù)測每個錨框的偏移量和類別。在訓(xùn)練過程中,網(wǎng)絡(luò)的輸出值都是相對錨點框的偏移量,值域范圍較小,容易收斂,減小訓(xùn)練難度。因此anchor 機(jī)制廣泛應(yīng)用于先進(jìn)的深度學(xué)習(xí)檢測器中。一些檢測器不存在以anchor 命名的候選框,但使用了類似的思想,例如文獻(xiàn)[20]中的默認(rèn)框(default boxes),文獻(xiàn)[21]中的先驗框(priors)以及文獻(xiàn)[16]中的網(wǎng)格(grid cell)等。與傳統(tǒng)檢測方法相比,基于深度學(xué)習(xí)的anchor-based 模型能夠提升檢測精度。但研究人員從中發(fā)現(xiàn),anchor-based 系列模型存在以下三方面的問題:
(1)anchor 的尺寸需要精心設(shè)計,大量預(yù)定義的參數(shù)對模型的預(yù)測能力有一定影響,超參數(shù)的手工調(diào)制影響模型的魯棒性。超參數(shù)的設(shè)置與數(shù)據(jù)集相關(guān),需要根據(jù)數(shù)據(jù)集的特點重新設(shè)計錨點框的超參數(shù),因此限制了模型的泛化能力。
(2)anchor-based 方法本質(zhì)上是對圖像進(jìn)行密集采樣,DSSD中設(shè)置超過4 萬個anchor,RetinaNet超過10 萬。數(shù)量眾多的anchor 對交并比的計算增加了顯存的消耗。
(3)anchor 中的大部分為僅包含背景信息的負(fù)樣本,最終只有一小部分與真實目標(biāo)重合,加劇了正負(fù)樣本不平衡的問題,模型的分類能力會被負(fù)樣本所主導(dǎo)。
針對anchor存在的問題,一些方法從尺度、角度、數(shù)量等方面增加anchor 的種類,達(dá)到優(yōu)化anchor 設(shè)置的目的。在尺度方面,Cai等在不同的特征層設(shè)計不同尺度的檢測器。低層的卷積網(wǎng)絡(luò)感受野較小,用于小目標(biāo)的檢測,而高層的卷積網(wǎng)絡(luò)適用于檢測大目標(biāo),改善Faster R-CNN 目標(biāo)大小和模板不匹配的問題。Zhu 等提出一種生成anchor 的新策略,基于步長縮減anchor,用于檢測小目標(biāo)的高分辨率特征圖感受野較小,為防止漏檢小目標(biāo),應(yīng)當(dāng)縮減anchor生成的步長(srtide)。另外在訓(xùn)練時隨機(jī)抖動以增加anchor 與目標(biāo)的重合度,提升人臉檢測對小目標(biāo)的檢測性能。在數(shù)量方面,Ke 等提出一種多錨點學(xué)習(xí)的方法,基于交并比篩選一部分優(yōu)質(zhì)的anchor,構(gòu)造屬于目標(biāo)的錨點袋(anchor bag),再結(jié)合分類和定位分?jǐn)?shù)評估anchor bag 中的正樣本,使用正樣本優(yōu)化訓(xùn)練損失。無論是尺度還是數(shù)量的增加,都進(jìn)一步增加計算復(fù)雜度以及內(nèi)存開銷,并不能取得理想的效果。另一類思路引入可形變卷積以解決目標(biāo)形狀差異大的問題,提高檢測器的靈活性。但由于需要學(xué)習(xí)額外的偏移量,參數(shù)量大,增加訓(xùn)練難度,依然是以犧牲效率為代價換取精度的提升。
基于增加anchor 種類的優(yōu)化方法仍然依靠先驗知識,許多學(xué)者針對anchor 的先驗性提出質(zhì)疑,指出基于人工先驗知識設(shè)計anchor 尺寸是檢測效果不佳的主要原因。Yang 等提出一種不依靠先驗知識的MetaAnchor。根據(jù)一些預(yù)設(shè)的anchor 結(jié)合圖像的特征隱式學(xué)習(xí)錨點框函數(shù)以預(yù)測目標(biāo),將人工先驗知識轉(zhuǎn)化為可學(xué)習(xí)的參數(shù)形式。MetaAnchor 對anchor的設(shè)定和目標(biāo)的分布更加魯棒,適用于任何基于anchor 的目標(biāo)檢測框架,有效縮減不同數(shù)據(jù)集之間邊界框分布的差異。Ma 等設(shè)計的檢測模型AABO(adaptive anchor box optimization)指出,每更換一個使用場景時,需要手工調(diào)整anchor的配置以適應(yīng)新域的特性和分布。AABO 設(shè)計一種自適應(yīng)的特征金字塔搜索空間,結(jié)合貝葉斯優(yōu)化和子采樣方法優(yōu)點的超參數(shù)優(yōu)化方法,有效為特定數(shù)據(jù)集確定最優(yōu)的anchor 配置。與其他工作的區(qū)別在于,AABO 學(xué)習(xí)到的anchor 配置在整個數(shù)據(jù)集上共享。anchor 的提出是基于多尺度檢測的需求,但如何獨立于先驗知識,使anchor 能夠主動學(xué)習(xí)特征,需要借助遷移學(xué)習(xí)等方面的技術(shù)進(jìn)一步改進(jìn)。
基于關(guān)鍵點的anchor-free 模型主要分為兩種思路,一類對特定位置的關(guān)鍵點分組,另一類結(jié)合中心關(guān)鍵點進(jìn)行回歸預(yù)測?;陉P(guān)鍵點分組的anchorfree 模型從特征圖中檢測特定關(guān)鍵點,根據(jù)對關(guān)鍵點的匹配生成高質(zhì)量的檢測框,減少預(yù)設(shè)錨框存在的特征不匹配、計算冗余等問題。此類模型有基于角點的CornerNet及其優(yōu)化版本CornerNet-Lite,基于極值點的ExtremeNet等。結(jié)合中心關(guān)鍵點的anchor-free 模型在特征圖的每個位置輸出其為目標(biāo)中心點的概率、回歸目標(biāo)尺度、偏移量等信息進(jìn)行邊框的預(yù)測。此類模型有Objects as Points及系列工作等。本章綜述基于關(guān)鍵點的anchor-free 模型主要思想和檢測框架,針對不同模型的優(yōu)點和存在的問題進(jìn)行詳盡分析。
Law 等提出了一種基于關(guān)鍵點分組的目標(biāo)檢測方法CornerNet,算法受到Newell 等用于多人姿態(tài)估計的關(guān)聯(lián)嵌入法啟發(fā),使用左上角和右下角配對構(gòu)造的預(yù)測框檢測目標(biāo),檢測結(jié)構(gòu)如圖2 所示。CornerNet使用單個卷積神經(jīng)網(wǎng)絡(luò)Hourglass-104 輸出的一系列特征圖分別輸入兩個分支模塊,預(yù)測左上角點(top-left corners)和右下角點(bottom-right corners)。在圖2 中,每個分支模塊包含一個角點池化(corner pooling)層和3 個輸出:熱力圖(heatmaps)、嵌入向量(embeddings)和偏移預(yù)測(offsets)。輸出兩組heatmap代表不同種類角點的位置,embedding 對角點進(jìn)行分組,分組依據(jù)是向量之間的距離差異。為了生成的預(yù)測框更緊密貼合目標(biāo),網(wǎng)絡(luò)還預(yù)測偏移量(offsets),以輕微調(diào)整角點的位置。
圖2 CornerNet檢測結(jié)構(gòu)Fig.2 CornerNet detection framework
與其他視覺任務(wù)中的池化操作不同,角點池化試圖將特征圖的最大激活值從目標(biāo)內(nèi)部轉(zhuǎn)移到邊界。如圖3 所示,以左上角點池化(top-left corner pooling)為例:垂直方向自下而上提取特征圖的最大值,水平方向從右向左提取最大值,然后求和得到輸出結(jié)果,數(shù)值計算過程如圖。Corner Pooling 使用兩個獨立的特征圖分別在兩個方向上檢測最大激活值,降低2 路信號的相關(guān)性,加強單個方向上的邊緣信息,從而提高檢測性能。
圖3 左上角點池化數(shù)值計算過程Fig.3 Numerical procedure of top-left corner pooling
CornerNet 僅使用兩個角點預(yù)測目標(biāo)缺乏物體內(nèi)部信息,僅基于距離對角點進(jìn)行匹配而導(dǎo)致多個相似目標(biāo)被檢測為同一目標(biāo),檢測的準(zhǔn)確性有待提升。另一方面,每張圖片的推理耗時1.147 s,難以滿足交互實時性要求。原團(tuán)隊進(jìn)一步的后續(xù)工作CornerNet-Lite提出兩種輕量級的CornerNet 變種:CornerNet-Saccade 首先獲取可能出現(xiàn)目標(biāo)的初步位置及其尺寸,使用類似人眼掃視的注意機(jī)制,有重點地處理圖像中的像素點;CornerNet-Squeeze 引入新的緊湊骨干架構(gòu),將SqueezeNet 與堆疊沙漏網(wǎng)絡(luò)整合在一起,并應(yīng)用于物體檢測。這兩種變體共同解決了有效目標(biāo)檢測中的兩個關(guān)鍵用例:在不犧牲精度的情況下提高效率以及提高實時檢測的準(zhǔn)確性。遺憾的是,CornerNet-Saccade 與CornerNet-Squeeze結(jié)合的效果不理想,主要由于CornerNet-Saccade 需要強大的主干網(wǎng)絡(luò)來生成足夠準(zhǔn)確的特征圖,而CornerNet-Squeeze 則是減弱了主干網(wǎng)絡(luò)的表達(dá)能力進(jìn)行加速,兩種變體只能各自解決單方面的問題,存在局限性。
ExtremeNet將目標(biāo)檢測定義為完全基于外觀信息的關(guān)鍵點估計問題,提出一種目標(biāo)檢測的新思路:使用標(biāo)準(zhǔn)的關(guān)鍵點估計網(wǎng)絡(luò)檢測上下左右4 個關(guān)鍵點以及中心點,根據(jù)幾何關(guān)系對5 個關(guān)鍵點分組。作者認(rèn)為CornerNet 中提出的角點(corner point)只不過是另一種形式的包圍框,且角點大部分位于目標(biāo)的外部。但是本文提出的極點(extreme point)是位于物體上的,因此在視覺上是可區(qū)分的,具有一致的局部外觀特征。另外,與CornerNet 使用關(guān)聯(lián)嵌入法(associative embedding)不同,本文的分類方法完全基于幾何外觀信息,避免隱式的特征學(xué)習(xí)。ExtremeNet沿用了CornerNet 網(wǎng)絡(luò)結(jié)構(gòu)和損失函數(shù),對關(guān)鍵點的分組方法與CornerNet 不同,且關(guān)鍵點個數(shù)增加至5個。顯然增加關(guān)鍵點能夠包含更多的信息,但同時增加了計算開銷。通過暴力枚舉極點對所有結(jié)果進(jìn)行羅列,算法復(fù)雜度較高。在產(chǎn)生4 個方向極點的基礎(chǔ)上進(jìn)一步計算幾何中心,后處理過程繁瑣。在極點的匹配過程中,容易產(chǎn)生假陽性(false-positive)樣本,影響檢測效果。
在錨定方法(anchor-based)引導(dǎo)的檢測中,列舉大量可能存在目標(biāo)的anchor,是一種自上而下的檢測思路。以上基于特定關(guān)鍵點的anchor-free 模型開啟了真正意義上自底向上的目標(biāo)檢測時代,對關(guān)鍵點的定義和組合方式提出優(yōu)化。基于關(guān)鍵點檢測思路的發(fā)展致力于加入更多關(guān)鍵點提供特征信息,自ExtremeNet 開始,關(guān)鍵點不僅限于角點,更多后續(xù)工作開始聚焦目標(biāo)中心點對檢測效果的影響。將關(guān)鍵點檢測分解為更細(xì)致的任務(wù),獲取到更多信息以及分解任務(wù)間的關(guān)聯(lián)性可能會對網(wǎng)絡(luò)產(chǎn)生好的影響。
Objects as Points由ExtremeNet作者提出,因為完全基于中心點進(jìn)行檢測,作者在論文中以CenterNet指代檢測器。CenterNet 將目標(biāo)建模為一個中心關(guān)鍵點,在中心點位置回歸出目標(biāo)的尺寸、姿態(tài)等其他信息。針對CornerNet、ExtremeNet依賴關(guān)鍵點分組后處理步驟降低了檢測速度的問題,CenterNet 提供了一種更為簡潔的思路,即提取每個目標(biāo)的中心點,無需對多個關(guān)鍵點分組。與錨定(anchor-based)算法相似,CenterNet 將中心點類比于一個單獨且形狀未知的錨點。又因為這種錨點只和位置有關(guān),不存在錨點重疊的問題,無需人為設(shè)置閾值來進(jìn)行前景和背景的區(qū)分。在檢測過程的設(shè)計方面,CenterNet 沒有對關(guān)鍵點進(jìn)行后處理分組,從而大大減少了網(wǎng)絡(luò)參數(shù)量和計算量。
同時期的另一種CenterNet-Triplets在CornerNet的基礎(chǔ)上發(fā)展而來,旨在解決CornerNet 存在錯誤的角點配對問題。作者將左上角、右下角和中心點結(jié)合為三聯(lián)體(Triplets),在角點的基礎(chǔ)上增加一個關(guān)鍵點來探索候選框靠近幾何中心位置的信息。對于角點構(gòu)造的預(yù)測邊框,如果同類別物體的中心關(guān)鍵點也包含在該候選框的中心區(qū)域,則保留該檢測框,否則舍棄?;谌?lián)體關(guān)鍵點的CenterNet 結(jié)合物體內(nèi)部信息,對角點的預(yù)測做后處理矯正。CenterNet-Triplets仍然停留在結(jié)合中心關(guān)鍵點矯正匹配的階段,粗略看來整合了角點和中心點的信息,大部分工作建立在ConerNet的基礎(chǔ)上完成。CenterNet-Objects as Points完全基于中心點,沒有后處理步驟,模型結(jié)構(gòu)簡單。且該方法容易擴(kuò)展到姿態(tài)識別等其他與關(guān)鍵點檢測相關(guān)的任務(wù)中,具有啟發(fā)性意義。
Dong 等提出的CentripetalNet 針對關(guān)聯(lián)嵌入法匹配關(guān)鍵點的導(dǎo)致的誤檢做出優(yōu)化改進(jìn)。文章指出,基于物體的外觀信息產(chǎn)生嵌入向量的做法缺乏魯棒性。同類別的物體具有相同的外觀,這時物體的角點所對應(yīng)的嵌入向量十分相似,使得網(wǎng)絡(luò)的訓(xùn)練難度較大,出現(xiàn)錯誤的關(guān)鍵點匹配對。CentripetalNet以CenterNet為基線,提出新的關(guān)鍵點分組方法,結(jié)合物體的外觀和關(guān)鍵點的位置信息。CentripetalNet使用基于向心位移(centripetal shift)的角點配對方法,以及一種能夠更好地預(yù)測向心偏移的交叉星形可變形卷積模塊。圖4 依次展示了CornerNet、CenterNet-Triplets、CentripetalNet的部分檢測效果圖,在同類型的相似物體高度集中場景中,前兩者出現(xiàn)了將多個目標(biāo)識別為同一目標(biāo)的情況,如第一種場景中的球員,第二種場景中的滑雪運動員。CentripetalNet成功移除錯誤的角點配對導(dǎo)致的誤檢,與CenterNet-Triplets相比,CentripetalNet的效果提升主要來自大中型目標(biāo),如第三種場景中,CentripetalNet對人體目標(biāo)的識別效果更加精確。
圖4 改進(jìn)關(guān)鍵點匹配系列模型檢測效果對比Fig.4 Detection results comparison of key point matching series models
另一種結(jié)合中心點的預(yù)測模型并不區(qū)分正負(fù)樣本,使用類似語義分割的思想,使用全卷積網(wǎng)絡(luò)逐像素預(yù)測。早期工作中,DenseBox首先提出:(1)直接對是否為某類中心點進(jìn)行判別;(2)在中心點處直接回歸相關(guān)的幾何參數(shù)。以此為啟發(fā),F(xiàn)COS(fully convolutional one-stage)額外預(yù)測了每個位置上的中心置信度(centerness),抑制偏離中心過遠(yuǎn)的誤檢。FCOS 僅憑借非極大抑制進(jìn)行后處理,模型更加簡單靈活,可以擴(kuò)展到其他計算機(jī)視覺任務(wù)中。檢測流程如圖5 所示:
圖5 FCOS 網(wǎng)絡(luò)的檢測結(jié)構(gòu)Fig.5 Fully convolutional one-stage object detection framework
(1)輸入圖片,經(jīng)過骨干網(wǎng)絡(luò)進(jìn)行特征提取,結(jié)合特征金字塔獲得不同尺度的最終特征圖。
(2)在特征圖上逐像素點進(jìn)行分類和回歸。確定每個點所屬物體類別,根據(jù)每個點到物體4 個邊界的距離確定包圍框(bounding box)。
(3)引入中心置信度分支,預(yù)測一個像素到對應(yīng)邊框中心的偏差,降低低質(zhì)量預(yù)測框的權(quán)重,減少非極大抑制后處理計算負(fù)擔(dān)。
其中中心置信度(centerness)分支的主要作用是篩選遠(yuǎn)離目標(biāo)中心的低質(zhì)量bounding box。增加一個與分類平行的分支用以預(yù)測中心置信度。中心置信度描述的是某一位置到該位置到其所屬目標(biāo)中心的距離。設(shè)定第個卷積塊的輸出特征圖為F,算法將F上一點(,)映射到原始的輸入圖片位置并回歸。在進(jìn)行正負(fù)樣本判斷時,若(,)落入真值標(biāo)簽(ground truth)邊界范圍內(nèi)即視為正樣本,與anchorbased 模型相比大量增加正樣本的數(shù)量,幫助模型有效學(xué)習(xí)。正樣本位置的回歸目標(biāo)可表示為:
中心置信度的取值范圍是(0,1),通過二元交叉熵?fù)p失訓(xùn)練。測試時,最終分?jǐn)?shù)由中心置信度預(yù)測結(jié)果和分類分?jǐn)?shù)乘積得到。中心置信度降低遠(yuǎn)離目標(biāo)中心的bounding box 得分,結(jié)合非極大抑制后處理濾除低質(zhì)量邊框,進(jìn)而提高檢測效果。FCOS 在實驗分析中與anchor-based 模型對比了樣例總數(shù)和內(nèi)存占用情況,樣例總數(shù)減少了90%,內(nèi)存占用減少了67%,但缺乏實時性指標(biāo)的對比。逐像素密集檢測相當(dāng)于在每個像素點鋪設(shè)anchor,對檢測速度會產(chǎn)生影響。中心置信度的可解釋性有待進(jìn)一步增強,需要從幾何理論等方面給出理論支撐。
現(xiàn)階段anchor-free 的主要檢測范式可以分為以上兩類,對特定位置的關(guān)鍵點分組和結(jié)合中心關(guān)鍵點進(jìn)行回歸預(yù)測。最先提出基于關(guān)鍵點目標(biāo)檢測的CornerNet引領(lǐng)了定義特定關(guān)鍵點的檢測思路,此方向的優(yōu)化工作針對關(guān)鍵點的選取與組合方式。增加關(guān)鍵點個數(shù)是細(xì)分檢測任務(wù)的表現(xiàn)形式,獲取到更多信息以及分解任務(wù)間的關(guān)聯(lián)性可能會對網(wǎng)絡(luò)產(chǎn)生好的影響。關(guān)鍵點組合存在繁瑣的后處理過程,導(dǎo)致計算復(fù)雜度居高不下,推理時間緩慢,催生了輕量化的CornerNet-Lite。結(jié)合中心點回歸預(yù)測的anchorfree 模型中,Objects as Points直接檢測中心關(guān)鍵點進(jìn)而回歸其他屬性,實現(xiàn)端到端的高效檢測。FCOS則在目標(biāo)檢測中引入語義分割的思想,融合中心度過濾低質(zhì)量檢測,不僅提供了一階段anchor-free 檢測的新思路,加強與其他視覺任務(wù)的關(guān)聯(lián)性,也可用于兩階段目標(biāo)檢測的感興趣區(qū)域網(wǎng)絡(luò)(region proposal network,RPN)提升性能。
CenterNet的作者團(tuán)隊發(fā)表于2021 年的最新研究成果提出,目標(biāo)檢測、實例分割和姿態(tài)估計都是對位置敏感的視覺識別任務(wù),并設(shè)計一個統(tǒng)一的框架稱為位置敏感網(wǎng)絡(luò)(location-sensitive network,LSNet)。文章認(rèn)為,不同的視覺任務(wù)本質(zhì)上都是識別物體,不同之處在于表征物體的形式:目標(biāo)檢測用包圍框,實例分割用mask,姿態(tài)估計用關(guān)鍵點。作者設(shè)計一個統(tǒng)一的框架將預(yù)測目標(biāo)與真實的目標(biāo)聯(lián)系起來,以一個anchor 點和指向關(guān)鍵點的個向量作為檢測框架。在目標(biāo)檢測任務(wù)中,1 個anchor 點和指向極值點的4 個向量確定目標(biāo)框;在實例分割任務(wù)中,1 個anchor 點和指向輪廓點的個向量確定mask;在人體姿態(tài)估計任務(wù)中,1 個anchor 點和指向17 個關(guān)鍵點的向量確定pose。
LSNet 分為兩個階段:第一階段從特征金字塔(feature pyramid networks,F(xiàn)PN)的頭部預(yù)測一個anchor 點并與一組landmark 聯(lián)系起來;第二階段組合landmark 描述目標(biāo)對象的幾何形狀。為了準(zhǔn)確定位目標(biāo),使用ATSS(adaptive training sample selection)分配器為目標(biāo)分配盡可能多的anchor點,并在預(yù)測的landmark 上使用可形變卷積提取特征??紤]到目標(biāo)檢測中的損失函數(shù)IoU loss 只能基于矩形框回歸優(yōu)化,難以運用到實例分割任務(wù)中的多邊形和姿態(tài)估計中的離散關(guān)鍵點,作者提出一種新的損失函數(shù)Cross-IoU Loss。Cross-IoU Loss 對anchor 點到landmark 的每個向量計算交并比,將二維的交并比壓縮到一維,從垂直和水平兩個方向分解計算向量與真值標(biāo)簽的重合程度。LSNet 拓展了anchor-free 方法應(yīng)用于視覺識別的邊界,充分證明使用關(guān)鍵點定義和定位目標(biāo)是一個值得研究的方向。
Zhang 等人開發(fā)的一階段目標(biāo)檢測模型VarifocalNet(VFNet)是一種感知交并比的密集目標(biāo)檢測器。作者在文章中指出高性能密集目標(biāo)檢測器的關(guān)鍵在于對候選檢測目標(biāo)進(jìn)行排序篩選,之前的研究工作使用分類得分或?qū)⒎诸惖梅峙c定位得分相乘,兩個不可靠的預(yù)測相乘可能會導(dǎo)致候選目標(biāo)的排名變差,損害檢測性能。文章提出感知交并比的分類得分(IoU-aware classification score,IACS)同時表示物體的存在置信度和定位精度,設(shè)計了一種新的高效星型邊界框表示法,以及變焦損失Varifocal loss訓(xùn)練檢測器。VFNet 以FCOS+ATSS 作為基礎(chǔ),作者深入理解每種技術(shù)的優(yōu)點,并將它們組合到一個模型中。變焦損失Varifocal loss 借助調(diào)制因子平衡正負(fù)樣本的權(quán)重,非對稱地處理正負(fù)樣本,與第4 章融合anchor-based 與anchor-free 的思想類似,重點關(guān)注有關(guān)正負(fù)樣本選擇的問題。
Zhu等指出,在與特征金字塔結(jié)合使用的anchorbased 檢測模型RetinaNet中,基于人工經(jīng)驗規(guī)則,將anchor 離散化到不同的特征層,又根據(jù)目標(biāo)和anchor的交并比選擇最匹配的anchor 檢測目標(biāo)。這種選定特征層的算法,特征級別不一定是最適合目標(biāo)的。基于特征選擇的無錨點模塊(feature selective anchorfree module,F(xiàn)SAF),在特征金字塔的每一層都分出一個anchor-free 分支,允許在任意層上進(jìn)行編碼和解碼。在訓(xùn)練期間,動態(tài)地將每個目標(biāo)分配到最合適的特征層,不設(shè)置anchor以限制特征層選擇。作者在原有的RetinaNet 的基礎(chǔ)上加入一個anchor-free 分支。該分支分為兩個卷積層,分別負(fù)責(zé)分類和回歸任務(wù)。以RetinaNet 主干網(wǎng)絡(luò)的到特征層構(gòu)造特征金字塔,圖6 中展示了其中的三層,每層用來探測不同大小的目標(biāo)。FSAF 模塊根據(jù)目標(biāo)內(nèi)容選擇最匹配的特征層,而不是僅僅根據(jù)目標(biāo)框尺寸分配特征層。檢測過程如圖6 所示,目標(biāo)輸入到特征金字塔的所有層,然后求得所有anchor-free 分支損失函數(shù)的和,選擇和最小的特征層來學(xué)習(xí)。在消融實驗中,加入FSAF 模塊后增加了6 ms 的計算時間,為ResNet-101 主干網(wǎng)絡(luò)的RetinaNet 帶來1.8 個百分點的精度提升。
圖6 FSAF 網(wǎng)絡(luò)的檢測結(jié)構(gòu)Fig.6 FSAF detection framework
一種主樣本注意力策略(prime sample attention,PISA)提出,每個批次(batch)中的樣本是非獨立的,每個樣本給予的關(guān)注度也不應(yīng)完全相同。PISA對正負(fù)樣本點權(quán)重一致性進(jìn)行優(yōu)化,使用層次局部排名重新定義樣本的重要性,根據(jù)重要性為樣本分配不同的損失權(quán)重,是后續(xù)研究一個具有潛力的起點。自PISA 開始,研究者們探索標(biāo)簽分配(label assign)問題對檢測器的影響,在2.2 節(jié)中,F(xiàn)COS也針對標(biāo)簽分配方面進(jìn)行了優(yōu)化,通過空間和尺度約束選擇正負(fù)樣本,以采樣方式擬合anchor-based 與anchor-free 產(chǎn)生的性能差異,指出標(biāo)簽分配策略可以進(jìn)一步提升目標(biāo)檢測器的上限,是anchor-based 與anchor-free 產(chǎn)生性能差異的根本原因。本章重點介紹圍繞標(biāo)簽分配策略優(yōu)化開展的工作,圖7 展示本章介紹的基于標(biāo)簽分配優(yōu)化的檢測模型關(guān)系。
圖7 基于標(biāo)簽分配優(yōu)化的檢測模型關(guān)系Fig.7 Relationship between detection models based on label assign optimization
FreeAnchor針對PISA 中發(fā)現(xiàn)的問題,設(shè)計了新的損失函數(shù)。為提高召回率,recall loss 確保每個實例有足夠好的正樣本。為保證精確度,precession loss 確保每個實例盡可能避免產(chǎn)生假陽性目標(biāo)。論文拋棄以往根據(jù)IoU 硬性指定anchor 和GT 匹配關(guān)系的方法,提出FreeAnchor 方法來進(jìn)行更自由的匹配。FreeAnchor 將檢測算法的訓(xùn)練過程定義為最大似然估計的過程,除提升檢測性能外,一個突出的表現(xiàn)是對長條狀目標(biāo)友好。
Zhang 等探 究anchor-based 和anchor-free的目標(biāo)檢測算法之間產(chǎn)生差異的根本原因。作者分別選擇anchor-based/free 典型算法RetinaNet和FCOS 進(jìn)行對比,將RetinaNet 鋪設(shè)的anchor 數(shù)改為1 后發(fā)現(xiàn)相同的正負(fù)樣本定義下的RetinaNet 和FCOS 性能幾乎一樣。由此指出anchor-based 與anchor-free 方法的主要區(qū)別在于對正負(fù)樣本的選擇,提出自適應(yīng)訓(xùn)練樣本選擇(adaptive training sample selection,ATSS)。ATSS 根據(jù)統(tǒng)計學(xué)特征劃分正負(fù)樣本,具體方法如下:在每個金字塔特征圖層中選擇個檢測框中心點和目標(biāo)中心點距離最近的檢測框作為候選正樣本集。計算每個候選正樣本與標(biāo)注的目標(biāo)檢測框(ground truth,GT)的交并比D以及D的均值m和標(biāo)準(zhǔn)差v。以均值和方差的和作為篩選正樣本的閾值。ATSS 僅有一個超參數(shù),且在實驗中證明在一定區(qū)間內(nèi)的取值對檢測性能的影響微乎其微。但作為一種自適應(yīng)方法,對篩選閾值的確定還是依靠先驗信息且缺乏對閾值設(shè)定的理論解釋,調(diào)參痕跡較重。Zhu 等進(jìn)一步改進(jìn)此問題,將分配過程自動化,對于一個目標(biāo)檢測框,標(biāo)記所有落入框內(nèi)的樣本為正樣本,不落在框內(nèi)的樣本為負(fù)樣本。由此設(shè)計AutoAssign 進(jìn)一步提出根據(jù)數(shù)據(jù)集動態(tài)定義正負(fù)樣本,公平對待每個位置的正負(fù)樣本屬性,通過正負(fù)樣本的權(quán)重映射,動態(tài)調(diào)整每個位置的預(yù)測,運用在RetinaNet和FCOS上都能有穩(wěn)定的性能提升。
表1 總結(jié)標(biāo)簽分配策略的幾個維度及先驗形式?,F(xiàn)有的標(biāo)簽分配策略都利用中心先驗(center prior),依賴于物體圍繞框中心的分布方式。若數(shù)據(jù)的分布不符合中心先驗,將不能取得良好的檢測效果。標(biāo)簽分配分為尺度(scale)和空間(spatial)兩個維度,AutoAssign 定義的權(quán)重對兩個維度實現(xiàn)聯(lián)合訓(xùn)練。目標(biāo)檢測的標(biāo)簽分配應(yīng)該是連續(xù)的過程,沒有真正意義上的正負(fù)樣本之分,表1 中的大部分模型使用IoU 閾值定義正負(fù)樣本使標(biāo)簽分配的過程離散化,不是一個合理的思路。如何設(shè)計連續(xù)的自適應(yīng)標(biāo)簽分配,將是未來的研究重點。
表1 標(biāo)簽分配目標(biāo)檢測模型總結(jié)Table 1 Summary of label assign object detection models
在第1~4 章中介紹了基于無錨點的各類目標(biāo)檢測算法,表2 對第2~4 章中列舉的部分目標(biāo)檢測模型的原理、優(yōu)缺點及使用范圍進(jìn)行總結(jié)。表3 在COCO數(shù)據(jù)集上使用平均檢測精度及其變體對比檢測性能,以是否基于anchor 劃分為兩部分。、、、、是基于COCO 數(shù)據(jù)集定義的檢測精度評價指標(biāo),、用以評價不同的交并比閾值下的檢測效果,50 與75 表示預(yù)測框與標(biāo)注框的交并比大于50%和75%時才會被認(rèn)為預(yù)測正確。、、分別表示模型預(yù)測不同大小尺度目標(biāo)的AP,s(small)為area<322,m(medium)為322962,area 是分割掩碼(segmentation mask)中的像素數(shù)量。模型的綜合性能表現(xiàn)受主干網(wǎng)絡(luò)、輸入圖像尺寸、硬件加速環(huán)境影響,權(quán)衡速度與精度,表3 列舉每個模型最佳性能表現(xiàn)的檢測指標(biāo)。為公平起見,性能評價結(jié)果均基于COCO 數(shù)據(jù)集,論文中未具體描述的以“—”省略。
表2 各類無錨點目標(biāo)檢測模型總結(jié)Table 2 Summary of various anchor-free object detection models
結(jié)合表2 與表3 可以得到以下幾點信息:
表3 各類目標(biāo)檢測模型在COCO 數(shù)據(jù)集上的性能對比Table 3 Performance comparison of various object detection models on COCO dataset
(1)在anchor-free 方法中,CornerNet是最早提出的基于組合角點檢測模型,檢測精度達(dá)到42.1%,超過同時期基于錨框的檢測算法。后續(xù)推出的CornerNet-Lite中,CornerNet-Squeeze設(shè)計了更加輕量的檢測網(wǎng)絡(luò),計算速度達(dá)到約33 frame/s,相比CornerNet 提高了約6 倍,是目標(biāo)檢測模型在輕量化方面做出的重大改進(jìn),也表明輕量化是計算機(jī)視覺任務(wù)發(fā)展的迫切需求?;跈z測特定關(guān)鍵點的anchor-free 模型發(fā)展趨勢是以多樣化的關(guān)鍵點提取到豐富的目標(biāo)信息,但組合關(guān)鍵點的后處理步驟拖累檢測速度,與結(jié)合中心關(guān)鍵點檢測的方法相比速度較慢。
(2)Objects as Points與基于三聯(lián)體關(guān)鍵點的CenterNet,聚焦中心關(guān)鍵點的作用,通過不同的方式充分利用中心點,提升了檢測精度,表明中心區(qū)域?qū)﹃P(guān)鍵點分組的重要性。CentripetalNet 針對圖像中相似物體的誤檢情況,進(jìn)一步使用向心偏移提高小目標(biāo)密集排列的檢測效果,檢測精度超過具有代表性的anchor-based 模型RetinaNet、SSD、YOLO v3。結(jié)合中心關(guān)鍵點的檢測方法默認(rèn)目標(biāo)的分布圍繞幾何中心,對不符合此分布的目標(biāo)(如長條狀的行人)將產(chǎn)生不穩(wěn)定的檢測效果,魯棒性較差。
(3)結(jié)合中心關(guān)鍵點回歸預(yù)測的anchor-free 方法,都利用特征金字塔(FPN)進(jìn)行多尺度目標(biāo)檢測。FCOS加入中心度分支剔除低質(zhì)量檢測框提升檢測性能。融合anchor-based 與anchor-free 的檢測器FSAF通過在線特征選擇的方式,動態(tài)地為每個實例選擇最合適的特征層,提升中小型目標(biāo)的檢測效果,表現(xiàn)為評價指標(biāo)、有所提升。多尺度檢測是提升檢測效果的重要方法,但顯著增加的內(nèi)存開銷和計算耗時是主要問題,下一步研究方向可以繼續(xù)探討構(gòu)建“碎片式”圖像金字塔解決計算耗時問題。
(4)融合anchor-based&free 的方法中,標(biāo)簽分配策略解決正負(fù)樣本不平衡的問題,擴(kuò)充有利于模型訓(xùn)練的正樣本數(shù)量,避免超參數(shù)的引入,降低手工調(diào)參的成本。
(5)現(xiàn)階段anchor-free 系列模型暫時沒有性能上的突出表現(xiàn),但仍存在思想上的優(yōu)越性?;陉P(guān)鍵點的檢測可以借助語義分割等其他視覺任務(wù)的先進(jìn)方法,拓展模型的使用范圍??紤]到anchor的固有缺陷,可以認(rèn)為anchor-free 的研究方向在未來仍舊值得繼續(xù)探索。
目標(biāo)檢測作為計算機(jī)視覺的一個研究熱點,無錨點目標(biāo)檢測已逐漸成為其中的關(guān)鍵方法。借助無錨點目標(biāo)檢測模型處理圖像,解決生產(chǎn)生活中的實際問題,涉及遙感圖像處理、輔助醫(yī)學(xué)臨床診斷、智慧交通等其他多個領(lǐng)域。下面分不同領(lǐng)域來介紹無錨點目標(biāo)檢測的具體應(yīng)用情況。
(1)遙感圖像分辨率高,圖像特征信息多種多樣。在部分圖像中只存在零星的物體,如果使用anchor-based 方法將存在大量的冗余anchor,且正負(fù)樣本極不平衡。由于目標(biāo)變化的尺度較大,難以統(tǒng)一調(diào)整anchor 的尺寸,anchor 回歸效率較低,有必要應(yīng)用anchor-free 檢測模型提高檢測效率。Liu 等將包圍盒編碼為矢量,在此基礎(chǔ)上提出包含方向信息的ProjectIoU 引導(dǎo)預(yù)測。設(shè)計一種組合損失函數(shù),其中ProjectIoU 監(jiān)督方向信息,GIoU 監(jiān)督尺寸信息。在檢測頭中使用TanhExp 替換激活函數(shù)提高檢測速度,進(jìn)一步影響無錨點檢測方法在遙感目標(biāo)檢測領(lǐng)域的應(yīng)用。蔣光峰等提出的RCNet使用中心關(guān)鍵點、旋轉(zhuǎn)角以及寬高表征遙感目標(biāo)。添加一個用于預(yù)測方向的分支,實現(xiàn)旋轉(zhuǎn)中心點估計。RCNet使用DLA34 主干網(wǎng)在保持66.68%檢測精度的同時實現(xiàn)了29.4 frame/s 的運行速度,適合計算資源緊張同時對運算時間有一定限制的平臺。
(2)使用計算機(jī)視覺方法輔助醫(yī)學(xué)臨床診斷對疾病的早期診斷至關(guān)重要。??低暪咎岢龅腂MassDNet首次將FSAF結(jié)構(gòu)應(yīng)用于乳腺腫塊檢測中。乳腺腫塊的檢測困難主要在于腫塊的異質(zhì)性,使用特征提取網(wǎng)絡(luò)的最后兩層與底層特征結(jié)合,能夠檢測不同尺寸的腫塊。加入FSAF 模塊后,在靈敏度(true positive rate,TPR)基本持平的情況下,平均每張圖片的假陽性比例(false positive per image,F(xiàn)PPI)降低0.141。BMassDNet 減輕醫(yī)生的視覺疲勞同時有效提高檢測精度,推動深度學(xué)習(xí)應(yīng)用在醫(yī)學(xué)領(lǐng)域的發(fā)展。矩形包圍框在病理圖像旋轉(zhuǎn)時會發(fā)生角度變化,尤其在特定的醫(yī)學(xué)圖像如肺結(jié)節(jié)、腎小球的檢測方面,無錨點的目標(biāo)表示方法具有優(yōu)越性。CircleNet針對球形生物醫(yī)學(xué)目標(biāo)進(jìn)行優(yōu)化,使用圓形包圍框(bounding circle)來檢測目標(biāo)。與使用矩形包圍框(bounding box)需要學(xué)習(xí)寬高兩個維度相比,使用bounding circle 僅需學(xué)習(xí)半徑一個維度。表4 對比了不同表征目標(biāo)方法的旋轉(zhuǎn)一致性,旋轉(zhuǎn)一致性的計算方法是旋轉(zhuǎn)后交并比大于0.5 的bounding box/circle數(shù)量除以bounding box/circle的總數(shù)量。
表4 旋轉(zhuǎn)一致性對比Table 4 Comparison of rotation consistency results
實驗結(jié)果表明,與矩形包圍盒相比,圓形的表示方法在自由度更小的情況下并沒有降低檢測效果,在采集的活檢掃描圖像數(shù)據(jù)集上平均檢測精度達(dá)到64.7%。
(3)在智慧交通領(lǐng)域內(nèi),華南理工大學(xué)提出的CircleDet借助站臺門上方部署的攝像頭截取視頻檢測地鐵客流量。在俯拍視角的攝像頭中,人的頭部在大部分情況下表現(xiàn)為圓形,矩形包圍框的表示并不適用。使用圓形表征目標(biāo)降低了檢測難度,減少預(yù)測輸出,為設(shè)計更輕量的骨干網(wǎng)絡(luò)提供條件。作者在DLA(deep layer aggregation)網(wǎng)絡(luò)的特征圖深度聚合階段,將每個階段的深度削減為1,結(jié)合修剪通道數(shù)量設(shè)計輕量化網(wǎng)絡(luò)。CircleDet 在GPU 加速的情況下每幀檢測時間為9 ms,在邊緣設(shè)備僅依靠CPU 加速的情況下每幀檢測時間為130 ms,滿足實時性要求。
本文以基于深度學(xué)習(xí)的目標(biāo)檢測算法為背景,從anchor機(jī)制提出的背景和原理出發(fā),分別回顧優(yōu)化anchor 設(shè)置和基于無錨點(anchor-free)以及融合anchor-based/free 等方向的研究工作進(jìn)展,其中重點對比總結(jié)了anchor-free 方向的研究工作,從定性和定量兩個角度以列表形式總結(jié)?;阱^點機(jī)制在目標(biāo)檢測領(lǐng)域的發(fā)展現(xiàn)狀,未來可以開展的工作包括以下幾個方面:
(1)anchor-free 目標(biāo)檢測的一個重要手段是關(guān)鍵點檢測,但在特殊場景的小目標(biāo)檢測中,關(guān)鍵點存在語義模糊性。例如遙感圖像中碼頭的密集船只,地鐵客流監(jiān)控系統(tǒng)中出行高峰時段的行人目標(biāo),存在分布稠密、相互重疊的問題,有待進(jìn)一步解決。
(2)當(dāng)圖像的輸入尺寸過小時,能檢測到的關(guān)鍵點數(shù)量有限;若圖像輸入尺寸大,將影響檢測速度,在主干網(wǎng)絡(luò)中使用輕量化卷積將成為新的研究熱點。卷積作為深度學(xué)習(xí)的構(gòu)成基礎(chǔ),將卷積輕量化可最大限度地提高網(wǎng)絡(luò)計算效率,減少卷積間的冗余計算量,使模型在相同識別精度下,卷積在參數(shù)量或計算量上占比有所下降,使得模型便于在移動式視覺終端上使用。
(3)提出錨點機(jī)制的出發(fā)點是提供先驗知識,解決目標(biāo)尺度變化大的問題。但anchor-based 發(fā)展的障礙也正是因為先驗知識并不能完全滿足多尺度檢測的需要,因此產(chǎn)生了anchor-free的研究方向。anchorbased 方法加入了人為先驗分布,訓(xùn)練和回歸的值域變化范圍相對較小,anchor-free 擺脫先驗知識的限制,導(dǎo)致其檢測結(jié)果不穩(wěn)定,需要設(shè)計更多的方法進(jìn)行優(yōu)化。
(4)在形式上,組合多個關(guān)鍵點的anchor-free 模型實際上使用類似anchor的矩形框檢測,基于單個關(guān)鍵點的anchor-free 模型相當(dāng)于在每個位置上都有一個anchor,始終沒有真正打破anchor 的局限。值得一提的是,融合anchor-based 與anchor-free 的工作指出,正負(fù)樣本的定義才是兩類算法的本質(zhì)區(qū)別,標(biāo)簽分配成為連接兩類算法的橋梁,值得進(jìn)一步探索。