劉 劍,徐 萌,趙 悅,張 銳,高恩陽
(沈陽建筑大學 信息與控制工程學院,沈陽 110168) E-mail:jeanliu10@163.com
近年來,隨著智能建筑的發展,建筑物內行人檢測問題受到極大的關注,成為當前國內外研究的熱點之一.但由于光照、行人姿勢等客觀因素影響,檢測技術仍存在諸多挑戰.目前,針對行人檢測算法的研究主要有幀差法、背景消去法和方向梯度直方圖(Histograms of Oriented Gradients,HOG)等方法.Dalal等[1]提出的HOG算法是基于形狀的特征提取,可以實現平移和旋轉不變性,但只在一定程度上減少了光照變換的影響.當行人姿勢變化,檢測準確率則下降.Felzenszwalb等[2]提出部件模型算法(Deformable Parts Model,DPM),從不同尺度上對人體特征進行檢測.Cui等[3]采用計算深度圖像中顏色特征直方圖方法,進行特征匹配實現識別與跟蹤;Karpushin等[4]通過檢測視頻深度圖像中感興趣點實現關鍵點的特征提取;Lu等[5]提出距離樣本深度特征提取算法(Range-Sample Depth Feature,RSDF),該方法以感興趣區域間的距離為特征,實現較好的檢測效果.基于感興趣區域的特征提取,多數具有尺度和旋轉不變性,但是對于亮度變化和弱紋理對象提取效果較低[6],檢測準確度較低;Ren[7]等提出基于泛化和檢測平衡共生特征的檢測方法(Generalization and Efficiency Balanced Co-occurrence Features,GEBCF),應用Haar(Haar-like)、HOG、LBP(Local Binary Pattern)的共生特征,提高了檢測效果;Zhang[8]等提出濾波通道特征方法(Filtered channel features,FCF),在一定程度上實現多角度的檢測,但對彩色圖像檢測誤差較大.本文針對目前傳統彩色圖像行人檢測算法中存在檢測不準確、實時性差等問題,提出一種基于深度圖像特征的行人檢測方法,首先對深度圖像中方向梯度及深度差值進行處理;再利用隨機森林分類器對其進行分類,實現樣本訓練及行人檢測.
Kinect能夠保持圖像顏色及紋理不變,并解決不同姿勢產生的輪廓模糊等問題,消除一部分背景對檢測過程的影響.但是,由于深度圖像存儲的信息與傳統彩色圖像不同,所以特征提取的方式也需要改進.受傳統HOG特征提取的方法啟發,利用滑動窗口對深度圖像中深度差值特征及方向梯度特征進行提取.
深度圖像是包含場景中距離信息的圖像,對比傳統的彩色圖像具有更強的抗干擾等能力且可以消除光照變化、遮擋等影響.但是其具有噪聲大、精度低的特點,在特征提取之前需要對其進行平滑、降噪等預處理,以最大程度還原真實場景的信息.中值濾波方法相較于其他濾波器能夠更好地保留圖像的邊緣等細節信息[9],因此筆者選取中值濾波進行預處理.
2.2.1 深度差值特征
深度圖像中每個像素都儲存著對應的深度信息,利用不同位置深度信息的差異,可以比較得出對應的深度差值(Depth Difference,DD)特征.如圖1所示,在深度圖像I中,取像素x,并設定參數θ=(u,v),其中u,v為像素x的偏移像素.θ1,θ2為在不同位置的偏移參數.可以看出,在不同位置偏移像素的深度差有所不同,且相似位置的深度差具有相似性.人體與背景環境的深度值會有很大差別,所以在身體邊緣位置的偏移像素深度差較大,而在身體內部的深度差則小得多.此特征可以較好的提取出人體邊緣及內部的像素.
由此,可列出深度差值的計算公式如下:
(1)
其中,dI(x)是圖像I中像素x處的深度;DDθ(I,x)為深度圖像I中位于x處的像素點的深度差值特征,即偏移像素u,v兩處的深度值之差.

圖1 深度差值特征示意圖Fig.1 Schematic diagram of depth difference feature
2.2.2 深度方向梯度特征
通過深度差值特征的運算能夠較好地確定行人邊緣,并將行人從背景中提取出來.但是存在一部分背景像素本身深度差值較小的情況,易與人體內部像素混淆,產生誤檢.采用深度圖像方向梯度特征可區分背景像素與身體內部像素.

