閆 河,王 鵬,董鶯艷,羅 成,李 煥
(1.重慶理工大學計算機科學與工程學院,重慶 400054;2.重慶理工大學兩江人工智能學院,重慶 401147)
隨著深度學習的發展,卷積神經網絡成為學者研究的熱點,特別是在語音識別、圖像識別等領域。
2015年,護衛艦、驅逐艦、客船、集裝箱船和油輪的紅外圖像被研究者用BP人工神經網絡實現了船舶的分類識別[1];2016年,KatieRainey設計了卷積神經網絡(convolutional neural networks,CNN)用于衛星照片分類,取得了較好的分類效果[2]。紅外圖像可以很好地表現物體的輪廓特征,但是要想獲取更豐富的視覺信息,紅外圖像不能滿足要求,數字圖像在這方面表現出優勢。卷積神經網絡被用于模擬人的神經網絡工作原理,通過局部感受域、權值共享近似模擬神經元的信息傳遞過程,以此減少訓練參數,讓這一技術在計算機上得以實現。卷積神經網絡在提取特征時與傳統的識別算法相比,避免了復雜的預處理,且特征更具有可識別性。最基本的特征被卷積網絡從最初的邊緣和輪廓逐步向語義更加豐富的特征聚集,卷積神經網絡提取特征時具有平移、縮放和旋轉不變性[3]等優點。但網絡結構中最后一層可看作一個線性分類器,且存在局限性。2016年,趙靚等利用卷積神經網絡結合HOG和HSV特征構造船舶圖像特征,通過用支持向量機對集裝箱船、客船、漁船、軍艦和帆船進行分類[4]。支持向量機(SVM)是最廣泛的分類器之一,但隨著分類器的進一步發展,黃廣斌教授于2004年提出單隱層前向神經網絡(SLFNs)的ELM算法,并于2006年對ELM作了進一步的研究,給出了相關理論證明和應用[5,6]。Rong H.J.等提出了 P-ELM[7],根據ELM算法的分類問題,利用統計學原理,對網絡分類效果影響較弱的隱層進行裁剪,并優化網絡結構。且學者將極限學習機應用到了很多領域,取得了較好的效果。何淑琳[8]提出了極限學習機應用于語音情感識別,張建明等[9]提出了極限學習機應用于人臉識別,文武等[10]提出了極限學習應用于車牌識別。與其他分類器相比,極限學習初始權值隨機產生,只需確定隱含層到輸出層的神經元個數,最后用于分類的權值參數通過廣義逆矩陣求得,且極限學習具有訓練速度快、分類準確率高等優點。本文基于卷積神經網絡在提取特征過程中表現出的優點和極限學習機在訓練速度和分類識別精度上表現出的優點,提出了一種將兩者相結合的算法并將其應用于船舶識別。
運用卷積神經網絡完成對特征的有效提取,并運用極限學習機對圖片進行分類。在特征提取中網絡層的選擇、下采樣函數的選取、網絡層數的設計等都直接影響著特征提取的準確程度,并直接影響著最后的結果。深度卷積神經網絡是基于AlexNet建立的模型,此網絡共8層網絡結構,并對本文實驗所用到的數據集進行訓練。在這個網絡結構中共有5個卷積層,3個全連接層,選擇哪一層作為極限學習機輸入可以得到更好的分類效果。KRIZHEVSKY A等[11]的研究實驗表明:前5個卷積層包含有限的特征映射,末端全連接層的特征映射是通過卷積層的基本特征自下而上逐漸激活,包含更加豐富的語義信息。第6層特征無論在對象分類,還是識別、細粒度對象分類方面,明顯優于其他層次提取的特征。因此,本文為了獲得更好的分類效果采用卷積神經網絡,將第6層特征應用到極限學習機的輸入中。在訓練階段,用Alexnet模型對艦船圖像數據集進行監督訓練。訓練結束后,提取網絡的第6層網絡特征應用于極限學習機的訓練。測試階段,測試圖片運用與訓練圖片中相同的方法對圖片做一系列的處理,將所得的圖像特征作為輸入,訓練極限學習機作為分類器,其輸出標簽即為船舶圖像的預測。
本文對彩色船舶圖像數據的訓練進行了研究。主要采用了AlexNet模型,在訓練好模型的基礎上,對該模型進行訓練,使用船舶圖像庫的訓練集,通過運用準確率的變化來判斷訓練的好壞程度。在開始訓練之前,模型的每一層權值都基于高斯分布進行初始化。2個階段用于卷積神經網絡的訓練:
1)正向傳播階段:從圖像庫訓練樣本集中提取樣本(x,y),將 x輸入網絡結構中,通過卷積提取不同的圖像特征,如輪廓和紋理特征。與傳統的識別算法相比,有效地避免了復雜的特征提取過程。最后,使用Softmax圖層的輸出y′,其元素分別表示x被分成一個給定類別的概率。
2)反向傳播階段:比較 y′與給定標簽向量的誤差,用最小化均方誤差代價函數調整權重和參數,其他層的權重和參數通過從輸出層向輸入層的誤差逐層逆推得到。通過訓練得到網絡層的權重和參數,并把此參數應用于該網絡結構。設置網絡的訓練參數,批量設置為150,學習率設置為0.001,迭代次數設置為500。
極限學習機最初是為解決單隱層前饋神經網絡(single-hidden layer feed-forward neural networks,SLFNs)而提出的,網絡結構如圖1所示。假設有N個任意的不同樣本(xi,ti),i=1,2,…,N,其中xi=[xi1,xi2,…,xin]∈Rn,ti=[ti1,ti2,…,tim]∈Rm,則極限學習機的目標函數為

