基于DA-GCN的煤矿人员行为识别方法
2021-05-06黄瀚程小舟云霄周玉孙彦景
黄瀚, 程小舟,2, 云霄, 周玉, 孙彦景,3
(1.中国矿业大学 信息与控制工程学院, 江苏 徐州 221116;2.中钢集团马鞍山矿山研究院股份有限公司 选矿及自动化研究所,安徽 马鞍山 243000; 3.中国矿业大学 徐州市智能安全与应急协同工程研究中心, 江苏 徐州 221116)
0 引言
煤矿生产环境较为复杂,需要进行实时监控,但人工监管的方式耗时耗力。现阶段针对煤矿智能监控的研究大多集中于开采和运输过程[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)的煤矿人员行为识别方法。
1 总体框架设计
基于DA-GCN的行为识别模型结构如图1所示。对于输入视频,首先,通过人体关键点提取算法获得人体骨架特征,构造骨架图结构,得到初始人体特征图,以降低模糊背景信息的干扰。其次,通过动态多层感知图卷积网络(D-GCN)和TCN联合卷积网络提取特征图的空间、时间特征,通过D-GCN的多核卷积模式,学习更有辨识度的特征,提高对不同行为的泛化能力。然后,对特征图进行动态注意力分配,提高不同时间帧和关节的权重,进一步降低复杂环境所带来的影响。最后,使用Softmax分类器得到行为类别。
图1 DA-GCN行为识别模型结构Fig.1 Action Recognition framework of DA-GCN
2 人体关键点提取算法
传统的人体关键点检测算法采用“自顶向下”方法,先在待检测图像中检测所有人,再分别对每个人的关键点进行检测,这种方法很难在多人场景下进行快速检测。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为视频总帧数。
3 动作特征提取
行为识别模块的主要功能是对人体骨架信息进行时间、空间特征提取,并进行动作分类。以GCN为基础,通过GCN-TCN联合卷积网络提取动作的空间、时间特征,对信息进行深层表征。
3.1 D-GCN
为了提高行为识别的泛化能力,通过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。
3.2 动态注意力机制
为了提升关键帧、骨架点在判断行为时的权重,并降低光照强度和视频质量对行为识别的影响,提出了时间-关键点动态注意力模块。
引入时间注意力机制来区分每一个时间序列对于判断行为的重要程度。为了计算时间注意力,对通道维度使用最大池化和全局平均池化聚合通道信息,得到只保留时间和关键点特征的特征图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)
4 实验结果与分析
4.1 实验环境
实验采用64位Ubuntu 16.04操作系统,搭载4块NVIDIA 1080Ti GPU,采用CUDA 9.0运算平台,在Pytorch 0.4.1框架下进行训练。使用随机梯度下降法优化模型。选择交叉熵损失函数作为反向传播梯度的损失函数。
4.2 数据集
将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 实验评估与分析
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 %
5 结语
提出了一种基于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优秀的行为识别能力。