牛秋月 李超 唐國良
摘 要針對復(fù)雜環(huán)境下人流量統(tǒng)計準(zhǔn)確度較低問題,本文提出新的人流量統(tǒng)計算法。首先對采集到的視頻幀圖像進(jìn)行預(yù)處理增強(qiáng)前景物體邊緣,接著用背景建模法完成運(yùn)動物體檢測;其次通過HOG提取樣本特征并投入SVM分類器中進(jìn)行訓(xùn)練,然后使用訓(xùn)練好的分類器進(jìn)行人體目標(biāo)的識別,輸出目標(biāo)位置;最后采用Camshift與Kalman濾波相結(jié)合的方法來實(shí)現(xiàn)人體跟蹤計數(shù)。經(jīng)實(shí)驗(yàn),算法具有較高準(zhǔn)確性和實(shí)時性。
【關(guān)鍵詞】背景建模 HOG SVM Camshift Kalman濾波
1 引言
隨著網(wǎng)絡(luò)和多媒體信息處理技術(shù)的不斷發(fā)展,智能視頻監(jiān)控系統(tǒng)作為安全防范、城市規(guī)劃、市場決策的一種重要手段越來越受追崇,廣泛應(yīng)用于銀行、醫(yī)院、車站、商場等公共場所中。復(fù)雜環(huán)境下的人數(shù)流量統(tǒng)計對監(jiān)控視頻中的人群密度分析和目標(biāo)跟蹤提供了極大的便利。
近幾年,智能監(jiān)控視頻人數(shù)統(tǒng)計作為計算機(jī)視覺領(lǐng)域的難點(diǎn)受到了國內(nèi)外學(xué)者的密切關(guān)注,并取得了一定的進(jìn)展。例如Viola[1]等人提出基于運(yùn)動特征的人數(shù)統(tǒng)計方法。Antonin[2]等人提出一種基于軌跡的行人估計方法,王強(qiáng)[3]等人提出一種基于顏色和形狀信息的人數(shù)統(tǒng)計方法。隨著計算機(jī)視覺的發(fā)展,現(xiàn)階段很多學(xué)者又把機(jī)器學(xué)習(xí)相關(guān)技術(shù)應(yīng)用到人流量統(tǒng)計中。例如Wang[4]等人提出一種基于深度卷積神經(jīng)網(wǎng)絡(luò)回歸模型計算圖像中人數(shù),Li[5]等人提出一種基于人頭檢測和跟蹤的計數(shù)方法,周治平[6]等人提出一種基于特征回歸與檢測結(jié)合的人數(shù)統(tǒng)計方法,吳冬梅[7]等人提出一種基于線性內(nèi)插透視矯正的SURF算法進(jìn)行大規(guī)模人數(shù)統(tǒng)計。盡管國內(nèi)外許多學(xué)者投入大量精力研究出別出心裁的行人檢測和人數(shù)統(tǒng)計算法,但在實(shí)際應(yīng)用中易受人體姿態(tài)、目標(biāo)遮擋、光線等外界因素的影響,在準(zhǔn)確性和實(shí)時性方面有待進(jìn)一步提高。針對以上問題,本文提出的人流量統(tǒng)計算法首先對采集的視頻幀圖像進(jìn)行預(yù)處理,減少外界因素的干擾,緊接著用背景建模技術(shù)檢測出運(yùn)動物體。其次通過HOG提取樣本特征并投入SVM分類器中進(jìn)行訓(xùn)練,然后使用訓(xùn)練好的分類器進(jìn)行人體目標(biāo)的識別,輸出目標(biāo)位置。最后用Camshift與Kalman濾波相結(jié)合的算法實(shí)現(xiàn)自動跟蹤計數(shù)。經(jīng)實(shí)驗(yàn),算法具有較高準(zhǔn)確性和實(shí)時性。
2 系統(tǒng)概述
為精確統(tǒng)計人流量,視頻采集設(shè)備安裝在室內(nèi)入口頂部或其它不容易遮擋的位置進(jìn)行試驗(yàn)。如圖1所示,本文人流量統(tǒng)計系統(tǒng)主要包括視頻預(yù)處理、行人檢測、跟蹤計數(shù)三部分。對于采集到的視頻幀圖像先進(jìn)行二值化和形態(tài)學(xué)處理,簡化后期運(yùn)動目標(biāo)檢測工作,使圖像前景物體的邊界更加平滑。運(yùn)動物檢測主要是利用均值背景建模的方法估算得到背景,分離出前景運(yùn)動物體。行人識別是通過HOG特征提取和SVM分類器進(jìn)行人體目標(biāo)的識別并輸出目標(biāo)位置。跟蹤計數(shù)采用Camshift和Kalman濾波相結(jié)合的算法來實(shí)現(xiàn)人體跟蹤,能夠有效避免目標(biāo)變形和其它障礙物的遮擋,從而精確統(tǒng)計出人流量。
3 視頻預(yù)處理
為了更精確的檢測出輸入視頻幀序列的行人,先對圖像進(jìn)行二值化和形態(tài)學(xué)處理,處理結(jié)果如圖2所示。二值化主要是將圖像原來每個像素點(diǎn)的灰度值都設(shè)為255和0兩種取值,輸入圖像經(jīng)過二值化處理之后,圖像變得簡單易處理,且數(shù)據(jù)量減少,能夠凸顯出目標(biāo)物體的輪廓,提高后期處理的效率。
形態(tài)學(xué)處理主要是借助數(shù)學(xué)中的集合論來描述的,二值圖像的基本形態(tài)學(xué)運(yùn)算包括腐蝕、膨脹、開運(yùn)算、閉運(yùn)算。腐蝕和膨脹是形態(tài)學(xué)最基本的兩種運(yùn)算。若A為輸入圖像,B為結(jié)構(gòu)元素,A被B膨脹的運(yùn)算記為:,定義如下:
(1)
式(1)可理解為:A被B膨脹是所有位移x的集合,B的映射與A至少有一個元素是重疊的。其主要是用結(jié)構(gòu)元素B掃描圖像的每一個像素A,并與其覆蓋的二值圖像做“與”運(yùn)算,作用是填補(bǔ)分割后物體中的空洞,使圖像中的目標(biāo)“生長”或“變大”。
腐蝕作用相反,會使目標(biāo)圖像縮小,A被B腐蝕,記為:,定義如下:
(2)
結(jié)構(gòu)元素B對A的開運(yùn)算,記為:,可定義為:,即先用結(jié)構(gòu)元素B對A腐蝕,再用B對腐蝕結(jié)果進(jìn)行膨脹,可使目標(biāo)物體輪廓變得更光滑,斷開狹窄的間斷,消除小的突出物。
閉運(yùn)算和開運(yùn)算相反,記為:,可定義為:,即是先用B對A膨脹,然后再用B對其腐蝕結(jié)果進(jìn)行腐蝕,可使目標(biāo)物體輪廓更加光滑,消除狹窄的間斷和小的孔洞并填補(bǔ)中間的斷裂。
腐蝕和膨脹雖可以減少圖像噪聲,使目標(biāo)物邊界更加明顯,但改變了原目標(biāo)物體的大小,圖像失真可能性較大;開操作與閉操作能在不明顯改變原目標(biāo)物體大小的同時,有效地平滑目標(biāo)物的邊緣,減少圖像的失真,因此本文選擇先進(jìn)行開操作后進(jìn)行閉操作來達(dá)到形態(tài)學(xué)的處理。
4 運(yùn)動目標(biāo)檢測
本文最終目的是人流量統(tǒng)計,重點(diǎn)是從監(jiān)控視頻中識別出行人,因此應(yīng)首先從視頻中檢測到運(yùn)動物體,然后進(jìn)行人體目標(biāo)識別和跟蹤計數(shù)。運(yùn)動目標(biāo)檢測主流方法有三種:Frame Difference(幀差法)、Optical Flow(光流法)、Background Modeling(背景建模法)。
幀差法主要是通過視頻序列中當(dāng)前幀和相鄰幀像素點(diǎn)灰度值的差異檢測出運(yùn)動目標(biāo)。在視頻序列中,臨近的幀圖像之間具有連續(xù)性,若視頻中有運(yùn)動物體時,臨近幀圖像之間的像素點(diǎn)灰度值差別會較大,反之,若視頻中無運(yùn)動物體時,臨近幀圖像之間的像素點(diǎn)灰度值差別會較小,幀差法就是利用此特性檢測運(yùn)動物體的?;驹砣鐖D3所示,先用相鄰兩幀做差分運(yùn)算,然后檢測出運(yùn)動目標(biāo)。幀差法算法易于實(shí)現(xiàn),且能較快檢測出運(yùn)動物體,但若運(yùn)動物體速度較快且連續(xù)兩幀間隔時間長,同一運(yùn)動物體可能會被判別為兩個不同的物體;若運(yùn)動物體速度較慢且連續(xù)兩幀間隔時間短,運(yùn)動物體可能會被判別為背景。
光流法主要是通過觀察視頻幀圖像內(nèi)的光流矢量是否發(fā)生連續(xù)變化來判定是否有運(yùn)動物體的,如果光流矢量連續(xù)變化,則判定為沒有運(yùn)動物體;否則,被判定為有運(yùn)動物體。由于光流法不需要提前知道場景信息,能廣泛應(yīng)用于靜態(tài)背景和動態(tài)背景運(yùn)動物體檢測。但其算法耗時較長,實(shí)時性較低,且易受周圍噪聲影響。
背景建模法是近階段運(yùn)動物體檢測應(yīng)用較多的一種方法,其算法關(guān)鍵是如何建立背景模型,當(dāng)前背景建模主要采用易于實(shí)現(xiàn)且實(shí)時性較高的參數(shù)化背景建模方法。參數(shù)化背景建模過程如圖4所示,首先根據(jù)背景參數(shù)構(gòu)建背景模型,接著用模型和當(dāng)前幀圖像做差分運(yùn)算,最后通過差分圖像灰度值變化情況判定當(dāng)前圖像是屬于前景還是背景,若灰度值變化較大為前景,否則為背景。背景建模法實(shí)現(xiàn)簡單,實(shí)時性較高,且能有效地從變換頻繁的背景中檢測出運(yùn)動物體。因此本文在運(yùn)動檢測時主要使用背景建模法,經(jīng)實(shí)驗(yàn),效果良好,符合復(fù)雜場景中運(yùn)動目標(biāo)檢測的要求。
5 人體目標(biāo)識別
本文基于OpenCV平臺,利用HOG特征和SVM分類器來進(jìn)行人體目標(biāo)識別。OpenCV雖然自帶有HOG和SVM的應(yīng)用編程接口和人體目標(biāo)識別的Model,但是OpenCV沒有提供樣本訓(xùn)練的Model。因此很多學(xué)者只能用OpenCV自帶的已經(jīng)訓(xùn)練好的分類器來進(jìn)行人體目標(biāo)識別。然而,OpenCV自帶的分類器是基于HOG人體目標(biāo)識別的提出者NavneetDalal博士和Bill Triggs博士的INRIA Person Dataset中的樣本進(jìn)行訓(xùn)練的,INRIA 數(shù)據(jù)庫提供的樣本圖片多是靜態(tài)行人,不能滿足監(jiān)控視頻對行人檢測的需要。因此本文將針對監(jiān)控視頻圖像進(jìn)行重新訓(xùn)練,以便得到精度較高的分類器。訓(xùn)練及識別流程如圖5所示,首先搜集合適的樣本圖(部分正樣本如圖6所示、負(fù)樣本如圖7所示)并輸入,其次通過HOG提取樣本特征并投入SVM分類器中進(jìn)行訓(xùn)練,最后使用訓(xùn)練好的分類器即可進(jìn)行人體目標(biāo)的識別,輸出目標(biāo)位置。
經(jīng)實(shí)驗(yàn),重新訓(xùn)練得到的分類器能夠快速的檢測出視頻幀圖像中的人體目標(biāo),實(shí)驗(yàn)結(jié)果如圖8所示。
6 跟蹤計數(shù)
上節(jié)已利用HOG特征提取與SVM成功檢測出視頻幀圖像中的人體目標(biāo),但監(jiān)控視頻中人流量的統(tǒng)計要解決的問題是視頻幀圖像序列,而不是簡單的靜態(tài)圖片,因此檢測出人體目標(biāo)之后還需對人體進(jìn)行跟蹤直至其消失在監(jiān)控畫面中。本文使用Camshift(連續(xù)自適應(yīng)的MeanShift算法)與Kalman filtering(卡爾曼濾波)來實(shí)現(xiàn)人體跟蹤,采用虛擬門的方式實(shí)現(xiàn)人流量計數(shù),并規(guī)定行人從左向右走為進(jìn),反之為出。
6.1 Camshift算法
Camshift是基于圖像的顏色特征來進(jìn)行跟蹤,其使用MeanShift算法不斷對視頻每一幀圖像進(jìn)行迭代,能夠自適應(yīng)調(diào)整目標(biāo)跟蹤區(qū)域的大小,實(shí)現(xiàn)流程如下:
(1)將視頻幀圖像的RGB彩色空間模型轉(zhuǎn)換為在顏色分割中占優(yōu)勢的HSV模型,并提取代表色彩的H分量。
(2)由人體目標(biāo)識別所得結(jié)果建立初始搜索窗口,并統(tǒng)計出搜索范圍內(nèi)的顏色密度分布和顏色直方圖。
(3)運(yùn)行MeanShift算法,得到新的窗口信息。
(4)重復(fù)(2)(3)兩步,達(dá)到實(shí)時跟蹤。
6.2 Kalman 濾波
Camshift算法是利用圖像的顏色特征不斷迭代確定目標(biāo)區(qū)域,進(jìn)而實(shí)現(xiàn)實(shí)施跟蹤,復(fù)雜環(huán)境下若目標(biāo)周圍存在噪聲發(fā)生遮擋現(xiàn)象,Camshift算法可能會出現(xiàn)跟蹤目標(biāo)丟失現(xiàn)象,因此需結(jié)合具有預(yù)估能力的Kalman 濾波,防止跟蹤目標(biāo)丟失。
Kalman 濾波是卡爾曼(R.E.Kalman)和布塞(R.S.Bucy)在論文《線性濾波和預(yù)測理論的新成果》中提出的,Kalman 濾波是一個遞歸的過程,主要通過時間更新和狀態(tài)更新兩個過程來預(yù)估目標(biāo)的位置坐標(biāo)和速度。以下是卡爾曼濾波的兩個重要方程:
狀態(tài)方程:X(K)=H(K)X(K-1)+Q(K-1)
觀測方程:Y(K)=A(K)X(K)+R(K)
其中,
假設(shè),X(K)和X(K-1)分別代表K和K-1時刻的狀態(tài)矢量,Y(K)代表K時刻的測量值,Q(K)和R(K)為高斯白噪聲,H(K)為觀測矩陣,A(K)為狀態(tài)轉(zhuǎn)移矩陣。
Kalman濾波首先將Camshift算法檢測到的目標(biāo)質(zhì)心位置信息賦值給零時刻的X(0)和Y(0);在跟蹤的時刻K,由上一時刻的最優(yōu)估算值X(K-1)得到當(dāng)前時刻的最優(yōu)估算值X(K);接著再通過Camshift算法計算當(dāng)前時刻目標(biāo)的質(zhì)心信息賦值給Y(K);最后通過測量值和最優(yōu)估算值可以得到當(dāng)前的最優(yōu)估算X(K),并用于Camshift下一幀的計算。
為了驗(yàn)證本文使用的Camshift與Kalman 濾波相結(jié)合的跟蹤算法的準(zhǔn)確性和實(shí)時性,分別使用室外監(jiān)控視頻和室內(nèi)監(jiān)控視頻來驗(yàn)證此算法的效果。實(shí)驗(yàn)結(jié)果如圖9所示。
7 總結(jié)
本文主要研究了智能視頻監(jiān)控中的人流量統(tǒng)計,為了簡化后期行人檢測工作,使圖像前景物體的邊界更加平滑,首先對采集到的圖像進(jìn)行二值化和形態(tài)學(xué)處理工作;在運(yùn)動目標(biāo)檢測部分,使用易于實(shí)現(xiàn)且實(shí)時性較高的背景建模法;在人體目標(biāo)識別中,首先通過HOG提取樣本特征并投入SVM分類器中進(jìn)行訓(xùn)練,然后使用訓(xùn)練好的分類器進(jìn)行人體目標(biāo)的識別;最后采用Camshift與Kalman濾波相結(jié)合的方法來實(shí)現(xiàn)人體跟蹤計數(shù)。經(jīng)過不同場景下的實(shí)驗(yàn),本文所使用的人體目標(biāo)識別和跟蹤算法具有較高準(zhǔn)確性和實(shí)時性,具有一定的使用價值,但僅局限于在靜態(tài)背景和單目環(huán)境下使用,下一步研究將會在多變的動態(tài)背景下,使用多個攝像頭實(shí)現(xiàn)聯(lián)動跟蹤計數(shù)。
參考文獻(xiàn)
[1]Viola P,Jones M J,Snow D.Detecting Pedestrians Using Patterns of Motion and Appearance[J]. International Journal of Computer Vision,2005,63(02):153-161.
[2] Antonini G,Martinez S V,Bierlaire M, et al.Behavioral Priors for Detection and Tracking of Pedestrians in Video Sequences[J].International Journal of Computer Vision,2006, 69(02):159-180.
[3]王強(qiáng),馮燕.基于顏色和形狀信息的快速人數(shù)統(tǒng)計方法[J].計算機(jī)測量與控制,2010,18(09):2157-2159.
[4]Wang C,Zhang H,Yang L,et al.Deep People Counting in Extremely Dense Crowds[C].ACM International Conference on Multimedia.ACM, 2015:1299-1302.
[5]Li B,Zhang J,Zhang Z,et al.A people counting method based on head detection and tracking[C]// International Conference on Smart Computing.IEEE,2015:136-141.
[6]周治平,許伶俐,李文慧.特征回歸與檢測結(jié)合的人數(shù)統(tǒng)計方法[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2015,27(03):425-432.
[7]吳冬梅,王靜,李白萍等.基于改進(jìn)SURF算法的大規(guī)模群體人數(shù)統(tǒng)計[J].西安科技大學(xué)學(xué)報,2015,35(05):650-655.
[8]吳辰夏.二值化圖像特征及其應(yīng)用[D].浙江大學(xué),2013.
[9]崔寶俠,李愛軍,蘇桂華.基于數(shù)學(xué)形態(tài)學(xué)的交通圖像濾波處理方法研究[J].沈陽工業(yè)大學(xué)學(xué)報,2007,29(02):192-196.
[10]Fan X,Cheng Y,F(xiàn)u Q.Moving Target Detection Algorithm Based on Susan Edge Detection and Frame Difference[C].International Conference on Information Science and Control Engineering.IEEE,2015:323-326.
[11] LIU Hong-bin,CHANG Fa-liang. Moving object detection by optical flow method based on adaptive weight coefficient[J].Guangxue Jingmi Gongcheng/optics\s&\sprecision Engineering,2016,24(02):460-468.
[12]Tanaka T,Shimada A,Taniguchi R I,et al.Towards Robust Object Detection:Integrated Background Modeling Based on Spatio-temporal Features[M]// Computer Vision-ACCV 2009.Springer Berlin Heidelberg, 2010:201-212.
[13]Dalal N,Triggs B.Histograms of oriented gradients for human detection[C].Computer Vision and Pattern Recognition,2005.CVPR 2005. IEEE Computer Society Conference on. IEEE,2005:886-893.
[14]Alonso I P,Llorca D F,Sotelo M ?,et al.Combination of Feature Extraction Methods for SVM Pedestrian Detection[J].IEEE Transactions on Intelligent Transportation Systems, 2007,8(02):292-307.
[15]王晉疆,劉陽,吳明云.基于快速魯棒特征的CamShift跟蹤算法[J].計算機(jī)應(yīng)用,2013,33(02):499-502.
[16]翟衛(wèi)欣,程承旗.基于Kalman濾波的Camshift運(yùn)動跟蹤算法[J].北京大學(xué)學(xué)報(自然科學(xué)版),2015,51(05):799-804.
[17]姚放吾,許辰銘.基于目標(biāo)質(zhì)心的Meanshift跟蹤算法[J].計算機(jī)技術(shù)與發(fā)展,2012,22(06):104-106.
作者簡介
牛秋月(1990-),女,河南省鹿邑縣人。碩士學(xué)位。主要研究方向?yàn)槟J阶R別與人工智能。
作者單位
河南中醫(yī)藥大學(xué)信息技術(shù)學(xué)院 河南省鄭州市 450046