?

改進YOLOv5的軍事飛機檢測算法

2024-03-05 07:35胡益民
無線電工程 2024年3期
關鍵詞:軍用飛機剪枝損失

王 杰,張 上*,張 岳,胡益民

(1.三峽大學 水電工程智能視覺監測湖北省重點實驗室,湖北 宜昌 443002;2.三峽大學 湖北省建筑質量檢測裝備工程技術研究中心,湖北 宜昌 443002;3.三峽大學 計算機與信息學院,湖北 宜昌 443002)

0 引言

遙感影像(Sensing Image)是指通過具有攝影成像能力的飛機或衛星獲取到的地球表面圖像,具有豐富的背景信息。隨著軍工武器裝備的迭代升級,軍用飛機家族成員日益壯大,高效的遙感圖像軍用飛機目標檢測能夠快速獲取軍事目標信息,提升作戰時的態勢感知能力,助力科技強軍。傳統的遙感圖像檢測方法使用固定的尺度對目標進行特征提取,再通過機器學習來對目標進行分類,存在檢測速度慢、誤檢率高和復雜背景下識別準確率低等問題[1-3]。由于遙感影像具有采集范圍廣、目標像素占比少和特征表達不明顯等特點,使得遙感影像中軍用飛機的目標檢測任務具有更大挑戰[4-5]。

隨著深度學習的快速發展,基于深度學習的目標檢測算法得到了快速發展。目前,大部分目標檢測算法都使用卷積神經網絡來提取目標特征,基于卷積神經網絡的目標檢測算法被分為2類:一類是以SSD[6]、YOLO[7-8]、YOLOv3[9]和YOLOv4[10]等為代表的單階段目標檢測算法,此類算法可直接從網絡中獲取特征信息,來預測目標的類別和位置,具有檢測速度快、占用資源少等優點;另一類是以R-CNN[11]、Fast R-CNN[12]、Faster R-CNN[13]和Mask R-CNN[14]等為代表的雙階段目標檢測算法,這類算法需要先生成預選框,再對目標進行分類,具有檢測精度高等優點。目前已有大批學者在飛機的目標檢測領域做出了貢獻,楊予昊等[15]提出基于卷積神經網絡遷移學習的HRRP識別方法,飛機目標的平均識別準確率提高了10%以上。祝文韜等[16]提出改進的ROI Pooling方案,解決了目標區域失配問題。王冰等[17]提出飛機目標多尺度檢測方法(AFSSD),有效檢測了不同尺度飛機目標并提升了檢測精度。楊鈞智等[18]提出MSCFF+CNN飛機目標自動檢測算法,在提取目標候選區前濾除了圖像的復雜背景,目標檢測的精確率得到了大幅提高。

目前,軍用飛機目標檢測領域的發展仍較為緩慢,在眾多相對成熟的目標檢測算法中,軍用飛機的目標檢測效果仍存在著諸多問題:

① 軍用飛機目標檢測的平均準確率較低,對不同目標型號的識別誤差較大,并且普遍存在飛機目標漏檢的情況;

② 模型訓練的速度較慢、泛化能力弱,模型推理效果差;

③ 訓練后的模型體積和計算量較大,無法實現輕量化的軍用飛機目標檢測。

本文貢獻如下:

① 為解決軍用飛機目標檢測的精度低、漏檢和虛警率高等問題,基于YOLOv5s提出了YOLO-MAR網絡結構,對原模型進行重構,調整了小尺度目標特征的表達能力,改進后的模型檢測效果較好,平均檢測精度可達91.7%;

② 為解決模型訓練速度慢等問題,在YOLO-MAR中加入了SIoU Loss函數,重新定義懲罰指標,提高函數回歸效率和推理的準確性;

③ 為實現模型輕量化,使用FPGM對模型進行剪枝,修剪后的模型計算量(GFLOPs)低至0.5,體積最小可達0.2 MB,相較YOLOv5降低了約98%。

1 YOLO-MAR算法架構

YOLOv5作為YOLO系列中較為成熟的一代,因較高的檢測精度,在目標檢測領域得到了大量運用。但YOLOv5在檢測特定尺度目標時效果一般,如遙感影像中的軍用飛機目標,YOLOv5就無法完成高質量的檢測任務,因此,本文提出了YOLO-Military Aircraft Recognition(YOLO-MAR)算法。

