楊 杰 楊振南
(湖南科技學院電子與信息工程學院 湖南 永州 425000)
?
基于改進的CNN多級分類的行人檢測算法研究
楊 杰 楊振南
(湖南科技學院電子與信息工程學院 湖南 永州 425000)
針對監控場景的行人檢測應用,提出一種結合改進的支持向量機和卷積神經網絡的行人檢測方法。首先,通過運動檢測初步定位感興趣的可疑目標區域;然后,計算這些區域圖像塊的灰度共生矩陣,并采用主成分分析方法提取紋理特征向量,采用支持向量機進行紋理分類,濾除干擾區域;最后,對余下區域構建多尺度圖像子塊,采用LeNet5卷積神經網絡架構進行行人分類。在Caltech數據集上的測試結果表明,該方法的真正率指標高,假正率指標低。
行人檢測 運動檢測 灰度共生矩陣 支持向量機 卷積神經網絡
隨著視頻監控技術的發展,對監視視頻的智能分析需求越來越迫切。由于行人是視頻監控的重要對象,行人檢測技術在視頻監控領域的應用需求旺盛[1]。行人檢測是通過視頻圖像分析處理技術自動檢測視頻或圖像中的行人目標,是計算機視覺領域的研究熱點[2]。近些年該領域的學術研究成果很多,如文獻[3]采用改進的Haar-like特征描述行人,采用Adaboost分類器進行行人分類;文獻[4]采用基于線性鑒別分析的線性權重融合原則對一些顏色、梯度、直方圖等底層特征和多層次導向邊緣能量特征進行特征融合,采用直方圖交叉核支持向量機進行特征分類,提高行人檢測系統的魯棒性;文獻[5]提出一種模擬人眼觀察事物的發散性及顯著性特點的紋理結構算子,能有效提高行人識別對噪聲和光照變化的魯棒性;文獻[6]提取行人的HOG特征,并用支持向量機SVM分類器進行行人分類;文獻[7]在基于HOG特征和SVM分類其的基礎上,采用運動檢測算法過濾背景區域,提高行人檢測效率;文獻[8]采用深度學習方法進行行人分類,提高行人檢測正確率??傮w而言,現有行人檢測方法在INRIA等行人圖像數據集上已經具有較高的檢測正確率。然而,對于視頻監控應用而言,目前一些檢測正確率較高的行人檢測方法往往存在運算效率很低的問題,而一些高效的行人檢測方法又存在檢測正確率低(尤其是假正率指標很高)的問題,難以滿足視頻監控技術的實際應用需求。
本文針對監控場景的行人檢測應用需求,提出一種結合支持向量機和卷積神經網絡CNN的行人檢測方法?;舅枷胧墙Y合運動檢測、基于灰度共生矩陣和SVM的紋理分類,以及基于CNN的行人分類進行圖像區塊的多級分類,實現高效、可靠的行人檢測。
本文方法的實現流程如圖1所示。對于輸入的每一幀視頻圖像,首先,進行運動檢測,初步定位可疑的目標區域;然后,計算可疑目標區域圖像的灰度共生矩陣,并采用主成分分析PCA(Principal Component Analysis)方法進行特征降維,得到可疑目標圖像塊的紋理特征,采用SVM分類器進行粗篩選,濾除明顯的干擾目標;接著對剩余的可疑目標區域構建多尺度圖像子塊,采用CNN方法進行行人分類,記錄分類為行人的目標窗口。詳細過程描述如下。
1.1 運動檢測
運動檢測是視頻分析領域常用的預處理方法,可以用于定位視頻圖像中的感興趣區域,提高視頻分析的效率,同時濾除干擾。常用的運動檢測方法主要包括背景差法、幀差法和光流法??紤]到光流法運算效率太低、而幀差法容易造成目標不完整,故本文采用背景差法進行可疑行人目標區域的初定位。具體是采用文獻[9]提出的VIBE算法,因為該算法的運算效率高,且檢測到目標完整性相對較好,這有利用后續的行人檢測。
(1)
其中,Wori和Hori分別表示原始視頻圖像的寬度和高度;max和min分別表示取最大值和取最小值運算,用于防止外界矩形框越界;λ為擴展尺度因子。由于同一目標離攝像機的距離不同時對應的成像尺度也有很大差異。因此,擴展尺度因子應當隨目標成像尺度的不同而自適應地改變。本文依據檢測到的目標寬度和高度來自適應求取擴展尺度因子,表示為:

