基于OpenPose+3S-AGCN的行为识别研究

2022-07-08 07:20王璇王雄张向阳杨一贾浩强
电子技术与软件工程 2022年2期
关键词:关节点骨架注意力

王璇 王雄 张向阳 杨一 贾浩强

(1.中国煤矿机械装备有限责任公司 北京市 100011)

(2.中国矿业大学(北京)机电与信息工程学院 北京市 100083)

人体行为识别是通过分析理解视频数据或图像数据中人员行为在空间上和时间上表达的特征,从而推断行为类别的一种技术,广泛用于视频监控和人机交互等领域。与图像识别不同,人体行为识别提取的特征不仅描述了视频图像中人员的外观,还包括了人体姿势的变化,将二维空间特征扩展到三维甚至更高维的时空特征。

目前行为识别主要应用于特征提取的神经网络框架为卷积神经网络(CNN)及其优化变种(如3D卷积神经网络)。这些方法都对输入视频质量有较高要求,且视频背景不能过于复杂。然而,考虑到实际各个应用环境和人体行为的复杂性,当前的主流神经网络模型在提取视频行为的特征并加以描述时存在信息利用不全面的问题,从而导致识别的准确度达不到相较于图像其他应用场景的高度。近年来,一种用于在非欧氏空间的图结构中提取特征的神经网络—图卷积神经网络(GCN),开辟了新的特征提取方法。时空图卷积网络(ST-GCN),首次将图神经网络应用于基于图的动态骨架建模,并使用GCN直接在拓扑图上进行卷积,使特征的提取更加全面准确。因此,本文提出了基于OpenPose提取人体骨架数据拓扑图以及构建多流图卷积神经网络(3S-GCN)的识别人员行为的方法。

1 总体框架设计

基于OpenPose+3S-AGCN的行为识别模型的整体框架原理为:首先,对于输入视频,通过OpenPose的人体关键点提取算法获得人体骨架关节点,构造人体骨架拓扑图,从而得到包含人体行为信息的特征图,达到降低噪声干扰的目的。其次,人体骨架图具有以下几个特性:节点属性即为关节点坐标,此为骨架数据的一阶信息;边的属性表现为骨骼的长度和方向,此为骨架数据的二阶信息,具有更丰富的信息和更强的可识别性;对于全局属性,则表现为骨架图的运动信息。因此,构建由GCN-TCN卷积网络组成的AGCN模块,分别提取骨架数据的一阶信息、二阶信息以及骨架图的运动信息,以充分提取骨架图的特征信息。另外,卷积层还增加了注意力机制,有助于模型关注更重要的节点、帧和特征,提高识别准确度。最后使用SoftMax分别对多流输出进行评分,再对各评分加权求和,得到最后的识别结果。

2 人体行为特征关键点提取算法

OpenPose是一种自下而上地能够对多人进行关键点检测的方法。其原理是先检测所有人的关键点,再通过匹配优化和聚类算法对关键点进行分组关联,从而得到人体姿态骨架图。OpenPose对输入视频通过由VGG-19网络前10层构成的卷积网络提取特征,得到特征图后输入到一个两分支多阶段结构的CNN网络中进行预测。其中一个分支预测关键点置信图(Confidence Maps),即预测关节点;另一个分支预测关节点亲和域(Part Affinity Fields, PAFs),即预测肢体。然后根据置信图和PAFs做二分匹配,最终得到人体姿态。两个分支进行预测任务对应的损失函数为:

其中,T为视频总帧数。

3 动作特征提取

在构造人体姿态骨架图后,需要在行为识别模块提取输入骨架图的时间特征和空间特征,并完成行为动作的分类。本文以GCN为基础,根据图的结构特征,构建包含关节点特征输入流、骨骼特征输入流以及运动信息时间流的多流输入分层图卷积网络。每一层的网络都包含一个空间GCN模块和时间GCN模块,分别提取输入的空间特征和时间特征信息。最后再融合多流特征,经过分类后得到最终的识别结果。

3.1 自适应图卷积(AGCN)

构建AGCN模型如图1所示,一个AGCN模型包括一个空间GCN模块(Convs)、一个STC多注意力模块和一个时间GCN模块(Convt)。空间GCN模块和时间GCN模块后都跟着一个批正则化层(Batch BN)和一个Relu层。为了使训练稳定及减缓梯度传播,增加一个残差连接。

图1:AGCN模型框架

针对ST-GCN根据人体结构预先启发式定义图的结构,从而导致对不同动作类样本的识别任务不能达到最优的问题,将图的邻接矩阵A分解为两个子图B和C的加权和:

其中,B表示从数据中学习的全局图,是一个可训练的权重参数,C是针对每一个样本所学习到的独有的图,表达图两个顶点之间的相似性。两者在模型的不同层上的重要性是不同的,且B也表示两关节之间存在连接以及连接强度。α是每一层唯一参数化的系数,在训练过程中学习和更新,这样模型可以自适应地调整两个子图在每一层的重要性,为适应各种数据样本带来更大的通用性。这样,既增强了模型的灵活性,又不降低原有模型的性能。式中,f表示网络输入;K指区域划分,这里仍沿用ST-GCN中的划分方式,即顶点本身、向心子集、离心子集;W表示第k个区域的参数;f表示输出特征图。

