趙 亮,王曉峰,袁逸濤(上海海事大學 信息工程學院,上海 201306)
基于深度卷積神經網絡的船舶識別方法研究
趙亮,王曉峰,袁逸濤
(上海海事大學 信息工程學院,上海 201306)
為解決目前船舶識別率較低的問題,基于深度卷積神經網絡算法,提出一種在深度卷積神經網絡基礎上的改進算法。利用卷積神經網絡對船舶圖片進行深度特征提取,結合 HOG 算法得到準確的邊緣特征,結合HSV算法得到顏色特征,通過 SVM 分類器對船舶進行分類。算法主要包括 2 個階段:訓練階段實現卷積神經網絡的預訓練,將得到特征歸一化,PCA 降維,通過 HOG 算法得到邊緣特征,最后訓練 SVM 分類器;測試階段則對算法的準確性進行核實。實驗結果表明,該方法平均識別正確率達到 93.6%,可以很好地實現船舶識別。
深度卷積神經網絡;船舶識別;邊緣梯度方向直方圖;支持向量機
隨著社會經濟的發展,海上交通日益繁忙,發生事故在所難免,能否對船舶進行有效的識別對經濟發展有很大的作用。不僅如此,船舶識別技術為準確跟蹤艦船目標、實現精確制導也有軍事戰略上的意義[1]。
近年來,船舶識別技術發展至今,還未達到普及的地步,較為常見的船舶識別技術包括預處理 + 特征提取 + 分類器,這類方法的主要缺陷是需要用到復雜的圖像處理算法,且實驗結果不太理想。除此之外,BP 神經網絡也很好地應用在船舶識別上,然而目前最新數據表明,識別精度只能達到 84% 左右[2],提高船舶識別精度迫在眉睫。
目前,深度學習技術發展很快,深度學習通過組合低層特征形成更加抽象的高層表示屬性類別或特征[3]。卷積神經網絡(Convolutional Neural Networks,CNN)是深度學習中的一種方法,已成功應用在手寫字符識別、人臉識別及行人檢測等識別任務中,實驗結果表明 CNN 模型可以有效 提取特征[4]。
本文基于深度卷積神經網絡提取特征的優良特性,結合 HOG 算法得到準確的邊緣特征,通過 SVM分類器對船舶進行分類。與傳統的船舶識別方法相比有以下優勢:
1)無需復雜預處理,不需人為設置卷積核,降采樣降低了計算復雜度。
2)對位移、縮放和其他形式扭曲的不變性[5];
3)提取船舶特征的同時,對這些圖片的邊緣特征進行加強,得到表現原始圖像最佳的特征;
4)采用 SVM 分類器,分類效果更好,降低了計算的復雜度,提高了魯棒性。
特征提取是圖像識別的一個關鍵,特征提取直接影響到識別結果的準確性。良好的特征應該具備以下幾個特點:
1)可區分性,對于不同類別的船舶,特征應具有明顯的差異;
2)不變性,對于同一類的船舶,特征應該比較接近,不會發生明顯變化;
3)可拓展性,選取的特征之間不相關,可以進行聯合;
4)魯棒性,具有旋轉不變性、尺度不變性等優良特性[6]。
1.1HSV 特征提取
顏色特征是圖像最直觀的特征之一,相對其它特征來說計算簡單,提取更為容易。相較 RGB 顏色空間,HSV 空間更能與人眼的視覺特征相匹配,(H 表示色調,指光的顏色;S 表示飽和度,指顏色的深淺或濃淡程度,V 表示亮度,指人眼感受到光的明暗程度)。本文采取了視覺彩色模型中 HSV 模型進行特征提取。
RGB 空間可以很容易轉換到 HSV 空間,本文采用較方便的等間隔量化方法,H 等間隔劃分為 16 塊,S等間隔劃分為 4 塊,V 等間隔劃分為 4 塊,最后得到一個 256 維的 HSV 特征向量。
1.2深度卷積神經網絡特征提取
圖 1 給出了本文使用的卷積網絡結構,卷積神經網絡特征提取需要經歷逐層構建網絡、訓練網絡和特征提取 3 個階段。

圖 1 卷積神經網絡結構圖Fig. 1 Convolutional neural network structure
卷積層計算形式:

降采樣層計算形式:

卷積神經網絡的訓練包括以下 2 個階段:
1)正向傳播階段。將訓練樣本通過卷積神經網絡得到實際輸出。
2)后向傳播階段。計算實際輸出與相應的理想輸出的差,按極小化誤差的方法反向傳播調整權矩陣。
卷積的過程就是特征提取的過程,大量實驗已經證實卷積神經網絡可以很好提取圖像的紋理特征,然而傳統的卷積神經網絡只使用了最后的輸出層得到的特征,而卷積過程中產生的特征圖片也可以很好地對原始圖片進行表現。本文將這部分的特征也合理利用起來,使特征更具表現力,具體實現如圖 2 所示。卷積神經網絡訓練階段結束后,將卷積過程中得到的特征圖片通過特征提取得到特征向量,然后通過 SVM 分類器得到分類結果。
1.3邊緣梯度方向直方圖特征提取
邊緣梯度方向直方圖特征主要對圖像的邊緣梯度方向以及大小等的性質進行統計,正是這種統計方式提高了圖片的平移、尺度和旋轉不變性,圖像的形狀能夠被梯度或邊緣的方向密度分布很好的描述,不同類別的船舶邊緣特征差別也很大,于是采用邊緣梯度方向直方圖可以很好的提取出船舶的邊緣特征,圖 2中的特征提取方法本文就采用邊緣梯度方向直方圖來實現。

