基于卷积长短时记忆网络的人体行为识别研究

2021-10-15 10:08孙彦玺赵婉婉武东辉陈继斌
计算机工程 2021年10期
关键词:集上特征提取准确率

孙彦玺,赵婉婉,武东辉,陈继斌,仇 森

(1.郑州轻工业大学 建筑环境工程学院,郑州 450002;2.大连理工大学 控制科学与工程学院,辽宁 大连 116024)

0 概述

人们的日常活动是构成社会生产、生活的重要组成部分,人体行为识别在日常生活中起着重要的作用,被广泛应用在医疗康复、智能看护、运动监测、人机交互等领域[1-2]。根据数据来源不同,人体行为识别分为基于视频图像的人体行为识别和基于可穿戴传感器的人体行为识别[3]。基于视频图像的人体行为识别是利用图像、视频处理等相关技术,通过对摄像设备获取的人体运动图像集合或视频片段进行分析,从而实现对人体行为识别和特定目标检测[4-5]。基于可穿戴传感器的人体行为识别能够从低级别的原始传感器数据中寻求关于人体行为中所蕴含的深层次知识,传感器数据主要由加速度计、陀螺仪、磁力计等传感器采集得到[6]。随着微电子机械系统和无线通信技术的飞速发展,这些传感器可以被集成在可穿戴设备、智能手机或智能手表中,极大地方便了人们日常携带,且在实际使用时不受场所和周围环境的限制,也不会给用户带来侵犯个人隐私的威胁[7],促进了基于可穿戴传感器的人体行为识别在人们日常生活中的应用。

人体行为识别属于典型的模式识别问题,传统模式识别主要采用人工神经网络、支持向量机、决策树、朴素贝叶斯、K 最近邻、隐马尔科夫模型等机器学习算法[8-9]。过去十几年,这些机器学习算法在人体行为识别的问题上取得了巨大的进步,但也存在一些不可回避的缺点。例如,利用传统机器学习算法进行人体行为识别时,需要提前手工提取人体行为数据特征,而手工特征提取受特定领域知识和人们已有知识与经验的限制[10]。一些浅层次特征(如均值、方差、频率等统计信息)只能用于识别人体行为的低级活动(如站立、行走、跑步等),很难识别出更为复杂和高级的人体行为(如洗盘子、使用吸尘器等),尤其是在当前多模态和高维传感器数据涌现的情况下,这些特征无法有效处理复杂的活动和实现对人体活动的准确分类[11]。

为进一步提高人体行为识别分类性能,同时又不依赖手工特征提取,本文提出基于空时特征融合的深度学习模型(CLT-net)的人体行为识别方法。CLT-net 模型通过卷积神经网络(Convolutional Neural Network,CNN)自动提取数据特征,采用长短期记忆(Long Short-Term Memory,LSTM)网络学习时序数据的相关性优点并利用softmax 分类器实现人体行为分类。

1 相关工作

近年来,深度学习技术得到蓬勃发展,在图像识别[12]、目标检测[13]、视频动作识别[14-15]、自然语言处理[16]、时间序列预测[17]等领域取得了良好的效果。与传统机器学习算法不同,深度学习网络在很大程度上减轻了研究人员手工提取特征的工作量,模型通过更深层次的网络训练,可以自动提取到更高级别、更有意义的数据特征,使其在面对复杂的人体行为识别时更显优势[18]。CNN 和LSTM 是现阶段最常用于人体行为识别的两种深度学习网络。文献[19]提出一种基于一维CNN 方法来进行人体行为识别,该方法对基于智能手机加速度传感器走路、跑步、静止3 种人体行为的识别准确率达到了92.71%。文献[20]提出一种基于二维和三维的CNN 模型学习人体行为数据特征,并结合手工提取特征用于人体行为识别,在UCI 数据集上的实验结果表明,该方法的准确率达到了96.95%。文献[21]设计一种长短时记忆递归神经网络(LSTM-RNN)来进行人体行为识别,该方法实现特征自动提取和融合,分类效果较好。文献[22]提出一种基于双向长短期记忆(BiLSTM)循环神经网络模型,并采用主成分分析(Principal Component Analysis,PCA)来降低数据集的维度,在mHealth 数据集上的实验结果表明,PCABiLSTM 模型的准确率达到了97.64%。

