喬夢(mèng)雨,譚金林,劉亞虎,徐其志,萬生陽
1. 陜西航天技術(shù)應(yīng)用研究院有限公司,西安 710100 2. 北京理工大學(xué) 機(jī)電學(xué)院,北京 100081
在天基光學(xué)監(jiān)控系統(tǒng)中,目標(biāo)容易受到環(huán)境因素的干擾導(dǎo)致檢測(cè)率低下,針對(duì)大氣層中的小型飛行目標(biāo),目標(biāo)在運(yùn)動(dòng)過程中必然會(huì)釋放熱量,使用天基紅外探測(cè)技術(shù)可以有效規(guī)避這一問題,并且紅外探測(cè)距離遠(yuǎn)覆蓋范圍廣,測(cè)量精度高[1]。在實(shí)際情況中,紅外弱小目標(biāo)檢測(cè)也存在以下難點(diǎn):目標(biāo)本身特征匱乏,在圖像中缺乏角點(diǎn)及紋理信息;由于天基成像平臺(tái)自身的原因,不可避免存在一些噪點(diǎn)和壞點(diǎn),噪點(diǎn)與目標(biāo)接近容易產(chǎn)生誤檢。
早期的天基紅外弱小目標(biāo)識(shí)別采用傳統(tǒng)的圖像處理算法,文獻(xiàn)[2]提出一種基于多尺度匹配的紅外變分辨率弱小目標(biāo)檢測(cè)方法,通過建立高斯參數(shù)模型,使用核函數(shù)的方法生成待檢測(cè)圖像的尺度空間,接著進(jìn)行匹配選取潛在的目標(biāo)區(qū)域,通過閾值進(jìn)行篩選。文獻(xiàn)[3]提出一種基于背景自適應(yīng)的多特征融合的復(fù)雜背景下弱小目標(biāo)的檢測(cè)算法,首先通過濾波算子剔除空域噪點(diǎn),接著通過連通域剔除大范圍區(qū)域,最后根據(jù)先驗(yàn)知識(shí)篩選目標(biāo)。文獻(xiàn)[4]提出了一種基于結(jié)構(gòu)張量分析的弱小目標(biāo)單幀檢測(cè)方法,通過構(gòu)造不同的張量描述目標(biāo)的特征,計(jì)算結(jié)構(gòu)張量到目標(biāo)的響應(yīng),使用自適應(yīng)閾值分割篩選目標(biāo)。
采用傳統(tǒng)的處理方法,需要手動(dòng)設(shè)計(jì)特征提取器,當(dāng)目標(biāo)發(fā)生較大形態(tài)學(xué)變化時(shí)不能準(zhǔn)確識(shí)別出目標(biāo),基于深度學(xué)習(xí)的方法可以通過復(fù)雜的神經(jīng)網(wǎng)絡(luò)擬合出目標(biāo)的各種特征[5]。文獻(xiàn)[6]提出一種基于深度學(xué)習(xí)的空間紅外弱小目標(biāo)狀態(tài)感知方法,分析了空間紅外弱小目標(biāo)的狀態(tài),構(gòu)建了特殊的卷積神經(jīng)網(wǎng)絡(luò)框架,以目標(biāo)高程信息和輻射強(qiáng)度作為輸入,輸出目標(biāo)的標(biāo)注信息。文獻(xiàn)[7]提出一種基于深度神經(jīng)網(wǎng)絡(luò)的空間目標(biāo)結(jié)構(gòu)算法,利用分形分析提取序列的分?jǐn)?shù)維特征,利用Fisher判決完成對(duì)特征的篩選。相比于傳統(tǒng)的圖像處理方法基于深度學(xué)習(xí)的方法可以更好地?cái)M合特征,檢測(cè)效果也更好,但是也存在以下問題:①無法分辨出重點(diǎn)感興趣區(qū)域與背景,對(duì)整幅影像進(jìn)行檢測(cè)耗費(fèi)計(jì)算資源;②初始設(shè)定的候選框大多不能完全匹配目標(biāo)大小需求;③成像中會(huì)產(chǎn)生一些噪點(diǎn)與壞點(diǎn),使用最大值池化會(huì)影響到周圍像素點(diǎn)。
基于此在現(xiàn)有YOLOv4模型的基礎(chǔ)上,針對(duì)天基成像中的紅外弱小飛行目標(biāo),為了使神經(jīng)網(wǎng)絡(luò)更準(zhǔn)確地提出感興趣區(qū)域,引入卷積注意力模塊,可以更好地將紅外弱小飛行目標(biāo)與背景區(qū)分。統(tǒng)計(jì)出紅外成像數(shù)據(jù)集里小型飛行目標(biāo)的大小,使用K-means++算法計(jì)算出更合適的先驗(yàn)候選框。天基成像平臺(tái)中或多或少會(huì)存在一些噪點(diǎn)及壞點(diǎn),這些噪點(diǎn)會(huì)對(duì)神經(jīng)元造成較大的干擾。于是在空間金字塔池化模塊中使用平均池化層,這樣使感受野的灰度值更加平均,降低噪點(diǎn)及壞點(diǎn)的影響。
YOLOv4是現(xiàn)階段兼顧實(shí)時(shí)性與準(zhǔn)確率的一種One-Stage目標(biāo)檢測(cè)算法。算法主要由3部分構(gòu)成,包括骨干特征提取網(wǎng)絡(luò)Backbone、用于融合各個(gè)特征層提取出的特征的頸部網(wǎng)絡(luò)Neck,以及最終輸出特征并進(jìn)行分類與回歸的檢測(cè)頭YoloHead。YOLOv4算法不僅繼承了YOLO算法[8]的框架,保持原有的大結(jié)構(gòu),借鑒了近些年來卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用在目標(biāo)檢測(cè)領(lǐng)域中一些新的思路。在骨干提取網(wǎng)絡(luò)借鑒了CSPNet[9]的思想,改進(jìn)了密集塊和過渡層的信息流,并且優(yōu)化了梯度反向的傳播路徑,構(gòu)建了CSPDarkNet;在頸部網(wǎng)絡(luò)優(yōu)化原有的特征金字塔提取結(jié)構(gòu),加入空間金字塔池化層構(gòu)建了路徑聚合網(wǎng)絡(luò)PANet[10];檢測(cè)頭保持不變,使用YoloHead。圖1所示為YOLOv4模型結(jié)構(gòu)。

