湯 淼, 閆文君,2, 方 偉,2, 譚凱文
(1.海軍航空大學(xué), 山東 煙臺 264001;2.海戰(zhàn)場信息感知與融合技術(shù)國家級實驗教學(xué)中心, 山東 煙臺 264001)
戰(zhàn)斗機作為當(dāng)今世界奪取制空權(quán)的重要裝備,其自身降落的安全性是世界軍事強國十分關(guān)注的問題之一,容易受到天氣、裝備自身完好性、飛行員操縱時機等多個方面因素的影響。其中,起落架收放狀態(tài)是飛行員和陸基指揮人員在戰(zhàn)斗機降落過程中高度關(guān)注的問題,偶發(fā)的錯誤將對人員、裝備帶來不可挽回的損失。因此,對起落架的狀態(tài)進(jìn)行實時檢測能有效提高戰(zhàn)斗機降落的安全性,減少不必要的非戰(zhàn)斗損毀。
近年來,基于深度學(xué)習(xí)的目標(biāo)檢測算法因能夠自動地從圖像中提取目標(biāo)的特征,具有學(xué)習(xí)能力強且識別速度快、精度高等優(yōu)點,已得到大量廣泛應(yīng)用。目前,主要流行的目標(biāo)檢測算法可以分為基于候選區(qū)域的兩階段檢測算法和基于邊界框回歸的單階段檢測算法。兩階段的代表算法主要有R-CNN[1-2]、Fast R-CNN[3]和Faster R-CNN[4],單階段的代表算法主要有SSD[5]和YOLO[6]系列算法。其中,F(xiàn)aster R-CNN精確度最高,但檢測速度很慢,不能滿足實時性的要求;SSD算法的檢測性能最低;YOLOv1在速度上表現(xiàn)不錯,但對小物體泛化能力較弱。YOLOv2檢測精度和速度都超過了上一代,但檢測精度的提升并不明顯。YOLOv3[7]在檢測精度和速度之間取得了平衡。與YOLOv3相比,YOLOv4[8]擁有更高的精確度而且檢測速度也沒有下降。YOLOv5的訓(xùn)練速度更快,更易于部署。在YOLOv5的改進(jìn)方面,文獻(xiàn)[9]改進(jìn)了損失函數(shù)并在殘差塊中嵌入坐標(biāo)注意力機制來提高對艦船目標(biāo)的檢測效果。文獻(xiàn)[10]在SPP結(jié)構(gòu)中引入隨機池化,利用BiFPN結(jié)構(gòu)進(jìn)行多尺度特征融合同時應(yīng)用ELU激活函數(shù)提高模型魯棒性。
盡管這些算法在很多特定的數(shù)據(jù)集中取得了不錯的效果,但在戰(zhàn)斗機起落架檢測上仍會面臨許多的挑戰(zhàn)。一是視頻數(shù)據(jù)本身就不太清晰,導(dǎo)致截幀后的圖像質(zhì)量較差;二是戰(zhàn)斗機的運動會導(dǎo)致截取的圖片中起落架發(fā)生一定程度的變形;三是戰(zhàn)斗機降落時間短,對起落架的檢測需要較高的實時性和精度。
本文在YOLOv5檢測模型的基礎(chǔ)上進(jìn)行改進(jìn),首先,對視頻進(jìn)行截幀處理得到戰(zhàn)斗機降落的圖像數(shù)據(jù),通過引入自動色彩均衡算法(ACE)[11-12]提高圖像的清晰度;然后,在YOLOv5的主干特征提取網(wǎng)絡(luò)提取出的三個有效特征層上施加超強通道注意力模塊(ECA-Net)[13]來提高檢測性能,在自制的戰(zhàn)斗機起落架數(shù)據(jù)集上進(jìn)行訓(xùn)練;最后,用訓(xùn)練得到的模型對戰(zhàn)斗機起落架圖片進(jìn)行檢測。
采集得到的戰(zhàn)斗機降落的視頻數(shù)據(jù)經(jīng)過截幀處理后圖像質(zhì)量不能得到很好的保證,惡劣的圖像數(shù)據(jù)會影響起落架的檢測效果,因此需要對視頻圖像進(jìn)行增強。
目前幾類典型的通過調(diào)整圖像的像素值來改變圖像質(zhì)量的算法主要有直方圖均衡化(HE)[14-15]、帶色彩恢復(fù)的多尺度視網(wǎng)膜增強(MSRCR)[16]以及自動色彩均衡等方法。直方圖均衡化主要是通過改變圖像的直方圖來改變圖像中各像素的灰度來達(dá)到增強圖像對比度的目的,可以將過亮和過暗的圖像變得更加清晰。MSRCR算法通過色彩恢復(fù)因子,調(diào)整原圖像中3個顏色通道之間的比例關(guān)系,將相對較暗區(qū)域的信息凸顯出來,達(dá)到提高圖像局部對比度的目的,使圖像在人眼視覺感知中變得更加逼真。ACE考慮圖像中顏色與亮度的空間位置關(guān)系,利用像素點之間的亮度差值來校正像素值。首先,通過對圖像的色彩域和空域調(diào)整,完成圖像的色差校正,得到空域重構(gòu)圖像。計算公式為
(1)
式中:Rc(p)是中間結(jié)果;Ic(p)-Ic(j)為2個點的亮度差;d(p,j)表示距離度量函數(shù);r(*)為亮度表現(xiàn)函數(shù),需要是奇函數(shù),這一步可以適應(yīng)局部圖像對比度,r(*)可以放大較小的差異,并豐富大的差異,根據(jù)局部內(nèi)容擴展或者壓縮動態(tài)范圍。一般的,r(*)為
(2)
接著,對校正后的圖像進(jìn)行動態(tài)擴展,對于RGB三個通道的彩色圖像需要對每一個色道都進(jìn)行處理,再合并成一幅完整的圖像。最后,將其映射到[0,255]空間。ACE能夠較好地處理圖像細(xì)節(jié),實現(xiàn)色彩校正以及提升圖像亮度和對比度,具有很好的圖像增強效果。
YOLOv5是YOLO系列的最新一代目標(biāo)檢測網(wǎng)絡(luò),由Ultralytics于2020年5月提出。YOLOv5網(wǎng)絡(luò)目前有四種結(jié)構(gòu),分別是YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x。本文選擇YOLOv5s模型作為檢測模型進(jìn)行實驗,結(jié)構(gòu)上可以分為輸入端、Backbone、Neck、Prediction四個部分,具體的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)示意圖
YOLOv5s輸入端為640×640×3的圖像,利用Mosaic算法將四張圖片進(jìn)行拼接實現(xiàn)數(shù)據(jù)增強,豐富了檢測對象的背景,加強模型的特征提取能力,有利于提升模型的檢測性能。Backbone采用CSPDarknet作為主干特征提取網(wǎng)絡(luò),它通過Focus模塊進(jìn)行切片操作在一張圖片中每隔一個像素得到一個值,從而獲得四個獨立的特征層,然后再將四個獨立的特征層進(jìn)行堆疊,實現(xiàn)了寬高的壓縮和通道數(shù)的擴張,得到320×320×12的特征圖。使用CBS(Conv+BN+SiLU)和帶有殘差塊的CSP_1X結(jié)構(gòu),CBS模塊中的SiLU激活函數(shù)具有無上界有下界、平滑和非單調(diào)的特性,對深層模型的效果要好于ReLU激活函數(shù);CSP_1X內(nèi)部的殘差塊使用了跳躍連接,緩解了因網(wǎng)絡(luò)深度的增加帶來的梯度消失問題。同時,還加入了空間特征金字塔SPP[17]結(jié)構(gòu),提高網(wǎng)絡(luò)的感受野。經(jīng)過主干特征網(wǎng)絡(luò)的提取,最終得到的三個有效特征圖的尺寸分別為80×80×256、40×40×512和20×20×1 024。
YOLOv5中依然采用PANet[18]結(jié)構(gòu),主干部分獲得的三個有效特征層在加強特征提取網(wǎng)絡(luò)中進(jìn)行特征融合,結(jié)合不同尺度的特征信息,不僅會對特征進(jìn)行上采樣實現(xiàn)特征融合,還會對特征再次進(jìn)行下采樣實現(xiàn)特征融合,避免了大量信息的丟失。在目標(biāo)檢測預(yù)測結(jié)果處理階段,主要完成對圖像特征的預(yù)測以此來生成邊界框和預(yù)測目標(biāo)種類。
YOLOv5使用K-means聚類算法聚類訓(xùn)練集中所有目標(biāo)框的寬、高,默認(rèn)的先驗框尺寸是在VOC數(shù)據(jù)集上聚類得到的,然而在戰(zhàn)斗機降落的視頻圖像數(shù)據(jù)集上需要檢測的目標(biāo)種類只有起落架一類,為提高對起落架的檢測精度,重新對本文數(shù)據(jù)集中目標(biāo)的寬和高進(jìn)行聚類分析,得到合適的先驗框尺寸。首先對已標(biāo)注的數(shù)據(jù)集進(jìn)行聚類,不斷增加聚類中心的個數(shù),經(jīng)過迭代,計算每個數(shù)據(jù)到每個聚類中心的距離,距離計算公式為
d=1-IoU
(3)
式中:IoU為預(yù)測框與真實框的交并比。
以該距離函數(shù)作為優(yōu)化準(zhǔn)則函數(shù)進(jìn)行聚類,直到準(zhǔn)則函數(shù)達(dá)到最小時,聚類結(jié)束。這樣會在一定程度上降低因不同樣本寬、高差距大引起的聚類結(jié)果誤差大的問題。
在自制的戰(zhàn)斗機起落架數(shù)據(jù)集上,使用K-means算法聚類得到的先驗框的尺寸分別為(7,11),(8,13),(8,12),(7,14),(8,15),(8,20),(12,17),(11,25),(18,38)。前三個先驗框是80×80×256這個特征層對應(yīng)的先驗框,后三個先驗框為20×20×1 024特征層對應(yīng)的先驗框,聚類效果如圖2所示。
圖2 K-mean聚類效果
通道注意力機制能夠根據(jù)通道間的依賴性,自適應(yīng)地分配給各通道權(quán)重,強化重要特征圖對結(jié)果的影響,弱化非重要特征的負(fù)面作用,結(jié)構(gòu)簡單,可以有效提高現(xiàn)有網(wǎng)絡(luò)模型的性能。注意力機制由于其具有即插即用的特性,已被廣泛于多種神經(jīng)網(wǎng)絡(luò)中。
本文在主干特征提取網(wǎng)絡(luò)提取出的三個有效特征層上施加ECA超強通道注意力機制,在避免降維給通道帶來副作用的同時能夠使模型將注意力放在戰(zhàn)斗機降落圖像的起落架上,忽略背景所帶來的影響和干擾,由此來提高模型的檢測準(zhǔn)確率。
ECANet在SENet的基礎(chǔ)上做出了部分改進(jìn),提出了一種不降維的局部跨信道交互策略(ECA模塊)和自適應(yīng)選擇一維卷積核大小的方法,該模塊通過執(zhí)行大小為K的快速一維卷積來設(shè)置通道權(quán)重,以避免降維并有效地實現(xiàn)跨通道交流。整個過程只增加了少量的參數(shù),卻能夠獲得較為明顯的效果,模塊結(jié)構(gòu)圖如圖3所示。
圖3 ECA模塊結(jié)構(gòu)圖
對于輸入特征圖X,通道空間大小為H×W,通道數(shù)為C,在經(jīng)過全局平均池化操作后特征圖的維度變?yōu)榱?×1×C,計算得到自適應(yīng)的一維卷積核大小K,將SE模塊中的兩次全連接層與激活函數(shù)ReLU去除,在全局平均池化后的特征上通過一個卷積核大小為K的快速1D卷積進(jìn)行學(xué)習(xí),得到對于特征圖的每個通道的權(quán)重,將歸一化權(quán)重和原輸入特征圖逐通道相乘,生成加權(quán)后的特征圖。
K為卷積核的大小,代表了局部跨通道交流的覆蓋范圍,它的大小選擇會非常重要,能夠影響注意力機制中每個權(quán)重計算要考慮的通道數(shù)量。關(guān)于K值的確定,在不同的網(wǎng)絡(luò)結(jié)構(gòu)以及不同卷積塊中,可以通過手動調(diào)節(jié),也可以通過一個自適應(yīng)函數(shù)來調(diào)節(jié),卷積核大小K的計算公式為
(4)
式中:|t|odd表示距離t最近的奇數(shù);γ取2;b取1。
YOLOv5的損失函數(shù)由三種損失函數(shù)組成,分別是分類損失、定位損失和置信度損失,以上三項加權(quán)求和即為YOLOv5模型的總損失函數(shù),損失函數(shù)可以在很大程度上決定模型的性能。置信度損失部分是根據(jù)正負(fù)樣本和特征點的是否含有物體的預(yù)測結(jié)果來計算交叉損失;分類預(yù)測上采用二元交叉熵?fù)p失函數(shù)來預(yù)測錨框與對應(yīng)的分類是否正確,損失函數(shù)表示如下:
(5)
式中:N為樣本總數(shù);yi為第i個樣本所屬的類別;pi為第i個樣本的預(yù)測概率值。
本文使用全局交并比(Complete-IoU,CIoU)[19]作為定位損失函數(shù)來衡量預(yù)測框與真實框之間的差異,CIoU可以在矩形框回歸問題上獲得更好的收斂速度和精度。CIoU將目標(biāo)與中心點之間的距離、重疊面積、長寬比以及懲罰項都考慮進(jìn)去,使得目標(biāo)框回歸變得更加穩(wěn)定。CIoU的懲罰項RCIoU為
(6)
其中,
(7)
(8)
CIoU損失函數(shù)LCIoU公式為
(9)
式中:ρ2(b,bgt)為預(yù)測框與真實框的中心點的歐式距離;c為同時包含預(yù)測框和真實框的最小矩形區(qū)域的對角線距離;α為trade-off的參數(shù);v為長寬比的一致性;IoU為預(yù)測框與真實框的交并比;wgt為真實框?qū)挾?;hgt為真實框高度;w為預(yù)測框?qū)挾龋籬為預(yù)測框高度。
本文采用的數(shù)據(jù)集是基于某型戰(zhàn)斗機降落過程的視頻數(shù)據(jù),通過CV處理視頻數(shù)據(jù)得到單幀圖片組成數(shù)據(jù)集,共844張圖片,按照9∶1的比例分為訓(xùn)練集與測試集。在具體的標(biāo)注過程中,使用LabelImg標(biāo)注工具對圖片中的起落架進(jìn)行手工標(biāo)注矩形框,自動生成xml標(biāo)簽文件,從而得到真實框ground truth用于訓(xùn)練,數(shù)據(jù)集格式采用VOC數(shù)據(jù)集格式,其中有573張圖片前起落架因戰(zhàn)斗機轉(zhuǎn)向、背景遮擋等問題人眼視覺不能正確辨認(rèn)而未進(jìn)行標(biāo)記。
YOLOv5網(wǎng)絡(luò)模型大部分都是在Pytorch框架上構(gòu)建的,本文在此基礎(chǔ)上實現(xiàn)了把YOLOv5模型部署在了Tensorflow框架上,實驗環(huán)境采用CPU為Inter core i9處理器,32 GB的內(nèi)部存儲器,GPU處理器為NVIDIA RTX 3080Ti;實驗平臺為Windows10;軟件環(huán)境是Python 3.7,Anaconda 3,CUDA11.0。輸入圖像尺寸統(tǒng)一為640×640像素,采用SGD優(yōu)化器進(jìn)行訓(xùn)練,優(yōu)化器內(nèi)部使用momentum參數(shù),權(quán)值衰減數(shù)設(shè)為0.000 5,每次迭代訓(xùn)練樣本數(shù)為16,最小學(xué)習(xí)率為0.001,最大學(xué)習(xí)率為0.01,訓(xùn)練次數(shù)設(shè)為100次,置信度設(shè)為0.5。
本文根據(jù)精確率Precision、召回率Recall、平均精確度mAP和每秒的幀率FPS作為評價指標(biāo)來評價模型的性能。精確率、召回率與平均精確度的計算公式為:
(10)
(11)
(12)
式中:TP為被正確預(yù)測為起落架的正樣本的數(shù)量;FP為被預(yù)測為起落架,但實際上為假樣本的樣本數(shù)量;FN為被預(yù)測為假樣本,但實際為正樣本起落架的樣本數(shù)量;P(R)為精確度與召回率曲線。精確率表示模型檢測出來的起落架并且真正為起落架的數(shù)量占模型檢測為起落架的比例,體現(xiàn)了模型檢測的準(zhǔn)確性。召回率表示模型檢測出真實為起落架的數(shù)量占所有真實為起落架的比例,體現(xiàn)了模型識別真實起落架的能力;但是,精確率與召回率相互制約,很難同時提高,因此,引入了更具說服力的平均精確率mAP來評價算法的檢測性能,mAP越高,性能越好。FPS用來評估模型的檢測速度,表示每秒處理的圖片的數(shù)量,值越大,檢測速度越快,性能越好。
(1)圖像增強對比實驗
本文分別使用了HE、MSRCR和ACE算法對戰(zhàn)斗機降落視頻圖片進(jìn)行圖像增強,圖像效果如圖4所示。
圖4 不同算法的效果對比
從圖4可以看出,經(jīng)HE算法處理得到的圖像效果很差,目標(biāo)與背景顏色對比度不明顯,送入檢測網(wǎng)絡(luò)中很難檢測出起落架;使用帶色彩恢復(fù)的MSRCR算法得到的圖像顏色發(fā)生變化而且圖像偏暗;經(jīng)過ACE算法得到的圖像亮度和顏色都有所改善,增強效果要好于HE和MSRCR,因此本文選用了ACE算法進(jìn)行圖像增強。
(2)不同網(wǎng)絡(luò)模型對比實驗
為了驗證本文提出算法的性能,分別選用了SSD、YOLOv3、YOLOv4、CenterNet、YOLOv5五種流行的目標(biāo)檢測算法在同一實驗平臺和相同數(shù)據(jù)集下進(jìn)行對比實驗,完成對戰(zhàn)斗機起落架的檢測,檢測結(jié)果如表1所示。
表1 不同檢測模型的檢測結(jié)果
從表中可以看出,本文算法相比于SSD算法,速度上略有不足,但mAP提高了很多,性能明顯更好;對比于CenterNet算法,在速度和mAP上都有顯著提升;和YOLOv3、YOLOv4算法相比,速度上略有提升,mAP提升明顯;和原YOLOv5算法相比,mAP提升了1.43%,速度上幾乎持平,能夠滿足實時檢測的需求。在對戰(zhàn)斗機降落視頻的檢測中,能夠較好地檢測出后起落架且跟蹤穩(wěn)定。
(3)消融實驗
算法對視頻圖像數(shù)據(jù)進(jìn)行了圖像增強,在YOLOv5的主干特征提取網(wǎng)絡(luò)提取的三個有效特征層后嵌入了ECA高效通道注意力模塊,為評估兩個改進(jìn)模塊對于算法性能的提升效果,特設(shè)計消融實驗在相同的實驗條件下進(jìn)行驗證,實驗結(jié)果如表2所示。實驗結(jié)果表明,兩種改進(jìn)方法單獨作用都會起到提高檢測精度的效果,單獨進(jìn)行圖像增強mAP增加了0.37%,單獨嵌入ECA高效通道注意力模塊mAP增加了0.52%,注意力機制模塊的性能要好于圖像增強,兩者共同作用mAP增加了1.43%,檢測精度有了較大的提高。
表2 消融實驗數(shù)據(jù) %
為驗證改進(jìn)后YOLOv5算法的檢測效果,通過消融實驗對比不同模塊加入后檢測效果的變化,檢測效果對比如圖5所示,圖中的檢測概率表示預(yù)測框與真實框的重疊程度,由于置信度設(shè)為0.5,只有檢測概率大于0.5的預(yù)測框才會被保留下來。置信度分?jǐn)?shù)與真值框的IoU與IoU閾值相比較來判斷為TP還是FP,進(jìn)而影響到mAP的計算。從圖5可以看出,各模塊的加入都漏檢了戰(zhàn)斗機的前起落架,這主要是由于降落過程時間短,戰(zhàn)斗機轉(zhuǎn)向等原因?qū)е聰?shù)據(jù)集中標(biāo)注前起落架的標(biāo)簽數(shù)據(jù)較少,未能較好地提取前起落架的特征信息,對檢測效果造成了很大影響;對后起落架都能很好地檢測出來,各模塊加入后檢測效果都有了一定提升,與圖5(a)檢測效果相比,圖5(b)為加入了ACE模塊后對起落架的檢測效果,對左側(cè)起落架的檢測概率提高了2%,右側(cè)提高了3%;圖5(c)為加入ECA模塊后對起落架的檢測效果,對左側(cè)起落架的檢測概率提高了6%,右側(cè)提高了1%;圖5(d)為本文算法的檢測效果,對左側(cè)起落架的檢測概率提高了7%,右側(cè)提高了1%。本文算法的mAP值較高,整體的檢測效果也較好,能夠更好地識別出起落架目標(biāo)。
圖5 消融實驗檢測效果對比
本文針對視頻圖像中戰(zhàn)斗機起落架目標(biāo)小、檢測難度大等問題,提出了一種改進(jìn)的YOLOv5算法完成對戰(zhàn)斗機起落架的檢測。通過ACE算法對視頻圖像進(jìn)行增強,在主干提取網(wǎng)絡(luò)提取的三個有效特征層后嵌入ECA注意力機制,得到新的起落架檢測模型。實驗結(jié)果表明,經(jīng)過改進(jìn)后YOLOv5模型與原YOLOv5模型相比,mAP提高了1.43%。但該算法也有局限性,視頻圖像數(shù)據(jù)中含有前起落架的標(biāo)簽數(shù)據(jù)較少,對前起落架檢測效果很差。下一步將繼續(xù)進(jìn)行算法優(yōu)化,提高小樣本條件下對起落架的檢測精度。