周虹伯 金 燁 沙 力
(河北華電曹妃甸儲運有限公司1,河北 唐山 063200;華電重工股份有限公司2,北京 100071;上海工業(yè)自動化儀表研究院3,上海 200233)
人群群體行為研究是許多學(xué)科如社會心理學(xué)、生物學(xué)、疾病傳播研究等的基礎(chǔ)研究之一。監(jiān)控攝像頭所收集的大量的人群和人流場景的視頻數(shù)據(jù),為人群的群體行為研究提供了大量的原始材料。然而,在人數(shù)較多的環(huán)境中,人群所處的狀態(tài)往往非常復(fù)雜,靜止和運動的人同時存在、人體的遮擋聚集等使得要準(zhǔn)確地檢測到人群中的人體變得極為困難,而準(zhǔn)確的人體檢測和跟蹤是視頻群體行為自動分析技術(shù)的關(guān)鍵步驟。文獻(xiàn)[1]和文獻(xiàn)[2]所提出的基于方向梯度直方圖(histogram of oriented gradient,HOG)特征的行人檢測方法并不適用于人群中的人體檢測,由于擁擠產(chǎn)生的嚴(yán)重遮擋會導(dǎo)致大量的漏檢或誤檢。文獻(xiàn)[3]提出了利用人群中人體頭肩部分比較突出的特點,對頭頂峰值點進(jìn)行檢測并采用人體模型匹配來定位人體,這種方式可以很大程度上減小遮擋的影響。文獻(xiàn)[4]對動靜人體同時存在的情況提出了一種基于塊更新的動靜人體檢測方法,用人體檢測的結(jié)果幫助更新背景模型,然而依賴檢測結(jié)果對背景進(jìn)行直接更新的方式有時候會將誤檢和漏檢的區(qū)域更新到背景中,累積更多的誤差。
針對上述問題,本文提出對基于頭肩檢測的自帶反饋系統(tǒng)的人群群體行為分析方法。該方法主要包括以下幾個方面:①背景剪除與人體檢測相結(jié)合,通過反饋系統(tǒng)調(diào)節(jié)背景更新因子,使得背景剪除算法提取的前景同時包含運動和靜止的人體;②采用多視角頭肩模型進(jìn)行人體檢測;③對檢測結(jié)果提取顏色特征,采用均值漂移進(jìn)行多目標(biāo)人體跟蹤。
在背景剪除算法實現(xiàn)前景分割之后再進(jìn)行人體檢測可以幫助移除大量背景噪聲的干擾,提高后續(xù)檢測和跟蹤的準(zhǔn)確性。文獻(xiàn)[5]中提出了一種自帶反饋系統(tǒng)的運動目標(biāo)檢測算法Subsense,該算法在運動目標(biāo)檢測的公共數(shù)據(jù)集CD2014 上取得了目前最好的效果。在人群群體行為分析中,不僅要檢測出運動目標(biāo),靜止的人體同樣需要準(zhǔn)確的檢測。將文獻(xiàn)[5]中的思想應(yīng)用到動靜人體檢測,將視覺背景提取(visual background extractor,Vibe)運動目標(biāo)檢測算法改進(jìn)成為一個通過反饋系統(tǒng)調(diào)節(jié)來檢測人體所在區(qū)域的背景剪除算法。
Vibe 算法[6]由于其優(yōu)異性能,一經(jīng)提出就被應(yīng)用到許多的實際應(yīng)用當(dāng)中。算法的主要思想是為每一個像素都建立一個樣本集合作為背景模型,樣本集中的采樣值就是該像素點和其鄰域像素點的歷史像素值。該樣本集可以表示為:

這里M(x,y)即(x,y)點處的樣本集合,vx即像素值。新的一幀中對應(yīng)的像素v'x 被用來與樣本集中的像素點做聚類分析SR(v'x),聚類半徑使用的是2D 歐式空間中的歐式距離R。最終背景像素點的判定定義為:

