王文亮,李延祥,張一帆,韓鵬,劉識(shí)灝
[中船(浙江)海洋科技有限公司,浙江舟山316000]
經(jīng)濟(jì)全球化的不斷發(fā)展使海上運(yùn)輸需求迅猛上升,隨著船只數(shù)量日益增長,海上航行的安全性備受人們關(guān)注.船舶智能化的快速發(fā)展進(jìn)一步提高了海上航行的安全性,其視覺感知系統(tǒng)能夠?qū)崟r(shí)獲取周圍船舶及障礙信息.近年來,深度學(xué)習(xí)技術(shù)被廣泛用于目標(biāo)檢測(cè)領(lǐng)域,這進(jìn)一步提升了船舶視覺感知系統(tǒng)的信息獲取能力.
深度學(xué)習(xí)目標(biāo)檢測(cè)算法包括以Faster RCNN[1,2]為代表的兩階段算法和以YOLO[3-6]系列為代表的單階段目標(biāo)檢測(cè)算法.由于YOLO 系列算法在保證較高精度的同時(shí)具有明顯的實(shí)時(shí)性優(yōu)勢(shì),因此被廣泛部署于實(shí)時(shí)目標(biāo)檢測(cè)項(xiàng)目中.YOLOv5作為YOLO系列最新的研究成果,其檢測(cè)速度和精度都達(dá)到了SOTA 水準(zhǔn).然而,在海上目標(biāo)實(shí)時(shí)檢測(cè)中往往伴隨其他問題,如:小目標(biāo)集群、船只密集且類型復(fù)雜、海面大霧影響造成目標(biāo)模糊等,這些問題使得檢測(cè)海域具有較高的復(fù)雜性,同時(shí)對(duì)YOLOv5 的小目標(biāo)檢測(cè)能力及分類能力有了更高的要求.在實(shí)際部署中發(fā)現(xiàn)YOLOv5 算法在復(fù)雜環(huán)境海域海面實(shí)時(shí)目標(biāo)檢測(cè)應(yīng)用中仍需進(jìn)一步改進(jìn).
針對(duì)YOLO 算法的改進(jìn)方案層出不窮,在船舶目標(biāo)檢測(cè)中改進(jìn)方法主要包括數(shù)據(jù)增強(qiáng)[7]、多尺度[8]、特征融合[9]與添加注意力機(jī)制[10]等.受海上船舶檢測(cè)數(shù)據(jù)集的限制,現(xiàn)有改進(jìn)方案僅在較小數(shù)據(jù)集上進(jìn)行訓(xùn)練并不能進(jìn)行實(shí)際部署.因此,本文通過收集東海、南海部分航線圖像構(gòu)建了大型船舶檢測(cè)數(shù)據(jù)集,提出了多路徑聚合網(wǎng)絡(luò)結(jié)構(gòu)通過融合多層特征以增強(qiáng)模型多尺度定位能力,同時(shí)結(jié)合SimAM[10]注意力模塊和Transformer[11]結(jié)構(gòu)增強(qiáng)高階特征語義信息.在自定義船舶數(shù)據(jù)集上實(shí)驗(yàn)結(jié)果表明:MPANet-YOLOv5 模型在增加少量參數(shù)的情況下明顯提升了海上目標(biāo)檢測(cè)能力,取得了良好的效果.
YOLOv5 模型共包含四個(gè)版本YOLOv5s、YOLOv5m、YOLOv5l 和YOLOv5x,模型參數(shù)和性能依次提升.YOLOv5依舊延續(xù)Input、Backbone、Neck 和Head輸出的網(wǎng)絡(luò)結(jié)構(gòu),其結(jié)構(gòu)如圖1所示.

圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 YOLOv5 Network Structure
YOLOv5s 是YOLOv5 系列中最小的模型結(jié)構(gòu),模型寬度和深度分別為0.33 m 和0.5 m,YOLOv5m、YOLOv5l 以及YOLOv5x 在YOLOv5s 模型基礎(chǔ)上不斷加深加寬.在數(shù)據(jù)輸入端YOLOv5模型延續(xù)了YOLOv4 中的mosaic 數(shù)據(jù)增強(qiáng)方法,該方法將四張圖片進(jìn)行隨機(jī)裁剪拼接至一張圖像中作為訓(xùn)練數(shù)據(jù),使輸入端同時(shí)獲得四張圖片的信息,一方面豐富了圖像背景信息,另一方面也減少了模型對(duì)Batch Size 的依賴.YOLOv5 的另一個(gè)特點(diǎn)是放棄了設(shè)定固定長寬初始錨框的思想,提出了自適應(yīng)錨框,根據(jù)訓(xùn)練集的差異自適應(yīng)計(jì)算最佳錨框數(shù)值.在Backbone 中,YOLOv5主要用到了Focus結(jié)構(gòu)、SPP和CSP結(jié)構(gòu).
Focus 結(jié)構(gòu)主要是將輸入圖像進(jìn)行切片操作,增加特征通道數(shù)并減小特征尺寸,減少了FLOPs(Floating Point Operations Per second),提升了運(yùn)算速度,并且減少了模型層數(shù).CSP 網(wǎng)絡(luò)結(jié)構(gòu)由CBL 模塊、Bottleneck 模塊和Concat 結(jié)構(gòu)組成.其中CBL 模塊由Conv、Batch Normalization[11]、SiLu[12]激活函數(shù)構(gòu)成.Bottleneck 模塊包含CBL 模塊和殘差連接[13],每個(gè)CSP 結(jié)構(gòu)中包含n個(gè)Bottleneck 模塊,并且CSP 模塊可通過設(shè)置是否使用殘差連接生成兩種不同的CSP結(jié)構(gòu).CSP 將輸入特征分為不同分支,分別進(jìn)行卷積使得特征通道數(shù)減半,其中一個(gè)分支進(jìn)行Bottleneck操作,經(jīng)過Concat 將兩個(gè)分支特征合并,增加特征圖信息.SPP[14](空間金字塔池化)使用多個(gè)最大池化操作,對(duì)于不同的輸入特征SPP 結(jié)構(gòu)都產(chǎn)生固定大小的輸出.在YOLOv5 中SPP 采用[5,9,13]三個(gè)尺度特征與輸入特征進(jìn)行融合,SPP 處理結(jié)果進(jìn)一步提升了不同尺度和長寬比輸入圖像的尺度不變性.
眾所周知,卷積神經(jīng)網(wǎng)絡(luò)一直是計(jì)算機(jī)視覺任務(wù)中的主要方法,通過設(shè)計(jì)不同的網(wǎng)絡(luò)結(jié)構(gòu)和局部連接以豐富特征信息進(jìn)而提升圖像識(shí)別的性能,如全連接網(wǎng)絡(luò)-FCN[15]、區(qū)域生成網(wǎng)絡(luò)-RPN[1]、殘差網(wǎng)絡(luò)-Resnet[14]、級(jí)聯(lián)網(wǎng)絡(luò)-Cascade R-CNN[16]、特征金字塔網(wǎng)絡(luò)-FPN[17]、空間金字塔池化-SPP[14]等在大規(guī)模圖像識(shí)別項(xiàng)目中都獲得了很好的效果.但卷積神經(jīng)網(wǎng)絡(luò)中往往通過增加網(wǎng)絡(luò)深度提高卷積神經(jīng)網(wǎng)絡(luò)的表示能力,在模型中大量的模塊堆疊使得網(wǎng)絡(luò)結(jié)構(gòu)十分龐大.與網(wǎng)絡(luò)堆疊不同,注意力機(jī)制基于視覺感知過程,聚焦全局和局部特征,在減少網(wǎng)絡(luò)參數(shù)的同時(shí)增強(qiáng)了圖像特征信息.
作為注意力機(jī)制的代表著作,SENet[18]從全局獲取上下文信息,顯式地構(gòu)建特征通道之間的相互依賴關(guān)系,輸出結(jié)果逆向完成在通道維度上對(duì)原始特征的重新標(biāo)定.ECANet[19]通過對(duì)SENet 模塊進(jìn)行改進(jìn),提出了一種不降維的局部跨信道交互策略和自適應(yīng)選擇一維卷積核大小的方法實(shí)現(xiàn)了性能提升.SENet 在設(shè)計(jì)中并未引入空間維度進(jìn)行特征融合,CBAM[20]注意力機(jī)制在此基礎(chǔ)上沿通道、空間兩個(gè)維度推斷注意力,通過將注意力圖與輸入特征圖融合以進(jìn)行自適應(yīng)特征優(yōu)化.同時(shí),還有一些其他的注意力機(jī)制,如多譜通道壓縮注意力方法-頻域注意力網(wǎng)絡(luò)FcaNet[21]、位置像素注意力模塊-Non-local[22]、CCNet[23]、雙重注意力機(jī)制-DANet[24]等.但以上注意力方法只能生成1-D 或2-D 注意力權(quán)重,這在一定程度上限制了注意力權(quán)重在通道和空間中的靈活性.Yang[25]等提出了一種即插即用的三維權(quán)重注意力模塊SimAM,能夠直接評(píng)估特征的三維注意力權(quán)重,基于神經(jīng)科學(xué)理論在已有的空間抑制理論的基礎(chǔ)上,為每個(gè)神經(jīng)元設(shè)計(jì)了能量函數(shù)評(píng)估其重要性.
值得一提的是,Vaswani[26]等創(chuàng)造性提出的Transformer 機(jī)制在自然語言處理領(lǐng)域取得的巨大成功,吸引人們開始嘗試將其應(yīng)用于計(jì)算機(jī)視覺任務(wù)中.主要的應(yīng)用方向包括:1)將自注意力機(jī)制與CNN架構(gòu)結(jié)合[22,27],如Zhu 等[28]提出CABM 注意力機(jī)制與Transformer 檢測(cè)頭結(jié)合的YOLOv5 模型改進(jìn)方法,在無人機(jī)捕獲場(chǎng)景的目標(biāo)檢測(cè)中表現(xiàn)出良好的性能;Dai[29]等提出動(dòng)態(tài)檢測(cè)框架,采用多種注意力機(jī)制相結(jié)合的方法提升了目標(biāo)檢測(cè)頭的表示能力.2)使用自注意力機(jī)制完全替代卷積結(jié)構(gòu)[30-31],如多頭注意力機(jī)制[32-33]、稀疏Transformer[34]和分層Transformer[35].
本文根據(jù)第一種思想將SimAM 注意力模塊和Transformer融入YOLOv5網(wǎng)絡(luò),并提出多路徑聚合網(wǎng)絡(luò)以提升YOLOv5 復(fù)雜海域目標(biāo)檢測(cè)和多目標(biāo)分類能力.復(fù)雜海域目標(biāo)檢測(cè)及目標(biāo)分類面臨的主要問題如圖2 所示.圖中(a)、(b)包含大量的小目標(biāo)對(duì)象,并且呈現(xiàn)集群式分布;(c)、(d)圖像為受海霧影響的海面目標(biāo);(e)、(f)包含了多種船只類型和部分小目標(biāo)對(duì)象.


