歐陽毅 張三元 張 引
(浙江大學計算機科學與技術學院 杭州 310027)
人體檢測在人體動作識別、智能視頻監控、智能汽車及智能交通中都有著重要的應用,使其成為了一個研究熱點。由于人體運動為非剛性的目標運動,且受姿態、外觀、服飾及光照天氣等環境變化因素的影響較大,同時當人體部分被遮擋情況下,如何對其進行檢測也是一個研究難點。目前人體特征的提取通常都是尋找表示人體輪廓信息的方法,如差分與邊緣信息[1],多成分學習[2],Harr小波特征[3],以及梯度方向直方圖等[4-7]。
在各種人體特征提取中,HOG (Histograms of oriented Gradients)具有較好的檢測性能,但存在人體特征向量維數較大,在分類器的訓練與檢測時計算量都較大等缺點,主要是由于在特征檢測時需要在不同尺度多次迭代計算。另外圖像中多目標人物的檢測,對于半遮擋和尺度差異較大的人體目標檢測會失效,有研究通過子部件(part-based)即人體各肢體的檢測算子[8-13],能獲取較高準確率和較低虛警率,缺點是肢體匹配過程需較大計算代價。其中文獻[8]中將HOG與LBP (Local Binary Pattern)相結合來解決人體部分遮擋下的檢測。本文提出一種基于窗口梯度勢能(Window Gradient Potential Energy, WGPE)的人體檢測方法。在特征窗口掃描過程中,通過加權級聯支持向量機(SVM),實現對半遮擋情況下的人體檢測,利用稀疏-稠密窗口勢能集篩選縮短了檢測時間。由于WGPE利用了HOG特征計算過程中的梯度信息,因此本算法與其他的基于 HOG的快速檢測算法比較,并不需要增加過多的計算開銷,在背景較為平滑的圖像中,與文獻[14]檢測方法相比具有較少的檢測時間,對于較復雜的背景,本算法與傳統的 HOG檢測算法相當。實驗表明在人體檢測的準確率和效率方面有所提高,對于處于半遮擋情況下人體檢測,準確率也有明顯提高。
本文定義了窗口邊緣梯度勢能函數,當WGPE低于閾值時,則表明窗口中圖像背景區域較均勻,出現人體的概率較低,當WGPE值較高時,表明圖像邊緣信息豐富,出現人體的概率也隨之提高。邊緣勢能是一種刻畫目標邊緣特征梯度勢能變化的函數,不僅在人體檢測中適用,在檢測目標與背景區域具有邊緣差異的環境中同樣適用。因此對人體邊緣特征不具有特異性。
一階,二階和緊邊梯度勢能函數分別為

緊邊梯度勢能函數中e為調節因子,其作用是調節在x方向的梯度勢能強度,在整體勢能中的反應強度。n為勢能函數總數,m為窗口總數,當x和y方向上的梯度為 0時,梯度勢能函數有最小值 0。它為一種對稱能量函數,實際上二階勢能函數可看作是緊邊勢能函數的一個特例。
圖1(a)為3個通道中最大通道梯度的一階梯度勢能函數E1能量分布;圖1(b)為3個通道中最大通道梯度的二階梯度勢能函數E2能量分布;圖1(c)為3個通道中最大通道梯度的沿x方向的緊邊能量函數E3能量分布圖。由圖1可看出在一階梯度勢能函數的能量分布較雜亂。而圖1(b)和圖1(c)中人體邊緣能量分布較為明顯。窗口梯度勢能函數選擇E2或E3較合適。
將INRIA Person Dataset[4]中2100個正實例分為10組,分別計算他們的梯度能量,實驗中正例圖像大小為96×160,選取64×128的窗口計算其梯度勢能,忽略窗口邊緣像素,并對正樣本中的圖像進行左右鏡像以獲取更多的統計樣本,其分布直方圖結果如圖2所示。橫軸為組編號,縱軸為平均梯度勢能,具有人體的圖像,90%以上的樣本圖像窗口的WGPE均值大于300,造成這樣的結果其原因主要是由于人體在背景中邊緣梯度能量明顯。
對于負樣本,選取了INRIA圖像數據庫中街景圖像的1000個負樣本,分為10組分別計算他們的梯度能量,實驗中對不同大小的負樣本圖像,對負樣本中圖像按 16像素偏移計算多個滑動窗口的WGPE平均值,發現90%以上的負樣本圖像窗口的梯度勢能函數值均值小于 200。造成這樣的結果其原因主要是由于自然街景下的邊緣梯度能量明顯較弱,結果如圖3。
實驗中我們采用文獻[4]中使用的64×128大小的檢測窗口。對于正樣本我們采用 INRIA Person Dataset[4], CVC-01 Pedestrian Dataset[15]和MIT CBCL[16]人體數據庫的人體圖片并按照文件名進行隨機分組。在負樣本中采用INRIA Person Dataset中負樣本的日常環境背景進行分組,如:街景,樓梯,海岸,草地,山地,都市街景,森林,大門等分組進行分析,其中圖3中第4組異常的原因在于該組圖像中主要由草地,樹林等邊緣信息變化較大的環境圖片組成。因此邊緣勢能信息要明顯高于有人體圖片的邊緣勢能。而第3組圖像中由于圖像中主要部分為天空和海洋,邊緣特征信息變化不大,因此它們的邊緣勢能數值較低,明顯低于有人體圖像的邊緣勢能范圍。由于邊緣梯度勢能反映的是邊緣信息的梯度變化情況,對于檢測窗口大小發生變化時,需調整檢測窗口閾值。