(2)
其中,Int(·)表示取整運算。k為比例系數,在本文中取經驗值0.1。
得到擴展的外接矩形框之后,從原始視頻圖像上裁剪外接矩形框所對應位置的圖像塊(本文只取灰度信息)。然后遍歷每一個圖像塊,進行后續的行人檢測。
1.2 灰度共生矩陣提取及SVM粗篩選
通常,運動檢測得到的可疑目標區域中存在光影變化引起的背景區域,這些區域的紋理復雜度明顯低于行人區域的人體復雜度。基于這一現象,本文采用紋理分類方法對這些可疑目標區域進行粗篩選,這樣可以快速濾除紋理復雜度很低的背景區域,提高算法的整理運行效率,同時也減少這些區域引起的虛警現象。
灰度共生矩陣是描述圖像紋理分布常用的特征,該矩陣可以描述圖像上符合某一規則的像素對的灰度分布規律,能夠有效區分不同紋理的圖像。這里,像素對符合一定規則是指兩個像素點的間距滿足一定條件。譬如,對于圖像中的任一像素點(x,y),圖像中與其水平方向距離為a和垂直方向距離為b的像素點(x+a,y+b)構成一個像素對,假設像素點(x,y)和(x+a,y+b)的灰度值分別為g1和g2,那么像素對(x,y)和(x+a,y+b)的灰度分布可以記為(g1,g2)。對于圖像上的任一像素點,都可以構建一個像素對(超出圖像范圍的像素點的灰度值用零填充),也即每一個像素點都對應一個灰度分布(g1,g2)。
令L表示圖像的灰度級,則圖像中(g1,g2)的取值組合范圍為0~L2。統計圖像中每一類(g1,g2)組合出現的次數,然后用圖像中像素對的總數將其歸一化,得到(g1,g2)組合的出現概率,表示為:

(3)
其中,n(g1,g2|a,b)表示圖像中灰度分布(g1,g2)組合出現的次數,N表示圖像中像素對的總數。
由p(g1,g2|a,b)值可以構建一個L×L的方陣,即為灰度共生矩陣。
本文采用灰度共生矩陣的目的是濾除紋理復雜度很低的背景區域,因此,本文主要關注圖像紋理的復雜程度,而不關注紋理的方向和周期分布。故在本文中(a,b)的取值組合取常用的(1,0)、(0,1)、(1,1)和(-1,-1)組合,分別代表0°、45°、90°和135°四個方向。其中,每一個(g1,g2)組合的出現概率取四個方向的平均值,表示為:

