由于人体运动的非刚性以及表观特征的多样性,现实场景中对人体动作的准确识别较难。本文提出一种基于循环神经网络的人体动作在线识别方法,把人体关节点作为主要特征,利用深度学习进行动作识别建模。采用循环神经网络学习连续动作的时序关联信息,引入随机权重共享的注意力机制提高训练准确率,避免过拟合现象,实现对人体动作的在线识别。通过UCF数据集进行训练和测试,本文方法达到较高的准确率和稳定性,表明了基于循环神经网络的动作识别模型对现实场景人体动作的在线识别是有效的。
人体动作识别是人体运动分析的基础,广泛应用在视频分析、人机交互、自动驾驶、公共安全等领域,有着重要的研究意义和应用价值[1]。随着大量视频数据的增长,尽管数据处理能力有较大提高,对人体动作识别的准确性、实时性也提出了更高的要求。
由于人体非刚性的运动和视觉特征变化的多样性, 以及现实场景复杂性的影响,对人体动作的智能识别仍然存在许多困难。人体动作既有整体运动,又有局部移动,每个动作都是由关节点联系在一起的时空运动。由于类内动作的差异和空间角度的变化,导致运动特征空间具有复杂多变的形式。三维动作识别正在成为研究的方向,基于深度图像的数据集也在增加,但是二维RGB 视频依然是数据的主要来源,在现实应用中更加普遍。在二维视角下人体视觉特征会产生旋转、缩放、形变、遮挡等变化,对看似简单的类内动作识别带来影响[2] [3]。在现实场景中,人与环境的交互情况对人体动作识别会产生一定影响。
动作特征是典型的空间特征与时间特征的融合,常用的描述有特征轨迹、容积法、光流场等。Qin等提出基于时空特征点轨迹的动作识别方法,采用KLT 跟踪时空局部特征,把跟踪得到的轨迹作为特征向量,利用多核学习方法进行分类识别[4]。Mekruksavanich 借助可穿戴传感器,提出一种多模态训练方法,实现了对运动相关动作识别[5]。Sevilla-Lara 提出把光流集成于动作识别之中,提高了动作识别的准确度[6]。传统的识别方法提取复杂的特征向量,送给训练好的分类器进行识别。特征提取和动作识别是两个分离的过程,由于动作特征的时空性,增加了提取动作特征的复杂程度。对不同目标的同一动作, 甚至同一目标的类内动作,都很难确定特征向量的一致性。训练和测试的数据集一般都是手工分割的特定序列,受特征向量和环境的影响,产生模型泛化能力较弱的问题。
深度学习利用多层神经网络来学习复杂的特征,在图像处理、目标识别中表现出了良好的性能。由于数据量的增加,以及计算能力的提高,基于卷积神经网络的方法在动作识别中的运用越来越多[7]。
Simonyan 等人提出一种空间卷积结合时域光流的双流结构模型,取得较好的性能[8]。Cao 基于训练图提取CNN 特征,结合图像RGB 数据和注意力算法,利用LSTM 训练分类[9]。ZHA S 直接对视频进行卷积特征提取,利用SVN 进行动作分类[10]。深层网络AlexNet、VGG 模型通过增大网络的深度来获得更好的训练效果[11] [12]。GoogLeNet 通过引入Inception 加宽网络结构,使网络结构稀疏连接,降低了层数增加带来的负作用[13]。Huang 提出复杂的DsenseNet,将所有网络层两两进行连接,每一层都接受它前面所有层的特征作为输入,使网络模型大量密集的连接[14]。Wei 提出改进的GooLeNet,对softmax 进行缩小和细化,并增加分类输出层,具有较好的泛化能力[15]。随着卷积网络深度和宽度的不断增加,目