2 人体行为识别模型

2.1 CNN 模型

虽然深度学习网络在图像分类、人脸识别、自然语言处理等领域已经取得较好的效果,但是在序列信号分类应用上还没有得到一种公认的结构。因此,本文在LeNet-5基础上设计了CNN模型用于人体行为识别。相比LeNet-5,本文CNN模型输入层数据格式为24×410序列,并且在每个最大池化层之后加入批归一化层(Batch Normalization)、激活层(Leaky Relu)。CNN 结构如图1 所示,主要包括序列输入层、折叠层、CNN 特征提取层(Convolution Maxpooling Batch Normalization Leaky Relu)、解折叠层、flatten 层、全连接层、softmax 分类层。从图1 可以看出,CNN 模型共包含3 个CNN 特征提取层。每个特征提取层的卷积层可以提取人体行为数据特征,是CNN 模型的关键一层;最大池化层具有压缩数据、降低维度的作用;批归一化层对提取出的特征进行归一化处理;非线性激活层(Leaky Relu)可以促进批归一化之后特征的映射。全连接层可以减少提取特征的信息损失。Softmax 分类层最终实现对人体行为的分类。

图1 CNN 模型结构Fig.1 Structure of CNN model

谷歌于2015 年提出批归一化技术,其应用于深度神经网络训练不仅可以加快模型的收敛速度,而且一定程度缓解了深层网络中“梯度弥散”的问题,使训练的深度学习模型更稳定。Leaky Relu 激活函数是为解决Relu 输入值为负时,输出始终为0,同时一阶导数也始终为0,导致神经元参数不更新,神经元不学习的情况下出现的,定义如式(1)所示:

其中:s为一个不小于1 的非负数,当s取0 时,Leaky Relu 激活函数退化为Relu 函数。softmax 分类层如式(2)所示:

其中:xi为提取得到的人体行为数据的特征序列;K为人体行为类别数。softmax 函数的分类结果代表输入样本被划分为每个类别时的所属概率,且所属概率和为1。

由于CNN 能自动提取人体行为数据的深层特征,可以避免手工特征提取带来的诸多问题,因此本文将CNN 特征提取层作为所提CLT-net 网络模型的特征提取单元引入。CNN 特征提取层实现特征提取的具体过程是3 个卷积层的卷积核个数依次设为32、128、32,卷积核大小分别设为(1,11),(1,9),(1,7),步长为(1,2),即垂直方向步长为1,水平方向步长为2,同时模型采用same 方式进行“padding”;3 个最大池化层的池化核大小均为(1,3),步长为(1,2)。当单个样本的输入数据规模为24×410×1 时,经过3 个CNN 特征提取层得到的人体行为特征序列规模分别为24×102@32、24×25@128、24×6@32。

2.2 LSTM 模型

LSTM是循环神经网络(Recurrent Neural Network,RNN)的改进,由HOCHREITER 和SCHMIDHUBER 于1997 年提出[23]。LSTM 网络的核心部分是序列输入层和LSTM 层,序列输入层可以将序列或时间序列数据输入网络,LSTM 层可以学习序列数据时间步长之间的长期依赖关系,很好地解决RNN 梯度消失问题[24]。由于LSTM 是一种强大的时序信号处理和预测方法,人体行为传感器数据又属于时间序列上的信号,因此本文将LSTM 层作为所提CLT-net 网络模型的特征筛选单元引入。LSTM 模型结构如图2 所示,主要包括序列输入层、flatten 层、LSTM 层、全连接层、softmax 分类层。

图2 LSTM 模型结构Fig.2 Structure of LSTM model

从图2可以看出,序列输入层样本大小为24×410×1,经过flatten 层将多维数据一维化后作为LSTM 层输入,LSTM 层隐藏单元数量设置为50,全连接层隐藏节点设置为13,最终由softmax 分类层实现对不同人体行为分类。