圖2 復(fù)雜海域目標(biāo)信息Fig.2 Complex sea object information
神經(jīng)網(wǎng)絡(luò)中特征信息的流動(dòng)方式對(duì)結(jié)果影響明顯,因?yàn)榈蛯犹卣鲹碛芯_的定位信息,高層特征擁有較強(qiáng)的語義信息.低層特征在向頂層特征傳播過程中將會(huì)越來越難以獲取準(zhǔn)確的定位信息,而小目標(biāo)信息隨著特征傳播將會(huì)逐漸丟失.特征金字塔網(wǎng)絡(luò)(FPN)[36]通過自頂向下的橫向連接方式豐富了每一層的特征信息,并在自頂向下傳播過程中給出每一級(jí)的預(yù)測(cè).FPN 結(jié)構(gòu)解決了目標(biāo)檢測(cè)中多尺度變化的問題,在小目標(biāo)識(shí)別能力上有明顯提升.PANet[37]在FPN 網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上增加了自底向上的網(wǎng)絡(luò)結(jié)構(gòu),保留橫向連接的同時(shí)添加了路徑增強(qiáng)和聚合,縮短了低層特征向頂層特征的傳播路徑,增強(qiáng)了低層特征傳遞能力,保留了精確的位置信息.
研究結(jié)果表明,特征融合的方法能夠明顯提升特征的分類能力[38].基于此,我們?cè)赑ANet 基礎(chǔ)上對(duì)YOLOv5 結(jié)構(gòu)進(jìn)行改進(jìn),我們繼承了YOLOv5 主干網(wǎng)絡(luò)的同時(shí)增加了多路徑聚合.每一個(gè)頂層特征都通過融合三個(gè)不同路徑特征產(chǎn)生,本文稱之為多路徑聚合網(wǎng)絡(luò)(MPANet),如圖3所示.圖中(a)和(b)部分是自頂向下的網(wǎng)絡(luò)結(jié)構(gòu),通過橫向連接進(jìn)行特征融合.(c)部分是自底向上的網(wǎng)絡(luò)結(jié)構(gòu),保持橫向連接同時(shí)聚合低層特征,特征上傳過程中給出每層特征的預(yù)測(cè)結(jié)果(d).MPANet 保持自頂向下過程中的橫向連接,使用多路徑聚合方式將低層特征、中間特征與頂層特征相互融合,進(jìn)一步豐富特征上下文信息并提升多尺度定位能力,保證頂層特征具有豐富語義信息的同時(shí)擁有精確的定位信息.從圖4 中可以看出,MPANet在頂層特征中聚合了三個(gè)不同路徑的特征信息,在研究中,我們巧妙地設(shè)計(jì)了網(wǎng)絡(luò)結(jié)構(gòu)使這些特征擁有相同的尺寸和不同的通道數(shù),融合特征通過1×1 卷積后輸入檢測(cè)網(wǎng)絡(luò).MPANet 中仍然保留三個(gè)檢測(cè)頭部,檢測(cè)頭部特征屬性與YOLOv5 保持一致,檢測(cè)尺寸與通道數(shù)分別為[256,512,1 024]和[80,40,20].

