徐桂菲,王 平,羅凡波,王 偉,胡 軍,宋秋霜
(1.西華大學 電氣與電子信息學院,四川 成都 610039; 2.國網(wǎng)四川省電力公司 達州供電公司,四川 達州 635000)
基于智能視頻監(jiān)控系統(tǒng)可以有效檢測人群異常行為,除了在運動場等特殊場景下,人群突散行為本就是一種具有隱藏危害的人群異常行為[1],近年來隨著城市人口日益增多,城市中車站、商場等場所人群密度越來越大,一旦發(fā)生人群突散行為,極大可能會發(fā)生擁擠踩踏人群事件[2],造成極為嚴重的公共安全事件。傳統(tǒng)的視頻監(jiān)控主要還是依靠人力時刻觀察監(jiān)控畫面,從而實現(xiàn)對人群異常行為的判定,這類方法不僅耗費人力,且對于異常行為的判定具有一定的主觀性。因此,采用智能視頻監(jiān)控[3]進行人群突散異常行為的檢測具有重大意義,其能提高監(jiān)控檢測的時效性和準確性[4]。
目前,國內外已有不少的研究者已經(jīng)在人群異常行為檢測方面做了不少的研究工作。其相關工作大致可以分為3類:第一類是基于運動軌跡的分析。如Zhou等[5]通過KLT獲得行人軌跡,通過建模來確定行人異常突散軌跡幀;王洪雁等[6]根據(jù)算法獲得人群運動軌跡圖,再使用雙流卷積神經(jīng)網(wǎng)絡(TS-CNN)檢測人群突散異常行為。但這類方法在雜亂擁擠的場景中不能準確地檢測和定位視頻事件,在雨霧天等背景復雜模糊的場景下識別精度不理想。
第二類是基于底層特征的分析,如周培培等[4]結合灰度值和光流法提取運動目標特征,使用分類器建模檢測人群異常行為。馬國祥等[7]通過卷積網(wǎng)絡和光流法提取視頻中行人的特征來進行突散異常判定。Li等[8]提出一種動態(tài)紋理模型來進行異常行為的檢測和定位。這類方法需要根據(jù)具體場景進行建模,魯棒性不夠好,且時效性較差。
第三類則是基于深度學習的特征分析,這類方法通過神經(jīng)網(wǎng)絡[9]可以有效提取圖像的特征信息,實現(xiàn)目標檢測。如孫月馳等[10]提出一種基于卷積神經(jīng)網(wǎng)絡嵌套模型的人群異常行為檢測方法。胡學敏等[11]提出一種基于深度時空卷積神經(jīng)網(wǎng)絡的人群中異常行為檢測和定位的方法。但這類方法大多都是基于個體目標進行的檢測和定位,缺少對整個群體異常的檢測。
針對上述方法檢測中時效性較差且大多都是針對個別異常行為進行檢測,本文提出一種基于多尺度卷積神經(jīng)網(wǎng)絡的人群突散異常行為檢測方法。該方法使用改進的多尺度卷積神經(jīng)網(wǎng)絡(MCNN)預測行人頭部坐標點,再使用坐標點計算人群平均動能、人群密度、人群分布熵這3種運動狀態(tài)特征值,最后再將運動狀態(tài)特征值輸入到差分進化粒子群優(yōu)化的極限學習機(DE-PSO-ELM)中進行訓練預測,最終實現(xiàn)人群突散異常行為的分類。本文通過使用坐標點進行運動狀態(tài)特征值的計算,相較于傳統(tǒng)方法中使用光流法來計算,很大程度上減少了計算量。最后仿真結果表明,該算法不僅減少了計算量,檢測準確率也較高。
本文提出的基于深度卷積神經(jīng)網(wǎng)絡的人群突散異常行為檢測方法流程如圖1所示,先通過改進的多尺度卷積神經(jīng)網(wǎng)絡(MCNN)訓練人群計數(shù)模型,再預測提取視頻圖像每一幀中每一個行人個體的頭部坐標點,再使用提取的坐標點計算每一幀的運動狀態(tài)特征值,最后再將運動狀態(tài)特征值輸入到差分進化粒子群優(yōu)化的極限學習機(DE-PSO-ELM)中進行訓練預測,最終得到突散異常的檢測結果。