圖1 YOLOv4 模型結(jié)構(gòu)Fig.1 YOLOv4 model structure diagram
Yolov4算法中各個(gè)模塊構(gòu)成如圖2所示,CBM是經(jīng)過批量歸一化(batch normalization,BN)使用Mish[11]激活函數(shù)的卷積層;CBL是經(jīng)過批量歸一化(batch normalization,BN)使用leaky relu激活函數(shù)的卷積層;ResUnit是殘差模塊,“Add”是將尺寸大小相同的特征圖之間的信息直接疊加,“Concat”是將尺寸大小相同的特征圖進(jìn)行特征聯(lián)合;CSP是堆疊若干個(gè)CBM及ResUnit模塊的殘差結(jié)構(gòu)。

圖2 模塊結(jié)構(gòu)Fig.2 Module structure diagram
為了提高卷積神經(jīng)網(wǎng)絡(luò)的特征表征能力,在每個(gè)預(yù)測(cè)分支后增加卷積注意力模塊(Convolutional Block Attention Module,CBAM)如圖3所示,Neck表示頸部網(wǎng)絡(luò),最終達(dá)到對(duì)特征選擇的作用。

圖3 CBAM位置圖Fig.3 CBAM location map
在整張?zhí)卣鲌D中,對(duì)感興趣的區(qū)域著重學(xué)習(xí),對(duì)大部分沒有意義的區(qū)域減輕權(quán)重節(jié)約參數(shù)和計(jì)算量。卷積注意力模塊包含兩個(gè)子模塊,分別是通道注意力模塊及空間注意力模塊,如圖4所示。

圖4 卷積注意力模塊Fig.4 Convolutional attention module diagram
(1)通道注意力模塊
通過骨干提取網(wǎng)絡(luò)所提取的特征是角點(diǎn)及細(xì)節(jié)信息的高維多通道特征圖,各個(gè)通道所提取的特征含義就是該輸入在設(shè)計(jì)的不同卷積結(jié)構(gòu)中進(jìn)行若干卷積池化操作后得到的矩陣分量。在整幅圖中,有用的目標(biāo)信息只占很小一部分,所以對(duì)整幅圖都進(jìn)行同樣的學(xué)習(xí)會(huì)大大增加計(jì)算量,通過通道注意力模塊可以對(duì)有用的特征賦予更大的權(quán)重,對(duì)無用的背景信息減少權(quán)重。
通道注意力模塊的原理受信號(hào)處理啟發(fā),任意一個(gè)在時(shí)域中連續(xù)的正弦波信號(hào)通過若干次的卷積計(jì)算,都可以用幾個(gè)頻率信號(hào)的線性組合來代替。在深度學(xué)習(xí)網(wǎng)絡(luò)中,借鑒了SENet[12]的思想,在各個(gè)通道的特征圖中首先進(jìn)行空間上的維度進(jìn)行降維處理,然后進(jìn)行特征圖的計(jì)算。
具體計(jì)算公式如下:
Mc(F)=σ(MLP(AvgPool(F)))+
MLP(MaxPool(F))
(1)

