常州先進制造技術研究所 王敏,趙娜娜,劉忠杰,黃榜
中國科學院合肥物質科學研究院先進制造技術研究所 宋小波
常州先進制造技術研究所 朱擎飛
一般情況下,有兩種主要方法來解決圖像中的人體檢測。一種是用人身體部位位置的幾何模型來對人體建模,在文獻[1]中,身體部位用組合關節和位置的直方圖來表示。用獨立的Adaboost算法檢測器訓練多個身體部位的模型。盡管這項技術能夠提供一個通用的對象識別框架,但是難以達到快速實現的目的。此外應該考慮到,人體的自然狀態可能不完全適用于處理低分辨率的人體圖像上,這種情況在監控錄像中經常遇到。
第二種方法建立在對給定圖像的所有可能的子窗口進行人體檢測的基礎上。檢測圖像中目標的最簡單方法之一,就是用濾波器卷積圖像或用目標響應建立模板。卷積的輸出應該產生一個大響應來顯示目標;同時抑制背景響應。卷積輸出超過閾值的時候,就意味著檢測到目標。這種方法的主要優點是,它非常簡單而且速度非常快。
基于濾波器的目標檢測算法是否成功取決于濾波器區分目標和背景能力。產生濾波器的典型方法是從訓練圖像中剪裁目標的模板。不幸的是,一幅圖像基礎上的模板往往不能充分捕捉外觀變化,因此只能用在高度控制的對象檢測的方案之中。為了彌補這一缺陷,有一些技術從大量的模板中提取濾波器,這樣才能更準確地反映目標的外觀。例如,可以通過平均模板產生一個濾波器。但是也存在另一個缺點,這種濾波器往往不能充分區分目標和背景。
更復雜的基于綜合鑒別函數(SDF)[2]的方法也可用來產生濾波器,對訓練模板有良好的反應,并產生清晰和穩定的峰值。SDF的一個問題是在訓練中沒有考慮完整的卷積輸出。相反,它只強調在輸出中濾波器與目標對準時的一個點。這些技術的目的,強調良好的目標峰值,但當它涉及到相似背景的抑制峰值的效果就差了很多。
最近訓練濾波器引入一個新的概念,所謂平均合成精確的濾波器(ASEF)[3]。ASEF考慮到濾波器完整的卷積操作的整個輸出。比起傳統技術,通過利用卷積定理產生的ASEF濾波器更像是反卷積。文獻[3]的結果表明,ASEF濾波器定位在臉上眼睛的效果很好,因為濾波器很好地抑制了其他面部特征的響應。這項研究將顯示ASEF濾波器在一個更一般的檢測問題上,能產生良好的目標與背景分離,參見2009年的PETS數據集[4]。
ASEF濾波器基礎上的檢測器有許多優點。訓練只需要少量的手注解圖像和幾秒鐘計算時間。由此產生的檢測器要專門對于相機設置進行調整。比起其他競爭技術,檢測技術非常簡單,而且是在非常規則的卷積的基礎上,這意味著它非常適合于嵌入式系統或現有的信號處理芯片。基于濾波器的檢測比競爭技術快許多倍,而它的精度差不多甚至更好。
本文的目的是從固定攝像機捕獲的實時視頻中檢測人體。為了檢測視頻中的人體,每一秒都必須對成千上萬的檢測窗口進行評估。絕大多數這些窗口對應著背景,而且必須被忽略。因此,必須構造一個分類,能夠可靠地拒絕掉提交給它的大多數檢測窗口;但是,當實際存在一個人體的時候,就要避免錯誤地拒絕窗口。這可能是一個重大的挑戰。
原則上,在每一幀標記視頻中,對于所有可能的檢測窗口訓練檢測器都是有意義的。但是這樣做對常用類型的檢測器(如VJ級聯分類檢測器),往往要求過高的計算能力。雖然推動這種類型的訓練是明智的,多次迭代后可以產生很好的檢測器,但是過程中難以實現自動化,并在實踐中可能會出現問題。
與此相反,這里所介紹的技術本身在每一個可能的檢測窗口自然參與有效的培訓。這是因為分類器是基于卷積的,而且訓練可以實現高效率地利用卷積定理。具體說來,本研究提出的濾波器是花費了12秒在3145728個檢測窗口中被訓練出來的。
創建一個基于濾波器的檢測器,其中一個挑戰是規模變化的問題。在PETS2009數據集中,人體的高度從最小的50個像素變化到最大的150像素。這帶來了兩個問題。第一個問題是訓練都是假定人體為大致相同的尺寸的。第二個問題是在測試中,濾波器需要被應用在多尺度下。這兩個問題的解決方案是利用相機設置的幾何形狀。由于相機的升高而且在一個近似平面的場景向下看,相機定位的人體很好預測一個人的高度。這里的方法是按照大致比例把場景分割為一些區域。然后這些區域重新調整,使人們在每個區域中都是大致相同的高度。重新縮放的區域比整幅圖像中的人體平均身高按比例而言,方差小得多。這些區域可以在人行道上著重檢測工作,那里已經涵蓋了視頻中的大部分動作。設置均勻尺寸的區域,簡化了濾波器的訓練,又確保了圖像的大小與FFT兼容。
圖1(a)顯示的是高度完整的視頻圖像中的人,可以很好地使用線性模型來近似。圖1(b)顯示了在重新調整的檢測區域中人的高度。在重新縮放區域,人的高度變化要小得多。