圖2 人體分塊示意圖Fig.2 Schematic diagram of the body part
深度圖像的方向梯度(Direction Gradientof Depth,DGD)特征定義為像素點所在平面與Kinect所在平面的夾角,具體表達式如式(2).當像素點落在同一平面則有相同的方向梯度,反之則有不同的方向梯度.如圖2所示,人體可分為頭、手臂、手掌、腿和足等部分,各部分內部的點均處于同一平面.所以方向梯度特征可以將混淆的像素明確區分為身體各部分內部像素或背景像素.
(2)
其中,p(x,y)為深度圖像中位于x列y行的像素點深度值.方向梯度的范圍為[0°,360°].且有以下兩種特殊情況:
①當dx=0,dy=0時,則DGDp(x,y)=0;
②當dx≠0,dy=0時:
若dx>0,則DGDp(x,y)=360°;
若dx<0,則DGDp(x,y)=180°.
為得到深度圖像的特征向量,筆者借鑒HOG算法的思路.首先確定一個固定大小的檢測窗口,同時將其分為若干個block塊[10].然后將block均分成若干小的cell細胞單元,在每個cell上分別計算各個像素點的深度差值及深度方向梯度.然后基于方向的bin投票,將同一cell上相同方向梯度的深度差值按權重累計,從而形成直方圖.
設窗口中block大小為ζ×ζ個細胞單元,細胞單元大小為η×η像素,每個細胞單元有β個方向bin,檢測窗口中block的個數為σ,則特征向量的維數為n=ζ×ζ×β×σ.而第k個細胞單元的特征向量Gk可表示為:

(3)
n維深度特征向量則可以表示為:
G=(G1,G2,…,Gn)
(4)
為了保證特征提取的準確性和全面性,還需要滑動窗口對整個圖像進行遍歷,以完成所有深度方向梯度特征的提取.對于分辨率為M×N的深度圖像,圖片將劃分為Φ個窗口,其計算方程如下:
Φ=?×φ
(5)
其中,?=M/64為圖像橫向可取的窗口數量;φ=N/128為圖像縱向可取的窗口數量.窗口每次滑動在橫縱方向上移動距離為(M-64)/(φ-1)及(M-128)/(φ-1).通過窗口滑動和檢測即可用Φ個窗口的方向梯度特征表示每一幅深度圖像.滑動窗口特征提取的過程如圖3所示.
方向梯度特征向量的維數很大,這將會降低識別的精度,也會影響分類的速度.所以降維在特征提取的過程中非常重要,主成分分析法(Principal Component Analysis,PCA)是通過對原始變量做線性投影進行空間變換,從而在維度較低的空間得到新的變量,降維效果比較顯著.而深度圖像區域形狀內灰度特征較弱,所以降維不會對特征的表達產生很大影響.由此,此處采用主成分分析方法優化特征向量.

圖3 滑動窗口特征提取流程圖Fig.3 Flow chat of feature extraction by sliding window
PCA優化分為兩部分.首先對在檢測窗口中得出的n維特征向量進行優化,設n=σ×δ,其中δ=ζ×ζ×β,以此構建協方差矩陣[11].則均值及協方差矩陣公式如下:
(6)
(7)
其中,A與G均為特征向量矩陣,且A?G,AT為正交變換矩陣,ST為對角矩陣.協方差矩陣特征向量表示為:
(8)
其中,λ(i)為特征向量空間變量值的方差,χ(i)為對應的特征向量[12].由PCA算法原理,需將特征向量按降序排列,并選取前p個向量進行運算.降維表達式如下:
V(i)=(Gi-μ)U(i);i=1,2,…,p
(9)
在滑動窗口檢測過程中將得到Φ個窗口,每個窗口都有其對應特征序列,每個序列特征向量維數為p,構成的二維矩陣數量為Φ×p.此處再次對其降維,并取前p個向量作為深度圖像最終的特征向量.
行人的深度特征向量提取出來后,需要利用分類器得到模型.常用的算法有支持向量機(Support Vector Machine,SVM)、自適應增強算法(Adaboost)、神經網絡算法(Neural Networks)和隨機森林(Random Forest)等方法.其中,隨機森林分類器較其他幾種算法具有分類速度快、能力強和魯棒性好等特點[13].