n(g1,g2|1,1)+n(g1,g2|-1,-1))
(4)
這樣,每一個可疑圖像區域可以用L×L的方陣作為圖像的紋理特征,通常,圖像的灰度級L=256,故可疑圖像區域的灰度共生矩陣的維數為65 536。顯然,維數太大,存儲和分類都會耗費大量資源。為此,本文再采用PCA方法[10]對紋理特征進行降維,將紋理特征的維數降為80。
然后,采用已訓練好的SVM分類器對降維后的特征向量進行分類,如果可疑圖像區域對應的紋理特征向量分類結果為背景類,則將其濾除。對于剩余的可疑圖像區域,再通CNN細分類得到最終的行人檢測結果。其中,分類器的訓練過程在實驗部分介紹。
1.3 多尺度圖像子塊構建及CNN分類
對于剩余的可疑圖像區域,本文采用CNN方法進行行人細分類。詳細描述如下。
首先,考慮到行人目標距離攝像機位置不同時其成像尺度也存在變化,本文構建多尺度圖像子塊,具體步驟見如下所示的偽代碼。
多尺度圖像子塊構建偽代碼:
輸入:可疑圖像區域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架構為LeNet5網絡架構[11],如圖2所示。 圖2 LeNet5網絡結構 對于CNN分類器分類為行人的圖像子塊,記錄該圖像子塊所對應的原始視頻圖像上的外接矩形窗口。由于多尺度圖像子塊存在重疊現象,同一行人目標可能在多個尺度圖像子塊上被檢測到。因此,需要對多尺度圖像子塊檢測到的行人窗口進行濾波,合并屬于同一目標的行人窗口。具體地,對于同一視頻圖像得到的所有行人窗口,計算兩兩之間的重合度,也即兩行人窗口外接矩形框交叉部分面積與包圍總面積的比值。如果兩外接矩形框的重合度大于50%,則認為兩行人窗口來自同一目標,此時將兩行人窗口合并,合并后的行人窗口的外接矩形框表示為: (5) 其中,(xi,yi,wi,hi)和(xj,yj,wj,hj)分別表示合并前兩個行人窗口的外接矩形框。 合并之后刪除合并前的兩個行人窗口。重復上述窗口合并過程,直至所有窗口兩兩之間的重合度都低于50%。這樣,剩余的行人窗口即為每一幀視頻圖像所檢測到的行人窗口。 2.1 實驗說明 (1) 實驗數據集 本文方法主要用于監控場所的行人檢測,在目前行人檢測領域公開的實驗數據集中,Caltech數據集是由實際監控場所拍攝的視頻構建的。視頻的分辨率為640×480,幀率為30 fps,約含250 000幀圖像,所有行人都進行了標注。本文選用該數據集測試本文方法的性能。 本文涉及了兩個分類器,一是紋理分類所需的SVM分類器,二是行人分類所需的CNN分類器。為了訓練兩個分類器,本文選用行人檢測領域常用的INRIA數據集作為訓練樣本集,該數據集共有5 264幅圖像,其中包含行人的圖像有3 548幅,不包含行人的圖像有1 716幅。 在訓練紋理分類器時,正樣本選用INRIA數據集中包含行人的圖像,負樣本是從INRIA數據集不包含行人的圖像中裁剪得到的。裁剪規則是:截取每一幅圖像中灰度變化平緩區域(如天空區域、地面區域等)的圖像子塊,要求這些圖像子塊的熵小于0.05。其中,圖像熵可以通過灰度共生矩陣計算,用于描述圖像紋理的復雜度,表示為 (6) 其中,p′(g1,g2)由式(4)計算。 圖像的熵越小,表明圖像的紋理復雜度越小,也即圖像的灰度變化越平緩;反之則反。 按照上述規則,本文從INRIA數據集不包含行人的圖像中隨機截取了7 176幅變化平緩的圖像,將這些圖像作為紋理分類器訓練的負樣本。 在訓練行人分類器時,正樣本選用INRIA數據集中包含行人的圖像,負樣本是將INRIA數據集中不包含行人的圖像四等分得到的,這樣負樣本圖像集共有6 864幅。然后將正負樣本圖像的尺寸都通過雙線性插值方法歸一化到21×41。 (2) 性能評價方法 為評價本文方法的性能,采用真正率TPR(True Positive Rate)、假正率FPR(False Positive Rate)和平均檢測耗時ADT(Average Detection Time)三個性能評價指標。其中: (7) (8) (9) 其中,正確檢測行人是指檢測到的行人窗口與標記的行人窗口兩外接矩形框的重合度大于50%。仿真實驗所用的計算性平臺性能參數如表1所示。 表1 計算機平臺參數 2.2 分類器訓練 本文所用的紋理分類器是由SVM學習方法進行訓練的。具體地,先按式(4)計算正負樣本圖像的灰度共生矩陣,然后采用PCA方法得到維數為80的紋理特征向量。最后采用SVM學習方法訓練正負樣本對應的紋理特征向量,得到SVM分類器。其中,SVM的核函數采用徑向基函數。詳細訓練過程可參考文獻[7]。 本文所用的行人分類器是由CNN學習方法進行訓練的,采用圖2所示的網絡結構,詳細訓練過程及參數配置可參考文獻[11]。 2.3 性能對比 為了評價本文方法的性能,將本文方法與文獻[6-8]所述的行人檢測方法進行對比實驗,其中,四種行人檢測方法實驗所用的測試數據集都是相同的,但訓練數據集略有差異,其他三種行人檢測方法訓練所用的數據集是原始的INRIA數據集,而本文方法在訓練兩個分類器時對INRIA數據集進行了裁剪和歸一化。 圖3給出了四種行人檢測方法的真正率和假正率指標測試結果。很明顯,本文方法的真正率指標要高于其他三種方法,而假正率指標優勢更加明顯。這是因為本文方法采用了多級濾波和分類策略,在運動檢測和紋理分類兩個階段已經濾除了許多干擾區域,降低了這些區域可能引起的誤檢行人目標的現象,從而大幅降低了假正率指標。同時,本文進行行人分類時的圖像區域遠小于原始圖像區域,那么在相同的多尺度圖像子塊構建參數下本文方法得到的多尺度圖像子塊更貼近行人目標,再加上LeNet5網絡架構的分類性能優于SVM等經典分類器,因此本文方法的真正率指標也有提高。 表2給出了四種行人檢測方法的平均檢測耗時指標,可見,本文方法的平均檢測耗時最小,遠小于文獻[6-7]所述方法。這是因為本文方法和文獻[8]所述方法在進行行人分類前都濾除了圖像中的許多干擾區域,降低了檢測耗時。與文獻[8]相比,本文采用運動檢測和紋理分類兩級粗篩選,在大部分監控場景下都可以濾除更多的干擾區域,降低平均檢測耗時。 表2 平均檢測耗時指標對比 綜合以上測試結果及分析,本文方法的行人檢測性能優于其他三種方法。 行人檢測在視頻監控領域具有廣泛的應用前景,針對這一應用環境,本文提出了一種結合支持向量機和卷積神經網絡的行人檢測方法。設計思想是:先采用運算效率高的運動檢測方法和紋理分類方法,濾除不可能存在行人的背景區域;然后再在余下的區域上采用精細的行人分類方法得到可靠的行人檢測結果。其中,運動檢測選用VIBE方法,紋理分類提出一種結合灰度共生矩陣、主成分分析和支持向量機的紋理分類方法,行人分類是在多尺度圖像子塊上采用LeNet5卷積神經網絡架構實現的。實驗結果表明,采用本文方法可以快速、可靠檢測Caltech數據集上的行人目標,是一種面向視頻監控應用的有效行人檢測方法。 [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] 肖德貴,辛晨,張婷,等.顯著性紋理結構特征及車載環境下的行人檢測[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].電視技術,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年度科技創新項目(永科發[2016]27號);湖南科技學院計算機應用技術重點學科資助。楊杰,副教授,主研領域:人工智能,計算機網絡。楊振南,講師。 TP391 A 10.3969/j.issn.1000-386x.2017.08.039
2 仿真實驗





3 結 語
(SchoolofElectronicsandInformationEngineering,HunanUniversityofScienceandEngineering,Yongzhou425000,Hunan,China)