圖1 目標大小歸一化
另一個挑戰是一個事實,即一個人的外表受服裝的影響很大。許多檢測算法都專注于基于梯度的特征來解決這個問題[5~7]。基于梯度特征集中于邊緣信息的檢測過程中,檢測較少依賴于像素的絕對強度值。因此,在檢測區域中圖像使用標準的Sobel算子對每個像素進行預處理,產生梯度幅值。此步驟創建一個新的圖像,里面的人體主要由輪廓來定義。然后,通過給像素值取對數的方法對這些照片進行歸一化,而且調整照片使一個區域內歸一化的值在零和單位長度之間。
濾波器的訓練過程的例子如圖3所示,在[3]中有詳細討論,使用了Pyvision庫實現濾波器[8]。ASEF濾波器學習了從源圖像到目標圖像的映射。更正式地說,他們選中圖像f∈RP×Q,并將其映射到一個新的圖像g∈RP×Q。該映射的參數化由濾波器和卷積變換來定義,其中卷積g=f?h。
在訓練標準檢測器的時候,每個檢測窗口都會被標注:如果存在一個人體,就標注為一個正面的例子;如果是對應于背景,就標注為負例子。與此相反,對于復雜的場景,ASEF濾波器的訓練同時包含正面和負面的例子。如果存在一個人體,整個圖像被標記為峰,值是1.0,背景值就為0.0。ASEF過程學習了從訓練圖像到標記輸出的映射。
更正式地說,對于每個訓練圖像if,將產生一個合成輸出ig,其圖像里的每個人都對應一個峰。ig里的峰將按二維高斯的形狀分布:

其中,(xp,yp)是訓練的圖像中的人p的位置,σ控制峰值的半徑。
接著,對于每個訓練圖像,將要計算一個精確的濾波器hi,精確地將圖像fi映射到gi。在傅立葉域中,這種計算是有效的。卷積定理指出,卷積在傅立葉域中變為元素相乘。因此,這個問題可以從空間域中的:

轉化為在傅立葉域中的:

其中,Gi,Fi和Hi是他們小寫字母的傅立葉變換,? 明確表示對應元素乘積。確切的濾波器現在可以通過求解下面的公式進行快速計算:

該方法將學習一個“匹配”濾波器,這意味著它在空間域的x軸和y軸將同時翻轉。也可以通過采取在傅立葉域中的復共軛執行這翻轉。該濾波器上也以像素(0,0)為中心。
所得的濾波器可以被認為是一個弱分類器。映射到高維特征空間中的過程是緩慢的,所以選擇建立在完整圖像特征空間基礎上的弱分類器。如圖3所示,精確的濾波器看上去不像模板,更像是噪音響應了人體的輪廓。要產生一個更一般的分類器,就要對于每一幅訓練圖像進行計算精確的濾波器,然后取平均值。平均精確的濾波器的目的可以參見文獻[9]。簡單的濾波器集中收斂于方差誤差最小化的濾波器。對于同一個實例,平均得到的特征是特定的,于是思考平均過程的更直觀的方式是:通過多次濾波后保持特征不變。因此,最終ASEF濾波器被計算為:

