黃瀚, 程小舟,2, 云霄, 周玉, 孫彥景,3
(1.中國礦業大學 信息與控制工程學院, 江蘇 徐州 221116;2.中鋼集團馬鞍山礦山研究院股份有限公司 選礦及自動化研究所,安徽 馬鞍山 243000; 3.中國礦業大學 徐州市智能安全與應急協同工程研究中心, 江蘇 徐州 221116)
煤礦生產環境較為復雜,需要進行實時監控,但人工監管的方式耗時耗力。現階段針對煤礦智能監控的研究大多集中于開采和運輸過程[1],對煤礦井下人員行為識別的研究較少。煤礦監控場景的智能行為識別技術有利于推進煤礦產業的智能化發展,但煤礦人員行為識別易受背景信息、光照強度、攝像機視角等因素的影響[2-5]。
隨著深度學習的發展,通過卷積神經網絡(Convolutional Neural Network, CNN)和循環神經網絡(Recurrent Neural Network, RNN)學習人體行為特征逐漸成為主流。文獻[6]提出一種端對端的時間卷積網絡來實現動作識別,使用CNN將骨架數據建模為偽圖像,并對偽圖像進行卷積操作。文獻[7]提出了一種雙向分層RNN網絡來識別骨骼序列,對時序數據處理效果良好,但是對每一個時間幀內的空間信息提取效果不佳。近年來,圖卷積網絡(Graph Convolutional Network, GCN)為基于骨架點的行為識別提供了一種新的捕捉關節依賴的方法。文獻[8]建立了時空圖卷積網絡(Spatial Temporal Graph Convolutional Network,ST-GCN),該網絡構建了以關節為節點、骨架為邊的骨架圖結構,并使用GCN和時間卷積網絡(Temporal Convolutional Network, TCN)分別從骨架圖中提取時空特征。為了捕獲非骨骼直接連接的關節特征,文獻[9]提出了一種雙流自適應圖卷積網絡(2S-AGCN)。
上述方法在一定程度上解決了監控環境下的行為識別問題,但煤礦生產區域的監控視頻較為模糊且人員行為類型復雜,上述行為識別方法的準確率較低。為了解決上述問題,本文提出了一種基于動態注意力與多層感知圖卷積網絡(Dynamic Attention and Multi-layer Perception Graph Convolutional Network,DA-GCN)的煤礦人員行為識別方法。
基于DA-GCN的行為識別模型結構如圖1所示。對于輸入視頻,首先,通過人體關鍵點提取算法獲得人體骨架特征,構造骨架圖結構,得到初始人體特征圖,以降低模糊背景信息的干擾。其次,通過動態多層感知圖卷積網絡(D-GCN)和TCN聯合卷積網絡提取特征圖的空間、時間特征,通過D-GCN的多核卷積模式,學習更有辨識度的特征,提高對不同行為的泛化能力。然后,對特征圖進行動態注意力分配,提高不同時間幀和關節的權重,進一步降低復雜環境所帶來的影響。最后,使用Softmax分類器得到行為類別。

圖1 DA-GCN行為識別模型結構Fig.1 Action Recognition framework of DA-GCN
傳統的人體關鍵點檢測算法采用“自頂向下”方法,先在待檢測圖像中檢測所有人,再分別對每個人的關鍵點進行檢測,這種方法很難在多人場景下進行快速檢測。DA-GCN通過“自底向上”的Openpose算法提取人體關鍵點,該方法的運算速度不因檢測人數的增加而降低,能實現多人人體關鍵點實時檢測。首先,在視頻中檢測所有人的關鍵點。然后,再通過匹配優化方法將單人的關鍵點進行聚類。最后,成功檢測到所有人的骨架點坐標[10]。
Openpose算法將視頻作為輸入,首先,通過VGG-19網絡提取初步特征,得到特征圖。然后,將特征圖輸入到2條并行的CNN分支中,分支1網絡預測一組關鍵點置信圖(Part Confidence Map,PCM),表示像素在關節點的高斯響應,分支2網絡預測一組關節親和場(Part Affine Field, PAF),表示骨架位置和骨架上像素的方向。最后,通過PCM和PAF的預測結果對關鍵點進行二分圖匹配,得到單人骨架結構。
在多人環境下,利用匈牙利算法優化多人關節點連接結果。2個分支的目標函數為
(1)
(2)

