賀翥禎, 李 敏, 茍 瑤, 楊愛濤
(1. 火箭軍工程大學(xué)作戰(zhàn)保障學(xué)院, 陜西 西安 710025; 2. 國防科技大學(xué)信息與通信學(xué)院, 湖北 武漢 430010)
海洋權(quán)益涉及國家的根本利益,為維護(hù)軍事和領(lǐng)海安全,對(duì)艦船目標(biāo)進(jìn)行有效的檢測(cè)識(shí)別尤為重要。合成孔徑雷達(dá)(synthetic aperture radar, SAR)具有受復(fù)雜天氣因素影響小,在日間或夜間環(huán)境均可工作的特點(diǎn)[1],十分符合艦船目標(biāo)監(jiān)測(cè)所需的環(huán)境適應(yīng)性和適時(shí)性的要求,因此得到了廣泛使用。
受制于硬件算力制約,早期SAR圖像的艦船目標(biāo)檢測(cè)技術(shù)主要依賴于預(yù)先定義的分布和人工設(shè)計(jì)特征,例如雙參數(shù)恒虛警率算法等[2-4]。這些傳統(tǒng)的艦船目標(biāo)檢測(cè)算法大多針對(duì)特定場(chǎng)景,主要對(duì)海雜波進(jìn)行建模與仿真以及恒虛警目標(biāo)的檢測(cè),但其算法魯棒性較低,泛化性差。
近年來,隨著硬件性能的不斷提升,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)的迅速崛起使得基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法受到了廣泛關(guān)注,這類算法在實(shí)現(xiàn)特征自行提取方面具備極大優(yōu)勢(shì),可以擺脫對(duì)人工設(shè)計(jì)特征和建模的依賴,達(dá)到較好的識(shí)別精度和泛化性能。在發(fā)展過程中,CNN根據(jù)處理流程又可分為兩類。第一類是以區(qū)域CNN(region CNN, R-CNN)[5]、Fast R-CNN[6]、Faster R-CNN[7]等為代表的二階段算法,此類算法的檢測(cè)準(zhǔn)確率較高,但由于需要先提取候選區(qū)域,其網(wǎng)絡(luò)結(jié)構(gòu)較大,執(zhí)行速率較慢。第二類是以單次多框檢測(cè)器(single-shot multi-box detecfor, SSD)[8]和YOLO(You Only Look Once)系列[9-12]等為代表的一階段算法,其主要思路是將分類和目標(biāo)的定位均看作回歸問題,執(zhí)行一次處理。與二階段算法相比,其檢測(cè)不需要生成候選區(qū)域,大大提高了算法效率,但其檢測(cè)精度略低。
針對(duì)上述兩類算法的缺點(diǎn),學(xué)者們不斷進(jìn)行著改進(jìn)優(yōu)化。如趙江洪等[13]和顧佼佼等[14]使用不同的網(wǎng)絡(luò)替代視覺幾何組(visual geometry group, VGG)作為其主干網(wǎng)絡(luò),并調(diào)整錨框的尺寸和個(gè)數(shù)。馬嘯等[15]增加了判別模塊以及類別預(yù)測(cè)分支和語義分割分支。這些基于二階段算法的改進(jìn)雖然在一定程度上減小了主干網(wǎng)絡(luò)的結(jié)構(gòu),提高了檢測(cè)精度均值,但保留了區(qū)域推薦模塊,網(wǎng)絡(luò)結(jié)構(gòu)仍比一階段算法復(fù)雜。唐崇武等[16]通過微調(diào)分類網(wǎng)絡(luò)、增加訓(xùn)練尺度、聚類目標(biāo)邊框維度等方法優(yōu)化了YOLOv3檢測(cè)算法。胡欣等[17]基于YOLOv5增加了多分支注意力機(jī)制。錢坤等[18]改進(jìn)了YOLOv5網(wǎng)絡(luò)的激活函數(shù)和網(wǎng)絡(luò)特征融合結(jié)構(gòu)。以上改進(jìn)不同程度地提高了一階段算法的檢測(cè)精度,但在原算法上增加了較高的計(jì)算量。
因此,使用深度CNN進(jìn)行SAR圖像艦船目標(biāo)檢測(cè)面臨的一個(gè)重要問題,就是兼顧網(wǎng)絡(luò)規(guī)模和目標(biāo)檢測(cè)精度。就當(dāng)前的改進(jìn)算法性能而言,一階段算法更具優(yōu)勢(shì),在盡量維持原有計(jì)算量的情況下進(jìn)一步改進(jìn)一階段算法的檢測(cè)精度,具有重要的研究價(jià)值和意義。
另外,SAR的斑點(diǎn)噪聲影響是目標(biāo)檢測(cè)亟需解決的一個(gè)重要問題。由于獨(dú)特的成像技術(shù),SAR圖像存在很多斑點(diǎn)噪聲,這些噪聲會(huì)影響目標(biāo)檢測(cè)精度。處于港口沿岸的艦船圖像,成像時(shí)的斑點(diǎn)噪聲和檢測(cè)時(shí)遇到的干擾目標(biāo)(如小島、陸地和海雜波)混雜在一起,將產(chǎn)生較多虛警。
除此以外,當(dāng)前檢測(cè)算法對(duì)于SAR的艦船目標(biāo)存在多尺度情況下泛化性弱的問題。SAR的艦船圖像由于存在多分辨率成像模式以及不同的船舶尺寸等情況,導(dǎo)致輸入圖像目標(biāo)尺寸差異性大,這樣的多尺度輸入會(huì)使算法性能不穩(wěn)定。尤其是當(dāng)小目標(biāo)映射到最終特征圖時(shí),用于位置細(xì)化和分類的信息很少,會(huì)降低檢測(cè)性能。
本文從上述問題出發(fā),提出了一種基于坐標(biāo)注意力(coordinate attention, CA)機(jī)制及多尺度融合的目標(biāo)檢測(cè)算法。算法以YOLOv5新的版本(V6.1版)為基礎(chǔ),進(jìn)行了深度優(yōu)化:一是結(jié)合CA改進(jìn)主干網(wǎng)絡(luò),側(cè)重目標(biāo)坐標(biāo)重要度信息以提高模型特征提取能力,抑制了噪聲和干擾的影響;二是改進(jìn)了原網(wǎng)絡(luò)的特征融合結(jié)構(gòu),添加了具有跳躍連接的加權(quán)雙向特征金字塔網(wǎng)絡(luò)(bi-directional feature pyramid network, BiFPN)進(jìn)行多尺度融合,提高多尺度下的泛化能力;三是設(shè)計(jì)了一種新的預(yù)測(cè)框損失函數(shù)——快速有效的交并比(rapid and efficient intersection over union, REIOU),以加快預(yù)測(cè)框收斂的速度和準(zhǔn)確性。改進(jìn)后網(wǎng)絡(luò)的權(quán)重文件僅增加了0.4 M,確保了網(wǎng)絡(luò)的輕量化。最后,將模型在SAR艦船檢測(cè)數(shù)據(jù)集(ship detection dataset, SSDD)上進(jìn)行了實(shí)驗(yàn)驗(yàn)證,其平均精度均值(mean average precision, mAP)相比原算法提高了1.9%。
YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)主要包括主干段、頸部段和頭部段3部分。實(shí)現(xiàn)過程中,為增加預(yù)測(cè)的準(zhǔn)確性和模型泛化能力,在數(shù)據(jù)進(jìn)入預(yù)測(cè)網(wǎng)絡(luò)前,對(duì)YOLOv5進(jìn)行了一系列的圖像增廣和自適應(yīng)錨框計(jì)算等預(yù)處理操作,其網(wǎng)絡(luò)具體結(jié)構(gòu)如圖1所示。
圖1 YOLOv5 (V6.1版)的模型結(jié)構(gòu)Fig.1 Model structure of YOLOv5 (version6.1)
YOLOv5的V6.1版本在主干段部分,采用了新的CSPDarknet53網(wǎng)絡(luò)結(jié)構(gòu)對(duì)圖像的特征進(jìn)行提取。與早期版本有所區(qū)別,V6.1版本去掉了之前的Focus聚焦結(jié)構(gòu),并將此前的BottleneckCSP部分更新為C3,C3的具體結(jié)構(gòu)如圖1左下角所示。主干段就是以一系列的C3將各尺度的特征圖分成兩部分進(jìn)行前向計(jì)算,一路經(jīng)過頸部段處理,另一路與第一路直接進(jìn)行特征融合。這樣做的優(yōu)勢(shì)是減少了梯度的重復(fù)計(jì)算,在保證速度和準(zhǔn)確率的同時(shí),減少了網(wǎng)絡(luò)參數(shù)和運(yùn)算量。最后,將提取的特征圖直接輸入改進(jìn)的快速空間金字塔池化(spatial pyramid pooling-fast, SPPF),對(duì)網(wǎng)絡(luò)不同尺度的特征進(jìn)行融合。
在頸部段部分,YOLOv5使用了路徑聚合網(wǎng)絡(luò)(path aggregation network, PANet)[19]進(jìn)行了特征融合,PANet是在特征金字塔網(wǎng)絡(luò)(feature pyramid network, FPN)[20]基礎(chǔ)上增加的一條自底向上的信息流通路,縮短了信息傳輸路徑,旨在使準(zhǔn)確的底層定位信息能夠增強(qiáng)到整個(gè)特征提取網(wǎng)絡(luò),其總體結(jié)構(gòu)如圖2所示。
在頭部段部分,YOLOv5的V6.1版本采用了完全交并比(complete intersection over union, CIOU)損失[21]替代了早期版本中的廣義交并比(generalized intersection over union, GIOU)[22]損失,作為預(yù)測(cè)框損失函數(shù)。CIOU考慮了中心點(diǎn)距離和寬高比兩個(gè)參數(shù)。相比GIOU而言,其算法收斂速度更快。
圖2 PANet結(jié)構(gòu)Fig.2 PANet structure
算法框架如圖3所示,其中紅色部分為本文的改進(jìn)部分。輸入圖像具有靈活的尺寸,經(jīng)圖像預(yù)處理統(tǒng)一調(diào)整為640×640大小,之后經(jīng)過一系列CBL模塊和C3模塊的卷積處理得到深層特征,再將特征圖經(jīng)CA模塊為其各特征點(diǎn)重新賦予權(quán)重后輸入快速空間金字塔池化SPPF模塊。這一過程主要是從特征圖中抽取橫縱坐標(biāo)因子,做批歸一化(batch normalization, BN)后得到坐標(biāo)權(quán)重,增大了卷積核的局部感受野。隨后,圖像特征在移除了單輸入結(jié)點(diǎn),增加了跳躍連接的BiFPN網(wǎng)絡(luò)后,進(jìn)行多尺度融合,最后在頭部段將3個(gè)尺度下的預(yù)測(cè)信息進(jìn)行處理,以得到置信度損失、類別損失和預(yù)測(cè)框損失,其中的預(yù)測(cè)框損失使用了設(shè)計(jì)的REIOU損失。
圖3 改進(jìn)后的算法模型結(jié)構(gòu)Fig.3 Model structure of the improved algorithm
CA機(jī)制的思想是令網(wǎng)絡(luò)在提取某類物體特征時(shí)對(duì)于位置或通道的關(guān)注有明顯的側(cè)重,以此提高算法性能。但其會(huì)造成計(jì)算量的增加,這對(duì)于訓(xùn)練時(shí)間和算力成本的控制以及移動(dòng)端部署極為不利。相比其他注意力機(jī)制,CA[23]計(jì)算開銷小,并且在x坐標(biāo)和y坐標(biāo)方向上對(duì)位置進(jìn)行池化和BN,以圖像中目標(biāo)坐標(biāo)灰度值分布特點(diǎn)對(duì)原特征圖中的每一處賦予坐標(biāo)權(quán)重,可以有效抑制SAR圖像中的噪聲和干擾影響,因此引入CA機(jī)制對(duì)網(wǎng)絡(luò)進(jìn)行改進(jìn)。CA模塊的具體實(shí)現(xiàn)結(jié)構(gòu)如圖4所示。
圖4 CA模塊的結(jié)構(gòu)Fig.4 Structure of CA module
其具體工作流程如下:
對(duì)于輸入尺寸為C×H×W的特征圖,分別進(jìn)行水平方向和垂直方向的平均池化,得到大小為C×1×W和C×H×1的兩組張量,其公式為
(1)
(2)
(3)
式中:C(·)表示連接操作;?表示卷積運(yùn)算。
經(jīng)過BN層和Sigmoid的非線性變換后,重新按水平和垂直方向分割成大小為H和W的兩部分fh和fw,并同時(shí)恢復(fù)原通道數(shù)的大小,再將fh和fw經(jīng)過Sigmoid函數(shù)得到輸出gh和gw,公式如下:
gh=Sigmoid(Fh(fh))
(4)
gw=Sigmoid(Fw(fw))
(5)
gh和gw表示坐標(biāo)水平和垂直方向的重要程度,以其為CA,對(duì)原特征圖進(jìn)行權(quán)重賦值,得到CA的最終輸出公式如下:
yc(i,j)=xc(i,j)×gh×gw
(6)
CA即通過賦予特征圖各通道的各坐標(biāo)權(quán)重,從而有效關(guān)注空間坐標(biāo)位置信息。
本文在改進(jìn)過程中進(jìn)行了兩種方案的嘗試,兩方案分別如圖5(a)和圖5(b)所示。一是直接改進(jìn)所有C3模塊,使之在提取特征時(shí)就已側(cè)重空間坐標(biāo)位置信息;二是將該注意力機(jī)制嵌入到主干段中的SPPF模塊之前,對(duì)總特征圖進(jìn)行CA機(jī)制處理,以提取感興趣的目標(biāo)區(qū)域特征。經(jīng)實(shí)驗(yàn)比較,發(fā)現(xiàn)后者性能更好,因此最終選擇了方案2。
圖5 兩種改進(jìn)方案的主干網(wǎng)絡(luò)示意圖Fig.5 Backbone network schematic diagram of the two improved schemes
YOLOv5中的主干段部分經(jīng)過了多個(gè)C3模塊組的處理,且每經(jīng)過一個(gè)C3模塊組,特征圖的尺寸大小便會(huì)縮小為原來的50%,這主要是為了提取更高維的語義信息,但在獲取更高維特征的同時(shí),會(huì)損失掉部分底層細(xì)節(jié)特征,因此YOLOv5在頸部段部分使用了PANet的基本結(jié)構(gòu),促進(jìn)不同尺度特征信息的融合,以彌補(bǔ)此缺陷。PANet是基于FPN的改進(jìn),它在FPN自頂向下的融合路徑之后又添加了一條自底向上的路徑,利用準(zhǔn)確的低層定位信號(hào)增強(qiáng)整個(gè)特征層次,從而縮短了低層與頂層特征之間的信息路徑。
圖6 PAN和BiFPN的網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 Network structure of PAN and BiFPN
BiFPN在PANet上的改進(jìn)可總結(jié)為3個(gè)方面:一是減少了部分節(jié)點(diǎn),BiFPN在融合處刪除了單輸入節(jié)點(diǎn),因?yàn)檫@樣的節(jié)點(diǎn)相較于前一節(jié)點(diǎn)沒有額外信息,去掉節(jié)點(diǎn)后可減少冗余計(jì)算;二是增加了不相鄰節(jié)點(diǎn)間的跳躍鏈接,使輸出層不但能夠得到自下而上已經(jīng)參與特征融合的信息,還保留了原始節(jié)點(diǎn)未經(jīng)融合的信息;三是BiFPN在特征融合后,可繼續(xù)堆疊,做進(jìn)一步融合,以改善效果。
考慮到算法網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜度和改進(jìn)后的計(jì)算量等實(shí)際情況,本文設(shè)計(jì)的BiFPN融合層數(shù)為3,堆疊數(shù)為1,結(jié)合原主干段網(wǎng)絡(luò)實(shí)際結(jié)構(gòu),添加了一次跳躍連接,并改變了原層次的連接關(guān)系,具體連接關(guān)系如圖7所示。
圖7 改進(jìn)后的特征融合網(wǎng)絡(luò)Fig.7 Improved feature fusion network
對(duì)照?qǐng)D7,以P6為例,羅列出輸入輸出關(guān)系式如下:
(7)
式中:Conv為卷積操作,由C3模塊執(zhí)行;Resize通常為上采樣或下采樣操作,以匹配各特征圖大小。在本算法中,左側(cè)兩黑色虛線框中的upsample執(zhí)行上采樣,而右側(cè)兩黑色虛線框中的CBL執(zhí)行下采樣。
YOLOv5算法V6.1版本的預(yù)測(cè)框損失函數(shù)采用了CIOU損失,但在預(yù)測(cè)框回歸過程中,一旦CIOU與真實(shí)框的寬高縱橫比相同,預(yù)測(cè)框的寬和高無法同時(shí)增加或者減小,以致不能繼續(xù)優(yōu)化。為解決此問題,本文在參考EIOU[25]的基礎(chǔ)上,設(shè)計(jì)了一種新的損失函數(shù)——REIOU作為預(yù)測(cè)框損失函數(shù),在CIOU基礎(chǔ)上將預(yù)測(cè)框和真實(shí)框的縱橫比直接拆分為單獨(dú)預(yù)測(cè)長和寬,并結(jié)合其梯度下降趨勢(shì)對(duì)損失函數(shù)進(jìn)行了改進(jìn)。
原始的EIOU示意圖如圖8所示,其損失值如下:
(8)
式中:C為覆蓋預(yù)測(cè)框與真實(shí)框的最小外接框的對(duì)角線長度;Cw和Ch分別為其寬度和高度;ρ(b,bgt)為預(yù)測(cè)框與真實(shí)框中心點(diǎn)的距離;ρ(w,wgt)和ρ(h,hgt)分別為其橫向差值和縱向差值,具體如下:
ρ(w,wgt)=|w-wgt|
(9)
ρ(h,hgt)=|h-hgt|
(10)
圖8 EIOU示意圖Fig.8 EIOU schematic diagram
式(8)實(shí)際包含了IOU損失、中心點(diǎn)距離損失和預(yù)測(cè)框與真實(shí)框的縱橫比損失3方面內(nèi)容。將此3項(xiàng)內(nèi)容整合后,影響最終損失值的所有變量即為式中的EIOU。EIOU的值越接近于1,則預(yù)測(cè)框損失越小。為確保預(yù)測(cè)框損失能夠更快收斂,設(shè)計(jì)REIOU損失如下:
(11)
式(11)中的LREIOU與原始LEIOU均隨EIOU值的增大而減小,下限均為0。但兩者相比,LREIOU曲線梯度較LEIOU更大,收斂更快。且梯度隨EIOU值增大而逐漸降低。當(dāng)EIOU的值趨向于1時(shí)LREIOU梯度趨近于-1,因此具有自適應(yīng)調(diào)節(jié)的良好性能。兩者曲線比對(duì)如圖9所示。
圖9 REIOU與EIOU對(duì)比圖Fig.9 Comparison of REIOU and EIOU
本文算法以YOLOv5s為原始架構(gòu)進(jìn)行改進(jìn)。YOLOv5系列共分為五種網(wǎng)絡(luò)架構(gòu),區(qū)別僅在于網(wǎng)絡(luò)規(guī)模和參數(shù)量的差異。通過調(diào)節(jié)深度因子和寬度因子,改變主干段部分中的C3模塊個(gè)數(shù)及其內(nèi)部卷積核個(gè)數(shù),最終形成不同的網(wǎng)絡(luò)深度和網(wǎng)絡(luò)寬度。其參數(shù)對(duì)比如表1所示,對(duì)比項(xiàng)目包括深度因子、寬度因子、總參數(shù)量、網(wǎng)絡(luò)層數(shù)和浮點(diǎn)運(yùn)算數(shù)(floating point operations, FLOPs)。
表1 YOLOv5系列各網(wǎng)絡(luò)結(jié)構(gòu)規(guī)模
事實(shí)上,本文的改進(jìn)適用于YOLOv5系列所有的網(wǎng)絡(luò)架構(gòu),但綜合考慮到網(wǎng)絡(luò)規(guī)模、訓(xùn)練時(shí)長以及識(shí)別率等因素,最終選擇了較為輕量的YOLOv5s進(jìn)行改進(jìn)實(shí)現(xiàn)。實(shí)驗(yàn)的軟硬件環(huán)境搭建如表2所示。
表2 實(shí)驗(yàn)的軟硬件環(huán)境
實(shí)驗(yàn)使用的數(shù)據(jù)集為公開的SSDD數(shù)據(jù)集[26],該數(shù)據(jù)集共有1 160張SAR圖像,包含2 456個(gè)艦船目標(biāo),具有多種極化模式、多種分辨率,包括了海面及沿岸等多種艦船場(chǎng)景,能有效驗(yàn)證模型的魯棒性。本文實(shí)驗(yàn)將SSDD數(shù)據(jù)集按照7∶2∶1的比例隨機(jī)劃分為訓(xùn)練集、驗(yàn)證集、測(cè)試集。
實(shí)驗(yàn)在數(shù)據(jù)集上從頭開始訓(xùn)練權(quán)重,使用隨機(jī)梯度下降(stochastic gradient descent, SGD)優(yōu)化器對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行迭代更新,動(dòng)量參數(shù)設(shè)為0.937,批次大小設(shè)為32,訓(xùn)練周期為100個(gè)輪次,訓(xùn)練時(shí)使用了warm-up方法對(duì)學(xué)習(xí)率的調(diào)整進(jìn)行預(yù)熱。其中,設(shè)置初始學(xué)習(xí)率lr0為0.01,在前3個(gè)輪次進(jìn)行warm-up使學(xué)習(xí)率迭代更新直至0.1,之后使用余弦退火算法再次更新學(xué)習(xí)率,最終使學(xué)習(xí)率下降至0.001。
本實(shí)驗(yàn)對(duì)改進(jìn)算法的評(píng)價(jià)從目標(biāo)檢測(cè)性能、運(yùn)算處理速度和模型大小3個(gè)方面展開。
目標(biāo)檢測(cè)性能以mAP為主要指標(biāo)進(jìn)行評(píng)價(jià)。mAP是以召回率R和查準(zhǔn)率P為橫、縱坐標(biāo)形成的曲線與兩坐標(biāo)軸構(gòu)筑的面積大小,其作為衡量模型整體性能的最終評(píng)價(jià)指標(biāo),具體表示為
(12)
式中:TP表示目標(biāo)正確檢測(cè)的個(gè)數(shù);FN表示目標(biāo)漏檢的個(gè)數(shù);FP為錯(cuò)檢的目標(biāo)個(gè)數(shù)。
上述評(píng)價(jià)指標(biāo)的確定與IOU檢測(cè)閾值緊密相關(guān),本實(shí)驗(yàn)設(shè)置IOU檢測(cè)閾值為0.5,即當(dāng)檢測(cè)框與真實(shí)框的重疊區(qū)域超過50%時(shí),判定檢測(cè)框預(yù)測(cè)位置正確。
運(yùn)算處理速度以每秒處理幀數(shù)(frame per second, FPS)和FLOPs為指標(biāo)進(jìn)行評(píng)價(jià)。這兩個(gè)指標(biāo)能夠分別表明模型的動(dòng)態(tài)實(shí)時(shí)檢測(cè)能力以及模型所需的算力負(fù)載。
模型大小以參數(shù)量和模型權(quán)值文件大小為指標(biāo)進(jìn)行評(píng)判,這兩個(gè)指標(biāo)能夠表明模型的輕量化程度,并為移動(dòng)端移植的可行性提供參考。
3.4.1 消融實(shí)驗(yàn)
本文算法從特征提取、特征融合和損失函數(shù)3方面對(duì)YOLOv5s進(jìn)行了改進(jìn),為評(píng)估此3項(xiàng)改進(jìn)對(duì)SAR艦船目標(biāo)檢測(cè)的優(yōu)化程度,設(shè)計(jì)了單項(xiàng)及多項(xiàng)組合的消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示。
表3 各改進(jìn)算法的性能比較
其中,第一行為原YOLOv5算法,最后一行為本文提出的改進(jìn)算法,中間幾行為消融實(shí)驗(yàn)的對(duì)比算法,表格內(nèi)“√”表示使用了當(dāng)前模塊,“—”表示未使用當(dāng)前模塊。
從改進(jìn)算法1~改進(jìn)算法3可以看出,就單個(gè)模塊對(duì)算法檢測(cè)效果的改善而言,CA機(jī)制和BiFPN、REIOU相比帶來的性能改善相對(duì)較低,但通過改進(jìn)算法4可以看出,CA一旦與BiFPN相結(jié)合,對(duì)算法檢測(cè)能力的改善則會(huì)有明顯提升,這是因?yàn)锽iFPN存在跳躍連接,在此基礎(chǔ)上進(jìn)行特征融合,可充分利用CA側(cè)重感受目標(biāo)空間位置的優(yōu)勢(shì),而原算法的特征融合沒有跳躍連接,因此CA帶來的優(yōu)勢(shì)并未被有效利用至后續(xù)的檢測(cè)過程中。在改進(jìn)算法3、改進(jìn)算法5、改進(jìn)算法6中,可以看到采用REIOU作為損失函數(shù),也能較好改善算法的平均精度均值,這是因?yàn)镽EIOU解決了原算法中預(yù)測(cè)框的長寬比在達(dá)到真實(shí)框長寬比的情況下無法同時(shí)增大或縮小的問題,使預(yù)測(cè)框損失得到有效改善。對(duì)比本文算法可知,綜合3方面的改進(jìn)可最大限度地提高原算法的目標(biāo)檢測(cè)性能,在SSDD數(shù)據(jù)集上使mAP從原來的94.8%提升至96.7%,性能改善了1.9%。
3.4.2 性能曲線
本文算法與原YOLOv5s在迭代過程中mAP值以及l(fā)oss曲線的對(duì)比情況如圖10和圖11所示。
圖10 算法改進(jìn)前后mAP值曲線Fig.10 mAP curve before and after algorithm improvement
圖11 算法改進(jìn)前后的loss曲線Fig.11 Loss curve before and after algorithm improvement
圖10展示了本文算法與原YOLOv5s算法的mAP值曲線。由圖10可以看到,本文算法mAP值收斂更快,在約20個(gè)輪次時(shí)即可達(dá)到90%左右,而原YOLOv5s算法需要50個(gè)輪次后方能達(dá)到同樣水平。這是由于本文引入的CA機(jī)制給予側(cè)重的坐標(biāo)位置特征更大的權(quán)重,使得算法在迭代時(shí)更具方向性,收斂更快,結(jié)合BiFPN結(jié)構(gòu)可更有效地提取特征并進(jìn)行融合,故本文算法收斂過程較原算法更為平穩(wěn),最終收斂值更高。
圖11展示了算法改進(jìn)前后的loss曲線,其中紅色代表改進(jìn)算法loss曲線,藍(lán)色代表原算法loss曲線。由圖11可知,改進(jìn)算法的loss值下降更快,最終收斂值更低。這是因?yàn)镽EIOU對(duì)預(yù)測(cè)框的損失進(jìn)行了重新定義,將預(yù)測(cè)框損失由預(yù)測(cè)框和真實(shí)框的長寬比改為了直接預(yù)測(cè)目標(biāo)框長度和寬度兩個(gè)因子,并優(yōu)化了下降的梯度,使收斂性能得到有效改善。
3.4.3 檢測(cè)效果
為直觀展現(xiàn)本文算法的檢測(cè)效果,從測(cè)試集的檢測(cè)結(jié)果中選取了四張具有代表性的典型場(chǎng)景檢測(cè)結(jié)果,如圖12所示。其中,圖12(a)、圖12(b)展示了在遠(yuǎn)海小目標(biāo)時(shí)的艦船檢測(cè)結(jié)果。圖12(c)、圖12(d)展示了艦船入港時(shí)復(fù)雜背景情況下的艦船檢測(cè)結(jié)果。
圖12 實(shí)驗(yàn)結(jié)果示例Fig.12 Examples of experimental results
從圖12可以看出,算法對(duì)于離港的艦船在無港口、島嶼等干擾的情況下,檢測(cè)效果良好,無論是對(duì)少數(shù)目標(biāo)或是多個(gè)離散分布的目標(biāo)都能實(shí)現(xiàn)準(zhǔn)確的識(shí)別。對(duì)于艦船入港時(shí)具有復(fù)雜背景影響的情況,改進(jìn)算法也具有良好的檢測(cè)效果,尤其是在圖12(d)中,算法對(duì)于復(fù)雜背景下,不同尺寸大小且分布密集的艦船目標(biāo)均可實(shí)現(xiàn)準(zhǔn)確定位和識(shí)別,漏警率和虛警率低。
3.4.4 算法比較
為驗(yàn)證算法的有效性和先進(jìn)性,將本文算法與其他常用目標(biāo)檢測(cè)算法在SSDD數(shù)據(jù)集上進(jìn)行了橫向?qū)Ρ葘?shí)驗(yàn),結(jié)果如表4所示。
表4 SSDD數(shù)據(jù)集上各檢測(cè)算法對(duì)比
對(duì)于平均檢測(cè)精度而言,各算法的mAP值均可達(dá)到83%以上。對(duì)比兩階段算法中主干段采用ResNet50[27]+FPN結(jié)構(gòu)的Faster-RCNN,本文算法的mAP提升了13%,性能改善明顯,對(duì)比單階段的RetinaNet[28]和SSD算法,本文算法的mAP也分別有4.7%、10.6%的提升,具有更加優(yōu)秀的檢測(cè)能力,同時(shí)也優(yōu)于同系列的YOLOv3和YOLOv5s算法。
在運(yùn)算速度和計(jì)算量上,本文算法FPS達(dá)到了127,與除YOLOv5s的其他算法相比提高了3~7倍。FLOPs的大小為16.6 G,遠(yuǎn)小于Faster-RCNN、RetinaNet、YOLOv3 3種算法。與SSD算法相比,雖然總計(jì)算量略高,但由于算法結(jié)構(gòu)具有較高并行度,改進(jìn)算法實(shí)際處理速率達(dá)到了SSD的3倍,具有明顯優(yōu)勢(shì)。與原算法YOLOv5s相比,由于增加了CA機(jī)制,改進(jìn)算法總的計(jì)算量略有增加,運(yùn)算速度亦有所下降,然而127 FPS的速率已經(jīng)可以滿足當(dāng)前大多數(shù)的工程實(shí)際需求。在可接受的下降范圍內(nèi),新算法換來了檢測(cè)性能的明顯提升。
至于參數(shù)量和權(quán)重文件大小,本文算法的參數(shù)量僅為7.2 M,權(quán)重文件大小為14.1 MB,約為SSD算法的1/2,Faster-RCNN的1/7,RetinaNet的1/8,YOLOv3的1/9,顯著優(yōu)于其他算法。與原YOLOv5s算法相比,本文算法參數(shù)量和權(quán)重文件僅增加了0.2 M和0.4 MB,仍然保持了輕量化,便于在移動(dòng)端上部署和執(zhí)行。
在確定本文算法的過程中,進(jìn)行了兩種CA嵌入方案的對(duì)比實(shí)驗(yàn),其具體實(shí)現(xiàn)見第2.2節(jié),實(shí)驗(yàn)結(jié)果如表5所示。其中,方案1和方案2為第2.2節(jié)所述的方案1與方案2。兩種方案均采用了REIOU和BiFPN。
表5 兩種CA嵌入方案性能對(duì)比
從表5可知,方案1所需的計(jì)算量和參數(shù)量更小。這是因?yàn)榉桨?為控制參數(shù)規(guī)模,在為每一個(gè)C3模塊嵌入CA時(shí),去掉了原先C3中的頸部段,相較頸部段而言嵌入的CA需要更新的參數(shù)量更少,具有更小的計(jì)算量,同時(shí)其FPS值也相應(yīng)較高。但由于去掉了具有跨層連接的頸部段結(jié)構(gòu),其特征提取能力會(huì)有所下降,因而方案1的平均精度mAP值不及方案2??紤]到檢測(cè)性能的影響,本文算法最終選用了第二種嵌入方案。
為進(jìn)一步驗(yàn)證本文算法的先進(jìn)性以及對(duì)原YOLOv5算法帶來的性能影響,將本文算法與一些其他改進(jìn)算法進(jìn)行了實(shí)驗(yàn)比對(duì),結(jié)果如表6所示。改進(jìn)算法在原主干段融入了SE[29]、CBAM[30]和CA三種不同的注意力機(jī)制,改進(jìn)算法1~改進(jìn)算法3、改進(jìn)算法4~改進(jìn)算法6、改進(jìn)算法7和改進(jìn)算法8在各注意力機(jī)制基礎(chǔ)上分別使用SIOU[31]、EIOU和REIOU作為預(yù)測(cè)框損失函數(shù)。上述的8種改進(jìn)算法均在BiFPN的結(jié)構(gòu)中實(shí)現(xiàn)了特征融合,最后與本文改進(jìn)算法進(jìn)行了比對(duì)。
表6 YOLOv5s及改進(jìn)算法的性能參數(shù)比對(duì)
實(shí)驗(yàn)結(jié)果表明,以上9種改進(jìn)算法均能提高檢測(cè)算法的性能。就mAP值而言,在損失函數(shù)相同的情況下,CA機(jī)制相對(duì)SE、CBAM能夠?yàn)樵惴◣砀嗵嵘?在SIOU、EIOU和REIOU下分別提高1.2%、1.7%和1.9%。就參數(shù)量而言,CA帶來的增長也是3種注意力機(jī)制中最少的。故而在三者中選擇CA機(jī)制為宜。在注意力機(jī)制確定的情況下,采用REIOU作為預(yù)測(cè)框損失相較SIOU而言,FPS值基本保持不變,mAP值在SE和CA下有0.3%~0.7%的提升;相較EIOU而言,采用REIOU時(shí)其mAP值在SE和CA上均有0.2%的提升,同時(shí)考慮其擁有更快的收斂速度,因而損失函數(shù)采用REIOU為宜。同時(shí)結(jié)合實(shí)驗(yàn)結(jié)果,也可看出本文改進(jìn)方案在表6所列所有方案中效果是最佳的。
為清晰直觀地展示原算法和幾種改進(jìn)算法的性能差異,除原算法和本文改進(jìn)算法,在其余的8種改進(jìn)算法中選擇了性能最好的3種算法,并從測(cè)試集中挑選了5種典型場(chǎng)景的SAR圖像檢測(cè)結(jié)果進(jìn)行橫向?qū)Ρ?如圖13所示。
由圖13可以看出,所展示的五種算法均可對(duì)SAR圖像的艦船目標(biāo)做出有效檢測(cè),但存在部分漏檢或錯(cuò)檢的情況。在以第一幅圖為代表的深海區(qū)域多目標(biāo)情形下,5種算法均可準(zhǔn)確檢測(cè)出所有目標(biāo)。第二、第三、第四幅圖分別為復(fù)雜背景大、中、小三種尺度下入港艦船檢測(cè)結(jié)果。第二幅圖中,原算法和改進(jìn)6算法存在漏檢,改進(jìn)3算法存在錯(cuò)檢情況;第三幅圖中,原算法和改進(jìn)6算法存在嚴(yán)重漏檢,改進(jìn)7算法存在部分漏檢;第四幅圖中,原算法將部分背景錯(cuò)檢為目標(biāo)。而對(duì)于此三幅圖,本文算法均未出現(xiàn)漏檢及錯(cuò)檢情況。第五幅圖展示了密集多目標(biāo)位于圖像邊緣的情況,原算法和改進(jìn)3算法、改進(jìn)6算法存在漏檢,改進(jìn)7算法和本文算法結(jié)果良好。
綜上可知,在多種尺度的SAR圖像中,本文算法無論是對(duì)深海區(qū)域的離港艦船或是對(duì)處于復(fù)雜背景下的入港艦船,相比原算法及其他對(duì)比改進(jìn)算法都具有更高的檢測(cè)精度,更好的魯棒性和更低的漏檢/錯(cuò)檢率。
雖然本文算法取得了性能上的提升,但通過實(shí)驗(yàn)仍發(fā)現(xiàn)了一些不足,主要體現(xiàn)在復(fù)雜背景下有強(qiáng)干擾信號(hào)時(shí)存在的目標(biāo)漏檢問題,如圖14所示。由于單通道SAR圖像本身缺乏紋理、色彩等細(xì)節(jié)信息,且圖像分辨率較低,網(wǎng)絡(luò)的學(xué)習(xí)能力不能充分發(fā)揮,再加之訓(xùn)練集僅有812張圖片,缺乏足夠的學(xué)習(xí)樣本,含有強(qiáng)噪聲干擾的目標(biāo)樣本則更少,使得網(wǎng)絡(luò)的泛化能力不足,而導(dǎo)致上述現(xiàn)象發(fā)生。
圖14 目標(biāo)存在干擾時(shí)的漏檢Fig.14 Missed detection in the presence of target interference
針對(duì)當(dāng)前基于深度學(xué)習(xí)的SAR圖像目標(biāo)檢測(cè)算法易受噪聲和背景干擾影響,以及在多尺度條件下檢測(cè)性能下降的問題,本文在兼顧算法網(wǎng)絡(luò)規(guī)模和檢測(cè)精度的基礎(chǔ)上,提出了一種基于CA機(jī)制和多尺度融合而改進(jìn)的YOLOv5目標(biāo)檢測(cè)算法。該算法對(duì)于遠(yuǎn)海簡(jiǎn)單背景情況下以及具有陸地、港口等復(fù)雜背景情況下的艦船目標(biāo)都具有良好的檢測(cè)效果。相比其他方法,本文所提算法具有更高的精度和檢測(cè)速率,模型更為簡(jiǎn)單,權(quán)重文件更小。對(duì)比原YOLOv5模型,該算法在僅增加少量參數(shù)的情況下,改善了算法的平均檢測(cè)精度,同時(shí)能夠快速收斂,具備較高的檢測(cè)速率,滿足各種工程項(xiàng)目的實(shí)時(shí)性需求。其權(quán)重文件僅為14.1 M,對(duì)彈載、機(jī)載等移動(dòng)端設(shè)備上的實(shí)時(shí)SAR圖像檢測(cè)具有一定現(xiàn)實(shí)意義。
本文方法雖然達(dá)到了良好的檢測(cè)效果,但在實(shí)驗(yàn)中,由于使用的SSDD數(shù)據(jù)集訓(xùn)練樣本較少,且缺乏有強(qiáng)噪聲干擾時(shí)的訓(xùn)練樣本,使得在有較強(qiáng)干擾時(shí)存在個(gè)別目標(biāo)漏檢的情況。計(jì)劃在未來工作中,進(jìn)一步優(yōu)化損失函數(shù),以解決樣本不平衡的問題,并使用數(shù)量更大、分辨率更高的SAR艦船圖像數(shù)據(jù)集進(jìn)行訓(xùn)練,以優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)和提高檢測(cè)精度。