楊 杰 楊振南
(湖南科技學院電子與信息工程學院 湖南 永州 425000)
?
基于改進的CNN多級分類的行人檢測算法研究
楊 杰 楊振南
(湖南科技學院電子與信息工程學院 湖南 永州 425000)
針對監(jiān)控場景的行人檢測應用,提出一種結(jié)合改進的支持向量機和卷積神經(jīng)網(wǎng)絡的行人檢測方法。首先,通過運動檢測初步定位感興趣的可疑目標區(qū)域;然后,計算這些區(qū)域圖像塊的灰度共生矩陣,并采用主成分分析方法提取紋理特征向量,采用支持向量機進行紋理分類,濾除干擾區(qū)域;最后,對余下區(qū)域構(gòu)建多尺度圖像子塊,采用LeNet5卷積神經(jīng)網(wǎng)絡架構(gòu)進行行人分類。在Caltech數(shù)據(jù)集上的測試結(jié)果表明,該方法的真正率指標高,假正率指標低。
行人檢測 運動檢測 灰度共生矩陣 支持向量機 卷積神經(jīng)網(wǎng)絡
隨著視頻監(jiān)控技術(shù)的發(fā)展,對監(jiān)視視頻的智能分析需求越來越迫切。由于行人是視頻監(jiān)控的重要對象,行人檢測技術(shù)在視頻監(jiān)控領(lǐng)域的應用需求旺盛[1]。行人檢測是通過視頻圖像分析處理技術(shù)自動檢測視頻或圖像中的行人目標,是計算機視覺領(lǐng)域的研究熱點[2]。近些年該領(lǐng)域的學術(shù)研究成果很多,如文獻[3]采用改進的Haar-like特征描述行人,采用Adaboost分類器進行行人分類;文獻[4]采用基于線性鑒別分析的線性權(quán)重融合原則對一些顏色、梯度、直方圖等底層特征和多層次導向邊緣能量特征進行特征融合,采用直方圖交叉核支持向量機進行特征分類,提高行人檢測系統(tǒng)的魯棒性;文獻[5]提出一種模擬人眼觀察事物的發(fā)散性及顯著性特點的紋理結(jié)構(gòu)算子,能有效提高行人識別對噪聲和光照變化的魯棒性;文獻[6]提取行人的HOG特征,并用支持向量機SVM分類器進行行人分類;文獻[7]在基于HOG特征和SVM分類其的基礎(chǔ)上,采用運動檢測算法過濾背景區(qū)域,提高行人檢測效率;文獻[8]采用深度學習方法進行行人分類,提高行人檢測正確率??傮w而言,現(xiàn)有行人檢測方法在INRIA等行人圖像數(shù)據(jù)集上已經(jīng)具有較高的檢測正確率。然而,對于視頻監(jiān)控應用而言,目前一些檢測正確率較高的行人檢測方法往往存在運算效率很低的問題,而一些高效的行人檢測方法又存在檢測正確率低(尤其是假正率指標很高)的問題,難以滿足視頻監(jiān)控技術(shù)的實際應用需求。
本文針對監(jiān)控場景的行人檢測應用需求,提出一種結(jié)合支持向量機和卷積神經(jīng)網(wǎng)絡CNN的行人檢測方法?;舅枷胧墙Y(jié)合運動檢測、基于灰度共生矩陣和SVM的紋理分類,以及基于CNN的行人分類進行圖像區(qū)塊的多級分類,實現(xiàn)高效、可靠的行人檢測。
本文方法的實現(xiàn)流程如圖1所示。對于輸入的每一幀視頻圖像,首先,進行運動檢測,初步定位可疑的目標區(qū)域;然后,計算可疑目標區(qū)域圖像的灰度共生矩陣,并采用主成分分析PCA(Principal Component Analysis)方法進行特征降維,得到可疑目標圖像塊的紋理特征,采用SVM分類器進行粗篩選,濾除明顯的干擾目標;接著對剩余的可疑目標區(qū)域構(gòu)建多尺度圖像子塊,采用CNN方法進行行人分類,記錄分類為行人的目標窗口。詳細過程描述如下。
1.1 運動檢測
運動檢測是視頻分析領(lǐng)域常用的預處理方法,可以用于定位視頻圖像中的感興趣區(qū)域,提高視頻分析的效率,同時濾除干擾。常用的運動檢測方法主要包括背景差法、幀差法和光流法??紤]到光流法運算效率太低、而幀差法容易造成目標不完整,故本文采用背景差法進行可疑行人目標區(qū)域的初定位。具體是采用文獻[9]提出的VIBE算法,因為該算法的運算效率高,且檢測到目標完整性相對較好,這有利用后續(xù)的行人檢測。
(1)
其中,Wori和Hori分別表示原始視頻圖像的寬度和高度;max和min分別表示取最大值和取最小值運算,用于防止外界矩形框越界;λ為擴展尺度因子。由于同一目標離攝像機的距離不同時對應的成像尺度也有很大差異。因此,擴展尺度因子應當隨目標成像尺度的不同而自適應地改變。本文依據(jù)檢測到的目標寬度和高度來自適應求取擴展尺度因子,表示為:
(2)
其中,Int(·)表示取整運算。k為比例系數(shù),在本文中取經(jīng)驗值0.1。
得到擴展的外接矩形框之后,從原始視頻圖像上裁剪外接矩形框所對應位置的圖像塊(本文只取灰度信息)。然后遍歷每一個圖像塊,進行后續(xù)的行人檢測。
1.2 灰度共生矩陣提取及SVM粗篩選
通常,運動檢測得到的可疑目標區(qū)域中存在光影變化引起的背景區(qū)域,這些區(qū)域的紋理復雜度明顯低于行人區(qū)域的人體復雜度?;谶@一現(xiàn)象,本文采用紋理分類方法對這些可疑目標區(qū)域進行粗篩選,這樣可以快速濾除紋理復雜度很低的背景區(qū)域,提高算法的整理運行效率,同時也減少這些區(qū)域引起的虛警現(xiàn)象。
灰度共生矩陣是描述圖像紋理分布常用的特征,該矩陣可以描述圖像上符合某一規(guī)則的像素對的灰度分布規(guī)律,能夠有效區(qū)分不同紋理的圖像。這里,像素對符合一定規(guī)則是指兩個像素點的間距滿足一定條件。譬如,對于圖像中的任一像素點(x,y),圖像中與其水平方向距離為a和垂直方向距離為b的像素點(x+a,y+b)構(gòu)成一個像素對,假設(shè)像素點(x,y)和(x+a,y+b)的灰度值分別為g1和g2,那么像素對(x,y)和(x+a,y+b)的灰度分布可以記為(g1,g2)。對于圖像上的任一像素點,都可以構(gòu)建一個像素對(超出圖像范圍的像素點的灰度值用零填充),也即每一個像素點都對應一個灰度分布(g1,g2)。
令L表示圖像的灰度級,則圖像中(g1,g2)的取值組合范圍為0~L2。統(tǒng)計圖像中每一類(g1,g2)組合出現(xiàn)的次數(shù),然后用圖像中像素對的總數(shù)將其歸一化,得到(g1,g2)組合的出現(xiàn)概率,表示為:
(3)
其中,n(g1,g2|a,b)表示圖像中灰度分布(g1,g2)組合出現(xiàn)的次數(shù),N表示圖像中像素對的總數(shù)。
由p(g1,g2|a,b)值可以構(gòu)建一個L×L的方陣,即為灰度共生矩陣。
本文采用灰度共生矩陣的目的是濾除紋理復雜度很低的背景區(qū)域,因此,本文主要關(guān)注圖像紋理的復雜程度,而不關(guān)注紋理的方向和周期分布。故在本文中(a,b)的取值組合取常用的(1,0)、(0,1)、(1,1)和(-1,-1)組合,分別代表0°、45°、90°和135°四個方向。其中,每一個(g1,g2)組合的出現(xiàn)概率取四個方向的平均值,表示為:
n(g1,g2|1,1)+n(g1,g2|-1,-1))
(4)
這樣,每一個可疑圖像區(qū)域可以用L×L的方陣作為圖像的紋理特征,通常,圖像的灰度級L=256,故可疑圖像區(qū)域的灰度共生矩陣的維數(shù)為65 536。顯然,維數(shù)太大,存儲和分類都會耗費大量資源。為此,本文再采用PCA方法[10]對紋理特征進行降維,將紋理特征的維數(shù)降為80。
然后,采用已訓練好的SVM分類器對降維后的特征向量進行分類,如果可疑圖像區(qū)域?qū)募y理特征向量分類結(jié)果為背景類,則將其濾除。對于剩余的可疑圖像區(qū)域,再通CNN細分類得到最終的行人檢測結(jié)果。其中,分類器的訓練過程在實驗部分介紹。
1.3 多尺度圖像子塊構(gòu)建及CNN分類
對于剩余的可疑圖像區(qū)域,本文采用CNN方法進行行人細分類。詳細描述如下。
首先,考慮到行人目標距離攝像機位置不同時其成像尺度也存在變化,本文構(gòu)建多尺度圖像子塊,具體步驟見如下所示的偽代碼。
多尺度圖像子塊構(gòu)建偽代碼:
輸入:可疑圖像區(qū)域I,尺寸為W×H;
過程:
初始化:初始掃描窗口:W0×H0;
尺度因子:s;
目標圖像子塊尺寸:W′×H′;
for (h=H0;h for (w=W0;w for (y=0;y for (x=0;x 以(x,y)為起點從I上裁剪w×h的圖像子塊; end for end for end for end for 采用雙線性插值法將圖像子塊尺寸歸一化為W′×H′; 輸出:圖像子塊集合 在本文中,窗口尺寸W0×H0和W′×H′都取值為21×41。尺度因子s取值為1.1。 然后,對每一個圖像子塊,采用CNN分類器進行分類。本文采用CNN架構(gòu)為LeNet5網(wǎng)絡架構(gòu)[11],如圖2所示。 圖2 LeNet5網(wǎng)絡結(jié)構(gòu) 對于CNN分類器分類為行人的圖像子塊,記錄該圖像子塊所對應的原始視頻圖像上的外接矩形窗口。由于多尺度圖像子塊存在重疊現(xiàn)象,同一行人目標可能在多個尺度圖像子塊上被檢測到。因此,需要對多尺度圖像子塊檢測到的行人窗口進行濾波,合并屬于同一目標的行人窗口。具體地,對于同一視頻圖像得到的所有行人窗口,計算兩兩之間的重合度,也即兩行人窗口外接矩形框交叉部分面積與包圍總面積的比值。如果兩外接矩形框的重合度大于50%,則認為兩行人窗口來自同一目標,此時將兩行人窗口合并,合并后的行人窗口的外接矩形框表示為: (5) 其中,(xi,yi,wi,hi)和(xj,yj,wj,hj)分別表示合并前兩個行人窗口的外接矩形框。 合并之后刪除合并前的兩個行人窗口。重復上述窗口合并過程,直至所有窗口兩兩之間的重合度都低于50%。這樣,剩余的行人窗口即為每一幀視頻圖像所檢測到的行人窗口。 2.1 實驗說明 (1) 實驗數(shù)據(jù)集 本文方法主要用于監(jiān)控場所的行人檢測,在目前行人檢測領(lǐng)域公開的實驗數(shù)據(jù)集中,Caltech數(shù)據(jù)集是由實際監(jiān)控場所拍攝的視頻構(gòu)建的。視頻的分辨率為640×480,幀率為30 fps,約含250 000幀圖像,所有行人都進行了標注。本文選用該數(shù)據(jù)集測試本文方法的性能。 本文涉及了兩個分類器,一是紋理分類所需的SVM分類器,二是行人分類所需的CNN分類器。為了訓練兩個分類器,本文選用行人檢測領(lǐng)域常用的INRIA數(shù)據(jù)集作為訓練樣本集,該數(shù)據(jù)集共有5 264幅圖像,其中包含行人的圖像有3 548幅,不包含行人的圖像有1 716幅。 在訓練紋理分類器時,正樣本選用INRIA數(shù)據(jù)集中包含行人的圖像,負樣本是從INRIA數(shù)據(jù)集不包含行人的圖像中裁剪得到的。裁剪規(guī)則是:截取每一幅圖像中灰度變化平緩區(qū)域(如天空區(qū)域、地面區(qū)域等)的圖像子塊,要求這些圖像子塊的熵小于0.05。其中,圖像熵可以通過灰度共生矩陣計算,用于描述圖像紋理的復雜度,表示為 (6) 其中,p′(g1,g2)由式(4)計算。 圖像的熵越小,表明圖像的紋理復雜度越小,也即圖像的灰度變化越平緩;反之則反。 按照上述規(guī)則,本文從INRIA數(shù)據(jù)集不包含行人的圖像中隨機截取了7 176幅變化平緩的圖像,將這些圖像作為紋理分類器訓練的負樣本。 在訓練行人分類器時,正樣本選用INRIA數(shù)據(jù)集中包含行人的圖像,負樣本是將INRIA數(shù)據(jù)集中不包含行人的圖像四等分得到的,這樣負樣本圖像集共有6 864幅。然后將正負樣本圖像的尺寸都通過雙線性插值方法歸一化到21×41。 (2) 性能評價方法 為評價本文方法的性能,采用真正率TPR(True Positive Rate)、假正率FPR(False Positive Rate)和平均檢測耗時ADT(Average Detection Time)三個性能評價指標。其中: (7) (8) (9) 其中,正確檢測行人是指檢測到的行人窗口與標記的行人窗口兩外接矩形框的重合度大于50%。仿真實驗所用的計算性平臺性能參數(shù)如表1所示。 表1 計算機平臺參數(shù) 2.2 分類器訓練 本文所用的紋理分類器是由SVM學習方法進行訓練的。具體地,先按式(4)計算正負樣本圖像的灰度共生矩陣,然后采用PCA方法得到維數(shù)為80的紋理特征向量。最后采用SVM學習方法訓練正負樣本對應的紋理特征向量,得到SVM分類器。其中,SVM的核函數(shù)采用徑向基函數(shù)。詳細訓練過程可參考文獻[7]。 本文所用的行人分類器是由CNN學習方法進行訓練的,采用圖2所示的網(wǎng)絡結(jié)構(gòu),詳細訓練過程及參數(shù)配置可參考文獻[11]。 2.3 性能對比 為了評價本文方法的性能,將本文方法與文獻[6-8]所述的行人檢測方法進行對比實驗,其中,四種行人檢測方法實驗所用的測試數(shù)據(jù)集都是相同的,但訓練數(shù)據(jù)集略有差異,其他三種行人檢測方法訓練所用的數(shù)據(jù)集是原始的INRIA數(shù)據(jù)集,而本文方法在訓練兩個分類器時對INRIA數(shù)據(jù)集進行了裁剪和歸一化。 圖3給出了四種行人檢測方法的真正率和假正率指標測試結(jié)果。很明顯,本文方法的真正率指標要高于其他三種方法,而假正率指標優(yōu)勢更加明顯。這是因為本文方法采用了多級濾波和分類策略,在運動檢測和紋理分類兩個階段已經(jīng)濾除了許多干擾區(qū)域,降低了這些區(qū)域可能引起的誤檢行人目標的現(xiàn)象,從而大幅降低了假正率指標。同時,本文進行行人分類時的圖像區(qū)域遠小于原始圖像區(qū)域,那么在相同的多尺度圖像子塊構(gòu)建參數(shù)下本文方法得到的多尺度圖像子塊更貼近行人目標,再加上LeNet5網(wǎng)絡架構(gòu)的分類性能優(yōu)于SVM等經(jīng)典分類器,因此本文方法的真正率指標也有提高。 表2給出了四種行人檢測方法的平均檢測耗時指標,可見,本文方法的平均檢測耗時最小,遠小于文獻[6-7]所述方法。這是因為本文方法和文獻[8]所述方法在進行行人分類前都濾除了圖像中的許多干擾區(qū)域,降低了檢測耗時。與文獻[8]相比,本文采用運動檢測和紋理分類兩級粗篩選,在大部分監(jiān)控場景下都可以濾除更多的干擾區(qū)域,降低平均檢測耗時。 表2 平均檢測耗時指標對比 綜合以上測試結(jié)果及分析,本文方法的行人檢測性能優(yōu)于其他三種方法。 行人檢測在視頻監(jiān)控領(lǐng)域具有廣泛的應用前景,針對這一應用環(huán)境,本文提出了一種結(jié)合支持向量機和卷積神經(jīng)網(wǎng)絡的行人檢測方法。設(shè)計思想是:先采用運算效率高的運動檢測方法和紋理分類方法,濾除不可能存在行人的背景區(qū)域;然后再在余下的區(qū)域上采用精細的行人分類方法得到可靠的行人檢測結(jié)果。其中,運動檢測選用VIBE方法,紋理分類提出一種結(jié)合灰度共生矩陣、主成分分析和支持向量機的紋理分類方法,行人分類是在多尺度圖像子塊上采用LeNet5卷積神經(jīng)網(wǎng)絡架構(gòu)實現(xiàn)的。實驗結(jié)果表明,采用本文方法可以快速、可靠檢測Caltech數(shù)據(jù)集上的行人目標,是一種面向視頻監(jiān)控應用的有效行人檢測方法。 [1] Hoang V D,Le M H,Jo K H.Hybrid cascade boosting machine using variant scale blocks based HOG features for pedestrian detection[J].Neurocomputing,2014,135(8):357-366. [2] Dollar P,Wojek C,Schiele B,et al.Pedestrian detection:An evaluation of the state of the art[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2012,34(4):743-761. [3] Zhang S,Bauckhage C,Cremers A B.Informed Haar-Like Features Improve Pedestrian Detection[C]//IEEE Conference on Computer Vision and Pattern Recognition.IEEE Computer Society,Washington,DC,USA,2014:947-954. [4] 孫銳,侯能干,陳軍.基于特征融合和交叉核SVM的快速行人檢測方法[J].光電工程,2014(2):53-62. [5] 肖德貴,辛晨,張婷,等.顯著性紋理結(jié)構(gòu)特征及車載環(huán)境下的行人檢測[J].軟件學報,2014,25(3):675-689. [6] Yadav R P,Kutty K,Ugale S P.Implementation of Robust HOG-SVM based Pedestrian Classification[J].International Journal of Computer Applications,2015,114(19):10-16. [7] 魯超,滕國偉,鄒雪妹,等.一種適應運動前景的快速行人檢測算法[J].電視技術(shù),2015,39(1):113-116. [8] Tian Y,Luo P,Wang X,et al.Pedestrian detection aided by deep learning semantic tasks[C]//Computer Vision and Pattern Recognition.IEEE,2014:5079-5087. [9] Kryjak T,Gorgon M.Real-time implementation of the ViBe foreground object segmentation algorithm[C]//Computer Science and Information Systems,2013:591-596. [10] Kuncheva L,Faithfull W J.PCA feature extraction for change detection in multidimensional unlabeled data[J].IEEE Transactions on Neural Networks & Learning Systems,2014,25(1):69-80. [11] Yang Z,Tao D,Zhang S,et al.Similar handwritten Chinese character recognition based on deep neural networks with big data[J].Journal on Communication,2014,35(9):184-189. APEDESTRIANDETECTIONMETHODBASEDONIMPROVEDCNNMULTISTAGECLASSIFICATION Yang Jie Yang Zhennan We present an improved pedestrian detection method for video monitoring application, using support vector machines and convolutional neural networks. First, we located initial suspicious targets of interested area by motion detection, and then calculated the gray level co-occurrence matrix of image patches of these areas. Moreover, the principal component analysis method was used to extract the texture feature vector, and the support vector machine was used to classify the texture and filter out the interference region. Finally, multi-scale image blocks were constructed for the remaining area, the LeNet5 architecture of convolutional neural network was used to execute pedestrian classification. Experimental results on Caltech dataset show that this method has a high true positive rate and low false positive rate. Pedestrian detection Motion detection Gray level co-occurrence matrix Support vector machines Convolutional neural networks 2017-03-21。湖南省科技計劃項目(2014FJ6095);永州市2016年度科技創(chuàng)新項目(永科發(fā)[2016]27號);湖南科技學院計算機應用技術(shù)重點學科資助。楊杰,副教授,主研領(lǐng)域:人工智能,計算機網(wǎng)絡。楊振南,講師。 TP391 A 10.3969/j.issn.1000-386x.2017.08.0392 仿真實驗
3 結(jié) 語
(SchoolofElectronicsandInformationEngineering,HunanUniversityofScienceandEngineering,Yongzhou425000,Hunan,China)