圖1 測試圖像中各種梯度勢能分布情況

圖2 圖像96×160的10組正樣本WGPE的直方圖

圖3 圖像中10組負樣本WGPE的直方圖
在不同尺度下,利用 HOG特征進行圖像人體檢測,檢測時間會隨著尺度層數的增多而產生較長的檢測時間。本文提出基于稀疏-稠密窗口勢能過濾集的方式利用人體邊緣梯度特征的分布對人體檢測過程進行優化,以減少窗口檢測的時間,提高人體在線檢測響應能力。
本文方法在窗口特征計算時,通過減少窗口數量縮減人體檢測時間,為此需要對窗口進行篩選。文獻[14]提出采用級聯方式,利用Harr特征進行粗過濾,再使用 HOG特征進行進一步檢測。會獲得較好的檢測時間和效果。但該方法同時也增加了新的Harr特征計算時間。本文的思路是利用HOG中對梯度信息結合WGPE來進行預處理,并不需要過多的特征計算。為此我們定義了3種檢測窗口子集。稀疏窗口勢能集,稠密窗口勢能集和過渡窗口勢能集。
定義1檢測窗口 win為若干個塊(block)構成,其中一個塊由4個上下左右相鄰的子單元構成,檢測窗口的寬度為n×子單元×8,高度為n×2×子單元×8。

