李 昱,王俊雄
(上海交通大學,上海 201100)
由于自主式水下機器人(AUV)在海事研究和海洋開發(fā)中具有遠大前景,在未來水下信息獲取、精確打擊和“非對稱情報戰(zhàn)”中也有廣泛應(yīng)用,因此自主式水下機器人技術(shù)在世界各國都是一個重要和積極的研發(fā)領(lǐng)域[1]。AUV導(dǎo)航系統(tǒng)一直是近幾年的研究重點,AUV需要通過導(dǎo)航系統(tǒng)實現(xiàn)高精度自主導(dǎo)航。AUV基本慣性導(dǎo)航系統(tǒng)一般采用捷聯(lián)式慣導(dǎo),由于AUV特殊的工作環(huán)境限制和慣性器件產(chǎn)生的固有漂移誤差,單一的導(dǎo)航設(shè)備無法滿足AUV長期高精度導(dǎo)航的需求,需要采用組合導(dǎo)航系統(tǒng)。AUV在遠距離端一般采用水聲引導(dǎo)的方法,或者采用慣性導(dǎo)航系統(tǒng)和多普勒速度計程儀組合導(dǎo)航的方法接近目標物,AUV對遠距離端導(dǎo)航精度要求并不高,而近距離端導(dǎo)航定位才是AUV進行水下目標探測的關(guān)鍵[2]。目前,用于水下測量的傳感器有:慣性導(dǎo)航傳感器、聲吶傳感器和視覺傳感器等。其中,慣性導(dǎo)航傳感器測出的是水下機器人的相對位置,由于累計誤差的產(chǎn)生,其精度會隨著時間的推移而下降,一般應(yīng)用于水下的遠距離端導(dǎo)航;聲吶傳感器分為長基線、短基線和超短基線等類型,但其測量精度較差,不適用于復(fù)雜的水下環(huán)境。視覺傳感器是近幾年興起的傳感器,其成本低,體積小、運動方式靈活,適用于局部的精確定位,是近幾年來各國的重點研究方向。AUV的水下視覺引導(dǎo)一般是通過攝像機來獲取目標物信息,從而進行目標物識別與測距定位[3]。
圖1 卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)格圖Fig.1 Convolution neural network grid
水下目標自動識別是目前水下識別技術(shù)的主要研究領(lǐng)域,如何對圖像進行特征提取是目標識別的重點研究內(nèi)容。基于深度學習的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)廣泛應(yīng)用于物體檢測、動作識別、圖像分類識別等領(lǐng)域,能有效提取特征,性能遠遠優(yōu)于傳統(tǒng)方法[4]?;诰矸e神經(jīng)網(wǎng)絡(luò)的視覺導(dǎo)航系統(tǒng)能夠使AUV對目標觀測物進行自主識別,大幅提升AUV的圖像特征提取和圖像識別能力,實現(xiàn)近距離對目標物的精準定位[5-6]。
本文采用卷積神經(jīng)網(wǎng)絡(luò)對矩形木框和三角形木框進行分類,數(shù)據(jù)集來自水下對三角形木框和矩形木框的圖像采集,采用1 340個大小為1 0 0×100的RGB圖像,在此基礎(chǔ)上設(shè)計卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)格圖如圖1所示。
本文設(shè)計的卷積神經(jīng)網(wǎng)絡(luò)共有9層,有關(guān)矩形木框和三角形木框識別的詳細過程如下:
1)輸入層
利用雙線性插值算法對原始輸入圖像進行縮放處理,把圖像大小縮放為1 0 0×100。
2)Conv1-Relu1層
Conv1-Relu1層是一個特征提取層,利用32個5×5的卷積核對原始圖像進行卷積計算,提取特征,并獲得32個1 0 0×100特征圖。在第一層卷積層,本文采用32個 5 ×5大小的卷積核對輸入層大小為100×100的圖像分別進行卷積計算,提取特征,卷積核步長設(shè)置為1,采用圖像邊緣自動補零的方法對輸入圖像進行卷積計算,最終得到32個大小為1 00×100的特征圖。本文擬采用ReLU激活函數(shù)對卷積結(jié)果進行激活,計算公式如下式:
式中:X為輸入圖像,Y1為Conv1-Relu1層輸出特征圖, ω 為卷積核,b1為偏置項,制造噪聲,增強魯棒性,最終得到Conv1-Relu1層特征圖。
3)Max-pooling層
該層是子采樣層,對Conv1-Relu1層得到的32個100×100特征圖進行二次特征提取。本文采用32個2×2大小的卷積核分別對Conv1-Relu1層得到的32個100×100特征圖進行卷積計算。卷積核移動步長為2,采用圖像邊緣不自動補零的方法,最終得到32個50×50大小的特征子圖,如式(2)所示,即采用2倍速對特征圖進行縮放??s小的速度過快會使得得到的特征圖過于粗糙,縮小的速度過慢會使得計算量過大。為了得到更多圖像細節(jié)[7],一般縮放因子設(shè)為2。為了能夠有效控制特征圖的縮放速度,之后的子采樣過程的縮放因子也都設(shè)為2。
4)Conv2-Relu2層
為了更好地提取出圖像的局部特征,擴展神經(jīng)元的感受野,本文對Max-pooling層得到的特征子圖像進行二次卷積操作,本層采用64個 5 ×5大小的卷積核,移動步長為1,圖像邊緣自動補零,遍歷整個特征子圖,最終得到64個 5 0×50大小的特征圖。通過前兩層操作后,神經(jīng)元的感受野較原始輸入圖像擴展為10×10,經(jīng)過本層操作后,每一個神經(jīng)元的感受野又增加5倍,擴展為 5 0×50,同時特征圖個數(shù)也增加了一倍,增加至64個。
5)Max-pooling層
該層同樣是子采樣層,對Conv2-Relu2層得到的64個 5 0×50特征圖進行二次特征提取。為了控制圖像的縮放速度,同樣采用64個 2 ×2大小的卷積核,卷積核移動步長為2,采用圖像邊緣不自動補零的方法,遍歷Conv2-Relu2層得到的64個 5 0×50特征圖進行卷積計算,最終得到64個 2 5×25大小的特征子圖。
6)Conv3-Relu3層
為了增加CNN的深度,提高分類的準確性,本文繼續(xù)采用128個 3 ×3大小的卷積核遍歷上一層得到的特征圖。卷積核的移動步長同樣設(shè)為1,采用邊緣自動補零的方式對上一層得到的特征圖進行進一步卷積操作,得到128個大小為 2 5×25的特征圖,增加了卷積神經(jīng)網(wǎng)絡(luò)的深度。
7)全連接層和輸出層
經(jīng)過6層卷積池化操作后,得到128個大小為12×12的特征圖,全連接層將上一層所得的特征圖像組合成列向量,最后通過softmax函數(shù)對圖像進行二分類[8]。
本文所使用的圖像數(shù)據(jù)集是來自水下對矩形木框和三角形木框不同角度的拍攝圖片,數(shù)據(jù)集包含有1 340張圖片。實驗通過TensorFlow軟件完成,Linux操作系統(tǒng),Intel i7-4 710 CPU,主頻3.00 GHz,8 G內(nèi)存,顯卡GTX860。
通過上述設(shè)計的卷積神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練和測試,可以得到訓(xùn)練損失隨著訓(xùn)練迭代次數(shù)的增多而降低,測試準確率也隨之提高。當訓(xùn)練迭代的次數(shù)達到一定時,測試的準確率和損失相對處于一個平穩(wěn)的狀態(tài)。
由圖2訓(xùn)練損失值圖和準確率圖可得,經(jīng)過100次迭代訓(xùn)練后,卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練損失值下降為10,訓(xùn)練準確率達到90%,變化較緩慢,且測試集精確度不高,卷積神經(jīng)網(wǎng)絡(luò)的泛化能力弱。為了將分布式特征圖映射到樣本標記空間,減少特征位置對分類帶來的影響,本文采用了3層全連接層,并增加一層卷積層和池化層,增加訓(xùn)練深度,卷積神經(jīng)網(wǎng)絡(luò)如圖3所示。
圖2 訓(xùn)練結(jié)果圖Fig.2 Training results
采用三段式全連接方式,對卷積神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,如圖3所示。在FC1層中,輸入的神經(jīng)元數(shù)量為6*6*128=4 608個,設(shè)置輸出的神經(jīng)元數(shù)量為1 024個,對權(quán)重進行dropout函數(shù)操作和L2正則化,降低過擬合現(xiàn)象,采用ReLU激活函數(shù)進行激活,在FC2層中,同樣對權(quán)重進行dropout正則化,將神經(jīng)元縮減為512個,在FC3層中,采用softmax函數(shù)對輸入進行二分類。
訓(xùn)練準確率如圖4所示。比較兩圖可以得到,在本次試驗中,經(jīng)過90次訓(xùn)練迭代后,網(wǎng)絡(luò)基本收斂,網(wǎng)絡(luò)迭代了100次,卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)優(yōu)化后的測試損失值為5.8%,準確率達到99.18%。
同時對比2次測試集精確度,如圖5所示。加入3層全連接后,對權(quán)重參數(shù)進行dropout正則化后,測試集精度提高,卷積神經(jīng)網(wǎng)絡(luò)的過擬合現(xiàn)象降低,泛化能力增強。
圖3 改進卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)格圖Fig.3 Improved convolution neural network grid
圖4 訓(xùn)練結(jié)果圖Fig.4 Training results
圖5 測試結(jié)果圖Fig.5 Test results
本文將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于AUV,利用卷積神經(jīng)網(wǎng)絡(luò)進行水下目標識別,建立一個9層的卷積神經(jīng)網(wǎng)絡(luò)對水下拍攝的木框和三角框進行訓(xùn)練分類,使用卷積神經(jīng)網(wǎng)絡(luò)提取水下目標特征,通過目標特征提取和池化,水下目標識別在經(jīng)過100次迭代訓(xùn)練后準確率達到90%。之后對上述神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進行優(yōu)化改進,將1層連接層化分為3層連接,采用三段式全連接方式,對卷積神經(jīng)網(wǎng)絡(luò)權(quán)重分別進行dropout正則化,并增加一層卷積層和池化層,訓(xùn)練經(jīng)過90次迭代后基本收斂,訓(xùn)練速度得到提高,在100次迭代訓(xùn)練后,水下目標識別的準確率達到99.18%,同時降低了的過擬合,提高了卷積神經(jīng)網(wǎng)絡(luò)的泛化能力。