王 杰,張 上*,張 岳,胡益民
(1.三峽大學(xué) 水電工程智能視覺監(jiān)測湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 宜昌 443002;2.三峽大學(xué) 湖北省建筑質(zhì)量檢測裝備工程技術(shù)研究中心,湖北 宜昌 443002;3.三峽大學(xué) 計(jì)算機(jī)與信息學(xué)院,湖北 宜昌 443002)
遙感影像(Sensing Image)是指通過具有攝影成像能力的飛機(jī)或衛(wèi)星獲取到的地球表面圖像,具有豐富的背景信息。隨著軍工武器裝備的迭代升級,軍用飛機(jī)家族成員日益壯大,高效的遙感圖像軍用飛機(jī)目標(biāo)檢測能夠快速獲取軍事目標(biāo)信息,提升作戰(zhàn)時的態(tài)勢感知能力,助力科技強(qiáng)軍。傳統(tǒng)的遙感圖像檢測方法使用固定的尺度對目標(biāo)進(jìn)行特征提取,再通過機(jī)器學(xué)習(xí)來對目標(biāo)進(jìn)行分類,存在檢測速度慢、誤檢率高和復(fù)雜背景下識別準(zhǔn)確率低等問題[1-3]。由于遙感影像具有采集范圍廣、目標(biāo)像素占比少和特征表達(dá)不明顯等特點(diǎn),使得遙感影像中軍用飛機(jī)的目標(biāo)檢測任務(wù)具有更大挑戰(zhàn)[4-5]。
隨著深度學(xué)習(xí)的快速發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測算法得到了快速發(fā)展。目前,大部分目標(biāo)檢測算法都使用卷積神經(jīng)網(wǎng)絡(luò)來提取目標(biāo)特征,基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測算法被分為2類:一類是以SSD[6]、YOLO[7-8]、YOLOv3[9]和YOLOv4[10]等為代表的單階段目標(biāo)檢測算法,此類算法可直接從網(wǎng)絡(luò)中獲取特征信息,來預(yù)測目標(biāo)的類別和位置,具有檢測速度快、占用資源少等優(yōu)點(diǎn);另一類是以R-CNN[11]、Fast R-CNN[12]、Faster R-CNN[13]和Mask R-CNN[14]等為代表的雙階段目標(biāo)檢測算法,這類算法需要先生成預(yù)選框,再對目標(biāo)進(jìn)行分類,具有檢測精度高等優(yōu)點(diǎn)。目前已有大批學(xué)者在飛機(jī)的目標(biāo)檢測領(lǐng)域做出了貢獻(xiàn),楊予昊等[15]提出基于卷積神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)的HRRP識別方法,飛機(jī)目標(biāo)的平均識別準(zhǔn)確率提高了10%以上。祝文韜等[16]提出改進(jìn)的ROI Pooling方案,解決了目標(biāo)區(qū)域失配問題。王冰等[17]提出飛機(jī)目標(biāo)多尺度檢測方法(AFSSD),有效檢測了不同尺度飛機(jī)目標(biāo)并提升了檢測精度。楊鈞智等[18]提出MSCFF+CNN飛機(jī)目標(biāo)自動檢測算法,在提取目標(biāo)候選區(qū)前濾除了圖像的復(fù)雜背景,目標(biāo)檢測的精確率得到了大幅提高。
目前,軍用飛機(jī)目標(biāo)檢測領(lǐng)域的發(fā)展仍較為緩慢,在眾多相對成熟的目標(biāo)檢測算法中,軍用飛機(jī)的目標(biāo)檢測效果仍存在著諸多問題:
① 軍用飛機(jī)目標(biāo)檢測的平均準(zhǔn)確率較低,對不同目標(biāo)型號的識別誤差較大,并且普遍存在飛機(jī)目標(biāo)漏檢的情況;
② 模型訓(xùn)練的速度較慢、泛化能力弱,模型推理效果差;
③ 訓(xùn)練后的模型體積和計(jì)算量較大,無法實(shí)現(xiàn)輕量化的軍用飛機(jī)目標(biāo)檢測。
本文貢獻(xiàn)如下:
① 為解決軍用飛機(jī)目標(biāo)檢測的精度低、漏檢和虛警率高等問題,基于YOLOv5s提出了YOLO-MAR網(wǎng)絡(luò)結(jié)構(gòu),對原模型進(jìn)行重構(gòu),調(diào)整了小尺度目標(biāo)特征的表達(dá)能力,改進(jìn)后的模型檢測效果較好,平均檢測精度可達(dá)91.7%;
② 為解決模型訓(xùn)練速度慢等問題,在YOLO-MAR中加入了SIoU Loss函數(shù),重新定義懲罰指標(biāo),提高函數(shù)回歸效率和推理的準(zhǔn)確性;
③ 為實(shí)現(xiàn)模型輕量化,使用FPGM對模型進(jìn)行剪枝,修剪后的模型計(jì)算量(GFLOPs)低至0.5,體積最小可達(dá)0.2 MB,相較YOLOv5降低了約98%。
YOLOv5作為YOLO系列中較為成熟的一代,因較高的檢測精度,在目標(biāo)檢測領(lǐng)域得到了大量運(yùn)用。但YOLOv5在檢測特定尺度目標(biāo)時效果一般,如遙感影像中的軍用飛機(jī)目標(biāo),YOLOv5就無法完成高質(zhì)量的檢測任務(wù),因此,本文提出了YOLO-Military Aircraft Recognition(YOLO-MAR)算法。
YOLO-MAR算法的核心在于,針對遙感圖像中軍用飛機(jī)目標(biāo)較小的特性,輕量化重構(gòu)原網(wǎng)絡(luò)結(jié)構(gòu)模型,使新改進(jìn)的模型更適用于檢測軍用飛機(jī)目標(biāo)。YOLO-MAR由輕量化重構(gòu)網(wǎng)絡(luò)結(jié)構(gòu)和SIoU組成。從長度和寬度2個方向同時對網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行調(diào)整,去除冗余模塊,實(shí)現(xiàn)輕量化特征融合網(wǎng)絡(luò)架構(gòu)和改變感受野尺度;使用SIoU來替代CIoU,使模型的收斂速度加快并提升檢測的精度。YOLO-MAR網(wǎng)絡(luò)架構(gòu)如圖1所示,經(jīng)過輕量化處理的YOLO-MAR網(wǎng)絡(luò)架構(gòu)在體積、計(jì)算量、檢測精度和推理速度等方面均有較好的表現(xiàn)。
圖1 YOLO-MAR網(wǎng)絡(luò)架構(gòu)Fig.1 YOLO-MAR network architecture
原YOLOv5中通過特征融合輸出的特征圖有80×80、40×40和20×20三個尺度,雖然這些特征圖能夠兼顧到小尺度目標(biāo)的檢測,但在執(zhí)行遙感圖像中軍用飛機(jī)這些目標(biāo)為主的檢測任務(wù)時,YOLOv5的檢測效果并不理想。本文根據(jù)檢測遙感圖像軍用飛機(jī)目標(biāo)來調(diào)整感受野尺度,去除20×20的感受野尺寸,提高了小尺度目標(biāo)特征表達(dá)能力,此改進(jìn)方法使得YOLO-MAR更適配遙感圖像軍用飛機(jī)目標(biāo)檢測任務(wù)。
在遙感圖像豐富的背景信息中,飛機(jī)目標(biāo)往往只占用圖像的一小部分。在目標(biāo)檢測任務(wù)中,多次的卷積迭代和與下采樣融合會導(dǎo)致少許目標(biāo)的特征信息丟失,當(dāng)卷積到一定尺度后,圖像中的特征信息量將出現(xiàn)斷崖式下滑。因此,YOLO-MAR為防止飛機(jī)目標(biāo)特征信息丟失,減少了卷積和下采樣的次數(shù),調(diào)整骨干網(wǎng)絡(luò)結(jié)構(gòu),去除大感受野尺度,在降低了網(wǎng)絡(luò)結(jié)構(gòu)運(yùn)算量的同時保證了飛機(jī)目標(biāo)特征的表達(dá)能力。
YOLO-MAR中特征融合網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn)方法是:首先,將淺層特征和深層特征融合,分別與80×80、40×40感受野尺度的特征圖融合;然后,再將深層特征和淺層特征融合,分別與40×40、80×80感受野尺度的特征圖融合;最后,對融合后的特征圖進(jìn)行預(yù)測。通過突出淺層特征信息,能夠有效降低飛機(jī)目標(biāo)特征信息的損失。
YOLO-MAR的網(wǎng)絡(luò)結(jié)構(gòu)通過分別重構(gòu)特征提取網(wǎng)絡(luò)和特征融合網(wǎng)絡(luò),調(diào)整感受野尺度得以實(shí)現(xiàn)。YOLO-MAR算法的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 YOLO-MAR詳細(xì)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Detailed network structure of YOLO-MAR
先剔除特征提取主干網(wǎng)絡(luò)的冗余參數(shù),并調(diào)整模塊位置,再對應(yīng)改進(jìn)的特征提取網(wǎng)絡(luò),將調(diào)整特征融合網(wǎng)絡(luò)實(shí)現(xiàn)80×80、40×40兩種尺度的深層特征和淺層特征融合,最后得到輕量化的網(wǎng)絡(luò)結(jié)構(gòu)模型。
回歸損失函數(shù)作為目標(biāo)檢測算法中衡量檢測精度的一種方式,在原YOLOv5中使用CIoU作為損失函數(shù),包含預(yù)測框和真實(shí)框的重疊面積、中心點(diǎn)距離和縱橫比3個方面。SIoU Loss函數(shù)首次引入角度損失成本概念,能夠加快模型收斂的速度并提高檢測精度,角度損失示意如圖3所示。
圖3 角度損失示意Fig.3 Angle loss
SIoU損失函數(shù)由角度成本損失、距離成本損失、形狀成本損失和IoU成本損失4個部分組成。SIoU Loss函數(shù)計(jì)算如下:
(1)
(2)
式中:IoU為真實(shí)框與預(yù)測框之間的交并比,B為預(yù)測框,BGT為真實(shí)框,Δ為距離成本損失,Ω為形狀成本損失。Δ、Ω的計(jì)算如下:
(3)
(4)
式中:cw、ch為預(yù)測框與真實(shí)框的損失距離,Λ為SIoU引入的角度成本損失,θ為形狀損失的關(guān)注度,取值為2~6,當(dāng)取4時為最優(yōu)結(jié)果。Λ計(jì)算如下:
(5)
參數(shù)α越接近于0,角度成本損失越小,當(dāng)α取π/4時,角度成本損失最大。角度成本損失Λ的加入,使得預(yù)測框能夠更快地向真實(shí)框收斂,提高函數(shù)回歸效率。
SIoU與CIoU損失函數(shù)在訓(xùn)練過程中損失的貢獻(xiàn)對比如圖4所示,在訓(xùn)練輪數(shù)超過200后SIoU計(jì)算的損失貢獻(xiàn)要優(yōu)于CIoU。
圖4 SIoU與CIoU對比Fig.4 Comparison of SIoU and CIoU
模型剪枝能夠在保持模型性能的前提下壓縮模型體積、減少模型參數(shù)和計(jì)算量,在邊緣化部署方面有廣泛應(yīng)用。傳統(tǒng)的模型剪枝算法,使用范數(shù)來衡量過濾器(Filter)的貢獻(xiàn)度,對那些貢獻(xiàn)度相對小的Filter進(jìn)行修剪。在每一個Filter的范數(shù)都相近或Filter的最小范數(shù)較大的場景中,剪枝效果不佳。FPGM[19]剪枝算法提出基于幾何中值的可替代Filter剪枝方法,打破了范數(shù)的制約,在大多數(shù)場景中,FPGM剪枝算法均能夠保留更多的特性信息。不同的Filter剪枝效果對比[20]如圖5所示。
圖5 濾波器剪枝對比Fig.5 Filter pruning comparison
幾何中值剪枝算法的基本思想是在d維空間中,找到一個與其他點(diǎn)歐式距離之和最小的點(diǎn)x*(幾何中位數(shù)點(diǎn)):
(6)
(7)
由于幾何中值求解的過程十分繁瑣,可將求解問題簡化為找出與其他濾波器歐氏距離最小的濾波器:
(8)
(9)
FPGM剪枝算法的基本流程:在神經(jīng)網(wǎng)絡(luò)的卷積層中,計(jì)算出每一層的任一卷積核與當(dāng)前層中其他卷積核的歐幾里得距離之和,按照預(yù)先設(shè)定的剪枝率R,依次剪掉最小歐幾里得距離對應(yīng)的卷積核,得到初步剪枝過的網(wǎng)絡(luò)模型;對模型進(jìn)行訓(xùn)練,并通過不斷迭代裁剪,直至模型收斂,將收斂的模型剔除梯度為零的卷積核和BN層的冗余參數(shù),得到最終的剪枝模型。FPGM算法如下所示。
算法1 FPGM算法輸入:訓(xùn)練數(shù)據(jù)集 1:設(shè)定剪枝率R 2:初始化網(wǎng)絡(luò)模型參數(shù)W3:for epoch=1;epoch≤epochmax;epoch++ do4: 迭代更新模型參數(shù)W 5: for i-1;i≤L;i++ do6: 找到最小歐氏距離之和的濾波器 7: end for8:end for9:裁剪帶有冗余信息的濾波器輸出:剪枝后的模型和參數(shù)
本文所使用的實(shí)驗(yàn)配置環(huán)境為:CPU AMD Ryzen 7 5800H 3.19 GHz;GPU NVIDIA GeForce GTX 1650,4 GB顯存;操作系統(tǒng)Windows 10;深度學(xué)習(xí)框架PyTorch1.8、CUDA11.3;調(diào)用GPU進(jìn)行訓(xùn)練,模型學(xué)習(xí)率(lr0)為0.01,學(xué)習(xí)動量(Momentum)為0.937,訓(xùn)練選用的batch-size為4,epoch為300。
為檢驗(yàn)YOLO-MAR算法的可行性,本文選用數(shù)據(jù)集MAR20。MAR20是目前規(guī)模最大的遙感圖像軍用飛機(jī)目標(biāo)識別數(shù)據(jù)集,包含3 842張圖像、20種軍用飛機(jī)型號以及22 341個實(shí)例[21]。實(shí)驗(yàn)所用的訓(xùn)練集、驗(yàn)證集劃分比例為1∶2,數(shù)據(jù)集中每種飛機(jī)類型編號和實(shí)例數(shù)如表1所示。MAR20數(shù)據(jù)集中飛機(jī)類型編號為A1~A20,分別代表SU-35戰(zhàn)斗機(jī)、C-130運(yùn)輸機(jī)、C-17運(yùn)輸機(jī)、C-5運(yùn)輸機(jī)、F-16戰(zhàn)斗機(jī)、TU-160轟炸機(jī)、E-3預(yù)警機(jī)、B-52轟炸機(jī)、P-3C反潛機(jī)、B-1B轟炸機(jī)、E-8監(jiān)視機(jī)、TU-22轟炸機(jī)、F-15戰(zhàn)斗機(jī)、KC-135加油機(jī)、F-22戰(zhàn)斗機(jī)、FA-18攻擊機(jī)、TU-95轟炸機(jī)、KC-10加油機(jī)、SU-34戰(zhàn)斗轟炸機(jī)和SU-24戰(zhàn)斗轟炸機(jī)共計(jì)20款軍用型飛機(jī)。
表1 MAR20數(shù)據(jù)集實(shí)例分布
目標(biāo)檢測算法評估的指標(biāo)主要有準(zhǔn)確率(Precision,P)、召回率(Recall,R)和平均準(zhǔn)確率(mean Average Precision,mAP)。準(zhǔn)確率是預(yù)測為正且實(shí)際為正的樣本所占比例,召回率為正樣本中被正確檢測所占比例。其中,準(zhǔn)確率、召回率和平均準(zhǔn)確率的計(jì)算如下:
(10)
(11)
(12)
式中:TP為檢測結(jié)果為真的正樣本,FN為檢測結(jié)果非真的正樣本,FP為檢測結(jié)果為真的負(fù)樣本,AP為單個類別的準(zhǔn)確率,mAP為所有類別準(zhǔn)確率的均值。
為檢驗(yàn)FPGM剪枝和SIoU損失函數(shù)的實(shí)際效果,本文在MAR20數(shù)據(jù)集上對改進(jìn)YOLOv5算法前后做了對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。結(jié)果表明,改進(jìn)后的YOLO-MAR算法在20種目標(biāo)類別中的mAP均高于原YOLOv5,數(shù)據(jù)集整體的mAP由89.36%提升至91.7%,提升了2.34%。
表2 YOLOv5s與YOLO-MAR檢測效果對比
不同迭代次數(shù)下mAP指標(biāo)的變化對比如圖6所示,在迭代訓(xùn)練到80次前,YOLOv5算法的檢測效果更好;在訓(xùn)練超過80次后,模型開始出現(xiàn)收斂,此時YOLO-MAR算法的檢測效果更好,并且在訓(xùn)練230次左右mAP達(dá)到最高的91.7%。
圖6 不同迭代次數(shù)對比Fig.6 Comparison of mAP index of different algorithms
為驗(yàn)證本文提出的YOLO-MAR算法的先進(jìn)性,設(shè)計(jì)了對比試驗(yàn),與當(dāng)前較為主流的YOLOv5和YOLOv7目標(biāo)檢測算法做對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示。與YOLOv5s和YOLOv7-tiny相比,YOLO-MAR網(wǎng)絡(luò)的模型體積更小、模型檢測精度更高;與YOLOv7相比,雖然YOLO-MAR網(wǎng)絡(luò)的檢測精度略低,但模型的體積下降較大,下降了約94.5%。由此可見,在保證模型性能的前提下,YOLO-MAR在輕量級目標(biāo)檢測任務(wù)上具有先進(jìn)性。
表3 對比實(shí)驗(yàn)
使用FPGM剪枝后的實(shí)驗(yàn)結(jié)果如表4所示??梢钥闯?隨著剪枝率的不斷增大,2種模型的體積和精度均有所下降。其中,模型的計(jì)算量(GFLOPs)和模型體積均呈現(xiàn)線性下滑趨勢,且在剪枝率大于50%時,模型精度下滑明顯。在剪枝率相同時,擁有SIoU損失函數(shù)的YOLO-MAR的模型精度相對于原網(wǎng)絡(luò)模型均有所提高,平均提高約0.16%,表明SIoU能夠有效提高函數(shù)回歸效率??梢奩OLO-MAR在檢測效果、模型體積和計(jì)算量上均有先進(jìn)性。
表4 FPGM剪枝效果對比
為驗(yàn)證YOLO-MAR在軍用飛機(jī)目標(biāo)檢測領(lǐng)域的有效性,本文使用MAR20數(shù)據(jù)集設(shè)計(jì)了消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表5所示??梢钥闯?YOLOv5中加入SIoU后,模型的準(zhǔn)確率、召回率和平均準(zhǔn)確率均有所提升,分別提升了0.67%、0.37%和0.36%;在重構(gòu)后的網(wǎng)絡(luò)中使用SIoU損失函數(shù),得到了同樣的效果,表明SIoU能夠提升模型函數(shù)回歸的效率、提高準(zhǔn)確率。重構(gòu)后的網(wǎng)絡(luò)增強(qiáng)了較小尺度目標(biāo)的特征表達(dá)能力,平均準(zhǔn)確率提高約1.5%。當(dāng)模型經(jīng)過重構(gòu)并加入SIoU后,模型的檢測效果有較大提升,準(zhǔn)確率提升約2.8%,召回率提升約11.3%,平均準(zhǔn)確率提升約2.4%,在模型重構(gòu)后,SIoU對于召回率的提升更為明顯,平均精度最高可達(dá)91.75%。剪枝率為30%時,重構(gòu)后的模型的平均精度仍高于YOLOv5,達(dá)到89.93%,同時模型的體積大幅下降,達(dá)到了1.8 MB,極限剪枝下,模型體積可縮減至0.2 MB。當(dāng)剪枝率為50%和80%時,模型的檢測精度有所下降。
表5 消融實(shí)驗(yàn)
為更加直觀地檢驗(yàn)YOLO-MAR用于軍用飛機(jī)目標(biāo)檢測的效果,本文采取隨機(jī)抽樣的方式在驗(yàn)證集中選取出多張圖片,這些圖片包含單一目標(biāo)、小目標(biāo)、稠密目標(biāo)和稀疏目標(biāo)等特征。本文共設(shè)置2組效果圖對比:MAR20數(shù)據(jù)集在不同的網(wǎng)絡(luò)模型下的檢測效果對比,YOLO-MAR在不同剪枝率下對檢測效果影響的可視化對比。
不同網(wǎng)絡(luò)模型下的檢測效果對比如圖7所示,其中包含單目標(biāo)、小目標(biāo)、稠密目標(biāo)和稀疏目標(biāo)等特征。可以看出,使用YOLO-MAR對軍用飛機(jī)目標(biāo)的檢測效果更好,平均檢測精度更高,并且在稀疏飛機(jī)目標(biāo)檢測時,原YOLOv5中存在的漏檢與虛警等問題得到了較好的改善。
(a)原始標(biāo)注圖像
(b)YOLOv5檢測
(c)YOLO-MAR檢測
不同剪枝率下的檢測效果對比如圖8所示。在剪枝率為30%時,僅僅存在個別稠密飛機(jī)目標(biāo)檢測精度稍微下降,但整體精度仍高于YOLOv5,且未出現(xiàn)漏檢的情況。當(dāng)剪枝率達(dá)到50%時,模型的檢測精度開始整體下降;當(dāng)剪枝率達(dá)到80%時,檢測精度下降明顯,模型開始出現(xiàn)誤檢和漏檢的情況。
(a)剪枝率30%
(b)剪枝率50%
(c)剪枝率80%
軍用飛機(jī)由于其具有獨(dú)特的戰(zhàn)略屬性成為了未來戰(zhàn)爭中掌握制空權(quán)的利器,高效的遙感圖像軍用飛機(jī)目標(biāo)檢測能夠快速獲取軍事目標(biāo)信息,提升作戰(zhàn)時的態(tài)勢感知能力。本文提出YOLO-MAR算法,重構(gòu)YOLOv5s的網(wǎng)絡(luò)模型,設(shè)計(jì)了一種二尺度網(wǎng)絡(luò)結(jié)構(gòu);使用FPGM剪枝算法,剪掉冗余的模型參數(shù);用SIoU Loss來提升模型函數(shù)回歸的效率。經(jīng)實(shí)驗(yàn),在MAR20數(shù)據(jù)集中,YOLO-MAR的模型體積低至3.95 MB,能夠提升檢測精確度到91.7%,經(jīng)FPGM剪枝后的模型體積最小可壓縮至0.2 MB,YOLO-MAR整體效果要優(yōu)于YOLOv5與YOLOv7等主流目標(biāo)檢測算法。由于受數(shù)據(jù)集的限制,YOLO-MAR能識別出的軍用飛機(jī)種類十分有限,為使YOLO-MAR更加健壯,后續(xù)還需對數(shù)據(jù)集進(jìn)行適當(dāng)擴(kuò)充。