孫備,黨昭洋,吳鵬,張家菊,左震
(國(guó)防科技大學(xué)智能科學(xué)學(xué)院,長(zhǎng)沙 410072)
作為海洋智能機(jī)器人技術(shù)的發(fā)展產(chǎn)物,無人艇在巡邏、導(dǎo)航、排雷反潛等領(lǐng)域有著巨大的應(yīng)用價(jià)值[1]。為了拓展作業(yè)領(lǐng)域,無人艇會(huì)搭載多種傳感器,通過智能模型對(duì)潛在威脅目標(biāo)進(jìn)行檢測(cè)識(shí)別,實(shí)現(xiàn)環(huán)境目標(biāo)的多重感知[2]。然而,受海洋環(huán)境日益復(fù)雜、作業(yè)任務(wù)日漸多樣、活動(dòng)范圍日趨擴(kuò)大的影響,無人艇環(huán)境感知還面臨諸多挑戰(zhàn)[3]。
復(fù)雜場(chǎng)景下海面目標(biāo)圖像受海浪、風(fēng)浪和光照變化等因素影響,目標(biāo)呈紋理弱、尺寸小、形變大等特點(diǎn),使得通用面向近距離平視場(chǎng)景的目標(biāo)檢測(cè)方法難以實(shí)現(xiàn)有效檢測(cè)[4-5]。基于此,本文圍繞遠(yuǎn)距場(chǎng)景下無人艇環(huán)境感知中的目標(biāo)尺寸小、形變大等難題開展研究,在對(duì)YOLO系列主流檢測(cè)算法進(jìn)行分析和對(duì)無人艇光電探測(cè)系統(tǒng)進(jìn)行設(shè)計(jì)的基礎(chǔ)上,首先構(gòu)建了典型水面目標(biāo)數(shù)據(jù)集;然后重點(diǎn)設(shè)計(jì)了一種SAv2Attention注意力模塊并將其嵌入到Y(jié)OLOv5模型中;最后,基于典型水面目標(biāo)數(shù)據(jù)集進(jìn)行了大量對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明了本文方法在無人艇目標(biāo)檢測(cè)方面的優(yōu)越性。
圖1所示為深度學(xué)習(xí)目標(biāo)檢測(cè)算法的發(fā)展歷程[6]。其中,以YOLO為代表的單階段目標(biāo)檢測(cè)算法[7]兼具檢測(cè)精度和檢測(cè)效率,后續(xù)又涌現(xiàn)了眾多基于其改進(jìn)的版本,成為目標(biāo)檢測(cè)領(lǐng)域應(yīng)用最廣泛的網(wǎng)絡(luò)之一。
圖1 基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法發(fā)展歷程Fig.1 Development of object detection algorithms based on deep learning
2015年,YOLOv1在卷積特征提取的基礎(chǔ)上通過全連接層分類回歸實(shí)現(xiàn)目標(biāo)檢測(cè)。后續(xù)的改進(jìn)主要是通過多尺度卷積融合的思想,以提升多尺度檢測(cè)效果。例如YOLOv2設(shè)計(jì)了pass through層,通過不同層特征圖的拼接實(shí)現(xiàn)多尺度特征預(yù)測(cè);YOLOv3引入特征金字塔結(jié)構(gòu)預(yù)測(cè)不同尺度的目標(biāo),通過在多個(gè)不同尺度的特征層上設(shè)置錨點(diǎn),實(shí)現(xiàn)多尺度細(xì)節(jié)和語義融合;YOLOv4在輸入端引入了Mosaic數(shù)據(jù)增強(qiáng)方式,通過對(duì)圖片進(jìn)行隨機(jī)縮放、隨機(jī)裁剪以及隨機(jī)排布的方式進(jìn)行多尺度數(shù)據(jù)增強(qiáng);YOLOv5在輸入層引入Mosaic數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算,在Backbone層引入Focus結(jié)構(gòu)對(duì)圖片進(jìn)行切片處理,以及在Neck層中采用FPN+PAN結(jié)構(gòu),通過上/下采樣等操作實(shí)現(xiàn)特征融合,進(jìn)而提升了對(duì)不同尺度目標(biāo)的檢測(cè)精度[8-10]。
后續(xù)的YOLO系列改進(jìn)網(wǎng)絡(luò)則在總結(jié)近幾年目標(biāo)檢測(cè)領(lǐng)域主流思想的基礎(chǔ)上,通過數(shù)據(jù)增強(qiáng)、多尺度融合等思想進(jìn)行設(shè)計(jì)[11]。本文選取YOLOv5作為基準(zhǔn)模型,設(shè)計(jì)多分支注意力網(wǎng)絡(luò),以提升水面無人艇多尺度目標(biāo)檢測(cè)能力。
如圖2所示,無人艇常用的視覺設(shè)備包括激光雷達(dá)、航海雷達(dá)、光電吊艙(可見光+紅外)[12]。通常,單一傳感器的工作性能容易受到天氣、距離、自身工作條件等因素的影響,無法全面獲取海面環(huán)境信息。根據(jù)具體任務(wù),研究者選擇搭載合適的傳感器,實(shí)現(xiàn)環(huán)境信息獲取和海面目標(biāo)感知。
圖2 典型水面無人艇視覺傳感設(shè)備Fig.2 Typical visual sensors for surface unmanned craft
真實(shí)海域下無人艇環(huán)境感知任務(wù)可總結(jié)如下:在完成復(fù)雜海面目標(biāo)實(shí)時(shí)精準(zhǔn)檢測(cè)的基礎(chǔ)上,實(shí)現(xiàn)目標(biāo)的精細(xì)化識(shí)別,同時(shí)關(guān)聯(lián)雷達(dá)數(shù)據(jù)實(shí)現(xiàn)目標(biāo)航跡和世界坐標(biāo)系經(jīng)緯位置的估測(cè)[13]。如圖3所示,為無人艇目標(biāo)探測(cè)總體框架,其中本文研究的可見光目標(biāo)檢測(cè)算法主要解決目標(biāo)的類別檢測(cè)問題,為無人艇綜合感知提供信息支撐。
圖3 無人艇目標(biāo)探測(cè)系統(tǒng)總體框架Fig.3 Overall framework of USV target detection system
基于該框架,本文設(shè)計(jì)了水面無人艇運(yùn)動(dòng)目標(biāo)探測(cè)系統(tǒng),如圖4所示,為多傳感器在無人艇的安裝示意。之后基于設(shè)計(jì)的無人艇平臺(tái),在湛江等真實(shí)海域進(jìn)行大量無人艇水面目標(biāo)數(shù)據(jù)采集及實(shí)驗(yàn)驗(yàn)證。
圖4 無人艇多傳感器安裝示意Fig.4 Installation of multiple sensors for unmanned boats
現(xiàn)有關(guān)于無人艇目標(biāo)探測(cè)的公開數(shù)據(jù)集相對(duì)較少,本文在湛江海域,基于構(gòu)建的無人艇系統(tǒng)采集了大量真實(shí)海域的艦船目標(biāo),并參照國(guó)際現(xiàn)有船舶分類標(biāo)準(zhǔn)建立了海面目標(biāo)分類數(shù)據(jù)集,使用labelImg軟件完成了數(shù)據(jù)集標(biāo)注[14]。
如圖5所示,采集了不同場(chǎng)景下的水面目標(biāo)數(shù)據(jù),通過調(diào)整光電球的視角和方向,收集了快艇(cutter)、漁船(trawler)、軍艦(naval)、其余船只(ship)、水鼓(drum)、浮標(biāo)(buoy)、橋墩(pier)等多類水面目標(biāo)。
圖5 無人艇水面目標(biāo)數(shù)據(jù)集Fig.5 USV surface target datasets
圖6列舉了典型海面場(chǎng)景下的可見光圖像。由圖可知,海背景目標(biāo)主要呈現(xiàn)以下特點(diǎn):一是海背景目標(biāo)尺寸小,隨著距離和拍攝角度不同,同一目標(biāo)的形變姿態(tài)變化大;二是受海背景水霧、光照散射以及無人艇運(yùn)動(dòng)等因素影響,目標(biāo)背景的對(duì)比度低、紋理特征弱,目標(biāo)容易淹沒在背景中?;诖耍疚闹攸c(diǎn)從小目標(biāo)特征增強(qiáng)的角度,進(jìn)行注意力結(jié)構(gòu)設(shè)計(jì),對(duì)現(xiàn)有方法進(jìn)行改進(jìn)。
圖6 海面運(yùn)動(dòng)目標(biāo)檢測(cè)難點(diǎn)Fig.6 Difficulties in sea moving targets detecting
通道和空間注意力成為近幾年目標(biāo)檢測(cè)任務(wù)常用的改進(jìn)方法,其中通道注意力關(guān)注不同卷積核作用,空間注意力關(guān)注空間位置作用,空間和通道注意力結(jié)合有助于模糊小目標(biāo)特征提取[15]。本文融合空間和通道注意力特點(diǎn),設(shè)計(jì)了一種新的注意力機(jī)制SAv2Attention(簡(jiǎn)稱SAv2)。
如圖7所示,為SAv2的基礎(chǔ)結(jié)構(gòu),其主體思想采用“分裂-轉(zhuǎn)換-合并”思路,其中“分裂”是通過復(fù)制實(shí)現(xiàn)通道拓展,以保證“分裂”后每個(gè)分支維數(shù)一致,“轉(zhuǎn)換”針對(duì)不同分支采取Spatial Shift and Se Concat操作和Shuffle Concat操作,以實(shí)現(xiàn)不同形式的特征融合,“合并”操作是通過維度拼接、隨機(jī)通道混洗等操作實(shí)現(xiàn)兩個(gè)分支的特征融合。
圖7 SAv2模塊結(jié)構(gòu)Fig.7 SAv2 module structure
SAv2由通道分裂、Spatial Shift and Se Concat轉(zhuǎn)換、Shuffle Concat轉(zhuǎn)換和通道拼接混洗合并4個(gè)模塊組成[16],其具體步驟如下:
(1)通道復(fù)制。給定一個(gè)輸入張量k∈Rw×h×b×c,將其復(fù)制,得到兩個(gè)相同維度的特征張量k1和k2。
(2)Spatial Shift and Se Concat轉(zhuǎn)換。對(duì)張量k1進(jìn)行Spatial Shift and Se Concat轉(zhuǎn)換,具體算法如下。
算法:通道空間位移增強(qiáng)算法已知:輸入卷積特征圖:k1∈Rw×h×b×c,其中w,h分別為卷積特征圖的寬和高,b為批量輸入圖像數(shù)量,c為卷積特征通道數(shù)。步驟:S1:對(duì)特征圖k1進(jìn)行激活函數(shù)操作,然后在通道維度將k1平均分為8等份,i∈(0,7)分維規(guī)則為:k1i=k1[:,:,:,ic8:()i+1c8]S2:對(duì)k11,k12,k13,k14特征層進(jìn)行右-左-下-上4個(gè)方向的空間位移,以增加卷積特征的感受野:k11[1:,:,:,:]=k11[:w-1,:,:,:]k12[:w-1,:,:,:]=k12[1:,:,:,:]k13[:,1:,:,:]=k13[:,:h-1,:,:]k14[:,:h-1,:,:]=k14[:,1:,:,:]S3:對(duì)空間增強(qiáng)后的特征k1i進(jìn)行SeNet通道增強(qiáng),將其壓縮成維數(shù)為1×1×b×c的向量;S4:使用激活函數(shù)將k1i的值限制到[0,1]范圍,并作為權(quán)重對(duì)應(yīng)乘到k1i每個(gè)通道,以增強(qiáng)重要特征,輸出特征圖k′′1。
(3)Shuffle Concat轉(zhuǎn)換。借鑒Shuffle Attention的思想對(duì)張量k2進(jìn)行轉(zhuǎn)換。如圖8所示,本文對(duì)通道采用2級(jí)分組卷積,對(duì)不同通道特征組并行進(jìn)行空間增強(qiáng)和通道增強(qiáng)。
圖8 Shuffle Concat模塊結(jié)構(gòu)Fig.8 Shuffle Concat module structure
(4)通道混洗拼接。最后將不同分支的特征圖和進(jìn)行聚合,聚合過程直接采用stack函數(shù)對(duì)c通道維度進(jìn)行堆疊,通過Split Attention操作結(jié)合起來得到特征圖k′′′。
YOLOv5目標(biāo)檢測(cè)結(jié)構(gòu)可分為Backbone、Neck和Head層3個(gè)模塊[17],其中Backbone負(fù)責(zé)提取特征,Neck負(fù)責(zé)特征融合,Head負(fù)責(zé)適配卷積特征和損失函數(shù),以適應(yīng)不同的網(wǎng)絡(luò)任務(wù)。
為了提升對(duì)不同尺度的特征融合能力,將SAv2嵌入到網(wǎng)絡(luò)的Neck層。如圖9所示,為基于多分支注意力的YOLOv5整體結(jié)構(gòu),主要是在YOLOv5結(jié)構(gòu)的第23層Concat模塊與C3模塊之間嵌入SAv2模塊。由于SAv2模塊不改變輸入輸出維數(shù),因此不會(huì)影響網(wǎng)絡(luò)的其他層變化。改進(jìn)后網(wǎng)絡(luò)的其他模塊和損失函數(shù)參考YOLOv5原生網(wǎng)絡(luò),本文不做過多的介紹。
為了保證實(shí)驗(yàn)過程一致性,將實(shí)驗(yàn)參數(shù)設(shè)為:最大迭代次數(shù)epoch為100次,每個(gè)批次處理8張圖像,網(wǎng)絡(luò)優(yōu)化方法使用SGD優(yōu)化器,初始學(xué)習(xí)率設(shè)置為10-2,IOU訓(xùn)練閾值設(shè)置為0.2,Mosaic參數(shù)設(shè)置為1.0,對(duì)全部數(shù)據(jù)做Mosaic數(shù)據(jù)增強(qiáng)。評(píng)價(jià)指標(biāo)采用COCO的mAP指標(biāo)體系。
為了驗(yàn)證本文提出的SAv2模塊的有效性,本小節(jié)在海面數(shù)據(jù)集上進(jìn)行了不同注意力機(jī)制的對(duì)比試驗(yàn),每種方法都以YOLOv5為基礎(chǔ)模型,然后分別添加CBAM、SK、CA、SE、S2、Shuffle等常見的注意力模塊以及本文的SAv2注意力模塊進(jìn)行對(duì)比。為了保持對(duì)比的一致性,注意力模塊都嵌入到Header層Concat和C3結(jié)構(gòu)之間,模型訓(xùn)練中的所有參數(shù)、軟硬件配置均保持一致。模型評(píng)價(jià)指標(biāo)包括mAP@0.5、mAP@0.5:0.95以及檢測(cè)效率FPS等,其中mAP@0.5是指檢測(cè)框和真實(shí)框的IOU為0.5時(shí)判定為有效檢測(cè)時(shí)的檢測(cè)率,mAP@0.5:0.95是指IOU按0.1遞增,取0.5~0.95范圍內(nèi)的值時(shí)的檢測(cè)率。
實(shí)驗(yàn)結(jié)果如表1所示,相較于原生YOLOv5算法,基于SAv2Attention改進(jìn)后模型的mAP@0.5、mAP@0.5:0.95分別提升了1.4%和3%,這充分證明了改進(jìn)方法通過不同通道混洗加權(quán)后,提升了小目標(biāo)檢測(cè)性能;相較于其他注意力模塊,SAv2Attention方法對(duì)檢測(cè)精度的提升效果最佳;其中S2+Shuffle、S2+SE+Shuffle等方法的檢測(cè)結(jié)果也說明了對(duì)注意力模塊的疊加堆砌不一定是最好的方案,反而會(huì)增加模型參數(shù)量。相關(guān)方法的FPS均大于25,改進(jìn)模塊基本不改變檢測(cè)效率,主要建立在YOLO方法自身的實(shí)時(shí)性基礎(chǔ)上。
表1 不同注意力模塊實(shí)驗(yàn)結(jié)果Table 1 Experimental results of different attention modules
圖10給出了不同注意力模塊在具體樣例上的檢測(cè)結(jié)果。從圖中可知,YOLOv5+CBAM和YOLOv5+SE方法漏檢了圖中的小船;YOLOv5+SK、YOLOv5+S2等方法出現(xiàn)誤檢;YOLOv5+S2+SE+Shuffle方法雖然檢測(cè)到所有目標(biāo),但對(duì)小船的浮標(biāo)的檢測(cè)置信度很低,只有0.29和0.36。綜上,本文提出的SAv2模塊能有效檢測(cè)出海面小目標(biāo),且具有更高置信度的小目標(biāo)檢測(cè)率。
圖10 不同注意力改進(jìn)的YOLOv5檢測(cè)結(jié)果Fig.10 YOLOv5 detection results with different attention improvements
本文還對(duì)比了SAv2-YOLOv5方法與Faster Rcnn、SSD、YOLOv3、YOLOx、YOLOv5等經(jīng)典方法的性能。為了保證實(shí)驗(yàn)結(jié)果的可參考性,訓(xùn)練過程中的迭代次數(shù)和參數(shù)設(shè)置遵循原論文中的最優(yōu)參數(shù)設(shè)置,并分別基于mAP@0.5、mAP@0.5:0.95、APS、APM、APL等指標(biāo)進(jìn)行對(duì)比。
不同檢測(cè)方法的實(shí)驗(yàn)對(duì)比情況如表2所示。從表中可知,SAv2-YOLOv5算法在小目標(biāo)APS和APL的檢測(cè)結(jié)果最優(yōu),在APM上的檢測(cè)精度僅次于雙階段方法Faster Rcnn,這說明了SAv2-YOLOv5兼具單階段檢測(cè)效率和雙階段檢測(cè)精度。此外,綜合來看,SAv2-YOLOv5的mAP@0.5:0.95和mAP@0.5指標(biāo)最高,這充分證明了SAv2-YOLOv5方法對(duì)于小目標(biāo)檢測(cè)的先進(jìn)性和優(yōu)越性。
表2 不同目標(biāo)檢測(cè)方法結(jié)果對(duì)比Table 2 Comparison of results of different target detection methods
圖11為改進(jìn)前后的召回率與檢測(cè)精度結(jié)果。由圖可知,SAv2-YOLOv5檢測(cè)器性能明顯優(yōu)于YOLOv5。為了直觀對(duì)比改進(jìn)效果,圖12列舉了改進(jìn)前后算法對(duì)海面目標(biāo)的部分檢測(cè)效果。共選取了兩組包含不同尺度的目標(biāo)圖片,圖12(a)是真值結(jié)果,圖12(b)是SAv2-YOLOv5檢測(cè)結(jié)果,圖12(c)是YOLOv5檢測(cè)結(jié)果。由圖可知,YOLOv5各漏檢了一個(gè)小目標(biāo),而SAv2-YOLOv5方法檢測(cè)結(jié)果和真實(shí)一致。實(shí)驗(yàn)結(jié)果證明了本文改進(jìn)的SAv2-YOLOv5方法可有效提升典型海面場(chǎng)景下多尺度目標(biāo)檢測(cè)能力。
圖11 改進(jìn)前后的召回率與檢測(cè)精度結(jié)果Fig.11 Comparison of recall rate and detection accuracy results
圖12 不同目標(biāo)檢測(cè)方法的定量檢測(cè)結(jié)果比較Fig.12 Comparison of quantitative detection results of different target detection methods
無人艇海面目標(biāo)檢測(cè)識(shí)別在無人艇智能感知、自主控制等方面具有重要的應(yīng)用價(jià)值。由于典型海面目標(biāo)距離遠(yuǎn)、尺寸小、形變大、對(duì)比度弱等特點(diǎn),本文設(shè)計(jì)了一種多分支空間轉(zhuǎn)換注意力模塊SAv2Attention,以實(shí)現(xiàn)對(duì)不同尺度卷積特征的通道間和通道內(nèi)特征進(jìn)行融合,并基于該模塊在YOLOv5原生網(wǎng)絡(luò)上進(jìn)行了改進(jìn)設(shè)計(jì),以及基于無人艇平臺(tái)采集的真實(shí)海面目標(biāo)數(shù)據(jù)集進(jìn)行了大量的對(duì)比測(cè)試實(shí)驗(yàn)。測(cè)試結(jié)果表明:相較于大部分注意力模塊,本文方法在不損失計(jì)算效率的同時(shí)具有更優(yōu)的目標(biāo)檢測(cè)效果,在典型海面目標(biāo)數(shù)據(jù)集上的檢測(cè)精度mAP@0.5達(dá)到了94.6%,mAP@0.5:0.95達(dá)到60.9%,相較于原生網(wǎng)絡(luò)分別提高了1.4%和3%,對(duì)小尺寸目標(biāo)平均檢測(cè)率APS提升4.3%,較好地證明了所提方法對(duì)海面小目標(biāo)的檢測(cè)效果。后續(xù)將結(jié)合無人艇多傳感器融合感知進(jìn)行集成設(shè)計(jì),對(duì)感控一體自主無人艇進(jìn)行海試驗(yàn)證。