田 楓
(陜西師范大學數(shù)學與信息科學學院 陜西 西安 710119)
基于高斯混合模型的視頻圖像人數(shù)統(tǒng)計算法研究
田 楓
(陜西師范大學數(shù)學與信息科學學院 陜西 西安 710119)
針對攝像機俯視拍攝場景的人數(shù)統(tǒng)計問題,提出一種運算效率高、誤檢率低的人數(shù)統(tǒng)計方法。以人頭部位為檢測對象,采用運動偵測、邊緣檢測方法獲取人頭輪廓,在此基礎上采用高斯混合模型分別對人頭輪廓目標點集和橢圓模型進行建模,通過最小化人頭輪廓目標點集與橢圓模型的高斯混合模型之間的歐氏距離求解橢圓參數(shù),統(tǒng)計滿足橢圓形狀的輪廓數(shù)量,再通過形狀濾波得到人數(shù)統(tǒng)計結果。人數(shù)統(tǒng)計對比實驗結果表明,新方法的誤檢率低,且運算效率高。
人數(shù)統(tǒng)計 高斯混合模型 人頭檢測 邊緣檢測 運動偵測
大型場館(如博物館、展覽館、商場等)都需要智能的人數(shù)統(tǒng)計系統(tǒng),以便及時掌握不同區(qū)域的人群分布,為特殊情況(如火災)下的人群疏散和管制提供幫助[1]。隨著監(jiān)控攝像機的普及,基于計算機視覺的人數(shù)統(tǒng)計方法成為當前主流的人數(shù)統(tǒng)計方法[2-4]。
依據(jù)攝像機拍攝方式的不同,現(xiàn)有基于計算機視覺的人數(shù)統(tǒng)計方法也可以分為兩類。一類是針對攝像機側向拍攝場景的人數(shù)統(tǒng)計方法,另一類是針對攝像機俯視拍攝場景的人數(shù)統(tǒng)計方法。前者主要依據(jù)人體的結構化特征檢測人體目標和進行人數(shù)統(tǒng)計,常用的人體結構化特征有梯度方向直方圖HOG(Histogram of Oriented Gradient)[5]、Haar[6]、局部二元模式LBP(Local Binary Pattern)[7]等。此類方法的難點在于,攝像機側向拍攝時人與人、人與物之間經(jīng)常存在遮擋,而遮擋條件下人體的結構化特征丟失嚴重,人數(shù)統(tǒng)計誤差較大。因此,在大型場館內常采用攝像機俯視拍攝的方式采集視頻,這樣可以大幅降低人體遮擋的現(xiàn)象。然而帶來的問題是,人體結構化特征的顯著性下降,難以采用第一類方法有效檢測人體目標。不過,這種拍攝方式下人體的頭部特征比較顯著,常采用人頭檢測的方法來進行人數(shù)統(tǒng)計[8-9]??紤]到人的頭部輪廓與橢圓形狀相近,通過橢圓檢測方式檢測人頭目標是一種有效的人頭檢測方法,如采用廣義霍夫圓變換方法檢測人頭目標[10-11]。然而,此類方法檢測橢圓目標的誤檢率較高,且運算效率較低。
針對攝像機俯視拍攝場景的人數(shù)統(tǒng)計難題,本文結合高斯混合模型和歐式距離準則檢測橢圓目標,降低了橢圓檢測的誤檢率,同時提高了運算效率。以此為基礎,本文采用運動偵測方法快速定位感興趣區(qū)域,采用邊緣檢測方法獲取運動目標輪廓,再結合橢圓檢測和形狀濾波方法進行人數(shù)統(tǒng)計,可以對攝像機俯視拍攝場景下的人體數(shù)量進行可靠和高效的統(tǒng)計。與現(xiàn)有的攝像機俯視場景人頭計數(shù)方法相比,本文方法的創(chuàng)新性主要體現(xiàn)兩個方面:
第一,結合高斯混合模型和歐式距離準則檢測橢圓目標,與常用的廣義霍夫圓變換方法相比,橢圓目標檢測的誤檢率更低,運算效率更高。
第二,在橢圓檢測的基礎上,結合運動偵測提高算法的運算效率,結合形狀濾波進一步降低人頭目標的誤檢,提高人數(shù)統(tǒng)計精度。
本文提出一種結合高斯混合模型和歐氏距離準則的橢圓檢測方法,基本思路是:對于圖像上的目標點集f和一個橢圓模型ep,采用高斯混合模型進行建模,描述二者的形狀。然后通過最小化兩模型之間的歐式距離來估計橢圓參數(shù),檢測橢圓目標。
橢圓參數(shù)p可以表示為:
p={x0,y0,a,b,α}
(1)
其中,(x0,y0)表示橢圓的中心,a和b分別表示橢圓長軸和短軸的長度,α表示橢圓長軸與水平方向的夾角。
橢圓參數(shù)可以通過最小化目標點集f與橢圓模型ep之間的歐氏距離來求解,表示為:
(2)
下面介紹目標點集f與橢圓模型ep的建模方法以及橢圓檢測方法。
1.1 橢圓模型建模
參數(shù)p所形成的橢圓上的任一點u(j)滿足如下方程:
(3)
其中,τj∈[0,2π]。
本文采用高斯混合模型對橢圓上的點進行建模,記橢圓上的N個采樣點的集合為{u(j)|j=1,2,…,N},則橢圓模型ep可以表示為:
(4)
在本文中,μj取目標點u(j)與下一個目標點u(j+1)的位置平均值。協(xié)方差矩陣Σj通過構建一個旋轉矩陣Qj來求解,表示為:
(5)
其中,旋轉矩陣Qj由兩個單位正交向量組成,表示為:
(6)
圖1 單位正交向量圖示
對角矩陣Λj表示為:
(7)
其中:
(8)
其中,h為正交帶寬控制參數(shù),用于控制橢圓輪廓的平滑度。權重wj滿足如下條件:
(9)
1.2 目標點集建模
給定一組目標點的集合{v(i)|i=1,2,…,n},本文也采用高斯混合模型對目標點集f進行建模,表示為:
(10)
(11)
其中,目標點v(i)的梯度表示為:
(12)
另外,對于每一個目標點,對角矩陣Λi是相同的,表示為:
(13)
1.3 橢圓參數(shù)求解
如式(2)所示,橢圓參數(shù)可以通過最小化目標點集f與橢圓模型ep之間的歐氏距離來求解,其中:
‖f-ep‖2=‖f‖2+‖ep‖2-2
(14)
其中,第一項‖f‖2與橢圓參數(shù)p無關,可以忽略。后兩項的計算方法為:
μk,∑j+Σk)
(15)
μj,Σj+Σi)
(16)
1.4 單橢圓檢測
單橢圓參數(shù)求解偽代碼
輸入:hmax,hmin,β
過程:
1. 初始化:h=hmax。
3. while(h=β×h且h≤hmin)
4. 計算C(p)=‖f-ep‖2;
5. if(C(p) 7. end if 8. end while (17) 其中,T1為設定的閾值,用于描述目標點與橢圓模型的容差。如果橢圓上的目標點數(shù)量超過橢圓長軸和短軸的長度之和,則認為檢測到一個橢圓,否則認為沒有檢測到橢圓。 1.5 多橢圓檢測 如果有多個橢圓,本文采用兩步檢測法進行檢測,具體步驟為: Step1 全局檢測 采用單橢圓檢測方法檢測目標點集中的一個橢圓; Step2 目標點集更新 按照式(17)判斷滿足已檢測橢圓的點集,將其從目標點集中刪除,如果剩余的目標點數(shù)量小于原始目標點數(shù)量的T2倍,則檢測結束;否則,返回Step1。 檢測結束后,輸出檢測到的橢圓數(shù)量。其中,T2為經(jīng)驗閾值。 依據(jù)攝像機拍攝角度的不同,人數(shù)統(tǒng)計的方法也不一樣。如圖2所示,(a)為攝像機側向拍攝場景,此時常依據(jù)人體的結構化特征(如梯度方向直方圖特征)檢測人體,采用行人檢測方法進行人數(shù)統(tǒng)計。如當攝像機由上向下俯視拍攝時,人體的結構化特征不明顯(如(b)所示),此時常采用的行人檢測方法很難檢測到人體目標。而此類場景下人頭的輪廓非常顯著,可以采用橢圓檢測方法來檢測此類場景下的人體目標,統(tǒng)計人數(shù)。本文結合前述的橢圓檢測方法和運動偵測方法來檢測此類場景下的人體目標,統(tǒng)計人數(shù)?;玖鞒倘鐖D3所示。 圖2 攝像機拍攝方式 圖3 人數(shù)統(tǒng)計流程圖 2.1 運動偵測 運動偵測是為了粗定位人體區(qū)域,去除大面積的背景區(qū)域,從而提高算法的運算效率,同時降低虛檢。本文采用混合高斯模型運動目標檢測方法,詳細步驟見文獻[12]。 2.2 感興趣區(qū)域定位與裁剪 一般,運動偵測檢測到的運動目標可能不完整或存在斷裂。因此,本文在基于運動偵測結果定位感興趣區(qū)域時,先對運動偵測后的二值圖像進行數(shù)學形態(tài)學的膨脹操作(膨脹窗口為W×H),其目的是避免人頭區(qū)域的丟失。然后,按8-鄰接連通方式,搜索二值圖像的連通域,選取包圍盒尺寸在T3×T3和T4×T4之間的連通域作為感興趣區(qū)域,再按照感興趣區(qū)域在原始圖像中的位置,從原始灰度圖像中裁剪感興趣區(qū)域圖像,進行后續(xù)的檢測。其中,T3、T4為經(jīng)驗閾值。 2.3 邊緣檢測 本文采用Prewitt檢測算子檢測感興趣區(qū)域圖像的邊緣,算子模板如圖4所示。通過邊緣檢測,得到橢圓檢測所需的目標點集。 圖4 Prewitt檢測算子模板 2.4 橢圓檢測 在運動偵測和感興趣區(qū)域定位階段,人體目標可能由于距離太近而被檢測到同一個感興趣區(qū)域之中。這樣情況下,該感興趣區(qū)域可能存在多個橢圓。因此,對于邊緣檢測提取到的目標點集,采用上一節(jié)所述的多橢圓檢測方法檢測橢圓個數(shù)及每一個橢圓對應的參數(shù)。 2.5 形狀濾波 對于檢測到的每一個橢圓,采用形狀濾波濾除干擾。具體地,要求每一個橢圓的長軸、短軸的長度和比例滿足場景中人頭目標的先驗知識,本文用式(18)約束了人頭目標的最大、最小尺寸和形狀。 (18) 其中,T5和T6為經(jīng)驗閾值。 2.6 人數(shù)統(tǒng)計 當攝像機俯視拍攝視頻時,不同人體的人頭目標不會重疊。因此,如果某一個感興趣區(qū)域中檢測到多個橢圓,判斷各橢圓的包圍盒是否有重疊,如果有,則合并為一個橢圓,也即一個人頭目標。然后,統(tǒng)計圖像中各感興趣區(qū)域檢測到的橢圓總數(shù),即為當前時刻場景中包含的人數(shù)。 本文針對攝像機俯視拍攝模式采集的人體視頻集進行仿真實驗,分析本文方法涉及參數(shù)的最優(yōu)取值,與現(xiàn)有主流方法進行對比實驗,評價本文方法的性能。 3.1 實驗數(shù)據(jù)與評測方法 目前,國際上公開人體數(shù)據(jù)集都是攝像機側向拍攝模式采集的人體數(shù)據(jù)集,如INRIA[13]、Daimler[14]和Caltech行人數(shù)據(jù)集[15]。而攝像機側向拍攝時人體易出現(xiàn)遮擋現(xiàn)象,人數(shù)統(tǒng)計誤差較大。因此,在大型場館內常采用攝像機俯視拍攝模式采集視頻進行人數(shù)統(tǒng)計。然而,國內外目前還未見公開的攝像機俯視拍攝模式采集的人體數(shù)據(jù)集。本文針對實驗室自建的測試數(shù)據(jù)集進行仿真實驗,該數(shù)據(jù)集是在博物館人數(shù)統(tǒng)計項目中構建的,由安裝在各場館的攝像機拍攝,攝像機的拍攝角度是由上到下,安裝高度在8~10 m之間。視頻采集參數(shù)如表1所示。 表1 視頻采集參數(shù) 為了避免視頻解碼誤差影響測試結果,本文先將視頻數(shù)據(jù)集轉換為圖像數(shù)據(jù)集,具體是按照視頻幀率將視頻解碼為bmp格式的圖像進行存儲,然后對每一幅圖像上的人數(shù)進行人工標記,包括標記人頭目標的包圍盒位置以及圖像上的總人數(shù)。 算法評測方法是:首先,對于每一幅圖像,統(tǒng)計檢測到的人數(shù)以及人頭目標的包圍盒。然后,與標記的人頭目標包圍盒進行比較,如果檢測出的人頭目標包圍盒與實際人頭目標包圍盒的重合度超過50%,則認為檢測正確,否則,認為檢測錯誤。接著,統(tǒng)計該圖像漏檢的人數(shù)和誤檢的人數(shù),計算二者之和與該幅圖像檢測出的總人數(shù)的比值,將該比值作為當前圖像的誤檢率。最后,統(tǒng)計所有圖像的平均誤檢率,作為算法的性能評價指標。平均誤檢率越低,算法性能越好。另外,運算效率也是算法的重要評價指標之一。因此,本文在對比算法性能時還對比每幅圖像的平均處理時間,作為評價算法運算效率的依據(jù)。 3.2 相關參數(shù)分析 本文涉及的參數(shù)可以分為三類,詳細描述如下。 (1) 橢圓采樣點數(shù) 在本文中,橢圓采樣點數(shù)為N。當N取值不同時,采用高斯混合模型擬合的橢圓效果也不一樣。一般地,N取值越大,擬合的橢圓邊界越平滑,但同時擬合所需的目標點數(shù)量越多,檢測尺寸較小的橢圓目標時就可能因為目標點數(shù)量少而造成漏檢。另外,N取值越大,橢圓擬合計算量也越大。因此,在保證擬合橢圓邊界基本平滑的前提下,N取值越小越好。圖5顯示了參數(shù)N取不同值時高斯混合模型擬合的橢圓效果,其中,正交帶寬控制參數(shù)h取固定值1。可見,當N=20時擬合的橢圓邊界已基本平滑。因此,本文取N=20。 圖5 參數(shù)N取值不同時的橢圓擬合效果 (2) 經(jīng)驗參數(shù) 本文涉及的經(jīng)驗參數(shù)有9個,分別是T1、T2、T3、T4、T5、T6、hmin、hmax和β。其中,T1用于描述實際目標點與擬合橢圓模型的容差,T2用于約束多橢圓檢測的終止條件,T3和T4用于約束待檢測人頭目標的尺寸,T5和T6用于約束待檢測人頭目標的形狀。hmin、hmax和β用于控制橢圓檢測效率。這些參數(shù)都可以通過大量實驗統(tǒng)計以及一些先驗知識來確定。本文所用的參數(shù)經(jīng)驗取值見表2。 表2 經(jīng)驗參數(shù)取值 (3) 膨脹窗口尺寸 運動偵測后的二值圖像需要進行數(shù)學形態(tài)學的膨脹操作,目的是為了防止運動目標斷裂或者丟失。膨脹窗口的尺寸越大,運動目標的完整性越好,人頭目標丟失的概率越低,但同時干擾區(qū)域會增多,誤檢的概率以及算法的運算量都會增大。因此,最優(yōu)膨脹窗口尺寸的選擇依據(jù)是:在人數(shù)統(tǒng)計的平均誤檢率下降不明顯的情況下,選取盡可能小的膨脹窗口尺寸。其中,考慮到攝像機由上向下拍攝時人頭目標長寬比差異不大,因此本文采用正方形膨脹窗口,也即W=H。圖6給出了不同膨脹窗口尺寸下的誤檢率曲線,可見,隨著膨脹窗口尺寸的增加,平均誤檢率會降低,當W=H=7時,平均誤檢率下降趨勢已不明顯,甚至在W=H=13時,平均誤檢率還有少許增大。因此,本文取W=H=7,也即選擇尺寸為7×7的窗口進行膨脹操作。 圖6 不同膨脹窗口尺寸下的誤檢率曲線 3.3 不同方法性能對比 大型場館內常采用攝像機俯視拍攝方式采集視頻,以便降低人與人、人與物之間的相互遮擋現(xiàn)象。然而該模式下人體結構化特征的顯著性下降,無法采用常用的行人檢測方法進行人數(shù)統(tǒng)計。由于該模式下人頭部位的顯著性增強,常采用人頭檢測方法進行人數(shù)統(tǒng)計,具體是將人頭輪廓擬合為橢圓,通過檢測橢圓數(shù)量實現(xiàn)人數(shù)統(tǒng)計,常用方法詳見文獻[8-11]。因此,本文在相同數(shù)據(jù)集上,將本文方法與文獻[8-11]所述方法進行對比實驗,實驗結果如表3所示。其中,對比方法是參考文獻[8-11]中所述方法的實現(xiàn)原理和步驟自行實現(xiàn)的,關于廣義霍夫圓檢測、運動偵測、邊緣檢測部分借鑒了OpenCV中的相關代碼。 表3 不同人數(shù)統(tǒng)計方法性能對比 實驗所用的計算機性能參數(shù)為:Intel Core-i5 CPU 3.20 GHz、16 GB RAM和Windows 7 64位操作系統(tǒng)。軟件處理平臺為Visual Studio 2010。 由表3可見,本文方法的誤檢率最低,而且平均處理時間最小,證明本文方法可以有效進行人數(shù)統(tǒng)計。 本文提出了一種基于高斯混合模型的人數(shù)統(tǒng)計方法,首先采用運動偵測方法檢測運動目標區(qū)域,然后提取目標輪廓,在此基礎上采用結合高斯混合模型和歐式距離準則的橢圓檢測方法檢測人頭目標,經(jīng)過濾波后得到人數(shù)統(tǒng)計結果。針對攝像機俯視拍攝場景的人數(shù)統(tǒng)計仿真實驗結果表明,本文方法的人數(shù)統(tǒng)計誤檢率和平均處理時間都低于目前主流方法,證明本文方法是一種有效的人數(shù)統(tǒng)計方法,可用于大型場館的客流統(tǒng)計以及客車的超載檢測。 [1] 周治平,許伶俐,李文慧.特征回歸與檢測結合的人數(shù)統(tǒng)計方法[J].計算機輔助設計與圖形學學報,2015,27(3):425-432. [2] 常慶龍,夏洪山,黎寧.一種基于歸一化前景和角點信息的復雜場景人數(shù)統(tǒng)計方法[J].電子與信息學報,2014,36(2):312-317. [3] 湯石晨,陳鍛生.基于光流法和行人面積特征的人數(shù)統(tǒng)計方法研究[J].圖學學報,2013,34(1):139-144. [4] 李虎,張二虎,段敬紅.基于PCA和多元統(tǒng)計回歸的人群人數(shù)統(tǒng)計方法[J].計算機工程與應用,2014,50(11):206-209. [5] Sun L,Liu G,Liu Y.Multiple pedestrians tracking algorithm by incorporating histogram of oriented gradient detections[J].Iet Image Processing,2013,7(7):653-659. [6] Hoang V D,Vavilin A,Jo K H.Fast human detection based on parallelogram haar-like features[C]//IECON 2012-38th Annual Conference on IEEE Industrial Electronics Society.IEEE,2012:4220-4225. [7] Satpathy A,Jiang X,Eng H L.Human detection using Discriminative and Robust Local Binary Pattern[C]//IEEE International Conference on Acoustics,Speech,& Signal Processing.2013:2376-2380. [8] Vu T H,Osokin A,Laptev I.Context-Aware CNNs for Person Head Detection[C]//2015 IEEE International Conference on Computer Vision (ICCV).2015:2893-2901. [9] 文嘉俊,徐勇,戰(zhàn)蔭偉.基于AdaBoost和幀間特征的人數(shù)統(tǒng)計[J].中國圖象圖形學報,2011,16(9):1729-1735. [10] 徐培智,徐貴力,黃鑫.基于隨機Hough變換的人頭檢測[J].計算機工程,2012,38(1):199-200. [11] 張繼法,梅雪,許松松,等.一種基于雙橢圓模型的視頻人數(shù)統(tǒng)計方法[J].計算機科學,2012(B06):499-502. [12] 周建英,吳小培,張超,等.基于滑動窗的混合高斯模型運動目標檢測方法[J].電子與信息學報,2013(7):1650-1656. [13] Dalal N,Triggs B.Histograms of Oriented Gradients for Human Detection[C]//IEEE Conference on Computer Vision & Pattern Recognition,2005:886-893. [14] Markus E,Gavrila D M.Monocular pedestrian detection:survey and experiments[J].Pattern Analysis & Machine Intelligence IEEE Transactions on,2008,31(12):2179-2195. [15] Dollar P,Wojek C,Schiele B,et al.Pedestrian detection:An evaluation of the state of the art[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2012,34(4):743-761. RESEARCH ON THE VIDEO IMAGE PEOPLE COUNTING ALGORITHM BASED ON GAUSSIAN MIXTURE MODEL Tian Feng (SchoolofMathematicsandInformationScience,ShaanxiNormalUniversity,Xi’an710119,Shaanxi,China) Aiming at the problem of people counting in the overhead scene of the camera, a people counting method of high efficiency and low false detection rate is proposed. The new method takes people’s heads as the detection objects, and uses motion detection and edge detection methods to obtain contours of heads. On this basis, the Gaussian mixture model is used to model the contour points of the human head and the ellipse model respectively. By minimizing the Euclidean distance between the target contour set and the elliptic model of Gaussian mixture model, the elliptic parameters are solved and the number of contours satisfying the elliptical shape is counted, and then through the shape filtering to get the results of people counting. The experimental results show that the new method has low false detection rate and high computational efficiency. People counting Gaussian mixture model Head detection Edge detection Motion detection 2016-05-20。陜西省自然科學基金項目(2016JM1017)。田楓,博士生,主研領域:算法分析及數(shù)學哲學等。 TP391 A 10.3969/j.issn.1000-386x.2017.06.0342 人數(shù)統(tǒng)計
3 仿真實驗
4 結 語