式中:H為神經網絡隱層的輸出矩陣;T為期望輸出[12]。

式(2)和式(3)中:W∈RL×n為輸入層到隱含層的權值;b∈RL為隱含偏置量;g(·)為激活函數。基本思想是:隨機產生W和b,然后據此計算H和β,β的確定有很多種方法,其中一種簡單的方法由式(4)求得[12]。

卷積神經網絡Alexnet網絡結構分為卷積層、下采樣層和全連接層,此網絡用分類器是線性分類器,由于卷積網絡通過梯度下降的方法,所以卷積神經網絡可以通過數據訓練得到最好的分類特征[13-15],但線性分類器作為網絡的分類器,還有待改進和選用更優的分類器用于分類。
極限學習機的權重隨機產生,只需確定隱含層神經元的個數,其他再無復雜的需要確定的參數,最后結果通過求廣義逆的方法求得隱含層到輸出層的權值,而輸出結果與期望結果誤差最小。由于極限學習機的權值不是通過迭代所得,通過直接計算即可得到結果,故表現出訓練速度快、訓練精度高的優點。但是極限學習機也有局限,對特征提取的精度要求較高。

圖1 極限學習機的網絡結構
本文的神經網絡選用AlexNet網絡結構,并將AlexNet卷積神經網絡和極限學習機相結合,能克服神經網絡在分類識別準確率低的缺點,并且可滿足極限學習機對于特征提取的高要求,兩者相結合的模型訓練步驟如下:
1)特征提取,實驗所用卷積神經網絡共8層,其中由輸入層、卷積層、全連接層,較低卷積層提取角、邊、曲線等特征,較高卷積層通過前一層的輸出激活復雜的特征,如此累積,以檢測越來越復雜的特征。圖2表示第4層和第5層卷積特征提取的語義狀態,由圖看出:第5層比第4層卷積效果更清晰,且能看出船舶的大概輪廓,卷積層數越多,特征提取的語義越明顯,通過訓練樣本獲取卷積網絡的各層參數。
2)分類器的訓練部分是提取AlexNet深度卷積神經網絡的特征,通過卷積層的逐層提取,將最后全連接的第1層作為極限學習機的輸入,然后通過公式(4)計算得到極限學習機中隱含層到輸出層的網絡參數,并完成整個網絡的訓練過程。

圖2 卷積圖層激活狀態顯示
通過測試樣本測試訓練好的網絡,圖3表示5類不同的數據樣本,分別有帆船、軍艦、貨船、漁船、客船。用測試圖片通過訓練好的網絡測試網絡的準確度,本文所用圖片均為彩色圖片。