定義3稠密窗口勢能集 S W(n) = {win1, win2,…,winn} ∧ ?F( wini)>T,是若干個窗口的集合,且每個檢測窗口中平均勢能值都大于閾值T。
稠密窗口勢能集的作用是對窗口數量進行初步篩選,針對復雜背景中,背景區域中像素間梯度變化較快,如有較大區域是草地的圖像,這類區域在檢測時可以進行過濾,其中T為平均稠密窗口勢能閾值,由正樣本訓練數據的平均窗口勢能均值加兩倍方差計算得到。即T=mS+ 2ss。
定義4稀疏窗口勢能集 F W(n) = {win1, win2,…,winn} ∧ ?F( wini)<d是在若干個窗口的集合,且每個檢測窗口中平均勢能值都小于閾值d。
稀疏窗口勢能集的作用是對平滑區域進行篩選,針對非人體區域中像素間梯度變化并不明顯,在檢測時進行過濾,采用窗口平均梯度勢能函數來衡量窗口中梯度分布大小,較小梯度分布出現人體概率較低,如有較大區域是天空部分的圖像。其中d為平均稀疏窗口勢能閾值,由負樣本訓練數據的平均窗口勢能均值減兩倍方差計算得到。即df=mf-2sf。
定義5過渡邊緣梯度勢能集 M W(n) = {win1,win2,…,winn} ∧ (T/ 2 < ?F( wini) <d/2)是 若 干 個窗口的集合,且每個檢測窗口中平均勢能值位于稀疏窗口和稠密窗口間1/2區域。
過渡邊緣梯度勢能集是放寬檢測窗口的分布區域,目的是找出處于半遮擋環境下的人體目標。它將與加權 SVM 檢測算子進行卷積,確定半遮擋的人體目標。
對給定輸入輸出訓練集S={(x1,y1),… ,(xn,yn)}∈ (X×Y)n。采用類似文獻[6,14,17]的方法,首先將遮擋下肢的人體圖像作為正樣本加入訓練集中,為實現了用線性超平面劃分非線性可分的樣本,具體方法是:根據樣本分布的幾何位置,確定一個初始的線性分類超平面,旋轉這個超平面直至所有的正樣本都位于這個超平面的一側,則另一側的那些負樣本與正樣本是線性可分的,利用拉格朗日LSVM找到最優的線性分類超平面,將剩下的負樣本與正樣本組成新的訓練集,重復這些步驟直至所有的負樣本都被正確分開,這樣就找到了若干個線性分類超平面,組成了級聯結構。
本文按照文獻[4]方式來定義 HOG特征,與文獻[4]不同的是,在計算好圖像梯度后,首先采用稀疏-稠密窗口勢能集對待檢測的窗口進行過濾,再利用加權級聯 SVM 對過濾勢能窗口集進行卷積以實現人體檢測,使用加權級聯SVM來訓練檢測算子。
采用類似于文獻[18]的概率學習框架,對圖像按不同尺度進行檢測,計算出不同尺度下圖像的HOG特征,人體檢測窗口為目標人體可能出現的位置窗口:

