周治國(guó),劉開(kāi)元,鄭翼鵬,屈崇,2,王黎明
(1. 北京理工大學(xué) 信息與電子學(xué)院,北京 100081;2. 中國(guó)船舶重工集團(tuán)公司第七一一研究所, 上海 201108;3. 中國(guó)人民解放軍海軍工程大學(xué),湖北,武漢 430032)
提 要:針對(duì)高速無(wú)人艇自主航行時(shí)對(duì)視覺(jué)檢測(cè)的實(shí)時(shí)性以及由于水面場(chǎng)景變化和波浪反射等干擾的魯棒性需求,提出一種基于深度學(xué)習(xí)的高速無(wú)人艇視覺(jué)檢測(cè)實(shí)時(shí)算法. 采用基于MobileNet的神經(jīng)網(wǎng)絡(luò)快速提取全圖特征,設(shè)計(jì)SSD結(jié)構(gòu)的檢測(cè)網(wǎng)絡(luò)融合各層特征圖的結(jié)果以完成快速多尺度檢測(cè),并在嵌入式GPU NVIDIA Jetson TX2硬件平臺(tái)上將算法實(shí)現(xiàn)并驗(yàn)證. 結(jié)果表明,該算法能夠?qū)崟r(shí)檢測(cè)多類水上特定目標(biāo),具有魯棒性強(qiáng)、多尺度的特點(diǎn),單幀視頻的檢測(cè)時(shí)間可以控制在50 ms以內(nèi).
水面無(wú)人艇是一種具備自主路徑規(guī)劃和自主導(dǎo)航能力的水上平臺(tái),在軍事和民用領(lǐng)域有著廣泛的應(yīng)用前景. 實(shí)際應(yīng)用中,無(wú)人艇在高動(dòng)態(tài)環(huán)境中自主航行并完成任務(wù),要求具備感知環(huán)境、發(fā)現(xiàn)潛在威脅以及執(zhí)行合理路徑的能力[1],一般需配備超聲探頭、視覺(jué)傳感器、毫米波雷達(dá)、X波段雷達(dá)、激光測(cè)距儀等傳感器獲取環(huán)境和障礙物信息,其各自的感知范圍如表1所示.
表1 常見(jiàn)傳感器及其感知范圍Tab.1 Common sensors and sensing range
由表1中所列數(shù)據(jù)可知超聲探頭與毫米波雷達(dá)覆蓋范圍較小,激光測(cè)距儀檢測(cè)覆蓋范圍廣,但條件較苛刻,X波段雷達(dá)近距離檢測(cè)效果不好,而視覺(jué)傳感器的感知范圍較為合適. 另外雷達(dá)等傳感器獲取的信息量較少,能夠進(jìn)行障礙物探測(cè)但無(wú)法分類,而障礙物分類對(duì)于危險(xiǎn)情況分級(jí)、局勢(shì)判斷有著重要作用. 視覺(jué)傳感器具有高分辨率、低成本、易安裝以及視野廣的優(yōu)勢(shì),采集的圖像在穩(wěn)像和去霧處理后圖像質(zhì)量較高,所以目前采用視覺(jué)算法進(jìn)行無(wú)人艇障礙物檢測(cè)最為普遍.
水面無(wú)人艇攝像頭采集的圖像中場(chǎng)景復(fù)雜,往往有多個(gè)障礙物,也經(jīng)常遇到高光照、海面反射、浪花干擾等情況,因此實(shí)現(xiàn)障礙物檢測(cè)非常困難. Fefilatyev等[2]首先檢測(cè)海天線,然后在海天線下的區(qū)域內(nèi)搜索潛在的障礙物目標(biāo),通過(guò)連續(xù)幀的檢測(cè)結(jié)果確定障礙物. Wang等[3]和Mou等[4]也采用了類似的思路,先檢測(cè)海天線,然后通過(guò)顯著性或全局稀疏等方法檢測(cè)潛在障礙物. Matej Kristan等[5]假設(shè)海洋環(huán)境圖片可以被分為天空、陸地和海霧或停泊在海天線附近的船、水體3個(gè)平行且截然不同的語(yǔ)義區(qū)域,通過(guò)施加弱結(jié)構(gòu)約束,采用馬爾科夫隨機(jī)場(chǎng)框架,推導(dǎo)出模型參數(shù)、分段掩模估計(jì)和優(yōu)化算法. 隨著機(jī)器學(xué)習(xí)算法的廣泛應(yīng)用,有研究者將機(jī)器學(xué)習(xí)的方法引入到水面無(wú)人艇障礙物目標(biāo)檢測(cè)領(lǐng)域. Li等[6]通過(guò)objectness方法獲取潛在目標(biāo),并通過(guò)與顯著性方法融合獲取最終的結(jié)果,達(dá)到較好的檢測(cè)精度.
目前國(guó)際上大部分的水面無(wú)人艇的設(shè)計(jì)速度均超過(guò)40節(jié)[7],且多用于戰(zhàn)場(chǎng)偵察、島礁巡邏等復(fù)雜水域環(huán)境中,因此對(duì)障礙物檢測(cè)識(shí)別有較高的要求:①魯棒性強(qiáng),在海天背景、近岸情況、光照變化、多目標(biāo)場(chǎng)景等情況下均能有較好的檢測(cè)效果;②多尺度檢測(cè),無(wú)人艇工作環(huán)境復(fù)雜,可能遇到多種大小不同的船舶目標(biāo);③實(shí)時(shí)性強(qiáng),無(wú)人艇航速較高的情況下要求算法能夠快速檢測(cè);④識(shí)別分類,算法能夠識(shí)別不同的目標(biāo)并分類,為后續(xù)的危險(xiǎn)分級(jí)和態(tài)勢(shì)判斷提供信息. 現(xiàn)有算法或是魯棒性不足,或是實(shí)時(shí)性較差,或是應(yīng)用條件苛刻,均無(wú)法很好地適用于高速無(wú)人艇的應(yīng)用場(chǎng)景. 而近年來(lái)飛速發(fā)展的深度學(xué)習(xí)算法具有魯棒性強(qiáng)、多尺度檢測(cè)識(shí)別的優(yōu)點(diǎn),但也有一些限制:①網(wǎng)絡(luò)本身結(jié)構(gòu)的計(jì)算成本較高;②缺乏高性能的嵌入式GPU板卡支持.
本文針對(duì)高速水面無(wú)人艇障礙物檢測(cè)識(shí)別這一問(wèn)題,結(jié)合實(shí)際情況分析并建立算法模型,提出基于深度學(xué)習(xí)算法的高速水面無(wú)人艇視覺(jué)檢測(cè)方法. 采用輕量級(jí)的MobileNet[8]作為基礎(chǔ)網(wǎng)絡(luò)提取圖像特征,并添加多卷積層輸出不同尺度的特征圖,結(jié)合SSD思想設(shè)計(jì)快速多尺度檢測(cè)網(wǎng)絡(luò)實(shí)現(xiàn)多尺度檢測(cè). 并創(chuàng)建了一個(gè)新的水上目標(biāo)數(shù)據(jù)集,用訓(xùn)練集對(duì)該網(wǎng)絡(luò)在NVIDIA GeForce 1080TI上完成了整個(gè)檢測(cè)系統(tǒng)的訓(xùn)練,在NVIDIA Jetson TX2上用測(cè)試集進(jìn)行了驗(yàn)證,結(jié)果表明本文的方法可以在對(duì)多場(chǎng)景下不同大小的船舶以及摩托艇等障礙物目標(biāo)保持82.1%平均檢測(cè)精度的同時(shí),單幀視頻的檢測(cè)時(shí)間小于50 ms.
整體算法模型可分為兩部分,第一部分基于MobileNet設(shè)計(jì)特征提取網(wǎng)絡(luò)以生成多個(gè)不同尺度的特征圖,第二部分基于SSD思想搭建了快速多尺度檢測(cè)網(wǎng)絡(luò),融合各層特征圖并最終輸出結(jié)果. 整體的算法模型如圖1所示.
圖1 基于深度學(xué)習(xí)的視覺(jué)檢測(cè)實(shí)時(shí)算法模型Fig.1 Real-time visual detection algorithm model based on deep learning
特征提取網(wǎng)絡(luò)基于輕量級(jí)網(wǎng)絡(luò)MobileNet設(shè)計(jì),參考分離卷積[9]的概念設(shè)計(jì)深度可分離卷積層,將標(biāo)準(zhǔn)卷積層分解成一個(gè)深度卷積和一個(gè)點(diǎn)卷積,深度卷積將每個(gè)卷積核應(yīng)用到每一個(gè)通道,而點(diǎn)卷積用來(lái)組合通道卷積的輸出,大大減少了網(wǎng)絡(luò)模型的參數(shù)量和計(jì)算成本. 深度可分離卷積層相比標(biāo)準(zhǔn)卷積層的計(jì)算開(kāi)銷比例為[8]
(1)
式中:DF為輸入特征圖的寬度和高度;M為輸入通道的數(shù)量;DK為標(biāo)準(zhǔn)卷積層和深度卷積的卷積核尺寸;N為卷積核的數(shù)量.
深度可分離卷積層的引入也大大減少了網(wǎng)絡(luò)模型的參數(shù)量,如表2所示.
表2 網(wǎng)絡(luò)參數(shù)量比較Tab.2 Comparison of network parameter quantities
特征提取網(wǎng)絡(luò)去掉MobileNet最后的平均池化層、全連接層和Softmax層,并在網(wǎng)絡(luò)后面添加8個(gè)卷積層以提高特征提取能力,特征提取網(wǎng)絡(luò)的各層數(shù)據(jù)如表3所示.
表3 添加層結(jié)構(gòu)Tab.3 Structure of add layers
本文基于SSD算法設(shè)計(jì)了快速多尺度檢測(cè)網(wǎng)絡(luò),抽取不同尺寸的特征圖作為輸入以實(shí)現(xiàn)多尺度,這6個(gè)特征圖的大小分別為19×19、10×10、5×5、3×3、2×2、1×1. 算法對(duì)輸入特征圖的每個(gè)特征區(qū)域生成一系列不同大小、不同比例的默認(rèn)框,其大小和比例與對(duì)應(yīng)的特征層有關(guān),假設(shè)模型檢測(cè)時(shí)采用m層特征圖,則第k個(gè)特征圖的默認(rèn)框比例計(jì)算公式如下:
(2)
式中k∈[1,m],其中Smax和Smin代表默認(rèn)框在對(duì)應(yīng)特征圖中所占的最小和最大比例,分別設(shè)置為0.2和0.9.
(3)
(4)
特別的,當(dāng)r=1時(shí),規(guī)定默認(rèn)框參數(shù)為
(5)
特征圖與對(duì)應(yīng)邊框大小的不同使得其在圖片的感受也會(huì)相應(yīng)的不同,形成多尺度的檢測(cè).
檢測(cè)網(wǎng)絡(luò)訓(xùn)練時(shí)同時(shí)對(duì)目標(biāo)分類和位置進(jìn)行回歸,整體對(duì)象損失函數(shù)是置信損失和位置損失之和,其表達(dá)式如下:
(6)
式中:Lconf為置信損失;Lloc為位置損失,這里采用的是Smooth L1Loss[12];N為與預(yù)先標(biāo)注框匹配的默認(rèn)框個(gè)數(shù);α為平衡置信損失和位置損失的權(quán)重,通常設(shè)置為1;z為默認(rèn)框與不同類別的預(yù)先標(biāo)注框的匹配結(jié)果;c為預(yù)測(cè)物體框的置信度;l為預(yù)測(cè)物體框的位置信息;g為預(yù)先標(biāo)注框的位置信息.
在算法的訓(xùn)練階段,將這些默認(rèn)框和預(yù)先標(biāo)注框匹配,結(jié)果輸入損失函數(shù)以訓(xùn)練匹配策略. 在預(yù)測(cè)階段,則直接預(yù)測(cè)默認(rèn)框的偏移以及對(duì)每個(gè)類別相應(yīng)的得分,最后通過(guò)非極大值抑制去除冗余項(xiàng)得到最終的結(jié)果.
無(wú)人艇在工作過(guò)程中可能遇到多種多樣的障礙物,包括大小船舶、浮木、浮球、礁石等等,其中會(huì)遇情形較為復(fù)雜,容易造成碰撞風(fēng)險(xiǎn)的主要為運(yùn)動(dòng)中的大小船舶. 并且當(dāng)無(wú)人艇在進(jìn)行戰(zhàn)場(chǎng)偵察、島礁巡邏、多船協(xié)同對(duì)抗等任務(wù)時(shí),對(duì)船型的檢測(cè)有著較高的需求. 船舶包括貨船、大型集裝箱船、各型軍艦、沖鋒舟、快艇、摩托艇等,本文根據(jù)軍用檢測(cè)場(chǎng)景中的碰撞危險(xiǎn)度大小將潛在檢測(cè)目標(biāo)分為3類,如表4所示.
目前深度學(xué)習(xí)領(lǐng)域有很多著名的數(shù)據(jù)集,如COCO[13],ImageNet[14],Pascal VOC[15]等,但這些數(shù)據(jù)集中水面船舶的數(shù)據(jù)較少,且目標(biāo)類型較少,場(chǎng)景單一,無(wú)法用于訓(xùn)練. 本文針對(duì)水面檢測(cè)的實(shí)際場(chǎng)景,自行構(gòu)建了水上目標(biāo)數(shù)據(jù)集,以表4中列出的3類潛在目標(biāo)為訓(xùn)練和測(cè)試數(shù)據(jù),并包含了多尺度目標(biāo)場(chǎng)景、浪花干擾場(chǎng)景、海天背景、建筑物背景,以及高光照和圖片變色場(chǎng)景等多種實(shí)際檢測(cè)場(chǎng)景. 該數(shù)據(jù)集由1 550張尺寸為300 ×300左右的圖片構(gòu)成,其中1 350張作為訓(xùn)練集,200張作為測(cè)試集.
表4 潛在檢測(cè)目標(biāo)分類Tab.4 Classification of potential objects
在完成MobileNet的實(shí)現(xiàn)后,去掉最后的池化層和全連接層,添加了8層卷積神經(jīng)網(wǎng)絡(luò),并從整個(gè)檢測(cè)網(wǎng)絡(luò)中分別提取了大小分別為19×19、10×10、5×5、3×3、2×2、1×1的6層輸出特征圖進(jìn)行檢測(cè).
考慮到搜集的數(shù)據(jù)集較小,為了提高算法的檢測(cè)精度,先在COCO數(shù)據(jù)集上對(duì)MobileNet網(wǎng)絡(luò)進(jìn)行了預(yù)訓(xùn)練,再用Pascal VOC數(shù)據(jù)集預(yù)訓(xùn)練整個(gè)系統(tǒng),最后使用本文自己收集的水上目標(biāo)數(shù)據(jù)集進(jìn)行訓(xùn)練. 由于經(jīng)過(guò)了兩次預(yù)訓(xùn)練,所以整個(gè)網(wǎng)絡(luò)的基本權(quán)重已經(jīng)相對(duì)合適,只需進(jìn)行微小的調(diào)整,而且MobileNet網(wǎng)絡(luò)本身是一個(gè)輕量級(jí)的網(wǎng)絡(luò),不容易產(chǎn)生過(guò)擬合. 因此,為了保護(hù)基本權(quán)重,采用RMSProp算法優(yōu)化參數(shù),并將權(quán)重遞減比例設(shè)置為0.000 05. 出于同樣的原因,初始學(xué)習(xí)率設(shè)置為0.000 1,并在200 00步和400 00步分別調(diào)整為0.000 05和0.000 025.
本文提出的無(wú)人艇障礙物檢測(cè)識(shí)別算法在深度學(xué)習(xí)框架Caffe上實(shí)現(xiàn),并在配置有NVIDIA GeForce GTX 1080TI的工作站上進(jìn)行了訓(xùn)練.
本文在與訓(xùn)練數(shù)據(jù)集同分布的測(cè)試數(shù)據(jù)集上對(duì)算法進(jìn)行了測(cè)試,算法對(duì)各類水上障礙物目標(biāo)的檢測(cè)精度如表5所示.
表5 檢測(cè)精度Tab.5 Detection accuracy
由表5數(shù)據(jù)可見(jiàn),將各類型的障礙物目標(biāo)分為大型船、小型船、摩托艇3類,且對(duì)3類目標(biāo)的檢測(cè)精度均超過(guò)了80%. 測(cè)試集中各類場(chǎng)景圖片的檢測(cè)識(shí)別結(jié)果如圖2~4所示.
圖2 多尺度障礙物檢測(cè)結(jié)果Fig.2 Results of multi-scale obstacle detection
圖3 復(fù)雜場(chǎng)景檢測(cè)結(jié)果Fig.3 Results of complex scene detection
圖4 高光照?qǐng)鼍皺z測(cè)結(jié)果Fig.4 Results of high light scene detection
目前算法由于其原理的限制,對(duì)于高光照噪聲場(chǎng)景往往沒(méi)有較好的解決辦法,如文獻(xiàn)[5]中通過(guò)忽略表示為閃光區(qū)域的區(qū)域中的任何檢測(cè)來(lái)解決高光照噪聲的干擾. 這種解決辦法在某些場(chǎng)景下可以起到一定的效果,但是這種解決思路明顯無(wú)法應(yīng)對(duì)障礙物出現(xiàn)于閃光區(qū)域內(nèi)的情況,會(huì)出現(xiàn)漏檢的情況. 而由圖2~4可見(jiàn),本文算法能夠較好的實(shí)現(xiàn)多尺度目標(biāo)檢測(cè),并能在浪花干擾、多種背景的復(fù)雜場(chǎng)景下以及高光照?qǐng)鼍跋氯匀槐3州^好的檢測(cè)性能,優(yōu)于現(xiàn)有算法.
由于深度學(xué)習(xí)算法的運(yùn)行過(guò)程中具有大量的并行計(jì)算,計(jì)算成本較高,常見(jiàn)的CPU板卡并行計(jì)算效率較低,而一般采用的高性能GPU計(jì)算性能好,功耗卻很大,不適合作為本文的無(wú)人艇障礙物檢測(cè)算法的測(cè)試硬件. 本文選取了NVIDIA Jetson TX2作為本文的視覺(jué)算法硬件,其配置及運(yùn)算性能如表6所示.
表6 硬件參數(shù)Tab.6 Hardware parameter
算法模型基于Caffe框架實(shí)現(xiàn),并采用CUDA加速,測(cè)得單幀視頻的平均檢測(cè)速度在50 ms以內(nèi),與同類型方案比較如表7所示.
表7 本文算法與文獻(xiàn)[6]統(tǒng)計(jì)結(jié)果
由表7數(shù)據(jù)可見(jiàn),本文方案的硬件功耗僅為文獻(xiàn)[6]的11.5%,單幀檢測(cè)時(shí)間僅為文獻(xiàn)[6]的18.6%,檢測(cè)精度保持得很高,綜合性能優(yōu)于文獻(xiàn)[6].
本文針對(duì)高速無(wú)人艇在戰(zhàn)場(chǎng)偵察、島礁巡邏等復(fù)雜水域環(huán)境下障礙物檢測(cè)的相關(guān)指標(biāo)進(jìn)行分析,引入深度學(xué)習(xí)方法,并結(jié)合領(lǐng)域特點(diǎn)提出基于深度學(xué)習(xí)的無(wú)人艇障礙物檢測(cè)算法. 實(shí)驗(yàn)結(jié)果顯示,本算法對(duì)大型船、小型船和摩托艇3類目標(biāo)的平均檢測(cè)精度達(dá)到了82.1%,而且可以實(shí)現(xiàn)多尺度、復(fù)雜場(chǎng)景及高光照?qǐng)鼍暗臋z測(cè),并能在嵌入式GPU NVIDIA Jetson TX2上實(shí)時(shí)運(yùn)行,單幀視頻的檢測(cè)時(shí)間小于50 ms,優(yōu)于現(xiàn)有的同類型方案.
致謝
本研究受到中船重工預(yù)研項(xiàng)目《水面無(wú)人艇關(guān)鍵技術(shù)研究》和海軍工程大學(xué)軍內(nèi)項(xiàng)目《軍港水域無(wú)人化勤務(wù)保障技術(shù)研究及驗(yàn)證》支持,特此感謝!