LSTM 层的细胞(cell)为输入数据提供时间依赖性,赋予了数据时间特征,LSTM 网络通过细胞实现长期控制,进而用于时序信号的分类预测。细胞功能主要是通过遗忘门、输入门和输出门实现。LSTM 层细胞内部结构如图3 所示。

图3 LSTM 细胞内部结构Fig.3 The internal structure of LSTM cell

LSTM 层可学习权值为输入权重W、递归权重R和偏差b。矩阵W、R和b分别是输入权重、递归权重和每个分量偏差的串联,如式(3)所示:

t时刻细胞状态输出和隐藏状态输出如式(4)、式(5)所示:

其中:⊙为Hadamard 乘积(向量的元素相乘);σc为双曲正切函数(tanh)状态激活函数。

图3 中t时刻遗忘激活ft、输入激活it、输出激活ot、候选单元输入gt如式(6)~式(9)所示:

其中:ht-1为上一时刻隐藏状态的输出信息;xt为当前时刻的输入信息。将ht-1与xt共同作为当前时间步的输入信息参与网络训练。这些信息经过门激活函数σg后,最终得到输出介于[0,1]的值。

遗忘激活ft越大,代表遗忘上一时刻细胞状态输出ct-1越少;输入激活it越大,代表候选输入gt被写进当前时刻的信息越多,即遗忘激活ft和输入激活it共同决定了当前时刻细胞状态输出ct对不同输入信息的接收程度;输出激活ot则确定了当前时刻隐藏状态的输出ht,以上控制策略便实现了人体行为数据在时间步长序列上的长期依赖性。

2.3 CLT-net 人体行为识别模型

由于惯性传感器采集的人体行为数据可以看作是时间序列信号,以及当前机器学习算法严重依赖手工设计的特征,可能会导致信息利用不充分,无法有效实现对复杂人体活动识别等问题。本文提出了基于空时特征融合的深度学习模型(CLT-Net)用于人体行为识别。CLT-Net模型充分结合CNN 自动提取数据深层特征和LSTM 学习时序数据之间相关性的优点,采用与上述CNN 模型相同的网络结构,同时使用LSTM 层替换CNN 模型的第一个全连接层。CLT-Net网络模型各项参数设置和规范函数选择与对应结构的CNN 模块和LSTM 模块一致,其结构如图4 所示,主要包括序列输入层、折叠层、CNN 特征提取层(Convolution Maxpooling Batch Normalization Leaky Relu)、解折叠层、flatten 层、LSTM 层、全连接层、softmax 分类层。

图4 CLT-net 模型结构Fig.4 Structure of CLT-net model

基于CLT-net 模型的人体行为识别方法分类过程为:首先将输入的人体行为数据序列经过CNN 模块进行二维空间上的特征提取,将得到的二维数据特征经过flatten 层展开成一维后输入LSTM 层进行时间序列上的特征筛选;然后再经过全连接层将筛选后得到的人体行为特征通过权重矩阵映射至样本标记空间;最终通过softmax 层进行分类计算,并选择具有最大预测概率的类别作为输入数据样本的预测类别。模型在训练时会根据前向传播得到的预测类别与真实样本标签之间的误差,并依据模型采用的损失函数和优化器进行反向传播,以不断修正网络中的权值和偏置项,最终实现模型训练并得到较优模型。

3 实验

3.1 实验数据集

本文基于可穿戴传感器数据进行人体行为识别研究,实验采用公开的DaLiAc(Daily Life Activities)数据集[25]。该数据集的数据采集过程由分别放置在受试者右臀部、胸部、右手腕和左脚踝4 个6 轴惯性传感器节点完成,每个传感器节点由一个三轴加速度计和一个三轴陀螺仪组成。加速度计的量程为±6 g,手腕、胸部、臀部传感器节点的陀螺仪范围为±500(°)/s,踝关节传感器节点的陀螺仪范围为±2 000(°)/s,数据的采样频率为204.8 Hz。数据采集实验共有19名健康受试者参与(女性8名,男性11名,年龄26±8 岁,身高177±11 cm,体重75.2±14.2 kg,偏差mean±std),共采集了13 项活动。活动及对应标签如表1 所示。