圖1 人群突散異常行為檢測流程
為了減少后續(xù)工作的計算量,使用改進的MCNN人群計數(shù)網(wǎng)絡進行人群密度圖的繪制以及行人頭部坐標點信息的獲取。
1.1.1 人群密度圖繪制
人群密度圖可以更好更直觀地理解人群在圖中的分布情況。人群密度圖繪制是通過標注行人頭部,使用幾何自適應高斯核來估計行人頭部大小并轉為密度圖,然后將人群密度圖輸入到網(wǎng)絡中進行訓練。假設圖中有一位行人頭部中心坐標位置在像素點xi, 將這一點用函數(shù)表示為δ(x-xi), 那么圖中有N個行人頭部中心的人群圖像表示為式(1)
(1)
使用幾何自適應高斯核函數(shù)Gσi(x) 生成的密度圖F如式(2)所示
(2)

1.1.2 改進的MCNN網(wǎng)絡結構
MCNN網(wǎng)絡[12]即多尺度卷積神經(jīng)網(wǎng)絡,多尺度體現(xiàn)在使用了3列不同大小的卷積核,L列卷積核大小為 [(11×11),(9×9),(7×7)], M列卷積核大小為[(9×9),(7×7),(5×5)], S列卷積核大小則為[(7×7),(5×5),(3×3)]。 由于監(jiān)控視頻下存在透視、頭部大小不一致等問題,使用多尺度卷積核可以適應不同尺度的頭部大小。此外由于每一個卷積核中的值都是隨機生成的,采用多核卷積的思想,在兩層之間多增加一個卷積層,用來學習不同的特征。最后合并3列卷積神經(jīng)網(wǎng)絡,生成人群密度圖。改進后的MCNN網(wǎng)絡結構如圖2所示。

圖2 改進的MCNN網(wǎng)絡結構
損失函數(shù)定義如式(3)
(3)
其中,θ為MCNN中一個可學習的參數(shù),Ni為訓練圖像的數(shù)量,Xi為輸入圖像,F(xiàn)i為Xi的真實密度圖,F(xiàn)(Xi;θ) 為估計密度圖,L為估計密度圖與真實密度圖之間的損失。
根據(jù)以往人群計數(shù)網(wǎng)絡的評價指標,我們同樣采用平均絕對誤差(MAE)和均方誤差(MSE)作為網(wǎng)絡的評價指標。定義如下
(4)
(5)