為了盡可能避免梯度消失問題,在訓練過程中定期補充梯度。算法整體目標函數為
(3)
式中T為視頻總幀數。
行為識別模塊的主要功能是對人體骨架信息進行時間、空間特征提取,并進行動作分類。以GCN為基礎,通過GCN-TCN聯合卷積網絡提取動作的空間、時間特征,對信息進行深層表征。
為了提高行為識別的泛化能力,通過2S-AGCN架構,在鄰接矩陣Ak的基礎上增加了Bk,Ck。其中Ak為骨架圖的鄰接矩陣;Bk為可訓練的權重參數;Ck是對不同樣本進行學習的獨有的圖,它利用高斯嵌入函數來捕獲關節間的相似性。
(4)
式中:fout為輸出特征圖;fin為輸入特征圖。
這種聚合方式對于一些較為簡單的動作來說過于冗余。在2S-AGCN的基礎上,D-GCN為每個鄰接矩陣配置一個權重參數,并用注意力機制動態地約束多個串行鄰接矩陣。注意力機制會根據輸入的骨架點數據動態地調整每個鄰接矩陣的權重,從而生成自適應的動態圖卷積核。由于注意力機制本身輸入的是一個函數,圖卷積過程通過注意力機制,以非線性方式疊加鄰接矩陣具有更強的表征能力。
(5)
式中α、β、γ為鄰接矩陣權重系數。
D-GCN的聚合過程如圖2所示。特征圖輸入后,通過多層感知機計算鄰接矩陣的注意力參數,加權得到D-GCN圖卷積核。

圖2 D-GCN聚合過程Fig.2 D-GCN aggregation process
注意力機制首先使用全局平均池化來壓縮空間信息,然后使用2個全連接層將學到的權重特征映射到標記空間,最后使用Softmax函數,將注意力機制參數取值限制在0~1之間,并將所有注意力機制的和限制為1。以α為例,鄰接矩陣權重系數計算公式為
(6)
式中:FC為全連接層;fave為平均池化后的輸入特征圖。
為了對多個鄰接矩陣和注意力權重進行聯合優化,在訓練初期將α的值設為1,將β,γ的值設為0。
為了提升關鍵幀、骨架點在判斷行為時的權重,并降低光照強度和視頻質量對行為識別的影響,提出了時間-關鍵點動態注意力模塊。
引入時間注意力機制來區分每一個時間序列對于判斷行為的重要程度。為了計算時間注意力,對通道維度使用最大池化和全局平均池化聚合通道信息,得到只保留時間和關鍵點特征的特征圖Fave和Fmax。將特征圖Fave和Fmax拼接后通過一個標準卷積層卷積,卷積核大小為t×1(與TCN保持一致),生成時間注意力特征ωt。
ωt=σ{Convt×1[cat(Fave;Fmax)]}
(7)
式中:σ為sigmoid函數;Convt×1為卷積核大小是t×1的卷積運算;cat為拼接函數,將Fave和Fmax拼接到一起。
關鍵點注意力與時間注意力設置方式較為相似,在拼接后通過一個標準卷積層卷積,卷積核大小為1×v,生成關鍵點注意力特征ωv。
ωv=σ{Conv1×v[cat(Fave;Fmax)]}
(8)
實驗采用64位Ubuntu 16.04操作系統,搭載4塊NVIDIA 1080Ti GPU,采用CUDA 9.0運算平臺,在Pytorch 0.4.1框架下進行訓練。使用隨機梯度下降法優化模型。選擇交叉熵損失函數作為反向傳播梯度的損失函數。
將DA-GCN分別在標準公開數據集NTU-RGBD和自制的Cumt-Action數據集上進行測試。
以煤礦人員的站立、行走、坐、跨越和操作設備5類行為動作為基礎制作數據集Cumt-Action,該數據集包括750個行為視頻,每個視頻時長為10 s,其中600個行為視頻(每個動作120個)為訓練集,150個行為視頻(每個動作30個)為測試集。煤礦人員動作如圖3所示。