表1 活动及对应标签Table 1 Activities and corresponding labels

3.2 实验运行环境

本文所有模型均在配置为Core i5-6500U CPU@3.20 GHz,16 GB 内存的计算机上进行训练和测试,该计算机系统为Windows 10 专业版64 位,并且所有模型使用Matlab2020b Deep Learning Toolbox 框架实现。

3.3 实验参数

首先对人体行为数据进行样本划分,取滑动窗口长度为410(2 倍的采样频率取整),且相邻窗口之间存在50%的数据重叠,因此单个样本序列大小为24×410(4 个6 轴传感器)。将经过数据分割后的样本打乱顺序,取前90%的样本作为训练集,剩下10%作为测试集。实验参数设置如表2 所示,仿真实验时所有模型的初始化参数都使用相同配置,目的是使所有模型都在相对公平的条件进行对比,从而更利于准确反映CNN 模型、LSTM 模型和CLT-net 模型的真实性能。

表2 实验参数设置Table 2 Experimental parameters setting

CNN 层和全连接层的权系数初始化采用Kaiming 法,该方法有利于加快模型的收敛速度,采用正交方法作为LSTM 层的权系数初始化方法。所有模型的优化器都使用自适应矩估计优化算法(Adam 算法)[26],该方法具有更快的收敛速度和更低的内存消耗需求,并且在模型训练过程中可以不使用验证集。

3.4 实验结果与分析

3.4.1 模型收敛速度

LSTM 模型、CNN 模型和CLT-net 模型是在训练集上进行训练的,模型训练过程的准确率对比如图5所示。从图5 可以看出,3 种模型训练过程的准确率随着迭代次数的增加逐渐趋近于100%,说明模型对不同人体行为的分类结果越来越好。

图5 训练过程中LSTM、CNN 和CLT-net 模型准确率对比Fig.5 Accuracy comparison between LSTM,CNN and CLT-net models in training process

训练过程中LSTM、CNN 和CLT-net模型损失函数曲线如图6 所示。从图6 可以看出,3 种模型训练过程的损失函数曲线随着迭代次数的增加逐渐趋近于0,说明模型各项参数的修正更新逐渐向较优值靠近。

图6 训练过程中LSTM、CNN和CLT-net模型损失函数值对比Fig.6 Loss function value comparison between LSTM,CNN and CLT-net models in training process

CLT-net模型具有最快的收敛速度,使得训练集的分类准确率和损失函数值接近稳定状态。随着迭代次数的增加CLT-net模型的分类准确率逐渐达到最高,损失值逐渐降低至最小,而CNN 模型和LSTM 模型次之,CLT-net 模型在人体行为识别中具有高效性。

3.4.2 模型准确性

对应训练好的LSTM 模型、CNN 模型和CLT-net模型在测试集上的预测分类混淆矩阵如图7~图9 所示。作为对比建立的BP 神经网络模型在测试集上的预测分类混淆矩阵如图10 所示。4 个混淆矩阵分别为14 行14 列。底侧数字1~13 代表待分类的13 种人体行为,左侧数字1~13 代表预测分类出的13 种人体行为。最后一行格子(右下角格子除外)上面和下面的百分比分别表示模型对某一人体行为做出正确或错误分类的准确率(召回率)和错误率。最后一列格子(右下角格子除外)上面和下面的百分比分别表示模型预测分类为某一人体行为的准确率(精确率)和错误率。右下角格子上面的百分比代表模型对13 种人体行为做出正确分类的总体平均分类准确率,下面的百分比为总体平均分类错误率。其他格子下面百分比则表示该分类样本数占全部测试集样本数的比例。

图7 测试集上LSTM 模型的预测分类混淆矩阵Fig.7 Prediction classification confusion matrix of LSTM model on test set

图8 测试集上CNN 模型的预测分类混淆矩阵Fig.8 Prediction classification confusion matrix of CNN model on test set

图9 测试集上CLT-net 模型的预测分类混淆矩阵Fig.9 Prediction classification confusion matrix of CLT-net model on test set

