周虹伯 金 燁 沙 力
(河北華電曹妃甸儲運有限公司1,河北 唐山 063200;華電重工股份有限公司2,北京 100071;上海工業(yè)自動化儀表研究院3,上海 200233)
人群群體行為研究是許多學科如社會心理學、生物學、疾病傳播研究等的基礎研究之一。監(jiān)控攝像頭所收集的大量的人群和人流場景的視頻數據,為人群的群體行為研究提供了大量的原始材料。然而,在人數較多的環(huán)境中,人群所處的狀態(tài)往往非常復雜,靜止和運動的人同時存在、人體的遮擋聚集等使得要準確地檢測到人群中的人體變得極為困難,而準確的人體檢測和跟蹤是視頻群體行為自動分析技術的關鍵步驟。文獻[1]和文獻[2]所提出的基于方向梯度直方圖(histogram of oriented gradient,HOG)特征的行人檢測方法并不適用于人群中的人體檢測,由于擁擠產生的嚴重遮擋會導致大量的漏檢或誤檢。文獻[3]提出了利用人群中人體頭肩部分比較突出的特點,對頭頂峰值點進行檢測并采用人體模型匹配來定位人體,這種方式可以很大程度上減小遮擋的影響。文獻[4]對動靜人體同時存在的情況提出了一種基于塊更新的動靜人體檢測方法,用人體檢測的結果幫助更新背景模型,然而依賴檢測結果對背景進行直接更新的方式有時候會將誤檢和漏檢的區(qū)域更新到背景中,累積更多的誤差。
針對上述問題,本文提出對基于頭肩檢測的自帶反饋系統(tǒng)的人群群體行為分析方法。該方法主要包括以下幾個方面:①背景剪除與人體檢測相結合,通過反饋系統(tǒng)調節(jié)背景更新因子,使得背景剪除算法提取的前景同時包含運動和靜止的人體;②采用多視角頭肩模型進行人體檢測;③對檢測結果提取顏色特征,采用均值漂移進行多目標人體跟蹤。
在背景剪除算法實現前景分割之后再進行人體檢測可以幫助移除大量背景噪聲的干擾,提高后續(xù)檢測和跟蹤的準確性。文獻[5]中提出了一種自帶反饋系統(tǒng)的運動目標檢測算法Subsense,該算法在運動目標檢測的公共數據集CD2014 上取得了目前最好的效果。在人群群體行為分析中,不僅要檢測出運動目標,靜止的人體同樣需要準確的檢測。將文獻[5]中的思想應用到動靜人體檢測,將視覺背景提取(visual background extractor,Vibe)運動目標檢測算法改進成為一個通過反饋系統(tǒng)調節(jié)來檢測人體所在區(qū)域的背景剪除算法。
Vibe 算法[6]由于其優(yōu)異性能,一經提出就被應用到許多的實際應用當中。算法的主要思想是為每一個像素都建立一個樣本集合作為背景模型,樣本集中的采樣值就是該像素點和其鄰域像素點的歷史像素值。該樣本集可以表示為:
這里M(x,y)即(x,y)點處的樣本集合,vx即像素值。新的一幀中對應的像素v'x 被用來與樣本集中的像素點做聚類分析SR(v'x),聚類半徑使用的是2D 歐式空間中的歐式距離R。最終背景像素點的判定定義為:
這里H{}表示的是樣本集中與v'
x 的歐式距離小于R 的像素個數。當滿足條件的樣本像素個數大于#min時,像素點v'
x 被判定為前景,否則為背景。Vibe的樣本集更新過程即背景模型的更新,其采用隨機更新的方式。當一個像素點被分類為背景時,它有1/T的概率更新自己的背景模型集合,同時也有1/T 的概率更新其鄰域像素點的背景模型集合。所以T 的大小在Vibe 算法中決定了背景模型的更新速率。
單純的運動目標檢測算法檢測不到靜止的人體,這是因為靜止的像素會被逐漸更新到背景模型當中。如果能將人體檢測的結果反饋到運動目標檢測算法中,檢測到人體的像素給予很低的更新率,沒有檢測到人體的像素給予較高的更新率,這樣靜止的人體就會始終被檢測到。假設上一幀Vibe 檢測到前景掩膜為St-1,St-1(vx)=1 表示vx被判定為前景點;人體頭肩檢測的結果掩膜為Dt-1,Dt-1(vx)=1 表示的是像素點vx被檢測為頭肩點。通過這兩個結果掩膜來調節(jié)更新率:
ω 是一個權重系數,由Dt-1經過多高斯加權得到。如式(4)所示,φ 在這里是一個服從高斯分布的Parzen窗函數,頭肩點作為Parzen 窗的中心,hN是該高斯分布的方差。
函數O 表示的是非頭肩像素點與最近頭肩像素點之間的歐氏距離。這個權重的分布是以頭肩點為中心的多高斯分布。離頭肩點越近,ω 越大,更新概率T增大得越快,更新概率越小,對應像素就會很難被更新到樣本集當中。人體上的像素特別是頭肩部分的像素將很難被更新到背景模型中,這樣,包含靜止人體的前景掩膜始終能被Vibe 運動目標檢測算法檢測出來。
由于人群在運動的過程中因為聚集產生的遮擋情況時有發(fā)生,準確的人體檢測變得非常困難。人體的頭肩部位比較突出,人群中使用頭肩檢測相較全身的檢測方式效果更好。本文根據頭肩模型的特點改進了頭肩模型的匹配方法,使得基于多視角頭肩模型的人體檢測在遇到遮擋和形變問題時表現得更好。
頭肩點模型采用加權關鍵點模型的形式,關鍵點模型通過選取一些關鍵點建立模型,使得模型普適性更強,如圖1 所示。
圖1 多視角頭肩模型訓練Fig.1 Multi-view head and shoulders model training
多視角頭肩模型的訓練過程主要包括三個步驟。①訓練圖片初始化。收集大量的頭肩模型實例圖片,手動提取出頭肩的邊緣圖,并且歸一化到同一大小,根據視角分成正面、側面和頭頂視角三類。②關鍵點選取。根據不同的視角,在一個劃分為N ×N 個小塊的模型圖像中疊加訓練圖片,落點較多的小塊被認定為關鍵點,關鍵點內存有疊加的邊緣像素點的平均梯度值Oi。③權重疊加。以小塊的中心為Parzen 窗的中心,疊加一個服從高斯分布的權重Wi。
本文聚焦于由移除最高負載節(jié)點而引發(fā)的級聯傳播.之所以選擇最高負載節(jié)點作為攻擊或者故障的對象,是因為這類節(jié)點在以前大多數級聯故障研究中起著重要作用.假設在t=1時執(zhí)行攻擊,即從網絡中移除一個具有最高負載的中心節(jié)點.這個移除一般會改變全局最短路徑的分布,導致網絡其余節(jié)點上負載的全局重新分配.對于某些節(jié)點,更新的負載可能會增加而超過其容量.這些節(jié)點發(fā)生故障并從網絡中移除.這又將導致新一輪的負載重新分配,結果可能會發(fā)生后續(xù)故障.當所有剩余節(jié)點負載不超過其容量時,級聯故障傳播才會停止.
上述頭肩模型訓練所得到的頭肩模型包含兩個信息,一是得到關鍵點的相對位置關系,即得到頭肩點的模糊分布,Parzen 窗加權的目的就是對少許形變的容納;二是關鍵點中存儲了梯度信息,梯度信息的加入使得頭肩模型更符合頭肩邊緣梯度變化的特點。
頭肩模型匹配采用滑窗匹配的方式。首先,對于前景掩膜對應的視頻原始幀區(qū)域,通過Canny 運算求得這些區(qū)域的邊緣。然后,對這些邊緣求其邊緣法線Fi,該區(qū)域是否存在人體的頭肩由頭肩模型匹配的得分S(x,y)所決定。
這里k 是關鍵點的數目。當得分S(x,y)超過一定的閾值時,認為點(x,y)為頭肩點。
在人體頭肩檢測的結果上進行人體的多目標跟蹤,獲取人群中個體的運動狀態(tài)。獲取的運動狀態(tài)包括靜止人體的位置、運動人體的速度與方向等,由此可以分析出一些常見的人群群體行為。
多目標跟蹤采用的是基于Meanshift 的多目標跟蹤算法。Meanshift 是一種基于核函數加權顏色直方圖的鄰域自動搜索算法[7]。在進行Meanshift 多目標跟蹤時可以借助頭肩檢測的先驗知識。假設上一幀視頻人體頭肩檢測的結果包含有M 個目標{O1,O2,…,Om},對于每一個目標Oi的模板區(qū)域建立一個彩色直方圖,直方圖的第u 個bin(直方圖每一個組)概率密度可以表示為:
這里xc為頭頂像素點下方選定的中心像素位置(一般選擇頭頂像素點下方兩倍肩寬處),xi為模板區(qū)域內的其他像素位置,b(xi)為xi處像素點對應直方圖的顏色索引值。k(x)為核函數的輪廓函數,作為加權函數,其作用是給目標中心以較大的權值,使得該直方圖模型對遮擋具有更好的抗干擾性。δ(x)為脈沖響應函數,當xi處像素點屬于第u 個bin 時,δ[b(xi)-u]結果為1,否則為0。C 為歸一化常量。
對于當前幀視頻的頭肩檢測結果同樣建立直方圖模型作為候選模型p,上一幀建立的目標模型q 和候選模型之間用巴氏距離衡量相似度:
這里不采用Meanshift 自動迭代搜索的方式,而是直接利用人體檢測的信息,選擇最近的頭肩點作為候選模型進行匹配。當相似度超過閾值時,認為兩個模型匹配,為同一個目標,由此估測出目標的運動方向,目標的運動速度由多幀之間目標移動的像素點個數計算得到。當擁擠和遮擋發(fā)生時,往往能匹配到多個候選模型,這時選擇相似度最高的候選模型作為跟蹤結果。
圖2 群體行為分析示意圖Fig.2 Group behavior analysis
如圖2 所示,箭頭表示的是移動的人體,圓點表示的是靜止的人體,箭頭的長短表示的是人體的移動速度。從左至右的人群群體行為可能被自動分析為:聚集行為,通道內正常流動,人群可能發(fā)生騷亂。人群群體行為分析的主要分析依據有:①靜止人體集中區(qū)域,當靜止人體數目超過閾值時認定為集中區(qū)域;②分析人體之間移動方向的相似性(即人群主流向)及其與人體集中區(qū)域的關系;③空間內的擁擠程度。
與文獻[8]和文獻[9]中的方案相比,本文方案的性能特點如下。
(1)文獻[8]在人群群體行為分析時采用的是集體躍遷和Kanade-Lucas-Tomasi(KLT)光流跟蹤的方法。集體躍遷的方法并不追求人體的精準定位,所以相對來說本文方案對視頻的分析能提供的信息更豐富。KLT 光流相對Meanshift 而言運算速度更慢,多目標的KLT 跟蹤會使實時處理變得困難。
(2)文獻[9]針對的是極其擁擠的場景,采用拉格朗日質子動力學分析高密度人群的流動狀況和檢測其中的不穩(wěn)定性,同樣是一種忽略細節(jié)的人群分析方式,所以其丟失的人群信息也非常嚴重。本文方法更注重人群中的可檢測個體的運動狀況,特別是靜止人體狀態(tài)的分析是整個人群群體行為分析的關鍵。
本文的實驗數據集主要包括文獻[8]中提供的人群公共數據集和文獻[4]中所收集的教室數據集。這兩個數據集中都包含有數量較多的人體,并帶有大量的人群群體行為,如擁擠,聚集,排隊,通道內單向流動、雙向流動,混亂等。
對算法性能的驗證首先從各個模塊的性能上進行驗證。人體檢測和多目標跟蹤是整個人群群體行為分析方法的主要模塊。文獻[4]、文獻[8]的數據集中一部分視頻被挑選出來進行人工的人體目標數量和位置的標注并作為Ground truth(實際值)。圖3 所示是某標注的數據集中人數實際值與人體檢測和多目標跟蹤的人數誤差統(tǒng)計圖。由圖3 可以看到本文方法能將誤差控制在3 人以內。當人數較多而擁擠時,誤差相對要大。
圖3 多人體檢測與跟蹤誤差分析Fig.3 Multi-people detection and tracking error analysis
圖4 所示是數據集中不同場所下的監(jiān)控視頻的群體行為分析實驗效果圖,包括商場、電梯、教室、過道等境景。圖4 中,白色的圓點表示的是靜止的人體,白色的箭頭表示運動的人體,不同長短箭頭表示不同的運動速度。由圖4 可以看到這些場所下的人流狀態(tài),人群狀態(tài)可以通過對這些靜止和運動的數據分析而得到。
圖4 群體行為分析實驗效果圖Fig.4 The effect diagram of group behavior analysis experiment
表1 所示是本文提出的群體行為分析方法在上述數據集上表現的總體性能。人體檢測模塊的平均檢測準確率為0.92,多目標跟蹤模塊的平均跟蹤準確率為0.84,在分辨率為640 ×480 的監(jiān)控錄像中,平均處理速度為52.1 F/s,滿足實時處理(25 F/s)的要求。
表1 算法性能Tab.1 Algorithm performance
本文提出了一種基于多視角頭肩檢測的自帶反饋系統(tǒng)的群體行為分析方法。通過對現有的Vibe 運動目標檢測算法加以改進,結合人體檢測的結果,反饋調節(jié)運動目標檢測的更新環(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.