湯石晨, 陳鍛生
(華僑大學計算機科學與技術學院,福建 廈門 361021)
隨著視頻監控設備的普及,以及硬件和存儲設備的改進,目前已經具有采集連續監控視頻的能力[1]。隨著視頻數據的增加,大多數的數字視頻監控系統僅僅提供獲取、存儲和發送視頻的基礎設備,卻把監控的任務交給專門的操作人員。然而,人類實時監控的能力存在很大的局限性,所以一套實時視頻監控軟件能夠很大程度上彌補人類的局限性。人數統計是視頻監控領域中一個重要的部分,具有很好的應用前景[2]。
人數統計,不僅在公共安全領域,也在商業決策領域為決策者提供重要信息。例如,在特殊環境中,特定人數也許是一種不尋常或者有潛在危險的情況。此外,在一個大型購物中心的某個區域中監控人數,可以為決策者提供重要信息來源,優化購物中心員工的工作時間,對促銷活動做出評估等。
以前的系統使用特殊設備,如旋轉門、激光束等,在解決問題上都存在一定的缺陷。基于計算機視覺的方法,在統計通過計數線的兩個方向人數的問題上,是一種比較合適的方法。目前,對這方面研究的論文根據不同的分類方式,方法比較多。

圖1 3段測試視頻中圖像示例
根據拍攝方式的不同,有平視拍攝和垂直拍攝。平視方式都是針對人體的某個部分進行特征提取,再根據這些特征進行識別。但是,從人的正面或者側面獲取人體信息,都會因為人與人之間的遮擋對結果產生影響。在文獻[3]中,Xiaowei Zhang和Graham Sexton提出安裝一個垂直攝像機,這樣就可以避免行人間的相互遮擋,也能簡化行人模型。根據攝像機設備的不同,有單目識別和多目識別。多目識別[4-5]利用計算機定標獲得圖像的深度信息,用以進一步識別處理。雖然這種方法可以避免目標相互遮擋,但是由于成本高、算法復雜度高等限制,在很多領域并不適用。根據方向統計方式的不用,也有不同的方法。一般的視頻人數統計使用的方法由運動目標的檢測與運動目標的匹配和跟蹤兩方面組成[6-7]。文獻[6]中,提取相鄰幀中運動區域的質心,利用質心的相對位置進行匹配來實現跟蹤,并通過運動軌跡來判斷行人的進出。在文獻[2, 8-9]中,沒有使用傳統的跟蹤方法,利用光流信息可以較為簡單地判斷行人的進出。
采用垂直安裝的單目攝像頭對出入口進行拍攝,并設置一條虛擬計數線,如圖1所示。使用 Lucas-Kanade光流算法[10]計算每一幀中該條計數線上各個像素的速度矢量,提取屬于同一運動目標的像素來構建運動斑塊。并且構建近似俯視行人面積來估計一個運動斑塊中的行人個數,通過光流信息得到運動方向,從而來統計進出的人數。實驗結果表明,本文方法一定程度上克服了陰影和圖像預處理產生的干擾,可以有效地統計進出的人數。
算法流程如圖2所示。算法由5部分組成:① 將彩色圖像轉化為灰度圖像,并使用高斯去噪對圖像進行預處理;② 利用Lucas – kanade光流算法計算計數線上每個像素的速度矢量;③提取運動斑塊;④ 估計運動斑塊中的行人個數;⑤ 統計進出的人數。

圖2 算法流程圖
光流場的計算最初是由Horn和Schunck提出[11]。光流是空間運動物體在觀測成像面上的像素運動的瞬時速度。光流的研究是利用圖像序列中的像素強度數據的時域變化和相關性來確定各自像素位置的“運動”。
假設在t時刻,像素點(x,y)處的灰度值為I(x,y,t);在t+ Δt時刻,這一像素運動到(x+ Δx,y+ Δy)處,灰度值為I(x+ Δx,y+ Δy,t+ Δt)。假設圖像沿著運動軌跡的亮度保持不變,即為

將式(1)的左邊用泰勒公式展開,忽略二階和二階以上的高次項,則有



Lucas-Kanade算法假設在一個小的空間領域?運動矢量保持恒定,然后使用加權最小二乘法估計光流。在一個小的空間?上,光流的誤差定義為

其中,W2(x)表示窗口權重函數,它使領域中心區域對約束產生的影響比外圍區域更大。本文中使用 Lucas-Kanade算法計算計數線上的每個像素的速度矢量,其中取其權重都為1。即誤差定義式(4)變為

使用最小二乘法估計光流,得式(5)解為

其中,在t時刻的n個點iXΩ∈,
第1步 確定一條虛擬的計數線,并對該幀圖像和下一幀圖像使用Lucas-Kanade光流算法,計算得到該幀圖像中計數線上各個像素的速度矢量。通過像素的速度矢量,計算出各個像素的運動速率和運動方向。L表示長度為l的計數線,每個像素的光流定義為

其中,i=0…1-1,t表示第幾幀,p表示像素。 理想狀態下,不運動的區域速率為0,但是由于圖像質量和預處理等原因,需要設定閾值來選取運動像素(即大于閾值的像素為運動像素,小于閾值的像素為非運動像素,閾值根據經驗選定)。
當有行人經過時,每一幀圖像在計數線上都有一段行人像素。當行人完全通過后,把所有幀的計數線進行累積。在計數線累計圖中都可以捕捉到行人區域,如圖3(b)所示。
第2步 根據像素的運動速率和運動方向,使用在線斑塊檢測算法[2]來提取運動斑塊,如圖3(c)所示。在運動像素中,時空相鄰的兩個像素如果具有相似的方向(即兩個像素方向之差不超過π/2),則把2個像素歸為同1個斑塊;如果2個斑塊時空相鄰且具有相似方向,則把2個斑塊合并為1個。每個斑塊定義為

