張鑫鑫,楊超宇,楊 成
(安徽理工大學 經濟與管理學院,安徽 淮南 232000)
隨著我國城市化進程的不斷推進,自動扶梯已廣泛應用于火車站、地鐵站、商場等場所。近年來,自動扶梯安全事故頻繁發生,嚴重危害當事人的身心健康和生命安全。因此,保障自動扶梯設備安全,減少自動扶梯安全事故的發生是非常必要的。一些學者對自動扶梯安全視頻監控進行了研究。針對Tiny YOLOv3算法用于自動扶梯異常行為檢測時漏檢率高、準確率低的問題,吉訓生等提出一種改進的Tiny YOLOv3自動扶梯異常行為檢測網絡結構[1];何成等運用人工智能技術構建自動扶梯智能監控系統,提高應急響應速度[2];徐小勇設計一種監控檢測裝置,實現了對摔倒人員的可靠保護[3];倪慶文根據自動扶梯系統的監控要求,設計一種基于Lab VIEW和Wifi的自動扶梯通信系統[4];江錦濤根據現有自動扶梯監控系統的現狀和物聯網技術的應用,提出自動扶梯物聯網監控系統[5]。
目前,在自動扶梯的安全管理中,主要依靠專業人員對自動扶梯進行定期維護保養。安全隱患潛伏期較長,面對突發事故,應急處置能力不足。針對以上問題,再結合眾人的研究,發現針對自動扶梯的智能視頻監控及預警報警的研究比較少。為研究如何從技術上避免事故的發生,設計一套基于OpenPose的自動扶梯智能監控系統,可以大大降低自動扶梯發生安全事故的概率,為突發事故提供應急處理機制,從而減少或避免事故帶來的危害。
OpenPose是卡內基梅隆大學感知計算實驗室在CMU AI計劃推出的一個開源項目[6],是可以讀懂人類肢體語言的開放庫和程序包。OpenPose是第一個用于多人2D姿勢檢測的開源實時系統,包括腳、手和面部關鍵點,實現多線程關鍵點的實時檢測。它使用自創的CPM深度神經網絡結構,結合Caffe,CUDA,CUDNN等第三方依賴庫,能夠準確地從普通圖像中識別人體骨架點,判斷出人體的姿態。
OpenPose算法是一種自下而上的人體姿態估計算法,即在獲取人體骨架之前先獲取關節位置。首先,利用卷積神經網絡(CNN)對輸入圖像進行分析,并由VGG-19網絡的前10層進行初始化和微調,生成一組輸入到第一層的特征映射F。再將得到的圖像特征分成兩個分支,分別送入深層卷積網絡來回歸分析每個連接點在骨架中的位置和像素點的方向,然后用貪婪推理[7]來預測連接點的置信度S和形成的親和度向量L,從而實現連接點的聚類,最后組裝骨架。其后續的兩分支網絡結構為多級迭代,每一階段計算一次損失函數,然后將L和S與通過VGG-19網絡提取的原始圖像特征連接起來,繼續下一階段的訓練[8],其網絡結構如圖1所示。

圖1 OpenPose網絡結構簡圖
其中F表示通過VGG-19網絡提取的原始圖像的特征函數,置信度S和親和度向量L的下標1和2分別表示神經網絡多級迭代的第一階段和第二階段[9]。對于整個網絡階段,其過程如下所示:
其中αt和βt分別表示在階段t時L和S的卷積神經網絡。
文中的行為識別算法整體工作流程如圖2所示。系統的輸入是來自攝像機或視頻文件的視頻流,然后采用OpenPose算法將每個視頻流分解為視頻幀,從每個幀中檢測人體骨骼(關節位置)。數量大小為N的滑動窗口會匯總前N幀的骨架數據。這些骨架數據經過預處理并用于特征提取,然后將其輸入分類器以獲得(此窗口的)最終識別結果。類似地,為了獲得實時識別框架,窗口沿視頻的時間維度逐幀滑動,并為每個視頻幀輸出標簽。此處,實驗的窗口大小N設置為5,等于0.5秒的視頻長度。

圖2 算法工作流程圖
采用OpenPose算法從圖像中檢測人體骨骼。OpenPose的關鍵思想是使用卷積神經網絡生成兩個堆圖,一個用于預測關節位置,另一個用于將關節關聯到人體骨骼中。簡而言之,OpenPose的輸入是一幅圖像,輸出是該算法檢測到的所有人體的骨骼。每個骨骼有18個關節,包括頭,頸,臂和腿,如圖3所示。每個關節位置在圖像坐標中用x和y的坐標值表示,因此每個骨骼總共有36個值。

