趙 鑫,陳 平
(中北大學 信息探測與處理山西省重點實驗室,山西 太原 030051)
人員異常行為檢測在機器人視覺、 智能監(jiān)控、 公共安全等領域的運用日趨普遍[1]. 異常行為是指相對于歷史軌跡發(fā)生偏離的運動目標. 如何在復雜的視頻中自動檢測識別異常行為是近年來智能視頻處理的研究熱點.
目前,國內外學者主要根據不同場景中不同的異常行為識別任務,提出了多種不同的檢測方法. 已有的異常行為分析方法大致可以分為以下4類: ① 基于時空特征的模式分析方法,針對視頻序列在時空維度提取特征判斷行為類別[2],該類方法依賴于圖片信息提取的視覺運動特征[3],存在輸入信息冗余、 模型自適應能力差等缺點,并且對人類行為的刻畫能力有限,局限于若干種簡單的單人行為,不易擴展到多人間的復雜行為. ② 基于運動軌跡的方法,通過位置匹配和目標關聯(lián)來提取運動軌跡,構建網絡對目標軌跡的速度、 加速度、 軌跡長度等信息進行訓練[4]. 該類方法主要對軌跡數據建模,然而,由于圖片中的目標之間存在重疊、 遮擋等問題,難以精確跟蹤目標軌跡. ③ 基于行為預測分析方法,通過構建預測未來時間段內人類行為的網絡模型,對人員在運動時可能觸發(fā)危險的行為發(fā)出及時警告[5-9]. 目前,人類行為視頻預測方法是在像素空間中遞歸生成未來幀來進行行為判斷[10],但預測模型缺乏視覺特征與真實運動事件語義的可解釋性,且預測效果容易受預測容量和環(huán)境因素影響. ④ 基于人體骨架姿態(tài)預測的方法,采用目標檢測和人體模型提取圖片中人體骨架,利用骨架隨時間的變化來描述行為[11-12]. 基于骨架預測的方法強調異常行為的可預測性,采用預測人體骨架運動軌跡的方式,但骨架關鍵點提取不準確時,會直接影響異常預測結果.
人員異常行為識別是集成目標檢測、 目標跟蹤、 行為預測等多個模塊的智能識別系統(tǒng),單個神經網絡不能直接用于異常的識別和判斷,而單獨運用較深的網絡會使計算處理速度較慢,研究人員提出了使用多網絡級聯(lián)的思想,應用于異常行為識別[13-15]. 通過級聯(lián)神經網絡模塊逐級細化人員特征,構建行為規(guī)則模型對視頻中人員異常進行判斷. 但是基于多網絡級聯(lián)的檢測識別效果,仍取決于各個模塊的檢測效果與精度. 在場景復雜、 多目標遮擋的人員異常行為分析中,現有的多網絡級聯(lián)的識別方法在識別精度和魯棒性上存在局限性.
因此,針對該問題,基于多網絡級聯(lián)思想,重點圍繞復雜場景下多目標跟蹤與行為識別,分析改進級聯(lián)網絡中各個網絡模塊的實現途徑. 主要采用實例分割模型檢測人體位置,提取人體骨架關鍵點作為行為語義特征,輔助理解人類行為信息,并通過運動分解獲得運動特征. 在預測過程中,以目標檢測框和關鍵點坐標信息作為中間特征,同時利用全局和局部預測網絡來捕捉不同分量的人體運動信息,從而實現多目標下高質量的行為預測和識別.
異常行為識別主要研究視頻人員的行為,使用人體骨架關鍵點作為行為特征,利用骨架關鍵點坐標表示人體整個結構以及肢體結構間的關系,可精確反映人體運動變化并表示對應的行為狀態(tài). 本文基于上海交通大學盧策吾團隊提出的自頂向下的骨架關鍵點檢測算法Alpha Pose[16],使用通用實例分割架構Mask RCNN[17]用作人體檢測,其不僅能輸出目標的具體類別和目標框,也可以在保證檢測速度的情況下,對場景復雜、 多目標遮擋下的人體進行精確分割,網絡結構如圖1 所示.
圖1 骨架關鍵點提取網絡結構
骨架關鍵點檢測的基本步驟: ① 采取Mask RCNN作為人體檢測網絡,提取圖像中的候選框和可視化掩膜. ② 使用空間變換網絡(Spatial Transformer Networks,STN)對人體檢測候選框進行空間變換,提取出高質量的單人區(qū)域. 然后使用單人姿態(tài)檢測(Singal Person Pose Estimation, SPPE)對得到的單人區(qū)域進行骨架關鍵點檢測,并將檢測結果映射到原圖中. ③ 利用參數化姿態(tài)非最大抑制(Parametric Pose Non-Maximum Suppression,Pose NMS)來消除檢測器產生的冗余骨架. 另外,空間反變換網絡(Spatial De-Transformer Network, SDTN)為STN的逆變換,用于反向修正骨架關鍵點,姿態(tài)引導區(qū)域框生成器(Pose-Guided Proposals Generator, PGPG)的作用是來增強訓練樣本,作用于目標檢測和SPPE的訓練,提高訓練的精度. 如圖2 所示,將人體結構簡化為17個人體骨架關鍵點坐標的模型. 人體骨架關鍵點標注信息以COCO數據集形式存儲.
圖2 人體關鍵點模型Fig.2 Human body key point model
在固定相機監(jiān)控場景下,行人的移動速度也較為緩慢,在高幀率相機的采樣下,人體運動時位置坐標信息連續(xù)性強,不易出現人體動作行為的瞬態(tài)變化. 為了跟蹤人體的運動情況,本文采用融合稀疏光流的骨架關鍵點跟蹤方法. 稀疏光流是對指定關鍵點進行跟蹤,基于亮度恒定假設、 相鄰幀關鍵點小范圍運動假設、 空間一致假設,計算運動物體在像素平面上的瞬時速度,跟蹤運動目標在連續(xù)圖片中的位置.
根據1.1中骨架提取模型,依次輸出人員骨架關鍵點坐標和目標矩形框坐標信息,以人員中心為原點將人體檢測的感興趣區(qū)域(region of interest, ROI)擴大20%,確保放大的邊界框為關鍵點在下一幀的可能區(qū)域.
使用Lucas-Kanade算法計算關鍵點坐標的光流,當dt足夠短時,依據光流恒定原則,關鍵點的變化保持不變,即
G(x+dx,y+dy,t+dt)=G(x,y,t),
(1)
式中:G(·)表示不同時刻的骨架關鍵點;x,y分別表示骨架關鍵點的坐標;t表示時刻; dt表示運動時間; dx,dy分別表示dt足夠短時的坐標變化量.
由于相鄰幀時間足夠短,使得物體運動較小,則
(2)
建立光流方程,使用最小二乘法,可得光流的近似解
(3)
通過光流可生成關鍵點從起始位置到當前位置時的坐標
(4)
比較稀疏光流生成的骨架關鍵點是否會落入可能區(qū)域內,對于檢測和跟蹤一致的每個關鍵點,標定為1分,否則標定出0.
(5)
式中:ROIexpand表示擴大的感興趣區(qū)域;m表示匹配分數.
將前后幀的骨架坐標以及骨架匹配分數聯(lián)立成為效益矩陣,利用匈牙利算法[18]對前后幀的關鍵點進行指派,按照空間一致性和姿勢一致性約束條件進行篩選,得到匹配成功的目標關鍵點. 逐幀更新骨架關鍵點,完成對視頻流中的人體骨架姿態(tài)跟蹤.
在監(jiān)控視頻中,人體骨架運動變化取決于位置和姿態(tài)的變化. 人體與監(jiān)控攝像頭的距離會導致個體運動狀態(tài)的差異,對于近場的人體,運動主要受局部姿態(tài)因素的影響. 在遠場情況下,運動由全局運動支配. 現有的分解方法僅利用了人體關鍵點所表征的全局運動模式信息,而忽略了它背后所蘊含的人體局部區(qū)域的細節(jié)外觀信息,而局部信息的缺失導致預測和重建人員在行為細節(jié)上存在一定的困難.
在1.2節(jié)中跟蹤骨架關鍵點坐標的基礎上,將人體的骨架運動分解為“全局”分量和“局部”分量兩部分. 全局分量為目標人體的絕對位置,包括有關人體邊界框的坐標,剛性運動的信息等; 局部分量為骨架關節(jié)點相對于邊界框的位置,用于描述骨架的內部形變. 上述分解過程由公式(6)來描述.
(6)
圖3 人體運動分解模型Fig.3 Human body motion decomposition model
xl,i=xi-xg;yl,i=yi-yg,
(7)
式中:xg,yg表示人體邊界框左下角的坐標;xi,yi代表第i個關鍵點在相應分量的坐標.
本文使用門控循環(huán)單元(GRU)組成雙循環(huán)遞歸編解碼器模型,解決循環(huán)神經網絡中參數隨時間反向傳播時發(fā)生梯度消失的問題,并且該模型結構簡單、 計算量較少,可應用于提取視頻運動信息和時間特征.
雙循環(huán)遞歸編解碼器模型由編碼器、 重建解碼器和預測解碼器組成,其中,全局分量和局部分量的軌跡信息輸入到兩個交互的分支,其中一個分支用于學習目標全局分量下軌跡特征的時間關聯(lián)性,另一個分支用于學習目標局部分量下軌跡特征的時間關聯(lián)性,網絡結構如圖4 所示.
圖4 雙向遞歸編解碼網絡結構Fig.4 Two-way recursive encoding and decodingnetwork structure
使用滑動窗口策略從人體骨架軌跡中提取片段,編碼器過程中設置GRU的隱狀態(tài)為空,通過跨分支信息傳遞機制傳遞各分量下的參數信息,學習各分量單獨組件下的動態(tài)坐標信息. 解碼過程時設置GRU的隱狀態(tài)與編碼器輸出相同,使用重建解碼器對學習的人體骨架坐標進行重建,預測解碼器預測其未來幀的動態(tài)骨架信息. 編碼器輸入長度為6幀,重建解碼器和預測解碼器的長度為6幀. 輸出真實骨架關鍵點坐標距離與預測骨架信息的損失誤差為
(8)
收集骨架異常得分: 經過訓練的模型預測人體在未來時間尺度上的姿勢軌跡. 使用表決機制計算預測誤差
(9)
式中:St表示從重建和預測中包含的已解碼段的集合. 對于每段姿態(tài)軌跡,在測試期間將與閾值進行比較. 如果超過閾值,則將時刻t標記為異常.
本文采用如圖5 所示的多網絡級聯(lián)預測的異常行為識別網絡,采用Mask-RCNN模型提取人體位置,利用提取骨架與稀疏光流相結合,完成視頻中人體骨架的跟蹤,通過運動分解,精確描述人體全局運動信息和局部區(qū)域細節(jié)信息,在預測過程中以目標檢測框和關鍵點坐標信息作為中間特征,同時利用全局和局部預測網絡來捕捉不同分量的人體運動信息,從而實現多目標下高質量的行為預測和識別.
圖5 網絡結構圖
本文的實驗環(huán)境為: windows 10; 處理器為Intel(R)Core(TM) i7-6700 CPU @ 3.4 GHz; 內存32 G; 顯卡為GTX1080; 編程環(huán)境為python3.7; 開發(fā)工具為PyCharm 2018; 使用TensorFlow框架進行網絡搭建、 訓練和測試.
為了驗證所提算法的可靠性及泛化能力,本文分別在實驗室自建模擬場景數據集以及ShanghaiTech Campus公開數據集[19]進行訓練和測試. 公開數據集結合了上海科技大學校園13個不同場景的視頻信息,包含330個訓練視頻和107個測試視頻,視頻分辨率為856×480,包括摔倒、 推打、 追逐、 騎行、 翻越欄桿等多種行為. 數據實例如圖6 的所示.
圖6 ShanghaiTech Campus數據集
自建樣本數據使用布置于室內的DS-IPC-B12H槍式攝像機采集,相機焦距為8 mm,具備720P/1080高清廣角畫面功能,多臺攝像機分布式安裝于實驗樓內側走廊,走廊長約25 m,監(jiān)控攝像機與人員平均距離約7 m. 攝像機及安裝位置如圖7 所示.
圖7 攝像機及安裝位置
自建樣本數據為模擬行人異??梢尚袨椋饕兴さ?、 聚集、 劇烈運動、 奔跑等行為,每段序列中各動作按一定順序多次出現. 圖8為自建數據集實例,共計200組動作序列,其中訓練集150組,測試集50組.
圖8 自建樣本數據
使用本文方法對公開數據集中測試視頻進行實驗,在異常行為可視化的同時,屏蔽與人員無關的背景,采用熱圖的方式呈現圖片,異常分數較高使用深色表示異常人員,異常分數較低時采用淺色表示. 引入參數AUC和AP作為評價標準,AUC定義為接收者操作特征曲線(Receiver Operating Characteristic ,ROC)下與坐標軸圍成的面積,其值小于等于1,AUC值越大說明檢測越好. AP定義為精確召回曲線(Precision-Recall,PR)下與坐標軸圍成的面積,是召回率與精確度的一種統(tǒng)一化平均,AP值越接近1,表示檢測效果越好.
針對ShanghaiTech Campus數據集,去除與人類行為無關的異常行為,為了直觀地顯示異常行為檢測效果,對比本文方法與其他算法在異常情況發(fā)生時和非異常情況的效果,實驗結果如圖9 和圖10 所示.
圖9 不同算法非異常情況比較Fig.9 Comparison of non-abnormal situations ofdifferent algorithms
圖10 不同算法異常情況識別結果Fig.10 Recognition results of abnormal conditions ofdifferent algorithms
圖9 中(a)~(c)為使用Morais R方法測試,正常人員在場景中被人員遮擋時,提取骨架具有與正常下半身“相似”的移動模式,預測網絡補充上半身肢體坐標點,導致局部分量下坐標信息發(fā)生異常,從而對于正常行為誤報警; 圖9 中(e)~(f)為本文方法,消除非異常標注.
圖10 為公開數據集中異常情況標注結果,通過融合實例分割的方法,提取人體關鍵點,并調整編碼器輸入圖片為6張,使用滑動窗口算法,從連續(xù)圖片中提取人體骨架軌跡信息,輸入網絡進行判斷. 圖10 中(a)~(c)為使用Morais R方法測試; 圖10 中(e)~(f)為本文方法,消除非異常標注,可以更有效地預測動態(tài)骨架信息且保留細節(jié)信息,提供了更好的視覺性能.
表 1 為本文方法在ShanghaiTech Campus數據集與現有技術的性能比較. Liu和Conv-AE等基于圖像的方法所構建的模型會因為關注圖像的背景、 光線等信息,造成輸入信息的過分冗余,具有較大的局限性. Rodrigues使用提取人體姿態(tài)信息表征人體的整體運動模型,使提取的特征更加精細,使得指標有所提升. 本文算法獲得了更為優(yōu)越的識別效果,AUC達到了0.774 2,AP達到0.702 7,由于精確提取人體關鍵點,并作為行為語義特征,避免了場景中圖像的背景、 光線等不相關噪聲信息的干擾. 并將運動動態(tài)信息分解,能夠精確描述人體關節(jié)點內部的異常行為,可對更加復雜的行為進行識別.
表 1 公開數據集下現有技術的性能比較Tab.1 Performance comparison of existing technologiesunder public datasets
使用ShanghaiTech Campus數據集預訓練網絡模型,將模型遷移學習到自建數據集上并調整網絡. 異常行為檢測結果如圖11 所示,圖11(a)表示輸入圖片中人員揮舞手掌、 異常行進、 劇烈運動、 摔倒狀態(tài); 圖11(b)為重建骨架圖,可以看出人員在異常行為發(fā)生時的真實骨架狀態(tài); 圖11(c) 為人員預測骨架和重建骨架的圖示,收集骨架異常分數進行判斷異常; 圖11(d)為異常行為可視化標注.
圖11 自建數據集異常行為檢測結果
將自建測試集中50組視頻分解為圖像幀,共計樣本6 727幀,選擇其中異常事件的3 851幀圖像測試,異常跳躍樣本數為478,摔倒樣本數為1 531,劇烈運動樣本數為596,原地異常樣本數為457,加速奔跑樣本數為789. 異常檢測結果如表 2 所示.
表 2 自建數據異常行為檢測結果Tab.2 Self-built data abnormal behavior detection results
本文針對人員在正常運動具有規(guī)律性且異常事件和違規(guī)操作具有連續(xù)性的問題,提出了多網絡級聯(lián)異常行為預測分析方法,不同于傳統(tǒng)端到端異常行為檢測的方法,使用實例分割模型提取目標位置,提取骨架關鍵點作為行為特征,利用提取骨架與稀疏光流相結合,完成視頻中骨骼的跟蹤,通過雙向遞歸編解碼網絡預測動態(tài)骨架信息,將骨架異常分數與閾值對比判斷行為異常. 在ShanghaiTech Campus公開數據集和自建數據集進行實驗,實驗結果表明,本文模型在不同場景、 不同異常行為下都有較高的檢測精度.