李建更,謝海征
(北京工業(yè)大學信息學部,北京 100124)
21世紀以來,隨著硬件技術(shù)以及機器視覺技術(shù)的發(fā)展,監(jiān)控行業(yè)在我國如雨后春筍般快速崛起,如今在眾多的公共場所,例如火車站、商場、校園、銀行等人口流動量大的地方,都安裝了用于安防監(jiān)控的攝像頭.這樣的措施不僅有效地保障了人民的人身財產(chǎn)安全,同時對于維護社會治安、打擊違法犯罪做出了突出的貢獻.然而,傳統(tǒng)的監(jiān)控行業(yè)主要是人為監(jiān)控判斷,實時不間斷的監(jiān)控方式不切實際,會出現(xiàn)異常發(fā)現(xiàn)不及時的情況,并且現(xiàn)實情況是監(jiān)控的數(shù)量遠遠大于相關(guān)的配置人員,如果配置相應的工作人員進行監(jiān)控,是對人力資源的極大浪費.因此,為了減少人力的浪費以及更快地發(fā)現(xiàn)異常以便更好地保障群眾的生命財產(chǎn)安全,設計開發(fā)一套實時監(jiān)控下的異常行為識別系統(tǒng)是非常必要的,具有廣泛的應用前景.
視頻序列中的異常行為識別是計算機視覺中最具挑戰(zhàn)性和長期存在的問題之一[1-4].在早期普遍使用基于人體幾何特征的識別方法[5],文獻[6]將人體關(guān)節(jié)組合成的外觀作為特征點進行行為識別.由于提取幾何圖形特征的方法在很大程度上受人體姿態(tài)形狀的影響,而在實際中人體姿態(tài)形狀會隨著運動狀態(tài)產(chǎn)生較大形變,行為識別不能通過簡單的幾何模型就做出判斷,所以就有了提取視頻中運動信息特征的方法,重點分析時間維度上的人體運動過程.文獻[7]將運動目標垂直和水平方向的光流場信息按照坐標系聚合成多方向的矢量圖,再將矢量圖歸一化后處理為人體運動信息的特征.Bobick等[8]采用動作能量圖像和動作歷史圖像描述視頻序列中人體的行為.隨著尺度不變特征變換(scale invariant feature transform,SIFT)、方向梯度直方圖(histogram of oriented gradient,HOG)、局部二值模式(local binary patterns,LBP)等多尺度特征提取算法,以及使用三維HOG提取視頻特征信息的HOG3D算法的提出,文獻[9]分別在時間域和空間域中提取行為的特征值,根據(jù)特征值計算圖像直方圖來識別行為.之后,隨著支持向量機(support vector machine,SVM)等模式識別算法的提出,利用SVM具有堅實的理論基礎、良好的魯棒性、泛化能力強等優(yōu)點[10],人體行為識別技術(shù)得到了長足的發(fā)展.
近年來,隨著深度學習在圖像分類上的不斷進步[11-12],越來越多的研究者采用深度學習網(wǎng)絡來解決視頻理解方面的問題.文獻[13]利用弱監(jiān)督的方式對視頻中的異常行為進行檢測.文獻[14]使用雙流卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)分別捕獲空間和時序信息,在RGB基礎上堆疊光流幀,RGB提供輪廓信息,光流幀提供時序信息,隨后出現(xiàn)了各種基于雙流網(wǎng)絡的改進[15-16],極大地提高了動作識別的性能.由于雙流網(wǎng)絡一般需要事先提取光流且耗時,不適宜進行端到端的學習,所以三維CNN應運而生.文獻[17]最先提出使用三維卷積提取時空特征進行人體行為識別.文獻[18]進一步提出了深度三維卷積(convolution 3 dimension,C3D)網(wǎng)絡,C3D的各種改進[19-21]隨之出現(xiàn).
對于視頻中的人進行行為識別,通常將視頻信息分為時域信息和空域信息,時域信息對行為判斷具有重要作用,研究者提出通過追蹤骨架關(guān)節(jié)點的軌跡獲取動作的軌跡曲線和行為的動態(tài)信息.人體的骨骼和關(guān)節(jié)軌跡對光照和場景變化具有較強的魯棒性,易于獲得,并且圖CNN將圖應用到基于骨架的動作識別任務中,利用圖卷積的局域性和時間動力學來隱式地學習部位信息,模型容易設計,能夠更好地學習動作表示.
當前大部分的異常行為識別算法更偏重于算法的準確性,實時性較差,而一個實用的異常行為檢測系統(tǒng)的作用是在監(jiān)控下一旦發(fā)生異常情況,能夠及時檢測識別該異常的類別[22]并發(fā)出信號,確保突發(fā)事件的及時發(fā)現(xiàn)與處理.監(jiān)控視頻的異常檢測就是視頻理解,對異常行為進行識別分類.深度學習的出現(xiàn),給視頻理解帶來了顯著的提升.本文利用深度學習的方法對監(jiān)控視頻中的異常行為進行實時檢測.首先,對監(jiān)控視頻進行實時的人體姿態(tài)估計以獲得人體骨骼關(guān)鍵點坐標序列,利用骨骼關(guān)鍵點序列構(gòu)建時空圖模型.其次,對時空圖模型應用多層時空圖卷積操作,獲得更高級的特征圖.然后,利用標準的Softmax分類器對行為類別進行分類,判斷異常行為是否發(fā)生,若出現(xiàn)異常行為則進行本地和遠程客戶端的報警提示,客戶端可通過相應軟件進行監(jiān)控視頻的實時查看.本文所描述系統(tǒng)的主要環(huán)節(jié)是基于人體骨骼關(guān)鍵點的行為識別算法的研究,采用圖卷積網(wǎng)絡進行異常行為的訓練與判別.
異常行為識別系統(tǒng)流程如圖1所示.其中,為了獲取人體骨骼關(guān)鍵點坐標序列,首先需要進行人體姿態(tài)估計.目前,姿態(tài)估計面臨諸多挑戰(zhàn),例如,人數(shù)未知、部分遮擋、人數(shù)增加造成效率降低.單人姿態(tài)估計較為簡單,因為單人情況只要精確地找到關(guān)鍵點位置即可,而多人姿態(tài)估計在精確定位關(guān)鍵點位置的基礎上,還需要判斷出關(guān)鍵點分別屬于哪一個目標人物.多人姿態(tài)估計算法主要有2種方式:1) 自頂向下.首先,從圖像中檢測出所有目標人物;然后,利用單人姿態(tài)估計方法對所有單目標分別進行姿態(tài)估計.該方式的缺點是算法運行效率隨著人數(shù)增加而降低,并且部分被遮擋的人無法被檢測時,導致姿態(tài)估計精度降低.2) 自底向上.首先,估計出所有人的骨骼關(guān)鍵點;然后,將關(guān)鍵點進行連接,形成圖;最后,通過圖優(yōu)化的方法剔除錯誤連接,實現(xiàn)多人姿態(tài)估計.該方法的優(yōu)點在于將運行時的復雜性與圖像中的人數(shù)分離,更有利于實現(xiàn)實時多人姿態(tài)估計.最初的自底向上方法沒有保留效率的提高,因為最終的多人解析需要全局推理,每張圖像需要幾分鐘.本文中的多人姿態(tài)估計基于自底向上的方法,使用Cao等[23]提出的實時多人2D姿態(tài)估計算法openpose實時獲取身體和足部骨骼關(guān)鍵點,該方法編碼圖像中肢體的位置和方向,使用部分親和場將身體部位與圖像中的個體相關(guān)聯(lián),提高了精度,并且同時進行關(guān)鍵點檢測與關(guān)聯(lián),以一小部分計算成本獲得高質(zhì)量的結(jié)果,降低了時間復雜度.在進行多人解析時,加入2個貪婪的松弛算法,很好地解決了全局推理高昂的時間成本問題.得到的25個關(guān)鍵點如圖2所示.25個關(guān)鍵點與人體關(guān)節(jié)對應位置如表1所示.
圖1 基于監(jiān)控攝像頭的異常行為識別報警系統(tǒng)Fig.1 Abnormal behavior recognition and alarm system based on surveillance camera
表1 25個骨骼關(guān)節(jié)標注對應關(guān)系Table 1 Corresponding relations of 25 bone joints labeling
圖2 openpose算法獲取的25個關(guān)鍵點Fig.2 25 key points obtained by openpose
本文在提取到25個關(guān)鍵點之后,選擇其中的18個關(guān)鍵點并重新定義構(gòu)圖規(guī)則,構(gòu)成新的圖模型,如圖3所示.圖3為一幀圖像的骨骼關(guān)鍵點,在獲取多幀圖像的骨骼關(guān)鍵點數(shù)據(jù)的基礎上,充分利用視頻序列的空間信息和時間信息,使用多層時空圖卷積網(wǎng)絡[24]對異常行為進行識別.18個關(guān)鍵點與人體關(guān)節(jié)對應位置如表2所示.
表2 18個骨骼關(guān)節(jié)標注對應關(guān)系Table 2 Corresponding relations of 18 bone joints labeling
圖3 18個關(guān)鍵點結(jié)構(gòu)Fig.3 18 key points structure
異常行為檢測算法網(wǎng)絡結(jié)構(gòu)如圖4所示,可以分為2個階段.第1個階段進行特征提取與人體姿態(tài)估計,第2個階段進行行為識別與異常行為判斷.
圖4 網(wǎng)絡結(jié)構(gòu)Fig.4 Network structure
第1階段,以視頻流的形式獲取到監(jiān)控視頻,對視頻中每一幀進行人體姿態(tài)估計.首先使用VGG-19模型提取圖像特征,提取的特征經(jīng)一個六階段的深度神經(jīng)網(wǎng)絡的迭代,其中前一個階段的預測結(jié)果融合原有圖像特征作為下一個階段的輸入,最終得到所有人的25個關(guān)鍵點的坐標.該階段的網(wǎng)絡僅使用了3×3的卷積核,增加非線性變換數(shù)量的同時,提升了網(wǎng)絡深度,減少了參數(shù)數(shù)量,對于特征的學習能力更強,在一定程度上提升了神經(jīng)網(wǎng)絡的效果.
第2階段,應用第1階段的姿態(tài)數(shù)據(jù)構(gòu)建圖模型,對圖模型進行時空圖卷積,識別出行為類別,判斷是否出現(xiàn)異常.首先,獲取第1階段姿態(tài)估計結(jié)果中所有人的25個關(guān)鍵點坐標,抽取其中身體的18個關(guān)鍵點坐標作為輸入矩陣,對輸入矩陣進行歸一化操作,歸一化可提升模型的訓練速度.其次,利用歸一化的數(shù)據(jù)重新定義構(gòu)圖規(guī)則,構(gòu)建骨架圖模型,對構(gòu)建的骨架圖模型進行邊緣重要性加權(quán),區(qū)分不同軀干的重要性.然后,對骨架圖進行9個階段的時空圖卷積,卷積操作增加關(guān)節(jié)維度,降低關(guān)鍵幀維度,分解動作,其中每個階段包含1個圖卷積和3個時間卷積.最后,對卷積操作的結(jié)果進行平均池化和全連接,通過Softmax分類器得到相應的動作分類,并根據(jù)對異常行為的定義判斷是否為異常行為.
對于骨架圖序列來說,一種行為包含一系列的幀,每一幀都包含一組關(guān)節(jié)點的坐標,多組坐標構(gòu)成一個時空骨架圖模型.定義一個具有N個關(guān)節(jié)和T幀的骨架序列時空圖G(V,E),其中節(jié)點集合為V={vti|t=1,2,…,T;i=1,2,…,N},第t幀第i個關(guān)節(jié)點的特征向量為F(vti).根據(jù)人體結(jié)構(gòu)的自然連通性,可以將一幀內(nèi)的關(guān)節(jié)相連,在T幀連續(xù)的坐標系中,同一關(guān)節(jié)連接到一起,2個連接邊緣構(gòu)成邊緣集,其一為描述每一幀內(nèi)骨架連接的ES={vtivtj|(i,j)∈H},其中,H為自然連接的人體關(guān)節(jié)集,另一個EF={vtivt+1,i}為連續(xù)幀間相同關(guān)節(jié)的連接.構(gòu)成的骨架圖模型如圖5所示.
圖5 骨架圖模型Fig.5 Skeleton graph model
在單幀圖卷積網(wǎng)絡模型Vt中,t時刻,有N個關(guān)鍵點,幀內(nèi)連接的集合為Es={vtivtj|(i,j)∈H}.類比圖像的卷積操作,將圖像看作二維網(wǎng)絡,設置步長為1,給定卷積核大小為K×K,輸入圖像為fin,c個通道,那么在空間位置為x的單通道的圖像卷積輸出值為
(1)
p(vti,vtj)=vtj
(2)
相較于采樣函數(shù),權(quán)重函數(shù)較為復雜.因為在二維的卷積中,中心位置周圍會存在一個剛性網(wǎng)格,所以鄰域像素的空間順序是固定的,權(quán)重函數(shù)可以通過根據(jù)空間順序建立的(c,K,K)維張量來實現(xiàn),而對于剛剛構(gòu)建的一般圖,沒有這樣的隱式排列.為了解決這一問題,遵循Niepert等[25]提出的由根節(jié)點周圍的鄰域在圖標記過程定義空間順序的思路來構(gòu)建權(quán)重函數(shù).沒有給每一個鄰域節(jié)點一個獨特的標簽,而是通過將一個骨骼點vti的鄰居集B(vti)劃分成固定數(shù)量的K個子集來簡化過程,每個子集都有一個數(shù)字標簽.因此,可以有一個映射lti∶B(vti)→{0,1,…,K-1}將鄰域的一個節(jié)點映射到它的子集標簽,權(quán)重函數(shù)為
w(vti,vtj)=w′(lti(vtj))
(3)
使用改進的采樣函數(shù)和權(quán)重函數(shù),可以將式(1)重寫為
(4)
式中Zti(vtj)=|{vtk|lti(vtk)=lti(vtj)}|為正則化項,等價于相應子集的基數(shù),平衡了不同子集對輸出的貢獻.將式(2)(3)代入式(4)可得空間圖卷積公式為
(5)
利用時間卷積學習時間序列中關(guān)節(jié)變化的局部特征.由于形狀固定,可以使用傳統(tǒng)的卷積層完成時間卷積操作.類比圖像卷積操作,時間圖卷積特征圖的最后3個維度形狀為(C,T,V),與圖像特征圖的形狀(C,W,H)相對應.圖像的通道數(shù)C對應關(guān)節(jié)的特征數(shù)C,圖像的寬W對應關(guān)鍵幀數(shù)T,圖像的高H對應關(guān)節(jié)數(shù)V.在圖像卷積中,卷積核的大小為w×1,則每次完成w行、1列像素的卷積,步長為s像素,完成一行后進行下一行像素的卷積.在時間卷積中,卷積核的大小為temporal_kernel_size×1,則每次完成1個節(jié)點、temporal_kernel_size個關(guān)鍵幀的卷積.步長為1,則每次移動1幀,完成1個節(jié)點后進行下一個節(jié)點的卷積.時間卷積如圖6所示.
圖6 時間卷積Fig.6 Temporal convolution
在式(5)構(gòu)建的空間圖卷積網(wǎng)絡的基礎上,進行時空圖卷積網(wǎng)絡建模.因為使用同一關(guān)鍵點的連續(xù)幀構(gòu)建骨骼圖的時間序列,故可以在空間圖卷積網(wǎng)絡的基礎上加入時間卷積構(gòu)建時空圖卷積網(wǎng)絡,將空間鄰域擴展到時間鄰域,鄰域定義為
B(vti)={vqj|d(vtj,vti)≤K,|q-t|≤?Γ/2」}
(6)
式中取K=1,參數(shù)Γ稱為時間內(nèi)核大小,控制包含在鄰域圖中的時間范圍.時空圖卷積網(wǎng)絡的采樣函數(shù)與空間圖卷積網(wǎng)絡一致,對于權(quán)重函數(shù),由于時間是有序的,更新映射為
lst(vqj)=lti(vtj)+(q-t+?Γ/2」)×K
(7)
綜上,完整的時空圖卷積網(wǎng)絡為
(8)
因為單個骨架圖可以擴展到時空域,下面以單個骨架圖來描述劃分策略.由于人體骨架在空間上的局域性,在劃分過程中利用這種特定的空間配置,將鄰域劃分成3個子集,劃分結(jié)果如圖7所示.
圖7 子圖劃分方法Fig.7 Subgraph division method
對于1個根節(jié)點,與它相連的邊可以分為3個部分:第1部分是空間位置比根節(jié)點更遠離骨架重心的鄰居節(jié)點(黃色),包含了離心運動的特征;第2部分是更為靠近重心的鄰居節(jié)點(藍色),包含了向心運動的特征;第3部分是根節(jié)點本身(綠色),包含了靜止的特征.
在簡單的圖卷積中,卷積公式可描述為
(9)
式中:D為圖的度矩陣;N=1,2,…,n代表所有節(jié)點的編號;X代表所有節(jié)點的特征;Xi代表節(jié)點i的特征;Xj代表節(jié)點j的特征;A代表臨界矩陣;Aij代表節(jié)點i和節(jié)點j之間的邊的權(quán)值.
式(9)以邊為權(quán)重對節(jié)點特征求加權(quán)平均.其中=D-1A可以理解為卷積核.考慮到動作識別的特點,使用上述圖劃分策略,將分解為1、2、3,如圖8(a)所示,2個節(jié)點之間有一條雙向邊,節(jié)點自身有一個自環(huán).使用這樣的分解方法將1個圖分解成了3個子圖,如圖8(b)(c)(d)所示,卷積核也從1個變?yōu)榱?個.要得到卷積的結(jié)果,只需使用每個卷積核分別進行卷積,再進行加權(quán)平均.
圖8 子圖劃分結(jié)果Fig.8 Results of subgraph division
在運動過程中,不同的部位重要性是不同的.例如腿的動作可能比脖子更重要,通過腿部的運動可以判斷出跑步、走路和跳躍,但是脖子的動作中可能并不包含多少有效信息.在大規(guī)模圖中由于節(jié)點較多,復雜的背景噪聲會對圖卷積性能產(chǎn)生不良影響.邊緣重要性加權(quán)巧妙地利用圖節(jié)點之間的相互聯(lián)系,區(qū)分聯(lián)系的層級,能夠增強任務中需要的有效信息.表現(xiàn)在數(shù)學上就是某些屬性擁有更高的權(quán)重,是一種加權(quán)平均.圖卷積的核心思想是利用邊的信息對節(jié)點進行聚合,從而生成新的節(jié)點表示.具體來說,給定一個圖G(V,E),其中,V={1,2,…,n}為節(jié)點集合,E={a(1,2),a(1,3),…}是邊的集合,節(jié)點的特征用X={x1,x2,…,xn}表示.因此,可以使用圖卷積公式生成新的節(jié)點的特征表示X′,其中x′i是節(jié)點i的鄰居節(jié)點特征的加權(quán)平均.在圖卷積中,權(quán)重直接用邊上的權(quán)重替代,公式為
(10)
式中:a(i,j)代表圖G的鄰接矩陣中第i行第j列的值,即(i,j)邊的權(quán)重;j∈neigh(i)表示j節(jié)點屬于i節(jié)點的鄰域.
本實驗將Kinetics視頻數(shù)據(jù)集的子集作為異常行為識別數(shù)據(jù)集,包括正常行為(normal)和掰手腕(arm wrestling)、劈砍(chopping)、暴跌(tumbling)、擊打(hitting)、刺(lung)、揮拳(pumping fist)6類異常行為.每類行為由2組視頻構(gòu)成,每類行為包括550~600段視頻,共包括4 096段視頻.Kinetics數(shù)據(jù)集由Google的deepmind團隊開源提供[26],是一個大規(guī)模、高質(zhì)量的數(shù)據(jù)集,大約65萬個視頻片段,其中包括700個人體動作類,包括人與物之間的交互(如演奏樂器),以及人與人之間的交互(如握手和擁抱).每個動作類至少有600個視頻剪輯,每個剪輯持續(xù)約10 s.用openpose批量處理每段視頻,獲取25個關(guān)鍵點并從中提取18個關(guān)鍵點進行保存,文件保存為鍵值對(JavaScript object notation,JSON)格式,用來進行異常行為識別網(wǎng)絡的訓練和測試.數(shù)據(jù)集的劃分如表3所示.
表3 數(shù)據(jù)集劃分Table 3 Dataset partition
本文對測試集的每一個JSON文件進行測試,測試結(jié)果為多分類,取Top-1準確率為評判標準.Top-1準確率和Top-5準確率是深度學習過程中較為常用的2個評判標準.其中Top-1準確率=所有測試視頻中分類正確的個數(shù)/總的測試視頻的數(shù)量,Top-5準確率=所有測試視頻中正確標簽包含在前5個分類概率中的個數(shù)/總的測試視頻的數(shù)量,通常狀況下,選擇Top-1準確率為評判結(jié)果的標準.
本文訓練使用的硬件設備均為Intel(R) Core(TM) i7-4770K CPU @ 3.5 GHz,8 GB內(nèi)存(RAM),顯卡型號為GeForce GTX 1080.操作系統(tǒng)為Ubuntu 16.04 LTS,CUDA版本為10.0,使用的深度學習框架為pytorch.
訓練參數(shù)設置為:學習率(base_lr)為0.1,迭代次數(shù)(num_epoch)為100,在迭代次數(shù)40、60、80、100時學習率下降0.1,優(yōu)化器(optimizer)使用梯度下降算法(stochastic gradient descent,SGD),批次大小(batch_size)為32.
測試集共有347個JSON文件,整體測試結(jié)果為:Top-1準確率80.47%、Top-5準確率97.98%.分類測試結(jié)果如表4所示.
表4 分類測試結(jié)果Table 4 Results of classification test %
本文選取整個測試集的Top-1的準確率為最終的準確率,即為評判結(jié)果的標準.由以上實驗結(jié)果可知,本文的方法對于異常行為的識別實現(xiàn)了80.47%的檢測精度.
為了驗證本文算法的有效性,本文在KTH數(shù)據(jù)集[27]和HMDB51數(shù)據(jù)集[28]上分別進行了測試,并與其他有代表性的算法進行對比.對比實驗所使用的硬件設備仍為Intel(R) Core(TM) i7-4770K CPU @ 3.5 GHz,8 GB內(nèi)存(RAM),顯卡型號為GeForce GTX 1080.
KTH數(shù)據(jù)集是計算機視覺領(lǐng)域的一個里程碑,該數(shù)據(jù)集包括4個不同場景(戶外S1、戶外遠近尺度變化S2、戶外不同衣著S3、室內(nèi)S4)下25個人完成的6類動作(拳擊(boxing)、拍手(handclapping)、揮手(handwaving)、散步(walking)、慢跑(jogging)、奔跑(running)),選取拳擊為異常行為,其余5類動作為正常行為,共600個視頻,視頻中每一幀都是一張160×120像素的圖像,圖像背景均勻且均為單人運動,部分圖像如圖9所示.
圖9 KTH數(shù)據(jù)集子集Fig.9 KTH data set subset
本文隨機抽取19名實驗對象的視頻作為訓練數(shù)據(jù)集,剩余6名人員的視頻作為驗證集,總體識別率為97.99%.本文的算法與其他文獻中的算法在KTH數(shù)據(jù)集上進行比較,結(jié)果如表5、6所示.
表5 識別率對比Table 5 Comparison of recognition rate %
文獻[29]在基于光流特征和密集加速魯棒特征(speeded-up robust features,SURF) 算法檢測運動的人的基礎上,融合運動、軌跡和視覺描述,利用詞袋法提取特征,提出基于興趣點軌跡的人體動作檢測與識別.文獻[30]提出一種強調(diào)與每個動作相關(guān)聯(lián)的關(guān)鍵姿態(tài)的表示方法,從RGB視頻流中獲得運動特征作為深度神經(jīng)網(wǎng)絡的輸入來進行行為識別.在大規(guī)模數(shù)據(jù)集上學習到的基于CNN的表示可以遷移到數(shù)據(jù)集有限的動作識別任務中.文獻[31]則是在預訓練的深度CNN模型上進行特征提取和表示,然后使用混合SVM和K近鄰(K-nearest neighbors,KNN)分類器進行動作識別.文獻[32]提出全局上下文感知注意力長短期記憶網(wǎng)絡,用于基于骨骼關(guān)鍵點的動作識別.使用全局上下文記憶單元選擇性地關(guān)注每一幀中的關(guān)節(jié),同時引入循環(huán)注意力機制,提高網(wǎng)絡性能.文獻[33]提出一種在使用YOLO(You only look once)進行目標檢測與定位的基礎上融合長短期記憶網(wǎng)絡(long short-term memory,LSTM)和CNN的行為識別方法.文獻[29]為傳統(tǒng)識別方法,文獻[30-33]是深度學習領(lǐng)域進行單人行為識別具有代表性的方法.
表6 各動作識別率對比Table 6 Comparison of recognition rate of each action %
HMDB51數(shù)據(jù)集來源于美國布朗大學.數(shù)據(jù)集包含6 849個視頻剪輯,51類動作,每個動作至少有101個剪輯,來源方式多樣,其中大部分來自于電影,還有一小部分來自于公共數(shù)據(jù)庫,例如YouTube和Google視頻.操作類別可以分為5種類型:一般面部動作、通過物體操縱進行面部識別、全身動作、與物體互動的身體動作、與人體互動的身體動作.因為本文需要提取人體的骨骼關(guān)鍵點,進而判別是否存在異常行為,所以面部動作就沒有實際的意義,最終本文選擇其中的28種行為進行識別,按照7∶3的比例將每種動作分為訓練集和測試集.HMDB51數(shù)據(jù)集與KTH數(shù)據(jù)集的區(qū)別主要體現(xiàn)在KTH數(shù)據(jù)集采集場景簡單且為單人動作,無交互行為.HMDB51數(shù)據(jù)集場景復雜多樣且包含單人行為、多人交互行為,故選取的對比方法與僅有單人行為的KTH數(shù)據(jù)集對比方法不同,選取的方法在交互行為識別方面表現(xiàn)更為突出.將本文的方法與近年來經(jīng)典的方法進行識別率比較,結(jié)果如表7所示.
表7 本文方法與近幾年經(jīng)典識別方法對比Table 7 Comparison between the method in this paper and the classic recognition methods in recent years %
文獻[16]將殘差網(wǎng)絡(residual network,ResNet)作為雙流網(wǎng)絡的基礎網(wǎng)絡架構(gòu),同時從光流分支到圖像分支有信息傳遞,提出基于時空特征相互作用的通用卷積網(wǎng)絡體系結(jié)構(gòu)來進行端到端的行為識別.文獻[34]提出時空金字塔網(wǎng)絡來融合金字塔結(jié)構(gòu)中的時空特征,使得時間特征與空間特征相互增強,相互融合,進行行為識別.文獻[35]提出一種網(wǎng)絡架構(gòu),通過堆疊多個通用構(gòu)建塊來構(gòu)建外觀與關(guān)系網(wǎng)絡(appearance and relation networks,ARTNet)進行行為識別,其中通用構(gòu)建塊能同時對外觀和關(guān)系進行建模.文獻[36]提出一種通用且有效的時間轉(zhuǎn)移模塊(temporal shift module,TSM),將部分信道沿時間維度進行移位,便于相鄰幀之間的信息交換,可以達到3D CNN的性能,但保持2D CNN復雜度.
作為文獻[24]的改進算法,本文提出提取身體加足部25個關(guān)鍵點并抽取18個關(guān)鍵點作為行為識別階段時空圖網(wǎng)絡的輸入,相較于文獻[24]只提取身體的18個關(guān)鍵點作為時空圖網(wǎng)絡的輸入,在處理速度方面的對比實驗數(shù)據(jù)如表8所示,表中視頻來自于HMDB51數(shù)據(jù)集與KTH數(shù)據(jù)集.由表中數(shù)據(jù)可知本文的識別速度相較于文獻[24]提升了1倍.
表8 每幀消耗時間對比Table 8 Comparison of consumption time per frame
受限于實時監(jiān)控的權(quán)限獲取困難,同時由于實時監(jiān)控下的異常行為發(fā)生的不確定性,為了驗證算法的實時性效果,采取2種方式模擬真實的視頻監(jiān)控下異常行為的發(fā)生.其一為從網(wǎng)絡渠道獲取有異常行為發(fā)生的視頻,對其采用視頻推流的形式,模擬真實的實時監(jiān)控.現(xiàn)階段的監(jiān)控攝像頭基本上都是遵循實時流傳輸協(xié)議(real time streaming protocol,RTSP)或?qū)崟r消息傳輸協(xié)議(real time messaging protocol,RTMP)輸出,本文采用RTSP視頻流的形式模擬真實監(jiān)控場景.實時處理的結(jié)果如圖10所示,分別對5段視頻進行以上處理,處理結(jié)果如表9所示,分別統(tǒng)計消耗時間以及每幀消耗時間,可得每幀的平均處理時間為41.26 ms,轉(zhuǎn)換為處理幀率為24幀/s.其二為采用攝像頭實時監(jiān)測固定場景下的人為指導的異常行為的發(fā)生,實時處理結(jié)果如圖11所示,處理幀率為25幀/s.當前國內(nèi)處于領(lǐng)先地位的監(jiān)控設備廠家海康威視監(jiān)控設備的輸出幀率在20~30幀/s且可用監(jiān)控設備匹配軟件進行設置.本文算法的處理速率處于設備可用區(qū)間,故滿足實時處理監(jiān)控視頻的要求.2種場景下均能在異常行為發(fā)生的4 s內(nèi)檢測出異常行為并進行警報預警,證明了本文算法在真實場景下的及時性與有效性.
圖10 推流模擬實時識別結(jié)果Fig.10 Real-time recognition result of push streaming simulation
表9 處理推流視頻消耗時間Table 9 Processing time for push streaming video
圖11 攝像頭實時監(jiān)測識別結(jié)果Fig.11 Recognition results of camera real-time monitoring
現(xiàn)階段,開源的人體異常行為數(shù)據(jù)庫種類繁多,來源廣泛,但因缺乏統(tǒng)一的標準,沒有形成體系,在一定程度上限制了異常行為識別研究的發(fā)展.因此,標準人體行為數(shù)據(jù)庫的建立是整個研究環(huán)境的重中之重.
1) 針對現(xiàn)有的人力監(jiān)控系統(tǒng),本文提出了基于姿態(tài)估計的實時異常行為識別算法.實時檢測提取人的骨骼關(guān)鍵點,然后利用關(guān)鍵點坐標的空間和時間信息構(gòu)建時空圖并進行時空圖卷積,最終判斷異常行為是否發(fā)生.
2) 通過在單人數(shù)據(jù)集KTH和多人數(shù)據(jù)集HMDB51中實驗驗證,分別與相對應算法比較,準確率有所提升,表明了本文算法的有效性.
3) 對實時視頻進行測試,幀率可達到25幀/s,滿足實時處理監(jiān)控視頻的要求.
4) 本文算法改善了傳統(tǒng)監(jiān)控系統(tǒng)需要24 h執(zhí)勤的情況,提升了異常行為識別的效率,提高了安全系數(shù).