圖3 OpenPose檢測人體骨骼
原始骨架數據在提取特征之前進行了預處理。預處理包括以下4個步驟:
(1)縮放坐標
OpenPose輸出的原始關節位置對于x坐標和y坐標具有不同的單位。將它們縮放為相同的單位,以處理具有不同高度或寬度比的圖像。
(2)去除頭部的所有關節
OpenPose在頭部輸出5個關節,包括1個頭部,2個眼睛和2個耳朵。但是,對于文中訓練集的動作,頭部的位置對分類沒有多大幫助,重要的是身體和四肢的構造。因此,手動移除頭部的五個關節以使這些特征更有意義。
(3)丟棄沒有脖子或大腿的框架。
如果在框架中OpenPose沒有檢測到人體骨骼,或者檢測到的骨骼沒有脖子或大腿,則此幀被視為無效并被丟棄。此外,滑動窗口應在下一幀重新初始化。
(4)填補關節缺失
在某些情況下,OpenPose可能無法從圖像中檢測出完整的人體骨骼,從而導致關節位置出現空白。這些連接點必須填充一些值,以便為以下特征分類過程維持固定大小的特征向量。這里使用的解決方案是根據上一個關節的相對位置來填充缺失的關節位置。假設在最后一幀中,手在脖子右側為10個像素。然后在此幀中,如果手缺失,將其設置為當前幀脖子右側的10個像素的位置。實驗結果表明該方法有效。
動作特征模型是指從圖像中提取的能夠代表人的動作行為的特征。使用合適的人體運動特征模型準確描述乘客行為是異常行為檢測與識別的關鍵。在完成之前的預處理步驟之后,關節的位置就完整了并且具有實驗價值。在本節中,使用N=5幀中的關節位置作為原始特征,從原始關節位置中手動設計特征,然后提取特征,區分動作類型,設計以下特征值。
(1)Xs:N個框架直接連接的關節位置。計算得出的維度=13個關節×2個坐標位置×N=130,其中N=5。
(2)H:前N幀骨架的平均高度。這個高度等于從脖子到大腿的長度。它用于標準化下面描述的所有特征。計算得出的維度=1。

(5)V關節:關節的速度V關節=X[tk]-X[tk-1],在標準化后的坐標中計算所得,其中X[tk]是第k時間序列的關節位置,X[tk-1]是第k-1時間序列,即前一秒時間的關節位置。計算得出的維度=13個關節×2層/關節×(N-1)=104。
經過實驗,選擇標準化后的關節位置(X),身體的移動速度(V骨架,重復10次以增加權重)和關節速度(V關節)作為行為識別的特征,選擇這三個特征進行分類。將這些特征連接起來后形成維度為314的特征向量,然后采用PCA算法[10]將特征向量縮小為50個維度,進行特征簡化,便于計算。特征提取步驟如圖4所示。

圖4 特征提取步驟
總培訓數據分為兩組:培訓的數據占70%、測試的數據占30%。利用基于訓練的機器學習行為識別算法,通過給定許多已經加上行為標簽類別的數據,進行自動扶梯人員異常行為分析。采集大量的感興趣事件的視頻片斷,即各種人員摔倒等異常事件的視頻片斷,同時也將采集正常情況下的視頻片斷,如人員進入電梯、離開電梯等。人工標定這些數據的類別,如是否為異常事件、異常事件的類別等,清晰的定義異常事件種類。
算法在i7-6700 2.6GHzCPU、GTX1080GPU、16GBRAM、Ubuntu16.04操作系統的計算機上用C++編程實現。視頻圖像大小為640像素×480像素,算法運行處理速度高達25幀/秒。實驗了三個不同的分類器,包括K最近鄰算法(kNN),支持向量機SVM(帶高斯核函數),深度神經網絡模型(DNN)。最終的分類器識別精度如表1所示,其特征如上一節所述提取。結果顯示所有3個模型的準確率均高達96%。此外,SVM(帶高斯核函數),DNN(3層,100×100×100)這兩個模型的準確率均超過99%。該結果表明所選特征確實有助于提高識別精度和準確率。

