劉小波 肖 肖 王 凌 蔡之華 龔 鑫 鄭可心
深度學(xué)習(xí)方法在目標(biāo)檢測領(lǐng)域具有優(yōu)秀的性能,在視頻監(jiān)控、智能交通、國防安全等領(lǐng)域得到了廣泛應(yīng)用[1].基于深度學(xué)習(xí)的目標(biāo)檢測方法在海量數(shù)據(jù)的驅(qū)動下,能通過特征提取網(wǎng)絡(luò)學(xué)習(xí)到具有更強(qiáng)語義表征能力的特征,同時在神經(jīng)網(wǎng)絡(luò)前向傳播過程中避免了大量窗口的冗余計算,提升整體的檢測速度的同時,檢測精度也得到大幅度的提升.其中,基于深度學(xué)習(xí)的目標(biāo)檢測方法根據(jù)樣本選擇方式可分為: 基于錨框的目標(biāo)檢測方法和基于無錨框的目標(biāo)檢測方法.
基于錨框的目標(biāo)檢測方法首先對每個像素點(diǎn)預(yù)設(shè)不同尺度和寬高比的錨框;其次使用特征提取網(wǎng)絡(luò)來獲取特征并生成特征圖;然后利用檢測頭(Head)模塊選擇包含待測目標(biāo)的錨框并計算目標(biāo)類別置信度,利用位置損失和類別損失分別修正錨框的具體位置和類別;最后利用非極大值抑制(Non-maximum suppression,NMS)[2]篩選同一目標(biāo)的冗余錨框,實(shí)現(xiàn)最終的檢測任務(wù).其中,在訓(xùn)練階段,常設(shè)置1:1、1:2和2:1 等比例的錨框?qū)捀弑?并且常通過實(shí)驗(yàn)經(jīng)驗(yàn)、K-means 聚類等方法選擇錨框尺寸,用以適配不同目標(biāo).但由于預(yù)設(shè)錨框無法有效匹配小目標(biāo)、寬高比例較大的目標(biāo),因此常根據(jù)特征金字塔來合理分配預(yù)設(shè)錨框,以提高檢測的有效性和靈活性.此外,通過計算錨框和真實(shí)框的交并比(Intersection-over-union,IoU)來選擇正負(fù)樣本,即將大于IoU 閾值的錨框作為正樣本,剩余為負(fù)樣本.在損失函數(shù)設(shè)計部分,常使用 L1損失、Smooth L1損失作為回歸損失,用于回歸錨框中心點(diǎn)坐標(biāo)以及寬高參數(shù),并且利用交叉熵?fù)p失或者焦點(diǎn)損失(Focal loss)來預(yù)測錨框類別的分類得分.此外,在預(yù)測階段,計算每層特征金字塔的分類得分和位置回歸偏置值,在對所有層的輸出分類按類別進(jìn)行排序后,將得分最高的部分錨框進(jìn)行位置回歸,最后利用非極大值抑制處理來得到最后的檢測結(jié)果.其中,具有代表性的有錨框檢測算法是SSD (Single shot MultiBox detector)[3]、R-CNN (Region based convolutional neural network)[4-5]、YOLO (You only look once) v2[6]和YOLO v3[7]等算法,這類算法在標(biāo)準(zhǔn)目標(biāo)檢測數(shù)據(jù)集上取得了較好的效果,推動目標(biāo)檢測的新發(fā)展,廣泛應(yīng)用于人臉識別、車牌識別、交通路況檢測、農(nóng)業(yè)病蟲害監(jiān)測、海洋救援等領(lǐng)域[8].但由于此類檢測方法對錨框依賴性較強(qiáng),從而導(dǎo)致以下問題:
1) 錨框的設(shè)計需要尺度、特征和類別等先驗(yàn)信息,而固定錨框尺寸、錨框預(yù)測寬高比和錨框數(shù)量在一定程度上影響檢測網(wǎng)絡(luò)的普適性;
2) 錨框的設(shè)置方法需引入大量冗余超參數(shù),網(wǎng)絡(luò)調(diào)節(jié)過程更加困難,且訓(xùn)練時需使用IoU 計算錨框與真實(shí)框匹配程度,整體計算資源消耗較大;
3) 為了盡可能地精準(zhǔn)匹配目標(biāo),需要預(yù)設(shè)數(shù)量繁多的錨框,而其中大部分錨框?yàn)閮H含背景信息的負(fù)樣本,只有少量為包含目標(biāo)信息的正樣本,因此會加劇目標(biāo)檢測存在的正負(fù)樣本失衡問題.
針對有錨框檢測方法的缺陷,Huang 等[9]率先提出一種無錨框目標(biāo)檢測方法DenseBox.該方法無需錨框預(yù)設(shè)過程,直接預(yù)測目標(biāo)的邊界框,不僅減少了大量錨框相關(guān)超參數(shù),而且提升了整體模型的檢測效率、降低模型復(fù)雜度,在無人駕駛、交通指揮以及國土安全等領(lǐng)域得到廣泛應(yīng)用.圖1和圖2分別表示有錨框和無錨框目標(biāo)檢測方法的整體框架,兩類方法的不同之處在于是否定義先驗(yàn)錨框來提取候選預(yù)測框.
圖1 基于錨框的目標(biāo)檢測方法整體框架Fig.1 The overall framework of anchor-based object detection method
圖2 基于無錨框的目標(biāo)檢測方法整體框架Fig.2 The overall framework of anchor-free object detection method
除了目標(biāo)檢測算法外,數(shù)據(jù)集也是目標(biāo)檢測發(fā)展的重要基石.公共數(shù)據(jù)集能有效地對不同算法進(jìn)行橫向比較,極大地促進(jìn)了目標(biāo)檢測算法的發(fā)展,近年涌現(xiàn)一批目標(biāo)檢測公共數(shù)據(jù)集,具體統(tǒng)計特征如表1 所示.其中Pascal VOC (Pattern analysis statistical modeling and computational learing visual object classes)[10]、COCO[11]數(shù)據(jù)集專用于評價通用水平框檢測模型的性能;DOTA (Dataset for object detection in aerial images)[12]有針對性地檢測高分辨率復(fù)雜圖像中飛機(jī)、船艦等分布不均、角度多變的多類目標(biāo),且同時使用水平框和旋轉(zhuǎn)框,其中目標(biāo)方向多變、尺度變化范圍大,是目前使用最廣、挑戰(zhàn)性最強(qiáng)的數(shù)據(jù)集之一;此外,UCAS-AOD[13]包含汽車和飛機(jī)兩類目標(biāo);ICDAR2015[14]針對場景文本數(shù)據(jù)進(jìn)行歸納;CUHK-SYSU[15]、PRW[16]、CrowdHuman[17]等數(shù)據(jù)集專用于行人檢測,其中CrowdHuman 數(shù)據(jù)集擁有規(guī)模龐大的行人數(shù)據(jù),是評價行人檢測效果的代表性數(shù)據(jù)集之一;在遙感船艦?zāi)繕?biāo)檢測方面,HRSC2016[18]、SSDD[19]、HRSID[20]對多源船艦數(shù)據(jù)進(jìn)行整理,對復(fù)雜遙感船艦?zāi)繕?biāo)檢測性能的提升發(fā)揮了至關(guān)重要的作用.
表1 目標(biāo)檢測公共數(shù)據(jù)集對比Table 1 Comparison of public datasets for object detection
本文首先圍繞樣本標(biāo)簽分配方式來展開無錨框目標(biāo)檢測算法的分類;其次關(guān)注近期無錨框目標(biāo)檢測算法的發(fā)展,探索無錨框算法和有錨框算法的本質(zhì)區(qū)別,在主流數(shù)據(jù)集上對比典型算法的性能表現(xiàn);然后討論和研究基于無錨框的目標(biāo)檢測方法在目標(biāo)重疊排列、目標(biāo)尺寸小和目標(biāo)角度多等情形下的算法設(shè)計與應(yīng)用;最后對無錨框目標(biāo)檢測方法進(jìn)行總結(jié)并展望未來的研究方向.
無錨框是指無需對每個像素點(diǎn)預(yù)設(shè)寬高不同的錨框,而直接對像素點(diǎn)進(jìn)行類別判斷或匹配多個同類像素點(diǎn)的操作,避免了錨框相關(guān)超參數(shù)的設(shè)計步驟,提高了模型對多類目標(biāo)的普適性并且降低了模型復(fù)雜度.根據(jù)樣本分配方式,無錨框的目標(biāo)檢測方法分為基于關(guān)鍵點(diǎn)組合、中心點(diǎn)回歸、Transformer、錨框和無錨框融合4 大類,各類方法的對比情況如表2 所示.本節(jié)分別闡述各類無錨框目標(biāo)檢測方法的主要思想、網(wǎng)絡(luò)架構(gòu)和檢測效果,分析歸納無錨框目標(biāo)檢測方法的創(chuàng)新點(diǎn)及優(yōu)缺點(diǎn).
表2 基于無錨框的目標(biāo)檢測方法對比Table 2 Comparison of anchor-free object detection method
關(guān)鍵點(diǎn)是指預(yù)測框中有代表性目標(biāo)特征的像素點(diǎn).基于關(guān)鍵點(diǎn)組合的目標(biāo)檢測方法首先利用特征提取網(wǎng)絡(luò)獲得信息豐富的特征圖,然后使用多個關(guān)鍵點(diǎn)預(yù)測模塊定位特征提取后的預(yù)測框關(guān)鍵點(diǎn),通過組合關(guān)鍵點(diǎn)來回歸目標(biāo)預(yù)測框,即計算兩條邊界框長度(寬、高)來生成目標(biāo)的檢測框,實(shí)現(xiàn)目標(biāo)檢測任務(wù).該類方法通過關(guān)鍵點(diǎn)匹配操作,尋找圖像中特征關(guān)鍵點(diǎn)的對應(yīng)關(guān)系,從而確定預(yù)測框的位置和類別,用于解決不同類別目標(biāo)間的像素點(diǎn)誤匹配和“背景-目標(biāo)”像素點(diǎn)誤匹配的問題.
Wang 等[21]首次提出一種基于點(diǎn)連接網(wǎng)絡(luò)(Point linking network,PLN)的目標(biāo)檢測方法,將檢測問題視作點(diǎn)檢測和點(diǎn)連接問題,充分利用局部特征以提升重疊目標(biāo)及極端寬高比目標(biāo)的檢測精度,但由于感受野的范圍限制,導(dǎo)致角點(diǎn)難以定位目標(biāo)位置.針對該問題,Law 等[22]提出CornerNet 算法,整體網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示.該網(wǎng)絡(luò)使用角點(diǎn)來作為關(guān)鍵點(diǎn),并利用修正后的殘差模塊、角池化模塊和卷積模塊來分別預(yù)測出左上角點(diǎn)和右下角點(diǎn)(圖4(a))的熱力圖(Heatmaps)、嵌入向量(Embeddings)和偏移量(Offsets),充分利用了目標(biāo)的邊界信息.此外,CornerNet 通過角點(diǎn)對來調(diào)整預(yù)測框的位置,以完成目標(biāo)檢測任務(wù).CornerNet 首次使用角池化以獲取預(yù)測框角點(diǎn),通過提高x,y方向像素點(diǎn)向量的正交程度來加強(qiáng)邊緣信息的獲取,達(dá)到修正角點(diǎn)位置的效果.雖然CornerNet 不使用預(yù)訓(xùn)練模型也能獲得較理想的檢測效果,但該算法因角點(diǎn)匹配方法的類別誤判,導(dǎo)致不同類別角點(diǎn)誤匹配和誤檢等問題.針對CornerNet 中存在的角點(diǎn)誤匹配問題,Law 等[23]提出CornerNet-Lite 算法,其中包括CornerNet-Saccade和CornerNet-Squeeze,該類算法通過減少像素點(diǎn)的數(shù)量來改進(jìn)角點(diǎn)匹配,在不犧牲精度的情況下同時提高檢測效率和準(zhǔn)確性,且能應(yīng)用于離線檢測和實(shí)時檢測任務(wù).
圖3 基于角點(diǎn)組合的CornerNet 目標(biāo)檢測方法Fig.3 CornerNet framework of object detection method based on corner points combination
圖4 預(yù)測框采樣方法Fig.4 The sampling methods of prediction box
由于CornerNet 及CornerNet-Lite 算法過度關(guān)注目標(biāo)的邊緣信息,而忽略目標(biāo)內(nèi)部的特征信息.因此,Zhou 等[24]在沿用CornerNet 整體框架和損失函數(shù)的基礎(chǔ)上,提出一種自下而上的無錨框目標(biāo)檢測算法ExtremeNet,將關(guān)鍵點(diǎn)分組方式從卷積映射轉(zhuǎn)換成幾何結(jié)構(gòu)分組,該方法通過判斷目標(biāo)的4 個極值點(diǎn)和1 個中心點(diǎn)(如圖4(b)),增加關(guān)鍵點(diǎn)的數(shù)量來充分學(xué)習(xí)目標(biāo)的表征信息.ExtremeNet不足之處是使用極值點(diǎn)聚類而產(chǎn)生過多重疊預(yù)測框,且在關(guān)鍵點(diǎn)匹配時容易產(chǎn)生假陽性樣本,影響整體檢測效果.Duan 等[25]在CornerNet 的基礎(chǔ)上,提出一種旨在解決角點(diǎn)誤匹配問題的CenterNet-Triplets 算法,其關(guān)鍵思想在于將左上角點(diǎn)、右下角點(diǎn)和中心點(diǎn)替代兩個角點(diǎn),使用級聯(lián)角池化來獲取豐富的角點(diǎn)信息,并且利用中心池化來獲取目標(biāo)的內(nèi)部信息、判斷檢測框的篩選、矯正角點(diǎn)的預(yù)測位置,有效減少誤檢并提高召回率,不足之處在于中心點(diǎn)漏檢會導(dǎo)致預(yù)測框位置偏移量過大.為了進(jìn)一步增強(qiáng)目標(biāo)內(nèi)部特征的表達(dá)能力,并且優(yōu)化角點(diǎn)匹配導(dǎo)致的誤檢,Dong 等[26]提出一種向心偏移量來匹配同類目標(biāo)角點(diǎn)對的檢測算法CentripetalNet,該算法使用向心偏移模塊預(yù)測角點(diǎn)的向心偏移量(如圖4(c)),利用位置解碼操作對齊角點(diǎn)的向心偏移量,使用十字星可變形卷積來豐富角點(diǎn)的表觀特征,并且添加一個實(shí)例掩碼模塊,將向心位移預(yù)測區(qū)域作為候選區(qū)域,此外利用輕量卷積網(wǎng)絡(luò)對分割掩碼進(jìn)行目標(biāo)檢測,大幅提升了模型對不同類別目標(biāo)的適應(yīng)能力.在此基礎(chǔ)上,為了進(jìn)一步加強(qiáng)局部和全局特征信息的表達(dá)能力,SaccadeNet[27]用5 個關(guān)鍵點(diǎn)(4 個角點(diǎn)和1 個中心點(diǎn))來獲取目標(biāo)信息.首先使用中心注意力模塊預(yù)測目標(biāo)中心的類別和位置,其次使用注意力傳遞模塊預(yù)測相應(yīng)邊界框角點(diǎn)的粗略位置,然后使用角點(diǎn)注意力模塊來提取目標(biāo)信息的角點(diǎn)特征,從而使回歸邊界框更加準(zhǔn)確,最后使用聚合注意力模塊來融合中心和角點(diǎn)信息,不斷調(diào)整預(yù)測目標(biāo)的精確位置.該算法在提取目標(biāo)多尺度特征的基礎(chǔ)上,同步提升檢測速度和檢測精度.
在充分利用特征表達(dá)能力的基礎(chǔ)上,為了減少不同幾何形狀目標(biāo)的誤檢,Duan 等[28]提出分類和回歸相獨(dú)立的角點(diǎn)提議算法CPNDet (Corner proposal network for object detection),并建立角點(diǎn)和目標(biāo)內(nèi)部像素點(diǎn)間的聯(lián)系來細(xì)調(diào)預(yù)測框的位置和類別.該算法第1 階段利用CornerNet 的角點(diǎn)檢測方法來遍歷角點(diǎn),并且組合成角點(diǎn)對構(gòu)成候選預(yù)測框;第2 階段利用兩類分類器來濾除大部分誤檢的預(yù)測框,然后使用更精細(xì)的多類別分類器來確定預(yù)測框的類別以及相關(guān)置信度.該方法能根據(jù)對應(yīng)的區(qū)域特征來區(qū)分目標(biāo)和錯誤匹配預(yù)測框之間的關(guān)鍵點(diǎn),在不降低檢測速度的情況下,整體網(wǎng)絡(luò)更靈活地定位任意幾何形狀的目標(biāo).上述算法均使用多角點(diǎn)和中心點(diǎn)來充分獲取目標(biāo)的邊緣和內(nèi)部信息,盡可能地利用豐富的目標(biāo)信息,并且通過角點(diǎn)和中心點(diǎn)預(yù)測模塊不斷細(xì)化預(yù)測框的關(guān)鍵點(diǎn)調(diào)整過程,降低預(yù)測框位置的偏移量,實(shí)現(xiàn)更精準(zhǔn)的目標(biāo)定位.
綜上所述,基于關(guān)鍵點(diǎn)組合的目標(biāo)檢測方法不再列舉大量可能存在目標(biāo)的錨框,而是從邊緣關(guān)鍵點(diǎn)能夠獲取目標(biāo)的代表性邊界信息這一思想出發(fā),不斷改進(jìn)邊緣關(guān)鍵點(diǎn)的選取方式、分組方式,并且逐漸聚焦中心點(diǎn)對檢測效果的影響,通過中心點(diǎn)來同步加強(qiáng)內(nèi)部信息和全局信息的利用,從而利用中心點(diǎn)聯(lián)合邊緣關(guān)鍵點(diǎn)來設(shè)計偏移量預(yù)測模塊,通過修正關(guān)鍵點(diǎn)的位置來生成高質(zhì)量預(yù)測框,進(jìn)一步減少誤檢和漏檢的問題[29].表3 詳細(xì)分析了各算法的性能和優(yōu)缺點(diǎn),其中包括每秒傳輸幀數(shù)(Frames per second,FPS)和平均檢測精度(Mean average precision,mAP).從表3 可知,大部分基于關(guān)鍵點(diǎn)組合的算法都在CornerNet 的基礎(chǔ)上進(jìn)行改進(jìn),如CornerNet-Saccade 設(shè)計輕量級的網(wǎng)絡(luò)用于實(shí)時檢測,ExtremeNet 等通過結(jié)合中心點(diǎn)來減少預(yù)測框誤檢問題,CentripetalNet 等改進(jìn)關(guān)鍵點(diǎn)選取和組合方式以提升檢測精度,但大多數(shù)關(guān)鍵點(diǎn)組合的方法仍有較多后處理操作,因此檢測速度有待進(jìn)一步提升.
表3 基于關(guān)鍵點(diǎn)組合的無錨框目標(biāo)檢測算法在COCO 數(shù)據(jù)集上的性能及優(yōu)缺點(diǎn)對比Table 3 Comparison of the keypoints combination based anchor-free object detection methods on the COCO dataset
中心點(diǎn)能反映目標(biāo)的內(nèi)部特征信息.基于中心點(diǎn)回歸的無錨框目標(biāo)檢測方法首先利用特征提取網(wǎng)絡(luò)獲取目標(biāo)的特征圖;其次用檢測頭模塊的熱力圖峰值表示目標(biāo)中心點(diǎn)的位置,寬高預(yù)測分支用于回歸預(yù)測框的尺度信息,中心點(diǎn)預(yù)測分支用于修正中心點(diǎn)偏移量;最后利用后處理操作篩選出最優(yōu)預(yù)測框,整體框架如圖5 所示.基于中心點(diǎn)回歸的無錨框目標(biāo)檢測方法與基于關(guān)鍵點(diǎn)組合的無錨框目標(biāo)檢測方法相比,減少了關(guān)鍵點(diǎn)匹配操作,緩解了因關(guān)鍵點(diǎn)類別誤判導(dǎo)致的誤檢問題,提高了模型的整體性能.
圖5 基于中心點(diǎn)回歸的無錨框目標(biāo)檢測方法整體框架Fig.5 The overall framework of anchor-free object detection method based on center point regression
在無錨框目標(biāo)檢測算法研究初期,UnitBox檢測網(wǎng)絡(luò)[30]首次使用預(yù)測框和真實(shí)框4個頂點(diǎn)的IoU 損失LIoU(如式(1)所示)來替代DenseBox[9]的 L2損失(如式(2)所示),以考慮預(yù)測框坐標(biāo)間的相關(guān)性,實(shí)現(xiàn)更精準(zhǔn)的預(yù)測位置修正,更好地適應(yīng)目標(biāo)的尺寸和外觀變化,在人臉檢測上獲得良好的檢測效果,為通用無錨框檢測算法的精準(zhǔn)定位奠定了堅實(shí)的基礎(chǔ).Redmon 等[31]受此啟發(fā),利用回歸的思想提出YOLO v1,將輸入圖像劃分為子網(wǎng)格單元并對每個網(wǎng)格內(nèi)進(jìn)行目標(biāo)中心點(diǎn)的檢測,即獲取包含目標(biāo)中心點(diǎn)的網(wǎng)格并預(yù)測網(wǎng)格內(nèi)相應(yīng)目標(biāo)的邊界框以及類別概率向量.該檢測網(wǎng)絡(luò)能夠通過劃分輸入圖像區(qū)域來實(shí)現(xiàn)快速目標(biāo)檢測,但由于每個網(wǎng)格只能檢測一個目標(biāo)中心點(diǎn),因此當(dāng)多個目標(biāo)中心落入同一網(wǎng)格內(nèi),易出現(xiàn)漏檢問題.為了分別提升Head 模塊中的分類、回歸分支的檢測性能并且解決同網(wǎng)格多目標(biāo)的漏檢問題,Ge 等[32]在YOLO v3[7]基礎(chǔ)上提出YOLOX.該算法把正樣本限定在目標(biāo)中心的一定網(wǎng)格區(qū)域內(nèi),通過增大正樣本數(shù)量來減少重疊漏檢問題,并且通過解耦檢測頭來拆分回歸和分類分支結(jié)構(gòu),以此來加快模型收斂速度、提高檢測精度.此外,YOLOX 使用SimOTA 樣本匹配方法,緩解極端寬高比的物體的檢測效果差、極端大小目標(biāo)正負(fù)樣本不均衡的問題,整體YOLOX檢測模型還提供多平臺的資源部署版本,擴(kuò)大使用平臺和范圍.
IoU 損失計算如下:
其中,B為預(yù)測框,Bgt為真實(shí)框.
L2損失計算如下:
除了可以劃分輸入圖像來篩選目標(biāo)中心點(diǎn)位置的范圍外,Tian 等[33]使用全卷積網(wǎng)絡(luò)逐像素預(yù)測的全卷積單階段目標(biāo)檢測算法(Fully convolutional one-stage object detector,FCOS),該算法將落入真實(shí)框邊界范圍內(nèi)的中心點(diǎn)視為正樣本,相比有錨框檢測方法增大了正樣本的數(shù)量,緩解正負(fù)樣本不均衡的問題,并且使用多尺度特征預(yù)測方法來預(yù)測不同尺度的目標(biāo)邊界框,解決YOLO v1 中的中心點(diǎn)重疊的漏檢問題,加入中心置信度(Centerness)子分支來篩除遠(yuǎn)離目標(biāo)中心點(diǎn)的低置信度預(yù)測框,并采用NMS 后處理篩除冗余框,得到最終與目標(biāo)適配度高的檢測結(jié)果.其中,中心置信度計算如下:
FCOS 的中心置信度分支能降低遠(yuǎn)離目標(biāo)中心的預(yù)測框得分,此外針對同一像素點(diǎn)同時包含兩個目標(biāo)的情況,FCOS 直接回歸出當(dāng)前像素點(diǎn)所指向目標(biāo)的類別和最小預(yù)測框,極大緩解了重疊目標(biāo)的類別模糊問題,相比有錨框檢測算法減少了正樣本數(shù)量和訓(xùn)練內(nèi)存占用并提高檢測精度,然而仍會出現(xiàn)同尺度層的誤檢問題.由于FCOS 仍使用后處理操作來篩除多余的預(yù)測框,增加了訓(xùn)練和預(yù)測的計算復(fù)雜度.因此,Sun 等[34]設(shè)計一個端到端的目標(biāo)檢測算法OneNet.該方法同樣使用FCOS 的中心點(diǎn)來定位預(yù)測框,額外提出最小化損失分配策略,僅對每個目標(biāo)分配一個預(yù)測框,并將損失最小的預(yù)測框視為唯一正樣本,去除計算量大的后處理操作,緩解正負(fù)樣本不均衡的問題并提高檢測速度,但檢測精度有待進(jìn)一步提升.
Zhou 等[35]提出一種無需劃分輸入圖像的目標(biāo)檢測算法CenterNet,該算法將多點(diǎn)檢測轉(zhuǎn)換成單中心點(diǎn)檢測問題(如圖4(d)),利用中心點(diǎn)感知目標(biāo)內(nèi)部信息的思想,解決了多點(diǎn)匹配導(dǎo)致的類別判斷錯誤、定位不準(zhǔn)確的問題.此外,CenterNet 無需NMS后處理操作來去除冗余預(yù)測框,減少超參數(shù)數(shù)量并降低模型復(fù)雜度,實(shí)現(xiàn)檢測速度和精度的平衡,但缺點(diǎn)是僅利用中心點(diǎn)回歸目標(biāo),導(dǎo)致無法充分利用全局信息,出現(xiàn)因中心點(diǎn)重疊所產(chǎn)生的漏檢問題.為了解決CenterNet 的漏檢問題,Zhou 等[36]進(jìn)一步提出CenterNet2 算法.該算法分為兩個階段,首先在第1 階段使用CenterNet 提取區(qū)域級別的特征并對其分類,判斷校準(zhǔn)后目標(biāo)和背景的相似性;然后在第2 階段使用級聯(lián)分類器,最大化真實(shí)目標(biāo)邊界框的對數(shù)似然,并在預(yù)測時使用對數(shù)似然計算最終的檢測分?jǐn)?shù).CenterNet2 與兩階段有錨框目標(biāo)檢測算法相比,更加精準(zhǔn)有效地選擇感興趣區(qū)域.此外,CenterNet2 與CenterNet 相比,其Head 模塊更加精簡,減少類別預(yù)測數(shù)量并加速檢測,顯著提升檢測準(zhǔn)確率.
由于CenterNet 系列方法過于依賴中心點(diǎn)局部信息,因此HoughNet[37]受廣義Hough 變換的啟發(fā),利用對數(shù)極坐標(biāo)投票機(jī)制從近距離和遠(yuǎn)距離位置收集選票,增加局部和全局信息都有效正樣本的比例.為了進(jìn)一步體現(xiàn)模型的有效性,提取Hough-Net 的投票模塊來篩選正樣本并嵌入到兩個生成對抗網(wǎng)絡(luò)(Generative adversarial networks,GANs)模型(CycleGAN[38]和Pix2Pix[39])中,提高生成對抗網(wǎng)絡(luò)模型的樣本生成效果.除此之外,Gird RCNN[40]在Faster R-CNN[5]的基礎(chǔ)上,選擇4 個角點(diǎn)、預(yù)測框的邊界中點(diǎn)和目標(biāo)中心點(diǎn)作為網(wǎng)格點(diǎn),利用網(wǎng)格定位機(jī)制選擇候選區(qū)域,在回歸分支利用空洞卷積和反卷積網(wǎng)絡(luò)替代全連接層,實(shí)現(xiàn)候選區(qū)域的修正,加入特征融合模塊以聚合深層語義信息和淺層位置信息,從而增強(qiáng)有效特征的表達(dá)能力,然而特征點(diǎn)的采樣區(qū)域范圍較廣,加重了正負(fù)樣本不均衡的問題.在Gird R-CNN 的基礎(chǔ)上,Grid R-CNN Plus[41]利用閾值去除無關(guān)鍵點(diǎn)的候選區(qū)域,減少特征相關(guān)的冗余計算,縮小目標(biāo)的檢測范圍、減少計算量的同時聚焦區(qū)域性特征,提升整體檢測速度.
綜上所述,表4 總結(jié)了基于中心點(diǎn)回歸的無錨框目標(biāo)檢測方法,能夠利用IoU 來加強(qiáng)目標(biāo)類別和位置的聯(lián)系、使用子網(wǎng)格劃分圖像的方法減少中心點(diǎn)采樣數(shù)量、使用熱力圖等方法獲取目標(biāo)的有效特征中心點(diǎn).在直接使用中心點(diǎn)來回歸目標(biāo)的基礎(chǔ)上,添加網(wǎng)格定位點(diǎn)提高定位精度、并利用中心置信度過濾低質(zhì)量預(yù)測框等方法,在無需進(jìn)行計算復(fù)雜并且誤差較高的角點(diǎn)匹配思想下,進(jìn)一步簡化模型復(fù)雜度和提升檢測性能,提供了無錨框目標(biāo)檢測方法的新思路.然而基于中心點(diǎn)回歸的方法仍使用多尺度檢測的方法,計算效率有待提升,因此針對特征金字塔的耗時問題需進(jìn)一步優(yōu)化.
表4 基于中心點(diǎn)回歸的無錨框目標(biāo)檢測算法在COCO 數(shù)據(jù)集上的性能及優(yōu)缺點(diǎn)對比Table 4 Comparison of the center point regression based anchor-free object detection methods on the COCO dataset
近年來,Transformer 利用注意力機(jī)制有效捕捉目標(biāo)的感受野,廣泛用于機(jī)器翻譯、語音識別等結(jié)構(gòu)化任務(wù).基于Transformer 的目標(biāo)檢測方法主要由堆疊的編碼器和解碼器組成,而編碼器由交替的自注意力機(jī)制模塊和多層前饋神經(jīng)網(wǎng)絡(luò)組成.自注意力機(jī)制能為輸入的目標(biāo)向量學(xué)習(xí)得到一個權(quán)重,尋找當(dāng)前目標(biāo)和預(yù)測目標(biāo)之間的關(guān)系,解碼器則在編碼器的基礎(chǔ)上增加“編碼-解碼”注意力模塊,用于尋找編碼前后特征向量間的關(guān)系.整體網(wǎng)絡(luò)無需手工設(shè)計參數(shù),無需由于后處理操作,實(shí)現(xiàn)了端到端的目標(biāo)檢測結(jié)構(gòu),簡化了目標(biāo)檢測流程.
基于Transformer 的端到端目標(biāo)檢測器(Endto-end object detection with Transformers,DETR)[42]首次將Transformer 成功地整合到目標(biāo)檢測中,整個DETR 架構(gòu)如圖6 所示.
圖6 DETR 整體框架Fig.6 The overall architecture of DETR
在圖6 中,DETR 首先使用骨干網(wǎng)絡(luò)提取、合并目標(biāo)特征集并添加位置編碼,然后輸入到Transformer 組成的“編碼器-解碼器”結(jié)構(gòu),使用自注意力機(jī)制顯式地對序列中所有特征組合進(jìn)行交互式建模,最后將解碼器的輸出傳遞給固定數(shù)量的預(yù)測頭來獲取預(yù)測框的類別和位置信息.DETR 能夠結(jié)合二分匹配損失和Transformer,同步完成并行解碼,預(yù)測目標(biāo)和全局圖像上下文之間的關(guān)系,僅用單次傳遞就能預(yù)測、刪除無目標(biāo)錨框和完成非極大值抑制操作,刪除重復(fù)預(yù)測并簡化檢測流程,建立了一個新的目標(biāo)檢測范式.然而,二分匹配損失在訓(xùn)練初期無法穩(wěn)定地匹配預(yù)測框和真實(shí)框,導(dǎo)致小目標(biāo)的檢測性能較差且模型收斂速度較慢.針對Transformer 解碼器交叉注意力機(jī)制的訓(xùn)練收斂速度極慢、二分匹配損失穩(wěn)定性較差的問題,Sun 等[43]結(jié)合FCOS 采樣方式和DETR 的編碼器來構(gòu)成新的檢測網(wǎng)絡(luò)TSP-FCOS (Transformer-based set prediction of FCOS),通過在骨干網(wǎng)絡(luò)和編碼器之間加入并行的輔助子網(wǎng)和分類子網(wǎng)模塊,并且在分類子網(wǎng)上引出一個感興趣特征選擇器來篩選多尺度特征.此外,還設(shè)計一個新的二分圖匹配損失來精確定位目標(biāo),在檢測速度均衡的情況下有效提高DETR和FCOS 的檢測精度.同時為了提高檢測效率,Deformable DETR[44]在DETR 的基礎(chǔ)上,使用多尺度可變形注意力機(jī)制替代DETR 的注意力機(jī)制模塊,融合可變形卷積的稀疏空間采樣與Transformer 的特征關(guān)聯(lián)性建模能力,有效關(guān)注稀疏空間的目標(biāo)位置,且能在有效信息中區(qū)分各特征的重要程度,選擇并生成目標(biāo)特征信息豐富的特征圖.此外,該算法優(yōu)化高分辨率圖像的特征圖選擇和樣本選擇,通過改進(jìn)標(biāo)簽分配策略來增大正樣本比例,解決DETR 訓(xùn)練周期長、收斂速度慢的問題,同時提升小目標(biāo)的檢測性能,然而整體模型的計算量較大.同時,Dai 等[45]提出基于動態(tài)注意力機(jī)制的算法Dynamic DETR,針對DETR 編碼器的自注意力模塊計算復(fù)雜度較高的問題,使用動態(tài)編碼器以兼顧空間、尺度和代表性特征的動態(tài)調(diào)整,并且將解碼部分的交叉注意力機(jī)制替換為基于感興趣區(qū)域的動態(tài)注意力機(jī)制,使Transformer 有效區(qū)分粗粒度和細(xì)粒度感興趣區(qū)域的關(guān)注程度,加速模型的收斂速度.另一方面,DETR 的收斂速度慢的原因是目標(biāo)查詢與目標(biāo)特征的匹配過程比較復(fù)雜,因此,Zhang 等[46]提出一種語義對齊匹配的目標(biāo)檢測算法(Semantic aligned matching DETR,SAM-DETR).該網(wǎng)絡(luò)利用對齊語義將目標(biāo)查詢投射到與編碼圖像特征相同的嵌入空間里,且使用具有代表性的目標(biāo)特征來搜索目標(biāo)關(guān)鍵點(diǎn),高效地實(shí)現(xiàn)語義對齊特征匹配,較好地緩解現(xiàn)有模型收斂速度慢的問題.
上述方法在利用骨干網(wǎng)絡(luò)提取特征后,通過修正Transformer 編碼器、解碼器的注意力機(jī)制來提高DETR 的收斂速度,提升整體檢測精度.同時,仍有其他改進(jìn)策略來提高DETR 的檢測性能,如YOLOS[47]算法不使用卷積模塊組成的骨干網(wǎng)絡(luò)來提取特征,轉(zhuǎn)而從視覺Transformer (Vision Transformer,ViT)[48]的角度出發(fā),參照DETR 的“編碼器-解碼器”架構(gòu)設(shè)計并進(jìn)行適當(dāng)調(diào)整.該網(wǎng)絡(luò)丟棄ViT 用于圖像分類的分支并添加隨機(jī)初始化的標(biāo)簽檢測分支,避免圖像與標(biāo)簽先驗(yàn)信息的偏置計算,而且使用DETR 的二分匹配損失替換分類損失,不斷調(diào)整整體網(wǎng)絡(luò)權(quán)重.此外,YOLOS 僅需對ViT結(jié)構(gòu)進(jìn)行微調(diào),即可成功遷移到極具挑戰(zhàn)性的COCO 目標(biāo)檢測任務(wù)中,進(jìn)一步揭示Transformer在目標(biāo)檢測的有效性,然而檢測性能有待進(jìn)一步提升.在YOLOS 的基礎(chǔ)上,ViDT (Vision and detection Transformer)[49]引入了一個重配置的注意力模塊RAM,將基于層級和滑窗的Transformer骨干網(wǎng)絡(luò)擴(kuò)展為一個獨(dú)立的目標(biāo)檢測器,其次采用輕量級的無編碼器檢測頸(Neck)架構(gòu)來減少計算開銷,在不增加計算負(fù)載的情況下輕量化模型并提高檢測性能.除上述方法外,Li 等[50]首次提出全新的去噪訓(xùn)練方法(Denoising DETR,DN-DETR)來解決DETR 二分圖匹配不穩(wěn)定的問題.該方法給解碼器的嵌入向量加入噪聲并作為標(biāo)簽,并在訓(xùn)練時通過去噪模塊來訓(xùn)練含噪聲的預(yù)測數(shù)據(jù),在預(yù)測階段丟棄去噪模塊,在不改變模型結(jié)構(gòu)的前提下,模型收斂速度翻倍并顯著提升檢測精度.
從表5 中可以看出,模型浮點(diǎn)計算量(Floating point operations,FLOPs)等參數(shù)能反映模型整體復(fù)雜度,基于Transformer 的目標(biāo)檢測網(wǎng)絡(luò)能夠?qū)ⅰ熬幋a器-解碼器”結(jié)構(gòu)作為部分網(wǎng)絡(luò)結(jié)構(gòu)或整體檢測網(wǎng)絡(luò)來實(shí)現(xiàn)目標(biāo)檢測,并且能夠通過注意力機(jī)制模塊來降低編碼器和解碼器結(jié)構(gòu)復(fù)雜度,通過修改二分匹配損失的結(jié)構(gòu)來解決損失穩(wěn)定性較差的問題,此外還能夠提高特征匹配程度來解決模型收斂速度慢的問題.然而現(xiàn)在常用多尺度特征、高分辨率特征圖來提高小目標(biāo)檢測精度,而基于Transformer 的檢測方法大幅增加計算量和空間復(fù)雜度,難以處理高分辨率圖像的特征,在小目標(biāo)上的檢測精度需進(jìn)一步提高.
表5 基于Transformer 的無錨框目標(biāo)檢測算法在COCO 數(shù)據(jù)集上的性能及優(yōu)缺點(diǎn)對比Table 5 Comparison of the Transformer based anchor-free object detection methods on the COCO dataset
基于錨框的目標(biāo)檢測方法能夠通過錨框枚舉得到定位較精準(zhǔn)的預(yù)測框,而基于無錨框的方法能利用目標(biāo)特征點(diǎn)來直接對目標(biāo)位置進(jìn)行預(yù)測,減少相關(guān)超參數(shù)調(diào)節(jié)過程,降低模型參數(shù)量和計算量.因此合理融合有錨框和無錨框的目標(biāo)檢測方法有助于提高檢測精度和檢測效率,有效提高目標(biāo)檢測的性能.
針對有錨框方法因預(yù)設(shè)錨框?qū)捀弑取⒊叽鐭o法精準(zhǔn)匹配寬高比較大、尺度變化較大的目標(biāo)的問題,Wang 等[51]受啟發(fā)于UnitBox[30]檢測大尺度范圍目標(biāo)的思想,集成有錨框和無錨框檢測方法并構(gòu)成檢測各類人臉的SFace 網(wǎng)絡(luò).該網(wǎng)絡(luò)使用有錨框預(yù)測分支來充分利用目標(biāo)的預(yù)定義信息,精準(zhǔn)定位常規(guī)尺度目標(biāo),并在金字塔底端引出一個無錨框檢測分支,用于處理大尺度變化的人臉.此外提出基于IoU回歸的重打分機(jī)制來標(biāo)識分類結(jié)果,以更好地聯(lián)合兩個分支的分類和回歸策略,實(shí)現(xiàn)兩個分支的有效互補(bǔ).然而SFace 方法僅用單特征層來檢測多尺度目標(biāo),無法針對目標(biāo)尺寸選擇最合適的特征層.因此Zhu 等[52]在RetinaNet[53]網(wǎng)絡(luò)的基礎(chǔ)上加入無錨框特征選擇模塊(Feature selective anchor-free,FSAF),該模塊在每一層特征金字塔上引出一個無錨框分支對實(shí)例進(jìn)行編碼,以獲取用于分類和回歸的參數(shù),在訓(xùn)練過程中動態(tài)調(diào)整金字塔網(wǎng)絡(luò)的不同感受野和目標(biāo)空間信息,并為目標(biāo)選擇合適的特征層尺寸來提取特征,改善特征選擇不準(zhǔn)確、像素點(diǎn)采樣重疊的問題.為了進(jìn)一步優(yōu)化特征選擇,Zhu 等[54]又提出加權(quán)錨點(diǎn)目標(biāo)檢測算法(Soft anchor-point object detection,SAPD),在FSAF 基礎(chǔ)上加入與FCOS 的中心置信度相似的錨點(diǎn)權(quán)重注意力機(jī)制,對每個錨點(diǎn)賦予不同的損失權(quán)重因子,降低目標(biāo)邊緣點(diǎn)的權(quán)重值,使網(wǎng)絡(luò)更加關(guān)注代表性強(qiáng)的目標(biāo)中心區(qū)域.此外,SAPD 利用特征金字塔選擇模塊和聯(lián)合訓(xùn)練策略,對不同級別特征層的每個特征進(jìn)行預(yù)測并分配不同權(quán)重,尋找目標(biāo)的最優(yōu)特征層并選擇出最具代表性的目標(biāo)特征,在不影響預(yù)測速度的情況下提高檢測精度.然而SAPD 的有錨框和無錨框分支仍相互獨(dú)立,未能實(shí)現(xiàn)真正融合.
由于有錨框的目標(biāo)檢測方法需預(yù)設(shè)置錨框、手動調(diào)整樣本超參數(shù)等策略來進(jìn)行標(biāo)簽分配,為實(shí)現(xiàn)標(biāo)簽自動化分配、探索標(biāo)簽分配問題對檢測網(wǎng)絡(luò)的影響,涌現(xiàn)了大量相關(guān)新方法,圖7 表示基于優(yōu)化標(biāo)簽分配各算法的關(guān)系.
圖7 基于優(yōu)化標(biāo)簽分配算法的關(guān)系Fig.7 The relationship between label assignment optimization algorithms
FreeAnchor[55]在RetinaNet 的基礎(chǔ)上,將檢測器的訓(xùn)練過程定義成一個極大似然估計問題,通過構(gòu)建損失函數(shù)以實(shí)現(xiàn)自適應(yīng)錨框設(shè)置過程,使網(wǎng)絡(luò)能夠自主學(xué)習(xí)與目標(biāo)相匹配的錨框.Zhang 等[56]通過對比有錨框檢測算法RetinaNet[54]和無錨框檢測算法FCOS[57]發(fā)現(xiàn),RetinaNet 借助IoU 閾值來劃分正負(fù)樣本,FCOS 則利用目標(biāo)中心區(qū)域和目標(biāo)尺度選擇正負(fù)樣本,它們的本質(zhì)區(qū)別在于正負(fù)訓(xùn)練樣本的選擇方式不同.因此Zhang 等[56]提出一種自適應(yīng)的訓(xùn)練樣本選擇方法(Adaptive training sample selection,ATSS),根據(jù)目標(biāo)的統(tǒng)計特性自動選擇正負(fù)訓(xùn)練樣本,縮小兩類檢測算法之間的性能差異,在不增加額外開銷的情況下,大幅提高檢測性能.但是FreeAnchor和ATSS 本質(zhì)上仍是通過中心先驗(yàn)、IoU、空間和尺度約束來進(jìn)行標(biāo)簽分配,無法避免大量超參數(shù)的手動調(diào)整,未完全實(shí)現(xiàn)樣本的自適應(yīng)選擇.為了實(shí)現(xiàn)無需參數(shù)調(diào)節(jié)的自適應(yīng)標(biāo)簽分配,Zhu 等[57]在FCOS 的基礎(chǔ)上首次提出了一種基于可微樣本分配策略的目標(biāo)檢測算法AutoAssign.該網(wǎng)絡(luò)使用一個中心加權(quán)模塊來調(diào)整特定類別的先驗(yàn)分布,適應(yīng)不同類別目標(biāo)的外觀和尺度分布,利用一個置信度加權(quán)模塊,動態(tài)地對目標(biāo)在空間和尺度上的位置進(jìn)行權(quán)重映射,改進(jìn)樣本分配來優(yōu)化重疊目標(biāo)共用邊界類別模糊的情況,完成端到端的動態(tài)樣本分配,能夠在無任何參數(shù)修改的情況下擴(kuò)展到其他數(shù)據(jù)集和檢測任務(wù)上,但樣本分配策略的權(quán)重機(jī)制較復(fù)雜.
除上述方法外,Duan 等[58]又發(fā)現(xiàn)目標(biāo)檢測、實(shí)例分割和姿態(tài)估計都能視為位置敏感的計算機(jī)視覺任務(wù),并研究出統(tǒng)一的位置敏感網(wǎng)絡(luò)(Location sensitive network,LSNet)來實(shí)現(xiàn)3 類視覺識別任務(wù).該網(wǎng)絡(luò)使用ATSS 的正負(fù)樣本采樣策略,額外將可變形卷積的偏移量等比例映射至相鄰的特征金字塔網(wǎng)絡(luò)(Feature pyramid network,FPN),利用多層金字塔特征融合方法充分提取預(yù)測點(diǎn)的標(biāo)志性特征信息,并且在CenterNet 的中心點(diǎn)樣本選擇策略基礎(chǔ)上,額外添加指向極值點(diǎn)的4 個向量來確定預(yù)測框的位置,有效獲取極值點(diǎn)包含的目標(biāo)語義信息并提升獲取顯著性特征的能力.此外,LSNet 使用新的Cross-IoU 損失LCIoU(如式(4)所示)來替換CenterNet 的損失函數(shù),將二維IoU 損失壓縮到一維,從垂直和水平方向分解預(yù)測框與真實(shí)框計算向量的重合程度,細(xì)化預(yù)測框定位步驟,整體網(wǎng)絡(luò)實(shí)現(xiàn)了精度和速度的同步提升.Li 等[59]針對上述FCOS、AutoAssign 等標(biāo)簽分配方法的正負(fù)樣本權(quán)重相關(guān)性高、無法有效賦予樣本權(quán)重等問題,提出基于雙權(quán)重加權(quán)的標(biāo)簽分配方法(Dual weighting,DW).該網(wǎng)絡(luò)使用分類和回歸置信度的一致性來動態(tài)賦予正樣本權(quán)重,使用負(fù)樣本的概率和重要程度來調(diào)整負(fù)樣本權(quán)重,有效過濾位置偏移量大的預(yù)測框,篩選出分類置信度高和位置精準(zhǔn)的預(yù)測框,此外還提出預(yù)測框細(xì)化模塊,通過聚合預(yù)測框中心以及4 個邊界點(diǎn)來精確預(yù)測框位置,整體性能得到大幅提升.
Cross-IoU 損失計算如下:
其中,vpx,vpy為預(yù)測框向量的x分向量和y分向量,vgx,vgy為真實(shí)框向量的x分向量和y分向量.
表6 根據(jù)分析對比有錨框和無錨框相結(jié)合的各檢測方法,說明現(xiàn)有的標(biāo)簽分配策略使用錨框或者中心點(diǎn)預(yù)測等方式,為了讓檢測方法對多類型數(shù)據(jù)分布的適配性更好,標(biāo)簽分配策略使用多維度標(biāo)簽分配等策略,緩解正負(fù)樣本不均衡的問題.ATSS也說明無錨框和有錨框方法的不同之處在于正負(fù)樣本的選擇方式不同,有錨框分支能夠在無錨框檢測方法中提高預(yù)測框定位精度,無錨框方法能夠用中心點(diǎn)替代錨框預(yù)設(shè)過程,增加正樣本所占比例,兩類方法能夠相互促進(jìn),共同實(shí)現(xiàn)檢測精度和速度的同步提升.然而由于理想的標(biāo)簽分配策略需為連續(xù)的計算過程,上述大部分模型使用離散化的IoU 閾值來劃分正負(fù)樣本,因此如何設(shè)計連續(xù)的自適應(yīng)標(biāo)簽分配方案是待解決的研究問題.
表6 基于錨框和無錨框融合的目標(biāo)檢測算法在COCO 數(shù)據(jù)集上的性能及優(yōu)缺點(diǎn)對比Table 6 Comparison of the anchor-based and anchor-free fusion object detection methods on the COCO dataset
根據(jù)上述對比和分析,基于關(guān)鍵點(diǎn)組合的方法利用角點(diǎn)、極值點(diǎn)和中心點(diǎn)等來作為關(guān)鍵點(diǎn),以獲得充足的目標(biāo)內(nèi)部信息和邊緣信息,不斷修正目標(biāo)定位機(jī)制以校準(zhǔn)最終預(yù)測框,提高整體檢測精度和檢測效率.基于中心點(diǎn)回歸的方法不使用多關(guān)鍵點(diǎn)組合,直接獲取目標(biāo)的特征中心點(diǎn)并以此判斷中心點(diǎn)類別,減少了因類別誤判產(chǎn)生的預(yù)測框數(shù)量和多關(guān)鍵點(diǎn)匹配產(chǎn)生的計算復(fù)雜度.此外近期發(fā)展迅速的基于Transformer 目標(biāo)檢測方法,將文本檢測的結(jié)構(gòu)擴(kuò)展到目標(biāo)檢測領(lǐng)域,通過優(yōu)化樣本標(biāo)簽方法,修正Transformer 的“編碼器-解碼器”結(jié)構(gòu),聚焦于目標(biāo)的局部信息,極大程度上簡化模型設(shè)計復(fù)雜度,且有望在未來進(jìn)一步提出目標(biāo)檢測新范式.除了上述方法外,融合無錨框和有錨框的目標(biāo)檢測方法充分利用有錨框的定位分支,并引申出一系列改進(jìn)標(biāo)簽分配的方法,不僅緩解正負(fù)樣本不均衡的問題,而且有效提高目標(biāo)檢測的性能.
總而言之,基于無錨框的目標(biāo)檢測方法在不斷發(fā)展的過程中,去除錨框的預(yù)設(shè)以及相關(guān)計算過程,降低了模型復(fù)雜度,逐步優(yōu)化了模型誤檢、漏檢等問題,使得目標(biāo)檢測更加簡單、快速.此外,基于無錨框的目標(biāo)檢測方法在目標(biāo)密集、目標(biāo)尺寸小和目標(biāo)角度多變等復(fù)雜場景下也得到了廣泛應(yīng)用,并逐漸在自動駕駛、工業(yè)自動化和衛(wèi)星遙感圖像目標(biāo)檢測等領(lǐng)域占據(jù)重要地位[60].
目前基于深度學(xué)習(xí)的目標(biāo)檢測算法在普通場景下已經(jīng)達(dá)到較為理想的檢測效果,但在目標(biāo)重疊、目標(biāo)過小、目標(biāo)旋轉(zhuǎn)等復(fù)雜場景下的檢測任務(wù)仍有較大的挑戰(zhàn)性[61-63].本節(jié)針對復(fù)雜場景下存在的各種問題,從重疊目標(biāo)、小目標(biāo)、旋轉(zhuǎn)目標(biāo)等3 個方面介紹無錨框目標(biāo)檢測方法在不同問題上的模型設(shè)計,并分析各方法之間的優(yōu)勢與不足.
重疊目標(biāo)是指包含共用的像素點(diǎn)表示目標(biāo)信息的相鄰目標(biāo),重疊目標(biāo)檢測在復(fù)雜場景下的應(yīng)用十分廣泛,然而因目標(biāo)間的相互遮擋,導(dǎo)致目標(biāo)部分信息的缺失,因此出現(xiàn)目標(biāo)重復(fù)檢測、漏檢等問題(如圖8(a)和圖8(b)所示).
圖8 重疊目標(biāo)檢測問題Fig.8 The detection problems of overlapping object
現(xiàn)有的目標(biāo)檢測算法為了更有效地篩除冗余預(yù)測框,常用Soft-NMS[64]、Adaptive-NMS[65]和R2NMS[66]的柔和篩選與密集程度判斷等方法來篩選密集排列預(yù)測框,然而計算成本有所增加.此外,Aggregation Loss[67]、Rep-GIoU Loss[68]和NMS Loss[69]等算法通過修正損失,擬合密集排列場景的目標(biāo)形狀和位置.但此類方法對高置信度預(yù)測框的作用不明顯,無法充分利用低質(zhì)量預(yù)測框的特征信息.本節(jié)針對重疊目標(biāo)檢測的問題,闡述各算法在不同場景下目標(biāo)檢測方法的模型架構(gòu)、檢測性能和優(yōu)缺點(diǎn),最后對算法進(jìn)行縱向?qū)Ρ确治雠c總結(jié).
密集行人是重疊目標(biāo)檢測場景的典型應(yīng)用,中心和尺度預(yù)測算法(Center and scale prediction,CSP)[70]作為重疊目標(biāo)檢測的先驅(qū),對行人的位置和尺寸進(jìn)行分解,將目標(biāo)檢測簡化為預(yù)測目標(biāo)的中心點(diǎn)和尺度等高級語義特征信息的任務(wù).通過堆疊的卷積模塊預(yù)測兩個映射圖,其中一個映射圖利用熱力圖獲得預(yù)測框的中心位置和對應(yīng)預(yù)測框的置信度,另一個映射圖利用尺度變化預(yù)測對應(yīng)預(yù)測框的尺寸,兩個映射圖共同作用得到最終預(yù)測框的位置及類別,在密集人群檢測數(shù)據(jù)集上獲得良好的檢測效果.缺點(diǎn)是中心點(diǎn)無法充分利用特征與預(yù)測框之間的關(guān)聯(lián)性,從而導(dǎo)致多個重疊目標(biāo)的漏檢問題.針對行人檢測任務(wù)中的重疊目標(biāo)漏檢問題,特征對齊行人搜索網(wǎng)絡(luò)(Feature aligned person search network,AlignPS)[71]考慮行人重識別特征優(yōu)先的原則,利用可變形卷積將采樣點(diǎn)聚焦于行人內(nèi)部,重點(diǎn)關(guān)注ReID 特征的學(xué)習(xí),使用一個特征對齊和融合模塊,解決特征學(xué)習(xí)中區(qū)域和尺度不對齊的問題,在重疊排放目標(biāo)中獲得良好的檢測效果.除此之外,Cao 等[72]提出一個新型Transformer 的行人搜索網(wǎng)絡(luò)(Transformer-based person search,PSTR),通過引入特定行人搜索模塊(Person search-specialized,PSS),并使用具有多級監(jiān)督方案的結(jié)構(gòu)共享解碼器,提高重識別特征的可判別性,并額外引入包含顯著性特征重識別解碼器的注意力模塊,尋找各特征間的關(guān)聯(lián)性.綜上,PSTR 作為首個端到端的單步Transformer 行人搜索網(wǎng)絡(luò),使用多尺度解碼器來精準(zhǔn)實(shí)現(xiàn)行人多尺度特征匹配,大幅提高行人檢測精度.
除了密集行人的檢測方法得到不斷發(fā)展之外,解決目標(biāo)重疊排列的通用方法也得到飛速發(fā)展.如第1.2 節(jié)中所提及的FCOS[33]能直接回歸出當(dāng)前像素點(diǎn)所指向目標(biāo)的類別和最小預(yù)測框,優(yōu)化目標(biāo)中心區(qū)域和目標(biāo)樣本的標(biāo)簽分配方法,極大緩解了重疊目標(biāo)的類別模糊問題.在此基礎(chǔ)上,一系列優(yōu)化特征提取和表達(dá)能力的方法獲得啟發(fā).其中,FCOS v2[73]替換FCOS 的部分網(wǎng)絡(luò)結(jié)構(gòu).該網(wǎng)絡(luò)將正樣本點(diǎn)的選擇范圍從目標(biāo)內(nèi)部縮小成位于目標(biāo)的中心區(qū)域,使用加權(quán)雙向特征金字塔網(wǎng)絡(luò)(Bidirectional feature pyramid network,BiFPN)替代特征金字塔網(wǎng)絡(luò),獲得信息更豐富的多尺度特征,加入可變形卷積來改變感受野范圍,增強(qiáng)目標(biāo)特征的獲取能力,在分類分支修改中心度的計算方式,更精確回歸出預(yù)測框的位置,修改原有的IoU 損失為廣義IoU (Generalized IoU,GIoU)[74]損失LGIoU(如式(5)所示),用于準(zhǔn)確計算重疊預(yù)測框的位置損失.通過對FCOS 的改進(jìn),FCOS v2 能增強(qiáng)多尺度目標(biāo)特征的選擇和利用,減少同類別目標(biāo)的誤檢問題,在密集目標(biāo)檢測中取得了較好的效果.與此同時,為了提升FCOS 的特征表示能力,Qin 等[75]在FCOS[33]和ATSS[56]架構(gòu)上去除中心度分支,構(gòu)建了一個新的密集目標(biāo)檢測器VarifocalNet,將位置預(yù)測合并到分類損失計算中,通過預(yù)測定位相關(guān)的感知IoU分類得分(IoU-aware classification score,IACS),優(yōu)化檢測結(jié)果的排序過程.此外設(shè)計一種高效星型預(yù)測框的特征表示方法,獲取預(yù)測框的幾何信息和上下文信息,并且充分利用焦點(diǎn)損失的加權(quán)思想,提出變焦損失(Varifocal Loss),通過調(diào)制因子來回歸每張圖上連續(xù)的IoU 關(guān)聯(lián)分類分?jǐn)?shù)IACS,用于均衡正負(fù)樣本權(quán)重和聚焦難分類樣本,從大量預(yù)測框中選擇位置和類別平衡的最優(yōu)預(yù)測框,顯著提升檢測精度.針對FCOS 使用單特征點(diǎn)無法完整表達(dá)重疊目標(biāo)邊界信息的問題,BorderDet[76]通過分析重疊目標(biāo)檢測的特征表達(dá)能力,使用一種邊界對齊(Border align,BA)的特征提取操作,以實(shí)現(xiàn)自適應(yīng)的邊界特征提取.此外,將邊界對齊操作封裝成邊界對齊模塊(Border align module,BAM)并集成到FCOS 網(wǎng)絡(luò)中,以高效的邊界特征提取策略來提高重疊目標(biāo)檢測精度.
GIoU 損失計算如下:
其中,B為預(yù)測框,Bgt為真實(shí)框,C為包含預(yù)測框和真實(shí)框的最小方框,|C/(Bgt∪B)|為最小方框C的面積減真實(shí)框Bgt和預(yù)測框B相與的面積.
在樣本標(biāo)簽分配方面,第1.4 節(jié)所提及的ATSS[56]、AutoAssign[57]等方法雖然能夠動態(tài)地選擇正負(fù)樣本,調(diào)整目標(biāo)預(yù)測框的相對位置,但未考慮目標(biāo)尺寸、形狀或邊界遮擋的情況.因此,Cheng 等[77]提出一種弱監(jiān)督多模式注釋分割模型(Weakly supervised multimodal annotation segmentation,WSMA-Seg),去除NMS 操作以及相關(guān)超參數(shù),利用多模式分段注釋的拓?fù)浣Y(jié)構(gòu)提取每個目標(biāo)的輪廓,使用多尺度池化分割MSP-Seg 提高多尺度目標(biāo)的邊緣提取,用靜態(tài)樣本分配策略來有效提高嚴(yán)重遮擋目標(biāo)的檢測精度.然而上述方法需手動設(shè)置層和層內(nèi)部空間的各種參數(shù)和結(jié)構(gòu),無法動態(tài)地選擇正負(fù)樣本,因此會導(dǎo)致正負(fù)樣本不均衡的問題.在靜態(tài)和動態(tài)樣本分配方法的基礎(chǔ)上,為了尋找全局最優(yōu)的樣本分配方法,Ge 等[78]丟棄了為每一個目標(biāo)對象單獨(dú)尋求最優(yōu)分配的方法,提出基于最優(yōu)傳輸理論的目標(biāo)檢測樣本匹配策略(Optimal transport assignment,OTA),利用全局信息來尋找全局最佳樣本分配結(jié)果,為圖像中的所有目標(biāo)尋找全局置信度高的樣本分配方式,應(yīng)用于FCOS 方法且取得了良好的檢測效果.在此基礎(chǔ)上,Ge 等[79]又提出基于損失感知的樣本分配策略(Loss-aware label assignment,LLA),通過聯(lián)合計算分類和回歸損失,解決錨點(diǎn)和對應(yīng)真實(shí)框樣本分配不一致的問題,提高人群場景中行人檢測的性能,并且通過實(shí)驗(yàn)證明了這種簡單的樣本分配策略能大幅提升FCOS的檢測精度.除此之外,Zhang 等[80]將FreeAnchor擴(kuò)展為LTM (Learning-to-match)檢測算法,該網(wǎng)絡(luò)將目標(biāo)與特征的匹配定義為極大似然估計問題,并將極大似然概率轉(zhuǎn)換為損失函數(shù),使手動設(shè)計的錨點(diǎn)轉(zhuǎn)變?yōu)樽詣犹卣鬟x擇,解決目標(biāo)遮擋或特征中心不對齊時,預(yù)測框和真實(shí)框間的IoU 難以度量目標(biāo)與特征匹配的問題.LTM 不僅在COCO 數(shù)據(jù)集上獲得良好的檢測效果,而且大幅提升密集、重疊目標(biāo)的檢測性能.
除了上述方法外,前文所描述的Transformer檢測算法DETR[41]、Deformable DETR[44]等也能夠通過層疊的解碼器級聯(lián)結(jié)構(gòu)在一定程度上提高重疊目標(biāo)的特征匹配程度.為了進(jìn)一步提高密集場景中各類目標(biāo)的檢測性能、簡化整體結(jié)構(gòu),Yao 等[81]在DETR 基礎(chǔ)上提出了一種簡單有效的端到端檢測算法Efficient DETR.該算法利用密集先驗(yàn)知識初始化檢測網(wǎng)絡(luò),降低解碼器層數(shù)較少造成的性能抑制,同時共享一個檢測頭來簡化結(jié)構(gòu),僅用3 個編碼器和1 個解碼器就達(dá)到較高的檢測精度并提高收斂速度,優(yōu)于Deformable DETR 等算法的密集目標(biāo)檢測效果.此外,Yu 等[82]提出了用于端到端行人搜索的級聯(lián)閉塞注意變換檢測算法(Co-scale convattentional image Transformers,COAT),使用三段級聯(lián)設(shè)計來檢測和提升目標(biāo)的檢測性能,實(shí)現(xiàn)每個階段注意力結(jié)構(gòu)的緊密特征交叉效果,使網(wǎng)絡(luò)從粗到細(xì)地學(xué)習(xí)目標(biāo)特征,更清晰地區(qū)分目標(biāo)和背景特征,并通過實(shí)驗(yàn)?zāi)M目標(biāo)遮擋的效果,驗(yàn)證該方法的先進(jìn)性.在同一時期,Zheng 等[83]在Deformable DETR 基礎(chǔ)上,提出一種適用于密集場景的漸進(jìn)式端到端目標(biāo)檢測器.通過選擇低置信度檢測點(diǎn)進(jìn)行后續(xù)的漸進(jìn)式優(yōu)化,設(shè)計關(guān)聯(lián)信息提取模塊,尋找低質(zhì)量預(yù)測點(diǎn)與附近高置信度像素點(diǎn)的相關(guān)性,此外通過局部自注意力機(jī)制構(gòu)建隊列更新模塊,尋找相鄰像素點(diǎn)的空間關(guān)聯(lián)性,并使用一對一的標(biāo)簽分配策略,解決Transformer 在重疊目標(biāo)場景下的重復(fù)檢測問題.
表7和表8 說明各通用密集目標(biāo)檢測方法分別從加強(qiáng)邊緣特征信息、對齊區(qū)域和特征、優(yōu)化正負(fù)樣本分配和優(yōu)化Transformer 等方面,改變目標(biāo)位置的獲取方式,提取并強(qiáng)化目標(biāo)的語義信息,優(yōu)化共用像素點(diǎn)的分類方法,充分聚焦局部特征信息與整體信息的聯(lián)系,精準(zhǔn)定位各類別密集排列的目標(biāo),有效提高重疊目標(biāo)的檢測性能.綜上所述,重疊目標(biāo)因共用邊界導(dǎo)致的類別模糊、漏檢和誤檢等,可以從尋找多尺度特征間關(guān)聯(lián)、加強(qiáng)特征重識別等角度解決密集行人的重復(fù)檢測等問題.現(xiàn)已有大量重疊目標(biāo)檢測方法并取得了豐碩的成果,但是在訓(xùn)練數(shù)據(jù)有限的情況下,考慮到遮擋問題的復(fù)雜性,未來可以從半監(jiān)督、無監(jiān)督的學(xué)習(xí)方式,利用對抗神經(jīng)網(wǎng)絡(luò)擴(kuò)充數(shù)據(jù)集,優(yōu)化Transformer 的注意力機(jī)制等方面著手,進(jìn)一步優(yōu)化通用場景下的重疊目標(biāo)檢測性能.
表7 解決目標(biāo)重疊排列問題的不同檢測方法的性能對比Table 7 Performance comparison of detection methods to solve the problem that objects are densely arranged
表8 解決目標(biāo)重疊排列問題的不同檢測方法優(yōu)缺點(diǎn)對比Table 8 Feature comparison of detection methods to solve the problem that objects are densely arranged
小目標(biāo)是圖像中尺寸小于32×32 像素或尺寸占比小于0.12%的目標(biāo)(如圖9 所示).小目標(biāo)像素點(diǎn)占比少、覆蓋面積小、可視化特征信息極少,因此難以將小目標(biāo)與背景、相似目標(biāo)區(qū)域進(jìn)行區(qū)分.雖然已有CoupleNet[84]、NETnet[85]和AF R-CNN[86]等算法聚焦目標(biāo)的主要特征、不斷增強(qiáng)并充分利用目標(biāo)特征信息,以此來提高小目標(biāo)檢測的性能.然而,真實(shí)場景通常會存在光照劇烈變化、目標(biāo)遮擋、目標(biāo)稠密相連和目標(biāo)尺度不一等錯綜復(fù)雜的變化情況,這些因素進(jìn)一步增大了小目標(biāo)檢測的難度,因此檢測任務(wù)在小目標(biāo)場景下仍然充滿挑戰(zhàn).此外在實(shí)際應(yīng)用中,精確地從人群中檢測出犯罪嫌疑人,能夠有助于案件的偵破;在自動駕駛中準(zhǔn)確檢測出行人或障礙物,能夠減少交通事故的發(fā)生;在海洋安全中精確檢測出尺寸小的船舶,有助于尋找非法漁船、禁止非法入侵,因此小目標(biāo)檢測具有廣泛的實(shí)際應(yīng)用價值和重要的研究意義.本節(jié)主要聚焦無錨框的小目標(biāo)檢測方法,從增強(qiáng)特征選擇和利用樣本標(biāo)簽分配來進(jìn)一步提高復(fù)雜背景下小目標(biāo)檢測的性能.
為了給不同尺度的特征圖選擇最豐富的小目標(biāo)特征,Samet 等[87]提出一種基于預(yù)測池化的檢測算法(Prediction pooling detection network,PPDet).該網(wǎng)絡(luò)使用一種新的樣本分配策略來匯總各個特征的預(yù)測值,減少訓(xùn)練過程中非判別性特征的影響,并且遵循尺度分配策略來預(yù)測類別概率矢量和邊界框坐標(biāo),自動降低訓(xùn)練過程中非目標(biāo)區(qū)域特征和非判別性目標(biāo)特征的貢獻(xiàn),減少目標(biāo)上非判別性特征、預(yù)測框內(nèi)背景特征、遮擋物的標(biāo)簽噪音.在樣本標(biāo)簽分配方面,第1.3 節(jié)的Deformable DETR[44]也使用可變形注意力機(jī)制替代基于Transformer 的注意力機(jī)制,進(jìn)一步關(guān)注稀疏空間的小目標(biāo)位置,提升小目標(biāo)檢測精度.He 等[88]為了提高船艦小目標(biāo)的檢測性能,提出了自適應(yīng)特征編碼策略(Adaptive feature encoding strategy,AFE),逐步將深層語義特征融合到淺特征層,實(shí)現(xiàn)自適應(yīng)的空間權(quán)重信息融合,以此來自適應(yīng)地增強(qiáng)小目標(biāo)信息的表達(dá)能力.此外,針對樣本分配不均衡的問題,根據(jù)軟采樣的思想和FCOS 整體架構(gòu)來構(gòu)造高斯引導(dǎo)檢測頭,進(jìn)一步優(yōu)化目標(biāo)定位準(zhǔn)確度,在小目標(biāo)船艦數(shù)據(jù)集中獲得良好的檢測性能.
在增強(qiáng)小目標(biāo)有效特征信息獲取能力的基礎(chǔ)上,為了加強(qiáng)小目標(biāo)特征的表達(dá)能力,Yang 等[89]提出一種新的用于表征目標(biāo)特征的點(diǎn)集(Representative points,RepPoints).該方法通過自上而下的方式自適應(yīng)學(xué)習(xí)特征圖的極值點(diǎn)和關(guān)鍵語義信息,并構(gòu)建基于RepPoints 的目標(biāo)檢測算法RPDet,減少背景內(nèi)容或前景區(qū)域無效信息,使特征包含更豐富的形狀和姿態(tài)等目標(biāo)語義信息,提高小目標(biāo)的定位精準(zhǔn)度,但仍過度依賴回歸分支.為了更進(jìn)一步減少誤檢的概率,RepPoints v2[90]在RepPoints 的基礎(chǔ)上融合回歸和輔助分支來對驗(yàn)證任務(wù)建模,增加角點(diǎn)驗(yàn)證分支來判斷當(dāng)前像素點(diǎn)為角點(diǎn)的概率,同時借助高斯分布平滑正負(fù)樣本的分布曲線;利用多任務(wù)學(xué)習(xí)、驗(yàn)證模塊判斷特征映射點(diǎn)是否位于目標(biāo)對象框內(nèi),進(jìn)一步提升小目標(biāo)檢測性能.RepPoints及其改進(jìn)方法,利用點(diǎn)集替代邊界框(如圖10 所示),改變特征的采樣和選擇、重分配分類分支的像素點(diǎn)權(quán)重,能獲得更具目標(biāo)內(nèi)部和邊緣信息的特征,此類方法適合特征不充足的小目標(biāo)檢測,還能應(yīng)用于其他計算機(jī)視覺任務(wù).針對空中目標(biāo)環(huán)境復(fù)雜且目標(biāo)擺放角度多樣的問題,Li 等[91]提出一種基于自適應(yīng)學(xué)習(xí)樣本點(diǎn)的方法Oriented RepPoints.該算法在RepPoints 的基礎(chǔ)上,提出極值函數(shù)、局部極值函數(shù)和基于矩的函數(shù)來替換原有損失,以用于捕獲任意方向目標(biāo)的幾何信息、方便準(zhǔn)確地定向定位和分類小目標(biāo).針對RepPoints 的關(guān)鍵點(diǎn)定位不準(zhǔn)確的問題,提出一種質(zhì)量評估和樣本分配方法(Adaptive points assessment and assignment,APAA),用于在訓(xùn)練期間選擇具有代表性的定向正樣本點(diǎn).該方法引入空間約束來懲罰非特征點(diǎn),提升相鄰對象或背景噪聲中非軸對齊目標(biāo)特征的捕獲能力,在空域小目標(biāo)、旋轉(zhuǎn)目標(biāo)等場景下有較好的檢測效果.
為了充分利用和融合小目標(biāo)的淺層位置信息和深層語義信息,DuBox[92]使用具有多尺度特性的雙尺度殘差單元,加入先驗(yàn)框來提高模型處理尺度不變性特征的能力,優(yōu)化小目標(biāo)預(yù)測框的定位準(zhǔn)確度,擴(kuò)大邊界框中心點(diǎn)正樣本范圍,減少小目標(biāo)邊緣信息的漏檢.此外,FoveaBox 算法[93]聯(lián)合預(yù)測目標(biāo)中心區(qū)域的位置以及預(yù)測框的有效位置,在多層特征圖上檢測不同尺度目標(biāo)的特征,直接學(xué)習(xí)分類目標(biāo)類別并回歸出目標(biāo)的位置,模型具備良好的魯棒性和泛化能力,大幅提高小目標(biāo)檢測精度.為了拓寬尺度多樣性、降低背景與目標(biāo)的強(qiáng)關(guān)聯(lián)性,Fu 等[94]提出了一種新的特征均衡與精煉的檢測方法(Feature balancing and refinement network,FBRNet),直接學(xué)習(xí)編碼后的邊界框,解決船舶排列稀疏的漏檢問題,并使用基于多尺度的注意力機(jī)制來平衡不同層次的小目標(biāo)語義信息,實(shí)現(xiàn)特征平衡與網(wǎng)絡(luò)細(xì)化.FBR-Net 整體網(wǎng)絡(luò)優(yōu)化小目標(biāo)尺度多樣性、減少近岸背景與船舶的強(qiáng)關(guān)聯(lián)性,顯著提升小目標(biāo)的檢測精度.為了無需提高圖像分辨率且實(shí)現(xiàn)快速有效的小目標(biāo)檢測,Yang 等[95]提出一種基于級聯(lián)稀疏查詢機(jī)制(Cascading sparse query mechanism,CSQ)的檢測網(wǎng)絡(luò)QueryDet.該網(wǎng)絡(luò)利用特征金字塔的特征查詢來加快目標(biāo)檢測網(wǎng)絡(luò)的預(yù)測速度,該網(wǎng)絡(luò)在低分辨率特征圖上預(yù)測小目標(biāo)的粗略位置,利用稀疏卷積來獲取高分辨率特征,用粗調(diào)聯(lián)合精調(diào)的方式進(jìn)行動態(tài)預(yù)測,減少淺層檢測頭的計算開銷并提高小目標(biāo)的位置精確度.
綜上所述,從樣本標(biāo)簽分配、特征注意力機(jī)制和特征重要程度等方法中能充分利用目標(biāo)相關(guān)的特征信息,解決小目標(biāo)因各類正負(fù)樣本比例極不平衡、類間不平衡導(dǎo)致的特征學(xué)習(xí)困難等問題.通過表9和表10 分析各算法的檢測性能可知,多尺度特征融合方法同時考慮了淺層的表征信息和深層的語義信息,提高小目標(biāo)的特征提取能力,利用稀疏查詢機(jī)制進(jìn)一步緩解因特征圖分辨率下降導(dǎo)致的小目標(biāo)采樣丟失、定位不準(zhǔn)確和復(fù)雜背景誤報等問題,減少計算開銷,大幅提升小目標(biāo)的檢測效果.雖然已有的無錨框小目標(biāo)檢測方法已獲得了良好的檢測性能,但檢測精度和速度與大、中目標(biāo)檢測還有一定差距,并且隨著小目標(biāo)應(yīng)用場景的迅速擴(kuò)張,小目標(biāo)檢測仍值得進(jìn)一步研究.
表9 解決目標(biāo)尺寸過小問題的不同檢測方法性能對比Table 9 Performance comparison of detection methods to solve the problem that object pixels are too few
表10 解決目標(biāo)尺寸過小問題的不同檢測方法優(yōu)缺點(diǎn)對比Table 10 Feature comparison of detection methods to solve the problem that object pixels are too few
由于實(shí)際檢測場景的高復(fù)雜性,目標(biāo)呈現(xiàn)排列密集、排放方向任意的特點(diǎn),僅用水平框檢測目標(biāo)會使每個預(yù)測框內(nèi)包含大量非待測目標(biāo)的像素點(diǎn)和無關(guān)背景信息,導(dǎo)致邊界框的重疊度較高、邊界不連續(xù)和預(yù)測框位置偏移等問題.如艦船目標(biāo)密集排列且旋轉(zhuǎn)角度多樣,使用水平矩形框表示船艦?zāi)繕?biāo)會產(chǎn)生大量重合,具體情況如圖11(a)所示.因此引入旋轉(zhuǎn)矩形框來檢測目標(biāo)(如圖11(b)所示),獲取充足的目標(biāo)特征信息,如目標(biāo)的姿態(tài)等,減少冗余背景信息,且能更準(zhǔn)確地反映目標(biāo)的位置信息,減少相鄰預(yù)測框的重疊.除此之外,在農(nóng)業(yè)病蟲害檢測、交通車輛檢測等任務(wù)中有更強(qiáng)的實(shí)用性.
圖11 多角度目標(biāo)檢測結(jié)果示例Fig.11 The detection result of arbitrary rotation objects
旋轉(zhuǎn)目標(biāo)的預(yù)測框回歸依賴于不同坐標(biāo)系,為了減小目標(biāo)在不同坐標(biāo)系中的參數(shù)量和回歸難度,Yi 等[96]將水平框的目標(biāo)檢測算法擴(kuò)展到旋轉(zhuǎn)目標(biāo)檢測任務(wù)中,提出一個基于邊緣感知向量的目標(biāo)檢測算法(Box boundary-aware vectors,BBAVectors).該方法回歸一個邊緣感知向量來替代原有參數(shù)(寬度w、高度h和旋轉(zhuǎn)角度θ),使所有的回歸參數(shù)均位于同一坐標(biāo)系內(nèi),簡化旋轉(zhuǎn)預(yù)測框的計算復(fù)雜度,且進(jìn)一步將有方向的預(yù)測框分成了水平框和旋轉(zhuǎn)框兩大類,解決目標(biāo)旋轉(zhuǎn)角度較小時預(yù)測框類型難以區(qū)分的問題.另一方面,Zhou 等[97]首次將極坐標(biāo)系應(yīng)用于目標(biāo)檢測任務(wù)中,提出一個基于極坐標(biāo)的檢測算法(Polar remote sensing object detector,P-RSDet).整體網(wǎng)絡(luò)通過回歸一個極半徑和兩個極角來實(shí)現(xiàn)任意方向物體的檢測,此外還構(gòu)建了極坐標(biāo)環(huán)形面積損失函數(shù),避免角度回歸的周期性及多邊形預(yù)測框的頂點(diǎn)排序問題,減少回歸參數(shù)的數(shù)量、簡化檢測模型結(jié)構(gòu).
在第2.2 節(jié)提出的Oriented RepPoints 算法[91]不僅能精確檢測小目標(biāo),該算法的標(biāo)簽分配方案APAA 也能有效提取具有顯著性特征的非軸對齊目標(biāo)信息,提高空域旋轉(zhuǎn)目標(biāo)的檢測精度.在優(yōu)化正負(fù)樣本分配策略方面,Li 等[98]將FCOS 擴(kuò)展為帶有角度旋轉(zhuǎn)的檢測算法(Rotated FCOS,FCOSR).其中使用基于高斯分布的橢圓中心采樣策略,用于定義合適的旋轉(zhuǎn)框正負(fù)樣本選擇區(qū)域,并設(shè)計模糊樣本分配策略,解決FCOS 樣本分配方法在航空場景下忽略模糊樣本的問題,解決相鄰水平框的目標(biāo)區(qū)域重疊問題,額外加入多尺度采樣模塊來解決像素點(diǎn)采樣不充分的問題.在優(yōu)化正樣本選擇的基礎(chǔ)上,增大正樣本比例、有效提高空域目標(biāo)的檢測效果.除此之外,為了解決水平框檢測目標(biāo)所占預(yù)測框整體比例較少的問題,Cheng 等[99]提出基于選擇提議生成器的檢測算法(Anchor-free oriented proposal generator,AOPG).該算法將特征圖映射到圖像上,并將位于真實(shí)框中心區(qū)域的頂點(diǎn)視為正樣本,以此來構(gòu)建新的區(qū)域標(biāo)簽分配模塊,緩解正樣本所占比例少的問題.此外將特征金字塔的每一層特征輸入到粗定位模塊(Coarse location module,CLM)來生成粗定位的旋轉(zhuǎn)預(yù)測框,然后使用對齊卷積來消除特征和旋轉(zhuǎn)框間的不對齊,采用Faster R-CNN 的檢測頭來生成精確定位和分類的高質(zhì)量預(yù)測框,并在多個旋轉(zhuǎn)目標(biāo)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)來驗(yàn)證其有效性.同時,Huang 等[100]提出一種無錨框的目標(biāo)自適應(yīng)標(biāo)簽分配策略(General Gaussian heatmap label assignment,GGHL),用于定義基于二維定向高斯熱力圖的正樣本點(diǎn),從熱力圖中獲取任意方向目標(biāo)的形狀和方向特征.此外,在標(biāo)簽分配策略的基礎(chǔ)上開發(fā)用于定向預(yù)測框的標(biāo)簽分配組件(Oriented bounding box representation component,ORC),通過卷積層自適應(yīng)地調(diào)整高斯中心先驗(yàn)權(quán)重以適應(yīng)不同目標(biāo)的特征,并且設(shè)計具有面積歸一化和動態(tài)置信度加權(quán)的聯(lián)合優(yōu)化損失(Joint optimization loss,JOL),以完善不同分類和回歸子任務(wù)的非對齊優(yōu)化任務(wù),除了提升檢測精度外,檢測速度也得到大幅提升.
為了充分利用旋轉(zhuǎn)目標(biāo)的特征,Wei 等[101]提出逐像素點(diǎn)預(yù)測的旋轉(zhuǎn)目標(biāo)檢測算法(Oriented objects detection network,O2-DNet).該算法將二值化熱力圖中連通區(qū)域中線的交點(diǎn)作為關(guān)鍵點(diǎn),通過回歸映射來預(yù)測兩條相應(yīng)的中線,解決旋轉(zhuǎn)目標(biāo)角度邊界不連續(xù)的問題,且使用感知方向中心度的方法,優(yōu)化正樣本點(diǎn)的加權(quán)方式,引導(dǎo)網(wǎng)絡(luò)從復(fù)雜背景中學(xué)習(xí)可判別性特征.此外,在損失函數(shù)內(nèi)加入中心度損失,更精準(zhǔn)定位目標(biāo)預(yù)測框的位置.在此基礎(chǔ)上,為了獲得更具判別性的方向信息,Wang 等[102]提出一種基于尺度感知的旋轉(zhuǎn)目標(biāo)檢測算法(Scaleaware rotated object detection,SARD).該算法首次使用一種新的特征融合模塊FPSN (Feature pyramid stack network),充分獲取高級語義信息和低級位置信息,以適應(yīng)各類大尺度變化的目標(biāo),同時聯(lián)合IoU 損失LIoU(如式(1)所示)和Smooth L1損失(如式(6)所示)修正回歸分支的權(quán)重參數(shù),提高預(yù)測框的位置判斷準(zhǔn)確度.此外,使用歸一化策略,更精準(zhǔn)地檢測任意方向和密集排列的目標(biāo).在另一方面,Zhang 等[103]提出一個直接預(yù)測像素點(diǎn)邊界框全部參數(shù)的網(wǎng)絡(luò)DARDet (Dense anchor-free rotated object detector),該網(wǎng)絡(luò)設(shè)計了一個高效對齊卷積模塊來提取對齊特征,此外還引入Pixels-IoU (PIoU)損失[104]LPIoU(如式(7)所示)來有效處理邊界不連續(xù)性問題.為了進(jìn)一步改進(jìn)旋轉(zhuǎn)目標(biāo)損失不連續(xù)和小目標(biāo)檢測性能較差的問題,Lang 等[105]提出一種面向?qū)ο蟮臒o錨框檢測網(wǎng)絡(luò)DAFNe (Dense anchor-free network).該網(wǎng)絡(luò)結(jié)合中心點(diǎn)與角點(diǎn)間的間距來聯(lián)合調(diào)整邊界框預(yù)測策略,以提高檢測器的定位精度,并引入一種基于方向感知的邊界框中心度函數(shù),首次將中心度函數(shù)推廣到任意四邊形,以此來充分利用目標(biāo)特征并降低低質(zhì)量預(yù)測框的權(quán)重,進(jìn)一步提高旋轉(zhuǎn)小目標(biāo)的定位精度.
Smooth L1損失[5]的計算如下:
其中,x表示預(yù)測值.
PIoU 損失[104]的計算如下:
其中,b′為旋轉(zhuǎn)預(yù)測框,b為旋轉(zhuǎn)真實(shí)框,Sb∩b′、Sb∪b′分別表示定向預(yù)測框和真實(shí)框的交集和并集,M為正樣本集.
在提高特征的獲取和融合能力后,提高旋轉(zhuǎn)目標(biāo)檢測模型的自適應(yīng)能力成為焦點(diǎn).Pan 等[106]提出一種適應(yīng)定向和密集目標(biāo)任務(wù)的動態(tài)優(yōu)化檢測算法(Dynamic refinement network,DRN),通過自適應(yīng)的特征選擇模塊來自動提取、融合各形狀和方向的有效特征,緩解各類目標(biāo)與軸對齊感受野之間的不匹配問題,同時提出兩種檢測頭來分別動態(tài)優(yōu)化分類和回歸任務(wù),完成對樣本唯一性和特殊性的建模,提高檢測性能的同時增強(qiáng)模型的靈活性.為了進(jìn)一步充分利用目標(biāo)的尺寸和方向等先驗(yàn)信息,Zhang 等[107]提出一種基于中心點(diǎn)提取的檢測算法(Center-head point extraction detector,CHPDet).該算法通過將角度回歸任務(wù)轉(zhuǎn)化為中心點(diǎn)估計任務(wù),解決角度周期性導(dǎo)致的邊界不連續(xù)問題,不僅實(shí)現(xiàn)任意方向的目標(biāo)檢測,而且可判斷目標(biāo)的朝向(如船首和船尾),適應(yīng)多類復(fù)雜場景下的檢測任務(wù).
由表11和表12 可知,上述方法從改變坐標(biāo)表示、修正樣本標(biāo)簽分配方法、充分利用特征信息、提高特征融合效率、充分映射方向不變性特征和修正損失函數(shù)等策略,利用旋轉(zhuǎn)框代替水平框檢測目標(biāo),解決旋轉(zhuǎn)目標(biāo)的特征利用不充分、預(yù)測框和目標(biāo)間的特征不對齊、預(yù)測框位置偏移等問題,在各旋轉(zhuǎn)目標(biāo)檢測數(shù)據(jù)集上定位準(zhǔn)確度高、誤判概率低,檢測效率高.雖然無錨框旋轉(zhuǎn)目標(biāo)檢測方法已經(jīng)獲得良好的檢測性能,然而旋轉(zhuǎn)目標(biāo)損失函數(shù)仍存在不連續(xù)和小尺寸目標(biāo)占比過小的問題.目前現(xiàn)存基于錨框的目標(biāo)檢測方法GWD[108]、KLD[109]、RSDet++[110]等所提出的損失函數(shù)能在保證連續(xù)的基礎(chǔ)上,進(jìn)一步擬合旋轉(zhuǎn)目標(biāo)形狀,并在復(fù)雜目標(biāo)數(shù)據(jù)集中獲得良好的檢測效果,未來可以將此類損失函數(shù)應(yīng)用于基于無錨框的目標(biāo)檢測任務(wù)中.
表11 解決目標(biāo)方向變化問題的不同檢測方法性能對比Table 11 Performance comparison of detection methods to solve the problem that object direction changeable
表12 解決目標(biāo)方向變化問題的不同檢測方法優(yōu)缺點(diǎn)對比Table 12 Feature comparison of detection methods to solve the problem that object direction changeable
本文簡要回顧和介紹了基于錨框的目標(biāo)檢測方法整體流程和問題,系統(tǒng)地對比了現(xiàn)有基于無錨框的目標(biāo)檢測方法,并針對密集目標(biāo)、小目標(biāo)、旋轉(zhuǎn)目標(biāo)的檢測任務(wù),總結(jié)目前的研究現(xiàn)狀.雖然硬件條件不斷完善,但是隨著圖像分辨率的提高,數(shù)據(jù)量逐漸增大,對目標(biāo)檢測也提出新的挑戰(zhàn).例如在實(shí)際應(yīng)用中,目標(biāo)檢測面臨的樣本數(shù)量少、背景復(fù)雜等檢測問題.因此,在后續(xù)的研究中應(yīng)考慮以下幾個研究方向:
1)由于目標(biāo)檢測算法通常依賴于大量高質(zhì)量標(biāo)注的圖像數(shù)據(jù)集,而標(biāo)注過程復(fù)雜且效率較低,現(xiàn)常用樣本生成方法來擴(kuò)充樣本數(shù)量.然而該方法本質(zhì)上是數(shù)據(jù)增強(qiáng)操作,無法從根本上解決數(shù)據(jù)匱乏的問題.因此使用弱監(jiān)督目標(biāo)檢測技術(shù),通過對部分標(biāo)注的數(shù)據(jù)集進(jìn)行小樣本訓(xùn)練,使用生成對抗網(wǎng)絡(luò)來擴(kuò)充數(shù)據(jù)集是后續(xù)的重要研究方向.
2)圖像數(shù)據(jù)在獲取過程中會受到氣候、光照等因素的影響,現(xiàn)已有圖像去霧去噪、多尺度感知等方法來生成清晰且無顏色失真的圖像,但實(shí)際場景下仍會造成圖像細(xì)節(jié)丟失、目標(biāo)邊緣模糊等問題.如何更好地實(shí)現(xiàn)復(fù)雜多變場景下的目標(biāo)檢測,是后續(xù)研究的重要發(fā)展方向.
3)由于圖像中存在多類不同尺寸的目標(biāo),且提升多種尺度目標(biāo)的檢測精確度有一定挑戰(zhàn),現(xiàn)有方法利用多尺度信息提取多樣的目標(biāo)特征,但是多尺度檢測方法僅對目標(biāo)的尺寸進(jìn)行區(qū)分,并未關(guān)注目標(biāo)類別和尺寸間的相關(guān)性.現(xiàn)已將文本檢測的Transformer 結(jié)構(gòu)引入至目標(biāo)檢測任務(wù),即通過對輸入圖像的切片化處理,不斷聚焦目標(biāo)局部特征信息的提取并加強(qiáng)特征的聯(lián)系.在后續(xù)研究中應(yīng)考慮將其他視覺任務(wù)擴(kuò)展至目標(biāo)檢測領(lǐng)域,以自適應(yīng)的方式提高不同輸入圖像尺寸、目標(biāo)尺寸的檢測性能,并獲得泛化能力更強(qiáng)的模型.
4)針對圖像中目標(biāo)密集排列、重疊擺放所導(dǎo)致預(yù)測框定位困難的問題,現(xiàn)存的解決方案SCRDet[111]等算法利用傾斜框替代水平框,使預(yù)測框包含更多目標(biāo)像素點(diǎn),但是未從根本上解決密集目標(biāo)邊界特征提取難的問題.未來可以將目標(biāo)檢測與圖像分割任務(wù)相結(jié)合,先對密集目標(biāo)進(jìn)行分割,再利用分割后的目標(biāo)完成特征提取和檢測.
5)現(xiàn)有的目標(biāo)檢測算法通常針對單張圖像進(jìn)行目標(biāo)檢測,忽略了視頻幀之間的相關(guān)性.而高清視頻中的實(shí)時目標(biāo)檢測/跟蹤對于視頻監(jiān)控和自動駕駛具有重要意義,現(xiàn)已有MOT[112]、FairMOT[113]等算法來實(shí)現(xiàn)多目標(biāo)跟蹤任務(wù),在目標(biāo)檢測基礎(chǔ)上實(shí)現(xiàn)應(yīng)用更廣泛的視頻跟蹤任務(wù).因此未來應(yīng)繼續(xù)探索視頻幀序列之間的空間、時間相關(guān)性,以進(jìn)一步改善檢測性能并擴(kuò)大應(yīng)用范圍.
6)現(xiàn)存目標(biāo)檢測方法檢測速度較慢,為了能夠在移動設(shè)備上獲得流暢的運(yùn)行結(jié)果,通常會投入大量資金來購買算力更高的設(shè)備去加速算法檢測過程,這在一定程度上阻礙了各類檢測算法的落地進(jìn)程.MobileNet[114]、ShuffleNet[115]和Pelee[116]等輕量化網(wǎng)絡(luò)簡化網(wǎng)絡(luò)結(jié)構(gòu)并降低算力要求,提供了移動端的目標(biāo)檢測的堅實(shí)基礎(chǔ),為在輕量設(shè)備上檢測目標(biāo)提供可能性.因此,研究輕量快速且高精度的無錨框目標(biāo)檢測方法是未來必不可少的一個發(fā)展趨勢.