其中,N表示屬于該斑塊的像素個數,O表示該斑塊的平均方向,V表示該斑塊的平均速率。當一個新像素加入到該斑塊中,更新斑塊的計算公式如下


圖3 斑塊圖像的形成
通過運動斑塊的提取,得到斑塊特征的集合。與文獻[2]中將斑塊特征直接使用多元線性回歸模型不同,本文提出構建一種近似俯視運動行人面積作為新特征,并使用線性回歸模型來估計運動斑塊中行人個數。
行人通過時,可將行人通過該計數線的面積近似看做多個矩形的面積和[8],如圖4所示。每個矩形面積表示每一幀中行人通過計數線的面積,即該幀計數線上運動像素個數與平均速率的乘積。根據這個原理,本文提出了一種近似俯視運動行人面積。前一小節已得到斑塊的平均速率B(Id).V和平均方向B(Id)·O。由平均方向B(Id).O計算得到速度和計數線法線夾角θ,從而計算出法線上的平均速率B(Id) ·V',其公式如下

近似俯視運動行人面積Area,可以看作所有幀中的矩形累計面積,可以簡單表示為該運動斑塊的像素個數 ().B Id N與法線上的平均速率B(Id) ·V'的乘積,其公式如下

圖4 行人俯視圖

本文使用線性回歸模型估計斑塊中的行人個數,來提高算法的準確性。將近似俯視運動行人面積進行手工標記,并作為訓練樣本,采用離線的學習方法訓練線性回歸模型。線性回歸模型如下

其中,y表示斑塊中估計的行人個數,x表示近似俯視運動行人面積。
統計進出人數,是在得到斑塊中的估計人數之后,只需要判斷行人的運動方向。在本實驗中,平均方向O值為 [0, π/ 2) ∪ ( 3π/ 2, 2π]定義為進,平均方向O值為(π/ 2 , 3π/ 2 )定義為出,平均方向O為π/2或者3π/2說明行人在計數線上移動。在計數線上移動的行人,沒有跨過計數線,所以不能被統計。由于前一步驟中,近似俯視運動行人面積的計算,在計數線上移動的行人是不會被記錄的,符合算法要求。
為了測試算法結果,搭建了測試平臺。實驗使用單目網絡攝像頭垂直懸掛在入口處,如圖1(a)所示。采集的視頻幀率為25pfs,視頻圖像分辨率為320×240。實驗拍攝環境受部分光照影響,并模擬了單人和多人進出,速度方向各異。本實驗使用matlab來驗證算法的準確性。

圖5 對比圖
本實驗有3段測試數據,包括同一時間在兩個方向上都有行人跨過計數線,單人和多人跨過計數線,并且行人速度不一。圖5為實驗中測試視頻1的某一段斑塊圖像。
估計算法的準確率,可以通過將檢測的進出人數和實際的進出人數比較[2,8],其公式如下

其中,Accuracy表示算法準確率, of ground truth∑和 of predicted∑分別表示實際的進出人數和檢測的進出人數。但是,采用上述估計方法,由于算法的錯誤判斷會引起不同時刻進與出人數的錯誤累加。該方法忽略了統計中存在錯誤累加相互抵消的問題,降低了準確率的可靠性。所以本文采用混淆矩陣[9]來估計算法準確率。其中,tp(真陽性,即算法準確檢測的進出人數),fn(假陰性,即沒有被檢測到的人數),fp(假陽性,即被錯誤檢測的人數)。混淆矩陣用來估計算法的命中率(precision)和覆蓋率(recall),公式為

命中率和覆蓋率的組合F,作為對算法質量的評估,公式如下

在實驗場景中,對本文方法和文獻[2]中的方法做了測試,結果如表1所示。

表1 實驗結果
從表1的實驗結果可以看出,在視頻1和視頻 3中,假陽性的計算上,本文方法比文獻[2]的方法準確性要高。由于實驗數據是在具有一定光照影響下進行拍攝的,所以會產生一些細微的陰影。另外,加上圖像預處理的作用,會產生一些噪聲斑塊。實驗結果顯示,主要問題存在于運動斑塊的平均速度這個特征上。由于文獻[2]的方法直接將斑塊中的所有特征通過線性回歸模型來估計人數,而忽略這些特征之間的相互關系,會削弱平均速度對估計值的影響,造成對噪聲斑塊的誤判。本文方法充分運用了運動斑塊特征之間的相互關系,構造出近似俯視運動行人面積作為新的特征來訓練線性回歸模型,提高平均速度在整個特征集中的重要性,從而減少對噪聲斑塊的誤判。
從圖5的對比圖可以看出,運動斑塊中存在著一些噪聲像素,這主要是由于光照原因產生的陰影和圖像預處理的干擾。本實驗在一定光照影響的環境下,結果沒有產生很大影響。可見,本文方法在一定程度上克服了陰影和圖像預處理產生的干擾。但是,如果光照陰影影響較大的情況下,光流算法可能會將陰影像素誤判成行人運動像素,算法的準確率有待進一步提高。
本文利用垂直懸掛的單目攝像頭進行視頻拍攝,并設置一條虛擬計數線來對出入口進行人數統計。提出構建近似俯視運動行人面積作為人數統計的特征,并將該特征運用到Lucas-Kanade光流算法的人數統計中。實驗結果表明,該人數統計方法在一定光照影響的環境下能夠較為準確地統計人數。
[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.