圖 2 卷積神經網絡特征提取圖Fig. 2 Convolutional neural network feature extraction
邊緣梯度方向直方圖特征提取步驟如下:
1)歸一化。為了減少光照、局部陰影的影響,對整個圖像進行歸一化,本文采用 gamma 壓縮方法,具體公式:

2)計算圖像梯度。計算圖像橫坐標和縱坐標方向的梯度,求導操作不僅能夠捕獲圖像的輪廓等紋理特征,還可以弱化光照影響,具體公式圖像中像素點(x,y)的梯度為:

使用 [-1,0,1] 梯度算子對原圖像做卷積運算,得到 x 方向的梯度分量,然后用 [-1,0,1]T梯度算子對原圖像做卷積運算,得到 y 方向的梯度分量,最后可得像素點處梯度幅值和梯度方向為:

3)為每個細胞單元構建梯度方向直方圖。細胞是最小統計單元,例如:每個細胞為 8×8 個像素,采用9 個直方圖來統計這 8×8 個像素的梯度信息,也就是將細胞的梯度方向 360° 分成 18 個方向塊,如圖 3 所示,即 [0,20] 度數范圍統計為一個方向塊。

圖 3 梯度直方圖方向塊Fig. 3 Gradient histogram directional block
4)細胞單元組合成大的塊,塊內歸一化梯度直方圖。將各個細胞單元組合成大的,連通的區域,一個塊由塊內細胞的特征向量串聯起來,組合成整幅圖像的特征,為了實現方便本文將塊的大小設為圖像大小,于是特征向量的大小 = 方向塊個數×細胞單元數,圖 4 給出了由船舶圖片提取邊緣特征直方圖。

圖 4 船舶圖片提取邊緣特征直方圖Fig. 4 Edge feature histogram of ship image extraction
2.1整體框架
本文設計的船舶識別系統如圖 5 所示。

圖 5 船舶識別系統框圖Fig. 5 Block diagram of ship identification system
訓練階段:首先,將訓練樣本通過卷積神經網絡得到預訓練的網絡結構,然后提取訓練樣本特征;其次,將得到的特征進行歸一化,PCA(Principal Component Analysid)降維;最后,結合得到的訓練特征和標簽,訓練 SVM(Support Vector Machine)分類器。
測試階段:測試樣本直接通過預訓練好的網絡,提取得到特征,然后進行歸一化,降維等操作,最后通過訓練階段得到的SVM分類器,輸出就是預測標簽。
2.2數據集和實驗環境
以 Fleetmoom 船舶圖像庫中的船舶圖像作為實驗中識別對象,為了實驗的準確和可靠,人工提取并標注了其中的集裝箱船、客船、漁船、帆船和軍艦圖像共 5 類作為訓練和測試樣本,其中訓練樣本共 500張,測試樣本共 310 張,且每類圖像分辨率均在200×200 像素以上,部分圖像樣本如表 1 所示。

表 1 實驗圖庫樣本部分實例Tab. 1 The samples of experimental images
實驗全部在 MatlabR2014a 環境下完成,Windows7操作系統,Intel Core i5-4300U CPU,主頻 2.50 GHU,內存 8 G,SVM 工具箱選擇林智仁教授開發的 LIBSVM,實驗中選用 RBF 核函數,其中 gamma 參數和懲罰系數由網格尋優所得。
2.3實驗結果及分析
使用深度卷積神經網絡提取特征前,數據集中所有彩色圖像統一變成 200×200 大小的灰度圖。為節省篇幅,給出部分卷積過程中的特征圖像如圖 6 所示。

圖 6 卷積神經網絡部分特征圖Fig. 6 Convolutional neural network part of the feature map
表 2 給出了不同特征的識別率,表 3 給出了實驗中使用的具體參數值,圖 7 給出了表 3 對應分類結果的 ROC 曲線。使用傳統卷積神經網絡進行實驗達到的準確率不到 85%。由表 2 可知,當單獨運用 ①②③ 中的某種特征時,深度卷積神經網絡提取特征,得到的準確率可達 90.00%;邊緣特征直方圖特征,得到的準確率可達 88.06%;HSV 顏色特征,得到的準確率只有61.94%;當綜合考慮 ①②③ 時,船舶平均識別率達93.55%。由于實驗所采用的圖片背景較為復雜,都是現實生活中實時拍攝,于是采用單一的 HSV 顏色特征來進行特征提取得到的分類效果并不是太好。由于不同類別的船舶,船型存在一定的差異,通過 HOG 很好地得到船舶的邊緣特征,就可以將不同的船舶分開。將以上 2 種特征提取方法與卷積神經網絡結合,得到了多層次,更有深度的船舶特征,進而更好地將船舶進行識別。