圖3 MPANetFig.3 MPANet

圖4 頂層特征多路徑聚合Fig.4 Top-level feature multi-path aggregation
在MPANet-YOLOv5中,我們使用了在目標(biāo)檢測(cè)中效果更好的Mish[39]激活函數(shù),如圖5所示.Mish激活函數(shù)是一個(gè)非單調(diào)、有下界、無上界、正則化的平滑激活函數(shù),它允許一部分負(fù)梯度流入保證信息流動(dòng),非單調(diào)平滑的特性保證了梯度下降效果較好.

圖5 Mish激活函數(shù)Fig.5 Mish activation function
我們將多路徑聚合網(wǎng)絡(luò)融入YOLOv5 結(jié)構(gòu)中,并在網(wǎng)絡(luò)不同階段添加了SimAM和Transformer注意力模塊.SimAM是一個(gè)三維權(quán)重注意力模塊,能夠直接評(píng)估三維注意力權(quán)重,如圖6所示.SimAM基于神經(jīng)科學(xué)理論在已有的空間抑制理論的基礎(chǔ)上,為每個(gè)神經(jīng)元設(shè)計(jì)了能量函數(shù)評(píng)估其重要性.能量函數(shù)定義如下:

圖6 不同注意力機(jī)制比較Fig.6 Comparison of different attention mechanisms