從圖2可以看出,網(wǎng)絡中使用了兩層最大池化層,因此輸出的密度圖為輸入圖像的1/4大小,所以在制作訓練數(shù)據(jù)的標簽密度圖時,也要將其制作為原圖的1/4大小,幾何自適應高斯核也應被限制在25個像素內。
通過改進MCNN訓練以及測試,我們可以得到預測的人群密度圖、每一幀的總人數(shù)以及每一個行人頭部位置所對應的坐標點,為后續(xù)進行人群突散異常行為檢測做準備。
人群行為都是處于不斷運動的狀態(tài)之中,本文通過動態(tài)的特征值變化去判定是否發(fā)生人群突散異常行為,定義為以下3種人群運動狀態(tài)特征值。一是人群平均動能,在監(jiān)控場景下,人群發(fā)生突散行為時人群平均動能會有所增大;二是人群密度值,由于監(jiān)控視頻下監(jiān)控范圍有限,當人群發(fā)生突散行為時,會出現(xiàn)人群離開監(jiān)控視頻,人群密度值就會隨之減小;三是人群分布熵,發(fā)生突散行為,監(jiān)控區(qū)域的人群分布會有所變化,隨著突散進行,人群分布熵會隨著人群分散越來越大。
1.2.1 人群平均動能
動能簡單來說就是物體因運動而具有的能量,傳統(tǒng)方法通過以前景為模板掩模來提取角點信息確定特征點,再計算特征點的運動矢量來計算人群的動能。本文的動能是指監(jiān)控區(qū)域內的人群平均動能,對于每一幀圖像選取圖像中心點位置 (x0,y0) 作為參考點,先計算第i幀內網(wǎng)絡預測坐標點到參考點的平均距離si, 設第i幀內一共預測出j個行人頭部坐標點,該幀中的行人頭部坐標點用 (xj,yj) 來表示,計算公式如式(6),再計算第i+1幀的平均距離si+1, 再根據(jù)幀率計算其速度,從而計算人群平均動能,其計算公式如式(7)
(6)
(7)
其中,Eavg表示人群平均動能,t為單幀的時間,si為第i幀的平均距離,由于運動場景中運動對象大小相似,故m=1。
1.2.2 人群密度值
人群密度值是評判一幀中人群所占相應面積的比例大小。改進MCNN可以在生成密度圖的同時,計算得出該幀的預測人數(shù),具體得人群密度值如式(8)
(8)
式中:Ni為第i幀中預測的人群總數(shù),λ為圖像總人數(shù)修正因子,Si為第i幀圖像面積,為方便計算,本文取Si=1。
1.2.3 人群分布熵
熵最開始是熱力學中表征物質狀態(tài)的參量之一,其物理意義是體系混亂程度的度量。1948年香農提出了信息熵的概念,對信息的多少進行了度量,體現(xiàn)了隨機時間的不確定性。本文對人群分布計算采用信息熵的理念,來對人群分布進行說明,若人群分散,人群分布熵則會增大,反之,減小。首先將坐標進行歸一化處理,使之處于 [-1,1] 之間,再將該區(qū)域平均劃分為20個連續(xù)的小區(qū)域,即 [-1,-0.9)…(0.9,1], 再計算人群分布熵,計算公式如下
(9)
其中,S(i) 為第i幀的分布熵,pj為樣本在yk區(qū)間內出現(xiàn)的概率,count(yk) 為坐標點歸一化后在yk區(qū)間的個數(shù),k=20。
極限學習機(ELM)[13]是一類基于前饋神經(jīng)網(wǎng)絡構建的機器學習方法,由Huang教授提出的單隱層前饋神經(jīng)網(wǎng)絡,具有訓練參數(shù)少,學習速度快,泛化能力強的優(yōu)點。在此算法中,輸入層和隱含層的連接權值,隱含層的閾值都是隨機設定的,且設定之后不需要再調整,輸出層權重通過廣義逆矩陣理論計算得出。將本文已經(jīng)計算得到的3種人群運動狀態(tài)特征值送入到DE-PSO-ELM中進行模型訓練從而得到預測結果,由于人群運動狀態(tài)值是一個動態(tài)變化的過程,最終得出的預測結果也是動態(tài)變化的。
1.3.1 差分進化粒子群算法
粒子群(PSO)優(yōu)化算法[14]的基本思想是通過群體中個體之間的協(xié)作和信息共享來尋找最優(yōu)解。粒子群算法通過模擬鳥群中的鳥來設計一種無質量的粒子,該粒子具有速度V和位置X兩個屬性,V表示粒子移動的快慢,X表示粒子移動的方向。每個粒子先在搜索空間中通過迭代方式單獨搜尋個體最優(yōu)解Pbest, 再將個體極值Pbest與整個群體中的其它粒子共享位置信息,尋找到整個粒子群中的全局最優(yōu)解Gbest, 以此來調整自己的速度和位置。根據(jù)式(10)~式(11)更新粒子的速度和位置
Vi(t+1)=ωVi(t)+c1Rand(0,1)(Pbesti-Xi(t))+c2Rand(0,1)(Gbesti-Xi(t))
(10)
Xi(t+1)=Xi(t)+Vi(t+1)
(11)
其中,ω為慣性權重因子,t為當前迭代次數(shù),Vi為粒子速度,Xi為粒子位置,c1,c2為加速因子,c1=c2=2,Pbest表示當前個體最優(yōu)粒子的位置,Gbest表示當前群體最優(yōu)粒子位置。
但粒子群優(yōu)化算法容易陷入局部最優(yōu),會導致收斂精度低和不易收斂。故本文加入差分進化(DE)算法[15]進行全局優(yōu)化,先計算其個體適應度,未達到最優(yōu)值時,將兩個隨機個體向量進行變異操作,將變異向量與其父代向量進行交叉操作,再得實驗向量,將實驗向量與父代向量進行適應度比較,擇優(yōu)選擇進入下一代,如此反復進行優(yōu)化,最終得到全局最優(yōu)解。
1.3.2 DE-PSO-ELM
本文利用DE-PSO優(yōu)化ELM的輸入層權值和隱含層偏置。先初始化種群,將種群隨機分給PSO和DE算法,對于PSO算法,設定粒子群規(guī)模、慣性參數(shù)ω、 學習因子c1和c2、 迭代次數(shù)和最大速度等參數(shù)。計算適應度,根據(jù)最優(yōu)適應度更新個體極值Pb和全局極值Gb。 對于DE優(yōu)化算法,先初始化最大迭代次數(shù)Gm, 種群數(shù)Nr, 設置變異算子F、 交叉算子CR和相應的差分策略,然后對每個個體進行變異、交叉、選擇操作,選擇出最優(yōu)個體。再將PSO選擇的極值與DE選的最優(yōu)個體進行種群混合重新分配執(zhí)行尋優(yōu)操作,最終確定最優(yōu)個體值對應的輸入層權重和隱含層偏置。DE-PSO-ELM算法流程如圖3所示。