YOLO-MAR算法的核心在于,針對遙感圖像中軍用飛機目標較小的特性,輕量化重構原網絡結構模型,使新改進的模型更適用于檢測軍用飛機目標。YOLO-MAR由輕量化重構網絡結構和SIoU組成。從長度和寬度2個方向同時對網絡結構進行調整,去除冗余模塊,實現輕量化特征融合網絡架構和改變感受野尺度;使用SIoU來替代CIoU,使模型的收斂速度加快并提升檢測的精度。YOLO-MAR網絡架構如圖1所示,經過輕量化處理的YOLO-MAR網絡架構在體積、計算量、檢測精度和推理速度等方面均有較好的表現。

圖1 YOLO-MAR網絡架構Fig.1 YOLO-MAR network architecture

2 YOLO-MAR實現

2.1 網絡結構

原YOLOv5中通過特征融合輸出的特征圖有80×80、40×40和20×20三個尺度,雖然這些特征圖能夠兼顧到小尺度目標的檢測,但在執行遙感圖像中軍用飛機這些目標為主的檢測任務時,YOLOv5的檢測效果并不理想。本文根據檢測遙感圖像軍用飛機目標來調整感受野尺度,去除20×20的感受野尺寸,提高了小尺度目標特征表達能力,此改進方法使得YOLO-MAR更適配遙感圖像軍用飛機目標檢測任務。

在遙感圖像豐富的背景信息中,飛機目標往往只占用圖像的一小部分。在目標檢測任務中,多次的卷積迭代和與下采樣融合會導致少許目標的特征信息丟失,當卷積到一定尺度后,圖像中的特征信息量將出現斷崖式下滑。因此,YOLO-MAR為防止飛機目標特征信息丟失,減少了卷積和下采樣的次數,調整骨干網絡結構,去除大感受野尺度,在降低了網絡結構運算量的同時保證了飛機目標特征的表達能力。

YOLO-MAR中特征融合網絡結構的改進方法是:首先,將淺層特征和深層特征融合,分別與80×80、40×40感受野尺度的特征圖融合;然后,再將深層特征和淺層特征融合,分別與40×40、80×80感受野尺度的特征圖融合;最后,對融合后的特征圖進行預測。通過突出淺層特征信息,能夠有效降低飛機目標特征信息的損失。

YOLO-MAR的網絡結構通過分別重構特征提取網絡和特征融合網絡,調整感受野尺度得以實現。YOLO-MAR算法的網絡結構如圖2所示。

圖2 YOLO-MAR詳細網絡結構Fig.2 Detailed network structure of YOLO-MAR

先剔除特征提取主干網絡的冗余參數,并調整模塊位置,再對應改進的特征提取網絡,將調整特征融合網絡實現80×80、40×40兩種尺度的深層特征和淺層特征融合,最后得到輕量化的網絡結構模型。

2.2 SIoU Loss應用

回歸損失函數作為目標檢測算法中衡量檢測精度的一種方式,在原YOLOv5中使用CIoU作為損失函數,包含預測框和真實框的重疊面積、中心點距離和縱橫比3個方面。SIoU Loss函數首次引入角度損失成本概念,能夠加快模型收斂的速度并提高檢測精度,角度損失示意如圖3所示。

圖3 角度損失示意Fig.3 Angle loss

SIoU損失函數由角度成本損失、距離成本損失、形狀成本損失和IoU成本損失4個部分組成。SIoU Loss函數計算如下:

(1)

(2)

式中:IoU為真實框與預測框之間的交并比,B為預測框,BGT為真實框,Δ為距離成本損失,Ω為形狀成本損失。Δ、Ω的計算如下:

(3)

(4)

式中:cw、ch為預測框與真實框的損失距離,Λ為SIoU引入的角度成本損失,θ為形狀損失的關注度,取值為2~6,當取4時為最優結果。Λ計算如下:

(5)

參數α越接近于0,角度成本損失越小,當α取π/4時,角度成本損失最大。角度成本損失Λ的加入,使得預測框能夠更快地向真實框收斂,提高函數回歸效率。

SIoU與CIoU損失函數在訓練過程中損失的貢獻對比如圖4所示,在訓練輪數超過200后SIoU計算的損失貢獻要優于CIoU。

圖4 SIoU與CIoU對比Fig.4 Comparison of SIoU and CIoU

2.3 FPGM剪枝

模型剪枝能夠在保持模型性能的前提下壓縮模型體積、減少模型參數和計算量,在邊緣化部署方面有廣泛應用。傳統的模型剪枝算法,使用范數來衡量過濾器(Filter)的貢獻度,對那些貢獻度相對小的Filter進行修剪。在每一個Filter的范數都相近或Filter的最小范數較大的場景中,剪枝效果不佳。FPGM[19]剪枝算法提出基于幾何中值的可替代Filter剪枝方法,打破了范數的制約,在大多數場景中,FPGM剪枝算法均能夠保留更多的特性信息。不同的Filter剪枝效果對比[20]如圖5所示。

