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