其中WinL為第L層檢測窗口集合,L為不同尺度的層次,實驗中最大層數為64。遮擋環境下的人體快速性檢測算法如下(其中λ為縮放因子,實驗中取1/1.05):
步驟1 為去除光照對圖像的影響,在 RGB色彩空間上對圖像進行色彩伽馬歸一化。
步驟2 計算圖像邊緣信息:使用1維的離散微分掩碼模板[-1 0 1],同時在水平和垂直兩個方向上對圖像進行卷積計算,獲取圖像一階梯度信息。
步驟3 按照文獻[4]方式構建梯度方向直方圖。
步驟4 forL=Mto 1
Inew(x,y) = resize(I'(x,y),s);計算Inew(x,y)中各窗口的平均梯度勢能;
計算稀疏-稠密窗口勢能集SWL和FWL;
按照公式(2)計算過渡邊緣梯度勢能集MWL;
采用加權級聯 SVM 對MWL窗口進行人體檢測,滿足閾值條件的為人體窗口Hwin;
若MWL中所有窗口WGPE小于閾值則break;
s←λL;
endfor
訓練基于加權級聯SVM人檢測器采用2526正樣本和2700負樣本,來自INRIA圖像數據庫person對象集[4],CVC-01 Pedestrian Dataset[15]和 MIT CBCL人體數據庫[16]。在正樣本中,人體穿著不同顏色,款式和紋理的服裝,有不同的動作,面對攝像機的角度變化也較大,且在不同的光照條件和背景中拍攝的。負樣本集圖像中沒有人體,這些圖像是自然場景圖像。在Intel Core2 2.4 GHz CPU, 2 GB RAM的機器上測試。
實驗中采用HOG圖像特征,圖4(a)為采用多尺度HOG特征檢測結果,圖4(c)為文獻[6]中基于肢體部分后的檢測結果。圖4(b), 4(d)采用了加權級聯 SVM 算子,對于下肢部分遮擋的人體也可以檢測出,它們為直接采用加權級聯 SVM 算子進行檢測的結果,由圖可看出存在部分誤檢窗口,而圖4(e)則為通過過濾集窗口在檢測前進行過濾,檢測準確率優于圖4(d),進一步驗證了窗口梯度勢能對于檢測準確率提高的能力。

圖4 部分遮擋環境下人體檢測結果
為了進一步了解和分析真正類率和負正類率兩類誤差,我們引進利用 ROC (Receiver Operating Characteristic)曲線的ROC分析法來說明它。ROC曲線直觀反映了人體檢測的靈敏度和特異性以及兩類誤差率之間的關系。
檢測結果表明,本文方法對于無遮擋圖像一般具有較高檢測率,而對于人體部分遮擋或者與環境背景融為一體難以區分時,出現了一些漏檢現象。整體檢測結果用圖5 的 ROC曲線表示,以描述虛警率與準確率之間關系。本文方法的曲線與橫軸間所圍成的面積較大,表示在所有代價比上的平均性能較優,也反映了基于FWGPE對遮擋人體檢測的可分性好于傳統的HOG人體檢測方法[4]。

圖5 多層HOG方法[4],HOG-LBP[8]和本文的FWHOG方法ROC曲線圖
利用稀疏-稠密窗口勢能集檢測算子進行行人檢測,可以縮短稀疏窗口檢測結果中約30%的檢測時間,而準確率僅下降0.15%,結果如圖6所示。利用HOG稀疏窗口檢測時間為每幅300 ms。相對于不使用稀疏-稠密窗口勢能集過濾,直接用 HOG進行人體檢測檢測,時間在700 ms,系統可以縮短40%以上的檢測時間,而準確率下降0.15%以下。這主要是因為稀疏窗口人體檢測器僅對粗糙級人體檢測器的結果進行檢測,而粗級人體檢測器利用了HOG 計算所需計算的水平梯度和垂直梯度信息計算梯度能量,并不需要過多的計算開銷。因而可以極大提高檢測效率。
圖6(a), 6(b), 6(c)為直接使用HOG特征人體檢測的結果,其中圖6(b)為分層數為16;圖6(c)分層數為64;圖6(d)為本文方法,分層數為17層。由圖6可以看出,由于人體在圖像中大小的不同,當分層較高時檢測的漏檢率會下降,準確率上升。尺度大小的選擇,不僅決定了檢測時間,也決定了檢測準確率。采用本文的方法,通過判斷WGPE的大小,可獲取較少的分層。將 FWHOG算法與塔式HOG檢測算法對測試集中10組圖像進行檢查的平均結果如表1所示。
表1中最后一行為采用文獻[4]方法時總檢測窗口數量,當第 5層時,檢測窗口數量為 880,第 9層時,由于窗口尺寸變小,檢測窗口數量下降為561。當閾值T=200時,采用本文FWHOG方法,在第5層可跳過167個檢測窗口,第9層可跳過86個檢測窗口。當閾值越大,跳過的檢測窗口也越多。

圖6 基于FWGPE的HOG檢測方法與傳統的HOG多尺度檢測方法在不同尺度下人體檢測結果

表1 不同尺度下,FWHOG算法相對于多尺度HOG檢測中過濾的窗口數

表2 多尺度及不同梯度勢能閾值條件下FWHOG算法與多尺度HOG檢測中漏檢率與檢測時間(ms)
實驗中對人體局部遮擋的圖像進行檢測分析,定義圖像中人體遮擋率(Human Occlusion Ratio,HOR)HOR=PC/HB。其中(Part Occlusion PC)為人體被遮擋部分的像素大小,HB(Human Body)為人體的整體像素(實驗中,根據所見肢體大小按比例估計得到)。HOR比例分別為 0%-20%,20%-40%, 40%-60%, 60-80%, 80%以上5組,每組100張圖片。實驗發現,HOR小于40%時,FWHOG的檢測 TPR較高,而當 HOR大于 60%以上,FWHOG算法的 TPR(Ture Positive Rate)明顯下降。當HOR高于80%時,由于FWHOG方法失效,原因在于遮擋部分梯度勢能過低,檢測窗口被過濾,結果如表3所示。
本文提出了一種新的基于窗口梯度勢能的人體快速檢測算法。該算法基于 HOG特征,利用加權級聯 SVM 來提高對遮擋環境下人體的快速檢測。由于在現實應用中,視頻圖像分辨率不高,對于近距離的人體運動圖像和距離的人體圖像在像素級的分布上差異往往較大,因此需要使用不變尺度對人體進行檢測。為提高算法對于圖像中遮擋人體檢測的準確率,本文提出采用加權級聯 SVM 進行分層檢測,分別在不同分辨域下分別對人體進行檢測,實驗表明該算法與文獻[4,6,8]所采用的HOG檢測相比,檢測準確率有明顯提高,同時通過兩種過濾集方式,也提高了檢測效率,縮短了檢測時間。在未來的工作中,將進一步提高算法的運行速度,滿足目標跟蹤等應用的需求。

表3 人體局部遮擋情況下FWHOG算法與多尺度HOG算法檢測遮擋分析
[1]甘明剛, 陳杰, 劉勁, 等. 一種基于三幀差分和邊緣信息的運動目標檢測方法[J]. 電子與信息學報, 2010, 32(4): 894-897.
Gan Ming-gang, Chen Jie, Liu Jin,et al.. Moving object detection algorithm based on three-frame-differencing and edge information[J].Journal of Electronics&Information Technology, 2010, 32(4): 894-897.
[2]Dollár P, Babenko B,et al.. Multiple component learning for object detection[C]. Proceedings of 10th European Conference on Computer Vision, Marseille, France, 2008:211-224.
[3]Lienhart R and Maydt J. An extended set of haar-like features for rapid object detection[C]. Proceedings 2002 International Conference on Image Processing, New York,USA, 2002, Vol.1: 900-903.
[4]Dalal N and Triggs B. Histograms of oriented gradients for human detection[C]. 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,San Diego, USA, 2005: 886-893.
[5]Schwartz W R, Kembhavi A,et al.. Human detection using partial least squares analysis[C]. 2009 IEEE 12th International Conference on Computer Vision, Kyoto, Japan,2009: 24-31.
[6]Ramanan D, Forsyth D A, and Zisserman A. Tracking people by learning their appearance[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2007, 29(1):65-81.
[7]Chandrasekhar V, Takacs G, Chen M,et al.. Compressed histogram of gradients: a low-bitrate descriptor[J].International Journal of Computer Vision, 2012, 96(3):384-399.
[8]Wang Xiao-yu, Han T X, and Yan Shui-cheng. An HOG-LBP human detector with partial occlusion handling[C]. 2009 IEEE 12th International Conference on Computer Vision,Kyoto, Japan, 2009: 32-39.
[9]Agarwal S, Awan A, and Roth D. Learning to detect objects in images via a sparse, part-based representation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2004, 26(11): 1475-1490.
[10]Leibe B, Seemann E, and Schiele B. Pedestrian detection in crowded scenes[C]. 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, San Diego,USA, 2005: 878-885.
[11]Mikolajczyk K, Schmid C,et al.. Human detection based on a probabilistic assembly of robust part detectors[C]. The 8th European Conference on Computer Vision 2004, Prague,2004: 69-82.
[12]Wu B and Nevatia R. Detection of multiple partially occluded humans in asingle image by bayesian combination of edgelet part detectors[C]. Tenth IEEE International Conference on Computer Vision, Beijing, China, 2005, 1:90–97.
[13]Hauberg S and Kim S P. Predicting articulated human motion from spatial processes [J].International Journal of Computer Vision, 2011, 94(3): 317-334.
[14]李同治, 丁曉青, 王生進. 利用級聯SVM的人體檢測方法[J].中國圖象圖形學報, 2008, 13(3): 566-570.
Li Tong-zhi, Ding Xiao-qing, and Wang Sheng-jin. Human detection with a coarse-to-fine cascade linear SVM[J].Journal of Image and Graphics, 2008, 13(3): 566-570.
[15]David G, Angel D S, Antonio L,et al.. Adaptive image sampling and windows classification for on-board pedestrian detection[C]. The 5th International Conference on Computer Vision Systems, Bielefeld, Germany, 2007. http://biecoll.ub.uni-bielefeld.de/volltexte/2007/8.
[16]Papageorgiou C and Poggio T. A trainable system for object detection[J].International Journal of Computer Vision, 2000,38(1): 15-33.
[17]Davenport M A, Baraniuk R B, and Scott C D. Tuning support vector machines for minimax and neyman-pearson classification[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 32(10): 1888-1898.
[18]Albanese M, Chellappa R, Cuntoor N,et al.. PADS: a probabilistic activity detection framework for video data[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 32(12): 2246-2261.