(2)
(2)空間注意力模塊

具體計(jì)算公式:

(3)

傳統(tǒng)的聚類算法通過各種隨機(jī)初始化的方法來確定聚類的中心,這種方法容易使算法的求解陷入局部最優(yōu),達(dá)不到最好的效果。因此為了更好地適配應(yīng)用場(chǎng)景,本文提出對(duì)訓(xùn)練集使用K-means++方法計(jì)算出anchor大小,從而調(diào)整預(yù)設(shè)的anchor參數(shù)。聚類的衡量標(biāo)準(zhǔn)是通過計(jì)算各個(gè)目標(biāo)大小與設(shè)置的聚類中心框大小越接近越好,采用交并比函數(shù)來度量,計(jì)算公式:
dIoU(box,centroid)=1-IoU(box,centroid)
(4)
式中:IoU(box,centroid)表示某一個(gè)目標(biāo)的候選框大小和聚類候選框大小的損失;dIou(box,centroid)表示計(jì)算出的交并比損失大小。
具體計(jì)算各個(gè)類別中心的步驟如下:
1)在測(cè)試集中的目標(biāo)中隨機(jī)選取K個(gè)目標(biāo)的大小作為“種子點(diǎn)”,如圖5(a)所示。
2)計(jì)算其余目標(biāo)到和它最近“種子點(diǎn)”的距離D(x),把這些距離累加起來得到Sum[D(x)]。
3)設(shè)定一個(gè)概率Px用來描述每個(gè)候選目標(biāo)被選作中心的概率:

(5)
4)重復(fù)第2步及第3步,直到確定出K個(gè)中心如圖5(b)所示。
5)將第4步計(jì)算得到的中心作為初始的中心如圖5(c)所示,代入K-means算法進(jìn)行求解,直到求出最合適的中心點(diǎn)。
K-means++算法的改進(jìn)在于選取初始中心時(shí)并不是沒有約束的隨機(jī)初始化,而是以當(dāng)前數(shù)據(jù)集中的某個(gè)目標(biāo)作為中心點(diǎn),并且用距離作為度量依據(jù),和中心點(diǎn)距離較遠(yuǎn)的點(diǎn)屬于該簇的概率就降低,它更有可能是一個(gè)新的簇的中心,這樣更加合理。

圖5 聚類示意Fig.5 Cluster diagram
模型訓(xùn)練預(yù)設(shè)參數(shù)里對(duì)目標(biāo)大小預(yù)設(shè)了9種大小的候選框(Anchor box)分別是(12,16)、(19,36)、(40,28)、(35,75)、(76,55)、(72,146)、(142,110)、(192,243)、(459,401)用于檢測(cè)預(yù)測(cè)頭輸出的預(yù)測(cè)結(jié)果。這些預(yù)設(shè)的Anchor box大小來源于對(duì)PASCAL VOC數(shù)據(jù)集[13]上數(shù)以萬計(jì)的目標(biāo)通過聚類計(jì)算出的回歸框大小,該數(shù)據(jù)集包含了飛機(jī)、自行車、小鳥、船等各種尺度大小的目標(biāo)。預(yù)設(shè)的Anchor大小可以適用于各種常見的待檢測(cè)目標(biāo),但是針對(duì)具體應(yīng)用場(chǎng)景,如衛(wèi)星拍攝的紅外成像中的小目標(biāo),目標(biāo)的變化范圍從幾個(gè)像素變化到幾百個(gè)像素,原先預(yù)設(shè)的Anchor大小并不能完全匹配,較小的(12,16)、(19,36)可以勉強(qiáng)適用,其他的Anchor尺寸太大使模型的檢測(cè)頭計(jì)算交并比損失時(shí)會(huì)將大部分候選框篩除掉,造成計(jì)算資源的浪費(fèi)也會(huì)影像模型的檢測(cè)性能。
YOLOv4模型在骨干提取網(wǎng)絡(luò)(backbone)之后引入了空間金字塔池化模塊(spatial pyramid pooling,SPP),該模塊可以增加整個(gè)模型的感受野,并且將全局特征與局部特征進(jìn)行融合,提高特征的信息量,SPP模塊如圖6所示。