圖5 濾波器剪枝對比Fig.5 Filter pruning comparison

幾何中值剪枝算法的基本思想是在d維空間中,找到一個與其他點歐式距離之和最小的點x*(幾何中位數點):

(6)

(7)

由于幾何中值求解的過程十分繁瑣,可將求解問題簡化為找出與其他濾波器歐氏距離最小的濾波器:

(8)

(9)

FPGM剪枝算法的基本流程:在神經網絡的卷積層中,計算出每一層的任一卷積核與當前層中其他卷積核的歐幾里得距離之和,按照預先設定的剪枝率R,依次剪掉最小歐幾里得距離對應的卷積核,得到初步剪枝過的網絡模型;對模型進行訓練,并通過不斷迭代裁剪,直至模型收斂,將收斂的模型剔除梯度為零的卷積核和BN層的冗余參數,得到最終的剪枝模型。FPGM算法如下所示。

算法1 FPGM算法輸入:訓練數據集 1:設定剪枝率R 2:初始化網絡模型參數W3:for epoch=1;epoch≤epochmax;epoch++ do4: 迭代更新模型參數W 5: for i-1;i≤L;i++ do6: 找到最小歐氏距離之和的濾波器 7: end for8:end for9:裁剪帶有冗余信息的濾波器輸出:剪枝后的模型和參數

3 實驗與結果分析

3.1 實驗環境

本文所使用的實驗配置環境為:CPU AMD Ryzen 7 5800H 3.19 GHz;GPU NVIDIA GeForce GTX 1650,4 GB顯存;操作系統Windows 10;深度學習框架PyTorch1.8、CUDA11.3;調用GPU進行訓練,模型學習率(lr0)為0.01,學習動量(Momentum)為0.937,訓練選用的batch-size為4,epoch為300。

3.2 MAR20數據集

為檢驗YOLO-MAR算法的可行性,本文選用數據集MAR20。MAR20是目前規模最大的遙感圖像軍用飛機目標識別數據集,包含3 842張圖像、20種軍用飛機型號以及22 341個實例[21]。實驗所用的訓練集、驗證集劃分比例為1∶2,數據集中每種飛機類型編號和實例數如表1所示。MAR20數據集中飛機類型編號為A1~A20,分別代表SU-35戰斗機、C-130運輸機、C-17運輸機、C-5運輸機、F-16戰斗機、TU-160轟炸機、E-3預警機、B-52轟炸機、P-3C反潛機、B-1B轟炸機、E-8監視機、TU-22轟炸機、F-15戰斗機、KC-135加油機、F-22戰斗機、FA-18攻擊機、TU-95轟炸機、KC-10加油機、SU-34戰斗轟炸機和SU-24戰斗轟炸機共計20款軍用型飛機。

表1 MAR20數據集實例分布

3.3 評價指標

目標檢測算法評估的指標主要有準確率(Precision,P)、召回率(Recall,R)和平均準確率(mean Average Precision,mAP)。準確率是預測為正且實際為正的樣本所占比例,召回率為正樣本中被正確檢測所占比例。其中,準確率、召回率和平均準確率的計算如下:

(10)

(11)

(12)

式中:TP為檢測結果為真的正樣本,FN為檢測結果非真的正樣本,FP為檢測結果為真的負樣本,AP為單個類別的準確率,mAP為所有類別準確率的均值。

3.4 實驗結果與分析

為檢驗FPGM剪枝和SIoU損失函數的實際效果,本文在MAR20數據集上對改進YOLOv5算法前后做了對比實驗,實驗結果如表2所示。結果表明,改進后的YOLO-MAR算法在20種目標類別中的mAP均高于原YOLOv5,數據集整體的mAP由89.36%提升至91.7%,提升了2.34%。

表2 YOLOv5s與YOLO-MAR檢測效果對比

不同迭代次數下mAP指標的變化對比如圖6所示,在迭代訓練到80次前,YOLOv5算法的檢測效果更好;在訓練超過80次后,模型開始出現收斂,此時YOLO-MAR算法的檢測效果更好,并且在訓練230次左右mAP達到最高的91.7%。

圖6 不同迭代次數對比Fig.6 Comparison of mAP index of different algorithms

為驗證本文提出的YOLO-MAR算法的先進性,設計了對比試驗,與當前較為主流的YOLOv5和YOLOv7目標檢測算法做對比實驗,實驗結果如表3所示。與YOLOv5s和YOLOv7-tiny相比,YOLO-MAR網絡的模型體積更小、模型檢測精度更高;與YOLOv7相比,雖然YOLO-MAR網絡的檢測精度略低,但模型的體積下降較大,下降了約94.5%。由此可見,在保證模型性能的前提下,YOLO-MAR在輕量級目標檢測任務上具有先進性。

