1. 引言
人体动作识别的核心目标在于对人体的运动状态、肢体姿态及行为模式进行精准解析与分类,最终实现对人体动作的自动化辨识与深度语义理解[1] [2]。在该领域的现有研究中,各类方法均存在一定的局限性,尚未能很好地兼顾识别精度、环境适应性与实时性能。文献[3]提出一种基于Koopman理论的非衰减稳定特征值归一化方法,通过参数化高阶池化技术将非线性动力学系统转化为线性形式,借助动力学矩阵对人体动作的动态特征进行有效捕捉,进而提升识别准确率。但该方法在复杂场景下的适配能力较弱,尤其当面临多样化、高复杂度的动作识别任务时,其性能易出现明显衰减。文献[4]通过构建FP-NET网络训练人体图像数据集,并通过加入回归模块和特征融合模块,提升了正面姿态估计的准确性。FP-NET能够从任意角度的人体图像中有效提取正面姿态,实现对人体动作图像的准确识别。但在人体被其他物体严重遮挡时,FP-NET可能无法准确估计出被遮挡部分的关键点位置。文献[5]利用Transformer网络进行时序建模,在单模态和跨模态下以自监督方式区分实例,同时引入雷达组合图来增强数据密度,解决了雷达数据稀疏性问题,实现对人体动作的有效识别。文献[6]则采用热释电红外传感器作为感知器件,将人体散发的红外辐射信号转化为可处理的电信号,通过提取信号中与人体动作对应的特征参数,与预设动作模式库进行比对匹配,从而完成动作类型判别。但该类传感器的抗干扰能力欠佳,当人体与周围环境温度趋于一致时,难以有效捕获红外辐射信号,导致动作变化识别出现偏差。综合上述研究现状可见,当前多数人体动作识别方法普遍依赖单一模态数据开展研究,这一局限在很大程度上制约了算法的识别性能与适用场景范围。为突破这一技术瓶颈,本文聚焦多模态人体动作识别技术,提出一种基于LSTM多特征融合人体动作识别算法,旨在提升复杂环境下人体动作识别的精准度。
2. 相关工作
2.1. 人体骨架动作特征提取
人体骨架序列通常由连续的人体骨架帧组成,每个人体骨架帧是由一系列关节点的3D坐标以及坐标的位置关系所构成的集合。定义人体骨架序列
其中n为人体固件帧数等于30,
为人体骨架序列中第i的骨架,每一帧的人体骨架
都有一些列的人体骨架主要关节点组成,即
其中n为人体骨架帧中关节点的数目。其中第i个关节点
其中
为骨骼点位置信息,
为关节点的深度信息。
2.2. 人体骨骼间关节数据特征
使用Kinect深度相机拍摄人体动作视频时,会同步生成人体的20个主要骨骼点空间坐标信息[7],把20个节点按照真实人体结构进行连接,再根据各关节点的坐标信息,可以对Kinect深度相机捕获到的坐标信息进行三维重组,可视化后如图1所示。
Figure 1. Human skeleton diagram
图1. 人体骨架图
人体骨骼关节点有20个,主要包括躯干关节点和四肢关节点。以第i帧第k个关节点坐标
和i + 1帧第k个关节点
,
,
为例,
,
,
,
,向量的模为
,
与x、y、z轴的余弦分别是
,
,
,
,
,
,
。
2.3. 基于人体动作特征关键帧定位
人体在运动过程中,骨架序列中关节点会发生快速移动,在人体骨架序列全局空间建模的基础上,通过精确计算人体骨架序列关节点的运动速度和加速度特性[8],能够快速定位人体动作中的关键帧,其详细实计算程如下。连续采集该人体视频序列f帧,将第i个骨架中第p个关节点的第一帧和最后一帧三维坐标表示为
和
,该关节点的运动速度v的计算公式如下:
,
,
,
,
,
,
分别表示人体骨架中第p个关节点在三个坐标方向的速度
为帧率,速度特征
,
,
。加速的特征
,
,
。最终的特征图
,
表示行数和列数。
卷积后人体动作的多模态数据维度巨大[9],直接应用计算和分类会增加复杂度。通过降维采样将特征图数量不变但计算量将大幅降低[10],降为采样后的数据为
,式中:
表示人体动作多模态数据特征降采样尺度。将降采样层接入全连接层,将这些分散的局部特征进一步整合,形成更具代表性的人体动作多模态数据全局特征图。
,其中
分别表示激活函数,第k个降采样后的人体特征图,层之间的权重和偏置项。s表示全连接的神经元个数。输出层使用Softmax分类器
。
3. 基于LSTM多特征融合人体动作识别算法
将人体动作多模态数据特征图
输入LSTM模型中,结合人体动作的时空性,实现多模态人体动作精准识别[11]。设置LSTM模型的输入门、遗忘门、输出门依次是
,
,
,
,
,
,
,
,
,
,
,
,
,
,
分别表示第t时间步批量输入,第t − 1时间步隐藏状态,第t − 1时间步细胞状态,权重矩阵,偏置向量,候选细胞状态矩阵,第t时间步细胞状态,第t时间步隐藏状态。
将LSTM模型输出门的信息所代表的动作分类结果中出现次数最多的作为最终识别结果。
4. 实验分析
本节分别在Kinetics-Skeleton数据集、NTU-RGB (X-Sub)数据集和NTU-RGB + D (X-View)数据集上使用LSTM多特征融合人体动作识别算法,得到每个数据集前10个类别与文献10、11的准确率的对比表格,如表1~3所示。
Table 1. Classification accuracy of the proposed method on the Kinetics-Skeleton dataset
表1. 本文方法在Kinetics-Skeleton数据集上的分类准确率
Class |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
本文方法 |
0.987 |
0.999 |
0.995 |
0.992 |
0.983 |
0.983 |
0.981 |
0.997 |
0.992 |
0.994 |
文献10 |
0.878 |
0.899 |
0.985 |
0.892 |
0.893 |
0.893 |
0.881 |
0.899 |
0.899 |
0.912 |
文献11 |
0.889 |
0.899 |
0.899 |
0.894 |
0.888 |
0.894 |
0.896 |
0.899 |
0.899 |
0.896 |
Table 2. Classification accuracy of the proposed method on the NTU-RGB (X-Sub) dataset
表2. 本文方法在NTU-RGB (X-Sub)数据集上的分类准确率
Class |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
本文方法 |
0.992 |
0.983 |
0.986 |
0.987 |
0.989 |
0.996 |
0.984 |
0.99 |
0.992 |
0.981 |
文献10 |
0.895 |
0.888 |
0.889 |
0.897 |
0.899 |
0.896 |
0.888 |
0.898 |
0.899 |
0.891 |
文献11 |
0.902 |
0.893 |
0.891 |
0.909 |
0.909 |
0.906 |
0.896 |
0.892 |
0.904 |
0.899 |
Table 3. Classification accuracy of the proposed method on the NTU-RGB + D (X-View) dataset
表3. 本文方法在NTU-RGB + D (X-View)数据集上的分类准确率
Class |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
本文方法 |
0.982 |
0.99 |
0.981 |
0.998 |
0.985 |
0.993 |
0.986 |
0.99 |
0.991 |
0.984 |
文献10 |
0.912 |
0.903 |
0.901 |
0.919 |
0.919 |
0.916 |
0.906 |
0.902 |
0.914 |
0.909 |
文献11 |
0.909 |
0.906 |
0.909 |
0.908 |
0.902 |
0.908 |
0.892 |
0.894 |
0.891 |
0.897 |
在以上3个数据集上前十个分类实验结果表明,本文提出的基于LSTM多模态融合人体动作识别算法能够较为准确地识别出视频序列中的动作类别,且部分类别的识别准确率高达99%以上。本文算法具有较高的骨架动作识别准确率。
本文使用NTU-RGB + D数据集,由10个受试者重复动作10次动作。为了同主流方法进行对比,实验设置和文献[12] [13]保持一致,对整个数据集的前20个动作统一进行实验测试,选用每人第1~5次动作作为训练样本,第6~10次动作作为测试样本。最终本数据集测试识别率为98.23%,混淆矩阵如图2所示。
Figure 2. Confusion matrix of experimental results on NTU-RGB + D dataset
图2. NTU-RGB + D数据集实验结果混淆矩阵
5. 结束语
本文提出了基于LSTM多模态融合人体动作识别算法。该方法采用骨骼点的三维信息和对应关节点的速度和加速度进行特征提取和相关性融合,使模型对不同动作具有更高的识别精度。本文模型分别在Kinetics-Skeleton数据集、NTU-RGB (X-Sub)数据集和NTU-RGB + D (X-View)数据集上进行大量实验,并与多个主流模型进行对比验证了其先进性。其中,对于三个数据集本文方法均达到了98%以上。实验结果表明本文所提方法能够提高动作识别性能。