葉萍
(福建船政交通職業(yè)學(xué)院,福建 350007)
關(guān)鍵字:船舶航行自動(dòng)化 卷積神經(jīng)網(wǎng)絡(luò) 船舶圖像 自動(dòng)識(shí)別
隨著計(jì)算機(jī)以及電氣控制技術(shù)的快速發(fā)展,在船舶電氣自動(dòng)化領(lǐng)域,航行自動(dòng)化、機(jī)艙自動(dòng)化等方面都取得了較為顯著的成果,其中船舶航行自動(dòng)化系統(tǒng)隨著計(jì)算機(jī)科學(xué)的成熟在船舶工作中有著廣泛的應(yīng)用[1]。船舶自動(dòng)識(shí)別是船舶航行自動(dòng)化系統(tǒng)一個(gè)重要的組成部分,提高船舶識(shí)別準(zhǔn)確度能夠大大提升船舶自動(dòng)化航行的安全性。目前一般的船舶自動(dòng)識(shí)別系統(tǒng)(AIS)[2]基于雷達(dá)以及信號(hào)傳輸存在一定的不穩(wěn)定性,有時(shí)AIS信息受氣候環(huán)境影響很難被收?qǐng)?bào)船接收到,特別是很難被雷達(dá)接收。信息中最重要的數(shù)據(jù)包括船籍、船位、航線、航速、航向及轉(zhuǎn)向速度等,在目前的雷達(dá)設(shè)備中,不能自動(dòng)、連續(xù)地傳送給船舶。而船舶圖像識(shí)別作為一種探測(cè)方法,能夠基于超高分辨率相機(jī)和圖形處理單元(GPU)精確地自動(dòng)識(shí)別周?chē)鷧^(qū)域的船只,特別是難以被雷達(dá)識(shí)別的小船,進(jìn)而阻止大型船只與較小的船只碰撞,有效規(guī)避人視野盲區(qū)障礙物。在可視條件較差的情況下,檢測(cè)AIS不能識(shí)別的小型船舶,大大提高船舶的避撞能力。
深度學(xué)習(xí)作為圖像識(shí)別技術(shù)的一個(gè)重要方法,自動(dòng)特征學(xué)習(xí)及分類(lèi)的能力使得其能夠快速準(zhǔn)確地在復(fù)雜場(chǎng)景下對(duì)物體進(jìn)行識(shí)別分類(lèi)。相比于傳統(tǒng)方法,卷積神經(jīng)網(wǎng)絡(luò)近年來(lái)在包括ImageNet等數(shù)據(jù)集上都取得了壓倒性的圖像識(shí)別優(yōu)勢(shì),并且其利用權(quán)值共享和局部視野域的方法,減少了參數(shù)的數(shù)量,提高了運(yùn)算速度。
權(quán)值共享:每個(gè)隱藏神經(jīng)元都具有同樣的偏置和一致的連接到局部感受野的權(quán)重。每個(gè)隱藏神經(jīng)元可以學(xué)習(xí)一種特定的特征映射,最后通過(guò)多層連接堆疊的方式,學(xué)習(xí)到整個(gè)圖片的特征。
對(duì)于l層的第j,k個(gè)隱藏神經(jīng)元,所得的輸出為:
其中,σ是某神經(jīng)元的激活函數(shù);b是偏置。w是共享權(quán)重的數(shù)組,a是激活值。
卷積神經(jīng)網(wǎng)絡(luò)能夠自動(dòng)地學(xué)習(xí)到合適的權(quán)重和偏置,所以網(wǎng)絡(luò)的輸出y x 能夠擬合所有的訓(xùn)練輸入x。為了量化輸入x與擬合輸出y(x)之間的差距,該算法引入了代價(jià)函數(shù)的概念:
其中,w表示網(wǎng)絡(luò)中所有的權(quán)重的矩陣,b是所有的偏置的矩陣,n是訓(xùn)練輸入數(shù)據(jù)的個(gè)數(shù),a表示輸入為x是輸出的激活值,求和則是在所有的輸入數(shù)據(jù)x上進(jìn)行的。網(wǎng)絡(luò)訓(xùn)練的過(guò)程其實(shí)就是找到代價(jià)函數(shù)最小時(shí)對(duì)應(yīng)的權(quán)重值。
直接計(jì)算代價(jià)函數(shù)的最小值得計(jì)算量十分巨大,1986年,Rumelhart[8]提出借助使用反向傳播算法,大大減少了最小化代價(jià)函數(shù)時(shí)的計(jì)算量,為加深網(wǎng)絡(luò)層數(shù)提供了可能性。
ReLU函數(shù):ReLU函數(shù)是神經(jīng)網(wǎng)絡(luò)中最常用的激活函數(shù)之一,通常與卷積層同時(shí)出現(xiàn),其公式為:
其中,當(dāng)輸入x<0時(shí),輸出為0;當(dāng)輸入x>0時(shí),輸出x。
混合層(pooling):混合層的作用是對(duì)卷積層的輸出信息進(jìn)行降采樣,減少參數(shù)個(gè)數(shù),避免過(guò)擬合。詳細(xì)地說(shuō),混合層將輸出的每個(gè)特征映射凝縮成一個(gè)新的特征映射,常見(jiàn)的混合層有最大值混合(max-pooling)和均值混合(average-pooling)。以max-pooling為例,則取該層一定區(qū)域內(nèi)的最大激活值作為新的特征值輸入到下一層。
2012年Krizhevsky提出深度卷積網(wǎng)絡(luò)AlexNet[3],在數(shù)據(jù)集ImageNet[4]上實(shí)現(xiàn)了圖像分類(lèi)任務(wù)并將錯(cuò)誤率降低到17.0%。在此基礎(chǔ)上,Zisserman提出了一種新的深度卷積網(wǎng)絡(luò)結(jié)構(gòu)VGGNet[5],該網(wǎng)絡(luò)采用更小的卷積核以及更深的網(wǎng)絡(luò)以增強(qiáng)網(wǎng)絡(luò)性能。在ImageNet數(shù)據(jù)集上將分類(lèi)錯(cuò)誤率降到了7.32%。同年,Szegedy[6]提出了一種帶有Inception層CNN結(jié)構(gòu)GoogleNet,增大了網(wǎng)絡(luò)的深度和寬度,在ImageNet數(shù)據(jù)集上測(cè)試的錯(cuò)誤率為6.67%。
綜上所述卷積網(wǎng)絡(luò)結(jié)構(gòu)既具備自動(dòng)特征學(xué)習(xí)能力,還具有強(qiáng)大的分類(lèi)能力。在此基礎(chǔ)之上,通過(guò)設(shè)計(jì)特定的網(wǎng)絡(luò)結(jié)構(gòu),卷積網(wǎng)絡(luò)在船舶圖像識(shí)別中具有廣闊的應(yīng)用場(chǎng)景。
生成對(duì)抗神經(jīng)網(wǎng)絡(luò)(GAN)[7]作為今年來(lái)廣泛應(yīng)用的深度學(xué)習(xí)方法,是一種無(wú)監(jiān)督式地圖像特征學(xué)習(xí)方法。相比于路上交通駕駛系統(tǒng),船舶的圖像難以系統(tǒng)性地獲取,加之海上的氣候多變,得到真實(shí)航行場(chǎng)景下的特定船舶圖像標(biāo)簽難度較大,成本較高。換言之,目前可獲取的數(shù)據(jù)集圖像質(zhì)量不一致且各個(gè)船只類(lèi)別不同,使用有監(jiān)督式學(xué)習(xí)方法難以得到較好地效果。而生成對(duì)抗神經(jīng)網(wǎng)絡(luò)不需要標(biāo)簽,能夠無(wú)監(jiān)督式系統(tǒng)性地學(xué)習(xí)各類(lèi)船舶圖像特征,較好地解決了數(shù)據(jù)集問(wèn)題。因此本系統(tǒng)基于生成對(duì)抗神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)相應(yīng)的船舶識(shí)別流程。
所謂生成對(duì)抗神經(jīng)網(wǎng)絡(luò),包含生成器和判別器。生成器生成偽數(shù)據(jù),旨在“騙過(guò)”判別器;判別器則需要盡力區(qū)分偽造圖像和真實(shí)圖像。二者進(jìn)行對(duì)抗學(xué)習(xí),學(xué)習(xí)訓(xùn)練如何生成與真實(shí)數(shù)據(jù)分布一致的生成數(shù)據(jù)。通過(guò)這種方式,生成對(duì)抗神經(jīng)網(wǎng)絡(luò)模型能夠在無(wú)監(jiān)督地條件下自動(dòng)學(xué)習(xí)各類(lèi)船舶圖像特征,進(jìn)而在輔助神經(jīng)網(wǎng)絡(luò)地幫助下實(shí)現(xiàn)船舶識(shí)別分類(lèi)。本系統(tǒng)使用基于信息最大化的生成對(duì)抗網(wǎng)絡(luò)(Info-GAN),定義了一個(gè)生成對(duì)抗網(wǎng)絡(luò),包含生成器G和判別器D和輔助網(wǎng)絡(luò)Q。將船舶場(chǎng)景圖像分為雜貨船,湖船,渡船,帆船,無(wú)船場(chǎng)景這五類(lèi)。定義隱變量c從一個(gè)固定的噪聲分布中采樣得出。隨機(jī)噪聲變量z和潛變量c的串聯(lián)構(gòu)成生成器的輸入,通過(guò)生成器G轉(zhuǎn)換成樣本G(z,c)。將c的維度對(duì)應(yīng)為上述五種場(chǎng)景圖像。因此c和G(z,c)之間需要有高度的互信息。為了最大化互信息I(c;G(z,c)),模型的目標(biāo)函數(shù)為:
然而該模型的優(yōu)化問(wèn)題在于真實(shí)的P(c|x)無(wú)法得知,因此在整個(gè)優(yōu)化的過(guò)程中,該算法也引入了變分推斷的思想,使用變分分布Q(c|x)來(lái)逼近P(c|x),它是基于最優(yōu)互信息下界的輪流迭代以實(shí)現(xiàn)最終的求解,可以求得式(1)的下界。于是InfoGAN的目標(biāo)函數(shù)變?yōu)椋?/p>
在具體的實(shí)現(xiàn)中,本課題設(shè)計(jì)了輔助網(wǎng)絡(luò)Q,其與D共用了除輸出層之外的所有卷積層,在最后增設(shè)了一個(gè)全連接層來(lái)輸出Q(c|x)。對(duì)于c,如果是離散隱變量,可以使用softmax的非線性輸出來(lái)代表Q(c|x);如果是連續(xù)隱變量,可以使用高斯分布來(lái)表示。
本系統(tǒng)具體的網(wǎng)絡(luò)結(jié)構(gòu)如圖1:
圖1 網(wǎng)絡(luò)結(jié)構(gòu)
在網(wǎng)絡(luò)訓(xùn)練過(guò)程中,本系統(tǒng)隨機(jī)變量由高斯變量z和離散變量c組成。除了通過(guò)EM距離在生成器(G)和鑒別器(D)之間進(jìn)行極大極小值算法,本系統(tǒng)還將c和輔助網(wǎng)絡(luò)的輸出(Q(c|G(c,z))以最大限度地提高相互信息。
圖2
在網(wǎng)絡(luò)訓(xùn)練過(guò)程中,將船只高清攝像頭所捕獲的圖片作為輔助神經(jīng)網(wǎng)絡(luò)的輸入,就能夠得到特定的隱變量c,此時(shí)的隱變量就能指示圖片所屬船只的類(lèi)別。而生成器在給定對(duì)應(yīng)的隱變量情況下也能生成對(duì)應(yīng)類(lèi)別的船舶圖像。
綜上所述,通過(guò)生成器和判別器基于互信息最大化的對(duì)抗學(xué)習(xí),可以使得輔助神經(jīng)網(wǎng)絡(luò)無(wú)監(jiān)督式地學(xué)習(xí)到各類(lèi)船舶圖像的特征,準(zhǔn)確地識(shí)別不同類(lèi)別的船只以及無(wú)船場(chǎng)景。為本系統(tǒng)設(shè)計(jì)提供了核心算法。
本次實(shí)驗(yàn)使用的數(shù)據(jù)集包括10種不同類(lèi)別的船:雜貨船,湖船,渡船,帆船,游輪,消防船,漁船,機(jī)動(dòng)游艇,鉆機(jī)和潛艇。該數(shù)據(jù)集從Shipspotting.com網(wǎng)站獲取。實(shí)驗(yàn)使用了1000張圖像進(jìn)行對(duì)抗神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練,并使用200張圖像進(jìn)行了5種不同類(lèi)別的驗(yàn)證:雜貨船,湖船,渡船,帆船,無(wú)船場(chǎng)景。
對(duì)于每個(gè)分類(lèi)結(jié)果,定義正確地分割出像素個(gè)數(shù)為T(mén)P,被錯(cuò)誤地分割出的像素個(gè)數(shù)為FP和未被分割出的像素個(gè)數(shù)為FN。對(duì)于每個(gè)分割結(jié)果精確度,召回率和F分?jǐn)?shù)(F1)定義如下:
本次驗(yàn)證過(guò)程選取了兩類(lèi)對(duì)比實(shí)驗(yàn):
1)傳統(tǒng)特征提取方法與支持向量機(jī)搭配:特征提取方法為:利用[9]的方法,將尺度不變方向變化,方向梯度直方圖以及LAB顏色直方圖的提取的特征結(jié)合為188維的特征向量作為輸入,使用支持向量機(jī)(SVM)進(jìn)行分類(lèi)。(CTM+SVM)
2)使用在Imagenet-1K上預(yù)訓(xùn)練好的Resnet-100直接以船舶圖像作為輸入,在提取特征之后即可在輸出端調(diào)整輸出類(lèi)別數(shù)以達(dá)到船舶分類(lèi)的目的。(Resnet-100)
將圖像作為輔助網(wǎng)絡(luò)的輸入,可以得到具體的隱變量數(shù)值,根據(jù)所得的數(shù)值對(duì)圖片進(jìn)行分類(lèi),得到船只識(shí)別結(jié)果,圖3為部分分類(lèi)效果。
圖3
由圖3可見(jiàn),A為雜貨船,B為湖船,C為渡船,D為帆船,E為無(wú)船場(chǎng)景。各類(lèi)圖片都能較好地被分配到所屬類(lèi)別,聚類(lèi)中心明顯,本算法能夠在較高的精確度上完成場(chǎng)景圖片的識(shí)別分類(lèi)。
基于上述三種方法,本次實(shí)驗(yàn)對(duì)每個(gè)方法進(jìn)行了4次重復(fù)實(shí)驗(yàn),對(duì)4組實(shí)驗(yàn)取平均值,所得到的數(shù)據(jù)結(jié)果如表1。
表1 對(duì)比實(shí)驗(yàn)結(jié)果
由表1可見(jiàn),生成對(duì)抗神經(jīng)網(wǎng)絡(luò)相較于傳統(tǒng)分類(lèi)算法,在識(shí)別船舶圖像過(guò)程中能夠取得大幅提升的分類(lèi)效果。對(duì)比較具代表性的深度殘差網(wǎng)絡(luò),不僅取得了分類(lèi)上準(zhǔn)確度的提升,且網(wǎng)絡(luò)結(jié)構(gòu)更加簡(jiǎn)單,所需計(jì)算資源與訓(xùn)練時(shí)間更少,更易落地應(yīng)用于船舶電氣自動(dòng)化嵌入式系統(tǒng)。
本論文提出了一種基于生成對(duì)抗神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別算法。經(jīng)過(guò)數(shù)學(xué)推導(dǎo),船舶類(lèi)別分析,隱變量設(shè)計(jì)使用,網(wǎng)絡(luò)模型設(shè)計(jì),本論文將該算法應(yīng)用于船舶自動(dòng)識(shí)別系統(tǒng)。通過(guò)對(duì)比實(shí)驗(yàn)論證,本論文所提出的算法較其他算法取得了更高的分類(lèi)準(zhǔn)確度,并且在有標(biāo)簽數(shù)據(jù)集較少的情況下能夠進(jìn)行無(wú)監(jiān)督地特征學(xué)習(xí),由此可見(jiàn)基于本生成對(duì)抗神經(jīng)網(wǎng)絡(luò)的船舶自動(dòng)識(shí)別系統(tǒng)在船舶航行自動(dòng)化以及船舶電氣自動(dòng)化領(lǐng)域具有一定的應(yīng)用價(jià)值。