王文杰,何小海,卿粼波,董子銘,熊淑華
(四川大學(xué) 電子信息學(xué)院,四川 成都 610041)
近年來,我國航海事業(yè)有了巨大發(fā)展,船舶技術(shù)突飛猛進(jìn),計算機(jī)科學(xué)和雷達(dá)無線電技術(shù)的應(yīng)用,使得航行逐漸實(shí)現(xiàn)智能化、導(dǎo)航定位電子化、碰撞自動化等,我國正努力成為世界航海強(qiáng)國。為降低船舶在海上航行的風(fēng)險性,維護(hù)航行人員的生命安全,對船舶目標(biāo)檢測[1]有著廣泛的應(yīng)用前景。在軍事領(lǐng)域,對特定目標(biāo)進(jìn)行位置檢測,有助于戰(zhàn)略部署,加強(qiáng)海防預(yù)警能力;在民用鄰域,對非法捕魚船舶和偷渡越界情況進(jìn)行檢測,有利于海運(yùn)的監(jiān)測與管理。然而在實(shí)際應(yīng)用中,受海面諸如光照變化、海浪風(fēng)暴和極端天氣等復(fù)雜環(huán)境因素的影響,使得船舶目標(biāo)的高準(zhǔn)確率、實(shí)時檢測成為領(lǐng)域內(nèi)難點(diǎn)之一。
傳統(tǒng)的目標(biāo)檢測算法利用滑動窗口[2]的思想,獲取候選區(qū)域的HOG特征[3]和SIFT特征[4],利用支持向量機(jī)(Support Vector Machine,SVM)[5]進(jìn)行識別,主要應(yīng)用于背景簡單、待測目標(biāo)特征明顯的場景。由于一些紅外船舶圖像背景區(qū)分度低,而且目標(biāo)類型復(fù)雜多變,很難通過一般的抽象特征完成對船舶的檢測。隨著深度學(xué)習(xí)技術(shù)的不斷推進(jìn),船舶目標(biāo)檢測也逐漸轉(zhuǎn)向了基于深度神經(jīng)網(wǎng)絡(luò)的檢測,在圖像和視頻中的檢測精度和實(shí)時性也越來越高。
基于深度學(xué)習(xí)的目標(biāo)檢測算法根據(jù)是否采用多階段處理,將其分為Two-Stage的目標(biāo)檢測算法和One-Stage的目標(biāo)檢測算法。Two-Stage算法典型代表有R-CNN[6],F(xiàn)aster-RCNN[7]等,需要利用算法提前生成一些候選框,然后經(jīng)過CNN[8]進(jìn)行目標(biāo)分類;One-Stage算法典型代表有SSD[9],CenterNet[10],RetinaNet[11],EfficientDet[12]和YOLO[13]等,利用處理回歸問題的方法來有效解決目標(biāo)邊框定位的問題,因此不需要事先產(chǎn)生候選框?;谏疃葘W(xué)習(xí)的船舶目標(biāo)檢測算法由CNN實(shí)現(xiàn)自動特征提取,然后用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)分類和回歸,并將分類和回歸損失統(tǒng)一在一個框架中。劉暢等[14]采用GA-RPN結(jié)構(gòu)提取的圖像特征來指導(dǎo)錨框的生成,解決了CNN檢測算法中使用先驗(yàn)知識人為預(yù)設(shè)錨框的弊端。王燕妮等[15]將ShuffleNetV2引入到主干特征提取網(wǎng)絡(luò),有利于減少計算資源和壓縮模型。李忠智等[16]采用UNet++網(wǎng)絡(luò)進(jìn)行目標(biāo)檢測,以多邊輸出融合(Multiple Side-Output Fusion,MSOF)策略算法為基礎(chǔ),在傳統(tǒng)目標(biāo)檢測模型中加入特征融合層形成多尺度檢測模型。于野等[17]在FPN的基礎(chǔ)上,提出了基于多維感受野的CNN模型A-FPN,對目標(biāo)特征進(jìn)行顯著性特征融合,提高了模型的分辨能力。趙玉蓉等[18]提出了一種基于YOLOv4的YOLO-Marine模型,通過K-Means++聚類得到初始anchor,使得船舶目標(biāo)的定位更加精準(zhǔn)。
雖然深度學(xué)習(xí)技術(shù)的應(yīng)用使得目標(biāo)檢測的效率和精確度都得到了較大提升,但仍面臨實(shí)現(xiàn)輕量化檢測模型、部署到移動嵌入式AI平臺等關(guān)鍵技術(shù)的挑戰(zhàn)。Two-Stage算法精度高,但檢測速度慢、訓(xùn)練時間長,且需要依靠強(qiáng)大的GPU算力;One-Stage算法準(zhǔn)確度低于Two-Stage算法,但推理速度快、資源消耗少,更適合應(yīng)用于嵌入式平臺。其中YOLOv5作為One-Stage算法典型的代表網(wǎng)絡(luò),不僅在速度上優(yōu)勢明顯,而且模型體積小,同時維持較高的識別精度。
本文基于YOLOv5,采用GhostNet[19]網(wǎng)絡(luò)結(jié)構(gòu)減少冗余卷積層,改善backbone層卷積結(jié)構(gòu);引入SENet加強(qiáng)特征感知,優(yōu)化網(wǎng)絡(luò)對目標(biāo)物特征提取的能力,實(shí)現(xiàn)更加精準(zhǔn)的識別;最后將改進(jìn)算法部署到嵌入式 AI平臺 NVIDIA Jetson TX2實(shí)現(xiàn)實(shí)時檢測。實(shí)驗(yàn)結(jié)果表明,改進(jìn)算法具有魯棒性強(qiáng)、識別精度高和輕量易移植的特點(diǎn)。
YOLOv5作為主流的目標(biāo)檢測算法,結(jié)合了很多計算機(jī)視覺相關(guān)技術(shù),其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,主要由輸入端、backbone、neck和head四部分組成。
圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 YOLOv5 network structure
對于輸入端,為了豐富數(shù)據(jù)集,提升網(wǎng)絡(luò)的泛化能力和魯棒性,提出Mosaic圖像增強(qiáng),隨機(jī)使用4張圖片進(jìn)行尺度縮放、色彩空間調(diào)整,然后對增強(qiáng)后的數(shù)據(jù)集進(jìn)行拼接操作。backbone層采用了Focus結(jié)構(gòu),將特征切片成4份,然后在通道維度進(jìn)行向量拼接操作,實(shí)現(xiàn)特征融合。此外引入帶有殘差結(jié)構(gòu)的 CSP1_X模塊,使得層和層之間進(jìn)行反向傳播時梯度值得到增強(qiáng),有效防止網(wǎng)絡(luò)加深時所引起的梯度消失。neck層采用FPN+PAN結(jié)構(gòu),對整個金字塔特征圖進(jìn)行增強(qiáng),PAN基于 Mask R-CNN[20]和 FPN框架,該網(wǎng)絡(luò)的特征提取器采用一種新的增強(qiáng)自下向上路徑的 FPN 結(jié)構(gòu),將下層的顯著性特征信息傳遞到上層,保留更豐富的特征信息。head層對目標(biāo)的特征進(jìn)行預(yù)測,在目標(biāo)特征圖上應(yīng)用錨框生成帶有類別概率和目標(biāo)框的最終輸出向量。
盡管YOLOv5有著快速識別和自適應(yīng)錨框等優(yōu)點(diǎn),但是其目標(biāo)特征提取能力不足,特征融合網(wǎng)絡(luò)僅僅關(guān)注高級語義信息,并且網(wǎng)絡(luò)層間消耗過多的卷積層帶來復(fù)雜的計算。因此,本文提出改進(jìn)方法,加強(qiáng)特征感知和減少網(wǎng)絡(luò)參數(shù),以滿足紅外船舶這類特征較弱的目標(biāo)在嵌入式平臺的檢測需求。
YOLOv5的backbone層使用卷積提取目標(biāo)特征信息,通過特征圖可視化發(fā)現(xiàn)存在相似特征圖,這些冗余的特征圖增加了卷積計算量和資源消耗。經(jīng)典的輕量化網(wǎng)絡(luò)MobileNet和ShuffleNet通過采用深度可分離卷積來代替?zhèn)鹘y(tǒng)的卷積,同時引入通道混洗操作減少計算量,但沒有從根本上解決目標(biāo)特征冗余的問題。
本文提出在YOLOv5的backbone層引入GhostNet模塊,該模塊的思想在于將原始的卷積層分成兩部分,首先使用更少的卷積核來生成少量內(nèi)在特征圖,然后引入資源消耗更少的線性操作來高效地生成Ghost特征圖,實(shí)現(xiàn)對目標(biāo)特征圖的擴(kuò)充,在維持卷積的輸出特征圖尺寸和通道大小與原網(wǎng)絡(luò)一致情況下,使整體計算量和參數(shù)數(shù)量大幅度降低,方便部署至嵌入式平臺,同時識別效果比輕量化網(wǎng)絡(luò)MobileNet和ShuffleNet更好。
因此,為使算法輕量易部署,本文在YOLOv5基礎(chǔ)上借鑒GhostNet模塊的思想,將YOLOv5中的傳統(tǒng)卷積操作(如圖2所示)替換為GhostConv結(jié)構(gòu)(如圖3所示),同時將C3模塊改為GhostBottleneck結(jié)構(gòu),所提出的YOLOv5-GhostNet網(wǎng)絡(luò)模型結(jié)構(gòu)如圖4所示。
圖2 傳統(tǒng)卷積提取船舶特征Fig.2 Ship features extracted by traditional convolution
圖3 Ghost模塊提取船舶目標(biāo)特征Fig.3 Ship target features extracted by Ghost module
圖4 YOLOv5-GhostNet網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 YOLOv5-GhostNet network structure
卷積操作可以融合空間和通道的特征,大多數(shù)的研究主要針對空間特征進(jìn)行提取,為了強(qiáng)化YOLOv5網(wǎng)絡(luò)對船舶這類小目標(biāo)的特征感知,需要關(guān)注通道關(guān)系。SENet注意力機(jī)制可以提取出待測圖像中更加關(guān)鍵的特征信息,自適應(yīng)地校正通道特征,引導(dǎo)模型對待測圖像重點(diǎn)區(qū)域賦予更高的權(quán)值,使得模型判斷分類更加準(zhǔn)確。所以,本文在 YOLOv5 的特征提取網(wǎng)絡(luò)層backbone中的spp操作后面添加SENet模塊,其結(jié)構(gòu)如圖5所示。
圖5 SENet注意力機(jī)制結(jié)構(gòu)Fig.5 Structure of SENet attention mechanism
SENet注意力機(jī)制將Squeeze操作作用于卷積獲取到的目標(biāo)特征圖,在保持通道數(shù)目C不改變的情況下,將輸入特征圖的大小從(H,W)壓縮至(1,1),然后利用全局池化將一個通道上整體空間特征編碼為一個全局特征,其公式為:
(1)
在此基礎(chǔ)上,對整體特征信息應(yīng)用Excitation方法,強(qiáng)化學(xué)習(xí)各個通道間的聯(lián)系,獲取不同通道的權(quán)重。
s=Fex(z,W)=δ(g(z,W))=δ(W2ReLU(W1Z))。
(2)
Scale操作則是將多個不同通道的權(quán)重和原始特征圖做乘積,生成全局最終目標(biāo)特征。
通過可視化YOLOv5算法各個模塊獲取的特征圖,將普通卷積(如圖6所示)和本文提出的SENet模塊進(jìn)行效果對比,結(jié)論表明,嵌入了SENet注意力機(jī)制的SENetC3模塊(如圖7所示),對于船舶目標(biāo)的特征感知能力優(yōu)于普通卷積,船舶目標(biāo)細(xì)節(jié)信息能夠被顯著增強(qiáng),背景噪聲被明顯抑制,有利于神經(jīng)網(wǎng)絡(luò)捕獲到感興趣區(qū)域,學(xué)習(xí)到目標(biāo)的關(guān)鍵信息。
圖6 普通卷積提取船舶特征圖Fig.6 Ship features extracted by ordinary convolution
圖7 SENetC3提取船舶特征圖Fig.7 Ship feature extracted by SENetC3
為提高神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力和提升梯度的傳遞效率,激活函數(shù)將非線性因素引入到神經(jīng)元,因此神經(jīng)網(wǎng)絡(luò)可以采取合適的方式逼近非線性函數(shù),這樣就能夠?qū)⒓せ詈蟮纳窠?jīng)網(wǎng)絡(luò)應(yīng)用到眾多的非線性模型中,在YOLOv5目標(biāo)檢測算法中,采用的激活函數(shù)為Swish函數(shù):
f(x)=x×Sigmoid(βx)。
(3)
由于Swish激活函數(shù)存在計算量大的缺點(diǎn),且不穩(wěn)定,在不同的任務(wù)中產(chǎn)生不同的效果,因此本文在YOLOv5的主干網(wǎng)絡(luò)中采取Mish激活函數(shù)。Mish激活函數(shù)是一種自正則的非單調(diào)神經(jīng)激活函數(shù),相比Swish,其平滑的特性允許更有效的特性信息流入神經(jīng)網(wǎng)絡(luò)(如圖8所示),非飽和特性消除了梯度爆炸的極端情況,從而提升網(wǎng)絡(luò)的泛化能力,得到更好的準(zhǔn)確性。其公式為:
f(x)=x×tanh(ln(1+ex))。
(4)
圖8 Swish和Mish激活函數(shù)梯度曲線Fig.8 Swish and Mish activation function gradient curve
實(shí)驗(yàn)數(shù)據(jù)集采用山東大學(xué)制作的遠(yuǎn)海船舶目標(biāo)檢測數(shù)據(jù)集,對艦船圖像進(jìn)行圖像配準(zhǔn)、加權(quán)融合,以及多種數(shù)據(jù)增強(qiáng)處理,包含旋轉(zhuǎn)、翻轉(zhuǎn)、放縮、添加噪聲等,得到短波紅外(Short Wavelength Infra-Red,SWIR)圖像,其采集設(shè)備為氧化釩非制冷紅外焦平面探測器,像元間距為14 μm,響應(yīng)波段為8~14 μm,使用焦距為50 mm的定焦鏡頭;長波紅外(Long Wavelength Infra-Red,LWIR)圖像,其采集設(shè)備為銦鎵砷非制冷紅外焦平面探測器,像元間距為30 μm,響應(yīng)波段為0.9~1.7 μm,使用焦距為16~160 mm的變焦鏡頭以及2個波段的融合圖像(Fusion),即多光譜圖像,總共1 044×3張圖像。其中SWIR圖片畫面偏暗,船艦?zāi)繕?biāo)和海面背景對比度低,船體特征不明顯;LWIR圖片畫面明亮,船艦輪廓與海面區(qū)分性弱;Fusion圖片融合了SWIR和LWIR的2個波段,光譜信息更為豐富,使得數(shù)據(jù)集更為泛化,豐富了各種船艦的形態(tài),3類船艦圖片樣例如圖9所示。
(a) SWIR
(b) LWIR
(c) Fusion圖9 紅外船舶目標(biāo)Fig.9 Infrared ship target
實(shí)驗(yàn)選取SWIR,LWIR和Fusion各800張,包含多個波段信息,總計2 400張紅外船舶圖像用于訓(xùn)練,600張用于訓(xùn)練網(wǎng)絡(luò)時驗(yàn)證模型的正確性。在訓(xùn)練階段,為了增強(qiáng)網(wǎng)絡(luò)模型的魯棒性和泛化能力,對2 400張訓(xùn)練數(shù)據(jù)集進(jìn)行了Mosaic數(shù)據(jù)增強(qiáng),即隨機(jī)選擇4張圖片拼接融合,使得提取船舶目標(biāo)更加豐富,如圖10所示。
圖10 訓(xùn)練數(shù)據(jù)集Mosaic增強(qiáng)Fig.10 Training dataset Mosaic enhancement
本文提出的紅外船舶目標(biāo)檢測方法實(shí)驗(yàn)環(huán)境為Ubuntu 18.04操作系統(tǒng),采取了雙路NVIDIA RTX2080ti顯卡提供算力,CPU為Intel(R) Core(TM) i7-9700,在PyTorch 1.9.0,cuda10.2下選擇GPU模式完成模型的搭建和網(wǎng)絡(luò)訓(xùn)練,訓(xùn)練參數(shù)如表1所示。
表1 實(shí)驗(yàn)參數(shù)設(shè)置Tab.1 Experiment parameter setting
在檢驗(yàn)算法效果時,本文采用平均準(zhǔn)確率(mAP)、模型大小(Model Size)、參數(shù)量(Parameters)作為衡量算法性能的指標(biāo)。AP是指檢測準(zhǔn)確率,其值為P-R曲線與坐標(biāo)軸圍成的區(qū)域面積。
mAP是衡量網(wǎng)絡(luò)模型在各個類別上的精度的指標(biāo),其公式為所有類別的AP求平均:
(5)
式中,N為數(shù)據(jù)集中目標(biāo)物類別數(shù),由于紅外船舶檢測中N=1,因此mAP=AP。mAP@0.5定義為當(dāng)IOU閾值取0.5,所有類別的AP@0.5求平均值,mAP@0.5衡量模型精確率隨召回率變化趨勢。mAP@0.5∶0.95定義為將mAP的IOU閾值從0.5以0.05的步長增至0.95,并取所有mAP的均值,mAP@0.5∶0.95衡量模型在不同IOU閾值下的綜合表現(xiàn),其值越高意味模型高精度邊界回歸能力越強(qiáng),檢測框與標(biāo)定框擬合越精準(zhǔn)。
為了探究改進(jìn)方法對模型泛化能力的影響,針對本文提出的幾種改進(jìn)方法,對YOLOv5算法進(jìn)行結(jié)構(gòu)改進(jìn)和參數(shù)優(yōu)化調(diào)整,以多波段船舶數(shù)據(jù)集為例,通過實(shí)驗(yàn)對比其效果如表2所示。
表2 改進(jìn)方法實(shí)驗(yàn)結(jié)果Tab.2 Experiment results of improved method
由表2可知,引入GhostNet模塊對網(wǎng)絡(luò)進(jìn)行輕量化可以有效減少計算參數(shù),使得模型大小降至9.5 MB;在GhostNet模塊的基礎(chǔ)上結(jié)合Mish激活函數(shù),使得mAP@0.5∶0.95提升2.9%,證明Mish激活函數(shù)可以提升識別準(zhǔn)確率;將注意力機(jī)制SENet和Mish激活函數(shù)相結(jié)合,加強(qiáng)對船舶目標(biāo)特征的感知,有助于將卷積計算得到的淺層特征圖抽取為深層特征圖,學(xué)習(xí)通道間的相關(guān)性,將mAP@0.5提升至99.9%,但SENet模塊使計算參數(shù)略微增加;在YOLOv5中同時引入了GhostNet模塊、SENet機(jī)制和采取Mish激活函數(shù),mAP@0.5和mAP@0.5∶0.95分別達(dá)到99.9%和97.2%,同時大幅度降低計算參數(shù),模型大小僅為10.7 MB,使得網(wǎng)絡(luò)輕量化易部署。
綜合實(shí)驗(yàn)結(jié)果,本文確定最終改進(jìn)方案為引入GhostNet模塊,SENet注意力機(jī)制和采取Mish激活函數(shù)。經(jīng)過300 epochs迭代訓(xùn)練,在識別準(zhǔn)確率、模型參數(shù)量等指標(biāo)均優(yōu)于YOLOv5算法,如圖11所示,平均準(zhǔn)確率mAP@0.5和mAP@0.5∶0.95相較YOLOv5分別提高0.4%和3.5%,同時模型參數(shù)量減少27%。
(a) 平均準(zhǔn)確率mAP@0.5
(b) 平均準(zhǔn)確率mAP@0.5∶0.95圖11 算法改進(jìn)前后平均檢測精度對比Fig.11 Comparison of average detection accuracy before and after algorithm improvement
為驗(yàn)證本文提出的方案效果顯著,在紅外船舶數(shù)據(jù)集中測試了目前的多種主流目標(biāo)檢測算法,包括SSD,RetinaNet,EfficientDet,CenterNet,YOLOv3-Tiny和YOLOX。
表3 多種檢測模型結(jié)果對比Tab.3 Comparison of results of various detection models
實(shí)驗(yàn)結(jié)果以平均檢測精度mAP@0.5和mAP@0.5∶0.95,以及網(wǎng)絡(luò)模型大小為評價指標(biāo),改進(jìn)算法mAP較YOLOv5提高3.5%,模型參數(shù)計算量減少27%,且評價指標(biāo)相比SSD,Retinanet,Efficientdet,Centernet,YOLOv3-Tiny和YOLOX算法具有明顯優(yōu)勢,證明本文方法不僅識別準(zhǔn)確率優(yōu)于領(lǐng)域內(nèi)主流算法,且對網(wǎng)絡(luò)剪枝輕量化后,計算參數(shù)量大幅下降,模型大小僅為10.7 MB,有助于網(wǎng)絡(luò)模型的嵌入式平臺推理部署。
嵌入式設(shè)備在功耗、體積、成本上與高端服務(wù)器相比都具有巨大的優(yōu)勢,為加快算法的落地應(yīng)用,實(shí)現(xiàn)紅外船舶目標(biāo)檢測的輕量化部署,選取NVIDIA Jetson TX2作為目標(biāo)檢測算法的嵌入式終端,配置opencv,cudnn和TensorRT8.1等加速環(huán)境,將改進(jìn)算法部署至平臺,其檢測效果對比如圖12所示。YOLOv5算法對于3種類型的船舶圖片均存在漏檢情況,表明神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型的泛化能力不足,面對船體特征細(xì)微的場景時,算法的魯棒性較弱。
(a) YOLOv5 Fusion樣例檢測
(b) YOLOv5 LWIR樣例檢測
(c) YOLOv5 SWIR樣例檢測
(d) 改進(jìn)YOLOv5 Fusion樣例檢測
(e) 改進(jìn)YOLOv5 LWIR樣例檢測
(f) 改進(jìn)YOLOv5 SWIR樣例檢測圖12 改進(jìn)YOLOv5算法前后船舶目標(biāo)檢測效果對比Fig.12 Comparison of ship target detection effect before and after improved YOLOv5 algorithm
本文改進(jìn)方法Improved-YOLOv5,由于融入了注意力機(jī)制加強(qiáng)對目標(biāo)特征的提取,采取更平滑的激活函數(shù)使得特征信息在網(wǎng)絡(luò)間更深入的傳遞,對于多個波段的測試樣例的所有船舶目標(biāo)均無漏檢和錯檢等情況,且檢測置信度高,識別準(zhǔn)確率mAP高達(dá)97.2%,檢測幀率達(dá)到22幀/秒,證明所提方法具備高準(zhǔn)確率和魯棒性良好性能,滿足嵌入式平臺實(shí)時檢測需求。
本文針對船舶航海安全的應(yīng)用背景,為解決嵌入式平臺資源受限條件下船舶目標(biāo)檢測存在的實(shí)時性差和識別效果不理想的問題,提出了一種基于改進(jìn)YOLOv5的船舶目標(biāo)識別方法。該方法以YOLOv5為基礎(chǔ),對整體卷積結(jié)構(gòu)進(jìn)行剪枝,實(shí)現(xiàn)算法的輕量化設(shè)計,此外通過增加SENet注意力機(jī)制,有效加強(qiáng)對特征微弱的船舶目標(biāo)的感知。最后,將模型部署在嵌入式平臺。實(shí)驗(yàn)結(jié)果表明,本文所提方法對于紅外船舶圖像具有很好的識別效果,識別準(zhǔn)確率mAP@0.5高達(dá)99.9%,mAP@0.5∶0.75高達(dá)97.2%,且模型推理檢測速度達(dá)到22幀/秒。本文方法在識別準(zhǔn)確率和模型魯棒性方面相較于YOLOv5都有明顯提升,且滿足嵌入式輕量化實(shí)時檢測需求,在實(shí)際生產(chǎn)和運(yùn)用中都顯示出巨大的潛力。未來將繼續(xù)優(yōu)化算法,進(jìn)一步降低網(wǎng)絡(luò)的推理復(fù)雜度,縮小嵌入式端和PC端檢測的差距。