常州先進(jìn)制造技術(shù)研究所 王敏,趙娜娜,劉忠杰,黃榜
中國(guó)科學(xué)院合肥物質(zhì)科學(xué)研究院先進(jìn)制造技術(shù)研究所 宋小波
常州先進(jìn)制造技術(shù)研究所 朱擎飛
一般情況下,有兩種主要方法來(lái)解決圖像中的人體檢測(cè)。一種是用人身體部位位置的幾何模型來(lái)對(duì)人體建模,在文獻(xiàn)[1]中,身體部位用組合關(guān)節(jié)和位置的直方圖來(lái)表示。用獨(dú)立的Adaboost算法檢測(cè)器訓(xùn)練多個(gè)身體部位的模型。盡管這項(xiàng)技術(shù)能夠提供一個(gè)通用的對(duì)象識(shí)別框架,但是難以達(dá)到快速實(shí)現(xiàn)的目的。此外應(yīng)該考慮到,人體的自然狀態(tài)可能不完全適用于處理低分辨率的人體圖像上,這種情況在監(jiān)控錄像中經(jīng)常遇到。
第二種方法建立在對(duì)給定圖像的所有可能的子窗口進(jìn)行人體檢測(cè)的基礎(chǔ)上。檢測(cè)圖像中目標(biāo)的最簡(jiǎn)單方法之一,就是用濾波器卷積圖像或用目標(biāo)響應(yīng)建立模板。卷積的輸出應(yīng)該產(chǎn)生一個(gè)大響應(yīng)來(lái)顯示目標(biāo);同時(shí)抑制背景響應(yīng)。卷積輸出超過(guò)閾值的時(shí)候,就意味著檢測(cè)到目標(biāo)。這種方法的主要優(yōu)點(diǎn)是,它非常簡(jiǎn)單而且速度非???。
基于濾波器的目標(biāo)檢測(cè)算法是否成功取決于濾波器區(qū)分目標(biāo)和背景能力。產(chǎn)生濾波器的典型方法是從訓(xùn)練圖像中剪裁目標(biāo)的模板。不幸的是,一幅圖像基礎(chǔ)上的模板往往不能充分捕捉外觀變化,因此只能用在高度控制的對(duì)象檢測(cè)的方案之中。為了彌補(bǔ)這一缺陷,有一些技術(shù)從大量的模板中提取濾波器,這樣才能更準(zhǔn)確地反映目標(biāo)的外觀。例如,可以通過(guò)平均模板產(chǎn)生一個(gè)濾波器。但是也存在另一個(gè)缺點(diǎn),這種濾波器往往不能充分區(qū)分目標(biāo)和背景。
更復(fù)雜的基于綜合鑒別函數(shù)(SDF)[2]的方法也可用來(lái)產(chǎn)生濾波器,對(duì)訓(xùn)練模板有良好的反應(yīng),并產(chǎn)生清晰和穩(wěn)定的峰值。SDF的一個(gè)問(wèn)題是在訓(xùn)練中沒(méi)有考慮完整的卷積輸出。相反,它只強(qiáng)調(diào)在輸出中濾波器與目標(biāo)對(duì)準(zhǔn)時(shí)的一個(gè)點(diǎn)。這些技術(shù)的目的,強(qiáng)調(diào)良好的目標(biāo)峰值,但當(dāng)它涉及到相似背景的抑制峰值的效果就差了很多。
最近訓(xùn)練濾波器引入一個(gè)新的概念,所謂平均合成精確的濾波器(ASEF)[3]。ASEF考慮到濾波器完整的卷積操作的整個(gè)輸出。比起傳統(tǒng)技術(shù),通過(guò)利用卷積定理產(chǎn)生的ASEF濾波器更像是反卷積。文獻(xiàn)[3]的結(jié)果表明,ASEF濾波器定位在臉上眼睛的效果很好,因?yàn)闉V波器很好地抑制了其他面部特征的響應(yīng)。這項(xiàng)研究將顯示ASEF濾波器在一個(gè)更一般的檢測(cè)問(wèn)題上,能產(chǎn)生良好的目標(biāo)與背景分離,參見(jiàn)2009年的PETS數(shù)據(jù)集[4]。
ASEF濾波器基礎(chǔ)上的檢測(cè)器有許多優(yōu)點(diǎn)。訓(xùn)練只需要少量的手注解圖像和幾秒鐘計(jì)算時(shí)間。由此產(chǎn)生的檢測(cè)器要專門(mén)對(duì)于相機(jī)設(shè)置進(jìn)行調(diào)整。比起其他競(jìng)爭(zhēng)技術(shù),檢測(cè)技術(shù)非常簡(jiǎn)單,而且是在非常規(guī)則的卷積的基礎(chǔ)上,這意味著它非常適合于嵌入式系統(tǒng)或現(xiàn)有的信號(hào)處理芯片?;跒V波器的檢測(cè)比競(jìng)爭(zhēng)技術(shù)快許多倍,而它的精度差不多甚至更好。
本文的目的是從固定攝像機(jī)捕獲的實(shí)時(shí)視頻中檢測(cè)人體。為了檢測(cè)視頻中的人體,每一秒都必須對(duì)成千上萬(wàn)的檢測(cè)窗口進(jìn)行評(píng)估。絕大多數(shù)這些窗口對(duì)應(yīng)著背景,而且必須被忽略。因此,必須構(gòu)造一個(gè)分類,能夠可靠地拒絕掉提交給它的大多數(shù)檢測(cè)窗口;但是,當(dāng)實(shí)際存在一個(gè)人體的時(shí)候,就要避免錯(cuò)誤地拒絕窗口。這可能是一個(gè)重大的挑戰(zhàn)。
原則上,在每一幀標(biāo)記視頻中,對(duì)于所有可能的檢測(cè)窗口訓(xùn)練檢測(cè)器都是有意義的。但是這樣做對(duì)常用類型的檢測(cè)器(如VJ級(jí)聯(lián)分類檢測(cè)器),往往要求過(guò)高的計(jì)算能力。雖然推動(dòng)這種類型的訓(xùn)練是明智的,多次迭代后可以產(chǎn)生很好的檢測(cè)器,但是過(guò)程中難以實(shí)現(xiàn)自動(dòng)化,并在實(shí)踐中可能會(huì)出現(xiàn)問(wèn)題。
與此相反,這里所介紹的技術(shù)本身在每一個(gè)可能的檢測(cè)窗口自然參與有效的培訓(xùn)。這是因?yàn)榉诸惼魇腔诰矸e的,而且訓(xùn)練可以實(shí)現(xiàn)高效率地利用卷積定理。具體說(shuō)來(lái),本研究提出的濾波器是花費(fèi)了12秒在3145728個(gè)檢測(cè)窗口中被訓(xùn)練出來(lái)的。
創(chuàng)建一個(gè)基于濾波器的檢測(cè)器,其中一個(gè)挑戰(zhàn)是規(guī)模變化的問(wèn)題。在PETS2009數(shù)據(jù)集中,人體的高度從最小的50個(gè)像素變化到最大的150像素。這帶來(lái)了兩個(gè)問(wèn)題。第一個(gè)問(wèn)題是訓(xùn)練都是假定人體為大致相同的尺寸的。第二個(gè)問(wèn)題是在測(cè)試中,濾波器需要被應(yīng)用在多尺度下。這兩個(gè)問(wèn)題的解決方案是利用相機(jī)設(shè)置的幾何形狀。由于相機(jī)的升高而且在一個(gè)近似平面的場(chǎng)景向下看,相機(jī)定位的人體很好預(yù)測(cè)一個(gè)人的高度。這里的方法是按照大致比例把場(chǎng)景分割為一些區(qū)域。然后這些區(qū)域重新調(diào)整,使人們?cè)诿總€(gè)區(qū)域中都是大致相同的高度。重新縮放的區(qū)域比整幅圖像中的人體平均身高按比例而言,方差小得多。這些區(qū)域可以在人行道上著重檢測(cè)工作,那里已經(jīng)涵蓋了視頻中的大部分動(dòng)作。設(shè)置均勻尺寸的區(qū)域,簡(jiǎn)化了濾波器的訓(xùn)練,又確保了圖像的大小與FFT兼容。
圖1(a)顯示的是高度完整的視頻圖像中的人,可以很好地使用線性模型來(lái)近似。圖1(b)顯示了在重新調(diào)整的檢測(cè)區(qū)域中人的高度。在重新縮放區(qū)域,人的高度變化要小得多。
圖1 目標(biāo)大小歸一化
另一個(gè)挑戰(zhàn)是一個(gè)事實(shí),即一個(gè)人的外表受服裝的影響很大。許多檢測(cè)算法都專注于基于梯度的特征來(lái)解決這個(gè)問(wèn)題[5~7]?;谔荻忍卣骷杏谶吘壭畔⒌臋z測(cè)過(guò)程中,檢測(cè)較少依賴于像素的絕對(duì)強(qiáng)度值。因此,在檢測(cè)區(qū)域中圖像使用標(biāo)準(zhǔn)的Sobel算子對(duì)每個(gè)像素進(jìn)行預(yù)處理,產(chǎn)生梯度幅值。此步驟創(chuàng)建一個(gè)新的圖像,里面的人體主要由輪廓來(lái)定義。然后,通過(guò)給像素值取對(duì)數(shù)的方法對(duì)這些照片進(jìn)行歸一化,而且調(diào)整照片使一個(gè)區(qū)域內(nèi)歸一化的值在零和單位長(zhǎng)度之間。
濾波器的訓(xùn)練過(guò)程的例子如圖3所示,在[3]中有詳細(xì)討論,使用了Pyvision庫(kù)實(shí)現(xiàn)濾波器[8]。ASEF濾波器學(xué)習(xí)了從源圖像到目標(biāo)圖像的映射。更正式地說(shuō),他們選中圖像f∈RP×Q,并將其映射到一個(gè)新的圖像g∈RP×Q。該映射的參數(shù)化由濾波器和卷積變換來(lái)定義,其中卷積g=f?h。
在訓(xùn)練標(biāo)準(zhǔn)檢測(cè)器的時(shí)候,每個(gè)檢測(cè)窗口都會(huì)被標(biāo)注:如果存在一個(gè)人體,就標(biāo)注為一個(gè)正面的例子;如果是對(duì)應(yīng)于背景,就標(biāo)注為負(fù)例子。與此相反,對(duì)于復(fù)雜的場(chǎng)景,ASEF濾波器的訓(xùn)練同時(shí)包含正面和負(fù)面的例子。如果存在一個(gè)人體,整個(gè)圖像被標(biāo)記為峰,值是1.0,背景值就為0.0。ASEF過(guò)程學(xué)習(xí)了從訓(xùn)練圖像到標(biāo)記輸出的映射。
更正式地說(shuō),對(duì)于每個(gè)訓(xùn)練圖像if,將產(chǎn)生一個(gè)合成輸出ig,其圖像里的每個(gè)人都對(duì)應(yīng)一個(gè)峰。ig里的峰將按二維高斯的形狀分布:
其中,(xp,yp)是訓(xùn)練的圖像中的人p的位置,σ控制峰值的半徑。
接著,對(duì)于每個(gè)訓(xùn)練圖像,將要計(jì)算一個(gè)精確的濾波器hi,精確地將圖像fi映射到gi。在傅立葉域中,這種計(jì)算是有效的。卷積定理指出,卷積在傅立葉域中變?yōu)樵叵喑?。因此,這個(gè)問(wèn)題可以從空間域中的:
轉(zhuǎn)化為在傅立葉域中的:
其中,Gi,F(xiàn)i和Hi是他們小寫(xiě)字母的傅立葉變換,? 明確表示對(duì)應(yīng)元素乘積。確切的濾波器現(xiàn)在可以通過(guò)求解下面的公式進(jìn)行快速計(jì)算:
該方法將學(xué)習(xí)一個(gè)“匹配”濾波器,這意味著它在空間域的x軸和y軸將同時(shí)翻轉(zhuǎn)。也可以通過(guò)采取在傅立葉域中的復(fù)共軛執(zhí)行這翻轉(zhuǎn)。該濾波器上也以像素(0,0)為中心。
所得的濾波器可以被認(rèn)為是一個(gè)弱分類器。映射到高維特征空間中的過(guò)程是緩慢的,所以選擇建立在完整圖像特征空間基礎(chǔ)上的弱分類器。如圖3所示,精確的濾波器看上去不像模板,更像是噪音響應(yīng)了人體的輪廓。要產(chǎn)生一個(gè)更一般的分類器,就要對(duì)于每一幅訓(xùn)練圖像進(jìn)行計(jì)算精確的濾波器,然后取平均值。平均精確的濾波器的目的可以參見(jiàn)文獻(xiàn)[9]。簡(jiǎn)單的濾波器集中收斂于方差誤差最小化的濾波器。對(duì)于同一個(gè)實(shí)例,平均得到的特征是特定的,于是思考平均過(guò)程的更直觀的方式是:通過(guò)多次濾波后保持特征不變。因此,最終ASEF濾波器被計(jì)算為:
其中N是訓(xùn)練圖像的數(shù)目。平均有一些很好的特性,使得ASEF濾波器的訓(xùn)練速度快又很容易計(jì)算:它不會(huì)過(guò)度擬合訓(xùn)練數(shù)據(jù),對(duì)于每個(gè)圖像,它僅需要一個(gè)單一步驟,只需要足夠內(nèi)存來(lái)存儲(chǔ)一個(gè)濾波器。
ASEF有一個(gè)限制是:它通常需要大量的訓(xùn)練圖像,以收斂到一個(gè)好的濾波器。有兩種方法可以減少所需的培訓(xùn)總幀數(shù)。第一,從[3]可知,是重復(fù)使用因小縮放、小旋轉(zhuǎn)、小變換與影響而變動(dòng)的訓(xùn)練圖像。這增加了訓(xùn)練圖像的數(shù)目,而且還鼓勵(lì)濾波器對(duì)于旋轉(zhuǎn)和縮放的小變化變得更強(qiáng)大。
本文介紹的改進(jìn)技術(shù)改善了精確濾波器的穩(wěn)定性。在求解濾波器的公式中,訓(xùn)練圖像中攜帶較少功率的頻率,在相應(yīng)的精確濾波器中占有較大比重。這些頻率會(huì)導(dǎo)致精確濾波器變得不穩(wěn)定,并且在極端的功率為零情況下,會(huì)引起被零除的錯(cuò)誤。為了糾正這個(gè)問(wèn)題,精確濾波器使用iF的最大頻率來(lái)構(gòu)造,iF包含圖像95%的總功率。
刪除小的頻率似乎會(huì)除去精確濾波器的很多“噪音”。在測(cè)試中,這種發(fā)現(xiàn)就允許了ASEF濾波器以較少的圖像進(jìn)行訓(xùn)練,而其準(zhǔn)確性或外觀不會(huì)有不利影響。
使用濾波器的目標(biāo)檢測(cè)器簡(jiǎn)單又快捷。各個(gè)檢測(cè)區(qū)域進(jìn)行相同的重新調(diào)節(jié)和預(yù)處理過(guò)程,作為訓(xùn)練。圖像使用公式2的FFT方法與ASEF濾波器卷積,得到這些梯度幅度圖像。
由此產(chǎn)生的相關(guān)輸出,當(dāng)人體存在的時(shí)候,應(yīng)該有峰值;當(dāng)為圖像背景的時(shí)候,響應(yīng)被抑制。然后掃描相關(guān)輸出,尋找局部極大值。任何超過(guò)了用戶定義的閾值的最大值就被認(rèn)為是檢測(cè)到了一個(gè)結(jié)果。參閱圖2和圖4的例子。
圖2 實(shí)時(shí)視頻中的人體檢測(cè)結(jié)果例一
圖3 例一的前景識(shí)別結(jié)果
圖4 實(shí)時(shí)視頻中的人體檢測(cè)結(jié)果例二
圖4是實(shí)時(shí)視頻中的快速人體檢測(cè)實(shí)例,顯示效果良好,尤其是例二中,運(yùn)動(dòng)人體在身側(cè)的深色玻璃上產(chǎn)生鏡面反射,于是在視頻中的部分圖像中,很清楚地顯示出了鏡中的人影,但是本文使用的算法很好地避免了這種情況的誤檢測(cè)。
實(shí)驗(yàn)結(jié)果表明,算法可以處理超過(guò)每秒25幀的圖像,并實(shí)現(xiàn)了對(duì)于稀疏人群實(shí)現(xiàn)94.5%的檢出率。濾波器訓(xùn)練也很快,訓(xùn)練32手動(dòng)注釋圖像的檢測(cè)器只需12秒。本文的的檢測(cè)算法能夠更好地處理復(fù)雜背景下的不明顯運(yùn)動(dòng)人體目標(biāo)檢測(cè),減少前景圖像中圖像的空洞,從而精確地實(shí)現(xiàn)運(yùn)動(dòng)人體的目標(biāo)檢測(cè)。
本文采用基于濾波器的相關(guān)邊緣幅度圖像的人體檢測(cè)算法。關(guān)鍵是訓(xùn)練濾波器所使用的技術(shù):平均合成的精確濾波器(ASEF)。ASEF檢測(cè)算法效果好、精度高、準(zhǔn)確度高、魯棒性強(qiáng),大大改善了復(fù)雜背景下的人體檢測(cè)率,本文算法能夠很好地對(duì)運(yùn)動(dòng)視頻中的人體進(jìn)行提前檢測(cè),從而更準(zhǔn)確地實(shí)現(xiàn)運(yùn)動(dòng)人體檢測(cè)。
[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.