康偉德, 高 通
(內(nèi)蒙古大學(xué) 電子信息工程學(xué)院,呼和浩特 010021)
計(jì)算機(jī)視覺是一門多領(lǐng)域的交叉學(xué)科,它與圖像處理、計(jì)算機(jī)圖形學(xué)、數(shù)學(xué)、信號(hào)處理、模式識(shí)別、心理學(xué)、物理學(xué)、人工智能息息相關(guān). 人數(shù)統(tǒng)計(jì)對(duì)于城市信息化建設(shè)起著重要推動(dòng)作用,對(duì)于資源調(diào)配、數(shù)據(jù)分析都有巨大意義[1].
基于視頻圖像人數(shù)統(tǒng)計(jì)分為區(qū)域式系統(tǒng)與斷面式系統(tǒng),區(qū)域式系統(tǒng)用來統(tǒng)計(jì)目標(biāo)區(qū)域的總?cè)藬?shù),而斷面式系統(tǒng)用于統(tǒng)計(jì)所有進(jìn)或出的人數(shù). 本文所研究的對(duì)象是斷面式人數(shù)統(tǒng)計(jì). 利用攝像頭垂直拍攝,對(duì)視頻中通過斷面的人數(shù)進(jìn)行統(tǒng)計(jì).
早期的人數(shù)統(tǒng)計(jì)利用紅外線阻斷,該方法在單個(gè)目標(biāo)時(shí)很精確,但對(duì)于連續(xù)目標(biāo)時(shí)會(huì)誤判為一個(gè)目標(biāo),這是由于其檢測(cè)機(jī)制決定的. 對(duì)于高人流密度或是需要準(zhǔn)確人數(shù)信息的場(chǎng)景中,應(yīng)該采用更高級(jí)的方法. 在視頻圖像人數(shù)統(tǒng)計(jì)算法中主要分為針對(duì)特征點(diǎn)、顏色與形狀、模板匹配等方法.
Kim[2]等人利用圖像的低層特征:前景像素積累與運(yùn)動(dòng)向量來進(jìn)行人數(shù)統(tǒng)計(jì),針對(duì)人數(shù)較多的情況,采用像素累計(jì)和的加權(quán)比例估算人數(shù),達(dá)到了95%的準(zhǔn)確度,但未進(jìn)行行人與其他目標(biāo)的區(qū)分,當(dāng)前景圖像存在大量非行人目標(biāo)時(shí),準(zhǔn)確度大大降低.
Sugimura[3]等人提出一種在人群中跟蹤個(gè)體的方法. 在基于特征點(diǎn)聚類的方法上,增加了單個(gè)個(gè)體的步態(tài)信息,更好的區(qū)分行人,盡管行人之間存在部分遮擋,也在相對(duì)擁擠的環(huán)境取得較好的結(jié)果.
Dapeng Luo[4]等人提出了一種在視頻圖像中檢測(cè)頭部的在線學(xué)習(xí)框架,基于在線boosting算法,將檢測(cè)到的對(duì)象作為新的樣本訓(xùn)練分類器,并利用粒子濾波得到新樣本的權(quán)重并標(biāo)記樣本. 該方法減少了對(duì)原始樣本的依賴,并可以在檢測(cè)中漸漸提高檢測(cè)精度.
本文所設(shè)計(jì)方法為了在高人流密度下人保持較高檢測(cè)精度,使用運(yùn)動(dòng)目標(biāo)中的人頭特征,該特征滿足在高人流密度仍能不遮擋. 首先利用梯度方向直方圖特征提取前景圖像中的特征,利用SVM檢測(cè)前景圖像中的人頭,并利用人頭的顏色特征利用MeanShift算法在相鄰幀中跟蹤人頭目標(biāo),并對(duì)跟蹤到的人頭進(jìn)行標(biāo)記,最后對(duì)人頭移動(dòng)軌跡進(jìn)行過先檢測(cè). 該方法保證了多個(gè)行人前景團(tuán)塊聚合時(shí)仍然可以識(shí)別單個(gè)個(gè)體,保證了高人流密度仍具有較高準(zhǔn)確度,同時(shí)使用前景圖像作為感興趣區(qū)域(ROI)提取疑似目標(biāo),減少了虛警的產(chǎn)生,并且加快了檢測(cè)效率. 最后,本文所述方法在嵌入式系統(tǒng)進(jìn)行了實(shí)驗(yàn)測(cè)試,實(shí)驗(yàn)顯示本文算法具有較高準(zhǔn)確率與實(shí)時(shí)性.
嵌入式系統(tǒng)的計(jì)算性能較于個(gè)人計(jì)算機(jī)仍具有一定差距,實(shí)時(shí)人數(shù)統(tǒng)計(jì)要求算法具有較少的計(jì)算量與一定得準(zhǔn)確度. 為了檢測(cè)到視頻圖像的行人目標(biāo),可以使用滑動(dòng)窗口對(duì)窗口內(nèi)是否為行人進(jìn)行判斷,但該方法的執(zhí)行效率極低,不滿足實(shí)時(shí)性的要求,同時(shí)容易在視覺顯著性較低的背景中帶來虛警的干擾. 為了在圖像中提取疑似區(qū)域,本文采用背景模型前景檢測(cè)的方法.
常用的背景模型有背景差分、編碼本、單高斯背景模型以及混合高斯背景模型. 在視頻圖像中背景并非一程不變的,光照、陰影、氣流、傳感器噪聲都會(huì)使背景發(fā)生變化,背景差分法等簡(jiǎn)單的背景模型達(dá)不到這種準(zhǔn)確度要求. 人群移動(dòng)過程中會(huì)造成人影以及氣流的變化,高斯背景模型[5]利用視頻圖像像素點(diǎn)的時(shí)間序列分布,并用高斯函數(shù)逼近像素序列分布,而背景模型的性能取決于高斯函數(shù)對(duì)像素序列的逼近情況,對(duì)于單高斯背景模型無法達(dá)到復(fù)雜環(huán)境中背景模型的性能要求. 混合高斯背景模型使用數(shù)個(gè)不同權(quán)值的高斯函數(shù)逼近訓(xùn)練過程的像素序列分布,而對(duì)于新產(chǎn)生的像素,可以通過假設(shè)檢驗(yàn)驗(yàn)證該像素是否屬于背景,若該像素出現(xiàn)的概率為一小概率事件,可以認(rèn)為該像素不屬于背景,為前景像素. 具體定義見公式(1).
該式中η為高斯分布,w為高斯分布的權(quán)重. 讓概率分布不斷逼近背景分布. 前景、背景像素的檢測(cè)通過計(jì)算像素在任意高斯分布的概率最大值是否大于閾值. 高斯背景模型的參數(shù)更新見公式(2).
式中a為自定義學(xué)習(xí)率,p為參數(shù)學(xué)習(xí)率,a值越大說明背景更新越快.P值由自定義學(xué)習(xí)率w與權(quán)值w共同決定. 高斯分布個(gè)數(shù)選擇上可以根據(jù)不同實(shí)驗(yàn)環(huán)境特征進(jìn)行修正. 一般情況3個(gè)高斯函數(shù)可以保證背景模型的準(zhǔn)確性,本算法使用3個(gè)高斯函數(shù)構(gòu)建混合高斯背景模型.
混合高斯背景模型需要耗費(fèi)大量計(jì)算資源,為了增強(qiáng)實(shí)時(shí)處理速度,程序在執(zhí)行開始的100幀建立背景模型,隨后在每個(gè)間隔幀中更新背景模型.
視頻圖像中運(yùn)動(dòng)的行人目標(biāo),可以認(rèn)為是前景目標(biāo),即為新進(jìn)入攝像區(qū)域的目標(biāo). 該圖像通過原始圖像與前景掩模圖像計(jì)算獲得,可以看到單純通過前景掩模圖像難以獲得完整的團(tuán)塊,原因主要是前景檢測(cè)伴隨小的因氣流變化或陰影等原因產(chǎn)生的噪聲干擾,以及由于人的發(fā)色較一致,在移動(dòng)過程中因?yàn)楸尘案碌木壒蕦?dǎo)致頭部前景圖像具有孔洞. 為了完整獲取ROI區(qū)域,本文提出如下方法改善團(tuán)塊質(zhì)量.
1) 對(duì)團(tuán)塊進(jìn)行面積濾波,設(shè)置閾值th1,濾除較小面積,即不可能是行人目標(biāo)的噪聲干擾.
2) 為了消除背景模型更新導(dǎo)致團(tuán)塊出現(xiàn)的孔洞(比如頭部),使用形態(tài)學(xué)孔洞填充法對(duì)團(tuán)塊進(jìn)行孔洞填充.
3) 使用外接矩形逼近團(tuán)塊建立ROI區(qū)域.
圖1為提取視頻圖像中一幀的處理過程,首先進(jìn)行前景團(tuán)塊提取,通過形態(tài)學(xué)處理后(面積濾波、孔洞填充)用外界矩形圈出,該區(qū)域是進(jìn)行人頭檢測(cè)的目標(biāo)區(qū)域.
圖1 團(tuán)塊提取與外接矩形ROI建立
在單個(gè)行人通過攝像頭監(jiān)視區(qū)域時(shí),團(tuán)塊中只含有一個(gè)目標(biāo),這時(shí)只要對(duì)團(tuán)塊跟蹤計(jì)數(shù)即可獲得很高的識(shí)別準(zhǔn)確率. 但是在人流過于集中的條件下,不同的行人有可能因?yàn)橄嗷ソ佑|而聚集在同一團(tuán)塊,這樣單獨(dú)對(duì)團(tuán)塊進(jìn)行跟蹤無法保證人數(shù)統(tǒng)計(jì)的正確性. 由于攝像頭垂直監(jiān)視斷面時(shí),過大的人流密度仍然不會(huì)導(dǎo)致人頭的重疊. 所以本文提出對(duì)人頭目標(biāo)檢測(cè)跟蹤的人數(shù)統(tǒng)計(jì)方法.
梯度方向直方圖[6](HoG)特征用來對(duì)局部區(qū)域的梯度進(jìn)行計(jì)算,并用直方圖來描述,它是一種圖像局部重疊區(qū)域的特征描述子. 由于其利用局部區(qū)域的梯度直方圖進(jìn)行特征描述,所以能夠在較小的空間域有效克服圖像的光學(xué)形變與幾何形變. 人的頭部具有很多共性特點(diǎn),明顯的顏色特征與弧度特征,但個(gè)體之間由于拍攝角度仍具有一定差異,對(duì)于HoG特征描述子來說對(duì)于微小位移和光照變化具有一定不變性,適合人數(shù)統(tǒng)計(jì)系統(tǒng)的使用.
HoG特征提取過程如下:
1) 歸一化圖像,并計(jì)算梯度.
2) 將圖像分為若干cell(單元),若干cell組合形成一個(gè)block(塊).
3) 通過將梯度方向分為若干等份,對(duì)cell進(jìn)行梯度分布直方圖計(jì)算,將block內(nèi)的cell直方圖進(jìn)行歸一化.
4) 移動(dòng)block,遍歷整個(gè)圖像,將所有block內(nèi)的直方圖特征組合成一個(gè)大的HoG向量.
HoG特征提取較為方便,隨即需要對(duì)分類器進(jìn)行訓(xùn)練. 本文實(shí)驗(yàn)樣本有限,同時(shí)在實(shí)際應(yīng)用過程中,人數(shù)統(tǒng)計(jì)的對(duì)象多為陌生人. 在這種訓(xùn)練樣本遠(yuǎn)遠(yuǎn)不足的情況下適于使用結(jié)構(gòu)風(fēng)險(xiǎn)最小化的支持向量機(jī)(SVM)分類器,神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確性取決于樣本數(shù)趨于無窮的漸進(jìn)理論,支持向量機(jī)通過約束條件,將分類超平面置于最大類間隔內(nèi),適合在小樣本使用[7-10].
實(shí)驗(yàn)通過在攝像頭拍攝到的圖像中選取樣本. 正樣本即為人頭圖像,負(fù)樣本即為非人頭圖像. 由于本文算法的檢測(cè)范圍是前景檢測(cè)提取到的ROI區(qū)域,因此負(fù)樣本多為人體的其他位置,以及人體相鄰的背景. 部分訓(xùn)練樣本見圖2.
圖2 部分訓(xùn)練樣本
HoG特征選取的窗口大小為96×96,cell單元大小為8×8,block大小為32*32,block的滑動(dòng)距離為8. 按照這種方式生成了900維特征. 支持向量機(jī)的核函數(shù)選用徑向基函數(shù),利用訓(xùn)練完成的圖像進(jìn)行測(cè)試,使用滑動(dòng)窗口的方法在ROI上檢測(cè)人頭目標(biāo),ROI區(qū)域滑動(dòng)步長(zhǎng)為4. 檢測(cè)結(jié)果容易出現(xiàn)檢測(cè)窗口的重疊,對(duì)此現(xiàn)象需要對(duì)檢測(cè)窗口進(jìn)行聚合. 本文提出如下方法聚合檢測(cè)窗口.
1) 以最高SVM分?jǐn)?shù)的一半作為閾值,抑制部分重疊窗口.
2) 計(jì)算剩余窗口的相交矩形,并計(jì)算矩形中心.
3) 選擇窗口中心距離矩形中心最近的點(diǎn)為目標(biāo)窗口,并抑制其余窗口.
按照本方法的檢測(cè)效果見圖3.
圖3 滑動(dòng)窗口檢測(cè)與窗口聚合
利用在團(tuán)塊ROI區(qū)域檢測(cè)到的人頭目標(biāo),隨后需要在相鄰幀中進(jìn)行人頭目標(biāo)的跟蹤. 常用的方法有特征點(diǎn)檢測(cè)(例如:SIFT)、模板匹配、光流法、MeanShift算法. 特征點(diǎn)檢測(cè)算法通常利用較穩(wěn)定的局部奇異點(diǎn),這種方法一般魯棒性較強(qiáng),但不適于本文使用,因?yàn)樵谌祟^目標(biāo)中,大部分為頭部平滑的發(fā)色,特征點(diǎn)數(shù)量有限. 不適合使用點(diǎn)追蹤的方法. MeanShift屬于非參數(shù)密度估計(jì),具有較高的實(shí)時(shí)性,Fukunage和Hosteler[11]等人在1975年的首次提出了MeanShift算法. 該算法是一種基于核密度估計(jì)的算法. 從一個(gè)起始點(diǎn)通過向核密度增加的方向不斷的偏移迭代收斂到概率密度極大值處.
空間內(nèi)的核密度估計(jì)可以寫成如公式(3)形式.
利用核密度估計(jì)的表達(dá)式可以得到概率密度極大值點(diǎn),對(duì)上式求導(dǎo)并置0,得到概率密度的極值點(diǎn)x. 并可求得MeanShift向量,它指向概率密度梯度方向. 核密度的導(dǎo)函數(shù)與MeanShift向量見公式(4).
MeanShift算法需要以特征直方圖的形式對(duì)跟蹤目標(biāo)進(jìn)行模型化處理,特征模型可以是顏色、紋理、輪廓等信息. 因?yàn)槿祟^部具有鮮明的色彩信息,易于與背景相區(qū)分,所以本文使用顏色目標(biāo)特征模型.
為了減弱光照的影響,將人頭目標(biāo)的色彩空間轉(zhuǎn)換為HSV色彩模型. 多數(shù)人的頭發(fā)為黑色,飽和度較低. 本文算法采用人頭的飽和度概率分布,統(tǒng)計(jì)飽和9個(gè)區(qū)間的概率密度,隨后建立下一幀視頻圖像的反向投影圖搜索頭部目標(biāo),目標(biāo)的反向投影圖見圖4.
圖4 人頭目標(biāo)與相應(yīng)反向投影圖
因?yàn)槿祟^目標(biāo)在相鄰幀中運(yùn)動(dòng)距離有限,所以MeanShift算法以上一幀的位置作為迭代起點(diǎn)即可快速收斂到目標(biāo)位置. 通過判斷MeanShift算法的收斂位置與下一幀的人頭檢測(cè)位置,若兩者位置小于閾值,可以認(rèn)為該人頭目標(biāo)是上一幀人頭目標(biāo)的運(yùn)動(dòng)結(jié)果,據(jù)此可以生成運(yùn)動(dòng)軌跡,采集圖像大小為1280×720分辨率,在400像素高度處設(shè)置斷面層,對(duì)通過斷面的目標(biāo)進(jìn)行計(jì)數(shù),以此來實(shí)現(xiàn)人數(shù)統(tǒng)計(jì). 檢測(cè)效果見圖5.
圖5 過線檢測(cè)效果
本文所使用的硬件為三星公司的S5PV210,其內(nèi)核為Cortex-A8架構(gòu),主頻1 GHz. 攝像頭為300萬(wàn)像素USB攝像頭. 首先在嵌入式環(huán)境中移植Linux系統(tǒng)、OpenCV 3.0、Qt 4.8. 這為實(shí)時(shí)圖像處理與圖形界面顯示創(chuàng)造了先決條件.
S5PV210擁有1 GHz的主頻,并且支持2D/3D圖形加速. 具有一定速度的圖像處理能力,可以完成本算法所需計(jì)算量. 300萬(wàn)像素的USB攝像頭,圖像清晰度具備人數(shù)統(tǒng)計(jì)的要求. Linux內(nèi)核已經(jīng)自帶該攝像頭的驅(qū)動(dòng)程序,只需利用V4l的系統(tǒng)調(diào)用可以快速的采集圖像. 本系統(tǒng)使用OpenCV 3.0,具備充足的中高層函數(shù)接口,簡(jiǎn)化圖像處理實(shí)用化的復(fù)雜度. 尤其是3.0時(shí)代甚至使用一些與零門檻入門的Matlab相同的函數(shù),大大簡(jiǎn)化了圖像處理開發(fā)復(fù)雜度. 在圖形用戶界面使用Qt 4.8,可以將人數(shù)信息顯示到顯示屏幕上.
按照本文所述算法,建立的軟件設(shè)計(jì)流程見圖6.
圖6 軟件設(shè)計(jì)流程
在人頭目標(biāo)通過檢測(cè)線時(shí),將Linux共享內(nèi)存的數(shù)值加1,共享內(nèi)存是進(jìn)程通信的常用方法,Qt讀取共享內(nèi)存的數(shù)據(jù)并將新的人數(shù)通過重畫事件重新顯示到屏幕上. 實(shí)驗(yàn)測(cè)試效果圖見圖7.
通過本文所述試驗(yàn)方法進(jìn)行測(cè)試,分別采集圖像在實(shí)驗(yàn)室門口與教學(xué)樓大廳,得到實(shí)驗(yàn)結(jié)果見表1. 設(shè)計(jì)中自定義記錄人頭相關(guān)信息的類head_info類,類中使用OpenCV提供的Rect類記錄人頭目標(biāo)的位置信息,并用Mat類記錄上一幀的人頭目標(biāo)圖像,方便在下一幀搜索,將head_info對(duì)象存儲(chǔ)到Vector容器中,Vector由C++標(biāo)準(zhǔn)模版庫(kù)提供,是一種容器類,用于存儲(chǔ)某種數(shù)據(jù)結(jié)構(gòu). 通過在下一幀中跟蹤上一幀所有的人頭目標(biāo),利用MeanShift收斂點(diǎn)與新檢測(cè)到的目標(biāo)位置比較,生成目標(biāo)軌跡,并對(duì)通過斷面層的目標(biāo)進(jìn)行計(jì)數(shù).
圖7 實(shí)驗(yàn)測(cè)試環(huán)境
表1 實(shí)驗(yàn)測(cè)試結(jié)果
由表1可見,實(shí)驗(yàn)室測(cè)試效果較佳,原因是實(shí)驗(yàn)室門小,多為單人出入,檢測(cè)到的團(tuán)塊含有單個(gè)行人,對(duì)于人頭跟蹤不容易受到其他人頭的干擾. 教學(xué)樓大廳的人數(shù)較密集,容易出現(xiàn)團(tuán)塊內(nèi)含有多個(gè)目標(biāo)的狀況,這種情況下算法需要較大的計(jì)算量,致使處理一幀時(shí)間較長(zhǎng),這使得目標(biāo)在下一幀距離較大,目標(biāo)跟蹤效果容易受到影響,出現(xiàn)目標(biāo)丟失的現(xiàn)象,考慮調(diào)整攝像頭采集圖像分辨率并優(yōu)化算法,進(jìn)一步提高準(zhǔn)確率.
本文提出了基于人頭特征的實(shí)時(shí)人數(shù)統(tǒng)計(jì)方法,該特征能夠在高人流密度下不發(fā)生遮擋. 為了有效抑制人頭檢測(cè)虛警與加強(qiáng)算法執(zhí)行速度,現(xiàn)對(duì)視頻圖像提取前景,并采用了形態(tài)學(xué)濾波等方法提取完整的ROI,為了得到行人的軌跡,利用人頭飽和度的特征在相鄰幀中追蹤目標(biāo). 最后算法進(jìn)行了嵌入式系統(tǒng)的設(shè)計(jì)與實(shí)驗(yàn),結(jié)果表明該方案是切實(shí)可行,同時(shí)具備較高準(zhǔn)確率.孫銳,陳軍,高雋. 基于顯著性檢測(cè)與HOG-NMF特征的快
1 速行人檢測(cè)方法. 電子與信息學(xué)報(bào),2013,35(8):1921-1926.
2 Kim BS,Lee GG,Yoon JY,et al. A method of counting pedestrians in crowded scenes. Proceedings of the 4th International Conference on Intelligent Computing:Advanced Intelligent Computing Theories and Applications with Aspects of Artificial Intelligence. Shanghai,China.2008. 1117-1126.
3 Sugimura D,Kitani KM,Okabe T,et al. Using individuality to track individuals:Clustering individual trajectories in crowds using local appearance and frequency trait. 2009 IEEE 12th International Conference on Computer Vision.Kyoto,Japan. 2009. 1467-1474.
4 Luo DP,Sang N,Huang R,et al. A novel online learning method for head detection in video sequences. Proceedings of Visual Information Processing XIX. Orlando,FL,USA.2010. 77010Q.
5 Suo P,Wang YJ. An improved adaptive background modeling algorithm based on Gaussian mixture model. 9th International Conference on Signal Processing. Beijing,China. 2008. 1436-1439.
6 Rossi M,Bozzoli A. Tracking and counting moving people.IEEE International Conference on Image Processing. Austin,TX,USA. 1994. 212-216.
7 Ding M,Fan GL. Generalized sum of Gaussians for real-time human pose tracking from a single depth sensor. 2015 IEEE Winter Conference on Applications of Computer Vision.Waikoloa,HI,USA. 2015. 47-54.
8 Geng YY,Liang RZ,Li WZ,et al. Learning convolutional neural network to maximize Pos@Top performance measure.arXiv:1609.08417,2017.
9 Tan M,Hu ZF,Wang BY,et al. Robust object recognition via weakly supervised metric and template learning.Neurocomputing,2016,181:96-107. [doi:10.1016/j.neucom.2015.04.123]
10 Gerónimo D,López AM,Sappa AD,et al. Survey of pedestrian detection for advanced driver assistance systems.IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,32(7):1239-1258. [doi:10.1109/TPAMI.2009.122]
11 Fukunaga K,Hostetler L. The estimation of the gradient of a density function,with applications in pattern recognition.IEEE Transactions on Information Theory,1975,21(1):32-40. [doi:10.1109/TIT.1975.1055330]