圖3 船舶類別
具體過程為:通過網絡Alexnet的訓練得到所需要的參數,將Alexnet卷積神經網絡提取的全連接第一層的特征作為極限學習機的輸入特征,并讓極限學習機通過公式(4)計算得到參數,然后形成完整的網絡結構。圖4為本文的船舶識別系統框架圖。

圖4 船舶識別系統框圖
本文運用Fleetmoom的船舶庫作為數據庫,通過人工標注5類船舶的圖片以保證實驗的準確性。其中訓練樣本共10 000張,訓練樣本分取5 000~9 000中間間隔為1 000張的船舶圖片,剩余圖像作為測試樣本,且每類圖像分辨率均在224×224像素。
實驗全部在Tensorflow環境下完成,在Windows10操作系統,Intel Core i7-4300U CPU,主頻2.50 GHU,內存 8 G,Nvidia Gtx1080GPU,64 G內存的硬件平臺上進行試驗。
Fleetmoom船舶圖像庫提供船舶的圖像數據,它是船舶識別中常用的數據庫,選用數據庫中實驗所需的5類數據,共50 000幅圖像,每類船舶10 000幅圖像,照片為224×224像素的彩色圖像。拍攝的照片具有平移變化、光照變化等復雜背景,且能反映船舶圖片在復雜場景下的變化和差異。通過把船舶庫分為訓練樣本和測試樣本,船舶庫按照此數據庫中隨機選取每類船舶圖片5 000~9 000幅圖片,并通過間隔1 000張作為5種不同訓練數量的訓練樣本,剩余的圖片作為測試圖片。Alexnet網絡基于8層網絡結構,網絡有5個卷積層、3個全連接層。由于圖像的分辨率大小不一致,需要對圖像進行預處理,把圖片處理成為224×224大小的圖片,每層網絡結構的具體參數為:輸入層圖像大小為224×224×3,通過11×11卷積核,滑動步長為4像素,輸出96個特征圖并池化;第1層使用5×5卷積核,卷積生成256個特征圖,并池化;第2層采用5×5卷積核,卷積產生256個特征圖;第3層和第4層采用3×3卷積內核,輸出384個特征子圖通過下采樣層獲得384塊98×98特征圖片;第5層采用3×3卷積內核,輸出256個特征圖,并池化;第6層是第1個全連接層,通過對比第7層、第8層的全連接層作為特征提取層,如表1所示。

表1 不同全連接層的對比試驗
由表1可得,用后2層提取特征對準確率影響較小,且準確率有波動,同時用時較長。綜合考慮時效性和準確率的因素,本文將第5層所得到的特征子圖全連接到第6層。并通過第一個全連接層作為特征提取層,作為極限學習的輸入特征,本文分別對極限學習機、Alexnet、Alexnet+svm[16]及本文方法做了對比實驗來驗證本文提高識別率的優勢。可以從表2中看出本文的方法隨著訓練樣本的增多,識別率明顯高于其他3種方法。

表2 不同方法的對比試驗
有待改進之處:
1)在圖像庫的建立中,為了使研究更具實用性和針對性的圖片數據庫,需要進行多種類型的實驗,同時建立更加復雜背景下的艦船圖像庫。
2)在圖像特征提取方面,更好的局部特征提取有待進一步研究,并可以和卷積神經網絡提取的特征進行融合,提高圖像識別的準確性。
首次提出了一種基于Alexnet卷積神經網絡和極限學習機融合的船舶識別方法。通過構建8層卷積神經網絡對船舶圖像進行訓練,利用Alexnet卷積神經網絡提取船舶圖像的特征,并利用極限學習機對船舶進行分類,使得當前船舶分類識別率較低的問題得到了較好的解決,在船舶識別中達到了94%的準確率。但卷積神經網絡需要通過大量的訓練達到最佳的穩定識別狀態,此訓練是一個非常耗時且需要不斷調整和更新訓練參數的過程,同時對于硬件設備也提出了嚴格的要求。而近年來隨著科技的發展,已經有專業的圖像處理芯片,相信不久后這一問題可以得到充分的解決。通過本文研究的船舶分類識別方法可用于港口對不同種類船舶流量的統計,提高港航局監督和管理的效率。