湯石晨, 陳鍛生
(華僑大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,福建 廈門 361021)
隨著視頻監(jiān)控設(shè)備的普及,以及硬件和存儲(chǔ)設(shè)備的改進(jìn),目前已經(jīng)具有采集連續(xù)監(jiān)控視頻的能力[1]。隨著視頻數(shù)據(jù)的增加,大多數(shù)的數(shù)字視頻監(jiān)控系統(tǒng)僅僅提供獲取、存儲(chǔ)和發(fā)送視頻的基礎(chǔ)設(shè)備,卻把監(jiān)控的任務(wù)交給專門的操作人員。然而,人類實(shí)時(shí)監(jiān)控的能力存在很大的局限性,所以一套實(shí)時(shí)視頻監(jiān)控軟件能夠很大程度上彌補(bǔ)人類的局限性。人數(shù)統(tǒng)計(jì)是視頻監(jiān)控領(lǐng)域中一個(gè)重要的部分,具有很好的應(yīng)用前景[2]。
人數(shù)統(tǒng)計(jì),不僅在公共安全領(lǐng)域,也在商業(yè)決策領(lǐng)域?yàn)闆Q策者提供重要信息。例如,在特殊環(huán)境中,特定人數(shù)也許是一種不尋?;蛘哂袧撛谖kU(xiǎn)的情況。此外,在一個(gè)大型購(gòu)物中心的某個(gè)區(qū)域中監(jiān)控人數(shù),可以為決策者提供重要信息來源,優(yōu)化購(gòu)物中心員工的工作時(shí)間,對(duì)促銷活動(dòng)做出評(píng)估等。
以前的系統(tǒng)使用特殊設(shè)備,如旋轉(zhuǎn)門、激光束等,在解決問題上都存在一定的缺陷。基于計(jì)算機(jī)視覺的方法,在統(tǒng)計(jì)通過計(jì)數(shù)線的兩個(gè)方向人數(shù)的問題上,是一種比較合適的方法。目前,對(duì)這方面研究的論文根據(jù)不同的分類方式,方法比較多。
圖1 3段測(cè)試視頻中圖像示例
根據(jù)拍攝方式的不同,有平視拍攝和垂直拍攝。平視方式都是針對(duì)人體的某個(gè)部分進(jìn)行特征提取,再根據(jù)這些特征進(jìn)行識(shí)別。但是,從人的正面或者側(cè)面獲取人體信息,都會(huì)因?yàn)槿伺c人之間的遮擋對(duì)結(jié)果產(chǎn)生影響。在文獻(xiàn)[3]中,Xiaowei Zhang和Graham Sexton提出安裝一個(gè)垂直攝像機(jī),這樣就可以避免行人間的相互遮擋,也能簡(jiǎn)化行人模型。根據(jù)攝像機(jī)設(shè)備的不同,有單目識(shí)別和多目識(shí)別。多目識(shí)別[4-5]利用計(jì)算機(jī)定標(biāo)獲得圖像的深度信息,用以進(jìn)一步識(shí)別處理。雖然這種方法可以避免目標(biāo)相互遮擋,但是由于成本高、算法復(fù)雜度高等限制,在很多領(lǐng)域并不適用。根據(jù)方向統(tǒng)計(jì)方式的不用,也有不同的方法。一般的視頻人數(shù)統(tǒng)計(jì)使用的方法由運(yùn)動(dòng)目標(biāo)的檢測(cè)與運(yùn)動(dòng)目標(biāo)的匹配和跟蹤兩方面組成[6-7]。文獻(xiàn)[6]中,提取相鄰幀中運(yùn)動(dòng)區(qū)域的質(zhì)心,利用質(zhì)心的相對(duì)位置進(jìn)行匹配來實(shí)現(xiàn)跟蹤,并通過運(yùn)動(dòng)軌跡來判斷行人的進(jìn)出。在文獻(xiàn)[2, 8-9]中,沒有使用傳統(tǒng)的跟蹤方法,利用光流信息可以較為簡(jiǎn)單地判斷行人的進(jìn)出。
采用垂直安裝的單目攝像頭對(duì)出入口進(jìn)行拍攝,并設(shè)置一條虛擬計(jì)數(shù)線,如圖1所示。使用 Lucas-Kanade光流算法[10]計(jì)算每一幀中該條計(jì)數(shù)線上各個(gè)像素的速度矢量,提取屬于同一運(yùn)動(dòng)目標(biāo)的像素來構(gòu)建運(yùn)動(dòng)斑塊。并且構(gòu)建近似俯視行人面積來估計(jì)一個(gè)運(yùn)動(dòng)斑塊中的行人個(gè)數(shù),通過光流信息得到運(yùn)動(dòng)方向,從而來統(tǒng)計(jì)進(jìn)出的人數(shù)。實(shí)驗(yàn)結(jié)果表明,本文方法一定程度上克服了陰影和圖像預(yù)處理產(chǎn)生的干擾,可以有效地統(tǒng)計(jì)進(jìn)出的人數(shù)。
算法流程如圖2所示。算法由5部分組成:① 將彩色圖像轉(zhuǎn)化為灰度圖像,并使用高斯去噪對(duì)圖像進(jìn)行預(yù)處理;② 利用Lucas – kanade光流算法計(jì)算計(jì)數(shù)線上每個(gè)像素的速度矢量;③提取運(yùn)動(dòng)斑塊;④ 估計(jì)運(yùn)動(dòng)斑塊中的行人個(gè)數(shù);⑤ 統(tǒng)計(jì)進(jìn)出的人數(shù)。
圖2 算法流程圖
光流場(chǎng)的計(jì)算最初是由Horn和Schunck提出[11]。光流是空間運(yùn)動(dòng)物體在觀測(cè)成像面上的像素運(yùn)動(dòng)的瞬時(shí)速度。光流的研究是利用圖像序列中的像素強(qiáng)度數(shù)據(jù)的時(shí)域變化和相關(guān)性來確定各自像素位置的“運(yùn)動(dòng)”。
假設(shè)在t時(shí)刻,像素點(diǎn)(x,y)處的灰度值為I(x,y,t);在t+ Δt時(shí)刻,這一像素運(yùn)動(dòng)到(x+ Δx,y+ Δy)處,灰度值為I(x+ Δx,y+ Δy,t+ Δt)。假設(shè)圖像沿著運(yùn)動(dòng)軌跡的亮度保持不變,即為
將式(1)的左邊用泰勒公式展開,忽略二階和二階以上的高次項(xiàng),則有
Lucas-Kanade算法假設(shè)在一個(gè)小的空間領(lǐng)域?運(yùn)動(dòng)矢量保持恒定,然后使用加權(quán)最小二乘法估計(jì)光流。在一個(gè)小的空間?上,光流的誤差定義為
其中,W2(x)表示窗口權(quán)重函數(shù),它使領(lǐng)域中心區(qū)域?qū)s束產(chǎn)生的影響比外圍區(qū)域更大。本文中使用 Lucas-Kanade算法計(jì)算計(jì)數(shù)線上的每個(gè)像素的速度矢量,其中取其權(quán)重都為1。即誤差定義式(4)變?yōu)?/p>
使用最小二乘法估計(jì)光流,得式(5)解為
其中,在t時(shí)刻的n個(gè)點(diǎn)iXΩ∈,
第1步 確定一條虛擬的計(jì)數(shù)線,并對(duì)該幀圖像和下一幀圖像使用Lucas-Kanade光流算法,計(jì)算得到該幀圖像中計(jì)數(shù)線上各個(gè)像素的速度矢量。通過像素的速度矢量,計(jì)算出各個(gè)像素的運(yùn)動(dòng)速率和運(yùn)動(dòng)方向。L表示長(zhǎng)度為l的計(jì)數(shù)線,每個(gè)像素的光流定義為
其中,i=0…1-1,t表示第幾幀,p表示像素。 理想狀態(tài)下,不運(yùn)動(dòng)的區(qū)域速率為0,但是由于圖像質(zhì)量和預(yù)處理等原因,需要設(shè)定閾值來選取運(yùn)動(dòng)像素(即大于閾值的像素為運(yùn)動(dòng)像素,小于閾值的像素為非運(yùn)動(dòng)像素,閾值根據(jù)經(jīng)驗(yàn)選定)。
當(dāng)有行人經(jīng)過時(shí),每一幀圖像在計(jì)數(shù)線上都有一段行人像素。當(dāng)行人完全通過后,把所有幀的計(jì)數(shù)線進(jìn)行累積。在計(jì)數(shù)線累計(jì)圖中都可以捕捉到行人區(qū)域,如圖3(b)所示。
第2步 根據(jù)像素的運(yùn)動(dòng)速率和運(yùn)動(dòng)方向,使用在線斑塊檢測(cè)算法[2]來提取運(yùn)動(dòng)斑塊,如圖3(c)所示。在運(yùn)動(dòng)像素中,時(shí)空相鄰的兩個(gè)像素如果具有相似的方向(即兩個(gè)像素方向之差不超過π/2),則把2個(gè)像素歸為同1個(gè)斑塊;如果2個(gè)斑塊時(shí)空相鄰且具有相似方向,則把2個(gè)斑塊合并為1個(gè)。每個(gè)斑塊定義為
其中,N表示屬于該斑塊的像素個(gè)數(shù),O表示該斑塊的平均方向,V表示該斑塊的平均速率。當(dāng)一個(gè)新像素加入到該斑塊中,更新斑塊的計(jì)算公式如下
圖3 斑塊圖像的形成
通過運(yùn)動(dòng)斑塊的提取,得到斑塊特征的集合。與文獻(xiàn)[2]中將斑塊特征直接使用多元線性回歸模型不同,本文提出構(gòu)建一種近似俯視運(yùn)動(dòng)行人面積作為新特征,并使用線性回歸模型來估計(jì)運(yùn)動(dòng)斑塊中行人個(gè)數(shù)。
行人通過時(shí),可將行人通過該計(jì)數(shù)線的面積近似看做多個(gè)矩形的面積和[8],如圖4所示。每個(gè)矩形面積表示每一幀中行人通過計(jì)數(shù)線的面積,即該幀計(jì)數(shù)線上運(yùn)動(dòng)像素個(gè)數(shù)與平均速率的乘積。根據(jù)這個(gè)原理,本文提出了一種近似俯視運(yùn)動(dòng)行人面積。前一小節(jié)已得到斑塊的平均速率B(Id).V和平均方向B(Id)·O。由平均方向B(Id).O計(jì)算得到速度和計(jì)數(shù)線法線夾角θ,從而計(jì)算出法線上的平均速率B(Id) ·V',其公式如下
近似俯視運(yùn)動(dòng)行人面積Area,可以看作所有幀中的矩形累計(jì)面積,可以簡(jiǎn)單表示為該運(yùn)動(dòng)斑塊的像素個(gè)數(shù) ().B Id N與法線上的平均速率B(Id) ·V'的乘積,其公式如下
圖4 行人俯視圖
本文使用線性回歸模型估計(jì)斑塊中的行人個(gè)數(shù),來提高算法的準(zhǔn)確性。將近似俯視運(yùn)動(dòng)行人面積進(jìn)行手工標(biāo)記,并作為訓(xùn)練樣本,采用離線的學(xué)習(xí)方法訓(xùn)練線性回歸模型。線性回歸模型如下
其中,y表示斑塊中估計(jì)的行人個(gè)數(shù),x表示近似俯視運(yùn)動(dòng)行人面積。
統(tǒng)計(jì)進(jìn)出人數(shù),是在得到斑塊中的估計(jì)人數(shù)之后,只需要判斷行人的運(yùn)動(dòng)方向。在本實(shí)驗(yàn)中,平均方向O值為 [0, π/ 2) ∪ ( 3π/ 2, 2π]定義為進(jìn),平均方向O值為(π/ 2 , 3π/ 2 )定義為出,平均方向O為π/2或者3π/2說明行人在計(jì)數(shù)線上移動(dòng)。在計(jì)數(shù)線上移動(dòng)的行人,沒有跨過計(jì)數(shù)線,所以不能被統(tǒng)計(jì)。由于前一步驟中,近似俯視運(yùn)動(dòng)行人面積的計(jì)算,在計(jì)數(shù)線上移動(dòng)的行人是不會(huì)被記錄的,符合算法要求。
為了測(cè)試算法結(jié)果,搭建了測(cè)試平臺(tái)。實(shí)驗(yàn)使用單目網(wǎng)絡(luò)攝像頭垂直懸掛在入口處,如圖1(a)所示。采集的視頻幀率為25pfs,視頻圖像分辨率為320×240。實(shí)驗(yàn)拍攝環(huán)境受部分光照影響,并模擬了單人和多人進(jìn)出,速度方向各異。本實(shí)驗(yàn)使用matlab來驗(yàn)證算法的準(zhǔn)確性。
圖5 對(duì)比圖
本實(shí)驗(yàn)有3段測(cè)試數(shù)據(jù),包括同一時(shí)間在兩個(gè)方向上都有行人跨過計(jì)數(shù)線,單人和多人跨過計(jì)數(shù)線,并且行人速度不一。圖5為實(shí)驗(yàn)中測(cè)試視頻1的某一段斑塊圖像。
估計(jì)算法的準(zhǔn)確率,可以通過將檢測(cè)的進(jìn)出人數(shù)和實(shí)際的進(jìn)出人數(shù)比較[2,8],其公式如下
其中,Accuracy表示算法準(zhǔn)確率, of ground truth∑和 of predicted∑分別表示實(shí)際的進(jìn)出人數(shù)和檢測(cè)的進(jìn)出人數(shù)。但是,采用上述估計(jì)方法,由于算法的錯(cuò)誤判斷會(huì)引起不同時(shí)刻進(jìn)與出人數(shù)的錯(cuò)誤累加。該方法忽略了統(tǒng)計(jì)中存在錯(cuò)誤累加相互抵消的問題,降低了準(zhǔn)確率的可靠性。所以本文采用混淆矩陣[9]來估計(jì)算法準(zhǔn)確率。其中,tp(真陽(yáng)性,即算法準(zhǔn)確檢測(cè)的進(jìn)出人數(shù)),fn(假陰性,即沒有被檢測(cè)到的人數(shù)),fp(假陽(yáng)性,即被錯(cuò)誤檢測(cè)的人數(shù))。混淆矩陣用來估計(jì)算法的命中率(precision)和覆蓋率(recall),公式為
命中率和覆蓋率的組合F,作為對(duì)算法質(zhì)量的評(píng)估,公式如下
在實(shí)驗(yàn)場(chǎng)景中,對(duì)本文方法和文獻(xiàn)[2]中的方法做了測(cè)試,結(jié)果如表1所示。
表1 實(shí)驗(yàn)結(jié)果
從表1的實(shí)驗(yàn)結(jié)果可以看出,在視頻1和視頻 3中,假陽(yáng)性的計(jì)算上,本文方法比文獻(xiàn)[2]的方法準(zhǔn)確性要高。由于實(shí)驗(yàn)數(shù)據(jù)是在具有一定光照影響下進(jìn)行拍攝的,所以會(huì)產(chǎn)生一些細(xì)微的陰影。另外,加上圖像預(yù)處理的作用,會(huì)產(chǎn)生一些噪聲斑塊。實(shí)驗(yàn)結(jié)果顯示,主要問題存在于運(yùn)動(dòng)斑塊的平均速度這個(gè)特征上。由于文獻(xiàn)[2]的方法直接將斑塊中的所有特征通過線性回歸模型來估計(jì)人數(shù),而忽略這些特征之間的相互關(guān)系,會(huì)削弱平均速度對(duì)估計(jì)值的影響,造成對(duì)噪聲斑塊的誤判。本文方法充分運(yùn)用了運(yùn)動(dòng)斑塊特征之間的相互關(guān)系,構(gòu)造出近似俯視運(yùn)動(dòng)行人面積作為新的特征來訓(xùn)練線性回歸模型,提高平均速度在整個(gè)特征集中的重要性,從而減少對(duì)噪聲斑塊的誤判。
從圖5的對(duì)比圖可以看出,運(yùn)動(dòng)斑塊中存在著一些噪聲像素,這主要是由于光照原因產(chǎn)生的陰影和圖像預(yù)處理的干擾。本實(shí)驗(yàn)在一定光照影響的環(huán)境下,結(jié)果沒有產(chǎn)生很大影響??梢?,本文方法在一定程度上克服了陰影和圖像預(yù)處理產(chǎn)生的干擾。但是,如果光照陰影影響較大的情況下,光流算法可能會(huì)將陰影像素誤判成行人運(yùn)動(dòng)像素,算法的準(zhǔn)確率有待進(jìn)一步提高。
本文利用垂直懸掛的單目攝像頭進(jìn)行視頻拍攝,并設(shè)置一條虛擬計(jì)數(shù)線來對(duì)出入口進(jìn)行人數(shù)統(tǒng)計(jì)。提出構(gòu)建近似俯視運(yùn)動(dòng)行人面積作為人數(shù)統(tǒng)計(jì)的特征,并將該特征運(yùn)用到Lucas-Kanade光流算法的人數(shù)統(tǒng)計(jì)中。實(shí)驗(yàn)結(jié)果表明,該人數(shù)統(tǒng)計(jì)方法在一定光照影響的環(huán)境下能夠較為準(zhǔn)確地統(tǒng)計(jì)人數(shù)。
[1]Candamo J, Shreve M, Goldgof D B, et al.Understanding transit scenes: a survey on human behavior-recognition algorithms [J]. IEEE Transactions on Intelligent Transportation Systems,2010, 11(1): 206-224.
[2]Benabbas Y, Ihaddadene N, Yahiaoui T, et al.Spatio-temporal optical flow analysis for people counting [C]//Proc. of 7th IEEE International Conference on Advanced Video and Signal Based Surveillance. Boston, USA: 2010: 212-217.
[3]Zhang Xiaowei, Sexton G. A new method for pedestrian counting [C]//Proc. of 5th International Conference on Image Processing and Its Applications.Edinburgh, UK: 1995: 208-212.
[4]Terada K, Yoshida D, Oe S, et al. A counting method of the number of passing people using a stereo camera [C]//Proc. of 25th Annual Conference on Industrial Electronics Society. San Jose, USA: 1999: 1318-1323.[5]Batista J P. Tracking pedestrians under occlusion using multiple camera [C]//Proc. of International Conference on Image Analysis and Recognition (ICIAR)2004.Porto, Portugal: 2004: 552-562.
[6]Yu Shengsheng, Chen Xiaoping, Sun Weipng, et al. A robust method for detecting and counting people [C]//Proc. International Conference on Audio, Language and Image Processing (ICALIP) 2008. Shanghai,China. 2008: 1545-1549.
[7]Antic B, Letic D, Culibrk D, et al. K-means based segmentation for realtime zenithal people counting [C]//Proc. 16th IEEE International Conference on Image Processing (ICIP). Cairo, Egypt: 2009: 2565-2568.
[8]Cong Yong, Gong Haifeng, Zhu Songchun, et al. Flow mosaicking: real-time pedestrian counting without scene-specific learning [C]//Proc. IEEE Conference on Computer Vision and Pattern Recognition(CVPR)2009. Miami, USA: 2009: 1093-1100.
[9]Barandiaran J, Murguia B, Fernando B. Real-time people counting using multiple lines [C]//Proc. of 9th International Workshop on Image Analysis for Multimedia Interactive Services. Klagenfurt, Austria:2008: 159-162.
[10]Lucas B, Kanade T. An iterative image registration technique with an application to stereo vision [C]//Proc. of DARPA IU Workshop. Pittsburgh, USA:1981: 121-130.
[11]Horn B K P. Schunck B G. Determining optical flow [J]. Artifical Intelligence, 1981, 17(1-3):185-203.