表1 分類器識別精度結果
為了實現文章算法研究在自動扶梯環境下的實際應用,需要構建智能視頻監控預警管理軟件平臺,將提出的算法應用于該平臺,并通過實際使用發現和修正算法中的問題,為將來的大規模應用打好基礎。系統通過行為識別算法的分析,得到異常事件分析結果,及時對自動扶梯的運行狀態進行報警處置。因此,系統需要建立自動扶梯運行狀態判斷分析模塊,將算法分析結果傳輸到該模塊中,有效實時地對自動扶梯運行模式進行預警報警。
系統首先實時獲取自動扶梯上乘降人員的視頻圖像,并通過分析該視頻圖像來判斷自動扶梯上人員是否有跌倒等異常行為,當出現異常行為情況時能及時把信號反饋給預警報警系統,預警報警系統能根據異常狀態第一時間進行異常行為的警示與處理。系統應包括圖像采集、圖像分析和處理、模式分類、異常行為識別、異常情況報警等功能[11]。及時對自動扶梯的運行狀態進行預警報警,從而提高人員乘坐自動扶梯的安全性。
軟件平臺整體功能設計為自動扶梯監控信息管理、扶梯乘降異常行為識別管理、綜合統計查詢及系統功能設置,如圖5所示。自動扶梯監控信息管理是對安裝在自動扶梯周邊環境中的視頻采集設備進行統一管理,包括實時監控數據、歷史監控數據、監控設備管理、設備參數設置、預警級別設置等功能。自動扶梯異常行為識別管理包括異常行為識別分析與預警、歷史行為識別數據、行為特征庫和歷史預警數據[12]。在綜合統計查詢中,可以根據起止日期時間、預警類型、預警級別等相應條件,對視頻數據、預警信息、行為特征信息進行綜合過濾查詢。系統設置包括常用的系統基礎管理功能,包括系統基本信息管理、人員角色信息管理、系統用戶信息管理等[12]。

圖5 系統用戶界面
為驗證基于OpenPose的自動扶梯智能監控系統的實際應用效果,對采集的自動扶梯監控視頻片段進行了實驗,監控視頻由安裝在自動扶梯頂棚上的攝像頭采集。每段平均時長為20分鐘,通過志愿者在自動扶梯上模擬異常行為,包括乘客在不同環境中向前摔倒和向后傾倒的異常行為事件[13]。
為分析該算法的有效性,采用在摔倒檢測領域內應用比較廣泛的評判準則,主要有兩個指標,分別為敏感性(sensitivity)指標和特異性(specificity)指標[14],計算公式如下:
其中,TP(真正例)為所有視頻片段中有摔倒事件且檢測到摔倒事件的視頻個數;FN(假反例)為有實際摔倒事件但未檢測到摔倒事件的視頻個數;TN(真反例)為無摔倒事件且未檢測到摔倒事件的視頻個數;FP(假正例)為無摔倒事件但檢測到摔倒事件的視頻個數[14]。
最后,在兩個視頻數據集上對實驗結果進行了比較,結果如表2和表3所示。其中Lei2 fall detection dataset[15]場景相對簡單,視頻中只包含一個人,而High qualityfall simulation dataset[16]的場景比較復雜,視頻中存在多個人。從比對結果可以看出,當場景中只有一個人時,實際應用效果略遜于其他方法,但從靈敏度和特異度來看,其準確性仍相當可觀。當場景中有多人時,實際應用性能優于其他兩種方法,說明該方法在場景中多人的情況下具有較好的魯棒性。但另一方面,多人場景下摔倒檢測的靈敏度和特異度都在80%左右,還有很大的提升空間,還需要進一步的研究和改進。

表2 實驗結果對比(Le2i fall detection dataset)

表3 實驗結果對比
基于OpenPose算法的研究與改進,對行為識別算法和智能監控系統的方案設計進行研究與實現,在實際應用中構建自動扶梯智能監控系統。該系統具有智能性、實時性等特點,能夠極大地提高人員乘坐扶梯的安全性,因此,推廣應用后具有很好的經濟效益和社會效益。系統研究有利于實時采集數據,持續動態監控;有利于減少監視人員工作量,降低監管成本;有利于降低自動扶梯安全事故風險,提高安全效能。
在后續的應用研究過程中,將繼續進行自動扶梯人員更多異常行為的目標檢測、特征提取、特征分類、行為識別的正交分析實驗。研究自動扶梯人員異常行為識別的各關鍵環節之間的影響關系,探索最優的“四循環”策略,并對理論成果進行檢驗和反饋,未來更加完善系統,進行進一步的推廣與應用。