基于PCANet的海面船只檢測(cè)算法
以水面無(wú)人艇的視覺(jué)感知系統(tǒng)的研發(fā)為背景,使用級(jí)聯(lián)主成分分析網(wǎng)絡(luò)的深度學(xué)習(xí)框架,進(jìn)行了海面船只檢測(cè)算法研究.輸入海面船只的可見光圖像,通過(guò)顯著性檢測(cè)確定疑似目標(biāo)區(qū)域,對(duì)檢測(cè)出的疑似目標(biāo)區(qū)域使用PCANet模型進(jìn)行特征提取,將結(jié)果輸入支持向量機(jī)中,得到最終二分類結(jié)果.實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)的算法可以成功地輸出海面船只檢測(cè)結(jié)果,并通過(guò)與CNN算法的對(duì)比,驗(yàn)證了PCANet方法的高效性和準(zhǔn)確性,證明了PCANet在特征提取方面的優(yōu)越性.
船只檢測(cè);深度學(xué)習(xí);級(jí)聯(lián)主成分分析;顯著性檢測(cè);支持向量機(jī)
作為人工智能領(lǐng)域新興的無(wú)人控制系統(tǒng),水面無(wú)人艇以迅速的勢(shì)頭在各行業(yè)內(nèi)發(fā)揮著重要的作用,尤其受到了各國(guó)海軍高技術(shù)系統(tǒng)研發(fā)部門的關(guān)注.其中自動(dòng)目標(biāo)檢測(cè)識(shí)別技術(shù)是保證水面無(wú)人艇自主運(yùn)行的核心功能模塊,為此,本文進(jìn)行了海面船只檢測(cè)識(shí)別算法方面的相關(guān)研究.
海面船只檢測(cè)算法的難點(diǎn)是需要具有非常高的工程實(shí)用性.在復(fù)雜的動(dòng)態(tài)背景下,既要快速高效地檢測(cè)海面目標(biāo),又要用盡量少的場(chǎng)景先驗(yàn),以保證最大的利用率[1].同時(shí),還要求在保持系統(tǒng)檢測(cè)率和檢測(cè)精度的基礎(chǔ)上,盡量提高目標(biāo)的檢測(cè)距離,提高系統(tǒng)預(yù)警能力.現(xiàn)階段海面船只檢測(cè)主要有背景建?;虮尘肮烙?jì)[2]、特征提取與學(xué)習(xí)分類[3]、圖像分割[4]、顯著性檢測(cè)[5]、顏色空間變換或顏色特征提取[6]等方法.本文在分析上述方法優(yōu)缺點(diǎn)基礎(chǔ)上,采用“特征提取+分類器設(shè)計(jì)+搜索策略”與顯著性檢測(cè)算法相結(jié)合的思路進(jìn)行海面船只檢測(cè).
在特征提取與分類器設(shè)計(jì)的過(guò)程中,需要采用深度學(xué)習(xí)模型,對(duì)不同場(chǎng)景和數(shù)據(jù)集進(jìn)行訓(xùn)練和分類.深度學(xué)習(xí)的本質(zhì)是通過(guò)構(gòu)建非線性的深層次網(wǎng)絡(luò)結(jié)構(gòu)來(lái)達(dá)到對(duì)較為復(fù)雜的函數(shù)逼近和目標(biāo)的分布式特征表示的目的[7].本文基于文獻(xiàn)[8]提出的主成分分析網(wǎng)絡(luò)(Principal Component Analysis,PCANet)結(jié)構(gòu),進(jìn)行海面船只檢測(cè)算法研究,從少量的樣本中學(xué)習(xí)到目標(biāo)的本質(zhì)特征,而且具有比較高的特征魯棒性.
本文的研究目標(biāo)是對(duì)輸入的海面圖像中的船只進(jìn)行目標(biāo)檢測(cè)和目標(biāo)識(shí)別,針對(duì)圖像中船只和背景的差異性來(lái)提出解決方案.使用一個(gè)簡(jiǎn)單的深度學(xué)習(xí)模型,使其在一些有差異的船只樣本和背景中進(jìn)行訓(xùn)練和分類,最終輸出對(duì)船只的識(shí)別結(jié)果.同時(shí)提供一個(gè)參考標(biāo)準(zhǔn),實(shí)現(xiàn)更為廣泛的目標(biāo)檢測(cè)和目標(biāo)識(shí)別.
海面船只檢測(cè)算法的流程框架如圖1所示.
圖1 海面船只檢測(cè)算法流程框架
在輸入一張海面船只圖片后,首先進(jìn)行顯著性檢測(cè)[9].顯著性檢測(cè)是基于人眼注意力機(jī)制的,模仿了人眼的生理視覺(jué),主要通過(guò)構(gòu)造區(qū)域復(fù)雜度特征、區(qū)域差異性特征、周圍差異性特征等方法來(lái)實(shí)現(xiàn)[10].
在得到顯著性檢測(cè)結(jié)果圖之后,設(shè)定結(jié)果圖的平均灰度的3倍為閾值,對(duì)結(jié)果圖進(jìn)行二值化,將大于此閾值的賦值為1,小于此閾值的賦值為0.其次,在之前得到的二值化圖像中,對(duì)每一個(gè)連通域求取最小外接矩形,作為目標(biāo)的可疑區(qū)域.
確定目標(biāo)疑似區(qū)域之后,對(duì)每個(gè)檢測(cè)出矩形區(qū)域使用PCANet模型進(jìn)行分類.將每一個(gè)矩形區(qū)域輸入PCANet,計(jì)算得到其對(duì)應(yīng)的特征向量,將該特征向量輸入到使用船只正負(fù)樣本訓(xùn)練得到的支持向量機(jī)(Support Vector Machine,SVM)中,得到最終的二分類結(jié)果.對(duì)于分類前所檢測(cè)到的各個(gè)不同目標(biāo),經(jīng)過(guò)PCANet模型識(shí)別,排除誤檢區(qū)域,最終實(shí)現(xiàn)海面船只的目標(biāo)檢測(cè)和識(shí)別.
PCANet是一個(gè)比較簡(jiǎn)單的深度學(xué)習(xí)網(wǎng)絡(luò),用于圖像分類.根據(jù)以往的研究,經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)存在的問(wèn)題是訓(xùn)練的時(shí)間比較長(zhǎng).在PCANet中,每個(gè)階段的卷積濾波器層的選擇是最基本的PCA濾波器;非線性處理層設(shè)置成最簡(jiǎn)單的二進(jìn)制哈希編碼;下采樣層中是分塊直方圖以及二進(jìn)制哈希編碼結(jié)合的方式.特征提取結(jié)果就是下采樣層最終的輸出[8].因此該體系結(jié)構(gòu)設(shè)計(jì)和學(xué)習(xí)極其容易而且有效.
圖2 PCANet第一層流程圖
PCANet的第一層流程如圖2所示.對(duì)于每個(gè)像素,使用滑動(dòng)窗口來(lái)提取局部特征,得到很多個(gè)采樣塊.對(duì)每個(gè)采樣塊進(jìn)行零均值化的過(guò)程就是一張圖片特征提取的過(guò)程.對(duì)所有圖片特征提取之后,得到一個(gè)樣本矩陣.然后對(duì)樣本矩陣做主成分分析,W就是PCA濾波器,通過(guò)濾波之后保留了主要信息.從第一層可以看出,PCA算法的訓(xùn)練準(zhǔn)確率非常高的原因是因?yàn)閷?duì)所有圖片的樣本矩陣求出了相應(yīng)的標(biāo)準(zhǔn)正交矩陣,所以可以將重構(gòu)誤差降到最低.
第二層的計(jì)算類似第一層,都是先對(duì)采樣塊零均值化,然后通過(guò)PCA濾波器取主成分并且進(jìn)行卷積運(yùn)算.O是二階PCA濾波的輸出的特征矩陣.這樣就能將簡(jiǎn)單結(jié)構(gòu)延伸為多層的深度網(wǎng)絡(luò)模型.
第三層首先是對(duì)每個(gè)輸出矩陣進(jìn)行二進(jìn)制的哈希編碼.其次,將所運(yùn)算出的十進(jìn)制圖片做一個(gè)直方塊到矩陣的變換.
通過(guò)三層運(yùn)算之后,由于每一張圖片都轉(zhuǎn)換成了相應(yīng)的列向量,因此可以將所有圖片排列成向量矩陣,輸入SVM進(jìn)行訓(xùn)練.SVM的輸出就是最終的二分類結(jié)果.
由于國(guó)際上沒(méi)有公開的關(guān)于真實(shí)海面場(chǎng)景可見光目標(biāo)檢測(cè)的數(shù)據(jù)集,為此,在網(wǎng)絡(luò)上搜集了287張各類船只的圖片作為正樣本,另外還截取了333張海面場(chǎng)景中的非船只部分圖像作為負(fù)樣本,利用PCANet算法學(xué)習(xí)船只特征,從而對(duì)顯著性檢測(cè)到的目標(biāo)是否是船只進(jìn)行判斷.算法如下:
1)在聲明和定義函數(shù)之后,讀取圖片數(shù)據(jù)集,將圖像尺寸調(diào)整為50×50像素,進(jìn)行PCANet訓(xùn)練;
2)進(jìn)行SVM訓(xùn)練.,設(shè)置SVM的參數(shù),定義SVM、核函數(shù)的類型.同時(shí),設(shè)計(jì)終止準(zhǔn)則函數(shù),即當(dāng)?shù)拇螖?shù)達(dá)到最大值時(shí)終止.訓(xùn)練SVM時(shí)需要建立一個(gè)SVM類的實(shí)例,訓(xùn)練模型的參數(shù)為輸入數(shù)據(jù)、響應(yīng)等之前設(shè)置過(guò)的參數(shù);
3)執(zhí)行目標(biāo)檢測(cè)算法.計(jì)算訓(xùn)練錯(cuò)誤率,執(zhí)行PCANet+SVM算法.檢測(cè)船只時(shí),執(zhí)行目標(biāo)檢測(cè)算法,并畫出二值化顯著圖輪廓.
3.1 訓(xùn)練PCANet的時(shí)間
對(duì)所選取樣本的每一張圖片用一個(gè)行向量表示,然后用PCANet運(yùn)算方法對(duì)圖片向量進(jìn)行矩陣運(yùn)算,之后添加標(biāo)簽,重復(fù)訓(xùn)練數(shù)據(jù)集,并記錄PCA濾波器的訓(xùn)練內(nèi)容.PCANet訓(xùn)練結(jié)果如表1所示.
表1 用正負(fù)樣本進(jìn)行PCANet訓(xùn)練的時(shí)間 s
3.2 統(tǒng)計(jì)訓(xùn)練PCANet的正確率
對(duì)所選取樣本進(jìn)行訓(xùn)練PCANet的正確率統(tǒng)計(jì),正/負(fù)樣本正確率統(tǒng)計(jì)如表2所示.
表2 正/負(fù)樣本正確率統(tǒng)計(jì)
使用PCANet算法訓(xùn)練所要求識(shí)別的圖像是海面船只,而排除掉海面場(chǎng)景中非船只部分的圖像,因此理想情況要求正樣本能夠被識(shí)別出是船只,而負(fù)樣本不可以被識(shí)別出是船只.由表2可以看出,進(jìn)行正樣本統(tǒng)計(jì)時(shí)正確率為92.7%,進(jìn)行負(fù)樣本統(tǒng)計(jì)時(shí)正確率為99.7%,因此訓(xùn)練結(jié)果良好,PCANet算法能達(dá)到圖像分類和對(duì)海面船只進(jìn)行目標(biāo)識(shí)別的要求.
3.3 顯著性檢測(cè)和PCANet+SVM識(shí)別結(jié)果
利用顯著性檢測(cè)大致確定目標(biāo)的可疑區(qū)域的過(guò)程中會(huì)輸出顯著性檢測(cè)結(jié)果圖和二值化顯著性檢測(cè)結(jié)果圖,之后對(duì)每個(gè)檢測(cè)出的可疑矩形區(qū)域使用PCANet模型進(jìn)行分類,并通過(guò)SVM得到最終的二分類結(jié)果.
5張海面船只檢測(cè)與識(shí)別結(jié)果如圖3所示.
圖3 海面船只檢測(cè)識(shí)別結(jié)果
3.4 PCANet和CNN算法對(duì)比
為了說(shuō)明PCANet的準(zhǔn)確性和速度優(yōu)勢(shì),本文利用CNN對(duì)同一個(gè)數(shù)據(jù)集進(jìn)行分類識(shí)別,結(jié)果如表3所示.
表3 PCANet和CNN算法對(duì)比
同時(shí)在進(jìn)行顯著性檢測(cè)之后,對(duì)每個(gè)檢測(cè)出的可疑矩形區(qū)域使用CNN模型進(jìn)行分類,得到CNN+SVM識(shí)別結(jié)果,與PCANet+SVM識(shí)別結(jié)果作對(duì)比,如此圖4所示,其中第一行為PCANet+SVM識(shí)別結(jié)果,第二行為CNN+SVM識(shí)別結(jié)果.
圖4 PCANet+SVM與CNN+SVM識(shí)別結(jié)果對(duì)比圖
從表3中可以看出,和CNN相比,PCANet具有更快的訓(xùn)練速度和更高的準(zhǔn)確性.從圖4中可以看出,CNN算法有時(shí)將船頭作為誤檢區(qū)域,有時(shí)又沒(méi)有排除浪花等非船只部分,相比于PCANet算法的識(shí)別結(jié)果有一定的偏差.因此,PCANet算法在訓(xùn)練速度和訓(xùn)練準(zhǔn)確性上都表現(xiàn)得更為出色,適合用于海面船只目標(biāo)的快速檢測(cè).
3.5 算法復(fù)雜度分析
計(jì)算機(jī)硬件配置如下:CPU為雙核四線程Intel Core i5-4210M,主頻2.6 GHz,內(nèi)存8 GB,硬盤IOPS為600 M/s,總線頻率800 MHz.
操作系統(tǒng)為64位Windows 7,開發(fā)環(huán)境為Microsoft Visual Studio 2010.
PCANet算法對(duì)所有圖片的樣本矩陣求出了相應(yīng)的標(biāo)準(zhǔn)正交矩陣,然后通過(guò)PCA濾波器取主成分并且進(jìn)行卷積運(yùn)算,它的算法執(zhí)行時(shí)間不隨著問(wèn)題規(guī)模n的增加而增長(zhǎng),因此PCANet的時(shí)間復(fù)雜度為O(1).CNN算法中的循環(huán)結(jié)構(gòu)第一層循環(huán)了n次,其嵌套語(yǔ)句均循環(huán)常數(shù)次,因此CNN算法的時(shí)間復(fù)雜度為O(n).算法結(jié)構(gòu)上可以看出,PCANet是一個(gè)非常簡(jiǎn)潔的深度學(xué)習(xí)模型,適合快速檢測(cè)海面船只目標(biāo).
本文采用模擬數(shù)據(jù)集執(zhí)行所設(shè)計(jì)的基于PCANet的海面船只檢測(cè)算法,成功得到海面船只矩形區(qū)域的檢測(cè)結(jié)果.通過(guò)與CNN算法作對(duì)比,PCANet方法縮短了訓(xùn)練時(shí)間,提高了識(shí)別準(zhǔn)確率,具有一定的理論優(yōu)越性.基于PCANet的海面船只檢測(cè)算法為今后的深度學(xué)習(xí)網(wǎng)絡(luò)模型研究提供了理論基礎(chǔ)與實(shí)驗(yàn)依據(jù),同時(shí)算法復(fù)雜度低,易于實(shí)現(xiàn),因此在水面無(wú)人艇的相關(guān)工程實(shí)踐上具有重要的意義.
[1]SOCEK D, CULIBRK D, MARQUES O, et al. A hybrid color-based foreground object detection method for automated marine surveillance[C]//International Conference on Advanced Concepts for Intelligent Vision Systems. Springer Berlin Heidelberg, 2005:340-347.
[2]WU Q, CUI H, DU X, et al. Real-time Moving Maritime Objects Segmentation and Tracking for Video Communication[C]//2006 International Conference on Communication Technology. IEEE, 2006:1-4.
[3]WIJNHOVEN R, VAN RENS K, JASPERS E G T, et al. Online learning for ship detection in maritime surveillance[C]// Proceedings of 31th Symposium on Information Theory in the Benelux, 2010:73-80.
[4]曾文靜,萬(wàn)磊,張鐵棟,等.復(fù)雜??毡尘跋氯跣∧繕?biāo)的快速自動(dòng)檢測(cè)[J].光學(xué)精密工程.2012,20(2):403-412.
[5]ALBRECHT T, WEST G A W, TAN T, et al. Visual maritime attention using multiple low-level features and na?ve bayes classification[C]//Digital Image Computing Techniques and Applications (DICTA), 2011 International Conference on. IEEE, 2011:243-249.
[6]VALKENBURG, HAARST T, LEIJEN A V, GROEN F C. Colour as an attribute for automated detection in maritime environments[C]//Information Fusion, 2009. FUSION’09.12th International Conference on. IEEE, 2009:1679-1686.
[7]孫志軍,薛磊,許陽(yáng)明,等.深度學(xué)習(xí)研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2012,29(8):2806-2810.
[8]CHAN T H, JIA K, GAO S, et al. PCANet: A simple deep learning baseline for image classification?[J]. IEEE Transactions on Image Processing, 2015,24(12):5017-5032.
[9]HOU X, ZHANG L. Saliency detection: A spectral residual approach[C]//2007 IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2007:1-8.
[10]CHENG M M, ZHANG Z, LIN W Y, et al. BING: Binarized normed gradients for objectness estimation at 300fps[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2014:3286-3293.
龍 鋼,任健強(qiáng),龔小謹(jǐn)
(浙江大學(xué)信息與電子工程學(xué)院,浙江 杭州 310027)
A PCANet-based Algorithm for Ship Detection on the Sea Surface
LONG Gang, REN Jianqiang, GONG Xiaojin
(CollegeofInformationScienceandElectronicEngineering,ZhejiangUniversity,HangzhouZhejiang310027,China)
To develop the vision perception system of unmanned surface vehicles, this paper employs the principal component analysis net(PCANet) which is a simple deep learning baseline, and proposes an algorithm for ship detection on the sea surface. First, it inputs a surface vehicle image, and then determines the hypothesis area of the target. Second, it classifies the detected areas using PCANet model, together with a support vector machine(SVM), and gets the final dichotomous result. The experimental results show that the designed algorithm can successfully output the result of ship detection on the sea surface, and verify that the PCANet method has fast training time and high accuracy, prove that PCANet has the advantages in feature extraction.
ship detection; deep learning; principal component analysis net; saliency detection; support vector machine
2016-09-20
國(guó)家高技術(shù)研究發(fā)展計(jì)劃(863計(jì)劃)資助項(xiàng)目(2014AA09A510)
龍鋼(1994-),男,陜西西安人,本科生,信息與通信工程.通信作者:龔小謹(jǐn)副教授,E-mail:gongxj@zju.edu.cn.
TP391.4
A
1001-9146(2017)02-0023-05