3.2 注意力机制

注意力机制在许多任务中的有效性和必要性都已得到证明。如图2所示,构建STC注意模块,使模型更加关注重要的节点、帧和特征。STC模块包括三个子模块:空间注意力模块(Spatial Attention Module, SAM)、时间注意力模块(Temporal Attention Module, TAM)和通道注意力模块(Channel Attention Module, CAM)。

图2:STC注意力模块

空间注意力模块:使神经网络对不同的关节点给予不同程度的关注,计算如下:

时间注意力模块与空间注意力模块类似,计算如下:

通道注意力模块使得模型可以根据输入样本增强通道特征判别。其注意力图表示为:

3.3 多流网络

本文依据骨架数据的一阶信息(关节点坐标)和二阶信息(骨骼长度和方向)以及全局图的运动信息构建多流网络框架分别进行特征提取和行为分类任务。

针对骨架图的运动信息,当前的研究很少关注每个关节点在时间维度上的信息,或者只连接相邻帧中对应的关节,即只用连续两帧中相同关节之间的差分来表示运动信息,从而忽略了任一帧中任一个关节与其相邻帧中相邻关节之间的潜在变化。本文借鉴特征域感知(Field-aware)这一概念,将连接帧x与前一帧x和后一帧x中对应邻域的关节构成潜在边,捕捉帧中一个关节与其相邻帧的对应特征域中关节之间的潜在变化。比如,在键盘上打字,左拇指在短时间内没有动作。左手食指相对于左手拇指在空间上和时间上移动,这可以被隐藏边缘所捕获。通过利用更多的相邻关节,时间域的接受野扩大,有助于学习时间上的变化。连续帧{x, x, x}的时空邻接矩阵为:

4 实验结果与分析

4.1 实验环境

实验环境搭建于Ubuntu 18.04操作系统,算力资源基于NVIDA RTX2080Ti GPU并采用CUDA10.0运算平台,在pytorch1.10框架下进行训练。训练过程中选择基于Nesterov momentum(0.9)的随机梯度下降(SGD)方法优化模型,批处理大小(batch size)设为64,权重衰减设为0.0001,采用交叉熵损失作为损失函数。

4.2 实验数据集

NTU RGBD数据集是在人体行为识别领域应用较为广泛的公共数据集。它包含60种行为类别共56880个行为样本,其中60种行为类别划分为40种日常行为(如进食、阅读等)、9种与健康相关的行为(如打喷嚏、跌倒等)以及11种交互行为(如打架、拥抱等)。数据集提供了能描述行为特征的多模态信息,包括深度图、3D骨架数据、RGB视频以及红外视频。因为骨架关节点数据对光照变化、场景变化不敏感,可以减少噪声的影响,故这里选用数据集中的3D骨架数据作为实验数据集。

NTU RGBD数据集非常庞大,它的观察主题、观察视图和环境都是多变的,如图3所示。

图3:NTU RGBD数据集样本桢

训练时学习率设为0.1,且在第30次和第40次训练时学习率除以10,第50次时训练过程结束。

4.3 各行为识别模型算法比较

基于NTU RGBD数据集,将最终构建的3s-AGCN模型与当前基于骨架的行为识别模型进行比较,比较结果如表1所示。其中,目前基于骨架的行为识别的方法包括有基于手工特征的方法、基于CNN的方法、基于3D CNN的方法、基于RNN的方法以及基于GCN的方法。本文模型在NTU RGBD数据集上相较其他模型达到了更高的准确率,验证了模型的可行性。

表1:各模型在NTU RGBD上的准确率(%)

4.4 结语

(1)本文提出了基于OpenPose+3s-AGCN框架的神经网络模型,通过基于NTU RGBD公共数据集的对比实验,与其他行为识别网络模型进行横向比较,验证了本文提出模型框架的可行性;

(2)通过OpenPose算法提取视频人体关键点再输入到神经网络中进行训练和识别,克服复杂环境对监控视频带来的噪声干扰,提升网络模型对复杂环境的鲁棒性;

(3)模型基于输入骨架图的关键点坐标、骨骼属性信息以及全局图的运动信息,构建了多流(三流)输入的自适应图卷积网络,充分提取骨架图的特征;

(4)引入了多注意力机制,分别从空间、时间和通道三个方面提升模型对重要信息的特征的提取能力。

猜你喜欢
关节点骨架注意力
浅谈管状骨架喷涂方法
让注意力“飞”回来
基于深度学习和视觉检测的地铁违规行为预警系统研究与应用
关节点连接历史图与卷积神经网络结合的双人交互动作识别
搞好新形势下军营美术活动需把握的关节点
“扬眼”APP:让注意力“变现”
RGBD人体行为识别中的自适应特征选择方法
内支撑骨架封抽技术在突出煤层瓦斯抽采中的应用
铁骨架配合物凝胶的合成、表征及催化性能