圖3 DE-PSO-ELM算法流程
本次實驗在普通PC機上進行,CPU為AMD Ryzen 5 3600,3.60 GHz,16 G內存,顯卡為RTX 2070 SUPER,8 G,改進的MCNN網(wǎng)絡是在Anaconda3+Pytorch1.3.1+cuda10.1+cudnn7.5.1+Python3.7.1環(huán)境下搭建進行訓練測試的,最后人群狀態(tài)特征值和異常分類是在MATLABR2020a環(huán)境下完成的。
本文使用的數(shù)據(jù)集為明尼蘇達州大學創(chuàng)建的UMN數(shù)據(jù)庫,其中每個視頻起始部分都是正常行為,隨后為異常行為視頻序列。本文主要采用人群單方向奔跑以及人群四散的異常行為視頻。
改進的MCNN的訓練迭代次數(shù)為2000次,其學習率設置為0.000 01,動量系數(shù)為0.9,能量為0.75,權重衰減系數(shù)為0.05。訓練迭代2000次的MAE和MSE變化曲線如圖4所示,橫坐標表示訓練次數(shù),縱坐標為訓練過程中的MAE和MSE這兩個評價指標值。從圖中可以看出,MAE趨于穩(wěn)定在21左右,MSE區(qū)域穩(wěn)定在11左右。在訓練過程中,本文最佳模型MAE=10.64,MSE=19.28。