圖6 SPP模塊結(jié)構(gòu)圖Fig.6 SPP module structure diagram
在卷積神經(jīng)網(wǎng)絡(luò)中,最大池化操作(Max pooling)可以對(duì)特征圖進(jìn)行降采樣處理,減少多余的特征信息,從而達(dá)到減少計(jì)算量的效果。池化層除了最大值池化的方式,還有均值池化。均值池化關(guān)注的每個(gè)感受野的平均值,這樣在處理背景信息噪點(diǎn)較多的情況下可以保留更多的目標(biāo)信息,有較好的處理結(jié)果,最大值池化與均值池化示意如圖7所示。

圖7 池化示意Fig.7 Pooling diagram
在最大值池化時(shí),如果成像的噪點(diǎn)或壞點(diǎn)如圖8中紅圈所示,由于只保留每個(gè)感受野的最大值信息,噪點(diǎn)和壞點(diǎn)灰度值接近于真實(shí)目標(biāo)灰度值,容易被當(dāng)作是目標(biāo),造成誤檢。采用平均值池化時(shí),噪點(diǎn)范圍較小,它的灰度值會(huì)被周圍較暗的背景平均下來,而目標(biāo)的輻射范圍較大,通過均值池化后仍可保留灰度峰值。

圖8 噪點(diǎn)示意Fig.8 Noise diagram
針對(duì)上述問題,將原SPP模塊中的最大值池化進(jìn)行改進(jìn),使用平均池化來進(jìn)行操作,步長(zhǎng)和池化層大小不變,只改變提取特征方式。這樣可以有效降低成像噪點(diǎn)和壞點(diǎn)產(chǎn)生的影響,減少誤檢提升檢測(cè)的準(zhǔn)確率。
本算法在Windows10操作系統(tǒng),采用深度學(xué)習(xí)框架Pytorch,實(shí)現(xiàn)了基于改進(jìn)YOLOv4的紅外弱小目標(biāo)識(shí)別算法。實(shí)驗(yàn)平臺(tái)采用CPU:Intel(R)Xeon(R)E5-2699 v4 2.20 GHz;內(nèi)存128 G:GPU:NVIDIA Quadro P6000 24 GB。在上述環(huán)境中進(jìn)行訓(xùn)練及測(cè)試算法模型。為了驗(yàn)證算法的準(zhǔn)確率和實(shí)時(shí)性,首先選取了當(dāng)前目標(biāo)檢測(cè)領(lǐng)域較為先進(jìn)的幾種算法模型,進(jìn)行對(duì)比的有RefineDet[14]、DSSD[15]、YOLOv3 三種算法,接著設(shè)計(jì)了消融實(shí)驗(yàn)證明改進(jìn)SPP模塊及CBAM模塊的效果,以上測(cè)試均在上述環(huán)境中進(jìn)行測(cè)試,訓(xùn)練集是從數(shù)據(jù)集中隨機(jī)抽取70%的樣本構(gòu)建而成,測(cè)試集是從數(shù)據(jù)集中隨機(jī)抽取30%樣本構(gòu)建而成。
本文所要檢測(cè)的目標(biāo)是通過天基平臺(tái)拍攝的紅外波段的小型飛行目標(biāo),由于應(yīng)用領(lǐng)域特殊,公開數(shù)據(jù)集資源較少,數(shù)據(jù)集主要來源于內(nèi)部資料,目標(biāo)類型只有一種就是小型飛行目標(biāo),數(shù)據(jù)集總計(jì)28 732張圖片,每一張均按照PASCAL VOC格式進(jìn)行了人工標(biāo)注。
表1為不同算法的得到的Anchor大小。

表1 聚類結(jié)果
本文對(duì)標(biāo)注好的測(cè)試集進(jìn)行聚類,較少的簇類個(gè)數(shù)不能準(zhǔn)確描述目標(biāo)框的分布,過多的簇類個(gè)數(shù)會(huì)極大增加模型訓(xùn)練的計(jì)算量,并且會(huì)導(dǎo)致模型過擬合,所以預(yù)先確定簇類個(gè)數(shù)K=9,為了對(duì)比不同聚類算法的性能,保證其余參數(shù)不變的情況下,采用K-means和K-means++方法對(duì)訓(xùn)練集的目標(biāo)框的大小進(jìn)行聚類。
最終測(cè)得的平均準(zhǔn)確率mAP如圖9所示,從圖中可以看出,采用K-means++算法得到的Anchor聚類結(jié)果最高精確度達(dá)到了80.13%優(yōu)于K-means算法77.05%。

