杜 紅 彪, 于 偉, 張 旭, 陳 余 慶*
( 1.中國(guó)船舶重工集團(tuán)公司第七一九研究所, 湖北 武漢 430064;2.大連海事大學(xué) 船舶電氣工程學(xué)院, 遼寧 大連 116026 )
近年來(lái),世界各國(guó)對(duì)能源的需求迅速增長(zhǎng),其中石油需求量的增加帶動(dòng)了石油的海洋開采和海上運(yùn)輸.船舶運(yùn)輸原油過(guò)程中發(fā)生碰撞或海上石油開采平臺(tái)因意外發(fā)生爆炸都會(huì)造成原油泄漏,造成巨大的經(jīng)濟(jì)損失,并破壞海洋生態(tài)環(huán)境.因碰撞沉入海底的巴拿馬籍油輪中的13×104t凝析油造成了約1 053 km2的海洋污染[1].墨西哥灣某深水鉆井平臺(tái)發(fā)生的嚴(yán)重漏油事故[2],對(duì)自然環(huán)境造成了極大危害.溢油會(huì)對(duì)漁牧業(yè)、自然環(huán)境和沿海居民健康等造成不同程度的危害[3].因此,海面溢油檢測(cè)對(duì)保護(hù)海洋環(huán)境具有重要意義.
海面溢油事故通常具有突發(fā)性,迫切需要提升海面溢油圖像識(shí)別的智能性與準(zhǔn)確性.溢油檢測(cè)技術(shù)按檢測(cè)原理劃分,主要包括雷達(dá)激光檢測(cè)和視覺(jué)圖像檢測(cè).Miegebielle等[4]通過(guò)遙感雷達(dá)圖像實(shí)現(xiàn)了溢油UNet網(wǎng)絡(luò)檢測(cè)分析,但是仍然存在較多類似油污目標(biāo)的誤檢測(cè)現(xiàn)象.Zia等[5]借助高光譜圖像,建立了具有殘差結(jié)構(gòu)的9層卷積神經(jīng)網(wǎng)絡(luò),通過(guò)多尺度卷積的方法提取溢油特征,并利用實(shí)驗(yàn)對(duì)識(shí)別出的結(jié)果做出相應(yīng)的驗(yàn)證,驗(yàn)證表明該模型與當(dāng)時(shí)的LeNet-5等模型相比精度較高.Song等[6]構(gòu)建了一個(gè)適用于PolSAR溢油檢測(cè)的深層卷積神經(jīng)網(wǎng)絡(luò),通過(guò)替換分類器,提升了網(wǎng)絡(luò)的識(shí)別能力,有效降低了海雜波或生物油膜引起的誤報(bào)率,顯著提高了溢油檢測(cè)的準(zhǔn)確性.陳彥彤等[7]提出了深度語(yǔ)義分割(DSS)模型,對(duì)多源遙感海上溢油圖像進(jìn)行檢測(cè),取得了較好的成果.
本文在結(jié)合國(guó)內(nèi)外研究成果的基礎(chǔ)上,提出一種改進(jìn)的海面溢油圖像特征識(shí)別智能算法.基于Ghost-Bottleneck模塊結(jié)構(gòu)[8],提出一種兼顧檢測(cè)精度與效率的Ghost-GE層(ghost gather-and-expansion layer)結(jié)構(gòu).同時(shí)針對(duì)高分辨率圖像中溢油特征的漏檢現(xiàn)象,把位置注意力模塊(position attention module,PAM)[9]與本文提出的上下文與通道注意力模塊(context and channel attention module,CCAM)分別引入檢測(cè)網(wǎng)絡(luò)細(xì)節(jié)分支和語(yǔ)義分支中,使得檢測(cè)精度進(jìn)一步提升.
本文主要應(yīng)用語(yǔ)義分割算法進(jìn)行海面溢油檢測(cè),所以對(duì)檢測(cè)的實(shí)時(shí)性要求比較高,現(xiàn)階段主要通過(guò)裁剪輸入特征圖、減少網(wǎng)絡(luò)通道數(shù)和應(yīng)用更緊湊的框架的方式來(lái)提高網(wǎng)絡(luò)的檢測(cè)速度.這3種方法都是折中精度以求速度,同時(shí)都存在著一定的缺陷,難以付諸實(shí)踐.而雙邊分割算法網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)將空間信息和上下文信息分為兩個(gè)路徑進(jìn)行提取,既可以保障較高的精度又可以保證實(shí)時(shí)性.
BiSeNetV2有兩條網(wǎng)絡(luò)分支:細(xì)節(jié)分支和語(yǔ)義分支[10].其中細(xì)節(jié)分支由寬通道卷積層組成,語(yǔ)義分支由 Stem 模塊、聚集擴(kuò)展層(gather-and-expansion layer,GE層)和上下文嵌入模塊(context embedding block,CE模塊)組成.
GE層為語(yǔ)義分支中的重要結(jié)構(gòu)之一,它是由MobileNetV2的倒瓶頸殘差結(jié)構(gòu)進(jìn)行改進(jìn)得到的,GE層中采用了深度可分離卷積,這樣能夠使得模型更加輕量化.此外,在目標(biāo)檢測(cè)精度方面,考慮到GhostNet主干網(wǎng)絡(luò)一般會(huì)優(yōu)于多數(shù)輕量型主干網(wǎng)絡(luò)的性能,為了在模型輕量化的同時(shí)進(jìn)一步提升現(xiàn)有網(wǎng)絡(luò)的準(zhǔn)確性,本文基于GhostNet的Ghost-Bottleneck模塊結(jié)構(gòu)進(jìn)一步改進(jìn)語(yǔ)義分支初始GE層,并稱為Ghost-GE層,其結(jié)構(gòu)如圖1所示.圖1中H表示輸入特征圖高度,W表示輸入特征圖寬度,C、Ci、Co表示輸入特征圖不同的通道數(shù),BN(batch normalization)表示歸一化操作,ReLU(rectified linear unit)表示激活函數(shù),GhostConv(ghost convolution)表示Ghost卷積,DWConv(depth-wise convolution)表示深度可分離卷積.
圖2為BiSeNetV2與Ghost-BiSeNetV2溢油檢測(cè)效果對(duì)比.圖2(a)為測(cè)試圖,圖2(b)為人工標(biāo)注標(biāo)簽.圖2(c)為BiSeNetV2溢油檢測(cè)效果圖,BiSeNetV2的語(yǔ)義分支應(yīng)用了GE層,雖然能夠檢測(cè)出油污區(qū)域,但同時(shí)也出現(xiàn)了許多誤檢測(cè)現(xiàn)象,將水中物體誤檢測(cè)為油污.圖2(d)為Ghost-BiSeNetV2溢油檢測(cè)效果圖,從圖中可以看出Ghost-BiSeNetV2油污檢測(cè)能夠有效改善原網(wǎng)絡(luò)中存在的誤檢測(cè)現(xiàn)象.
(a) 步長(zhǎng)為1
(a) 測(cè)試圖
本文在語(yǔ)義分支中采用了Ghost-GE層設(shè)計(jì),對(duì)應(yīng)雙邊分割網(wǎng)絡(luò)稱為Ghost-BiSeNetV2.其中第一個(gè)GhostConv作為擴(kuò)展層,用于增加通道數(shù),第二個(gè)GhostConv作為收縮層,用于減少通道數(shù),當(dāng)Ghost-GE層采用圖1(b)結(jié)構(gòu)時(shí),需要在主路徑和殘差連接路徑分別增加步長(zhǎng)為2的可分離卷積對(duì)其進(jìn)行下采樣操作.SE(squeeze and excite)模塊也運(yùn)用于Ghost-GE層.
BiSeNetV2的語(yǔ)義分支起始階段應(yīng)用了Stem模塊進(jìn)行快速下采樣.Stem模塊使用兩種不同的下采樣方式來(lái)縮小特征表示.其中一種方式是通過(guò)步長(zhǎng)為2的卷積來(lái)進(jìn)行下采樣,第二種方式是通過(guò)池化來(lái)進(jìn)行下采樣,但是卷積下采樣跟池化下采樣有很大區(qū)別.池化操作可以起到平移不變性,但可能會(huì)將有用的信息濾掉.卷積下采樣可以降維,也可以提取一些特征,這樣提取到的輸出特征圖與輸入特征圖像素一樣.同時(shí)使用上述兩種方式進(jìn)行下采樣,既可以保留部分原始圖像信息,又可以提取語(yǔ)義特征,并且具有有效的特征表達(dá)能力.
在語(yǔ)義分支的最后階段應(yīng)用CE模塊.該模塊使用了全局平均池化和殘差連接.其中全局平均池化可以減少參數(shù)量和計(jì)算量,并且起到擴(kuò)大感受野來(lái)捕捉高級(jí)語(yǔ)義的作用.
由于細(xì)節(jié)分支輸出特征圖提取的是低級(jí)特征,語(yǔ)義分支輸出特征圖提取的是高級(jí)特征,兩個(gè)通道輸出的特征圖大小和提取的特征級(jí)別不同,所以不能簡(jiǎn)單地將兩個(gè)通道相加,BiSeNetV2應(yīng)用了雙邊聚合層(bilateral guided aggregation layer,BGA層)來(lái)融合兩條分支的特征.
由于海面油污目標(biāo)的外形、顏色等特征多變且不固定,存在明顯的類內(nèi)相異性問(wèn)題,尤其當(dāng)場(chǎng)景比較復(fù)雜時(shí),會(huì)導(dǎo)致模型出現(xiàn)嚴(yán)重的預(yù)測(cè)錯(cuò)誤.類內(nèi)相異性問(wèn)題發(fā)生的主要原因是缺少上下文依賴信息,尤其是包含強(qiáng)大語(yǔ)義信息的高階上下文信息.文獻(xiàn)[11]使用分解結(jié)構(gòu)增大卷積核尺寸或在網(wǎng)絡(luò)頂部引入有效的編碼層,來(lái)捕獲更豐富的全局信息.文獻(xiàn)[12]通過(guò)編碼器-解碼器結(jié)構(gòu)來(lái)融合中級(jí)和高級(jí)語(yǔ)義特征.在兩種方法中,雖然上下文融合有助于捕獲不同比例的對(duì)象,但卻無(wú)法利用全局視圖中對(duì)象之間的關(guān)系.文獻(xiàn)[13]使用循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)隱含地捕捉全局關(guān)系,但其有效性過(guò)于依賴長(zhǎng)期記憶的學(xué)習(xí)結(jié)果.為了解決上述問(wèn)題,本文在細(xì)節(jié)分支和語(yǔ)義分支上分別引入位置注意力模塊和改進(jìn)后的上下文與通道注意力模塊.
引入位置注意力模塊能夠有效捕獲特征圖中任意兩個(gè)位置之間像素點(diǎn)的空間依賴性,并通過(guò)加權(quán)求和對(duì)所有位置的特征進(jìn)行聚合更新.如圖3所示為位置注意力模塊結(jié)構(gòu)示意圖.在圖3中,reshape表示特征矩陣整型操作,其中N為H×W,transpose表示特征矩陣轉(zhuǎn)置操作,Softmax表示激活函數(shù),A表示輸入特征圖,E表示輸出特征圖,B、C、D、S表示模塊中不同形式特征圖.
圖3 位置注意力模塊結(jié)構(gòu)示意圖Fig.3 The structure diagram of position attention module
為了更好地獲得上下文信息,本文將原始CE模塊與通道注意力模塊進(jìn)行融合,將融合后的模塊稱為上下文與通道注意力模塊(CCAM),CCAM結(jié)構(gòu)示意圖如圖4所示.在圖4中GAPooling(global average pooling)表示全局平均池化,X表示模塊中不同形式特征圖.
圖4 CCAM 結(jié)構(gòu)示意圖Fig.4 The structure diagram of CCAM
本文將BiSeNetV2語(yǔ)義分支中的GE層替換成Ghost-GE層,同時(shí)在細(xì)節(jié)分支和語(yǔ)義分支中增加雙重注意力模塊,優(yōu)化后的網(wǎng)絡(luò)稱為Ghost-DABiSeNetV2,網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示.在圖5中Loss表示損失函數(shù).
圖5 Ghost-DABiSeNetV2結(jié)構(gòu)示意圖Fig.5 The structure diagram of Ghost-DABiSeNetV2
為了驗(yàn)證每個(gè)注意力機(jī)制的重要性,本文進(jìn)行了一系列剝離實(shí)驗(yàn),分別對(duì)兩條分支上增加注意力模塊前后的網(wǎng)絡(luò)特征圖進(jìn)行了可視化對(duì)比分析.
圖6為增加雙重注意力模塊前后檢測(cè)效果對(duì)比.圖6(a)為測(cè)試圖.圖6(f)為人工標(biāo)注標(biāo)簽.圖6(b)為細(xì)節(jié)分支未加PAM時(shí)特征圖,網(wǎng)絡(luò)特征圖中丟失了大量的空間細(xì)節(jié)特征,這樣會(huì)影響網(wǎng)絡(luò)的檢測(cè)準(zhǔn)確率.圖6(d)為細(xì)節(jié)分支增加PAM后特征圖,油污的大體輪廓信息更加完整,同時(shí)也進(jìn)一步提升了對(duì)油污位置信息提取的準(zhǔn)確性.圖6(c)為語(yǔ)義分支未加CCAM時(shí)輸出的特征圖,從圖中可以看出溢油目標(biāo)區(qū)域像素點(diǎn)與周圍非油污區(qū)域像素點(diǎn)區(qū)別較為模糊,這樣會(huì)影響網(wǎng)絡(luò)最終的檢測(cè)精度.圖6(e)為語(yǔ)義分支增加CCAM后特征圖,油污區(qū)域像素點(diǎn)分類效果取得了大幅提升,從而減少了誤分類現(xiàn)象.最后,分別在語(yǔ)義分支和細(xì)節(jié)分支上增加CCAM和PAM.從圖6(g)中可以看出未加雙重注意力模塊的Ghost-BiSeNetV2存在誤檢測(cè)現(xiàn)象.圖6(h)為增加雙重注意力模塊后的Ghost-BiSeNetV2檢測(cè)效果圖,加入雙重注意力模塊很明顯減少了誤檢測(cè)現(xiàn)象.
圖6 增加雙重注意力模塊前后檢測(cè)效果對(duì)比Fig.6 The detection effect comparison before and after adding the dual attention module
CCAM與CBAM(convolutional block attention module)[14]有一定的相似性.但是在溢油檢測(cè)過(guò)程中,由于海面油污目標(biāo)的外形、顏色等特征多變且不固定,并且存在明顯的類內(nèi)相異性問(wèn)題,采用CBAM會(huì)缺少上下文依賴信息,導(dǎo)致預(yù)測(cè)錯(cuò)誤.而CCAM可以更好地捕捉全局上下文中對(duì)象的關(guān)系,獲取上下文信息,從而形成全局上下文視圖,使得相似的語(yǔ)義特征實(shí)現(xiàn)相互增益.
本文通過(guò)岸基平臺(tái)搭載??低旸S-2TD6566T-50H2LX/V2云臺(tái)攝像機(jī)和無(wú)人機(jī)大疆經(jīng)緯M600 Pro搭載禪思XT2相機(jī)進(jìn)行圖像數(shù)據(jù)采集,獲取了不同視角和不同距離下的大量溢油檢測(cè)實(shí)驗(yàn)數(shù)據(jù).主要采集的溢油種類有原油、汽油、柴油和廢機(jī)油等.可見(jiàn)光數(shù)據(jù)集包括訓(xùn)練集圖像8 324幅,驗(yàn)證集圖像872幅,測(cè)試集圖像832幅.其中岸基平臺(tái)攝像機(jī)采集數(shù)據(jù)的分辨率為1 280×720,無(wú)人機(jī)搭載相機(jī)采集數(shù)據(jù)的分辨率為1 920×1 080.由于該數(shù)據(jù)集包含了多平臺(tái)、多視角拍攝的多種類油污信息,具有較強(qiáng)的泛化能力.
優(yōu)化后的BiSeNetV2進(jìn)行訓(xùn)練時(shí),首先需要確定訓(xùn)練所需的參數(shù)值.如表1所示為訓(xùn)練時(shí)參數(shù)值的設(shè)定.
表1 訓(xùn)練參數(shù)設(shè)定Tab.1 The training parameter settings
BiSeNetV2應(yīng)用Online hand example mining cross-entropy loss (OhemCELoss)損失函數(shù),在訓(xùn)練過(guò)程中可以關(guān)注困難樣本,對(duì)其施加更高權(quán)重的一種訓(xùn)練策略.首先對(duì)樣本求取交叉熵?fù)p失函數(shù)如式(1)所示,篩選出損失最大的樣本,然后將篩選得到的這些樣本應(yīng)用在隨機(jī)梯度下降中訓(xùn)練.
(1)
(2)
Ghost-DABiSeNetV2整體結(jié)構(gòu)主要分為細(xì)節(jié)分支和語(yǔ)義分支.將兩條分支分為幾個(gè)階段進(jìn)行分析研究,每個(gè)階段中集成了多個(gè)模塊操作,其中Ghost-DABiSeNetV2中各階段內(nèi)部模塊細(xì)節(jié)操作如表2所示.其中k表示卷積核大小,c表示通道數(shù),e表示擴(kuò)展因子,s表示卷積操作步長(zhǎng),r表示該層操作重復(fù)次數(shù).
表2 Ghost-DABiSeNetV2內(nèi)部模塊細(xì)節(jié)操作Tab.2 The detailed operation of the module in Ghost-DABiSeNetV2
本節(jié)的網(wǎng)絡(luò)訓(xùn)練和性能評(píng)估實(shí)驗(yàn)均在同一平臺(tái)下進(jìn)行,訓(xùn)練迭代步數(shù)為500,網(wǎng)絡(luò)輸入特征圖大小統(tǒng)一為480×480.對(duì)不同網(wǎng)絡(luò)的均交并比(MIoU)即準(zhǔn)確性指標(biāo)、參數(shù)量(parameter)、計(jì)算量(FLOPs)進(jìn)行對(duì)比.表3為幾類語(yǔ)義分割網(wǎng)絡(luò)檢測(cè)的準(zhǔn)確性和實(shí)時(shí)性對(duì)比結(jié)果.
表3 語(yǔ)義分割網(wǎng)絡(luò)性能對(duì)比Tab.3 The semantic segmentation network performance comparison
基于控制變量的思想,首先對(duì)以GhostNet為主干網(wǎng)絡(luò)的BiSeNetV1和BiSeNetV2進(jìn)行性能參數(shù)對(duì)比,然后將BiSeNetV2和改進(jìn)后的BiSeNetV2(包括Ghost-BiSeNetV2和Ghost-DABiSeNetV2)進(jìn)行性能參數(shù)對(duì)比.其網(wǎng)絡(luò)訓(xùn)練輸入特征圖大小為720×960,網(wǎng)絡(luò)的檢測(cè)速度性能指標(biāo)FPS的測(cè)試視頻幀分辨率為1 280×720.本文對(duì)可見(jiàn)光圖像進(jìn)行了對(duì)比實(shí)驗(yàn),性能見(jiàn)表4.
表4 網(wǎng)絡(luò)改進(jìn)前后在可見(jiàn)光圖像上的性能對(duì)比Tab.4 The performance comparison of the network on the visible light image with and without the improvement
Ghost-DABiSeNetV2在可見(jiàn)光圖像上的檢測(cè)性能指標(biāo)均優(yōu)于其他4個(gè)網(wǎng)絡(luò).將改進(jìn)前后的BiSeNetV2分別在可見(jiàn)光圖像上進(jìn)行溢油檢測(cè)可視化實(shí)驗(yàn),結(jié)果如圖7所示.
在各列圖像中,圖7(a)為測(cè)試圖,圖7(b)為人工標(biāo)注標(biāo)簽,圖7(c)為BiSeNetV2溢油檢測(cè)效果圖,圖7(d)為Ghost-BiSeNetV2溢油檢測(cè)效果圖,圖7(e)為Ghost-DABiSeNetV2溢油檢測(cè)效果圖.在第一行檢測(cè)結(jié)果中,網(wǎng)絡(luò)優(yōu)化前存在誤檢測(cè)現(xiàn)象,在此基礎(chǔ)上,通過(guò)在網(wǎng)絡(luò)的雙分支上引入雙重注意力模塊后,能夠完全消除水中目標(biāo)誤檢測(cè)現(xiàn)象(如綠色框選區(qū)域所示).而在第二行檢測(cè)結(jié)果中,優(yōu)化前后的網(wǎng)絡(luò)對(duì)遠(yuǎn)處薄油膜區(qū)域均出現(xiàn)了不同程度的漏檢測(cè)現(xiàn)象,該種現(xiàn)象不能通過(guò)優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)來(lái)解決(如黃色框選區(qū)域所示).第三行中BiSeNetV2對(duì)近距離的油污區(qū)域出現(xiàn)漏檢測(cè)現(xiàn)象.第四行對(duì)于高分辨率油污檢測(cè)圖像進(jìn)行溢油檢測(cè)時(shí),局部薄油膜區(qū)域均出現(xiàn)了一定程度的漏檢現(xiàn)象(如綠色框選區(qū)域).通過(guò)增加雙重注意力模塊可以提升高分辨圖像下溢油檢測(cè)精度,有效抑制近距離低對(duì)比度溢油區(qū)域的漏檢測(cè)現(xiàn)象.
圖7 網(wǎng)絡(luò)優(yōu)化前后在可見(jiàn)光圖像上檢測(cè)效果圖Fig.7 The detection effect diagram on the visible light image before and after network optimization
本文提出了一種新的輕量型雙邊分割網(wǎng)絡(luò),用于檢測(cè)海面溢油.該網(wǎng)絡(luò)基于無(wú)人機(jī)和配備光學(xué)攝像機(jī)的岸基平臺(tái),通過(guò)從多個(gè)平臺(tái)收集數(shù)據(jù),組合成高質(zhì)量的可見(jiàn)光數(shù)據(jù)集.將BiSeNetV2網(wǎng)絡(luò)中的GE層替換為Ghost-GE層,其中改進(jìn)后的Ghost-GE層能夠使模型的精度和速度均得到提升.最后針對(duì)高分辨率圖像漏檢測(cè)和誤檢測(cè)現(xiàn)象,本文將PAM和改進(jìn)的CCAM分別加入BiSeNetV2的細(xì)節(jié)分支和語(yǔ)義分支中.改進(jìn)后的檢測(cè)網(wǎng)絡(luò)在保證實(shí)時(shí)性的前提下,使得檢測(cè)精度大幅提升.