其中N是訓練圖像的數目。平均有一些很好的特性,使得ASEF濾波器的訓練速度快又很容易計算:它不會過度擬合訓練數據,對于每個圖像,它僅需要一個單一步驟,只需要足夠內存來存儲一個濾波器。
ASEF有一個限制是:它通常需要大量的訓練圖像,以收斂到一個好的濾波器。有兩種方法可以減少所需的培訓總幀數。第一,從[3]可知,是重復使用因小縮放、小旋轉、小變換與影響而變動的訓練圖像。這增加了訓練圖像的數目,而且還鼓勵濾波器對于旋轉和縮放的小變化變得更強大。
本文介紹的改進技術改善了精確濾波器的穩定性。在求解濾波器的公式中,訓練圖像中攜帶較少功率的頻率,在相應的精確濾波器中占有較大比重。這些頻率會導致精確濾波器變得不穩定,并且在極端的功率為零情況下,會引起被零除的錯誤。為了糾正這個問題,精確濾波器使用iF的最大頻率來構造,iF包含圖像95%的總功率。
刪除小的頻率似乎會除去精確濾波器的很多“噪音”。在測試中,這種發現就允許了ASEF濾波器以較少的圖像進行訓練,而其準確性或外觀不會有不利影響。
使用濾波器的目標檢測器簡單又快捷。各個檢測區域進行相同的重新調節和預處理過程,作為訓練。圖像使用公式2的FFT方法與ASEF濾波器卷積,得到這些梯度幅度圖像。
由此產生的相關輸出,當人體存在的時候,應該有峰值;當為圖像背景的時候,響應被抑制。然后掃描相關輸出,尋找局部極大值。任何超過了用戶定義的閾值的最大值就被認為是檢測到了一個結果。參閱圖2和圖4的例子。


圖2 實時視頻中的人體檢測結果例一

圖3 例一的前景識別結果

圖4 實時視頻中的人體檢測結果例二
圖4是實時視頻中的快速人體檢測實例,顯示效果良好,尤其是例二中,運動人體在身側的深色玻璃上產生鏡面反射,于是在視頻中的部分圖像中,很清楚地顯示出了鏡中的人影,但是本文使用的算法很好地避免了這種情況的誤檢測。
實驗結果表明,算法可以處理超過每秒25幀的圖像,并實現了對于稀疏人群實現94.5%的檢出率。濾波器訓練也很快,訓練32手動注釋圖像的檢測器只需12秒。本文的的檢測算法能夠更好地處理復雜背景下的不明顯運動人體目標檢測,減少前景圖像中圖像的空洞,從而精確地實現運動人體的目標檢測。
本文采用基于濾波器的相關邊緣幅度圖像的人體檢測算法。關鍵是訓練濾波器所使用的技術:平均合成的精確濾波器(ASEF)。ASEF檢測算法效果好、精度高、準確度高、魯棒性強,大大改善了復雜背景下的人體檢測率,本文算法能夠很好地對運動視頻中的人體進行提前檢測,從而更準確地實現運動人體檢測。
[1] K. Mikolajczyk, C. Schmid, and A. Zisserman. Human detection based on a probabilistic assembly of robust part detectors. In Europe Conf. Comp [C].Vision (ECCV),2004,1:69-81.
[2] B.V.K. Vijaya Kumar, A. Mahalanobis, and R.D. Juday. Correlation Pattern Recognition. Cambridge University Press, 2005.
[3] D.S. Bolme, B.A. Draper, and J. Ross Beveridge. Average of synthetic exact filters[C].In CVPRMiami Beach, Florida,2009.2105-2112.
[4] J. Ferryman and A. Shahrokni. An overview of the pets2009 challenge[C].In PETS,2009,25-30.
[5] N. Dalai, B. Triggs, I. Rhone-Alps, et al. Histograms of oriented gradients for human detection[C].In CVPR,2005,886-893.
[6] O. Sidla, Y. Lypetskyy, N. Brandle , et al. Pedestrian detection and tracking for counting applications in crowded situations[C].In IEEE International Conference on Video and Signal Based Surveillance,2006.
[7] B. Wu and R. Nevatia. Detection of multiple, partially occluded humans in a single image by bayesian combination of edgelet part detectors[C]. In ICCV,2005,90-97.
[8] D.S. Bolme. Pyvision - computer vision toolkit[EB/OL]. http://pyvision.sourceforge.net, 2008.
[9] L. Breiman. Bagging Predictors[J].Machine Learning,1996,24(2):123-140.