王燕妮,孫雪松,余麗仙
(西安建筑科技大學(xué)信息與控制工程學(xué)院,西安710055)
隨著人類對海洋資源的過度開采,海洋生態(tài)環(huán)境持續(xù)遭到破壞,世界各國紛紛采取措施應(yīng)對現(xiàn)狀。為保護近海生態(tài)環(huán)境,我國也開始實施對領(lǐng)海和近岸海域內(nèi)船舶進行監(jiān)測。但是在天氣、海浪等自然界不可控因素的影響下,派遣海警船等監(jiān)測手段非常耗費人力物力。合成孔徑雷達(Synthetic Aperture Radar,SAR)是一種全天時、全天候、多維度獲取信息的主動式微波成像雷達,為海洋上多尺度的船舶檢測提供了強有力的數(shù)據(jù)保障和技術(shù)支持,在遙感圖像船舶檢測領(lǐng)域占有重要地位[1-2]。
傳統(tǒng)的SAR 船舶檢測方法主要有基于變換域[3],基于視覺顯著性[4],恒虛警率方法[5],模板匹配法[6]等方法,雖然這些方法在某些特定場景下能夠取得較好的效果,但這些方法都是采用手工設(shè)計的方法提取船舶特征,計算量大,泛化能力弱,并且手工特征提取也較為困難。
隨著人工智能技術(shù)的興起,深度學(xué)習(xí)技術(shù)以其更高的精度、更快的速度、更少的人為干預(yù)等優(yōu)勢幾乎占據(jù)了SAR 船舶檢測領(lǐng)域的主導(dǎo)地位。當(dāng)前主流的目標(biāo)檢測方法分為三類:一類是基于區(qū)域推薦的兩階段檢測方法,首先生成輸入圖像的建議框,然后對建議框進行分類和位置回歸操作,最終得到檢測結(jié)果。典型的兩階段檢測算法包括區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Region Convolutional Neural Networks,RCNN)[7]和Faster-RCNN[8]等,此類方法在精度上有明顯提高,但是因其占用較多的計算資源,在實時性上有一定程度的降低。另一類是基于回歸的單階段目標(biāo)檢測方法,此類方法將目標(biāo)檢測問題視為回歸問題,從輸入圖像上直接預(yù)測邊界框和具體物體類別,YOLO[9]和SSD((Single Shot MultiBox Detector))[10]是經(jīng)典的單階段目標(biāo)檢測算法,由于不再需要中間選取候選區(qū)域的操作,檢測速度較快。還有一類是基于關(guān)鍵點的檢測方法。該方法解決了錨框存在的缺點,不需要錨框,同時可以取得良好的檢測的速度和精度,主要算法有CenterNet[11]和FCOS[12]等。
基于深度學(xué)習(xí)的SAR 圖像的船舶檢測算法已取得顯著的成果。周雪珂等[13]從多尺度特征融合與通道關(guān)系校準(zhǔn)的角度出發(fā),檢測精度在改進模型上達到了89.4%;JIN Liang 等[14]在SSD 網(wǎng)絡(luò)中每個特征層添加注意機制擠壓激勵網(wǎng)絡(luò)模塊,有效提升了檢測精度;劉競升等[15]基于FCOS 引入更多特征層,增加跳躍連接改進特征金字塔,更好地利用低層特征,提升了船舶檢測效果;ZHOU Long 等[16]結(jié)合密集連接、殘余連接和組卷積的思想,提出了輕量級的卷積神經(jīng)網(wǎng)絡(luò)Lira-YOLO,降低了網(wǎng)絡(luò)運行的復(fù)雜性,方便部署在移動設(shè)備上。
目前應(yīng)用于海上船舶的SAR 成像速度不斷地提高,算法能夠?qū)崟r快速的檢測顯得尤為重要。海上船舶檢測的實際應(yīng)用環(huán)境難以部署模型復(fù)雜的算法。因此,算法模型的計算量,決定了能否實現(xiàn)該算法的輕量化和實時性。如張筱晗等[17]提出精簡網(wǎng)絡(luò)結(jié)構(gòu)數(shù)據(jù)驅(qū)動的目標(biāo)分布聚類算法,結(jié)合雙向高低層特征融合機制,減少了訓(xùn)練和測試時間,但檢測精度較低,同時模型復(fù)雜度較高。
為了能同時兼顧檢測精度和速度,便于模型部署,本文提出一種有效增強感受野的輕量級SAR 圖像船舶目標(biāo)檢測算法。首先,采用ShuffleNetV2[18]網(wǎng)絡(luò)進行主干特征提取,降低了模型尺寸;其次,結(jié)合改進的特征金字塔池化模塊,有效增強網(wǎng)絡(luò)的感受野;然后,添加空間注意力模塊,增強模型對空間位置信息的關(guān)注,提升船舶目標(biāo)定位能力;再者,引入改進型路徑聚合網(wǎng)絡(luò),進一步融合船舶位置信息和語義信息;最后,使用輕量化檢測頭,實現(xiàn)算法的高速和高效的檢測。
本文提出一種有效增強感受野的輕量級SAR 圖像船舶目標(biāo)檢測算法。主干網(wǎng)絡(luò)使用ShuffleNetV2,對特征信息進行高質(zhì)量的高效提取。在主干網(wǎng)絡(luò)之后,引入改進的空間金字塔池化模塊(Spatial Pyramid Pooling,SPP),將其命名為SSPP,該模塊有利于增強網(wǎng)絡(luò)感受野,豐富特征信息。在頸部網(wǎng)絡(luò)中融入空間注意力模塊(Spatial Attention Module,SAM),提高網(wǎng)絡(luò)對船舶目標(biāo)的定位能力。采用改進的路徑聚合網(wǎng)絡(luò)(Path Aggregation Network,PAN),進行雙向多尺度特征融合,進一步增強網(wǎng)絡(luò)特征圖。在檢測頭部分,使用輕量級卷積結(jié)構(gòu),輸出船舶的位置和類別置信度信息。本文網(wǎng)絡(luò)整體結(jié)構(gòu)如圖1所示。
圖1 本文網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 The proposed network structure
為了滿足嵌入式等移動設(shè)備高效運行深層神經(jīng)網(wǎng)絡(luò)的同時保持精度的需求,ZHANG Xiangyu 等[19]引入ShuffleNetV1 模型,該模型基本單元由組卷積和通道洗牌組成。雖然組卷積具有減少參數(shù)量的作用,但信息缺少融合。為了克服這個問題,提出了通道洗牌操作,該方法可以實現(xiàn)不同組之間通道信息的交流,操作過程如圖2所示。
圖2 通道洗牌的操作過程Fig.2 The operation process of channel shuffle
MA Ningning 等[18]提出四種高效輕量化網(wǎng)絡(luò)設(shè)計指導(dǎo)方針,并按照指導(dǎo)方針對ShuffleNetV1 進行了改進,引入通道分割結(jié)構(gòu),重新設(shè)計Block 模塊,最終得到ShuffleNetV2 輕量化模型。Block 模塊結(jié)構(gòu)如圖3所示,圖3(a)是步距為1 時的基本單元,圖3(b)是步距為2 時的降采樣單元。圖1 主干網(wǎng)絡(luò)中的每個Stage 層由這2 個Block 模塊堆疊而成。ShuffleNetV2 詳細(xì)網(wǎng)絡(luò)參數(shù)如表1所示。
表1 ShuffleNetV2 網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Overall architecture of ShuffleNetV2
圖3 ShuffleNetV2 的構(gòu)建模塊Fig.3 Building blocks of ShuffleNetV2
在認(rèn)知科學(xué)中,人類視網(wǎng)膜的不同部位具有不同的敏感性。當(dāng)看到事物時,人類會有選擇地將注意力集中在關(guān)鍵信息上,而忽略其他無用信息,這種特性被稱為注意力機制。當(dāng)前,注意力機制被廣泛應(yīng)用在圖像分割、圖像識別等各種計算機視覺任務(wù)中,并取得了顯著的效果。卷積塊注意力模塊(Convolutional Block Attention Module,CBAM)[20]是由通道注意力與空間注意力串聯(lián)而成的混合域注意力機制。通道注意力增強了網(wǎng)絡(luò)對有意義的輸入特征的關(guān)注度,有利于提高卷積通道間資源分配的粒度。空間注意力在將原始圖像中的空間信息轉(zhuǎn)換到另一個空間時保留關(guān)鍵信息,有助于網(wǎng)絡(luò)更多地關(guān)注特征位置信息。
考慮到本文檢測只有一個類別,對網(wǎng)絡(luò)模型的分類能力要求較低,但是定位能力要求較高。結(jié)合輕量化思想,本文只使用CBAM 中的空間注意力模塊(Spatial Attention Module,SAM),如圖4所示。SAM 是對輸入特征圖在通道維度上進行最大池化和平均池化操作生成兩個2 維的空間特征圖矩陣,將兩個特征圖在通道維度上進行拼接,之后使用7×7 卷積層進行權(quán)重的優(yōu)化,優(yōu)化后的特征圖經(jīng)過Sigmoid 激活函數(shù)獲得空間注意力圖,最后將兩者逐點相乘便可得到空間注意力的新特征。SAM 表示為
圖4 空間注意力模塊Fig.4 Spatial Attention Module
式中,Pmax和Pavg分別表示最大池化和平均池化操作,f7×7表示7×7 的卷積層,σ()表示Sigmoid 激活函數(shù),F(xiàn)代表輸入特征圖,Ms表示空間注意力圖。
將SAM 添加在主干網(wǎng)絡(luò)8 倍和16 倍下采樣輸出的特征圖處,船舶圖片經(jīng)過SAM 處理的熱力圖如圖5所示。其中,圖5(a)為輸入圖像,圖5(b)為普通卷積輸出的熱力圖,圖5(c)為SAM 熱力圖??梢钥闯觯c普通卷積輸出熱力圖對比,經(jīng)過空間注意力機制的熱力圖,船舶目標(biāo)位置信息被顯著放大,背景噪聲被明顯抑制,有利于網(wǎng)絡(luò)學(xué)習(xí)到關(guān)鍵目標(biāo)的信息。
圖5 SAM 熱力圖Fig.5 SAM heatmap
SAR 圖像中遠海的船舶目標(biāo)尺寸相對較小,近岸的船舶目標(biāo)尺寸較大,對于多尺度船舶的檢測一直是研究的重點。一般來說,高層特征的感受野表達強烈語義信息,而低層特征的感受野具有良好的空間位置信息和高分辨率表達能力。文獻[21]提出了一種SPPNet,是一種通過多尺度聚合操作將特征映射融合為一個固定長度特征向量的結(jié)構(gòu),解決了信息丟失和尺度不統(tǒng)一的問題。為了能夠提高不同尺度的船舶檢測,增加高層語義特征的感受野,本文在主干網(wǎng)絡(luò)32倍下采樣后添加改進的SPP 和SAM 組合而成的SSPP 模塊,如圖6所示。
圖6 SSPP 模塊結(jié)構(gòu)圖Fig.6 The structure of SSPP
由于遠海小尺寸船舶數(shù)量相對較多,空間金字塔池化結(jié)構(gòu)的最大的池化核要盡可能與需要池化的特征圖的大小相等,因此對原SPP 的最大池化核改進為7、5 和3,最大池化操作可以在不同尺度上保留最顯著的特征,增加了局部區(qū)域特征圖的感受野,使得網(wǎng)絡(luò)獲得更豐富的局部特征信息,捕獲更多的船舶特征。在SSPP 模塊,輸入特征圖(H,W,C)分別用3×3、5×5 和7×7 三種不同大小的核做最大池化操作,池化步長為1,在特征圖周圍進行padding 操作來保證特征圖輸入輸出尺寸不變,把經(jīng)過最大池化后的多尺度局部感受野特征圖和輸入特征圖在通道上用Concat 方式拼接到一起,再輸入SAM 對船舶空間位置進行優(yōu)化輸出結(jié)果(H,W,4C)。圖7 為SSPP 模塊處理后的特征圖,圖7(a)是原圖,圖7(b)是普通卷積輸出特征圖,圖7(c)是SSPP 處理后特征圖。
圖7 SSPP 特征圖Fig.7 Feature map of SSPP
從圖7 可以看出,采用SSPP 模塊的特征圖,相比普通卷積輸出的特征圖感受野有明顯增強,船舶邊緣輪廓信息和主要位置特征更加清晰,背景噪聲也有顯著抑制。SSPP 模塊能夠有效增強網(wǎng)絡(luò)感受野,提煉出更關(guān)鍵的船舶目標(biāo)上下文特征,為后面的路徑聚合網(wǎng)絡(luò)輸入更加豐富的特征信息,提高對不同尺度船舶的檢測效果。
在目標(biāo)檢測任務(wù)中,為了使模型學(xué)習(xí)多樣性的特征,提高檢測性能,頸部網(wǎng)絡(luò)對骨干網(wǎng)絡(luò)提取的特征進行重新處理,將不同尺度的學(xué)習(xí)分散到多個層次的特征圖中,并將不同感受野大小的特征圖進行融合。本文引入了雙向路徑聚合的特征金字塔網(wǎng)絡(luò)PANet[22],如圖8所示。圖8 中,F(xiàn)PN 層是融合路徑a,通過自上而下上采樣與高層特征信息進行融合,增強了網(wǎng)絡(luò)高層強大的語義特征,但沒有增強定位信息;在FPN 層后面添加了一個自下而上的特征金字塔b,使得低層特征提供的更準(zhǔn)確位置信息通過下采樣方式與高層特征進行融合,聚合了不同主干層的參數(shù),提高了網(wǎng)絡(luò)的特征提取性能。
圖8 PANet 結(jié)構(gòu)Fig.8 PANet structure
本文從輕量化和特征提取能力出發(fā),對PANet 進行改進,如圖9所示。在自下而上的路徑b 上,融合經(jīng)過SAM 處理后的特征,如圖9 中的虛線箭頭,SAM 重點關(guān)注船舶位置特征信息,通過與低層特征圖的定位信息融合,使得網(wǎng)絡(luò)在檢測小尺度船舶時對低層高分辨率信息有更好的利用,對船舶目標(biāo)的定位能力更加精確,進一步提高了小目標(biāo)船舶的檢測能力。融合方式采用element sum 將多尺度的特征圖直接相加,相比Concat 操作,沒有改變通道數(shù),更節(jié)省計算量。為了將檢測頭輕量化,本文采用了深度可分離卷積,相比普通卷積,該操作可以在保持網(wǎng)絡(luò)精度的同時使用更少的計算成本。
圖9 改進的PANet 結(jié)構(gòu)Fig.9 Improved PANet structure
本文使用的數(shù)據(jù)集是國內(nèi)外公開的首個專門用于SAR 圖像船舶目標(biāo)檢測的數(shù)據(jù)集(SAR Ship Detection Dataset,SSDD)[23],共1 160 幅圖像,2 456 條船舶,平均每幅圖像有2.12 條船舶。該數(shù)據(jù)集仿照PASCAL VOC 數(shù)據(jù)集的格式構(gòu)造,使用LabelImg 軟件對所有船舶圖像進行xml 格式標(biāo)注,每個船舶目標(biāo)的框表示為(x,y,w,h),如圖10所示。該數(shù)據(jù)集包括不同分辨率、極化、海況、大片海域和靠岸等條件的船舶SAR 圖像,船舶的多樣性能夠較好地驗證算法的有效性。本文將SSDD 數(shù)據(jù)集按照7∶2∶1 的比例劃分為訓(xùn)練集、驗證集和測試集,按照船舶的尺度變化和密集程度的原則進行隨機劃分,確保劃分的數(shù)據(jù)集在遠海和近海的不同尺度的船舶目標(biāo)均勻分布,以保證實驗的有效性。
圖10 SSDD 的部分樣本和標(biāo)簽Fig.10 Sample images and labels in SSDD
本文采用的算法評價指標(biāo)為準(zhǔn)確率(Precision)、召回率(Recall)、平均精度均值(mAP)、每秒幀數(shù)(FPS)、運算浮點數(shù)(FLOPs)、參數(shù)量(Parameters)和模型大?。∕odel size)。本文僅有船舶一類目標(biāo),因此mAP = AP,取IoU 閾值為0.5 時的mAP 值。mAP 計算公式為
式中,P表示準(zhǔn)確率,R表示召回率,mAP 表示所有AP 值的平均值,衡量模型在所有類別上訓(xùn)練效果的好壞。FPS 表示檢測速度的快慢,F(xiàn)LOPs 用來衡量算法模型的復(fù)雜度,Parameters 表示網(wǎng)絡(luò)中的參數(shù)數(shù)量的多少。
本文實驗配置環(huán)境為:CPU 為AMD Ryzen7 3750H、GPU 為NVIDIA GeForce GTX1060Ti(4 GB 顯存)、內(nèi)存8 GB、硬盤500 GB、Ubuntu 18.04 操作系統(tǒng)。使用Python 3.7 語言,PyTorch 1.2 深度學(xué)習(xí)框架,并使用cuda 10.0 驅(qū)動實現(xiàn)圖像矩陣的加速訓(xùn)練。
訓(xùn)練過程的優(yōu)化參數(shù)為:訓(xùn)練的epoch 為120,設(shè)置每批次輸入網(wǎng)絡(luò)的圖像數(shù)為16,訓(xùn)練過程中,epochs 為5 的倍數(shù)或者超過100 時,對模型進行驗證以保存驗證結(jié)果最優(yōu)的模型。初始學(xué)習(xí)率設(shè)為0.001,訓(xùn)練開始采用warm-up 學(xué)習(xí)率策略,讓學(xué)習(xí)率從0 緩慢地增加到學(xué)習(xí)率0.001,有助于保持模型深層的穩(wěn)定性。然后采用余弦退火衰減優(yōu)化策略更新學(xué)習(xí)率,權(quán)重衰減參數(shù)設(shè)置為0.000 05,學(xué)習(xí)率最終減小到0.000 1。采用多尺度訓(xùn)練的策略,提升網(wǎng)絡(luò)對多尺度船舶檢測的能力。本文算法使用遷移學(xué)習(xí)的方式進行訓(xùn)練,使用ShuffleNetV2 在ImageNet 上的預(yù)訓(xùn)練權(quán)重初始化網(wǎng)絡(luò)的參數(shù),對于后面改進的網(wǎng)絡(luò)層進行權(quán)重正態(tài)隨機初始化,再對網(wǎng)絡(luò)整體進行訓(xùn)練。
為了使模型的魯棒性更強,對單通道的SAR 圖像的進行數(shù)據(jù)增強,主要采用了水平翻轉(zhuǎn)、加噪、旋轉(zhuǎn)、尺度變化、改變對比度等隨機方案。同時為了解決小數(shù)據(jù)集訓(xùn)練時泛化能力不足的問題,使用了Mosaic 在線數(shù)據(jù)增強,豐富了數(shù)據(jù)集中的小目標(biāo)船舶,提升小尺度船舶的檢測性能。Mosaic 數(shù)據(jù)增強方案的效果如圖11。
圖11 馬賽克數(shù)據(jù)增強Fig.11 Mosaic data enhancement
為了驗證本文改進算法的有效性,在測試集上選取了四種不同的場景、分辨率和船舶尺度的典型SAR 圖像來展示其檢測性能,檢測效果如圖12,圖中綠色標(biāo)記表示真實框,紫色標(biāo)記表示預(yù)測結(jié)果。圖12(a)和(b)是近岸碼頭、近岸海灣??康拇澳繕?biāo)檢測結(jié)果,圖12(c)是遠海水域的小船舶目標(biāo)檢測結(jié)果,圖12(d)是噪聲干擾下導(dǎo)致圖像質(zhì)量降低的船舶圖像檢測結(jié)果。
從圖12 可以發(fā)現(xiàn),圖12(a)在陸地背景下近岸不同尺度的船舶能夠被有效檢測識別。圖12(b)在海灣中緊挨著排列放置的小船舶目標(biāo)同樣能夠被準(zhǔn)確識別出來。圖12(c)和圖12(d)在遠海寬闊水域稀疏分布、目標(biāo)較小的船舶和強噪聲干擾下分辨率降低的SAR 圖像也可以準(zhǔn)確地對船舶目標(biāo)進行定位識別。圖13 是本文算法在SSDD 數(shù)據(jù)集上的精度召回率圖(P-R 曲線圖),改進模型的mAP 可達94.7%,由圖中可以發(fā)現(xiàn)船舶類別的P-R 曲線下面積較大,平衡點取值較高,檢測性能較優(yōu)。從以上結(jié)果可以看出,本文算法對近海復(fù)雜背景的大小目標(biāo)、遠海水域小目標(biāo)以及由于噪聲干擾下的船舶目標(biāo)都具有良好的檢測能力。
圖12 本文算法在不同場景下的目標(biāo)檢測結(jié)果Fig.12 Target detection results of the improved algorithm in different scenarios
圖13 P-R 曲線(閾值從0.05 變?yōu)?.95)Fig.13 P-R curve(the threshold changed from 0.05 to 0.95)
2.5.1 消融實驗
本文提出的輕量化SAR 圖像船舶目標(biāo)檢測算法,包含4 個改進,分別是:采用輕量化ShuffleNetV2 作為主干網(wǎng)絡(luò),引入SSPP 模塊,引入SAM 模塊,以及使用輕量化的PAN。為了評估本文算法中改進的模塊對SAR 圖像船舶目標(biāo)的檢測影響,以輕量化ShuffleNetV2 主干網(wǎng)絡(luò)為基礎(chǔ),在SSDD 數(shù)據(jù)集上進行了消融實驗,定量分析了各模塊的檢測性能,結(jié)果如表2所示。
從表2 可以看出,在不加任何改進模塊的情況下,基礎(chǔ)的主干特征提取網(wǎng)絡(luò)ShuffleNetV2 在SSDD 測試集上的mAP 值是85.6%。通過添加SSPP 模塊,有效擴大了模型感受野,顯著地分離了船舶的上下文特征,使得mAP 在ShuffleNetV2 基礎(chǔ)上提升了4.6%。通過添加空間注意機制模塊(SAM),提高了船舶“在哪里”的定位能力,減少了小尺度船舶的漏檢,mAP 提高了1.3%。最后添加輕量化的路徑聚合網(wǎng)絡(luò)(PAN)做特征融合,增加自底向上的細(xì)節(jié)信息流通路徑,提高了船舶目標(biāo)框坐標(biāo)的回歸精度,增強了對小尺度船舶的檢測,相比只使用SSPP 模塊,mAP 提升了3.2%。本文算法在ShuffleNetV2 網(wǎng)絡(luò)的基礎(chǔ)上經(jīng)過3 個方面的改進,檢測精度相比基礎(chǔ)模型提升了9.1%,檢測速度達到46 FPS,滿足實時性要求,在檢測精度和速度上均達到了令人滿意的結(jié)果。
表2 不同模塊精度對比結(jié)果Table 2 Accuracy comparison results of different modules
2.5.2 不同算法兩種場景對比
鑒于SAR 圖像近岸船舶通常會有復(fù)雜背景,遠海船舶目標(biāo)尺度相對較小的特點,將SSDD 測試集的船舶目標(biāo)分為近岸(Near shore)和遠海(Open sea)兩類,在SSD、YOLOv3[24]、YOLOv3-tiny[24]、YOLOv4[25]、YOLOv4-tiny[25]和本文算法上分別測試其準(zhǔn)確率(Precision)與召回率(Recall),對比算法均采用相同的數(shù)據(jù)劃分和優(yōu)化參數(shù),使用在ImageNet 上的預(yù)先訓(xùn)練好的權(quán)重進行訓(xùn)練,測試結(jié)果如表3所示。
表3 不同檢測算法在近岸與遠海場景下的性能對比Table 3 Comparison of different detection algorithms in near shore and open sea scenes
從表3 可以看出,在復(fù)雜背景的近岸場景下,本文算法檢測效果相比其它五種算法都有一定能力的提高。在遠海船舶目標(biāo)檢測的場景下,六種算法的準(zhǔn)確率與召回率都較優(yōu),這是因為在遠海船舶樣本的背景都較為簡單,只是在尺度大小上有所差異,小目標(biāo)船舶所占比例較多,SSD 算法對小尺度目標(biāo)船舶特征描述不充分導(dǎo)致檢測效果較差;YOLOv3 使用的網(wǎng)絡(luò)結(jié)構(gòu)是Darknet53,準(zhǔn)確率和召回率都較為理想,但是因其網(wǎng)絡(luò)的感受野不夠大,對小目標(biāo)特征的學(xué)習(xí)能力不足,故對小目標(biāo)檢測效果不佳;YOLOv4 采用的了較為復(fù)雜的骨干網(wǎng)絡(luò)CSPdarknet53,能夠提取更豐富的特征信息,對遠海場景下的小目標(biāo)船舶的檢測效果較好,但在近岸復(fù)雜場景下船舶檢測的準(zhǔn)確率和召回率均低于本文改進算法;YOLOv3-tiny 簡化了骨干網(wǎng)絡(luò),特征信息提取不充分,并且只有2 個尺度的預(yù)測分支,對大目標(biāo)和中等目標(biāo)的檢測效果較好,對小尺度船舶目標(biāo)的定位效果較差造成漏檢,兩種場景下的準(zhǔn)確率和召回率都偏低;YOLOv4-tiny 的骨干網(wǎng)絡(luò)CSPdarknet53_tiny 結(jié)構(gòu)較為簡單,網(wǎng)絡(luò)泛化性不足,對遠海場景下的小目標(biāo)和復(fù)雜背景下密集排列的目標(biāo)漏檢較多,故召回率較低。針對Yolov3-tiny 和Yolov4-tiny 網(wǎng)絡(luò)難以識別小目標(biāo)船舶,后續(xù)研究預(yù)引入Focal Loss 損失函數(shù)進行改進,由于小尺度的目標(biāo)船舶所占據(jù)的像素區(qū)域相對于整個SAR 圖像而言比例很小,在訓(xùn)練過程中會出現(xiàn)正負(fù)樣本不平衡的問題,采用Focal Loss 函數(shù),可以在網(wǎng)絡(luò)的訓(xùn)練過程中自動對正、負(fù)樣本,以及簡單、復(fù)雜樣本的不平衡進行調(diào)整,減少正負(fù)樣本分布不平衡所造成的誤差,使得網(wǎng)絡(luò)更加關(guān)注難以訓(xùn)練的小目標(biāo)船舶樣本,從而提高小目標(biāo)的檢測精度。
本文算法以輕量化ShuffleNetV2 網(wǎng)絡(luò)為基礎(chǔ),在網(wǎng)絡(luò)的頸部添加改進的空間金字塔池化模塊,極大地增強了網(wǎng)絡(luò)的感受視野,降低了網(wǎng)絡(luò)對船舶尺度的敏感性,使用空間注意力機制和改進路徑聚合網(wǎng)絡(luò),使得模型更加關(guān)注船舶目標(biāo)的位置,提高了船舶目標(biāo)的特征定位能力,經(jīng)過各改進模塊的作用,模型對船舶目標(biāo)的特征表達能力有一定的提高,檢測效果表現(xiàn)較為優(yōu)異。
2.5.3 不同算法檢測效果對比
為了更直觀地比較不同算法的檢測結(jié)果,從SSDD 中選擇近岸密集排列??康拇昂瓦h海小目標(biāo)船舶兩種典型場景,分別使用SSD 算法、YOLOv3-tiny 算法和本文算法進行檢測,對比效果圖如圖14 和圖15所示。圖中黃色圓形框表示漏檢的目標(biāo),紅色矩形框表示虛警(誤檢)的目標(biāo)。
圖14 近岸船舶復(fù)雜背景的檢測算法對比Fig.14 Comparison of detection algorithms for complex background of near-shore ships
圖15 遠海小目標(biāo)船舶的檢測算法對比Fig.15 Comparison of detection algorithms for small target ships in the open sea
從圖14 的對比結(jié)果可以看出,在近岸復(fù)雜背景下,SSD 算法對小尺度船舶特征提取不充分導(dǎo)致檢測精度較低,圖14(b)中的小目標(biāo)船舶均有漏檢。YOLOv3-tiny 算法由于采用的網(wǎng)絡(luò)去掉了一些特征層,結(jié)構(gòu)較為簡單,只保留了2 個獨立預(yù)測分支,對小尺度目標(biāo)不敏感,泛化性較差造成了一定的虛警和小目標(biāo)的漏檢,如圖14(c)所示。本文算法通過改進的空間金字塔池化操作,能夠提取出更豐富的語義信息并且將多種尺度特征融合,有效提高了模型的感受野,同時結(jié)合空間注意力機制,提高了船舶目標(biāo)的定位能力。在圖14(d)中本文算法對上一行圖中的4 艘靠岸船舶目標(biāo)能夠全部檢出,對下一行圖中的密集排列船舶目標(biāo)有一個漏檢,圖14(b)和(c)也存在相同的漏檢問題,分析其原因,主要是由于該艘船舶與相鄰船舶是平行??康模P蜁阉鼨z測成單一的船舶目標(biāo)。通過對比,本文算法能夠減少復(fù)雜背景下船舶檢測中的漏檢率和誤報率,檢測效果明顯更優(yōu)。
在圖15 的對比結(jié)果中,如圖15(b)和(c)所示,SSD 算法和YOLOv3-tiny 算法均對遠海區(qū)域的小尺度目標(biāo)船舶目標(biāo)不敏感,都有漏檢情況,YOLOv3-tiny 算法網(wǎng)絡(luò)結(jié)構(gòu)不是很復(fù)雜,泛化性較差,導(dǎo)致漏檢率較高并且有虛警情況的發(fā)生。本文算法,通過使用特征融合模塊路徑聚合網(wǎng)絡(luò),增加自下而上的信息流通路徑,來提供坐標(biāo)回歸所需要低層的細(xì)節(jié)信息,提高船舶特征的定位能力。圖15(d)有效降低了小目標(biāo)的漏檢數(shù)量,同時也消除了虛警現(xiàn)象,說明其對小目標(biāo)船舶的檢測效果也非常出色。
2.5.4 不同算法的性能對比
為了進一步驗證本文算法的目標(biāo)檢測性能,將本文算法與5 種具有代表性的單階段目標(biāo)檢測算法SSD、YOLOv3、YOLOv4、YOLOv3-tiny 以及YOLOv4-tiny 進行對比實驗。均采用相同的數(shù)據(jù)劃分和優(yōu)化參數(shù)進行訓(xùn)練,實驗結(jié)果的比較如表4所示。
表4 不同檢測算法的性能對比Table 4 Performance comparison of different detection algorithms
由表4 可知,相比于其它檢測算法,本文提出的輕量化SAR 船舶檢測算法能取得很好的檢測效果。本文算法在輸入為416×416 分辨率的情況下,整個模型的浮點運算量Flops 只有1.52 B,相比YOLOv3-tiny和YOLOv4-tiny 降低了近75%。同時網(wǎng)絡(luò)的參數(shù)量也只有2.34 M,訓(xùn)練完成之后的模型權(quán)重文件只有5.3 MB,非常適合在移動端部署。盡管模型非常的輕量,但是性能卻依舊強勁,在相同分辨率輸入時,能夠達到94.7%的mAP,比SSD 和YOLOv3-tiny 分別高5.4%和3.4%,只比YOLOv4 低0.9%。
表4 中,YOLOv3 和YOLOv4 算法都有較高和較快的檢測精度,但是其模型尺寸較大、網(wǎng)絡(luò)參數(shù)量較多,難以做到移動端的部署。而本文算法雖然檢測精度比YOLOv4 低0.9%,但浮點運算量、網(wǎng)絡(luò)參數(shù)和模型尺寸都是最少的,非常適合FPGA 或移動端的移植。
本文使用輕量化網(wǎng)絡(luò)方法對SAR 圖像船舶進行識別檢測,將訓(xùn)練后的模型部署在移動手機端測試驗證。測試手機型號為紅米K30,移動CPU 處理器為聯(lián)發(fā)科MT6885,CPU 主頻為2.6 GHz,結(jié)果表明,在近岸復(fù)雜背景和遠海小目標(biāo)場景下,能準(zhǔn)確對船舶目標(biāo)進行精準(zhǔn)識別,識別準(zhǔn)確率為85.7%,部署到手機后模型前向推理計算的時間只要15 ms 左右,加上手機端調(diào)用攝像頭、圖片預(yù)處理、檢測框后處理以及繪制檢測框的時間,測試實時性達到32 FPS,由于手機性能、圖像尺寸等因素的影響,并且在移動端的CPU 和GPU 性能不及訓(xùn)練網(wǎng)絡(luò)的電腦設(shè)備端,檢測精度和推理速度有所降低,但仍然滿足實時性的要求。
為解決當(dāng)前SAR 圖像船舶檢測模型難以部署在便攜式移動設(shè)備和嵌入式平臺的問題,本文提出一種有效增強感受野的輕量級SAR 圖像船舶目標(biāo)檢測算法。主干網(wǎng)絡(luò)使用ShuffleNetV2 輕量化網(wǎng)絡(luò),參數(shù)少、復(fù)雜度低并且特征表達能力較強。為增強感受野引入改進SSPP 模塊,加強輕量化網(wǎng)絡(luò)整體特征提取能力,并與空間注意力模塊SAM 結(jié)合,提高船舶目標(biāo)的定位能力。同時還采用改進的路徑聚合網(wǎng)絡(luò)PAN 做多尺度特征融合,有效利用多層淺層網(wǎng)絡(luò)特征,豐富特征信息,提高模型檢測精度。基于SSDD 數(shù)據(jù)集實驗,本文算法平均檢測精度為94.7%,模型大小為5.3 MB,檢測速度為46 FPS,與當(dāng)前主流的檢測方法相比,具有更少的參數(shù)量、浮點運算次數(shù)和更小的模型尺寸,在保證高檢測精度的同時,實現(xiàn)了快速檢測。在未來工作中,將繼續(xù)針對近岸復(fù)雜場景密集排列的船舶目標(biāo)檢測問題進行深入研究。