国际核心期刊咨询网

当前位置:首页>>电子论文 > 正文

基于循环神经网络的人体行为识别

发布时间:2020-01-14

  摘要:使用4种类型的循环神经网络模型(RNN、GRU、LSTM、BLSTM)处理手机传感器采集的异构时间序列数据,用于人体行为识别研究.针对4种模型,分别构建自动特征提取方法,并对参数设置进行优化.在公开数据集UCIHAR上进行了行为识别测试实验,实验结果表明,BLSTM模型的识别精度高达95.7%,可以有效地用于行为识别,其识别率和性能优于其他3种循环神经网络,且高于卷积神经网络深度学习方法.

基于循环神经网络的人体行为识别

  关键词:行为识别;时序数据;循环神经网络;BLSTM

  人体行为识别是指通过各种传感器感知人体行为数据,并利用计算机自动检测技术分析和理解人体各类运动和行为的过程,其在很多领域有着广泛的应用前景[1].如:在安全监控领域,智能视频监控对异常行为的检测可及时发现不正当行为[2];在智能家居领域,通过处理和分析内置传感器获取的数据,能够检测跌倒事件[3].

  随着普适计算的发展,各式各样的传感器植入了智能手机,如加速度计、陀螺仪、磁力计、气压计等,因此智能手机成为新的传感设备,具备感知和计算能力,且智能手机对人群具有天然的覆盖性,使其能够成为用于活动识别的有力平台.智能手机可以通过内置传感器感知用户情景的上下文,识别用户活动类型,从而为用户提供合适的服务,也便于设计更多实用的现实增强应用.然而,智能手机内置的传感器类型不完全相同,其采集的数据具有不同的粒度和质量,从而,同一时刻来自多传感器的数据构成了异构数据集;此外,传感器采集的数据具有时间维度特性.因此,不同类型传感器采集的人体行为数据具有异构时间序列特性.

  活动的识别精度直接影响现实增强应用的可使用性.早期一些学者提出使用传感器数据融合方法进行活动识别[5-8],而这种方法需要调整感知设备坐标使数据能够反映物体运动特性.此外,多维数据一般需要分阶段处理,不能直接表达异构数据且不能体现数据时间序列特点.随着深度学习在图像和语音识别中表现出的优越性能[9-10],基于深度学习的序列数据处理用于活动识别的方法被相继提出[11-13].文献[14]采用深度学习中卷积神经网络算法进行特征学习,结合决策树算法实现人体行为的分类识别.文献[15]利用多个传感器的组合表示群体环境中的不变特征,提出一种新的具有时间标签的异构数据表示学习方法,并通过深度学习提取典型特征.文献[16]设计了时空域深度卷积神经网络,此网络可以同时学习运动信息和静态图像内容信息.但是,智能手机内置的多种传感器,使用于活动识别采集的数据具有异构特性,且活动识别是一个典型的时间序列分类问题,感知的数据具有连续时间序列的活动特征.对于长时时序信息,需要处理单元具有记忆能力,在处理的过程中保存内部状态信息,并利用这些信息来计算当前状态.现有工作忽视了活动的连续性.针对上述方法的不足,本文选择用于语音处理的4种不同类型的循环神经网络模型(RNN、GRU、LSTM、BLSTM),将其应用于异构时间序列数据[17]处理.针对4种模型,分别构建自动特征提取方法,在公开数据集上进行了活动识别测试实验,并对结果进行了对比分析.实验结果表明,利用BLSTM处理时序数据可以有效地用于活动识别.

  1人体行为识别模型

  1.1数据表示

  通过智能设备采集的传感器数据是时间标记的.在时刻t0,采样窗口长度为τ的数据序列为{xi,y(i),i=1,2,…,N(}t0+τ(i-1)),其中:xi为采样的数据,是同一时刻来自不同传感器的数据组合,其维度为传感器类型数;y(i)为xi相对应的类别标签.对于有m个特征传感器的系统,在n个时间点下,采样数据可以表示为X=[xi]m×n.对于人体活动识别,xi可以由序列标签ti时间标记.

  1.2人体行为识别系统

  针对人体活动时间序列数据的特点,本文提出的人体行为识别系统架构如图1所示.

  采集日常生活中最常见的6种行为(步行、上楼、下楼、坐、站、躺)的传感器数据,应用不同类型的循环神经网络模型对其进行识别.首先将智能设备中传感器获取的原始数据输入到各个模型,利用模型的隐藏层对时序数据进行特征提取,不同模型的隐藏层处理单元是不同的,最后用Softmax函数对人体行为进行识别.数据集分成2个子集,一个用于构建分类器,该数据集称为训练集,另一个用于评估分类器,该数据集称为测试集.首先利用训练集建立模型,然后在测试集上进行验证,评估模型对未知样本进行预测的泛化能力,得出各个模型的行为分类结果.

  2人体行为识别的神经网络模型

  2.1循环神经网络(RNN)

  传统的神经网络模型层与层之间是全连接的,每层之间的节点是无连接的,而RNN[18]隐藏层之间的节点是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出.具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中.

  2.2长短期时间记忆网络(LSTM)

  LSTM是一种特殊的循环神经网络,它使用门控机制以更好地构建数据中的长期依赖关系,该模型的一个细胞中被放置了3扇门[19],分别称为输入门、遗忘门和输出门.

  2.3门限循环单元(GRU)

  GRU是LSTM的简化版本,保留了LSTM模型的长期记忆能力,GRU的主要变动是将LSTM细胞的输入门、遗忘门、输出门替换为更新门和重置门,并将细胞状态和输出2个向量合二为一[20].

  2.4双向长短期时间记忆网络(BLSTM)

  BLSTM[21]是LSTM的增强版本,用于训练序列数据的前向层和后向层分别对应2个LSTM,而且这2个LSTM都连接着一个输出层,此结构为输出层输入序列的每一个点提供完整的上下文信息.在实际应用中,BLSTM与LSTM模型具有很强的可比性.

  2.5特征提取

  循环神经网络模型特征的创建过程见图2.对于带标签的数据集,其中的每个示例都是不同数量帧的序列,并且所有帧具有相同固定数量的特征.用x表示数据集中的一个序列,l表示序列x中的帧数,k表示数据集示例中每个帧的特征数量,所以x的大小是k×l.模型将窗口逐帧地输送到隐藏层来提取特征,然后使用隐藏层的输出来计算提取的特征窗口,最后,对提取的特征进行取平均计算.

  3实验与性能分析

  3.1数据集

  人体行为识别结果的优劣与采用的数据集紧密相关,本文使用UCIHAR[22]数据集.实验数据由30名年龄在19~48岁的用户在腰上佩戴智能手机进行采集.采集的行为信息分为6种,包括3种静态动作(站、坐、躺)和3种动态动作(走路、上楼、下楼).在采集数据的过程中,每个用户针对每种行为采集2次运动过程中的加速度信息,第1次手机放在左侧的皮带上,第2次对手机位置不做要求.使用嵌入式加速度计和陀螺仪,以50Hz的恒定速率捕获3轴线性加速度和3轴角速度,滑动窗口大小设置为128.实验共计10929个样本,经过预处理后,输入数据的维度为9,时间步长为128.

  3.2实验环境及参数设置

  采用深度学习框架TensorFlow,集成开发环境为Pycharm.本文将实验收集的活动数据样本分为2部分,其中训练样本占70%,测试样本占30%.首先,将训练数据输入到模型中进行计算,将得到的结果与样本标签对比来调整模型的参数.其次,利用训练数据对模型进行参数训练,并以最终确定的参数构建模型进行特征提取.最后,利用Softmax函数进行行为分类,得到行为标签.在深度学习系统中,调整模型参数是一个手动过程,为了实现最优模型,本文调整了相应的模型参数(包括隐藏层的神经元个数、隐藏层的个数等),并探索了这些参数的多种不同的配置.

  (1)隐藏层个数的确定

  理论上讲,增加隐藏层个数可以降低网络误差,获得更全面的信息,提高精度.在使用不同模型进行活动识别的过程中,需要对隐藏层的个数进行实验验证,本文取10次实验的平均准确率,结果见表1.由表1可见,模型的分类准确率随着隐藏层个数的增加而变化,呈现出先升后降的趋势.这是由于提高模型隐藏层个数会产生以下影响:训练更多的隐藏层需要更高的培训成本;较高级别的模型由较低级别的隐藏层收缩数据.因此,为了保证模型的质量,需要大量原始数据来训练一个高层模型.根据实验结果,为使模型具有较高的准确率,且能保持良好的性能,确定对RNN算法使用3级隐藏层,对GRU和LSTM算法使用2级隐藏层,而对BLSTM算法使用1级隐藏层.

  (2)隐藏层神经元个数的确定

  隐藏层的节点数是深层神经网络提取数据特征能力大小的重要参数.隐藏层节点数增多,可使网络的系统误差减小,提高活动识别的准确性;隐藏层节点数太少,网络可能根本不能训练或网络性能很差.考察了每个模型不同隐藏层节点数的网络损失,结果见图3.由图3可见,随着隐藏层节点数H的增加,网络损失逐渐减小,但在H=32之后,模型GRU和RNN的损失开始增加,这是由于隐藏层节点数过多使网络训练时间延长,给模型训练带来额外的成本.综合各个模型的情况,选择隐藏层节点数为32.

  (3)模型学习率的确定

  学习率决定控制参数更新的幅度.幅度过大可能导致参数在最优值的两侧来回取值,幅度过小虽然能保证收敛性,但会大大降低优化速度.在上面参数确定的情况下,图4给出了相同参数下不同的学习率各个模型的网络损失.由图4可见,随着学习率的增加,各个模型的损失逐渐趋向稳定.综合各个模型的情况,选定学习率η=0.0025训练模型.

  3.3实验结果分析

  本文中模型的性能用准确率(Accuracy)和F1-measure指标来衡量.F1-measure考虑了精确度(Precision)和召回能力(Recall),是Precision和Recall的加权调和平均.各模型的输入是128个长度为9的向量,各模型的学习率均设置为0.0025,优化器均为Adam[23],损失函数均采用交叉熵损失函数,最终取10次实验的平均准确率和F1值,结果见表2.

  使用反向传播算法对模型进行训练,全部时间帧的输出用于预测结果,利用交叉熵代价函数将实验结果和原始数据进行成本计算,同时使用η为0.0025的Adam优化器进行优化,得到4种模型在训练集和测试集上的准确率,分别见图5和图6.

  由图5和图6可见,随着迭代次数的增加,各模型的准确率均呈现出上升的趋势,BLSTM模型在训练集的准确率上升速度不但最快,而且迭代20次以后准确率波动较小.LSTM模型在测试集的准确率提升速度比BLSTM要快,但随着迭代次数的增加,准确率比BLSTM低,迭代40次以后,这2种模型的准确率均波动较小.GRU模型在迭代过程中准确率提升速度较慢,在训练过程中其准确率最终和BLSTM保持平衡,但在测试集中准确率低于BLSTM模型.RNN模型无论是在测试过程还是在训练过程中准确率波动均较大,且准确率最差.

  为了进一步验证BLSTM模型的有效性,本文将其与现有的活动识别模型(传统神经网络和卷积神经网络CNN)的准确率进行了对比分析,各种模型准确率见表3.由表3可知,BLSTM模型的准确率远高于传统神经网络,且比之前常用的CNN模型提高了3.7%.因此,BLSTM模型更适合进行异构时间序列数据的处理,能更好地捕捉连续数据的特征.

  综上,BLSTM模型对序列数据的识别准确率和F1值分别可以达到95.7%和94.9%,这对于人体行为识别是足够的,因此是一种有效的行为识别方法.

  4结论

  本文针对6种日常行为,以智能手机传感器采集的三轴信号为原始信号,将用于语音处理的4种不同的循环神经网络模型用于异构时间序列数据的处理,用模型的记忆功能对时间标记的传感数据提取典型特征,这样可以更好地捕捉连续数据的特性,充分利用时间标签处理信息.使用真实的公开数据集UCIHAR对4种模型进行了实现,并将实验结果进行了对比分析,结果表明,BLSTM模型在公开数据集的识别准确率最高,为95.7%,可以实现高度准确的活动分类,是一种有效的人体行为识别方法,且该模型对类似问题具有普适性.将BLSTM与常用的CNN模型进行对比,结果显示BLSTM的性能优于CNN.本文方法不需要将原始数据转换为图片,而是直接将手机加速度计、陀螺仪等传感器采集的原始数据输入模型进行特征提取,解决了以往在对视频图像数据进行特征提取的过程中带来的精度损失问题,且本文方法对手机放置方向没有要求.在未来的工作中,可以使用更多的传感器,提高数据维度,从而进一步提升识别准确率.

  基于循环神经网络的人体行为识别相关期刊推荐:《计算机科学》(月刊)创刊于1975年,由国家科技部西南信息中心主办。报导国内外计算机科学与技术的发展动态,以其新颖、、及时为特色,突出动态性、综述性、学术性,“前沿学科”与“基础研究”相结合;“核心技术”与“支撑技术”相结合;“倡导”与“争鸣”相结合。主要栏目有:计算机网络与信息安全、软件工程与数据库技术、人工智能、计算机体系结构和图形图像处理等。读者对象为大专院校师生,从事计算机科学与技术领域的科研、生产人员。有投稿需求的作者,可以咨询在线编辑。

回到顶部