這里H{}表示的是樣本集中與v'
x 的歐式距離小于R 的像素個數(shù)。當(dāng)滿足條件的樣本像素個數(shù)大于#min時,像素點v'
x 被判定為前景,否則為背景。Vibe的樣本集更新過程即背景模型的更新,其采用隨機更新的方式。當(dāng)一個像素點被分類為背景時,它有1/T的概率更新自己的背景模型集合,同時也有1/T 的概率更新其鄰域像素點的背景模型集合。所以T 的大小在Vibe 算法中決定了背景模型的更新速率。
單純的運動目標(biāo)檢測算法檢測不到靜止的人體,這是因為靜止的像素會被逐漸更新到背景模型當(dāng)中。如果能將人體檢測的結(jié)果反饋到運動目標(biāo)檢測算法中,檢測到人體的像素給予很低的更新率,沒有檢測到人體的像素給予較高的更新率,這樣靜止的人體就會始終被檢測到。假設(shè)上一幀Vibe 檢測到前景掩膜為St-1,St-1(vx)=1 表示vx被判定為前景點;人體頭肩檢測的結(jié)果掩膜為Dt-1,Dt-1(vx)=1 表示的是像素點vx被檢測為頭肩點。通過這兩個結(jié)果掩膜來調(diào)節(jié)更新率:

ω 是一個權(quán)重系數(shù),由Dt-1經(jīng)過多高斯加權(quán)得到。如式(4)所示,φ 在這里是一個服從高斯分布的Parzen窗函數(shù),頭肩點作為Parzen 窗的中心,hN是該高斯分布的方差。

函數(shù)O 表示的是非頭肩像素點與最近頭肩像素點之間的歐氏距離。這個權(quán)重的分布是以頭肩點為中心的多高斯分布。離頭肩點越近,ω 越大,更新概率T增大得越快,更新概率越小,對應(yīng)像素就會很難被更新到樣本集當(dāng)中。人體上的像素特別是頭肩部分的像素將很難被更新到背景模型中,這樣,包含靜止人體的前景掩膜始終能被Vibe 運動目標(biāo)檢測算法檢測出來。
由于人群在運動的過程中因為聚集產(chǎn)生的遮擋情況時有發(fā)生,準(zhǔn)確的人體檢測變得非常困難。人體的頭肩部位比較突出,人群中使用頭肩檢測相較全身的檢測方式效果更好。本文根據(jù)頭肩模型的特點改進(jìn)了頭肩模型的匹配方法,使得基于多視角頭肩模型的人體檢測在遇到遮擋和形變問題時表現(xiàn)得更好。
頭肩點模型采用加權(quán)關(guān)鍵點模型的形式,關(guān)鍵點模型通過選取一些關(guān)鍵點建立模型,使得模型普適性更強,如圖1 所示。

圖1 多視角頭肩模型訓(xùn)練Fig.1 Multi-view head and shoulders model training
多視角頭肩模型的訓(xùn)練過程主要包括三個步驟。①訓(xùn)練圖片初始化。收集大量的頭肩模型實例圖片,手動提取出頭肩的邊緣圖,并且歸一化到同一大小,根據(jù)視角分成正面、側(cè)面和頭頂視角三類。②關(guān)鍵點選取。根據(jù)不同的視角,在一個劃分為N ×N 個小塊的模型圖像中疊加訓(xùn)練圖片,落點較多的小塊被認(rèn)定為關(guān)鍵點,關(guān)鍵點內(nèi)存有疊加的邊緣像素點的平均梯度值Oi。③權(quán)重疊加。以小塊的中心為Parzen 窗的中心,疊加一個服從高斯分布的權(quán)重Wi。
本文聚焦于由移除最高負(fù)載節(jié)點而引發(fā)的級聯(lián)傳播.之所以選擇最高負(fù)載節(jié)點作為攻擊或者故障的對象,是因為這類節(jié)點在以前大多數(shù)級聯(lián)故障研究中起著重要作用.假設(shè)在t=1時執(zhí)行攻擊,即從網(wǎng)絡(luò)中移除一個具有最高負(fù)載的中心節(jié)點.這個移除一般會改變?nèi)肿疃搪窂降姆植迹瑢?dǎo)致網(wǎng)絡(luò)其余節(jié)點上負(fù)載的全局重新分配.對于某些節(jié)點,更新的負(fù)載可能會增加而超過其容量.這些節(jié)點發(fā)生故障并從網(wǎng)絡(luò)中移除.這又將導(dǎo)致新一輪的負(fù)載重新分配,結(jié)果可能會發(fā)生后續(xù)故障.當(dāng)所有剩余節(jié)點負(fù)載不超過其容量時,級聯(lián)故障傳播才會停止.
上述頭肩模型訓(xùn)練所得到的頭肩模型包含兩個信息,一是得到關(guān)鍵點的相對位置關(guān)系,即得到頭肩點的模糊分布,Parzen 窗加權(quán)的目的就是對少許形變的容納;二是關(guān)鍵點中存儲了梯度信息,梯度信息的加入使得頭肩模型更符合頭肩邊緣梯度變化的特點。
頭肩模型匹配采用滑窗匹配的方式。首先,對于前景掩膜對應(yīng)的視頻原始幀區(qū)域,通過Canny 運算求得這些區(qū)域的邊緣。然后,對這些邊緣求其邊緣法線Fi,該區(qū)域是否存在人體的頭肩由頭肩模型匹配的得分S(x,y)所決定。