表3 對比實驗

使用FPGM剪枝后的實驗結果如表4所示??梢钥闯?隨著剪枝率的不斷增大,2種模型的體積和精度均有所下降。其中,模型的計算量(GFLOPs)和模型體積均呈現線性下滑趨勢,且在剪枝率大于50%時,模型精度下滑明顯。在剪枝率相同時,擁有SIoU損失函數的YOLO-MAR的模型精度相對于原網絡模型均有所提高,平均提高約0.16%,表明SIoU能夠有效提高函數回歸效率??梢奩OLO-MAR在檢測效果、模型體積和計算量上均有先進性。

表4 FPGM剪枝效果對比

為驗證YOLO-MAR在軍用飛機目標檢測領域的有效性,本文使用MAR20數據集設計了消融實驗,實驗結果如表5所示??梢钥闯?YOLOv5中加入SIoU后,模型的準確率、召回率和平均準確率均有所提升,分別提升了0.67%、0.37%和0.36%;在重構后的網絡中使用SIoU損失函數,得到了同樣的效果,表明SIoU能夠提升模型函數回歸的效率、提高準確率。重構后的網絡增強了較小尺度目標的特征表達能力,平均準確率提高約1.5%。當模型經過重構并加入SIoU后,模型的檢測效果有較大提升,準確率提升約2.8%,召回率提升約11.3%,平均準確率提升約2.4%,在模型重構后,SIoU對于召回率的提升更為明顯,平均精度最高可達91.75%。剪枝率為30%時,重構后的模型的平均精度仍高于YOLOv5,達到89.93%,同時模型的體積大幅下降,達到了1.8 MB,極限剪枝下,模型體積可縮減至0.2 MB。當剪枝率為50%和80%時,模型的檢測精度有所下降。

表5 消融實驗

3.5 實驗效果展示

為更加直觀地檢驗YOLO-MAR用于軍用飛機目標檢測的效果,本文采取隨機抽樣的方式在驗證集中選取出多張圖片,這些圖片包含單一目標、小目標、稠密目標和稀疏目標等特征。本文共設置2組效果圖對比:MAR20數據集在不同的網絡模型下的檢測效果對比,YOLO-MAR在不同剪枝率下對檢測效果影響的可視化對比。

不同網絡模型下的檢測效果對比如圖7所示,其中包含單目標、小目標、稠密目標和稀疏目標等特征??梢钥闯?使用YOLO-MAR對軍用飛機目標的檢測效果更好,平均檢測精度更高,并且在稀疏飛機目標檢測時,原YOLOv5中存在的漏檢與虛警等問題得到了較好的改善。

(a)原始標注圖像

(b)YOLOv5檢測

(c)YOLO-MAR檢測

不同剪枝率下的檢測效果對比如圖8所示。在剪枝率為30%時,僅僅存在個別稠密飛機目標檢測精度稍微下降,但整體精度仍高于YOLOv5,且未出現漏檢的情況。當剪枝率達到50%時,模型的檢測精度開始整體下降;當剪枝率達到80%時,檢測精度下降明顯,模型開始出現誤檢和漏檢的情況。

(a)剪枝率30%

(b)剪枝率50%

(c)剪枝率80%

4 結束語

軍用飛機由于其具有獨特的戰略屬性成為了未來戰爭中掌握制空權的利器,高效的遙感圖像軍用飛機目標檢測能夠快速獲取軍事目標信息,提升作戰時的態勢感知能力。本文提出YOLO-MAR算法,重構YOLOv5s的網絡模型,設計了一種二尺度網絡結構;使用FPGM剪枝算法,剪掉冗余的模型參數;用SIoU Loss來提升模型函數回歸的效率。經實驗,在MAR20數據集中,YOLO-MAR的模型體積低至3.95 MB,能夠提升檢測精確度到91.7%,經FPGM剪枝后的模型體積最小可壓縮至0.2 MB,YOLO-MAR整體效果要優于YOLOv5與YOLOv7等主流目標檢測算法。由于受數據集的限制,YOLO-MAR能識別出的軍用飛機種類十分有限,為使YOLO-MAR更加健壯,后續還需對數據集進行適當擴充。

猜你喜歡
軍用飛機剪枝損失
人到晚年宜“剪枝”
胖胖損失了多少元
基于YOLOv4-Tiny模型剪枝算法
玉米抽穗前倒伏怎么辦?怎么減少損失?
任務準備期內的軍用飛機瞬時可用度
剪枝
一般自由碰撞的最大動能損失
損失
一種面向不平衡數據分類的組合剪枝方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合