圖4 訓練過程網(wǎng)絡評價指標變化曲線
將改進的MCNN網(wǎng)絡用來預測生成視頻內每幀圖像的人群密度圖,使用UMN數(shù)據(jù)集進行人群密度圖的預測。
圖5(a)、圖5(d)兩個圖為UMN數(shù)據(jù)集中在草坪上拍攝的人群的人群異常行為視頻中的兩張原圖,圖5(a)為前期人群正常行走時候的一幀圖像,圖5(d)為后期人群即將要四散的圖像,圖5(b)、圖5(e)兩張圖為真實的人群密度圖,圖5(c)、圖5(f)為改進的MCNN網(wǎng)絡預測的人群密度圖。
圖6(a)、圖6(d)兩個圖為在廣場上拍攝的人群異常行為視頻中的兩張原圖,圖6(a)為前期人群正常行走時候的一幀圖像,圖6(d)為后期人群已經(jīng)四散的圖像,圖6(b)、圖6(e)兩張圖為真實的人群密度圖,與圖6(c)、圖6(f)為改進的MCNN網(wǎng)絡預測的人群密度圖。對于圖6和圖5的人群密度圖,可以看出,圖6中預測的人群密度圖要優(yōu)于圖5中預測出來的密度,是因為圖5中的行人陰影對預測有一定的影響,導致有些行人頭部的預測不是很準確明顯。
本文特征值計算使用的是明尼蘇達大學的數(shù)據(jù)集UMN中異常人群活動的視頻。本文定義了人群平均動能、人群密度值和人群分布熵3種特征狀態(tài),根據(jù)3種特征值進行無規(guī)則突散和同向突散異常的區(qū)分。
由圖7(a)、圖7(b)、圖7(c)這個圖對比可以看出,在360幀左右3種特征值都開始出現(xiàn)明顯變化,動能和人群分布熵開始突增,人群密度逐漸減小,再對應視頻中相應的幀數(shù)發(fā)現(xiàn),3種狀態(tài)特征值變化的拐點與視頻中人群剛開始突散的時刻相對應,此時人群開始突然散開,奔跑起來,動能和分布熵逐漸增大。人群密度隨著行人跑出監(jiān)控區(qū)域逐漸減小。從圖中可以看出人群平均動能和人群分布熵在前面正常行走的階段也有一定的小波動,出現(xiàn)小波動的原因是期間有人進入或者離開監(jiān)控區(qū)域,再對比圖7(b)人群密度,可以看出對應幀數(shù)有人數(shù)的增減。
圖8為同向突散異常行為的3個人群狀態(tài)特征值的動態(tài)變化圖。從圖中看出,在290幀左右動能出現(xiàn)了明顯的增大變化,再應對視頻相應幀數(shù),人群開始朝同一個方向突散,從圖8(c)中可以看出分布熵的值在前期的波動較為穩(wěn)定,到290幀左右,熵值開始增加,但熵值變化較小,說明人群有一定程度的分散,但分散的程度不大。相對應時刻的人群密度也開始逐漸的減小,即監(jiān)控視頻范圍內的人群在逐漸減少,監(jiān)控視頻范圍內的行人逐漸跑出監(jiān)控之外,最終人群密度有所回升是因為后續(xù)又檢測到行人進入監(jiān)控區(qū)域。
本文在圖9及圖10中對比了ELM[16,17]異常分類和基于差分進化粒子群優(yōu)化的極限學習機(DE-PSO-ELM)的異常分類結果。

圖9 無規(guī)則突散異常分類預測對比

圖10 同向突散異常分類預測對比
從圖9、圖10中對無規(guī)則突散行為和同向突散行為的異常分類預測對比圖可以看出,使用差分進化粒子群優(yōu)化后的ELM對異常分類的預測要更加準確對于無規(guī)則突散的異常分類準確率達到99.75%,同向突散的異常分類準確率為99.69%,其中模型通過MAE、MAPE以及識別所用時間這3個指標進行評價。評價指標數(shù)值見表1。

表1 模型評價值
本文通過行人頭部坐標點進行人群行為的3種特征值分析,由于每一個人只會有一個坐標點,對于后續(xù)的分析計算減少了計算量,加快了計算速度,再結合MAE和MAPE值說明改進的DE-PSO-ELM模型更加適合。
以下是本文算法與文獻[4]、文獻[7]和文獻[10]的檢測準確率對比見表2。

表2 檢測準確率對比/%
本文算法通過改進MCNN提取行人頭部坐標點,再通過坐標點計算群體間的人群平均動能、人群密度值以及人群分布熵3種動態(tài)的群體運動狀態(tài)特征值,最后再將特征值送入到DE-PSO-ELM中進行異常分類,準確率達到97.69%。文獻[4]和文獻[7]都是通過提取外觀和運動兩種特征,再進行建模,最后進行異常檢測分類。文獻[10]通過嵌套mlpconv層改進卷積神經(jīng)網(wǎng)絡提取前景目標,再將學習到的特征輸入到softmax分類器進行異常行為檢測。
本文提出的基于深度卷積神經(jīng)網(wǎng)絡的人群突散異常行為檢測方法,通過改進的MCNN提取待檢測視頻中行人的頭部坐標點,再根據(jù)坐標點計算本文定義的3種人群運動狀態(tài)特征值,減少計算量,加快運算速度。最后再將人群運動狀態(tài)特征值送入DE-PSO-ELM分類模型中進行異常分類。在UMN數(shù)據(jù)集中幾個場景下的實驗結果表明,該方法對人群中異常突散行為檢測較為準確、快速。