寇中元+應捷
摘 要:在對Kinect采集到的圖像進行預處理后,為了實現(xiàn)行人運動目標檢測,需要對行人目標進行特征識別,然后將識別分割的區(qū)域作為行人目標的備選區(qū)域。通過改進的自適應高斯混合模型的背景建模對預處理后的深度圖像進行行人目標分割,分離出有用信息,然后利用Freeman鏈碼方法提取連通域輪廓,作為行人目標的人體頭部區(qū)域,便于后續(xù)對行人目標的跟蹤與統(tǒng)計研究。試驗表明,最終得到的結(jié)果達到了預期目標,算法準確性與魯棒性很好。
關(guān)鍵詞:背景建模;深度圖像;高斯混合模型;Freeman鏈碼;輪廓提取
DOIDOI:10.11907/rjdk.171413
中圖分類號:TP312
文獻標識碼:A 文章編號文章編號:1672-7800(2017)008-0039-04
0 引言
隨著城市化的快速發(fā)展,人口髙密度化帶來的各種經(jīng)濟、安全問題成為當今社會的熱點問題。公共場合下的人流統(tǒng)計已應用于安防、商業(yè)、交通管理等領(lǐng)域。在商業(yè)領(lǐng)域,商場內(nèi)各個區(qū)域、時段的人流統(tǒng)計數(shù)據(jù)對提高經(jīng)營決策的科學性、資源調(diào)配的合理性、消費環(huán)境的舒適度等方面起著至關(guān)重要的作用;在博物館、汽車站、地鐵口、機場等公共場所中,實時、精準的人流統(tǒng)計信息,對于人員調(diào)度、資源分配和突發(fā)事件預防等同樣起到?jīng)Q定性的指導作用。當前基于計算機視覺的人流統(tǒng)計是該領(lǐng)域主流的技術(shù)方案,但是在現(xiàn)實研究中如何實現(xiàn)準確率高、實時性好的行人統(tǒng)計系統(tǒng)仍然是一個難點。因此,行人運動目標分割與檢測技術(shù)是目前研究的主要方向,具有較強的現(xiàn)實意義。
1 國內(nèi)外研究現(xiàn)狀
目前應用較為廣泛的自動客流統(tǒng)計系統(tǒng)(AntoPassengercouni)主要有接觸式和非接觸式兩種設(shè)計思路。接觸式方法主要分為兩種,一種采用入口機械欄桿裝置,一種采用踏板壓力傳感器;非接觸式方法也分為兩大類,一種采用紅外檢測技術(shù),另一種則是基于機器視覺的方法。機器視覺的方法是目前新興的解決方案。國外如Terada和Yoshida[1]采用雙目攝像機,通過左、右眼獲得的時空圖像實現(xiàn)人數(shù)統(tǒng)計;Kettnaker和Zabih采用多個不重疊的攝像機,根據(jù)所攝內(nèi)容的相關(guān)性及軌跡跟蹤的時間幀關(guān)系實現(xiàn)人數(shù)統(tǒng)計;Schofield和Stonham采用單目攝像機和基于隨機存取存儲器(RAM)神經(jīng)網(wǎng)絡(luò)的方法實現(xiàn)人數(shù)統(tǒng)計。
在國內(nèi),清華大學、上海交通大學、華中科技大學、中科院自動化研究所、微軟亞洲研究院等高校與科研院所也在目標跟蹤領(lǐng)域進行了大量研究工作,在諸如人體特征部位跟蹤、視覺監(jiān)控、人數(shù)統(tǒng)計等方向取得了許多科研成果。
2 基于深度圖像的行人目標檢測與輪廓提取
在對Kinect采集到的圖像進行預處理后,需要對行人目標的特征進行識別,將識別分割的區(qū)域作為行人目標的備選區(qū)域[2]。因此,需要對經(jīng)過中值濾波、形態(tài)學預處理后的深度圖像進行行人目標分割,分離出有用信息,并對識別出的連通域進行輪廓提取,作為行人目標的人體頭部區(qū)域,便于后續(xù)對行人目標的跟蹤與統(tǒng)計研究[3]。
2.1 自適應高斯混合模型背景建模
在基于自頂向下獲取圖像方式的人數(shù)統(tǒng)計系統(tǒng)中,視場中的背景隨時間變化較少,屬于固定場景的場合。對于無行人目標的靜態(tài)場景,其具有的特性可以用統(tǒng)計模型進行表述,因此可以用多個高斯模型的加權(quán)混合模擬背景特性[4]。
2.1.1 標準高斯混合模型建立
利用深度圖像進行人體頭部區(qū)域的識別,實際的深度圖像為灰度圖,并且每個像素點的灰度值服從高斯分布,因此可以使用高斯模型進行背景像素點的建模統(tǒng)計,以實現(xiàn)前景區(qū)域和背景的分離[5]。
對于復雜的人流統(tǒng)計場景,往往單個高斯模型不能有效地實現(xiàn)背景建模,因此需要多個高斯模型來描述背景特征,稱為高斯混合模型(GMM)。高斯混合模型通常使用M個(通常M取值為3~7)高斯模型的加權(quán)和表征背景圖像中每個像素的多峰狀態(tài)和變化特征,常用于復雜動態(tài)背景的建模。
高斯混合模型實現(xiàn)的大致過程如圖1所示。
對傳統(tǒng)的高斯混合模型,在采樣間隔T內(nèi),在t時刻采集到的值設(shè)為xT={x(t),…,x(t-T)}。假設(shè)圖像中的各像素點之間是獨立分布(高斯分布)的,則在t時刻當前像素的概率如式(1)所示:
p(xT)=∑Mm=1ωmη(x;μm,∑m)(1)式(1)中,M代表高斯模型的個數(shù),ωm表示第m個高斯分布的權(quán)重,0≤ωm<1并且ΣMm=1ωm=1。μm表示第m個高斯分布的均值;∑m表示第m個高斯分布的協(xié)方差矩陣且Σm=σ2mI,σ2m表示第m個高斯模型的方差。概率密度函數(shù)η(x;μm,∑m)可由式(2)表示:η(x;μm,∑m)=1(2π)D2∑m12e-12(x-μm)TΣ-1m(x-μm)(2)在模型參數(shù)更新時,一般使用EM算法,但這會導致較長的消耗時間。因此,模型參數(shù)更新時,利用像素值和每一個高斯模型函數(shù)進行比較,如式(3)所示。若每一個像素的灰度值與某一個高斯模型均值的絕對值處于2.5~3倍標準方差范圍之內(nèi),則認為匹配成功。當存在多個匹配時,選取其中最好的一個或者選擇第一個匹配的模型;若未成功匹配,則選取一個新的高斯分布來取代模型中權(quán)值ω最小的高斯分布。新的高斯分布要符合權(quán)重較小、均值為當前像素值且方差較大的要求[6]。 x(t)-μ(t-1)m≤βσ(t-1)m,β=2.5~3(3)得到滿足式(3)條件的模型,說明匹配成功,則利用式(4)對各個高斯模型參數(shù)進行更新。
ω∧(t)m=(1-α)ω∧(t-1)m+αο(t)mμ∧(t)m=(1-α)μ∧(t-1)m+ρx(t)∑∧(t)m=(1-α)∑∧(t-1)m+ρ(x(t)-μ∧(t)m)(x(t)-μ∧(t)m)Tρ=αη(x;μ∧m,∑∧m)ο(t)m=1;match0;otherwise (4)式(4)中,α為學習率,1/α決定參數(shù)更新的速率。學習率α的值越大,說明背景模型的初始化和更新速率越快,適應場景環(huán)境變化的能力越強,但也容易引入部分噪聲。α值一般選擇0.001~0.1之間的一個值。進行參數(shù)更新后,雖然知道像素產(chǎn)生的最可能的高斯函數(shù),還需要將其進行背景與前景的分類。基于ωm/σm的值將這M個高斯分布進行降序排序,值越大,意味著權(quán)重越大或者方差越低,從而增加了判斷該像素是背景的概率。取出其中前B個高斯模型作為背景模型。B的計算如式(5)所示:endprint
B=argminb(∑bm=1ωm>T)(5)式(5)中,T代表閾值常數(shù)。需要針對不同場景進行實驗統(tǒng)計,對于選取閾值常數(shù)T,是基于所有視頻幀中背景像素的比例一直都大于T的基準。同時,實際中若一個運動目標長時間在視場的歷史幀中保持靜止,則歸類為背景[7]。歷史幀的選擇為n=logT/log(1-α),例如取T=0.9,α=0.001時,105幀內(nèi)運動目標靜止,則會被歸為背景。
2.1.2 改進的自適應高斯混合模型
標準高斯混合模型算法的魯棒性在于模型匹配時不同情況下高斯分布的參數(shù)更新方式。但是由于對每個像素點選擇的M個高斯分布是一個定值,而實際環(huán)境的背景模態(tài)分布數(shù)目并非相等。較穩(wěn)定的像素點可能為單模態(tài)特征,變化較大的區(qū)域像素點則可能需要多個高斯分量進行建模。因此,為了針對不同輸入場景動態(tài)地選擇高斯分量的個數(shù),則使用自適應的高斯混合模型(Adaptive GMM,AGMM)。在較簡單的場景下,可以只選取一個最為重要、權(quán)重最大的高斯分量進行描述,以節(jié)省后期更新背景的時間,提高算法運行速度[8]。因此,自適應高斯混合模型建模在GMM的更新方程上對權(quán)值引入了一個先驗密度分布,并且先驗函數(shù)為狄利克雷(dirichlet)函數(shù)。由前文分析可知,前景模型和背景模型的分類和權(quán)重ωm值的大小直接關(guān)聯(lián),根據(jù)權(quán)重ωm的值來決定第m個高斯模型具有的數(shù)據(jù)多少,它可以表征第m個高斯模型的樣本概率。假設(shè)有t個數(shù)據(jù)樣本,且它們來自其中一個GMM模型,同時有許多樣本來自其中的M個部分。
nm=∑ti=1ο(i)m(6)定義似然函數(shù)為L=∏Mm=1ωnmm。由上述分析可知權(quán)重之和為1,則引入拉格朗日乘子λ,可得如式(7)所示的最大似然估計:
ω∧m(logL+λ(∑Mm=1ω∧m-1))=0(7)當消除λ時,得到:
ω∧(t)m=nmt=1t∑ti=1ο(i)m(8)將t采樣時刻的估計記為ω∧(t)m,它可以遞歸的形式被改變:
ω∧(t)m=ω∧(t-1)m+1/t(ο(t)m-ω∧(t-1)m)(9)由于新的采樣點影響固定,說明更新更加依賴新樣本的影響,并且舊樣本的影響以指數(shù)形式衰減。
在自適應高斯混合模型的權(quán)值更新方程中,引入狄利克雷先驗函數(shù)Ρ=∏Mm=1ωcmm,系數(shù)cm代表利用最大后驗概率(MAP)方法得到的屬于先驗分布的樣本數(shù)目。使用cm=-c,負的先驗分布意味著只要有足夠的分布屬于該模型,則認同該模型的存在。因此,加入狄利克雷先驗估計后的似然方程如式(10)所示:ω∧m(logL+logP+λ(∑Mm=1ω∧m-1))=0(10)因此可以得到:
ω∧(t)m=1K(∑ti=1ο(i)m-c)(11)其中,K=∑Mm=1(∑ti=1ο(t)m-c)=t-Mc,所以:
ω∧(t)m=1/t∑ti=1ο(t)m-c/t1-Mc/t(12)c/t表示先驗估計產(chǎn)生的偏差,在允許存在的偏差范圍內(nèi),使偏差固定為c/t=cT=c/T。因此,得到權(quán)重的更新方程為:ω∧(t)m=ω∧(t-1)m+1/t(ο(t)m1-McT)-1/tcT1-McT(13)由于使用較少的高斯模型,即M的值相對較小。同時,上述討論的偏差cT也較小,則1-McT≈1。因此,權(quán)重更新方程可簡化成式(14)的形式:
ω∧(t)m=ω∧(t-1)m+α(ο(t)m-ω∧ (t-1)m)-αcT(14)綜上所述,引入狄利克雷先驗函數(shù)和最大似然估計后,減小了權(quán)值大小。因此,既可以消除不符合分類條件的高斯模型,又可以防止權(quán)重為負值的高斯模型,能夠?qū)崿F(xiàn)高斯模型分類個數(shù)的自適應選取。對于給定的α=1/T,在一個高斯模型中至少需要c=0.01×T個采樣數(shù)據(jù),因此cT=0.01。同時,對于α的選擇,由于α越大,背景更新越快。結(jié)合本文的背景場景特點,更新率α如式(15)所示。在初始的背景建模時,更新率α較大,且隨著幀數(shù)增加,α值更新減小。當幀數(shù)達到設(shè)定值N時,將更新率固定為0.001~0.1之間的一個值。
α=1t+1,t 2.1.3 背景建模結(jié)果在對預處理后的深度圖像進行改進的自適應混合高斯模型建模之前,由于俯視得到的深度信息在圖像的邊界會發(fā)生畸變,因此需要對深度圖像進行縮放變換,用來抑制因圖像畸變而引起人體頭部區(qū)域特征不準確的現(xiàn)象,利于后續(xù)對人體頭部區(qū)域的判斷。其中,利用式(16)進行縮放變換,縮放變換后的深度圖像如圖2所示。 f(x,y)=αT(x,y)+β(16)式(16)中,α=255/4 096=0.062 3,β的值為0,不進行偏移。 進行縮放變換后,對深度圖像進行改進的混合高斯模型建模。其中,α取0.000 1。對當前的數(shù)據(jù)幀而言,建模得到如圖3(a)所示的前景掩膜。然后根據(jù)分離的前景和背景,利用式(17)進行閾值二值化處理,得到如圖3(b)所示的深度信息的二值化圖。與原圖相與運算得到的前景數(shù)據(jù)如圖3(c)所示,由于建模過程產(chǎn)生噪聲,因此再對前景數(shù)據(jù)進行閉運算操作,濾除噪點,得到最終的人體頭部區(qū)域前景如圖3(d)所示。 f(x,y)=0,g(x,y)≥T255,g(x,y) 2.2 基于Freeman鏈碼的頭部輪廓提取
利用自適應高斯混合模型得到的前景區(qū)域進行連通域提取。為了判別行人頭部區(qū)域,需要利用人體的頭部特征將前景中的輪廓提取出來用于后續(xù)的人體頭部區(qū)域的條件約束,獲得頭部區(qū)域。本文利用Freeman鏈碼(亦稱為八方向碼)方法對連通域的輪廓進行提取[9]。本文使用如圖4(a)所示的1~8進行Freeman鏈碼矢量編碼,以利于后續(xù)求取輪廓周長和區(qū)域內(nèi)面積。獲取輪廓邊緣的步驟如下:(1)在具有封閉輪廓的二值圖像中,按行搜索的形式尋找白色像素點。當搜索到第一個白色像素點時,記錄該點坐標,記為(x0,y0)。(2)以上述獲得的白色像素點作為搜索點,首先從第4個方向(即180°方向)開始以逆時針方向判斷相鄰像素點是否為白色像素點。若不是白素像素點,則以逆時針方向選取下一個方向進行判斷;若為白色像素點,記錄該像素點坐標,記為(x1,y1),記(x0,y0)至(x1,y1)的Freeman碼矢量為V0,并定義該矢量為(x1,y1)的當前矢量為(x0,y0)的次矢量。(3)由于人頭區(qū)域大多是比較規(guī)則的圓形或橢圓形,因此以(x1,y1)為中心點,并從(V0-1)的方向開始繼續(xù)逆時針搜索(值為0則從矢量8方向開始搜索)。若相鄰像素為白色像素點,記為(x2,y2),從而得到(x2,y2)的當前矢量和(x1,y1)的次矢量。(4)重復(1)~(3)的步驟,繼續(xù)搜索屬于輪廓的點,直至尋找到初始點(x0,y0),形成封閉輪廓。
通過以上步驟,可獲得前景中所有的封閉輪廓,而且所有輪廓是沿著逆時針方向獲得的,因此得到封閉輪廓內(nèi)的像素都位于輪廓左側(cè)。
圖5(b)為分離得出的連通區(qū)域作為人體頭部區(qū)域的備選區(qū)域,利用Freeman鏈碼得到右上方區(qū)域的輪廓點為:(204, 103);(204, 105);(203, 106);(198, 106);(198, 107);(197, 108);(196, 108);(195, 109);(194,109);(193, 110);(193, 111);(192, 112);(192, 113);(191, 114);(191, 115);(190, 116);(190, 125);(188, 127);……;(224, 113);(215, 104);(214, 104);(213,103),共74個輪廓點??梢钥闯?,輪廓點按逆時針方向獲取,且首尾相連,得到一個封閉區(qū)域。同樣,左下角得到的區(qū)域點共有96個輪廓點。
3 結(jié)語
本文根據(jù)自適應高斯混合模型的背景建模算法和Freeman鏈碼方式獲得了連通區(qū)域的輪廓,并將其作為人體頭部的備選區(qū)域。根據(jù)前景提取的特征來看,行人頭部區(qū)域的特征基本上不發(fā)生變化,且遮擋較少。因此,可以選擇頭部區(qū)域的幾何特征作為約束條件。下一步將對分割獲得的區(qū)域輪廓進行分析,根據(jù)輪廓和輪廓包圍區(qū)域的幾何特征約束,判定其是否為行人目標,并對行人目標進行跟蹤分析。
參考文獻:
[1] CHEN T H. An automatic bi-directional passing-people counting method based on color image processing[C]. 2003 International Carnahan Conference on Security Technology, Proceedings,2003:200-207.
[2] ZHU L, WONG K H. Human tracking and counting using the kinect range sensor based on adaboost and kalman filter[M].Advances in Visual Computing. 2013:582-591.
[3] 周穎. 深度圖像的獲取及其處理[D].西安:西安電子科技大學,2008.
[4] 尹章芹, 顧國華, 陳錢,等. 三維深度圖像在自動客流計數(shù)系統(tǒng)中的應用[J].中國激光,2014(6):192-198.
[5] BROSTOW G J, CIPOLLA R. Unsupervised Bayesian detection of independent motion in crowds[C]. IEEE Computer Society Conference on Computer Vision & Pattern Recognition,2006:594-601.
[6] WANG N, GONG X, LIU J. A new depth descriptor for pedestrian detection in RGB-D images[C].International Conference on Pattern Recognition,2012:3688-3691.
[7] 曹其春. 融合深度信息的運動物體檢測算法研究[D]. 北京: 北方工業(yè)大學, 2015.
[8] 焦賓, 呂霞付, 陳勇,等. 一種改進的自適應高斯混合模型實時運動目標檢測算法[J]. 計算機應用研究, 2013, 30(11):3518-3520.
[9] 牛勝石. 基于Ada Boost和SVM的人頭檢測[D].武漢:中南民族大學, 2010.endprint