圖4 隨機森林分類示意圖Fig.4 Schematic diagram of classify by random forest
隨機森林分類器是由多棵CART決策樹構成,每棵決策樹均是由有放回抽取的子樣本進行訓練,各個決策樹訓練過程如圖4所示.隨機森林對輸入的數據要分別進行行和列的采樣.具體訓練過程如下:
1)在訓練樣本集S中,采用Boostrap方法進行抽樣[14],生成n個子訓練集Si;
2)每個子集Si均按以下步驟生成一棵決策樹:
①在W個特征中選取w個特征(w≤W);

③采用完全分裂的方式建立決策樹.
3)重復步驟⑵直到所有節點均達到葉子結點或不能再分裂;
4)重復步驟(1)-(3)形成大量決策樹,從而形成隨機森林.

圖5 本文算法行人檢測流程圖Fig.5 Flow chart of pedestrian detection method based on depth image feature
綜上所述,本文行人檢測的流程如圖5所示.
本文實驗在Inter(R) Core(TM) i5-4200M 的CPU,4GB內存的Windows7 系統下,QT 5.0結合OPENCV2.4.8為編程實驗平臺,MATLAB2015b為仿真平臺.采用Kinect相機,
表1 不同環境條件下三種方法的檢測率對比
Table 1 Comparison of detection rates of three methods under different environmental conditions

環境條件檢測率/%本文算法GEBCF算法FCF算法一般情況90.7491.6590.23遮擋88.1487.8986.39光照強度差84.3984.5284.01背景復雜87.6987.7386.92
每秒30幀的速度,圖像像素為640×480.為了完整保持深度信息,采用圖像的位深是16bit,圖像灰度值的范圍是0~65535.當取值為0時,距離為最近有效距離,當取值為65535時,距離為Kinect深度攝像機所能支持的最遠距離.本文實驗中Kinect的最有效探測距離是1.2米至3.5米.采集的深度圖樣本如圖6(b)所示.
為驗證算法在行人檢測中的準確性,本文在不同場景中進行行人檢測的對比實驗.在實驗結果中選取部分檢測效果圖,并計算三種方法在一般、遮擋、光照較弱、背景復雜等四種情況的平均檢測率.圖6為一般情況下的部分檢測結果,可以看出本算法的檢測取得了較好的效果.圖7為出現遮擋的情況下部分檢測結果,可看出本文算法對遮擋情況處理較為理想,檢測結果更準確.圖8為光照較弱的情況下三種算法的檢測結果.圖9為背景較復雜時檢測的效果圖.
表1為三種方法在一般情況、遮擋、光照強度弱、背景復雜等四種環境下的檢測率.由圖6-圖9及表1可知,三種算法在一般情況下均有較好的檢測效果;當人群密集或出現遮擋情況時,三種算法的檢測率均降低,會出現部分誤檢漏檢情況,本文算法檢測率雖有所下降但基本優于另兩種算法;當在光照較差的環境下進行檢測時,三種算法檢測率下降較多,本文算法檢測率略低于GEBCF算法;在復雜的背景條件下,檢測率均有下降,另兩種算法易出現誤檢情況.
DET(Detection Error Tradeoff)曲線可用于評估三種方法的檢測效果.DET曲線表示漏檢率與誤報率的關系.
由圖10可知, 當誤報率較大時,三種算法的漏檢率基本持平, 但當誤報率小于10-3時, 本文算法漏檢率明顯低于其他兩種. GEBCF算法采用共生特征, 并在訓練過程中添加了泛化和檢測率平衡環節, 檢測效果較為穩定, 但出現人群密度過大或姿勢的形變時, 易出現檢測率大幅下降的情況. FCF算法對底層特征使用濾波器組進行濾波, 并使用boosted決策樹分類, 模板性能得到優化, 但光照等外界條件的變化則對其影響過大. 本文算法有效避免這兩方面的問題, 所以在誤檢率較低的情況下漏檢率也能夠保持較低.

