-
人体行为动作识别是以人为中心,研究人体活动的重要分支之一。基于机器视觉的人体行为识别是自动解释图像或者视频序列中固定场景的人体正在执行什么动作或活动,如从2D图像中提取卷积特征,利用卷积神经网络(CNN)实现自动姿势识别[1]。人体行为识别在人机交互、智能监视系统[2]、视频搜索、游戏、行人检测、医疗保健自动化系统[3]、智能驾驶和智能家居等方面具有实际的应用前景。
在过去的几十年中广泛使用彩色图像(RGB)数据来识别人体行为动作。如 Ciocca等[4]利用输入的RGB图像进行动作识别与跟踪,但由于其背景杂乱、身体遮挡、观察点角度不同、光线照明变化、执行率和生物特征变化等引起的一系列问题,造成行为识别困难。随着具有成本效益的深度图像(RGB-D)传感器的开发,如Microsoft Kinect和Asus Xtion等,Liu等[5]提出了一种多模式相关表示学习(MCRL)模型,从RGB-D视频中识别人类动作,与传统彩色图像数据相比,深度数据对光线和照明变化不敏感、更容易从杂乱的背景中减去前景和提供场景的3D几何结构信息等特点,使得使用深度数据的人体行为识别引起了研究人员的广泛关注。随着易于使用的深度传感器和相关算法的推进,可以从深度图像中轻松地进行高精度的关节位置的计算,从而获得骨骼关节点的3D坐标,使得基于骨骼关节点坐标的人体行为识别获得新的发展。Song等[6]提出了一种多流图卷积网络(GCN)对不完整且嘈杂骨骼数据进行行为识别并取得了较好的效果。由于骨骼关节点3D坐标的简洁性、鲁棒性、视图独立表示和骨骼节点特征矢量运算的快速性,使得近几年使用骨骼关节点进行人体识别成为一个较为活跃的研究课题。
随着RGB-D传感器的快速发展,Jamie 等[7]从单个深度图像快速准确地预测骨骼关节点的3D坐标位置,促进了使用关节点进行人体行为识别的研究。Vantigodi等[8]使用3D骨架关节坐标提取每个关节的时间方差及其时间加权方差作为分类的特征,基于SVM在人体动作检测数据集MHAD上的识别准确率达到了96.06%,充分展示了利用3D关节点位置数据进行人体行为识别的可行性。从3D关节点位置提取出重要的特征来进行人体行为动作分类十分关键,Faisal等[9]采用关节相对距离(Joint Relative Distance,JRD)和关节相对角度(Joint Relative Angle,JRA)来编码不同骨骼关节的时空运动模式,有效地提高了整体识别度;Liu等[10]将骨骼关节点的所有坐标转换为距离矩阵进行视图不变下的动作识别,表明关节之间的距离有包含身体的全局结构信息,关节间的角度信息可以明显描述出局部动态变化,两者结合可以有效地区分人体行为。随着人工智能的发展,深度学习在计算机视觉方面取得了显著的成功,而基于递归神经网络(RNN)在语音、文本和图像识别中被广泛使用,在人体行为识别方面也不甘落后。Sharma等[11]提出了一种建立在多层RNN之上的LSTM模型,选择性地关注部分动作视频帧,并拍摄一些动作视频后对其进行分类;Zhu等[12]使用改进RNN的端对端深LSTM网络,基于骨骼关节点坐标来进行行为识别,在数据集HDM05上达到了97.25%的识别率;Kwon等[13]通过双向长短期记忆网络Bi-LSTM学习更重要和全面的空间和时间信息来对人体行为进行划分。
视图变化带来了严重的运动和外观变化,这使得相同类型的不同动作难以区分,因此在任意视图下的人体动作识别仍然是一个挑战。针对这一问题,本文从3D骨骼节点数据中提取视图和尺度不变的欧式距离特征和关节点之间的相对角度特征组合,构成特征集合来进行人体行为划分。近来深度学习方法在各种计算机视觉方面表现出优异的效果,其中LSTM模型因可以更好地获取较长距离数据间的依赖关系,在行为识别等时域序列上取得了优异的效果。然而传统的LSTM从单一方向进行学习,忽略了未来的上下文信息。人类行为动作是由一系列行动组成,一些不同的动作在开始时可能具有类似的动作,但最终动作结果却完全不同。在LSTM基础上改进的BI-LSTM可以学习双向空间和时间信息,模拟动作的时序顺序,从而对类似动作进行更准确的划分。所以本文采用BI-LSTM模型加强上下双向时间信息,同时对距离和角度空间信息进行互补,在标准数据集上的识别准确率达到了97.8%,取得了良好的识别效果。
-
选取从深度相机Kinectv2获得的25个骨骼关节点中较为活跃的20个关节点,以减少干扰和计算量,计算其相对参考点的视图和尺度不变特性的距离和角度特征集合。利用BI-LSTM挖掘出更深层次的较长骨骼序列中上下文的时间信息,与空间特征相结合对人体行为进行区分。总体流程如图1所示。
利用深度相机获取人体关节三维坐标,分为训练数据集和测试数据集两部分。训练数据集用于模型构建和参数调整,训练完成后利用测试数据集测试模型性能,本文使用标准数据集UTKinect-Action3D。
-
在人体骨骼中,各个关节点之间的相对距离特征具有良好的视图和尺度不变特性,可以描述出人体运动时局部感兴趣区域的特征,而且对光线的明暗程度和视角的微小变化具有很强的适应性,因此本文使用关节点的相对距离作为人体行为划分的特征。人体在运动时,各个关节点的活跃程度是有差异的,例如手部和脚部的位置在不同动作下有较为明显的差异。为了消除与动作识别无关的关节点和减少计算量,选取从RGB-D传感器获取的25个关节点中较为活跃的20个关节点
$s = \left\{ {1,2, \cdots ,20\} } \right.$ ,如图2所示。其中头部关节点1在人体运动时与其他关节点的位置变化较大,对动作划分有良好的区分性;脊柱关节点3在任何运动过程中几乎保持稳定静止,具有很好的参考性,因此选取头部关节点1和脊柱关节点3为参考点。同一副骨架在第N帧里面的两个关节点
$i \in \{ 2,4, \cdots ,20\} $ 和参考点$j \in \left\{ {1,\left. 3 \right\}} \right.$ 的三维坐标分别为${P_i} = ({x_i},{y_i},{z_i})$ 和${P_j} = ({x_j},{y_j},{z_j})$ 。关节点$i$ 和参考点$j$ 之间的相对距离(JRD)可以定义为3D空间中这两个关节之间的欧几里德距离${D_{ij}}$ ,其计算公式如式(1)所示。例如右手部关节点12到参考点头部1的欧式距离${D_{12,1}}$ 和到脊柱参考点3的欧式距离${D_{12,3}}$ 如图3所示。在很多情况下,人体的身高和体重等身材体型的差异较大,为了消除这种情况造成的影响,提高识别准确性,需要对
${D_{ij}}$ 进行归一化,计算公式如下:其中,
$d$ 为人的肩膀中心关节点2到脊柱中心关节点3的欧几里德距离${D_{2,3}}$ ,如图3所示。现有20个骨骼关节点,深度相机获取到N帧骨骼序列,则在同一帧中会产生36维的距离特征向量。所有N帧骨骼序列中的36×N维向量组成了相对欧式距离特征
${D'}$ 。 -
人体部位的运动若仅仅由相对欧式距离特征建模会忽略关节和关节角度的位置信息,不能充分运用骨骼序列中包含的特征信息,所以本文同时提取了相对角度特征(JAR)。它是相邻身体部位对的静态姿势的良好描述,而且关节点之间的相对角度特征具有很好的尺度不变性,可直接由关节点三维坐标求出,计算简单,并且对不同动作具有良好的识别效果。例如人在行走和喝水时,手部和头部相对参考点脊柱的相对角度是不一样的。
关节点使用的是2.1节中的20个关节点
$s = \left\{ {1,2, \cdots ,20\} } \right.$ ,因为其中的脊柱关节点3在任何运动过程中几乎保持稳定静止,所以参考点选取为脊柱关节点$r$ ,同一副骨架在第N帧中任意两个关节点$i \in s$ 和$j \in s$ ($i \ne j \ne 3$ ),其中关节点$i$ 的三维坐标为${P_{\rm{i}}} = ({x_i},{y_i},{z_i})$ ,关节点$j$ 的三维坐标为${P_j} = ({x_j},{y_j},{z_j})$ ,则关节点$i$ 和$j$ 之间相对脊柱参考点$r = ({x_r},{y_r},{z_r})$ 的相对角度特征${\theta _{ij}}$ 计算公式见式(3)~ 式(7)。例如右肩膀关节点相对于右手关节点的角度特征${\theta _{9,12}}$ 如图4所示。现有19个关节点相对于参考点
$r$ 有N帧骨骼序列,则在同一帧中会产生171维的角特征向量,所有N帧中则会有171×N维向量组成相对角度特征$\theta $ 。 -
关节向量是由两个相邻的关节点组成,而关节角度由两个相邻的关节向量组成。将相对距离特征和相对角度特征集中表示,充分利用骨骼数据中包含的信息来划分人体行为。令特征集合
其中:
${D'}$ 为距离特征集合;$\theta $ 为角度特征集合。将同一副骨架在N帧内的(36+171)×N维的特征矩阵$ v$ 作为特征输入,利用BI-LSTM网络进行人体行为动作识别,如图5所示。 -
RNN架构在处理和查找音频、视频和文本等时空数据中的隐藏模式显示出了强大的功能。示以顺序方式处理数据,由于其参数计算量较大,初始输入的影响对于几层之后即将到来的数据序列变得可以忽略不计,导致梯度消失的问题。而LSTM正是在RNN基础上添加门机制和存储单元来解决这个问题的改进算法,其具体结构如图6所示。控制长期序列模式识别的LSTM特殊结构为:输入门
${x_t}$ 、输出门${o_t}$ 、保持存储单元随时间状态的遗忘门${f_t}$ 、选择记忆信息的记忆门${i_t}$ 、决定记忆和遗忘信息的存储单元${c_t}$ 和调节信息流入或流出的非线性门控单元。式(9)~ 式(14)为LSTM单元执行的过程,具体计算过程如图7所示。其中:
$ W$ 为权重矩阵;$ b$ 为偏差量矩阵;$\tanh $ 是特殊函数;$\sigma $ 是 sigmoid型函数;$ \circ $ 是特殊运算符号;${h_{t - 1}}$ 为t−1时刻的隐藏;${x_t}$ 是时间$t$ 的输入骨骼特征;${f_t}$ 是时刻$t$ 的遗忘门,它在需要时可以清除来自存储单元的信息;输出门${o_t}$ 保存着即将到来的骨骼数据的信息,它是根据当前骨骼帧的输入${x_t}$ 和前一帧骨骼数据的隐藏状态${h_{t - 1}}$ 来计算。通过输出门${o_t}$ 和存储器单元${c_t}$ 来计算$t$ 时刻的骨骼数据的隐藏状态${h_t}$ ,依次循环可以计算出每个时刻骨骼数据的隐藏状态。动作识别不需要LSTM的中间进行输出,而是直接输出动作的类别,所以采用在LSTM网络的最终状态上应用softmax分类器输出最终行为动作分类的结果。 -
双向长短期记忆网络(BI-LSTM)是LSTM的改良形式,使用LSTM对较长骨骼序列进行建模时,无法确定从后面骨骼序列到前面序列的信息。在BI-LSTM中,使用一前一后两个相反方向的LSTM来解决这个问题。时间
$t$ 的输出结果不仅取决于骨骼序列中的先前帧,还取决于即将到来的帧。BI-LSTM的结构简单,由两个相反方向的LSTM堆叠在一起,一个LSTM向前传递,另外一个朝着相反的方向传递,最后基于两个LSTM的隐藏状态组合计算人体行为结果分类输出。图8所示为BI-LSTM的总体框架结构,前向${\rm{LSTM}}_{\rm{L}}$ 得到隐藏状态${h_{\rm{Lt}}}$ ,见式(15);后向${\rm{LSTM}}_{\rm{R}}$ 得到隐藏状态${h_{\rm{Rt}}}$ ,见式(16);最后将两式组合得到BI-LSTM的隐藏状态,见式(17),将最终的隐藏状态通过softmax得到最后的行为动作分类结果。 -
本文选用的数据集是Xia等[14]制作的UTKinect-Action3D标准数据集。该数据集使用深度摄像机Kinect以每秒30帧收集了10种人体行为动作,包括走路、坐下、站起、拿起、抬起、扔、推、拉、挥手和拍手,每个动作由不同的10个人重复做2次。该数据集有3种格式,包括640×480分辨率的RGB图像、320×240分辨率的深度图像、3D坐标的骨骼关节点数据。数据集包含6 220帧、200个动作样本,每个动作样本的操作长度范围从5帧到120帧。数据集拍摄角度差异大并有部分身体遮挡,如图9所示。由于视点的变化和身体遮挡,使其具有挑战性。
-
BI-LSTM模型的参数设置会影响动作识别的效果。经过多次反复实验,确定BI-LSTM模型参数中批数据尺寸和Epoch设置为16和400、学习率为0.001、隐藏层设置为100时训练与识别效果最好。损失函数采用交叉熵,优化算法为Adam,其余参数均为默认值。采用行为动作识别的准确性作为评价指标,具体计算方法如下:
其中:p为测试集中的动作正确识别出来的总数量;q为测试集所有动作的数量。
-
在UTKinect-Action3D数据集中,不是每一帧都有动作发生,为了提高识别的准确性,减少计算量,实验中选取的是动作发生的时间段内的帧提取骨骼数据的相对距离特征相对角度特征。将10个人中前6个人的动作作为训练集,后4个人的动作作为测试集。将相对距离特征相对角度特征分别输入到标准的LSTM中进行行为动作的划分,其结果如表1所示。从表1中可以看出,结合相对距离和角度的特征集合比只使用一种相对特征的准确率要高,识别效果也更好。图10示出了JRD+JAR特征集合在LSTM上的实验结果。测试集的准确率在Epoch=400时趋于稳定,最高可达到92.1%。并且相对距离特征更能描述人体运动的特点,可能原因是相对距离特征的维数相对于角度特征要高。
Feature Accuracy/% JRD 91.2 JAR 88.3 JRD+JAR 92.1 表 1 不同特征在LSTM上的结果
Table 1. Results of different features on LSTM
同样的测试集和训练集,JRD+JAR特征集合在BI-LSTM上的实验结果如图11所示。测试集的准确率在Epoch=400时趋于高稳定,最高可达到97.8%,相比于使用标准的LSTM模型,准确率提高了5.7%。BI-LSTM可以捕获三维骨骼坐标随时间演变的深层时空特征,混淆矩阵实验结果如图12所示,从图12中可以看出,大部分动作类有较好的识别效果,只有两个动作类识别率低于90%,分别为抬起识别为走路的误判率22%、将推识别为扔的误判率为20%,因为这两类动作具有相似的运动。即使这样,本文的实验方案仍然有着良好的识别准确度。
本文将直接输入骨骼数据特征与提取相对距离与角度特征在BI-LSTM上进行对比,结果如表2所示,准确率与LSTM模型相比有明显提高。
Feature Accuracy/% 3D Skeleton node 87.5 JRD 92.8 JAR 88.9 JRD+JAR 97.8 表 2 不同特征的BI-LSTM在UTKinect-Acition3D数据集上的结果比较
Table 2. Comparison of BI-LSTM with different characteristics onUTKinect-Acition3D dataset
对不同特征输入的结果显示,使用JRD+JAR特征在UTKinect-Action3D上的识别准确率比直接输入关节点3D位置提高了10.3%、比提取相对距离JRD特征提高了5%、比提取相对角度JAR特征提高了8.9%,说明相对距离特征加上相对角度特征充分使用了骨骼数据中包含的空间运动信息,对人体行为识别有更好的效果。
本文使用相对距离和角度特征在UTKinect-Acition3D数据集上进行行为动作识别,准确率为97.8%,可以有效且准确地实现动作分类。为了验证本文方法的识别效果,将BI-LSTM模型在UTKinect-Acition3D数据集上的识别结果与其他网络结构进行比较,结果见表3。其中文献[15]是从骨骼数据中提取成对距离特征使用随机森林法来进行识别;文献[16]使用关节点的角度作为特征,通过SVM进行识别;文献[17]提出了一个ST-LSTM的树状结构模型,输入数据是骨骼数据,该模型验证实验同样采用留一法交叉验证;文献[18]基于多层LSTM使用关节和联合线之间的距离的几何关系特征来分类。
表 3 BI-LSTM与其他文献方法比较
Table 3. Comparison result of BI-LSTM model and other models
BI-LSTM模型在UTKinect-Acition3D数据集上识别准确率整体优于其他文献,比文献[15]的最高准确率提高了9.9%,比文献[16]的最高准确率提高了3.73%,比文献[17]的最高准确率提高了0.8%,比文献[18]的最高准确率提高了1.84%。结果表明基于骨骼的相对距离和角度特征的BI–LSTM模型具有较强的识别能力,提高了识别准确率。
-
本文提出了基于视图和尺度不变的欧式距离和关节点之间的相对角度特征来获取骨骼数据中的空间信息,利用BI-LSTM来学习骨骼数据中上下文的时间信息,在UTKinect-Action3D数据集上的识别准确率达到了97.8%。相比传统行为识别,骨骼数据相比图像包含更多维度的信息,深度学习网络能够自动提取复杂的空间时间特征,识别率显著提升。但目前的行为识别仍在研究阶段,未来将继续研究将行为识别应用到具体场景中去。
基于空间特征的BI-LSTM人体行为识别
Action Recognition Using BI-LSTM Network Based on Spatial Features
-
摘要: 随着微软Kinect等深度相机的出现,使用具有简洁性、鲁棒性和视图无关表示的3D骨架节点数据来识别人体行为的方法获得了很好的效果,但现有的大多数对骨骼序列数据的学习方法缺少空间结构信息和详细的时空动态信息。本文利用BI-LSTM模型长时间存储骨骼序列的特点获得丰富的双向时间信息对动作的顺序进行建模,同时从3D骨骼关节点坐标中提取关节点之间的相对距离特征和相对角度特征来加强空间结构特征,完成从骨骼数据中实现人体行为识别。该方法有效地进行了人体行为动作分类,提高了识别准确性。Abstract: With the advent of depth camera such as Microsoft Kinect, the method of recognizing human action using 3D skeleton node data with it’s simplicity, robustness and view-independent representation has achieved quite good performance. But the representations of skeleton sequences learned by most of the existing methods lack spatial structure information and detailed temporal dynamics features. Therefore, the BI-LSTM model the characteristics of long-term storage of skeleton sequences is used in this paper to obtain rich bidirectional time information and model the sequence of actions. And at the same time, the relative distance features and angle features between joint points extract from 3D bone joint point coordinates to strengthen the spatial structure features and complete the recognition of human action from the skeletal data. The results show that this method effectively classifies human actions and improves accuracy.
-
Key words:
- action recognition /
- skeletal data /
- distance feature /
- angle feature /
- BI-LSTM
-
表 1 不同特征在LSTM上的结果
Table 1. Results of different features on LSTM
Feature Accuracy/% JRD 91.2 JAR 88.3 JRD+JAR 92.1 表 2 不同特征的BI-LSTM在UTKinect-Acition3D数据集上的结果比较
Table 2. Comparison of BI-LSTM with different characteristics onUTKinect-Acition3D dataset
Feature Accuracy/% 3D Skeleton node 87.5 JRD 92.8 JAR 88.9 JRD+JAR 97.8 -
[1] AMINE Elforatci M E, Chaaraoui I, Bouachir W, et al. Posture recognition using an RGB-D camera: Exploring 3D body modeling and deep learning approaches[C]//IEEE Life Sciences Conference (LSC). Montreal: IEEE, 2018: 69-72. [2] LIU Q, ZHANG W, LI H L, et al. Hybrid human detection and recognition in surveillance[J]. Neurocomputing, 2016, 194: 10-23. doi: 10.1016/j.neucom.2016.02.011 [3] YIN J, HAN C, WANG B, et al. A skeleton-based action recognition system for medical condition detection[C]//IEEE Biomedical Circuits and Systems Conference. Nara, Japan: IEEE, 2019: 1-4. [4] CIOCCA G, ELMI A, NAPOLETANO P, et al. Activity monitoring from RGB input for indoor action recognition systems[C]//2018 IEEE 8th International Conference on Consumer Electronics. Berlin: IEEE, 2018: 1-4. [5] LIU T, KONG J, JIAN M. RGB-D action recognition using multimodal correlative representation learning model[J]. IEEE Sensors Journal, 2019, 19(5): 1862-1872. doi: 10.1109/JSEN.2018.2884443 [6] SONG Y, ZHANG Z, WANG L. Richly activated graph convolutional network for action recognition with incomplete skeletons[C]//2019 IEEE International Conference on Image Processing. Taipei, China: IEEE, 2019: 1-5. [7] JAMIE S, ANDREW Fitzgibbon, MAT Cook, et al. Real-time human pose recognition in parts from single depth images[C]//IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2011: 1297-1304. [8] VANTIGODI S, VENKATESH B R. Real-time human action recognition from motion capture data[C]//IEEE Fourth National Conference on Computer Vision, Pattern Recognition, Image Processing and Graphics (NCVPRIPG). India: IEEE, 2013: 1-4. [9] FAISAL Ahmed, PADMA Polash Paul, MARINA GAVRILOVA. Adaptive pooling of the most relevant spatio-temporal features for action recognition[C]//2016 IEEE International Symposium on Multimedia (ISM). USA: IEEE, 2016,: 177-180. [10] LIU M Y, HE Q Q, LIU H. Fusing shape and motion matrices for view invariant action recognition using 3D Skeletons[C]//IEEE International Conference on Image Processing (ICIP). Beijing: IEEE, 2017: 3670-3674. [11] SHARMA S, KIROS R, SALAKHUTDINOV U. Action recognition using visual attention[C]//Neural Information Processing Systems (NIPS) Time Series Workshop. 2015. [12] ZHU W T, LAN C L, XING J L, et al. Co-occurrence feature learning for skeleton based action recognition using regularized deep LSTM networks[C]//AAAI Conference on Artificial Intelligence. USA: AAAI, 2016: 3697-3703. [13] KWON OH CHUL, KIM J, YOO C D. Action recognition: First-and second-order 3D feature in BI-directional attention network[C]//IEEE International Conference on Image Processing (ICIP). USA: IEEE, 2018: 3453-3456. [14] XIA L, CHEN C C, AGGARWAL J K. View invariant human action recognition using histograms of 3D joints[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops. USA: IEEE, 2012: 20-27. [15] ZHU Y, CHEN W B, GUO G D. Fusing spatiotemporal features and joints for 3D action recognition[C]//IEEE Conference on Computer Vision and Pattern Recognition Workshops. USA: IEEE, 2013: 486-489. [16] VEMULAPALLI R, ARRATE F, CHELLAPPA R. Human action recognition by representing 3D skeletons as points in a lie group[C]//IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2014: 588-595. [17] LIU J, SHAHROUDY A, XU D, et al. Skeleton-based action recognition using spatio-temporal LSTM network with trust gates[J]. IEEE Transaction on Pattern Analysis and Machine Intelligence, 2018, 40(12): 3007-3021. doi: 10.1109/TPAMI.2017.2771306 [18] ZHANG S Y, YANG Y, XIAO J, et al. Fusing geometric features for skeleton-based action recognition using multilayer LSTM networks[J]. IEEE Transactions on Multimedia, 2018, 20(9): 2330-2341. doi: 10.1109/TMM.2018.2802648 -