這里k 是關(guān)鍵點的數(shù)目。當(dāng)?shù)梅諷(x,y)超過一定的閾值時,認(rèn)為點(x,y)為頭肩點。
在人體頭肩檢測的結(jié)果上進(jìn)行人體的多目標(biāo)跟蹤,獲取人群中個體的運動狀態(tài)。獲取的運動狀態(tài)包括靜止人體的位置、運動人體的速度與方向等,由此可以分析出一些常見的人群群體行為。
多目標(biāo)跟蹤采用的是基于Meanshift 的多目標(biāo)跟蹤算法。Meanshift 是一種基于核函數(shù)加權(quán)顏色直方圖的鄰域自動搜索算法[7]。在進(jìn)行Meanshift 多目標(biāo)跟蹤時可以借助頭肩檢測的先驗知識。假設(shè)上一幀視頻人體頭肩檢測的結(jié)果包含有M 個目標(biāo){O1,O2,…,Om},對于每一個目標(biāo)Oi的模板區(qū)域建立一個彩色直方圖,直方圖的第u 個bin(直方圖每一個組)概率密度可以表示為:

這里xc為頭頂像素點下方選定的中心像素位置(一般選擇頭頂像素點下方兩倍肩寬處),xi為模板區(qū)域內(nèi)的其他像素位置,b(xi)為xi處像素點對應(yīng)直方圖的顏色索引值。k(x)為核函數(shù)的輪廓函數(shù),作為加權(quán)函數(shù),其作用是給目標(biāo)中心以較大的權(quán)值,使得該直方圖模型對遮擋具有更好的抗干擾性。δ(x)為脈沖響應(yīng)函數(shù),當(dāng)xi處像素點屬于第u 個bin 時,δ[b(xi)-u]結(jié)果為1,否則為0。C 為歸一化常量。
對于當(dāng)前幀視頻的頭肩檢測結(jié)果同樣建立直方圖模型作為候選模型p,上一幀建立的目標(biāo)模型q 和候選模型之間用巴氏距離衡量相似度:

這里不采用Meanshift 自動迭代搜索的方式,而是直接利用人體檢測的信息,選擇最近的頭肩點作為候選模型進(jìn)行匹配。當(dāng)相似度超過閾值時,認(rèn)為兩個模型匹配,為同一個目標(biāo),由此估測出目標(biāo)的運動方向,目標(biāo)的運動速度由多幀之間目標(biāo)移動的像素點個數(shù)計算得到。當(dāng)擁擠和遮擋發(fā)生時,往往能匹配到多個候選模型,這時選擇相似度最高的候選模型作為跟蹤結(jié)果。

圖2 群體行為分析示意圖Fig.2 Group behavior analysis
如圖2 所示,箭頭表示的是移動的人體,圓點表示的是靜止的人體,箭頭的長短表示的是人體的移動速度。從左至右的人群群體行為可能被自動分析為:聚集行為,通道內(nèi)正常流動,人群可能發(fā)生騷亂。人群群體行為分析的主要分析依據(jù)有:①靜止人體集中區(qū)域,當(dāng)靜止人體數(shù)目超過閾值時認(rèn)定為集中區(qū)域;②分析人體之間移動方向的相似性(即人群主流向)及其與人體集中區(qū)域的關(guān)系;③空間內(nèi)的擁擠程度。
與文獻(xiàn)[8]和文獻(xiàn)[9]中的方案相比,本文方案的性能特點如下。
(1)文獻(xiàn)[8]在人群群體行為分析時采用的是集體躍遷和Kanade-Lucas-Tomasi(KLT)光流跟蹤的方法。集體躍遷的方法并不追求人體的精準(zhǔn)定位,所以相對來說本文方案對視頻的分析能提供的信息更豐富。KLT 光流相對Meanshift 而言運算速度更慢,多目標(biāo)的KLT 跟蹤會使實時處理變得困難。
(2)文獻(xiàn)[9]針對的是極其擁擠的場景,采用拉格朗日質(zhì)子動力學(xué)分析高密度人群的流動狀況和檢測其中的不穩(wěn)定性,同樣是一種忽略細(xì)節(jié)的人群分析方式,所以其丟失的人群信息也非常嚴(yán)重。本文方法更注重人群中的可檢測個體的運動狀況,特別是靜止人體狀態(tài)的分析是整個人群群體行為分析的關(guān)鍵。
本文的實驗數(shù)據(jù)集主要包括文獻(xiàn)[8]中提供的人群公共數(shù)據(jù)集和文獻(xiàn)[4]中所收集的教室數(shù)據(jù)集。這兩個數(shù)據(jù)集中都包含有數(shù)量較多的人體,并帶有大量的人群群體行為,如擁擠,聚集,排隊,通道內(nèi)單向流動、雙向流動,混亂等。
對算法性能的驗證首先從各個模塊的性能上進(jìn)行驗證。人體檢測和多目標(biāo)跟蹤是整個人群群體行為分析方法的主要模塊。文獻(xiàn)[4]、文獻(xiàn)[8]的數(shù)據(jù)集中一部分視頻被挑選出來進(jìn)行人工的人體目標(biāo)數(shù)量和位置的標(biāo)注并作為Ground truth(實際值)。圖3 所示是某標(biāo)注的數(shù)據(jù)集中人數(shù)實際值與人體檢測和多目標(biāo)跟蹤的人數(shù)誤差統(tǒng)計圖。由圖3 可以看到本文方法能將誤差控制在3 人以內(nèi)。當(dāng)人數(shù)較多而擁擠時,誤差相對要大。

