馮 珺,彭梁英,趙 帥,潘司晨,郭雪強
(1.國網(wǎng)浙江省電力有限公司信息通信分公司,浙江杭州 310014;2.浙江大學(xué)控制科學(xué)與工程學(xué)院,浙江杭州 310027)
目標檢測是對場景中的目標進行分類和定位,即在圖片中用方框把待檢測目標框出并標示出目標所屬的類別。目標檢測是計算機視覺的基礎(chǔ)任務(wù)之一,廣泛應(yīng)用于人們的日常生活,比如人臉檢測[1]、目標跟蹤[2]、視頻理解[3]等。隨著深度學(xué)習(xí)的興起,基于深度學(xué)習(xí)的方法成為目標檢測的主流方案。基于深度學(xué)習(xí)的目標檢測方案主要包含2大類:單階段目標檢測器和雙階段目標檢測器。單階段目標檢測器主要指YOLO(you only look once,你只需要看一次)[4]系列,不需要生成候選框,直接使用端到端的卷積神經(jīng)網(wǎng)絡(luò)進行分類和定位。雙階段目標檢測器以Faster R-CNN(faster region convolutional neural network,更快的區(qū)域卷積神經(jīng)網(wǎng)絡(luò))[5]及其變體為代表,首先通過RPN(region proposal network,候選框生成網(wǎng)絡(luò))生成一系列的候選框并對其進行簡單分類和定位,然后通過后續(xù)的微調(diào)網(wǎng)絡(luò)進行精細分類和定位。與單階段目標檢測器相比,雙階段目標檢測器通常具有更高的精確度,因為通過RPN模塊可以過濾掉很多的負樣本,從而使檢測器更容易識別和定位目標,因此小樣本目標檢測器大多使用Faster R-CNN作為基準網(wǎng)絡(luò)。
小樣本學(xué)習(xí)的目標是通過少量的訓(xùn)練樣本就能夠?qū)π碌母拍钸M行識別?;谠獙W(xué)習(xí)的方法是近些年小樣本分類任務(wù)的主流方法,通過訓(xùn)練單個任務(wù)的元模型來適應(yīng)小樣本的任務(wù),即學(xué)習(xí)如何學(xué)習(xí)?;诙攘繉W(xué)習(xí)的方法在最近的小樣本分類任務(wù)中取得了很好的效果,它通過匹配網(wǎng)絡(luò),將查詢圖像和支持圖像的特征編碼為深度神經(jīng)特征,并對它們執(zhí)行加權(quán)最近鄰匹配,通過兩者的相似度對查詢圖像進行分類。最直觀的度量包括余弦相似度、到類中心的歐氏距離和圖距離等。目前,關(guān)于小樣本分類任務(wù)的研究報道較多,但是針對更復(fù)雜的小樣本目標檢測任務(wù)的研究還很少。
傳統(tǒng)的目標檢測任務(wù)需要大量標注的樣本,這需要耗費大量的人力;此外,還有一些類別的樣本很難獲得,比如稀有動植物等,這些都限制了目標檢測任務(wù)的發(fā)展。相比于神經(jīng)網(wǎng)絡(luò)而言,人類中的小孩子也能根據(jù)一兩張圖片來記住一個類別。為了縮小神經(jīng)網(wǎng)絡(luò)與人類之間的差距,小樣本目標檢測任務(wù)提出在已有目標檢測數(shù)據(jù)集和少量新類數(shù)據(jù)集訓(xùn)練下,使神經(jīng)網(wǎng)絡(luò)能夠?qū)崿F(xiàn)對新類別的分類和定位。
現(xiàn)有的小樣本目標檢測任務(wù)的研究主要包括2種方案:基于孿生神經(jīng)網(wǎng)絡(luò)(元學(xué)習(xí))的方案和基于微調(diào)的方案。基于孿生神經(jīng)網(wǎng)絡(luò)的方案先在包含大量樣本的基類上對目標檢測網(wǎng)絡(luò)進行訓(xùn)練,然后將小樣本類別的圖像分為支持集和詢問集,其中支持集是同時包含圖像和標注的圖片,詢問集是待檢測的小樣本圖像,之后通過共享權(quán)重的特征提取網(wǎng)絡(luò)得到兩者的特征圖,再通過特征聚合方式利用支持集的特征來調(diào)整詢問集的識別網(wǎng)絡(luò),并通過損失函數(shù)使識別網(wǎng)絡(luò)收斂,從而實現(xiàn)對小樣本目標的檢測?;谖⒄{(diào)的方案同樣是先在包含大量樣本的基類上對目標檢測網(wǎng)絡(luò)進行訓(xùn)練,之后凍結(jié)一部分網(wǎng)絡(luò)參數(shù),在同時包含基類和新類(小樣本類別)的數(shù)據(jù)集上微調(diào)另一部分的網(wǎng)絡(luò)參數(shù)?,F(xiàn)有的基于元學(xué)習(xí)的小樣本目標檢測方案在支持圖像和詢問圖像的特征聚合時雖然使用的方式多種多樣,但是仍沒有很好地解決支持圖像特征和詢問圖像特征之間的關(guān)系,很多情況下支持圖像的加入反而會對原有的詢問圖像特征造成破壞,而且當(dāng)支持集包含多張支持圖像時,普遍采用的方法是求平均值的方式,這會損失很多信息。此外,基于微調(diào)的小樣本目標檢測方案在對于圖像尺度和類別之間語義關(guān)系的處理上仍然沒有有效的解決方案。因此,現(xiàn)有的小樣本目標檢測方法的精度與傳統(tǒng)目標檢測方法相比仍然有較大差距。
基于以上情況,本文結(jié)合當(dāng)前小樣本目標檢測的研究情況,重點闡述基于孿生神經(jīng)網(wǎng)絡(luò)的小樣本目標檢測方法,并對基于微調(diào)的小樣本目標檢測方案進行簡要概括。此外,為了方便對比,介紹了常用的數(shù)據(jù)集及其評估標準,在這些數(shù)據(jù)集和評估標準的基礎(chǔ)下比較了一些經(jīng)典方案的性能。最后,通過總結(jié)這些方案的優(yōu)缺點,指出當(dāng)前小樣本目標檢測存在的問題及面臨的挑戰(zhàn)。
小樣本目標檢測任務(wù)通常是將訓(xùn)練數(shù)據(jù)集D=Dbase∪Dnovel分為2個數(shù)據(jù)集Dbase和Dnovel,小樣本目標檢測任務(wù)的目標就是在包含大量基類Cbase樣本的基類數(shù)據(jù)集Dbase和包含少量小樣本類別Cnovel樣本的小樣本數(shù)據(jù)集Dnovel的訓(xùn)練下,使神經(jīng)網(wǎng)絡(luò)能夠?qū)崿F(xiàn)對基類和新類別的分類和定位,其中Cbase和Cnovel沒有交集。在小樣本目標檢測中,目標檢測器f(x;θ)利用基類數(shù)據(jù)Dbase和新類數(shù)據(jù)Dnovel訓(xùn)練模型來獲得對新類的檢測能力,之后在測試集上進行測試以檢驗?zāi)P偷男阅堋0琋個小樣本類別且每個小樣本類別包含K個樣本的小樣本目標檢測問題稱為N類別K樣本的小樣本目標檢測問題,對于包含較少類別的小型數(shù)據(jù)集,每個小樣本類別的數(shù)目一般不超過10個,對于包含較多類別的大型數(shù)據(jù)集,每個小樣本類別的數(shù)目一般不超過30個。值得注意的是,小樣本的數(shù)量K不一定與圖像數(shù)量相對應(yīng),因為一個圖像可能包含多個實例。
1.2.1 基于孿生神經(jīng)網(wǎng)絡(luò)的小樣本目標檢測方法
基于元學(xué)習(xí)的小樣本目標檢測方案,即基于孿生神經(jīng)網(wǎng)絡(luò)的方案,是一種雙分支的小樣本目標檢測方案。基于元學(xué)習(xí)的方案是小樣本目標檢測的主流方案,與此相關(guān)的方法有很多。如圖1所示,該方法先在包含大量樣本的基類數(shù)據(jù)集上對目標檢測網(wǎng)絡(luò)進行訓(xùn)練,然后將小樣本類別的圖像分為支持集和詢問集,其中支持集同時包含已有的小樣本圖像及其標簽,詢問集是待檢測的小樣本圖像,之后通過共享權(quán)重的特征提取網(wǎng)絡(luò)(孿生神經(jīng)網(wǎng)絡(luò))得到兩者的特征圖,再通過對兩者特征圖做特征聚合的方式,利用支持集的特征來調(diào)整詢問集的識別網(wǎng)絡(luò),通過損失函數(shù)使識別網(wǎng)絡(luò)收斂,從而實現(xiàn)對小樣本目標的檢測?;谠獙W(xué)習(xí)的小樣本目標檢測方法的區(qū)別主要在于特征聚合的方式以及位置的不同。
圖1 基于孿生神經(jīng)網(wǎng)絡(luò)的小樣本目標檢測Fig.1 Few-shot object detection based on meta-learning
有學(xué)者提出了一種基于YOLOv2[6]的輕量級元學(xué)習(xí)小樣本目標檢測模型,通過共享權(quán)重的特征提取網(wǎng)絡(luò)支持集和詢問集的特征,之后用支持集特征圖生成的注意力向量加權(quán)詢問類特征圖對兩者進行特征聚合,從而調(diào)整這些特征[7]。Meta R-CNN[8]是一種基于Faster R-CNN[5]的小樣本目標檢測框架,通過逐元素相乘的方式利用支持集的特征圖來調(diào)整詢問集的ROI(region of interest,感興趣的區(qū)域)池化模塊,使網(wǎng)絡(luò)對小樣本類別更敏感。FSOD[9]也是一種基于Faster R-CNN[5]的小樣本目標檢測模型,它利用支持集特征調(diào)整詢問集的RPN生成候選框,從而過濾掉大部分的背景框和不匹配類別的候選框。同樣是基于Faster R-CNN,DCNet[10]則是利用支持集的特征圖,通過知識蒸餾的方式來和詢問集特征圖進行聚合,之后進行分類和定位。Meta-DETR[11]將transformer[12]的方法引入到基于元學(xué)習(xí)的小樣本目標檢測中,將支持集和詢問集特征進行transformer編碼后進行聚合,之后再進行transformer解碼,大大提升了檢測精度。Meta Faster R-CNN[13]在支持圖像特征圖和詢問圖像特征圖逐元素相乘、相減和相連接之后,將三者分別輸入3個包含激活函數(shù)的小型卷積網(wǎng)絡(luò)中,再將卷積網(wǎng)絡(luò)輸出的結(jié)果聯(lián)結(jié)在一起作為聚合結(jié)果,調(diào)整詢問圖像特征。SQMG[14]通過動態(tài)卷積方式,利用支持圖像特征調(diào)整詢問圖像特征,該方法首先將支持圖像特征圖輸入到一個核生成器中生成動態(tài)卷積的權(quán)重,然后利用該動態(tài)卷積的權(quán)重對詢問圖像特征圖進行卷積操作。
在基于元學(xué)習(xí)的小樣本目標檢測方案的基礎(chǔ)上,人們提出一種新的訓(xùn)練策略——Attention-RPN[9],它在訓(xùn)練過程中對逐個類別的圖像進行訓(xùn)練,因此每次訓(xùn)練時只輸入一個類別的支持圖像,并在網(wǎng)絡(luò)最后對Faster R-CNN[5]輸出的RoI候選框區(qū)域和支持圖像做一個特征匹配,從而挑選出匹配度最高的區(qū)域。 QA-FewDet[15]是在Attention-RPN的基礎(chǔ)上對匹配方式做了改進,使用異構(gòu)圖(heterogeneous graph[16])卷積方式對詢問圖像的候選框和支持圖像的特征圖進行度量。FCT[17]則是將特征提取網(wǎng)絡(luò)從ResNet[18]改為了PVTv2[19],并使用cross-transformer的方式進行特征聚合。
基于元學(xué)習(xí)的方案能夠利用已有小樣本目標的信息通過特征聚合方式調(diào)整目標檢測模型,從而使模型具備對小樣本目標的檢測能力。但是已有的小樣本目標檢測方法并沒有充分利用小樣本信息,對于大于一個樣本的小樣本都是采用取平均值的方式,這會造成一定程度的信息浪費,而且都是在一個位置進行特征聚合,使得小樣本信息不能對網(wǎng)絡(luò)產(chǎn)生整體效果。
1.2.2 基于微調(diào)的小樣本目標檢測方法
基于微調(diào)的小樣本目標檢測方案是一種新興方法,經(jīng)過近兩年的發(fā)展,取得了不俗的效果。基于微調(diào)的方案先在包含大量樣本的基類上對目標檢測網(wǎng)絡(luò)進行訓(xùn)練,之后凍結(jié)一部分網(wǎng)絡(luò)參數(shù),在同時包含基類和新類(小樣本類別)的數(shù)據(jù)集上微調(diào)另一部分的網(wǎng)絡(luò)參數(shù)。TFA[20]的結(jié)構(gòu)如圖2所示,它是一種基于Faster R-CNN[5]的小樣本檢測框架,也是第1種基于微調(diào)的小樣本目標檢測方案,僅僅通過微調(diào)方法就實現(xiàn)了較高的小樣本識別精度。TFA先用基類訓(xùn)練Faster R-CNN[5]網(wǎng)絡(luò),之后用同時包含新類和基類的數(shù)據(jù)微調(diào)分類頭和定位頭,而其他部分的參數(shù)被凍結(jié)。FSCE[21]對TFA做了進一步改進,通過加入聚類的思想使微調(diào)范圍擴大,模型的識別精度進一步得到了提升。DeFRCN[22]提出了一種解耦的Faster R-CNN[5]模型,通過對模型梯度傳播的解耦來微調(diào)參數(shù),實現(xiàn)了小樣本目標檢測識別精度的進一步提升。MPSR[23]同樣是一種基于Faster R-CNN的小樣本目標檢測框架,該框架提出多尺度正樣本精煉(multi-scale positive sample refinement,MPSR)方法,通過一個輔助分支來補償多尺度信息,同時利用巧妙的損失函數(shù)設(shè)計,通過支持集調(diào)整詢問集的分類頭和定位頭,實現(xiàn)小樣本目標檢測。FSOD-UP[24]使用類似精煉方法,但是加入了差分損失函數(shù),2個分支的特征相似性更高。SRR-FSD[25]將每一個類別的特征映射到一個語義空間,通過新類和基類之間的語義關(guān)系來輔助網(wǎng)絡(luò)對新類進行檢測。基于微調(diào)的小樣本目標檢測方案同樣有一些缺陷,因為基類信息和新類信息會有一定的差別,在基類上訓(xùn)練的參數(shù)并不能完全適應(yīng)對新類的檢測,因此只微調(diào)部分參數(shù)的方式并不能實現(xiàn)小樣本信息的充分利用。
圖2 基于微調(diào)的小樣本目標檢測Fig.2 Few-shot object detection based fine-tuning
大部分的小樣本目標檢測方法使用PASCAL VOC[26]和Microsoft COCO[27]的拆分數(shù)據(jù)集來進行實驗和測試,即將數(shù)據(jù)集的類別劃分為基類和小樣本類別,然后根據(jù)N類別K樣本的方式確定小樣本類別的種類和每個類別包含的樣本數(shù)。PASCAL VOC和Microsoft COCO都是開源的已標注的目標檢測數(shù)據(jù)集,在目標檢測和實例分割等任務(wù)中有著十分廣泛的應(yīng)用。
2.1.1 PASCAL VOC數(shù)據(jù)集
PASCAL VOC數(shù)據(jù)集包含20個類別,通常由VOC2007和VOC2012組成,訓(xùn)練時使用VOC07+12,測試時使用VOC07。在小樣本目標檢測中,根據(jù)Meta R-CNN[8]設(shè)定,通常使用其中的5個類別作為新類,其余的15個類別作為基類,根據(jù)基類和新類的不同設(shè)定,將數(shù)據(jù)集分成3個子集。同時,針對K-shot問題,每個新類包含K個樣本,通常取K=1,2,3,5,10。
2.1.2 Microsoft COCO數(shù)據(jù)集
Microsoft COCO是比PASCAL VOC更大的數(shù)據(jù)集,因此識別難度也更大。Microsoft COCO包含80個類別,通常將與PASCAL VOC相同的20個類別作為新類,而剩余的60個類別作為基類來劃分數(shù)據(jù)集。同時,針對K-shot問題,通常取K=10,30,在某些極少樣本的情況下也會取K=1—5。
與傳統(tǒng)目標檢測的技術(shù)指標相同,小樣本目標檢測的技術(shù)指標主要包括AP,AP50和AP75。AP,AP50和AP75指的是在IoU(交并比)分別取[0.5:0.05:0.95]、0.5和0.75時各個類別識別準確率的均值,其中[0.5:0.05:0.95]指的是IoU從0.5開始每隔0.05一直取值到0.95,然后取均值。其中IoU指的是識別出的檢測框和目標實際的檢測框(指手動標注的檢測框)之間的交集面積和并集面積的比值。mAP,mAP50和mAP75分別表示AP,AP50和AP75在所有類別上求均值。PASCAL VOC數(shù)據(jù)集一般用mAP50來作為評估標準,為了使結(jié)果更有說服力,同時減少因為樣本選取而帶來的結(jié)果不穩(wěn)定性,TFA[9]提出了修訂的評估標準,其中的結(jié)果平均了30次,每次使用隨機抽取的小樣本目標來作為小樣本數(shù)據(jù)集;此外,TFA還報告了因為忽略基類的性能可能會導(dǎo)致潛在的性能下降,因此會同時評估模型在基類和新類上的性能。Microsoft COCO數(shù)據(jù)集一般使用mAP,mAP50和mAP75作為評估標準,mAP75更嚴格,因為當(dāng)檢測框與真實框大于0.75時,檢測才視為正確。某些方法還報告了平均召回率AR1,AR100和AR1 000,它們分別為1,100或1 000個圖像檢測。中小型、中型和大物體(APS,APM,APL,ARS,ARM,ARL)也可以使用平均精度和平均召回率。
為了充分對比基于孿生神經(jīng)網(wǎng)絡(luò)的小樣本目標檢測方法,本文使用經(jīng)典的PASCAL VOC數(shù)據(jù)集和Microsoft COCO數(shù)據(jù)集上的結(jié)果來進行對比,基類和新類的劃分也采用前邊提到的經(jīng)典劃分方式。此外,對每種方法的基準檢測網(wǎng)絡(luò)做了備注。所有的結(jié)果均來自于論文結(jié)果和作者開源代碼復(fù)現(xiàn)結(jié)果,表1是PASCAL VOC上的結(jié)果對比,它包含3種不同的新類劃分,以及5種樣本數(shù)劃分[26];表2是Microsoft COCO上的結(jié)果對比,包含10個樣本和30個樣本2種樣本數(shù)的結(jié)果[27]。
表1 模型在PASCAL VOC上的準確率對比Tab.1 Comparison of model accuracy on PASCAL VOC 單位:%
表2 模型在Microsoft COCO上的準確率對比Tab.2 Comparison of model accuracy on Microsoft COCO 單位:%
盡管大部分的小樣本目標檢測模型都是基于雙階段的目標檢測器Faster R-CNN[5],但是雙階段目標檢測器比較復(fù)雜,且生成的候選框很多都是背景,因此在哪個位置聚合詢問集和支持集的特征就比較重要。相比之下,單階段目標檢測器不需要生成候選框,因此只需直接在特征提取網(wǎng)絡(luò)之后、分類和定位網(wǎng)絡(luò)之前進行特征聚合,F(xiàn)SRW[6]便是一種基于YOLOv2[7]的小樣本目標檢測框架,其特點是輕量化,但受限于基準檢測器,模型精度不是很高。類似的,Meta DETR[11]使用的基準框架是基于Transformer[12]的目標檢測器DETR[27],同樣是在共享權(quán)重的孿生神經(jīng)網(wǎng)絡(luò)之后進行詢問集和支持集的特征聚合,因為基準檢測器DETR準確率很高,因此Meta DETR也具有更好的識別精度,但其缺點是模型大,耗費的訓(xùn)練時間和訓(xùn)練資源比較多。
Meta R-CNN[8]是早期以Faster R-CNN[5]為基準的基于孿生神經(jīng)網(wǎng)絡(luò)的小樣本目標檢測框架,主要是在RPN網(wǎng)絡(luò)之后對支持集和詢問集進行特征聚合,采用的特征聚合方式是向量相同位置元素相乘,如式(1)所示。FsDetView[28]是在Meta R-CNN的基礎(chǔ)上改進了特征聚合方式,如式(2)所示,除了矩陣相乘外,還加入了詢問集和支持集的差值以及詢問集特征,使模型精度有了較大提升。DCNet[10]同樣是在Meta R-CNN的基礎(chǔ)上進行改進,由于在RPN網(wǎng)絡(luò)之后進行特征聚合會使一部分的新類候選框在RPN網(wǎng)絡(luò)中被當(dāng)作負樣本過濾掉,因此將特征聚合操作放在了RPN網(wǎng)絡(luò)之前,共享權(quán)重的特征提取網(wǎng)絡(luò)之后對支持集和詢問集的特征進行聚合,采用知識蒸餾的聚合方式,增強了圖像中待檢測目標的關(guān)鍵信息,同時加入了多尺度聚合模塊對不同尺度的特征進行聚合,提升了對不同尺度目標的檢測能力。
Φ(fQ,fS)=fQ?fS,
(1)
Φ(fQ,fS)=[fQ?fS,fQ-fS,fQ]。
(2)
雖然目前小樣本目標檢測已經(jīng)取得了較大發(fā)展,但相比于傳統(tǒng)目標檢測,在精度上仍有較大差距,尤其是在極少數(shù)樣本的情況下,更沒有達到人類的水平。而較低的精度又會限制小樣本目標檢測的實際應(yīng)用,其仍處于研究階段,落地比較困難。但是針對極少數(shù)樣本的情況,目前也有一些小樣本目標檢測的衍生任務(wù),比如單樣本檢測,只需針對單個樣本的任務(wù)進行模型設(shè)計,不需要考慮多個樣本之間的差異性,雖在單個樣本的任務(wù)中取得了很好的結(jié)果,但仍不能達到落地要求[29]。
由于小樣本任務(wù)的特殊性,使得樣本選擇對結(jié)果的影響很大,不同的樣本和樣本組合可能會得到差距很大的結(jié)果。因此TFA提出利用多次隨機選擇樣本進行模型訓(xùn)練,之后取平均值的評估方式。此外,關(guān)于小樣本任務(wù)的定義仍不是很清晰,比如在Microsoft COCO上的訓(xùn)練,在基類圖片中就包括一些新類的未標注樣本,這種情況下新類的樣本數(shù)是多于指定的任務(wù)的。此外,現(xiàn)有的評估方案基本都是針對PASCAL VOC和Microsoft COCO 2個數(shù)據(jù)集的,并沒有針對特定任務(wù)來進行數(shù)據(jù)集和評估標準的設(shè)計,因此也沒有合適的對比方案。同時,大多數(shù)方法都使用ImageNet[30]預(yù)訓(xùn)練的模型權(quán)重,而ImageNet中包含大部分的新類。盡管這對于傳統(tǒng)目標檢測很常見,但它對于小樣本目標檢測具有負面影響:新類不再是真正的新類,因為該模型可能已經(jīng)看到了此類別的圖像。但是,省略ImageNet預(yù)訓(xùn)練,即使對于基類,也會導(dǎo)致性能較差。針對這些問題,目前仍沒有較好的解決方案,有些方法提出在預(yù)訓(xùn)練和基類訓(xùn)練的過程中剔除包含新類的圖片,但是這需要針對每一個小樣本數(shù)據(jù)集都進行一次預(yù)訓(xùn)練,顯然需要耗費大量的時間和精力。
本文基于小樣本目標檢測的任務(wù)和目標,介紹了基于孿生神經(jīng)網(wǎng)絡(luò)的小樣本目標檢測方案,并簡要介紹了其他一些小樣本目標檢測方法,在此基礎(chǔ)上,對幾種經(jīng)典方法進行了對比,分析了各自的優(yōu)缺點。
本文是第1篇系統(tǒng)概括基于孿生神經(jīng)網(wǎng)絡(luò)小樣本目標檢測的中文綜述文章,可為小樣本目標檢測的深入研究以及落地應(yīng)用提供參考。由于篇幅有限,本文僅對基于孿生神經(jīng)網(wǎng)絡(luò)的小樣本目標檢測模型的實現(xiàn)方式與效果進行了概括。雖然現(xiàn)有的小樣本目標檢測方案仍不成熟,模型精度有待提升,性能評估方案也有待完善,但小樣本目標檢測有著十分廣闊的應(yīng)用前景,未來必定有更多方法來解決小樣本目標檢測的現(xiàn)有問題,使其精度達到要求。