表 2 幾種特征的識別率比較Tab. 2 Comparison of recognition rates of several features

表 3 特征具體參數Tab. 3 Characteristic parameters
本文還有待改進的地方如下:
1)文中所用的 HSV 特征量化是等間隔量化,可以根據顏色空間特點,合理的改為非等間隔量化。
2)文中 SVM 分類器采用的是 RBF 核函數,可以通過使用更加優秀的核函數來達到更好的分類效果,如卡方核函數及直方圖相交核函數等。
3)文中 SVM 分類器使用的是網格尋優得到最優參數,可以嘗試其他較好的尋優算法得到使分類效果更好的最佳懲罰系數 C 及核函數參數 G,如粒子群尋優及遺傳算法尋優等。

圖 7 分類結果 ROC 曲線Fig. 7 Classification result ROC curve
本文通過構建 7 層卷積神經網絡對船舶圖像進行訓練,利用卷積神經網絡對船舶圖片進行深度特征提取,結合 HOG 算法得到準確的邊緣特征,結合 HSV算法得到顏色特征,通過 SVM 分類器對船舶進行分類,很好的解決了目前船舶識別率較低的問題。由于特征本身具有一定的局限性,不可能完全表現圖像的全部特征,本文將多種特征有效的結合,最終對船舶識別精度達到 93.55% 左右。當然文中還存在不足和可以改進的地方,核函數的選取,參數的設定都有待進一步的研究。本文提出的基于卷積神經網絡的船舶識別方法對民生、經濟,甚至在軍事上具有一定參考價值,為海上絲綢之路的發展保駕護航。
[1]陳練,蘇強,董亮,等. 國內外海洋調查船發展對比分析[J]. 艦船科學技術,2014,36(S1):2-7. CHEN Lian,SU Qiang,DONG Liang,et al. Comparative analysis of the development of research vessel at home and abroad[J]. Ship Science and Technology,2014,36(S1):2-7.
[2]梁錦雄,王刻奇. 基于 BP 神經網絡的船艦目標識別分類[J].艦船科學技術,2015,37(3):206-209. Liang Jin-xiong,Wang Ke-qi. Ship recognition based on BP network[J]. Ship Science and Technology,2015,37(3):206-209.
[3]冀中,劉青,聶林紅,等. 基于卷積神經網絡的紋理分類方法研究[J]. 計算機科學與探索,2016,10(3):389-397. JI Zhong,LIU Qing,NIE Lin-hong,et al. Texture classification with convolutional neural network[J]. Journal of Frontiers of Computer Science & Technology,2016,10(3):389-397.
[4]鄧柳. 基于深度卷積神經網絡的車型識別[D]. 成都:西南交通大學,2015. DENG Liu. Deep convolutional neural networks for vehicle classification[D]. Chengdu:Southwest Jiaotong University,2015.
[5]劉建偉,劉媛,羅雄麟. 深度學習研究進展[J]. 計算機應用研究,2014,31(7):1921-1930,1942. LIU Jian-wei,LIU Yuan,LUO Xiong-lin. Research and development on deep learning[J]. Application Research of Computers,2014,31(7):1921-1930,1942.
[6]安博文,李丹,龐然. 基于 SVM 分類器的集裝箱箱號識別法[J]. 上海海事大學學報,2011,32(1):25-29. AN Bo-wen,LI Dan,PANG Ran. Recognition method of container code based on SVM classifier[J]. Journal of Shanghai Maritime University,2011,32(1):25-29.
Research on ship recognition method based on deep convolutional neural network
ZHAO Liang,WANG Xiao-feng,YUAN Yi-tao
(Information Engineering College,Shanghai Maritime University,Shanghai 201306,China)
In order to solve the problem of low recognition rate of ships,a new algorithm based on the deep convolutional neural network is proposed.Using the convolutional neural network to extract the depth of the ship image,the HOG algorithm is used to get the accurate edge feature,combining the HSV algorithm to get the color characteristics,and the ship is classified by SVM classifier. The algorithm mainly consists of two stages:the training stage to achieve the pre training of convolutional neural network,will get the feature normalization,PCA dimension reduction,through the HOG algorithm to get edge features,and finally trained SVM classifier.In the test stage,the accuracy of the algorithm is verified. Experimental results show that the average recognition accuracy of the proposed method is 93.6%,which can be very good to achieve the recognition of the ship.
deep convolutional neural network;ship recognition;edge gradient direction histogram;support vector machine
TP391.4
A
1672 - 7619(2016)08 - 0119 - 05
10.3404/j.issn.1672 - 7619.2016.08.025
2016 - 02 - 19;
2016 - 04 - 12
國家海洋公益專項資助項目(201305026)
趙亮(1992 - ),男,碩士研究生,研究方向為深度學習與模式識別。