圖3 多人體檢測與跟蹤誤差分析Fig.3 Multi-people detection and tracking error analysis
圖4 所示是數(shù)據(jù)集中不同場所下的監(jiān)控視頻的群體行為分析實驗效果圖,包括商場、電梯、教室、過道等境景。圖4 中,白色的圓點表示的是靜止的人體,白色的箭頭表示運動的人體,不同長短箭頭表示不同的運動速度。由圖4 可以看到這些場所下的人流狀態(tài),人群狀態(tài)可以通過對這些靜止和運動的數(shù)據(jù)分析而得到。

圖4 群體行為分析實驗效果圖Fig.4 The effect diagram of group behavior analysis experiment
表1 所示是本文提出的群體行為分析方法在上述數(shù)據(jù)集上表現(xiàn)的總體性能。人體檢測模塊的平均檢測準(zhǔn)確率為0.92,多目標(biāo)跟蹤模塊的平均跟蹤準(zhǔn)確率為0.84,在分辨率為640 ×480 的監(jiān)控錄像中,平均處理速度為52.1 F/s,滿足實時處理(25 F/s)的要求。

表1 算法性能Tab.1 Algorithm performance
本文提出了一種基于多視角頭肩檢測的自帶反饋系統(tǒng)的群體行為分析方法。通過對現(xiàn)有的Vibe 運動目標(biāo)檢測算法加以改進(jìn),結(jié)合人體檢測的結(jié)果,反饋調(diào)節(jié)運動目標(biāo)檢測的更新環(huán)節(jié),使得算法在移除背景噪聲的同時也能將靜止的人體檢測出來。另外,通過建立多視角散點式頭肩模型,使得頭肩檢測更加魯棒。跟蹤算法采用的是速度較快的基于顏色特征的Meanshift 跟蹤。實驗證明了該方案的可行性,整個群體行為分析算法滿足實時處理的要求。
[1] Dalal N,Triggs B. Histograms of oriented gradients for human detection[C]// CVPR 2005. San Diego,USA:IEEE,2005.
[2] Felzenszwalb P F,Girshick R B,McAllester D,et al. Object detection with discriminatively trained part-based models[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2010,32(9):1627 -1645.
[3] Shao J,Loy C C,Wang X. Scene-independent group profiling in crowd[C]//Computer Vision and Pattern Recognition (CVPR)2014. Columbus,USA:IEEE,2014.
[4] Ali S,Shah M. A lagrangian particle dynamics approach for crowd flow segmentation and stability analysis[C]// CVPR,2007.Minneapolis USA:IEEE,2007.
[5] Luo J,Wang J,Xu H,et al. A real-time people counting approach in indoor environment[C]// MMM 2015. Sydney Australia:Springer,2015.
[6] Barnich O,Van Droogenbroeck M. Vibe:a powerful random technique to estimate the background in video sequences[C]//ICASSP 2009. Taipei,Taiwan:IEEE,2009.
[7] St-Charles P L,Bilodeau G A,Bergevin R. Subsense:a universal change detection method with local adaptive sensitivity[J]. IEEE Transactions on Image Process,2015,24(1):359 -373.
[8] Comaniciu D,Meer P. Mean shift:a robust approach toward feature space analysis[J]. Pattern Analysis and Machine Intelligence,IEEE Transactions on,2002,24(5):603 -619.