圖3 Cumt-Action煤礦人員數據集部分動作樣例Fig.3 Actions of the Cumt-Action coal mine personnel dataset
將視頻的分辨率調整為640×480,將幀率轉換為30幀/s,制作的每段視頻內由一個或多個煤礦工人做相同的動作。使用Openpose算法計算視頻內每個人體的18個關鍵點坐標(x,y)和關鍵點的置信度z,生成單幀下的18組數據(x,y,z)。對于多人的情況,只選取平均置信度最高的2個人進行關鍵點信息保存。
NTU-RGBD數據集包含日常行為、相互行為和與健康相關行為,共有56 880個動作樣本。每個動作樣本均包含原始視頻、深度圖序列、3D骨架數據以及紅外視頻。
4.3.1 Cumt-Action數據集實驗
在Cumt-Action數據集上對DA-GCN進行實驗驗證,采用準確率和召回率作為評價指標,實驗結果見表1。由表1可知,DA-GCN在Cumt-Action數據集上識別站立動作的準確率最高,識別行走動作的召回率最高。結果證明了DA-GCN的良好效果。

表1 Cumt-Action數據集驗證實驗結果Table 1 The verification results of Cumt-Action dataset %
4.3.2 NTU-RGBD數據集實驗
在NTU-RGBD數據集上對基于DA-GCN的行為識別方法進行實驗。訓練時,將模型的初始學習率設為0.1,迭代次數設為50,并在迭代次數達到30和40時對學習率進行衰減調整。
與Deep LSTM[7],TCN[11],ST-GCN[8],HCN[12],AS-GCN[13]以及ST-GR[14]算法進行對比,結果見表2。采用Cross Subject(CS)和Cross-View(CV)為2種評估協議對數據集進行驗證。CS評估協議由20名受試者完成的動作構成訓練集,其余20名受試者完成的動作用于測試。對于CV評估協議,前2個攝像頭捕獲的樣本用于訓練,其余用于測試。由表2可知,根據評估協議CS和CV,DA-GCN在NTU-RGBD數據集上的準確率分別為87.6%,95.0%。

表2 NTU-RGBD數據集驗證實驗結果Table 2 The verification results of NTU-RGBD dataset %
為了進一步驗證DA-GCN多個模塊的有效性,選用CS評估協議,在NTU-RGBD數據集上分別檢驗D-GCN以及動態注意力機制的有效性。
在驗證D-GCN效果時,將DA-GCN中的卷積核還原為2S-AGCN模型中的A-GCN分支,并在NTU-RGBD數據集上計算CS分數。D-GCN實驗驗證結果見表3,使用D-GCN后準確率提高到了87.2%,證明了D-GCN的有效性。

表3 D-GCN實驗驗證結果Table 3 The verification results of D-GCN %
為了驗證動態注意力機制的有效性,驗證了將動態注意力添加到2S-AGCN模型中的A-GCN分支的準確率。動態注意力機制模塊實驗驗證結果見表4,可以看出,動態注意力機制將原模型準確率提高到了87.0%,證明了該模塊的有效性。同時在實驗的過程中,注意力機制加快了收斂速度,降低了網絡擬合時間,對于模型的訓練速度有顯著提高。

表4 動態注意力機制模塊實驗驗證結果Table 4 The verification results of dynamic attentionmechanism module %
提出了一種基于DA-GCN的煤礦人員行為識別方法。采用Openpose算法提取輸入視頻的人體關鍵點,得到3個維度,18個坐標的人體關鍵點信息,降低模糊背景信息的干擾;通過D-GCN提取人體關鍵點的空間特征,通過TCN提取人體關鍵點的時間特征,提高網絡對不同動作的泛化能力;使用動態注意力機制,增強網絡對于動作關鍵幀、關鍵骨架的注意力程度,進一步緩解視頻質量不佳帶來的影響;使用Softmax分類器進行動作分類。通過場景分析,將井下行為分為站立、行走、坐、跨越和操作設備5種類型,構建適用于煤礦場景的Cumt-Action數據集。實驗結果表明,DA-GCN在Cumt-Action數據集的最高準確率達到99.3%,最高召回率達到98.6%;與其他算法相比,DA-GCN在Cumt-Action數據集和公共數據集NTU-RGBD上均具有較高的識別準確率,證明了DA-GCN優秀的行為識別能力。