圖9 Anchor準(zhǔn)確率Fig.9 Anchor accuracy map
為了量化評(píng)價(jià)各個(gè)算法的能力,使用平均準(zhǔn)確率作為評(píng)價(jià)指標(biāo)[16],該指標(biāo)綜合考慮了算法的精確率與召回率,精確率是指在被分類器判定為正確的樣本中有多少是真正正確的,召回率是指真正為正確樣本中有多少被分類器判定為正確樣本,計(jì)算公式如下:

(6)

(7)

(8)
式中:TP是正確樣本被判斷為正確;FP是正確樣本被判斷為錯(cuò)誤;TN是錯(cuò)誤樣本被判斷為正確;FN錯(cuò)誤樣本被判斷為錯(cuò)誤。
為了驗(yàn)證算法的識(shí)別準(zhǔn)確率,將本文的算法模型與當(dāng)前主流的目標(biāo)檢測(cè)模型對(duì)比,所對(duì)比的性能參數(shù)有FPS(每秒幀率)、AP(平均正確率)、AP50和 AP75(以0.5 和 0.75為IoU臨界值分別估計(jì)出平均準(zhǔn)確度),如表2所示。

表2 識(shí)別準(zhǔn)確率
由表2中數(shù)據(jù)可知,DSSD算法的每秒幀數(shù)和平均正確率均低于本文方法;RefineDet平均正確率優(yōu)于Yolov3并且接近于Yolov4,但FPS較低檢測(cè)速度較慢;Yolov3算法是上一代的Yolo系列檢測(cè)算法,在檢測(cè)速度及準(zhǔn)確率均低于Yolov4算法;添加了本文所提的均值池化模塊的Yolov4-SPP算法在速度上與Yolov4接近,但是由于使用了均值池化替代了原來的最大值池化,減少了噪點(diǎn)的影響使準(zhǔn)確率有所提升;添加了卷積注意力模塊CBAM的Yolov4-CBAM,檢測(cè)速度基本持平,檢測(cè)準(zhǔn)確率略高于原版Yolov4;添加了CBAM和均值池化SPP的Yolov4-SPP-CBAM與其他幾種算法對(duì)比中檢測(cè)準(zhǔn)確率最高,相比于初始的Yolov4提升了5%,檢測(cè)速度也有所提升但效果欠佳。部分測(cè)試結(jié)果如圖10所示,包含4個(gè)序列,序列左側(cè)為待檢測(cè)影像,右側(cè)為本文所提方法的檢測(cè)結(jié)果。

圖10 實(shí)驗(yàn)結(jié)果Fig.10 Experimental results
依據(jù)紅外弱小飛行目標(biāo)在天基成像系統(tǒng)中的特點(diǎn)和卷積神經(jīng)網(wǎng)絡(luò)對(duì)目標(biāo)特征的較好擬合性,提出了面向天基監(jiān)視的紅外弱小飛行目標(biāo)識(shí)別算法。首先使用K-means++算法對(duì)訓(xùn)練集候選框大小進(jìn)行學(xué)習(xí)聚類出9種大小的候選框,使候選框的大小更接近于真實(shí)目標(biāo)的大小。在模型中添加卷積注意力模塊,對(duì)感興趣的區(qū)域著重學(xué)習(xí),對(duì)大部分沒有意義的區(qū)域減輕權(quán)重節(jié)約參數(shù)和計(jì)算量。使用空間金字塔池化模塊擴(kuò)大感受野,并針對(duì)天基成像中的噪點(diǎn)和壞點(diǎn),將最大值池化優(yōu)化為平均池化,減少噪點(diǎn)及壞點(diǎn)的影響。通過實(shí)驗(yàn)表明,采用K-means++方法對(duì)候選框進(jìn)行聚類,準(zhǔn)確率達(dá)到了80.13%。集成了SPP和CBAM模塊后的算法識(shí)別準(zhǔn)確率達(dá)到了83.3%,相比于原本算法提高了5.5%。本文所提方法可以有效地識(shí)別出紅外弱小飛行目標(biāo),骨干網(wǎng)絡(luò)仍使用CSPDarkNet,后續(xù)研究重點(diǎn)應(yīng)放在骨干網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化,采用更加高效和輕量化的骨干網(wǎng)絡(luò)。