圖6 一般情況下三種方法檢測對比圖Fig.6 Comparison chart of three detection methods under normal circumstances
其次,改變檢測樣本數,分析本文算法檢測率與檢測時間產生的變化,所得結果如圖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 復雜背景下三種方法對比圖Fig.9 Comparison chart of three detection methods in complex background
本文通過500個測試樣本對系統進行評估,算法平均檢測率為87.89%,GEBCF及FCF算法檢測率約為86.97%、87.21%.由11(a)可知,檢測樣本低于60時,本文算法檢測率優勢明顯;當檢測樣本逐漸增多,檢測率有所降低,出現低于另兩種算法的情況.由圖11(b)可知,本文算法的檢測時間較其他兩種算法更短,則效率更高,當樣本數量達到100以上時,檢測時間約為12.1s,平均每幀檢測時間可達0.121s,具有顯著提升.

本文算法GEBFCF035.030.025.020.015.010.005.010-610-510-410-310-210-1誤報率()FPPW漏檢率圖10 三種方法DET曲線對比圖Fig.10 ComparisonchartofthreeDETcurve本文算法GEBFCF本文算法GEBFCF898887868520406080100120檢測樣本數()nc20406080100120檢測樣本數()nc檢測率(%)20151050檢測時間()s()檢測率與樣本數關系a()檢測時間與樣本數關系b圖11 三種方法受樣本數量影響曲線圖Fig.11 Curvechartofthreemethodsaffectedbythenumberoftestedsamples
最后,在相同環境下,行人的密集程度也會影響算法的檢測率,表2列出了三種算法在不同人數時的檢測率.
由表2可知,本文算法對目標的檢測有較好的檢測效果,平均檢測率為87.90%,GEBCF算法、FCF算法平均檢測率分別為87.26%、87.29%.當檢測人數不斷增多,檢測率有所下降,且出現檢測率低于另兩種的情況,但只在人數過于密集的情況發生.這是由于另兩種算法運用多種特征,但均是對RGB圖像進行分析,而RGB圖像受場景環境影響極大,同時二維圖像對行人相鄰重疊區域無法進行有效處理.而本文算法通過計算人體不同部位的深度差值,并根據各身體部位的方度梯度特征有同一性的特點,有效提取出了深度圖像特征,不僅降低了特征提取過程的運算量,也提高了檢測率.但人群密集對檢測效果仍有大幅度的影響,這也是下一步研究的重點.
表2 三種算法在不同人數的平均檢測率對比
Table 2 Comparison ofaverage detection rate of three methods in different number of people

人數P檢測率/%本文算法GEBCF算法FCF算法0≤P≤190.4590.3189.591
2085.7786.0285.41
本文針對建筑物內行人檢測問題進行研究,建立了一種基于深度特征的行人檢測算法.應用滑動窗口在深度圖像中進行深度差值特征及方向梯度特征的提取,并利用PCA算法在過程中兩次進行降維,明顯降低了運算復雜度,提高了特征提取和匹配過程的速度.本文算法利用深度信息,可降低部分外界環境對算法檢測效果的影響,能夠較為準確地確定行人的位置信息.相較于目前的行人檢測算法,能夠實現多角度的檢測準確性,并且在檢測速度上也有一定優勢,對解決機場、停車場、地鐵站、超市等建筑物內的行人檢測問題具有重要的指導意義.
[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.
附中文參考文獻:
[6] 施培蓓,劉貴全,汪 中.基于快速增量學習的行人檢測方法[J].小型微型計算機系統,2015,36(8):1837-1841.
[10] 劉 劍,劉亞楠,高恩陽,等.基于前景分割的行人檢測方法[J].小型微型計算機系統,2014,35(3):654-658.
[11] 尹宏鵬,陳 波,柴 毅,等.基于視覺的目標檢測與跟蹤綜述[J].自動化學報,2016,42(10):1466-1489.
[12] 楊晉吉,王 燚.離散正交S變換在人臉識別中的應用研究[J].小型微型計算機系統,2017,38(1):169-173.
[13] 向 濤,李 濤,李旭冬,等.基于隨機森林的層次行人檢測算法[J].計算機應用研究,2015,32(7):2196-2199.