式中:E將所有跨通道和空間維度分組,Sigmoid 用來限制E中過大的值.
在MPA-YOLOv5 模型中我們?cè)O(shè)計(jì)SimAM 模塊在自底向上過程中計(jì)算三維注意力權(quán)重,這有利于在多路徑聚合時(shí)提供更豐富的特征信息.
Transformer Encoder Block 為自注意力機(jī)制.Transformer 在目標(biāo)檢測(cè)領(lǐng)域已經(jīng)有很多的應(yīng)用,在本次實(shí)驗(yàn)中我們引入Transformer encoder 在多路徑聚合之前對(duì)特征進(jìn)一步優(yōu)化.Transformer encoder(圖7)能夠捕獲全局信息和豐富的上下文信息.作為多路徑之一,Transformer encoder 的輸出特征對(duì)多路徑特征聚合結(jié)果具有正向增強(qiáng)作用.在本文中所使用的Transformer encoder block 包含一個(gè)多頭注意力層和一個(gè)MLP 層.多頭注意力機(jī)制能夠使模型在不同的表示子空間學(xué)習(xí)到相關(guān)信息[26],而MLP 能夠阻止輸出退化,增強(qiáng)自注意力機(jī)制的表達(dá)能力[40].

圖7 Transformer 編碼器結(jié)構(gòu)Fig.7 Transformer encoder structure
MPA-YOLOv5 在主干網(wǎng)絡(luò)中依然繼承YOLOv5的網(wǎng)絡(luò)設(shè)計(jì),在主干網(wǎng)絡(luò)之后使用SPP 固定輸出尺寸,并將特征提取網(wǎng)絡(luò)的高層特征輸入Transformer中進(jìn)一步增強(qiáng)特征信息.在Neck 部分我們只使用了1×1的卷積結(jié)構(gòu)用于降低圖像通道數(shù),并在每個(gè)上采樣之后使用CSP 進(jìn)一步提取特征信息.上采樣的特征經(jīng)過SimAM注意力模塊生成三維注意力權(quán)重并傳遞至Transformer 模塊.SimAM 注意力模塊主要添加在至自底向上的特征傳遞過程中并保持橫向連接,同時(shí)聚合低層特征信息進(jìn)行特征融合.
多路徑聚合過程中我們使用低層、中層和頂層三個(gè)層級(jí)的特征信息進(jìn)行融合,三個(gè)路徑特征尺寸相同,通道數(shù)不同,通過多路徑聚合可得到預(yù)測(cè)所需特征.多路徑聚合一方面保證了融合后特征信息具有定位信息和語義信息,另一方面縮短了低層次特征向頂層特征傳遞的距離.
在檢測(cè)頭部分依然保持[20,40,80]三個(gè)尺寸的特征輸出并與自適應(yīng)錨點(diǎn)匹配.添加SimAM 注意力模塊與Transformer 的MPANet-YOLOv5 網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示.