图10 测试集上BP 模型的预测分类混淆矩阵Fig.10 Prediction classification confusion matrix of BP model on test set

从4 个混淆矩阵中可以看出,BP、LSTM 和CNN模型的总体平均分类准确率分别为61.7%、77.6%和96.4%,本文提出CLT-net 模型达到了97.6%,分别提高了35.9、20.0 和1.2 个百分点。CNN 模型能够提取人体行为数据的特征,这些特征最大限度代表了原始人体行为数据,用这些特征进行人体行为识别分类具有较好的表现。相比LSTM 模型,CNN 模型具有更高的识别率。LSTM 模型只用于时序数据建模以学习数据间的相关性,并不能实现特征提取,这也说明了特征提取是进行分类识别的关键,CNN 特征提取模块是CLT-net 模型最重要的组成部分。

3.4.3 模型分类结果可视化

t 分布随机近邻嵌入(t-Distribution Stochastic Neighbour Embedding,t-SNE)是一种适合高维数据可视化的降维算法[27-28]。t-SNE 将高维点嵌入低维点,同时尊重点之间的相似性,高维空间中的附近点对应于附近嵌入的低维点,高维空间中的远处点对应于远处嵌入的低维点,通过可视化低维点以查看原始高维数据中的自然簇。本文利用t-SNE高维数据可视化方法,将人体行为的分类结果通过可视化手段直观呈现出来。LSTM 模型、CNN模型和CLT-net在测试集上的人体行为分类结果如图11~图13所示(彩色效果见《计算机工程》官网HTML版)。

图11 LSTM 模型的人体行为分类可视化结果Fig.11 Visualization results of human activity classification based on LSTM model

图12 CNN 模型的人体行为分类可视化结果Fig.12 Visualization results of human activity classification based on CNN model

图13 CLT-net 模型的人体行为分类可视化结果Fig.13 Visualization results of human activity classification based on CLT-net model

从3 个模型的t-SNE 可视化图形中可以看出,基于CLT-net 模型的t-SNE 数据可视化将13 种人体行为很好分类(13 种人体行为分别被聚成一簇),说明CLT-net 模型具有优越的人体行为分类识别性能。CNN 模型和LSTM 模型次之。

3.4.4 模型评价指标

为更好说明CLT-net 模型的泛化能力,进一步统计了LSTM、CNN、CLT-net 和传统BP 模型在测试集上测试结果的宏查准率(macro precision)、宏查全率(macro recall)和宏F1 值(macro F1-score),即对13 种人体行为类别中每类行为的精确率、召回率和F1-score 进行求和再取平均值[29],4 种模型的评价指标对比如表3 所示。

表3 BP、LSTM、CNN、CLT-net 模型的评价指标对比Table 3 Evaluation indexes comparison between BP,LSTM,CNN,CLT-net models

精确率评价指标是衡量正确预测出的正样本数占实际预测出正样本数的比例;召回率评价指标是衡量正确预测出的正样本数占总正样本数的比例;F1-score 评价指标作为精确率和召回率指标的调和平均值。从表3 可以看出,CLT-net 模型的精确率、召回率和F1-score 评价指标均最高,而BP 模型的所有指标均最低,表明CLT-net 模型对不同人体行为的识别分类结果具有良好的稳定性与可靠性。

4 结束语

本文提出基于空时特征融合技术的深度学习模型CLT-net。该模型结合CNN 可以自动提取数据特征和LSTM 能够学习时序数据之间的相关性优点,并利用softmax 分类器对人体行为进行分类。在DaLiAc 数据集上的实验结果表明,相比LSTM、CNN、BP 模型,CLT-net 模型收敛速度更快且人体行为识别分类性能更优。后续将通过构建轻量级的深度学习模型,对基于传感器的人体行为识别方法进行优化,进一步提高特征识别准确率。

猜你喜欢
集上特征提取准确率
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
基于Daubechies(dbN)的飞行器音频特征提取
高速公路车牌识别标识站准确率验证法
复扇形指标集上的分布混沌
Bagging RCSP脑电特征提取算法
基于MED和循环域解调的多故障特征提取