鄒 伊,雷志勇
(西安工業(yè)大學(xué) 電子信息工程學(xué)院,西安 710021)
隨著人工智能等技術(shù)的不斷更新、研究,將深度學(xué)習(xí)的方法與傳統(tǒng)圖像處理的方法進(jìn)行對(duì)比,使得圖像處理領(lǐng)域不斷走向智能化。在武器測(cè)試中,彈丸爆炸的瞬間對(duì)彈丸毀傷能力的評(píng)估具有重要意義[1]。對(duì)彈丸爆炸的瞬間檢測(cè)即炸點(diǎn)的檢測(cè),通常要考慮到在試驗(yàn)時(shí),無(wú)人機(jī)與彈丸之間拍攝距離遠(yuǎn),而且背景復(fù)雜,因此傳統(tǒng)的幀差法[2]、背景差分[3]等方法存在檢測(cè)到的運(yùn)動(dòng)目標(biāo)可能屬于干擾對(duì)象的問(wèn)題。利用深度學(xué)習(xí)對(duì)炸點(diǎn)目標(biāo)進(jìn)行檢測(cè),不僅能檢測(cè)到目標(biāo)而且能判斷檢測(cè)到的目標(biāo)的類(lèi)別,可以減少誤檢現(xiàn)象。此外,傳統(tǒng)的檢測(cè)方法需要對(duì)炸點(diǎn)視頻逐幀對(duì)比,而深度學(xué)習(xí)的方法可以對(duì)炸點(diǎn)視頻直接檢測(cè),減少工作量。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)可以利用不同網(wǎng)絡(luò)模型及訓(xùn)練算法來(lái)自適應(yīng)地學(xué)習(xí)圖像高級(jí)語(yǔ)義信息[4]。深度學(xué)習(xí)在目標(biāo)檢測(cè)領(lǐng)域分為2 種方法:?jiǎn)坞A段檢測(cè)法(one-stage)和雙階段檢測(cè)法(twostage)[5]。兩個(gè)方法各有優(yōu)劣,兩階段檢測(cè)法雖然在檢測(cè)速度上略遜于單階段檢測(cè)法,但是在檢測(cè)精度方面更具有優(yōu)勢(shì)。經(jīng)典的兩階段檢測(cè)法中常用的是R-CNN 及其衍生網(wǎng)絡(luò),其中Faster R-CNN 比其他幾個(gè)網(wǎng)絡(luò)不僅在檢測(cè)精度上有所提升,而且檢測(cè)速度也比較快。
深度學(xué)習(xí)依賴大量的已知標(biāo)注信息進(jìn)行訓(xùn)練,但是在實(shí)際應(yīng)用場(chǎng)景中,要得到每類(lèi)訓(xùn)練對(duì)象的大量標(biāo)注數(shù)據(jù)是極其困難的,特別是在炸點(diǎn)目標(biāo)檢測(cè)方面,炸點(diǎn)數(shù)據(jù)集不屬于公開(kāi)數(shù)據(jù)集并且實(shí)驗(yàn)中數(shù)量少,因此小樣本學(xué)習(xí)(Low-shot learning)[6]在炸點(diǎn)目標(biāo)檢測(cè)領(lǐng)域具有重要意義。小樣本學(xué)習(xí)可以分為3 類(lèi):遷移學(xué)習(xí)、模型微調(diào)和數(shù)據(jù)增強(qiáng)[7]。小樣本學(xué)習(xí)近幾年受到廣泛關(guān)注,在圖像分類(lèi)任務(wù)中有很多性能優(yōu)異的算法模型。其中遷移學(xué)習(xí)中的元學(xué)習(xí)方法在小樣本學(xué)習(xí)中得到廣泛應(yīng)用并取得很好的效果。基于元學(xué)習(xí)的方法更多關(guān)注圖像分類(lèi)方面而在目標(biāo)檢測(cè)中檢測(cè)效果不好,兩階段微調(diào)方法[8]在該方面展現(xiàn)出很好的檢測(cè)效果,TFA 只是簡(jiǎn)單地凍結(jié)在基礎(chǔ)類(lèi)別上學(xué)習(xí)網(wǎng)絡(luò)參數(shù),然后在新數(shù)據(jù)上微調(diào),卻取得了比元學(xué)習(xí)器更好的效果。
綜合分析,本文選用兩階段檢測(cè)法,考慮到訓(xùn)練集的數(shù)量,采用小樣本學(xué)習(xí)中的兩階段微調(diào)法(TFA)進(jìn)行研究,利用Faster R-CNN 網(wǎng)絡(luò)作為基礎(chǔ)算法的網(wǎng)絡(luò)模型。通過(guò)引入自我注意力機(jī)制和底層信息,對(duì)網(wǎng)絡(luò)模型的結(jié)構(gòu)改進(jìn)展開(kāi)研究。
TFA 使用Faster R-CNN 作為基本檢測(cè)模型,其結(jié)構(gòu)如圖1 所示,包括4 個(gè)部分。該算法分為2 個(gè)階段:第1 階段在大數(shù)據(jù)集上進(jìn)行模型訓(xùn)練,得到最佳訓(xùn)練結(jié)果的權(quán)重文件;第2 階段在新數(shù)據(jù)集上使用第1 階段的權(quán)重文件,并在該階段進(jìn)行模型的微調(diào)和訓(xùn)練,得到最佳的檢測(cè)結(jié)果。TFA 在第2 階段對(duì)Faster R-CNN 的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行部分修改。
圖1 Faster R-CNN 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Network structure diagram of Faster R-CNN
圖2 AC-FPN 模塊結(jié)構(gòu)圖Fig.2 Structural diagram of AC-FPN
從炸點(diǎn)數(shù)據(jù)集的特性出發(fā),對(duì)TFA 算法進(jìn)行改進(jìn):①使用上下文注意力引導(dǎo)模塊(AC-FPN)[9]替換FPN,解決FPN 中高分辨率輸入的特征映射分辨率和接收域之間的矛盾和多尺度接收域之間缺乏有效的通信;②根據(jù)路徑聚合網(wǎng)絡(luò)[10]的思想,為增強(qiáng)小目標(biāo)檢測(cè),將金字塔底層輸出送入到金字塔頂層輸出中;③為了讓模型更好地學(xué)習(xí)數(shù)據(jù)集,將模型中部分網(wǎng)絡(luò)的參數(shù)解凍,參與新數(shù)據(jù)集的訓(xùn)練。
AC-FPN 該網(wǎng)絡(luò)結(jié)構(gòu)通過(guò)融合多路不同感受野特征,增大物體感受野,增加獲得的上下文信息,更好地給出分類(lèi)結(jié)果。AC-FPN 包括2 個(gè)部分:上下文抽取模塊(CEM)和注意引導(dǎo)模塊(AM)[9]。
CEM 中的特征包含了大量的上下文信息,有利于對(duì)不同尺度的目標(biāo)進(jìn)行檢測(cè)。如圖3 所示,CEM包括擴(kuò)展卷積層和上采樣層。
圖3 CEM 結(jié)構(gòu)圖Fig.3 Structural diagram of CEM
擴(kuò)展層通過(guò)使用不同膨脹率(Rate=3,6,12,18,24)的多路徑擴(kuò)展卷積層,可以從不同的大接收域捕獲豐富的上下文信息,并且使用密集連接每一層都接受來(lái)自前面所有層的信息,減少梯度消失現(xiàn)象,更好地檢測(cè)小目標(biāo)。但是連續(xù)的卷積在獲得豐富信息的同時(shí)容易導(dǎo)致特征的流失,因此通過(guò)上采樣層,保留輸入原始數(shù)據(jù)的特征信息。最后對(duì)擴(kuò)展層和上采樣層的結(jié)果進(jìn)行融合。
雖然使用CEM 會(huì)帶來(lái)大量的感受野信息,但并不是所有的特征對(duì)于目標(biāo)檢測(cè)都是有利的,過(guò)多的信息可能會(huì)給定位和識(shí)別造成混淆,導(dǎo)致模型的精度可能會(huì)降低。為了解決上述問(wèn)題,提出了一種注意力引導(dǎo)模塊(AM),引入了自我注意力機(jī)制來(lái)捕獲有效的上下文依賴關(guān)系。注意力引導(dǎo)模塊包括:上下文注意模塊(CxAM)和內(nèi)容注意模塊(CnAM)。
上下文注意模塊(CxAM)是基于自注意力機(jī)制的一個(gè)模塊,該模塊對(duì)CEM 帶來(lái)的大量信息進(jìn)行識(shí)別,更關(guān)注語(yǔ)義信息而非空間信息。如圖4 所示。
圖4 CxAM 結(jié)構(gòu)圖Fig.4 Structural diagram of CxAM
對(duì)輸入特征圖FCEM∈R(C,H,W)通過(guò)卷積層Wq,Wk,Wv得到潛在空間,轉(zhuǎn)換公式如式(1)所示:
式中:{Q,K,V}∈R(C′,H,W)。
然后將Q 和K 轉(zhuǎn)換成向量{Q,K,V}∈RC′×N,其中N=H×W。然后利用Q 和K 構(gòu)造出矩陣R,如式(2)所示:
然后通過(guò)Sigmoid 和平均池化對(duì)矩陣R 進(jìn)行歸一化處理得到矩陣R′∈1×H×W,最后將R′與V 相乘得到注意力矩陣E,如式(3)所示:
式中:Ei是通道維數(shù)C 的第i 個(gè)特征圖。
內(nèi)容注意模塊(CnAM)同樣是基于自注意力機(jī)制,與上一個(gè)模塊不同在于該模塊有2 個(gè)輸入,分別是特征金字塔頂端輸出F5和該特征圖通過(guò)CEM 得到的輸出FCEM。如圖5 所示,對(duì)上一層輸出的特征圖F5∈R(C″,H,W)通過(guò)卷積層Wp,Wz得到潛在空間,轉(zhuǎn)換公式如式(4)所示:
圖5 CnAM 結(jié)構(gòu)圖Fig.5 Structural diagram of CnAM
式中:{P,Z}∈R(C′,H,W)。
然后將P 和Z 轉(zhuǎn)換成向量{P,Z}∈RC′×N,其中N=H×W。然后利用P 和Z 構(gòu)造出矩陣S=PTZ。然后通過(guò)Sigmoid 和平均池化對(duì)矩陣R 進(jìn)行歸一化處理得到注意力矩陣S′∈1×H×W,最后將S′與V 相乘得到矩陣D,如式(5)所示:
式中:Di是第i 個(gè)輸出特征圖。
最后將CxAM、CnAM 的輸出特征圖與CEM 的輸出特征圖相加得到頂端輸出特征圖。AC-FPN 可以很容易地插入到現(xiàn)有的基于FPN 的模型中,進(jìn)行端到端的訓(xùn)練。
在特征金字塔網(wǎng)絡(luò)中,隨著特征圖變小,對(duì)底層信息的利用也隨之減少。而底層信息包含定位準(zhǔn)確的信息,并且在FPN 中底層與頂層信息之間的路徑過(guò)長(zhǎng),會(huì)導(dǎo)致底層特征信息丟失。參考路徑聚合網(wǎng)絡(luò)結(jié)構(gòu),為了避免在增加底層信息的同時(shí),由于網(wǎng)絡(luò)層數(shù)增加,帶來(lái)大量的計(jì)算量。本文通過(guò)僅僅將輸出的P2層信息送到P5層中,在縮短路徑減少底層信息丟失的同時(shí),減少計(jì)算量。
此外,在訓(xùn)練過(guò)程中為了更好地學(xué)習(xí)新數(shù)據(jù)集,通過(guò)解凍ROI Head 部分和主干提取網(wǎng)絡(luò)的頂層權(quán)重來(lái)進(jìn)行改進(jìn)。
TFA 分為兩階段進(jìn)行,對(duì)TFA 的修改只在第2階段即微調(diào)階段進(jìn)行。主要是針對(duì)主干提取網(wǎng)絡(luò)進(jìn)行改進(jìn),如圖6 所示。將輸出的P2~P6送入RPN 網(wǎng)絡(luò),P2~P5和RPN 輸出送入ROI,最后將上述輸出進(jìn)行分類(lèi)回歸。
圖6 修改后的主干網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.6 Network structure diagram of modified backbone
實(shí)驗(yàn)軟硬件平臺(tái)如表1 所示。
表1 實(shí)驗(yàn)環(huán)境配置Tab.1 Experimental environment configuration
訓(xùn)練時(shí)輸入端可以輸入不同尺寸的圖片,單批處理圖像數(shù)量(Batch size)設(shè)為16,將初始學(xué)習(xí)率設(shè)置為0.001,動(dòng)量設(shè)置為0.9,預(yù)熱迭代數(shù)為200。
3.2.1 Pascal VOC 數(shù)據(jù)集
TFA 算法通過(guò)隨機(jī)抽取PASCAL VOC2007 和PASCAL VOC2012 數(shù)據(jù)集組成小樣本數(shù)據(jù)集,將數(shù)據(jù)集中的20 類(lèi)目分為15 個(gè)基本類(lèi)目和5 個(gè)新類(lèi)目。并且在K=1,2,3,5 和10 的情況下,將新類(lèi)數(shù)據(jù)集分為3 部分,分別是Novel Split 1、2 和3。本文使用Pascal VOC Novel Split 1 進(jìn)行分析。
3.2.2 炸點(diǎn)數(shù)據(jù)集
本文采用高速相機(jī)進(jìn)行拍攝,利用鞭炮模擬彈丸爆炸。使用PCC 軟件對(duì)相機(jī)進(jìn)行參數(shù)設(shè)置,對(duì)炸點(diǎn)視頻進(jìn)行拍攝、保存及炸點(diǎn)圖像幀提取并制作數(shù)據(jù)集共608 張,并將其按照7∶2∶1 比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。
目標(biāo)檢測(cè)領(lǐng)域常用準(zhǔn)確率(Precision)、召回率(Recall)以及平均精度(Average Precision)來(lái)綜合衡量算法的檢測(cè)效果。但是在通常情況下,單獨(dú)使用準(zhǔn)確率和召回率無(wú)法準(zhǔn)確評(píng)估模型的性能,因此在TFA 中使用AP 來(lái)進(jìn)行評(píng)估。AP 指的是在以準(zhǔn)確率和召回率為坐標(biāo)軸得到的PR 曲線下的面積。
通過(guò)將原始的TFA 網(wǎng)絡(luò)和優(yōu)化后的網(wǎng)絡(luò)在訓(xùn)練集上進(jìn)行訓(xùn)練并且對(duì)結(jié)果進(jìn)行分析和比較,此外對(duì)優(yōu)化后的網(wǎng)絡(luò)進(jìn)行消融實(shí)驗(yàn)來(lái)分析每個(gè)修改部分對(duì)整體網(wǎng)絡(luò)的影響。
Pascal VOC Novel Split1 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)得到的mAP50 結(jié)果如表2 所示。
表2 算法mAP 值對(duì)比Tab.2 Comparison of algorithm mAP
通過(guò)表2 發(fā)現(xiàn)優(yōu)化后的網(wǎng)絡(luò)檢測(cè)平均精度比原始TFA 網(wǎng)絡(luò)平均精度均有提高。
在炸點(diǎn)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)結(jié)果如表3 所示。
表3 算法AP 值比較Tab.3 Algorithm AP value comparison
在炸點(diǎn)數(shù)據(jù)集上進(jìn)行測(cè)試,發(fā)現(xiàn)原始的TFA 網(wǎng)絡(luò)AP 只能達(dá)到21%左右。通過(guò)修改后測(cè)試結(jié)果達(dá)到55.2%,提高了1 倍左右。TFA 算法對(duì)自制數(shù)據(jù)集檢測(cè)精度低主要原因在于TFA 算法凍結(jié)了網(wǎng)絡(luò)大部分權(quán)重,導(dǎo)致對(duì)新訓(xùn)練集的學(xué)習(xí)不足,通過(guò)對(duì)權(quán)重進(jìn)行解凍,可以讓網(wǎng)絡(luò)更好地學(xué)習(xí)與第1 階段訓(xùn)練集相關(guān)性不大的新訓(xùn)練集。
對(duì)本文修改后的網(wǎng)絡(luò)結(jié)構(gòu)分別在Pascal VOC數(shù)據(jù)集上進(jìn)行消融實(shí)驗(yàn),由于在數(shù)據(jù)集上進(jìn)行訓(xùn)練,對(duì)權(quán)重的解凍貫穿了整個(gè)訓(xùn)練過(guò)程,因此在消融實(shí)驗(yàn)中不單獨(dú)對(duì)權(quán)重解凍進(jìn)行對(duì)比。
通過(guò)對(duì)比發(fā)現(xiàn)同時(shí)對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行兩種改進(jìn)可以達(dá)到更好的效果。如表4 所示,單獨(dú)在本文網(wǎng)絡(luò)上使用AC-FPN 模型的效果要優(yōu)于路徑縮短,但是在本文網(wǎng)絡(luò)上使用兩種修改方法要好于單獨(dú)使用一種。
表4 消融實(shí)驗(yàn)AP 值比較Tab.4 Comparison of ablation experiments AP value
本文針對(duì)TFA 算法在炸點(diǎn)數(shù)據(jù)集存在的學(xué)習(xí)能力不足導(dǎo)致識(shí)別效果不好的問(wèn)題,提出一種通過(guò)加入基于自我注意力機(jī)制的AC-FPN 和更多的底層信息改進(jìn)TFA 算法。通過(guò)上述實(shí)驗(yàn)數(shù)據(jù)發(fā)現(xiàn),在公開(kāi)數(shù)據(jù)集上,本文算法比TFA 算法在精度上提高了2~5 個(gè)點(diǎn)左右。通過(guò)消融實(shí)驗(yàn)發(fā)現(xiàn)兩種修改方法對(duì)TFA 算法在精度上均有提高,但是同時(shí)使用效果更好。本文方法相比于TFA 算法,在與第1 階段數(shù)據(jù)集相關(guān)性小的新數(shù)據(jù)集上進(jìn)行檢測(cè)的有效性更好,并且在公開(kāi)數(shù)據(jù)集上驗(yàn)證了算法的可行性。