劉東升,劉鵬鵬,王 剛
(西南技術物理研究所 四川 成都 610041)
近年來,人體運動的視覺分析是計算機視覺領域備受關注的熱門領域,人的運動分析主要涉及到模式識別、圖像處理、人工智能等學科知識,在高級人機接口、安防監控、醫療診斷等方面具有廣泛的應用前景和潛在的經濟價值,而人體識別作為人體運動視覺分析的基礎,得到了世界上廣大科研工作者的關注和研究。
人體檢測可以分為兩類:傳統的人體檢測和基于統計學習的人體檢測。傳統的人體檢測包括基于膚色、人體輪廓、步態等方法,由于人的多模態性,使得傳統的人體檢測方法準確性得不到保證;基于統計學習的人體檢測不需要進行人體形狀抽取,它通過從相應的圖像區域提取特征,然后通過統計學習的方法對其訓練和識別,基于統計學習的人體識別成為近年來研究的主流方向,目前常用于統計學習的人體特征有 HOG(Histogram of oriented Gradients,梯度方向直方圖)、Harr小波特征[2]、SIFT 特征[3]等。2005 年,Navneet Dalal和 Bill Triggs提出了基于梯度方向直方圖的人體檢測算法[1]。該方法使梯度方向直方圖特征來表達人體,提取人體的外形信息和運動信息,形成豐富的特征集,然后使用支撐向量機SVM分類器對這些特征集進行訓練,取得了相當不錯的效果,Dalal等人最大的貢獻在于使用密集和相互重疊的特征描述方法來表達圖像區域的HOG特征。這種特征描述方法計算的特征最后綜合成了對于目標檢測的一種魯棒性非常高的特征向量空間,相對于傳統的HOG特征極大的提高了檢測器的檢測效果,但是這種算法由于檢測速度很慢而難以應用到實際當中。文中通過對HOG特征充分分析,提出了一種快速HOG特征提取算法,并利用線性SVM訓練分類,得到一種快速的基于HOG特征的人體檢測系統。我們設計的人體檢測系統框圖如圖1。
筆者設計的人體檢測系統框圖如圖1所示,而特征提取是最基本也是最重要的工作,選擇梯度方向直方圖特征(HOG)。HOG是將圖像均勻的分成相鄰的小塊,然后在所有的小塊內統計各方向的梯度直方圖。HOG描述方法與其他特征相比具有以下的優點:HOG表示的是邊緣(梯度)的結構特征,因此可以描述局部的形狀信息;位置和方向空間的量化一定程度上可以抑制平移和旋轉帶來的影響;采取在局部區域歸一化直方圖,可以部分抵消光照變化帶來的影響。因此HOG適合做人體識別研究。下面介紹HOG的計算過程以及文中提出的快速算法。

圖1 人體檢測系統框圖Fig.1 Structure diagram of human detection system
首先計算兩個方向的梯度,采用一種梯度模板計算每個位置的梯度和方向,文獻[1]證明了使用最簡單的一階模板[-1,0,1]的效果最好,設 f(x,y)表示像素的值,梯度 h(x,y)和方向 θ(x,y)的計算公式如下:

圖像按空間位置分成均勻的小塊,稱為“cell”,在cell內按照設定好的量化間隔統計梯度直方圖,應用梯度的幅值進行投影。然后相鄰的 cell(2×2)組成一個大塊,稱為“block”。文獻[1]的試驗證明使用2×2的block,8×8像素的 cell以及每個cell內梯度方向分成9個方向塊時效果最好,即梯度方向將0°~360°分為 9 個方向塊,每個方向塊大小為 20°,這樣在一個block內就形成了4×9=36維的特征向量,其中相鄰塊之間是相互重疊的,分塊時步長按照一個“cell”進行分塊。
在Dalal的文章中,對于每一個縮放尺度的圖像,使用檢測窗口進行遍歷掃描,然后計算每一個檢測窗口的HOG用于分類器判斷。在人體檢測系統中,人體檢測窗口分別是64×128,窗口大小與正例訓練樣本大小一致。而Block和檢測窗口的遍歷步長都為8個像素。對于人體檢測系統,一個檢測窗口需要計算((64-16)/8+1)×((128-8)/8+1)就是 7×15=105個block內的HOG特征向量,每個block特征向量為36維,一個窗口的HOG特征向量是36×105=3 780維。按照這樣的方法,對于一幅320×240的圖像,第一個縮放級別(原圖)中,檢測窗口需要遍歷((240-128)/8+1)×((320-64)/8+1)即 15×33=495個檢測窗口,也就是說我們需要計算105×495=51 975個block的HOG向量,其計算量非常的巨大。在此做了一個改進,把整幅圖像當做一個檢測窗口計算其梯度值將其存入一個二維數組,當我們遍歷圖像時,只需要根據索引得到梯度值進行方向上的投影就行了,這樣就大大降低了運算量。把以每一個掃描位置為頂點的256×256圖像區域當作一個block來計算,計算的所有block塊HOG特征向量存入((240-16)/8+1)×((320-16)/8+1)=1 131 的二維數組中,數組的每一個元素都指向一個block塊的36維特征向量。對圖像進行檢測時,以每一個遍歷位置為頂點的檢測窗口所包含的區域中的HOG其實都已經計算過了,只要對二維數組進行正確的索引找到對應的7×15=105個block,即可得到一個檢測窗口的HOG特征向量。我們的方法總共計算了1 131次block的HOG特征。相對于原來的算法HOG特征的計算速度提高了51 975/1 131=46倍,這對整個人體檢測系統的速度提升具有巨大貢獻。
為了消除光照變化帶來的影響,要在在block內歸一化直方圖,實驗證明:下式的歸一化效果最好:

其中V為原向量;V*為歸一化后的向量;ε為一很小的常數,目的是為了防止除零。
一個檢測窗口內由多個block內歸一化直方圖組成的結果就是特征向量,一共3 780維,最后使用統計學習的方法進行訓練和判斷。
傳統的人體檢測主要是基于對圖像要素的分析。近年來,隨著統計學習方法的完善,將統計學習應用到計算機視覺領域已經成為熱門的話題并且取得了非常好的效果。得到的HOG特征是高維的特征,而支撐向量機 (Support Vector Machine,簡稱SVM)[6]在解決小樣本、非線性及高維模式識別問題中表現出許多特有的優勢,已經在模式識別、函數逼近和概率密度估計等方面取得了良好的效果。我們選用SVM方法來訓練我們的人體分類器。
SVM的主要思想可以概括為兩點:1)它基于結構風險最小化理論之上在特征空間中建構最優分割超平面,使得學習器得到全局最優化,并且在整個樣本空間的期望風險以某個概率滿足一定上界;2)它是針對線性可分情況進行分析,對于線性不可分的情況,通過使用非線性映射算法將低維輸入空間線性不可分的樣本轉化為高維特征空間使其線性可分,從而使得高維特征空間采用線性算法對樣本的非線性特征進行線性分析成為可能。
推導可以得到SVM最優分類面函數為

其中a*i為支撐向量的系數最優解,b*是分類的閾值,可以由任意一個支撐向量用式(5)求得:

式(4)只包含待分類樣本與訓練樣本中的支撐向量的內積運算,只需要知道這個空間中的內積運算即可,在最優分類面中采用適當的內積核函數K(xi,yj)就可以實現某一線性變換后的線性分類,而計算復雜度卻沒有增加。相應的分類函數也變為:

常用的核函數有以下幾種:
1)線性核函數:K(x,y)=x·y
2)多項式核函數:K(x·y)=[(x·y)+1]d
采用核函數的方法大大的提高了SVM的學習能力。在文中的人體檢測系統中,使用線性SVM二值分類器,因為這種分類器在我們的訓練樣本集中能夠取得最好的效果。這里我們使用分類間隔為0.01的線性SVM分類器,高斯核的SVM分類器雖然能夠取得稍微好點的效果,但是計算量非常大,影響了檢測器的檢測速度。
為了便于比較,使用 Dalal等人建立的INRIA直立人體數據庫進行訓練和測試,這個數據庫采集了各種姿態、衣著、背景和遮擋下的數千張圖片。選取了其中1 208張正例人體圖片以及1 214張負例(含人體)圖片作為訓練樣本,樣本需要歸一化為檢測窗口大小64×128。本文實驗的環境為Inter(R) Core2(R) Dual 2.20GHz 內存 2.00 GB。
為了與文獻 [1]Dalal的算法進行效果比較,文中使用Recall-Precision曲線來描述。如圖所示,Recall表示系統正確檢測到的正例人體目標與實際正例目標的比值,Precision表示系統正確檢測到的正例目標與所有檢測到的正例目標的比值。從圖2可以發現在檢測效果上,改進的直立人體檢測算法與Dalal等人的算法幾乎差不多,因為直立快速人體檢測算法的創新主要是在檢測時間上,在檢測效果并沒有降低下,極大地降低了檢測時間,檢測一幅320×240大小的圖片,文獻[1]需要1 225ms,而文中需要 85ms,速度提高了 15倍左右,如表1所示。圖3為本文檢測系統在一部分圖片上檢測出的人體結果。

圖2 測試數據集上的檢測效果對比Fig.2 Detection result on the test data set

表1 320×240圖片處理時間對比Tab.1 Time compared on p rocessing 320×240 picture

圖3 人體檢測結果Fig.3 Human detection result
文中提出了一種基于HOG的快速人體檢測方法,實驗的結果表明本文設計的人體檢測系統在保障了檢測率的情況下,極大地降低了檢測時間,接近實時,對于視頻監控,如果攝像機固定,圖像里人體變化較小,那么處理時間會進一步降低,完全能達到實時。因此今后的工作我們可以將我們的方法與動目標檢測和跟蹤結合起來應用于監控領域。
[1]Dalal, Triggs.Histogram of oriented gradients for human detection [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2005:886-893.
[2]Paul V,Michael J,Daniel S.Detecting pedestrians using patternsofmotion and appearance[C]//Proceedings of the 9th IEEE International Conference on Computer Vision,2003.
[3]Lowe D G.Object recognition from local scale-invariant features[J].International Conference on Computer Vision,1999,21(2):1150-1157.
[4]Lowe D G.Distinctive image features from scale-invariant key point[J].International Journal of Computer Vision,2004,60(2):91-110.
[5]Brown M,Lowe D G.Invariant features from interest point groups[J].In British Machine Vision Conference, Cardiff,Wales,2002,21(2)656-665.
[6]Vapnik V.The nature of statistical learning theory[M].Springer Verlag,1995.