蘇丹+陳永生
摘要:人群密度作為智能監(jiān)控中的重要特性,逐漸成為人們關(guān)注的焦點(diǎn)。針對(duì)復(fù)雜的監(jiān)控場(chǎng)景,提出一種結(jié)合人群像素特征以及紋理特征的混合人群密度監(jiān)控算法。首先引入Vibe對(duì)提取人群的前景圖像,并通過(guò)形態(tài)學(xué)處理消除人物遠(yuǎn)近造成的誤差。然后統(tǒng)計(jì)前景像素占整幅圖像的比例,最后,對(duì)比例上下的兩種情況分別用基于像素特征的算法以及基于紋理特征的算法。試驗(yàn)結(jié)果表明,該算法可以應(yīng)對(duì)各種密度場(chǎng)景下的人群密度檢測(cè),準(zhǔn)確率高,計(jì)算簡(jiǎn)單。
關(guān)鍵詞:人群密度估計(jì);閾值分割;Vibe小波變換 ;灰度共生矩陣
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)35-0202-04
Crowd Density Estimation Algorithm under Complicated Monitoring Scenarios
SU Dan,CHEN Yong-sheng
(Department of Computer Science,Tongji University, Shanghai 201804, China)
Abstract:As an important characteristic of intelligent monitoring, crowd density has gradually become the focus of attention. Aiming at the complex monitoring scene, this paper proposes a hybrid population density monitoring algorithm which combines the pixel features of the population and the texture features. First, Vibe was used to extract the foreground image of the crowd, and the error caused by the distance between characters was eliminated by morphological processing. Then the proportion of the foreground pixel is calculated. Finally, the two cases are compared with the algorithm based on the pixel feature and the texture feature. The experimental results show that the algorithm can deal with the population density detection under various density scenes, with high accuracy and simple calculation.
Key words:crowd density estimation; threshold segmentation;Vibe; wavelet transform; gray level co-occurrence matrix(GLCM)
隨著城市化進(jìn)程的加劇,越來(lái)越多的人涌入了城市,人群聚集的現(xiàn)象越來(lái)越頻繁,隨之而來(lái)的異常群體事件也時(shí)有發(fā)生。因此,對(duì)人群的智能監(jiān)控逐漸成為一個(gè)熱點(diǎn)話題,其中人群的密度特征作為一個(gè)重要的指標(biāo)是實(shí)現(xiàn)智能監(jiān)控首要獲取的信息,基于視頻分析的人群密度估計(jì)是對(duì)公共安全,人群管理,城市環(huán)境設(shè)計(jì)等有重大意義?;谟?jì)算機(jī)視覺(jué)技術(shù),人群密度估計(jì)的方法可以大致分為三類:第一種是基于像素的分析,第二種是基于紋理的分析,以及對(duì)象級(jí)分析。三種代表性的方法分別如下。
基于像素的方法依賴于圖像的局部特征,例如通過(guò)背景獲得的個(gè)體像素通過(guò)分析減法模型或邊緣檢測(cè),以估計(jì)密度人群。Davies[1]首先使用基于像素的方法,他們假設(shè)人的數(shù)量與圖像中的前景像素呈線性相關(guān),然后用線性回歸算法獲取人群的密度。Ma[2]提出了一種基于前景像素?cái)?shù)量的方法來(lái)估計(jì)人群密度,同時(shí)由于相機(jī)的透視效應(yīng)還需要引入幾何校正,但因?yàn)樵诟呙芏热巳褐械膰?yán)重遮擋人群密度不再與前景像素保持線性關(guān)系。所以基于像素的算法在高密度環(huán)境下效果不理想。第二種基于紋理分析的算法其基本原理是不同密度的人群呈現(xiàn)不同的紋理特征。例如,Marana[3]假設(shè)低密度群體的圖像傾向于呈現(xiàn)粗糙的紋理,而高密度的人群圖像則傾向呈現(xiàn)精細(xì)紋理。通過(guò)使用圖像的紋理特征描述符進(jìn)行分析,可以對(duì)較高密度的人群做出合理的估計(jì)。Rahmanlan[4]做了深入比較三種用紋理分析技術(shù)以解決人群密度估計(jì)的問(wèn)題。這三種技術(shù)是分別是灰度相關(guān)矩陣,Minkowski分形尺寸和切比雪夫正交矩。分析表明基于灰度依賴的方法矩陣或Minkowski分形維數(shù)呈現(xiàn)得更好結(jié)果。雖然許多研究人員努力使用紋理估計(jì)人群密度,他們都面臨同樣的問(wèn)題是在較低密度下識(shí)別準(zhǔn)確率的問(wèn)題。第三種對(duì)象級(jí)分析方法嘗試在人群中識(shí)別個(gè)人。該算法經(jīng)常結(jié)合本地和全局的功能來(lái)搜索個(gè)別目標(biāo),并傾向于做更多基于像素的方法或基于紋理的分析。例如,Lin[5]使用Haar小波變換在圖像空間搜索具有頭像的對(duì)象輪廓。Zhao[6]用三維人體模型來(lái)表示場(chǎng)景中的人。然而,這些方法很難將個(gè)體從密集的人群中分離出來(lái)。針對(duì)上述問(wèn)題,本文采用了融合了像素特征以及紋理特征的混合型人群密度估計(jì)算法。
1 改進(jìn)的人群密度估計(jì)算法
首先通過(guò)Vibe算法以及形態(tài)學(xué)處理得到高精度的人群前景圖像,其次,統(tǒng)計(jì)前景像素占全幅圖像的比例,對(duì)于比例低于事先規(guī)定好的閾值的圖像,采用基于像素特征的回歸算法,對(duì)于比例高于閾值的圖像,則采用基于紋理特征的回歸算法,從而實(shí)現(xiàn)對(duì)不同密度場(chǎng)景下的人群均能做出準(zhǔn)確,快速的估計(jì)。此外,為了提升高密度人群密度估計(jì)的準(zhǔn)確率,采用先將圖像通過(guò)小波變換再提取灰度共生矩陣的特征參數(shù)方法。通過(guò)實(shí)驗(yàn)比較,所提方法相對(duì)于傳統(tǒng)方法,具有較高的統(tǒng)計(jì)精度。圖1是本文方法的流程圖。
2 Vibe的人群前景目標(biāo)提取
ViBe算法[7]是Olivier Barnich等人在2009年提出的背景建模方法。ViBe是一種簡(jiǎn)單的幾乎無(wú)參數(shù)的像素級(jí)背景差算法。它使用像素以及鄰接像素創(chuàng)建一個(gè)背景模型,通過(guò)比較當(dāng)前像素和背景模型來(lái)檢測(cè)前景模型。首先,每個(gè)像素存儲(chǔ)在樣本集合中,該樣本集合的保存的值是每一個(gè)像素在其原本位置或者鄰接位置的歷史值。然后將當(dāng)前像素值與樣本進(jìn)行比較來(lái)確定前景圖像。最后,選擇樣本像素,并以隨機(jī)的方式更新像素附近位置的值。具體來(lái)說(shuō),算法的實(shí)現(xiàn)可以分為以下三個(gè)步驟:初始化背景模型,前景檢測(cè)和背景模型的更新。
2.1初始化背景模型
模型初始化是創(chuàng)建采集樣本的過(guò)程。對(duì)于常規(guī)的算法,需要一定長(zhǎng)度的視頻序列來(lái)初始化模型,這是需要時(shí)間成本的。并且如果在視頻幀中發(fā)生突然變化,也需要一定的時(shí)間重新初始化模型。ViBe算法可以不用等待幾個(gè)幀的時(shí)間,利用當(dāng)前像素及其鄰域像素的信息,可以僅使用一個(gè)幀的圖像來(lái)初始化。詳細(xì)方法如下:假設(shè)當(dāng)時(shí)間為t時(shí),[Nt(x)]表示像素點(diǎn)x的N個(gè)相鄰的像素點(diǎn)。[N0(x)]代表第一幀的鄰接像素,[N0(x)]的定義為[N0(x)={n1(x),n2(x),...,nN(x)}],對(duì)于每個(gè)像素,從N個(gè)相鄰像素中隨機(jī)選擇一個(gè)值,所以樣本采集的初始化可以表示為[B0(x,y)={v|v∈Nt(x)}],[B0(x,y)]表示了點(diǎn)在初始化背景模型[(x,y)]處的像素值。這種初始化方式不僅可以減少創(chuàng)建模型的時(shí)間,也可以適應(yīng)背景的突然變化,它只需要取出原來(lái)的模型并使用第一幀即可重新建立背景模型。但是它也有缺陷,在初始化的時(shí)候,容易引入ghost域,例如如果第一幀有前景目標(biāo)在圖像中,會(huì)在初始時(shí)將其列為背景像素點(diǎn)。對(duì)此,本文采用三幀幀差法[8]進(jìn)行背景的預(yù)提取,再進(jìn)行模型的初始化,可以有效避免引入ghost域。
2.2 檢測(cè)前景
當(dāng)完成初始化背景模型之后,Vibe算法會(huì)從第二幀圖像開(kāi)始執(zhí)行前景檢測(cè)處理,檢測(cè)處理包括以下兩個(gè)步驟,第一步是當(dāng)前像素是否與基于N個(gè)樣本集構(gòu)造的背景模型匹配,第二步是分別對(duì)前景樣本點(diǎn)和背景樣本點(diǎn)的數(shù)量進(jìn)行統(tǒng)計(jì)。
對(duì)于尋找匹配像素點(diǎn)來(lái)說(shuō),從第二幀進(jìn)行每個(gè)新像素相對(duì)于預(yù)設(shè)閾值R匹配處理,首先分別計(jì)算每個(gè)像素與其對(duì)應(yīng)的來(lái)自前一幀的N個(gè)像素樣本之間的灰度值差,然后,根據(jù)下面的公式(1)確定每個(gè)像素來(lái)自前景或者背景:
[f(x,y)=|Nt(x,y)-Nn(x,y)|>R 初始化前景|Nt(x,y)-Nn(x,y)|≤R 初始化背景] (1)
其中[Nt(x,y)]代表了當(dāng)前幀像素[(x,y)]點(diǎn)的灰度值,[Nn(x,y)]代表了相同位置上的像素點(diǎn)在過(guò)去幀上的灰度值。對(duì)于圖像中每一個(gè)新的像素,上述公式都會(huì)計(jì)算N次,在計(jì)算的同時(shí)可以得到匹配的像素點(diǎn)的數(shù)目,這個(gè)數(shù)目會(huì)與之前設(shè)定好的最小閾值進(jìn)行比較,如果最小閾值小于統(tǒng)計(jì)出的數(shù)目,則新的像素點(diǎn)會(huì)被當(dāng)成背景像素,如果大于,則會(huì)被當(dāng)成前景像素。在任意時(shí)刻t,[Nt(x,y)=1]表示像素點(diǎn)[(x,y)]是前景像素,[Nt(x,y)=0]表示像素點(diǎn)[(x,y)]是背景像素。因此,最終前景檢測(cè)結(jié)果是二值化的結(jié)果。
2.3背景模型更新
在前景檢測(cè)之后,我們需要更新背景模型。為了適應(yīng)環(huán)境的變化和獲得準(zhǔn)確的檢測(cè)結(jié)果,ViBe算法采用了保守更新方案,可以在背景模型中檢測(cè)出前景像素[9]。ViBe算法使用隨機(jī)策略進(jìn)行選擇,每個(gè)背景像素都具有1/υ的可能被選擇更新相鄰的樣本集。當(dāng)然它也具有相同可能性隨機(jī)被選擇更新自己的樣本集。此外,當(dāng)前景像素的計(jì)數(shù)達(dá)到預(yù)定閾值,則將其改變?yōu)楸尘跋袼兀⑶宜灿?/υ的可能性在其樣本集合中選擇一個(gè)像素隨機(jī)更新模型。
ViBe算法的模型更新由三個(gè)步驟組成[10]:首先,當(dāng)在背景模型當(dāng)中的一個(gè)像素需要更新的時(shí)候,樣本集合中的新像素值隨機(jī)替換一個(gè)像素。這個(gè)無(wú)記憶機(jī)制確保儲(chǔ)存的樣本在背景像素模型具有平滑的衰減壽命。其次,并不需要更新每一幀,ViBe算法更新只有1/υ的可能性。這隨機(jī)定時(shí)子采樣機(jī)制導(dǎo)致延長(zhǎng)的時(shí)間窗口,其由背景像素模型覆蓋。第三,對(duì)于需要更新的每個(gè)像素,在背景模型中隨機(jī)的選擇其相鄰的像素進(jìn)行更新。通過(guò)允許樣本在相鄰像素之間擴(kuò)散,同時(shí)可以保證背景模型的空間一致性。
2.4形態(tài)學(xué)處理
對(duì)經(jīng)過(guò)Vibe算法處理過(guò)的圖像進(jìn)行形態(tài)學(xué)處理,即進(jìn)行形態(tài)學(xué)的開(kāi)閉操作,擊中和不擊中變換以及圖像的細(xì)化,得到更為精確的圖像。圖2(a)給出是一幅原始的人群圖像,圖2(b)是混合高斯模型GMM提取的結(jié)果,圖2(c)是采用的是經(jīng)過(guò)Vibe算法以及形態(tài)學(xué)處理后的圖像,結(jié)果顯示本文所采用的方法產(chǎn)生的圖像更為精確,細(xì)節(jié)處理的更好。
3 閾值分割機(jī)制
現(xiàn)有的研究結(jié)果表明:在人群密度低的時(shí)候,人群個(gè)數(shù)和前景像素之間存在遞增的關(guān)系,通過(guò)線性擬合的方式得到人群個(gè)數(shù);在高密度的情況下,利用人群的紋理特征來(lái)計(jì)算人群人數(shù)則是更為有效的方式。為了將兩種方式集成,采用文獻(xiàn)[11]的方式引入閾值分割機(jī)制,通過(guò)分析數(shù)據(jù)得到一個(gè)較合理的閾值,當(dāng)前景像素?cái)?shù)小于閾值時(shí),采用線性擬合的算法得到人群的人數(shù),當(dāng)像素?cái)?shù)大于閾值時(shí),則采用基于紋理特征的算法。
4 基于像素特征的低密度人群密度估計(jì)方法
當(dāng)前景像素占整幅圖像的比例小于預(yù)先設(shè)定好的閾值時(shí),也就是當(dāng)人群密度不高時(shí),可以建立出人群個(gè)數(shù)與前景像素之間的線性關(guān)系。具體方法為,將測(cè)試圖像經(jīng)過(guò)Vibe以及形態(tài)學(xué)處理之后,引入圖像的幾何校正算法以消除遠(yuǎn)近效應(yīng)并計(jì)算出前景像素?cái)?shù),通過(guò)之前建立的線性關(guān)系模型即可得到人群密度。
5 基于紋理特征的高密度人群密度估計(jì)方法
當(dāng)前景像素占整幅圖像的比例大于事先設(shè)定好的閾值時(shí),也就是當(dāng)人群密度較高時(shí),可以通過(guò)圖像的紋理特征獲取人群密度。對(duì)此,采用灰度共生矩陣來(lái)表示圖像的紋理特征[12]?;叶裙采仃嚤硎镜氖腔叶戎捣謩e為i和j的像素對(duì),在方向θ上,相隔距離為d,出現(xiàn)的頻率[P(i,j|d,θ)],所有像素對(duì)出現(xiàn)頻率所組成的矩陣即為灰度共生矩陣。通常情況下,θ取[0?,45?,90?]和[135?]四個(gè)方向。同時(shí),為了進(jìn)一步提高分類的準(zhǔn)確率,采用結(jié)合小波變換的方式來(lái)獲取紋理特征。
5.1 小波變換
小波變換可以將原始圖像分解為具有不同尺度的一系列子帶圖像,它們代表了圖像的不同細(xì)節(jié)以及輪廓,因此更容易提取原始圖像的結(jié)構(gòu)信息和細(xì)節(jié)信息。對(duì)于人群的圖像,通過(guò)小波變換,在不同方向的人群圖像紋理更突出,特征更加清晰,以提高識(shí)別精度,從而實(shí)現(xiàn)更好的分類結(jié)果。同時(shí),通過(guò)小波變換分解圖像的能力也減輕了遠(yuǎn)近效應(yīng)的影響。在本文中,三級(jí)Daubechies小波變換可以用于獲得10個(gè)子帶圖像。
5.2灰度共生矩陣
完成灰度共生矩陣的建立之后,本文采用4個(gè)方向[(θ=0?,45?,90?,135?)]上的,灰度為16,距離為1的灰度共生矩陣。選取對(duì)比度(contrast)、逆差矩(homogenity)、熵(entropy)、能量(energy)4個(gè)統(tǒng)計(jì)量作為特征參數(shù):
對(duì)比度反映了圖像中紋理的溝紋深淺程度以及圖像的清晰度,公式如下
[Scontrast(d,θ)=i=0L-1j=0L-1(i-j)2f(i,j|d,θ)] (2)
逆差距反應(yīng)圖像紋理局部變化的多少,公式如下
[Shomogenity(d,θ)=i=0L-1j=0L-1f(j,j|d,θ)1+(i-j)2] (3)
熵是反映了圖像中紋理的非均勻程度和復(fù)雜度,公式如下
[Sentropy(d,θ)=i=0L-1j=0L-1f(i,j|d,θ)lgf(i,j|d,θ)] (4)
能量是灰度共生矩陣中所有像素點(diǎn)灰度值的平方和,反映了圖像紋理的粗細(xì)度和灰度分布的均勻程度,公式如下
[Senergy(d,θ)=i=0L-1j=0L-1f(i,j|d,θ)2] (5)
具體的計(jì)算方式為,對(duì)于輸入的每一幀圖像,經(jīng)過(guò)小波變換之后生成10幅子帶圖像,然后分別對(duì)每一幅子圖像計(jì)算出對(duì)應(yīng)的灰度共生矩陣,再將所有的特征參數(shù)組合成一個(gè)160維的特征向量,用于分類處理。
6 基于SVM的密度分類
支持向量機(jī)(SVM)的基本原理是:將原始的特征向量映射變換到一個(gè)高維的特征空間中,在高維特征空間中求解最優(yōu)分類超平面,這個(gè)映射是一個(gè)非線性變換,可以由定義的內(nèi)積函數(shù)來(lái)實(shí)現(xiàn)[13]。它可以解決各種各樣的問(wèn)題,如局部最小值、非線性、小樣本、高維等。SVM的判別函數(shù)如式(6)
[f(x)=sgn{i=1lyiα*iK(xi?x)+b*}] (6)
式中:[sgn{?}]為符號(hào)函數(shù),括號(hào)里的是一個(gè)線性函數(shù),[yi∈{1,-1}]是結(jié)果標(biāo)簽; [α*i]是最優(yōu)拉格朗日乘子; [K(xi?x)]為內(nèi)積核函數(shù); [x]是待分類樣本; [xi]是訓(xùn)練樣本中的支持向量,[b*]是最優(yōu)偏置值。待分類樣本和訓(xùn)練樣本的支持向量通過(guò)內(nèi)積函數(shù)的非線性變化,將輸入空間轉(zhuǎn)化為高維特征空間,得到最佳的分類面,從而得到最佳的分類結(jié)果。
SVM算法開(kāi)始是用來(lái)解決兩類對(duì)象的分類問(wèn)題的,但實(shí)際情況往往需要解決多類對(duì)象的分類問(wèn)題,對(duì)于中等密度以上的人群密度估計(jì),可以把需要處理的情況分為中等密度,高密度以及很高密度三種情況。對(duì)此,可以采用一對(duì)一的方式,訓(xùn)練時(shí),每選擇兩個(gè)不同類的樣本就建立一個(gè)二類分類器,則n種類別,需要訓(xùn)練出[C2N]即[(n-1)n/2]種分類器。最后的輸出采用投票機(jī)制,得票次數(shù)最多的類別就是該樣本最終的類別,這種方式的優(yōu)點(diǎn)是計(jì)算時(shí)間短,Libsvm使用就是一對(duì)一模式。顯然,這種方法缺點(diǎn)是當(dāng)類別多時(shí),需要多達(dá)[(n-1)n/2]個(gè)支持向量機(jī),計(jì)算量大。
7 實(shí)驗(yàn)結(jié)果與分析
本文的測(cè)試平臺(tái)是Core(TM)i5 2.5GHz,代碼在Visual Studio,Opencv上實(shí)現(xiàn),基于Polus[13]的研究,根據(jù)場(chǎng)景內(nèi)的人數(shù)可將人群密度分為低(0~15人),中低(15~30人),中(30~45人),高(45~60人),很高(>60人)。測(cè)試數(shù)據(jù)來(lái)自pets2009數(shù)據(jù)集,使用該數(shù)據(jù)集中的樣本,首先根據(jù)上述5個(gè)密度等級(jí)訓(xùn)練SVM參數(shù),然后選取5組測(cè)試參數(shù),并得到最后的結(jié)果。
8 結(jié)束語(yǔ)
通過(guò)將像素特征以及紋理特征相結(jié)合,以及通過(guò)Vibe算法和形態(tài)學(xué)處理前景圖像,可以很好的針對(duì)不同密度等級(jí)的人群做出密度估計(jì),實(shí)驗(yàn)結(jié)果表明,采用本文所提的方法平均識(shí)別準(zhǔn)確率在97%以上,可以滿足正常視頻監(jiān)控對(duì)密度檢測(cè)的需要,但是在識(shí)別速度上,還有進(jìn)一步提升的空間。
參考文獻(xiàn):
[1]Davies A C, Yin J H, Velastin S A. Crowd monitoring using image processing[J]. Electronics & Communication Engineering Journal, 1995, 7(1): 37-47.
[2] Ma R, Li L, Huang W, et al. On pixel count based crowd density estimation for visual surveillance[C]//Cybernetics and Intelligent Systems, 2004 IEEE Conference on. IEEE, 2004, 1: 170-173.
[3] Marana A N, Costa L F, Lotufo R A, et al. On the efficacy of texture analysis for crowd monitoring[C]// Computer Graphics, Image Processing, and Vision, 1998. Proceedings. SIBGRAPI'98. International Symposium on. IEEE, 1998: 354-361.
[4] Rahmalan H, Nixon M S, Carter J N. On crowd density estimation for surveillance[C]//Crime and Security, 2006. The Institution of Engineering and Technology Conference on. IET, 2006: 540-545.
[5] Lin S F, Chen J Y, Chao H X. Estimation of number of people in crowded scenes using perspective transformation[C]. Systems, Man and Cybernetics, Part A: Systems and Humans, IEEE Transactions on, 2001, 31(6): 645-654.
[6] Zhao T, Nevatia R. Bayesian human segmentation in crowded situations[C]// Computer Vision and Pattern Recognition, 2003. Proceedings. 2003 IEEE Computer Society Conference on. IEEE, 2003, 2: II-459-66 vol. 2.
[7] Barnich O,Van Droogenbroeck M.ViBe:a powerful random technique to estimate the background in video sequences[C]// Proceedings of 2009 IEEE International Conference on Acoustics,Speech and Signal Processing,2009:945-948
[8] 隋華.交通監(jiān)控系統(tǒng)中運(yùn)動(dòng)目標(biāo)分類和跟蹤研究[J].信息與控制,2003,32(1): 61-64.
[9]C.Q. Yin, Y.Q. Luo, and D.Q. Zhang, A novel background subtraction for intelligent surveillance in wireless network[C], Wireless Communications and Networking Conference, 2014: 3017-3021.
[10] S. Brutzer, B. Hoferlin, and G. Heidemann, Evaluation of background subtraction techniques for video surveillance[J],Computer Vision and Pattern Recognition, 2011:1937-1944.
[11]李寅,王貴錦,林行剛.結(jié)合局部和全局特征的人群密度估計(jì)算法[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2013,53(4):542-545.
[12]馮建輝,楊玉靜.基于灰度共生矩陣提取紋理特征圖像的研究[J].北京測(cè)繪,2007(3) : 19-22.
[13] 奉國(guó)和.SVM分類核函數(shù)及參數(shù)選擇比較[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(3) :
123-124.
[14]Schofer J, Ushpiz A, Polus A.Pedestrian flow and level of service[J].Journal of Transportation Engineering,1983,109(1):46-56.