圖8 MPANet-YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)Fig.8 MPANet-YOLOv5 network structure
本次研究采集了復(fù)雜場(chǎng)景下海面圖像,以船舶作為主要的海上目標(biāo)建立了自定義船舶檢測(cè)數(shù)據(jù)集,并使用該數(shù)據(jù)集進(jìn)行模型訓(xùn)練和測(cè)試.數(shù)據(jù)集包含五種目標(biāo)類型(貨船、集裝箱船、漁船、游輪、島嶼)共計(jì)5 380 張圖片,訓(xùn)練集和測(cè)試集分別占80%和20%,在訓(xùn)練過程中使用640×640尺寸作為輸入.
本文所有模型都在2 張TITAN RTX 2080TI 24G GPU 上訓(xùn)練和測(cè)試,MPANet-YOLOv5 基于Pytorch 1.9 深度學(xué)習(xí)框架.在對(duì)比實(shí)驗(yàn)中將MPANet-YOLOv5 與YOLOv3、YOLOv4、YOLOv5、YOLOv5-SPPF 和YOLOv5-Transformer 算法進(jìn)行對(duì)比,所有模型均設(shè)置300 次迭代.通過模型測(cè)試結(jié)果可以發(fā)現(xiàn):YOLOv5-Transformer 僅在Backbone 中添加Transformer 后模型計(jì)算量有所下降,模型性能與基礎(chǔ)YOLOv5 模型相比平均精度上升了1.4%,召回率降低了1%,AP0.5與AP0.5:0.95有微弱下降,分別降低了0.2%和0.5%.YOLOv5-SPPF 使用卷積替換Focus 結(jié)構(gòu),結(jié)合SPPF 使模型計(jì)算量下降了0.6GFLOPs,精度提升了1%.MPANet-YOLOv5 結(jié)果優(yōu)于所有的對(duì)比模型,與YOLOv3 相比,我們的模型精度提升了8.2%,召回率提升了1.2%,AP0.5與AP0.5:0.95分別提升了4.9%和3.8%.與YOLOv4 模型相比,MPANet-YOLOv5 精 度提升了3.6%,召回率提升了3.8%,AP0.5與AP0.5:0.95分別提升了3%和1.9%.MPANet-YOLOv5 與YOLOv5模型測(cè)試性能相比,AP 提升了5.4%,召回率提升了3.3%,AP0.5與AP0.5:0.95分別提升了3.3%和2.2%.可以發(fā)現(xiàn),MPANet-YOLOv5 在性能表現(xiàn)上大幅領(lǐng)先,特別是與YOLOv5 模型相比有明顯提升.各模型具體測(cè)試結(jié)果如表1所示.

表1 模型測(cè)試結(jié)果對(duì)比Tab.1 Comparison of model test results
在實(shí)際檢測(cè)中,MPANet-YOLOv5小目標(biāo)檢測(cè)效果突出,在發(fā)生遮擋時(shí)也能準(zhǔn)確地檢測(cè)出目標(biāo)類型.兩種模型檢測(cè)結(jié)果如圖9所示.

圖9 模型小目標(biāo)檢測(cè)結(jié)果對(duì)比Fig.9 Comparison of model small target detection results
在研究中,我們分別在東海和南海通過兩種不同方法對(duì)MPANet-YOLOv5 復(fù)雜海域目標(biāo)檢測(cè)效果進(jìn)行測(cè)試.1)在固定海域搭建檢測(cè)站,對(duì)多條航線目標(biāo)實(shí)時(shí)檢測(cè);2)通過在固定航線航行,獲取航線上圖像進(jìn)行目標(biāo)檢測(cè).兩種測(cè)試結(jié)果如圖10、圖11所示.

圖10 東海固定檢測(cè)站點(diǎn)目標(biāo)檢測(cè)結(jié)果Fig.10 East China Sea fixed detection site object detection results

圖11 南海固定航線目標(biāo)檢測(cè)結(jié)果Fig.11 South China Sea fixed route object detection results
本文提出了一種基于注意力機(jī)制的多路徑聚合網(wǎng)絡(luò)結(jié)構(gòu)MPANet-YOLOv5,以提升YOLOv5 在復(fù)雜海域的目標(biāo)檢測(cè)與分類能力.實(shí)驗(yàn)結(jié)果表明:使用多路徑聚合網(wǎng)絡(luò)將帶有定位信息的低層特征與高層語義特征融合增強(qiáng)了多尺度定位能力,豐富了頂層特征語義信息和上下文信息,有效提升了YOLOv5 復(fù)雜海域目標(biāo)檢測(cè)精度,特別是在小目標(biāo)檢測(cè)方面有明顯的提升.事實(shí)證明:MPANet-YOLOv5 在復(fù)雜海域場(chǎng)景中目標(biāo)檢測(cè)性能優(yōu)于YOLOv3、YOLOv4、YOLOv5及其變體,是一種可靠的海上目標(biāo)檢測(cè)算法.
湖南大學(xué)學(xué)報(bào)(自然科學(xué)版)2022年10期