劉 劍,徐 萌,趙 悅,張 銳,高恩陽
(沈陽建筑大學(xué) 信息與控制工程學(xué)院,沈陽 110168) E-mail:jeanliu10@163.com
近年來,隨著智能建筑的發(fā)展,建筑物內(nèi)行人檢測問題受到極大的關(guān)注,成為當(dāng)前國內(nèi)外研究的熱點之一.但由于光照、行人姿勢等客觀因素影響,檢測技術(shù)仍存在諸多挑戰(zhàn).目前,針對行人檢測算法的研究主要有幀差法、背景消去法和方向梯度直方圖(Histograms of Oriented Gradients,HOG)等方法.Dalal等[1]提出的HOG算法是基于形狀的特征提取,可以實現(xiàn)平移和旋轉(zhuǎn)不變性,但只在一定程度上減少了光照變換的影響.當(dāng)行人姿勢變化,檢測準(zhǔn)確率則下降.Felzenszwalb等[2]提出部件模型算法(Deformable Parts Model,DPM),從不同尺度上對人體特征進(jìn)行檢測.Cui等[3]采用計算深度圖像中顏色特征直方圖方法,進(jìn)行特征匹配實現(xiàn)識別與跟蹤;Karpushin等[4]通過檢測視頻深度圖像中感興趣點實現(xiàn)關(guān)鍵點的特征提取;Lu等[5]提出距離樣本深度特征提取算法(Range-Sample Depth Feature,RSDF),該方法以感興趣區(qū)域間的距離為特征,實現(xiàn)較好的檢測效果.基于感興趣區(qū)域的特征提取,多數(shù)具有尺度和旋轉(zhuǎn)不變性,但是對于亮度變化和弱紋理對象提取效果較低[6],檢測準(zhǔn)確度較低;Ren[7]等提出基于泛化和檢測平衡共生特征的檢測方法(Generalization and Efficiency Balanced Co-occurrence Features,GEBCF),應(yīng)用Haar(Haar-like)、HOG、LBP(Local Binary Pattern)的共生特征,提高了檢測效果;Zhang[8]等提出濾波通道特征方法(Filtered channel features,FCF),在一定程度上實現(xiàn)多角度的檢測,但對彩色圖像檢測誤差較大.本文針對目前傳統(tǒng)彩色圖像行人檢測算法中存在檢測不準(zhǔn)確、實時性差等問題,提出一種基于深度圖像特征的行人檢測方法,首先對深度圖像中方向梯度及深度差值進(jìn)行處理;再利用隨機(jī)森林分類器對其進(jìn)行分類,實現(xiàn)樣本訓(xùn)練及行人檢測.
Kinect能夠保持圖像顏色及紋理不變,并解決不同姿勢產(chǎn)生的輪廓模糊等問題,消除一部分背景對檢測過程的影響.但是,由于深度圖像存儲的信息與傳統(tǒng)彩色圖像不同,所以特征提取的方式也需要改進(jìn).受傳統(tǒng)HOG特征提取的方法啟發(fā),利用滑動窗口對深度圖像中深度差值特征及方向梯度特征進(jìn)行提取.
深度圖像是包含場景中距離信息的圖像,對比傳統(tǒng)的彩色圖像具有更強(qiáng)的抗干擾等能力且可以消除光照變化、遮擋等影響.但是其具有噪聲大、精度低的特點,在特征提取之前需要對其進(jìn)行平滑、降噪等預(yù)處理,以最大程度還原真實場景的信息.中值濾波方法相較于其他濾波器能夠更好地保留圖像的邊緣等細(xì)節(jié)信息[9],因此筆者選取中值濾波進(jìn)行預(yù)處理.
2.2.1 深度差值特征
深度圖像中每個像素都儲存著對應(yīng)的深度信息,利用不同位置深度信息的差異,可以比較得出對應(yīng)的深度差值(Depth Difference,DD)特征.如圖1所示,在深度圖像I中,取像素x,并設(shè)定參數(shù)θ=(u,v),其中u,v為像素x的偏移像素.θ1,θ2為在不同位置的偏移參數(shù).可以看出,在不同位置偏移像素的深度差有所不同,且相似位置的深度差具有相似性.人體與背景環(huán)境的深度值會有很大差別,所以在身體邊緣位置的偏移像素深度差較大,而在身體內(nèi)部的深度差則小得多.此特征可以較好的提取出人體邊緣及內(nèi)部的像素.
由此,可列出深度差值的計算公式如下:
(1)
其中,dI(x)是圖像I中像素x處的深度;DDθ(I,x)為深度圖像I中位于x處的像素點的深度差值特征,即偏移像素u,v兩處的深度值之差.
圖1 深度差值特征示意圖Fig.1 Schematic diagram of depth difference feature
2.2.2 深度方向梯度特征
通過深度差值特征的運(yùn)算能夠較好地確定行人邊緣,并將行人從背景中提取出來.但是存在一部分背景像素本身深度差值較小的情況,易與人體內(nèi)部像素混淆,產(chǎn)生誤檢.采用深度圖像方向梯度特征可區(qū)分背景像素與身體內(nèi)部像素.
圖2 人體分塊示意圖Fig.2 Schematic diagram of the body part
深度圖像的方向梯度(Direction Gradientof Depth,DGD)特征定義為像素點所在平面與Kinect所在平面的夾角,具體表達(dá)式如式(2).當(dāng)像素點落在同一平面則有相同的方向梯度,反之則有不同的方向梯度.如圖2所示,人體可分為頭、手臂、手掌、腿和足等部分,各部分內(nèi)部的點均處于同一平面.所以方向梯度特征可以將混淆的像素明確區(qū)分為身體各部分內(nèi)部像素或背景像素.
(2)
其中,p(x,y)為深度圖像中位于x列y行的像素點深度值.方向梯度的范圍為[0°,360°].且有以下兩種特殊情況:
①當(dāng)dx=0,dy=0時,則DGDp(x,y)=0;
②當(dāng)dx≠0,dy=0時:
若dx>0,則DGDp(x,y)=360°;
若dx<0,則DGDp(x,y)=180°.
為得到深度圖像的特征向量,筆者借鑒HOG算法的思路.首先確定一個固定大小的檢測窗口,同時將其分為若干個block塊[10].然后將block均分成若干小的cell細(xì)胞單元,在每個cell上分別計算各個像素點的深度差值及深度方向梯度.然后基于方向的bin投票,將同一cell上相同方向梯度的深度差值按權(quán)重累計,從而形成直方圖.
設(shè)窗口中block大小為ζ×ζ個細(xì)胞單元,細(xì)胞單元大小為η×η像素,每個細(xì)胞單元有β個方向bin,檢測窗口中block的個數(shù)為σ,則特征向量的維數(shù)為n=ζ×ζ×β×σ.而第k個細(xì)胞單元的特征向量Gk可表示為:
(3)
n維深度特征向量則可以表示為:
G=(G1,G2,…,Gn)
(4)
為了保證特征提取的準(zhǔn)確性和全面性,還需要滑動窗口對整個圖像進(jìn)行遍歷,以完成所有深度方向梯度特征的提取.對于分辨率為M×N的深度圖像,圖片將劃分為Φ個窗口,其計算方程如下:
Φ=?×φ
(5)
其中,?=M/64為圖像橫向可取的窗口數(shù)量;φ=N/128為圖像縱向可取的窗口數(shù)量.窗口每次滑動在橫縱方向上移動距離為(M-64)/(φ-1)及(M-128)/(φ-1).通過窗口滑動和檢測即可用Φ個窗口的方向梯度特征表示每一幅深度圖像.滑動窗口特征提取的過程如圖3所示.
方向梯度特征向量的維數(shù)很大,這將會降低識別的精度,也會影響分類的速度.所以降維在特征提取的過程中非常重要,主成分分析法(Principal Component Analysis,PCA)是通過對原始變量做線性投影進(jìn)行空間變換,從而在維度較低的空間得到新的變量,降維效果比較顯著.而深度圖像區(qū)域形狀內(nèi)灰度特征較弱,所以降維不會對特征的表達(dá)產(chǎn)生很大影響.由此,此處采用主成分分析方法優(yōu)化特征向量.
圖3 滑動窗口特征提取流程圖Fig.3 Flow chat of feature extraction by sliding window
PCA優(yōu)化分為兩部分.首先對在檢測窗口中得出的n維特征向量進(jìn)行優(yōu)化,設(shè)n=σ×δ,其中δ=ζ×ζ×β,以此構(gòu)建協(xié)方差矩陣[11].則均值及協(xié)方差矩陣公式如下:
(6)
(7)
其中,A與G均為特征向量矩陣,且A?G,AT為正交變換矩陣,ST為對角矩陣.協(xié)方差矩陣特征向量表示為:
(8)
其中,λ(i)為特征向量空間變量值的方差,χ(i)為對應(yīng)的特征向量[12].由PCA算法原理,需將特征向量按降序排列,并選取前p個向量進(jìn)行運(yùn)算.降維表達(dá)式如下:
V(i)=(Gi-μ)U(i);i=1,2,…,p
(9)
在滑動窗口檢測過程中將得到Φ個窗口,每個窗口都有其對應(yīng)特征序列,每個序列特征向量維數(shù)為p,構(gòu)成的二維矩陣數(shù)量為Φ×p.此處再次對其降維,并取前p個向量作為深度圖像最終的特征向量.
行人的深度特征向量提取出來后,需要利用分類器得到模型.常用的算法有支持向量機(jī)(Support Vector Machine,SVM)、自適應(yīng)增強(qiáng)算法(Adaboost)、神經(jīng)網(wǎng)絡(luò)算法(Neural Networks)和隨機(jī)森林(Random Forest)等方法.其中,隨機(jī)森林分類器較其他幾種算法具有分類速度快、能力強(qiáng)和魯棒性好等特點[13].
圖4 隨機(jī)森林分類示意圖Fig.4 Schematic diagram of classify by random forest
隨機(jī)森林分類器是由多棵CART決策樹構(gòu)成,每棵決策樹均是由有放回抽取的子樣本進(jìn)行訓(xùn)練,各個決策樹訓(xùn)練過程如圖4所示.隨機(jī)森林對輸入的數(shù)據(jù)要分別進(jìn)行行和列的采樣.具體訓(xùn)練過程如下:
1)在訓(xùn)練樣本集S中,采用Boostrap方法進(jìn)行抽樣[14],生成n個子訓(xùn)練集Si;
2)每個子集Si均按以下步驟生成一棵決策樹:
①在W個特征中選取w個特征(w≤W);
③采用完全分裂的方式建立決策樹.
3)重復(fù)步驟⑵直到所有節(jié)點均達(dá)到葉子結(jié)點或不能再分裂;
4)重復(fù)步驟(1)-(3)形成大量決策樹,從而形成隨機(jī)森林.
圖5 本文算法行人檢測流程圖Fig.5 Flow chart of pedestrian detection method based on depth image feature
綜上所述,本文行人檢測的流程如圖5所示.
本文實驗在Inter(R) Core(TM) i5-4200M 的CPU,4GB內(nèi)存的Windows7 系統(tǒng)下,QT 5.0結(jié)合OPENCV2.4.8為編程實驗平臺,MATLAB2015b為仿真平臺.采用Kinect相機(jī),
表1 不同環(huán)境條件下三種方法的檢測率對比
Table 1 Comparison of detection rates of three methods under different environmental conditions
環(huán)境條件檢測率/%本文算法GEBCF算法FCF算法一般情況90.7491.6590.23遮擋88.1487.8986.39光照強(qiáng)度差84.3984.5284.01背景復(fù)雜87.6987.7386.92
每秒30幀的速度,圖像像素為640×480.為了完整保持深度信息,采用圖像的位深是16bit,圖像灰度值的范圍是0~65535.當(dāng)取值為0時,距離為最近有效距離,當(dāng)取值為65535時,距離為Kinect深度攝像機(jī)所能支持的最遠(yuǎn)距離.本文實驗中Kinect的最有效探測距離是1.2米至3.5米.采集的深度圖樣本如圖6(b)所示.
為驗證算法在行人檢測中的準(zhǔn)確性,本文在不同場景中進(jìn)行行人檢測的對比實驗.在實驗結(jié)果中選取部分檢測效果圖,并計算三種方法在一般、遮擋、光照較弱、背景復(fù)雜等四種情況的平均檢測率.圖6為一般情況下的部分檢測結(jié)果,可以看出本算法的檢測取得了較好的效果.圖7為出現(xiàn)遮擋的情況下部分檢測結(jié)果,可看出本文算法對遮擋情況處理較為理想,檢測結(jié)果更準(zhǔn)確.圖8為光照較弱的情況下三種算法的檢測結(jié)果.圖9為背景較復(fù)雜時檢測的效果圖.
表1為三種方法在一般情況、遮擋、光照強(qiáng)度弱、背景復(fù)雜等四種環(huán)境下的檢測率.由圖6-圖9及表1可知,三種算法在一般情況下均有較好的檢測效果;當(dāng)人群密集或出現(xiàn)遮擋情況時,三種算法的檢測率均降低,會出現(xiàn)部分誤檢漏檢情況,本文算法檢測率雖有所下降但基本優(yōu)于另兩種算法;當(dāng)在光照較差的環(huán)境下進(jìn)行檢測時,三種算法檢測率下降較多,本文算法檢測率略低于GEBCF算法;在復(fù)雜的背景條件下,檢測率均有下降,另兩種算法易出現(xiàn)誤檢情況.
DET(Detection Error Tradeoff)曲線可用于評估三種方法的檢測效果.DET曲線表示漏檢率與誤報率的關(guān)系.
由圖10可知, 當(dāng)誤報率較大時,三種算法的漏檢率基本持平, 但當(dāng)誤報率小于10-3時, 本文算法漏檢率明顯低于其他兩種. GEBCF算法采用共生特征, 并在訓(xùn)練過程中添加了泛化和檢測率平衡環(huán)節(jié), 檢測效果較為穩(wěn)定, 但出現(xiàn)人群密度過大或姿勢的形變時, 易出現(xiàn)檢測率大幅下降的情況. FCF算法對底層特征使用濾波器組進(jìn)行濾波, 并使用boosted決策樹分類, 模板性能得到優(yōu)化, 但光照等外界條件的變化則對其影響過大. 本文算法有效避免這兩方面的問題, 所以在誤檢率較低的情況下漏檢率也能夠保持較低.
圖6 一般情況下三種方法檢測對比圖Fig.6 Comparison chart of three detection methods under normal circumstances
其次,改變檢測樣本數(shù),分析本文算法檢測率與檢測時間產(chǎn)生的變化,所得結(jié)果如圖11所示.
圖7 遮擋情況下三種方法檢測對比圖Fig.7 Comparison chart of three detection methods under occlusion
圖8 光照較弱情況下三種方法對比圖Fig.8 Comparison chart of three detection methods when illumination is weak
圖9 復(fù)雜背景下三種方法對比圖Fig.9 Comparison chart of three detection methods in complex background
本文通過500個測試樣本對系統(tǒng)進(jìn)行評估,算法平均檢測率為87.89%,GEBCF及FCF算法檢測率約為86.97%、87.21%.由11(a)可知,檢測樣本低于60時,本文算法檢測率優(yōu)勢明顯;當(dāng)檢測樣本逐漸增多,檢測率有所降低,出現(xiàn)低于另兩種算法的情況.由圖11(b)可知,本文算法的檢測時間較其他兩種算法更短,則效率更高,當(dāng)樣本數(shù)量達(dá)到100以上時,檢測時間約為12.1s,平均每幀檢測時間可達(dá)0.121s,具有顯著提升.
本文算法GEBFCF035.030.025.020.015.010.005.010-610-510-410-310-210-1誤報率()FPPW漏檢率圖10 三種方法DET曲線對比圖Fig.10 ComparisonchartofthreeDETcurve本文算法GEBFCF本文算法GEBFCF898887868520406080100120檢測樣本數(shù)()nc20406080100120檢測樣本數(shù)()nc檢測率(%)20151050檢測時間()s()檢測率與樣本數(shù)關(guān)系a()檢測時間與樣本數(shù)關(guān)系b圖11 三種方法受樣本數(shù)量影響曲線圖Fig.11 Curvechartofthreemethodsaffectedbythenumberoftestedsamples
最后,在相同環(huán)境下,行人的密集程度也會影響算法的檢測率,表2列出了三種算法在不同人數(shù)時的檢測率.
由表2可知,本文算法對目標(biāo)的檢測有較好的檢測效果,平均檢測率為87.90%,GEBCF算法、FCF算法平均檢測率分別為87.26%、87.29%.當(dāng)檢測人數(shù)不斷增多,檢測率有所下降,且出現(xiàn)檢測率低于另兩種的情況,但只在人數(shù)過于密集的情況發(fā)生.這是由于另兩種算法運(yùn)用多種特征,但均是對RGB圖像進(jìn)行分析,而RGB圖像受場景環(huán)境影響極大,同時二維圖像對行人相鄰重疊區(qū)域無法進(jìn)行有效處理.而本文算法通過計算人體不同部位的深度差值,并根據(jù)各身體部位的方度梯度特征有同一性的特點,有效提取出了深度圖像特征,不僅降低了特征提取過程的運(yùn)算量,也提高了檢測率.但人群密集對檢測效果仍有大幅度的影響,這也是下一步研究的重點.
表2 三種算法在不同人數(shù)的平均檢測率對比
Table 2 Comparison ofaverage detection rate of three methods in different number of people
人數(shù)P檢測率/%本文算法GEBCF算法FCF算法0≤P≤190.4590.3189.591
2085.7786.0285.41
本文針對建筑物內(nèi)行人檢測問題進(jìn)行研究,建立了一種基于深度特征的行人檢測算法.應(yīng)用滑動窗口在深度圖像中進(jìn)行深度差值特征及方向梯度特征的提取,并利用PCA算法在過程中兩次進(jìn)行降維,明顯降低了運(yùn)算復(fù)雜度,提高了特征提取和匹配過程的速度.本文算法利用深度信息,可降低部分外界環(huán)境對算法檢測效果的影響,能夠較為準(zhǔn)確地確定行人的位置信息.相較于目前的行人檢測算法,能夠?qū)崿F(xiàn)多角度的檢測準(zhǔn)確性,并且在檢測速度上也有一定優(yōu)勢,對解決機(jī)場、停車場、地鐵站、超市等建筑物內(nèi)的行人檢測問題具有重要的指導(dǎo)意義.
[1] Dalal N,Triggs B.Histograms of oriented gradients for human detection[C].Computer Vision and Pattern Recognition,2005 IEEE Computer Society Conference on.IEEE,2005:886-893.
[2] Felzenszwalb P F,Girshick R B,Mcallester D,et al.Object detection with discriminatively trained part-based models[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2010,32(9):1627-1645.
[3] Cui W,Wang W,Liu H.Robust hand tracking with refined CAMShift based on combination of depth and image features[C].Robotics and Biomimetics,2012 IEEE International Conference on,IEEE,2012:1355-1361.
[4] Karpushin M,Valenzise G,Dufaux F.Local visual features extraction from texture + depth content based on depth image analysis[C].Image Processing,2014 IEEE International Conference on,IEEE,2014:2809-2813.
[5] Lu C,Jia J,Tang C K.Range-sample depth feature for action recognition[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2014:772-779.
[6] Shi Pei-bei,Liu Gui-quan,Wang Zhong.Fast incremental learning method for pedestrian detection[J].Journal of Chinese Computer Systems,2015,36(8):1837-1841.
[7] Ren H,Li Z N.Object detection using generaliz-ation and efficiency balanced Co-occurrence features[C].Proceedings of the IEEE International Conference on Computer Vision,2015:46-54.
[8] Zhang S,Benenson R,Schiele B.Filtered channel features for pedestrian detection[C].Computer Vision and Pattern Recognition,2015 IEEE Conference on,IEEE,2015:1751-1760.
[9] Pedersoli M,Gonzalez J,Hu X,et al.Toward real-time pedestrian detection based on a deformable template model[J].IEEE Transactions on Intelligent Transportation Systems,2014,15(1):355-364.
[10] Liu Jian,Liu Ya-nan,Gao En-yang,et al.Human detection method based on foreground segmentation [J].Journal of Chinese Computer Systems,2014,35(3):654-658.
[11] Yin Hong-peng,Chen Bo,Chai Yi,et al.Vision-based object detection and tracking:a review [J].Acta Automatica Sinica,2016,42(10):1466-1489.
[12] Yang Jin-ji,Wang Yi.Application research of discrete orthogonal s-transform in face recognition[J].Journal of Chinese Computer Systems,2017,38(1):169-173.
[13] Xiang Tao,Li Tao,Li Xu-dong,et al.Random forests for hierarchical pedestrian detection[J].Application Research of Computers,2015,32(7):2196-2199.
[14] Marin J,Vázquez D,López A M,et al.Random forests of local experts for pedestrian detection[C].Proceedings of the IEEE International Conference on Computer Vision,2013:2592-2599.
附中文參考文獻(xiàn):
[6] 施培蓓,劉貴全,汪 中.基于快速增量學(xué)習(xí)的行人檢測方法[J].小型微型計算機(jī)系統(tǒng),2015,36(8):1837-1841.
[10] 劉 劍,劉亞楠,高恩陽,等.基于前景分割的行人檢測方法[J].小型微型計算機(jī)系統(tǒng),2014,35(3):654-658.
[11] 尹宏鵬,陳 波,柴 毅,等.基于視覺的目標(biāo)檢測與跟蹤綜述[J].自動化學(xué)報,2016,42(10):1466-1489.
[12] 楊晉吉,王 燚.離散正交S變換在人臉識別中的應(yīng)用研究[J].小型微型計算機(jī)系統(tǒng),2017,38(1):169-173.
[13] 向 濤,李 濤,李旭冬,等.基于隨機(jī)森林的層次行人檢測算法[J].計算機(jī)應(yīng)用研究,2015,32(7):2196-2199.