APP下载

基于融合注意力机制与CNN-LSTM的人体行为识别算法

2023-02-25武东辉许静陈继斌孙彦玺仇森

科学技术与工程 2023年2期
关键词:集上类别卷积

武东辉, 许静, 陈继斌, 孙彦玺, 仇森

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

目前,人体行为识别(human activity recognition,HAR)已经成为计算机视觉领域最活跃的研究课题之一,并且在智能监控、视频检索、智能家居、人机交互和智慧养老等方面得到了广泛的应用[1-4]。近年来,深度学习方法逐渐出现在人体行为识别领域[5],与传统方法相比,深度学习方法可以从较低的层次特征中自动提取到更抽象的高层次特征来描述人的行为,使特征更具鲁棒性。卷积神经网络(convolutional netral network,CNN)和长短期记忆网络(long short term memory,LSTM)是两种常用的解决问题的网络,很多学者都在此基础上构建了模型[6-7]。Li等[8]提出了一种基于CNN融合模型的人体行为识别方法,CNN融合模型允许分层学习空间特征,提供更好的动作识别性能,在3个公共数据集的实验结果较好,但该方法仅考虑了数据的空间信息,而没有充分考虑人体行为识别具有的时序性。Zheng等[9]提出了一种基于LSTM的递归神经网络算法来实现行为模式的识别,该算法在公共数据集上的实验结果表明,基于LSTM的方法是可行的,但LSTM主要是基于时序特征的提取,而对于信号具有的空间信息挖掘不充分。陈馨瑶等[10]提出一种将CNN和LSTM融合的复合模型,邹小武等[11]提出一种基于卷积神经网络和双向长短期记忆网络(bidirectional LSTM,BiLSTM)模型的人体行为识别方法,以及孙彦玺等[12]提出了基于时空特征融合的深度学习模型(convolutional neural network-long short term memory network-attention mechanism,CLT-net),能够提取丰富的空时融合特征,并对时间连续的行为动作获得了较高的识别性,但对于提取的特征都是基于相同权重的处理,而实际上不同的特征对于识别结果的影响通常具有不同的权值。

注意力机制(attention mechanism,AT)[13]是一种自动加权机制,它可以将不同模块通过加权的形式进行联系,迫使模型学会将注意力集中在输入序列的特定部分。朱铭康等[14]提出了一种基于BiLSTM_Attention模型的人体行为识别算法,由于注意力机制的引入,该算法能够根据行为的前后关系实现更精确的识别,在Action Youtobe和KTH数据集上的实验结果表明,该算法有效地提高了行为识别率。张海超等[15]提出了一种融合注意力的轻量级行为识别网络,该网络引入通道注意力建模通道之间的相关性而定位关键特征。陈莹等[16]提出了矩阵操作的时空交互和深度可分离卷积两种改进的通道注意力模块,并将此模块插入现有的基础网络,实现了识别正确率的提升。

综上所述,尽管国内在计算机视觉领域取得了系列成果,但在分类模型与仿真方面还有待深入。为此,现提出一种融合注意力机制与时空网络(CLA-net)人体行为识别模型,该模型由CNN和LSTM神经网络进行特征提取,得到丰富的时间和空间上的特征信息,并且在LSTM神经网络中增加注意力机制,进一步提升网络的识别准确率,最后使用Softmax分类器得到每个行为的最后得分。

1 方法及原理

1.1 CNN网络

CNN网络为近年来深度学习领域最受欢迎、应用最广泛模型之一。主要由卷积层、池化层和全连接层组成。卷积层和池化层用于特征工程,卷积层是特征提取的过程,通过对输入数据进行卷积运算提取局部特征,降低了原始数据的维度。池化层是对特征的筛选过程,通过去掉部分特征进行特征降维。全连接层用于特征加权,相当于CNN网络的“分类器”。CNN网络结构如图1所示。

卷积核与输入数据先相乘再对应求和的过程称之为卷积运算,其具体运算过程为

(1)

式(1)中:G为卷积层的输入数据;w为卷积核的权重参数;C、W、H分别为卷积核的通道数、宽、高。

卷积层中还会加入激活函数,完成非线性运算。选用Leaky Relu函数作为激活函数,它是用于解决Dead Relu问题的激活函数,其公式为

(2)

LeakyRelu函数通过把x的非常小的线性分量给予负输入ax来调整负值的零梯度问题,a为非常小的正数。

图1 CNN网络结构Fig.1 CNN network structure

1.2 LSTM网络

门控单元为

ft=σ(Wfxt+Ufht-1+bf)

(3)

it=σ(Wixt+Uiht-1+bi)

(4)

ot=σ(Woxt+Uoht-1+bo)

(5)

记忆单元为

(6)

ht为时间序列的输出;xt为时间序列的输入;t为时间图2 LSTM网络结构Fig.2 LSTM network structure

(7)

输出状态为

ht=ottanhct

(8)

式中:Wf、Wi、Wo、Wc分别为遗忘门、输入门、输出门、候选单元的输入权值向量;Uf、Ui、Uo、Uc分别为各个门控单元的循环权值向量;bf、bi、bo、bc分别为各个门控单元的偏置向量;σ为sigmoid激活函数,值域为[0,1],其表达式为

(9)

1.3 Attention机制

注意力机制是一种类似人类视觉所特有的大脑信号处理机制,可以对事物不同部分赋予不同的权重,从而降低其无关部分的作用。本文研究通过Attention机制赋予LSTM神经网络输出的隐藏层向量不同的权重,突出一些重要特征,从而使整个神经网络能表现出更好的性能。Attention机制结构如图3所示。

图3 Attention 机制结构Fig.3 Attention model structure

图3中H1,H2,…,Hn表示LSTM神经网络每个时间步输出的隐藏层向量,作为Key,n为时间步;最后一个时间步输出的隐藏层向量Hn作为Query。计算过程为

mi=α(Hi,Hn)

(10)

(11)

(12)

首先,通过一个学习函数α计算Query与每一个Key之间的相关性大小,得到每个时间步输出的隐藏层Hi的相似度得分mi,然后通过softmax函数对相似度得分mi进行归一化处理,得到每个Hi的注意力权值ai,最后算出ai与Hi乘积并求和得到上下文向量c(context vector)。

1.4 CLA-net网络

针对CNN在特征提取上的优势和LSTM神经网络在时间序列方面的优势,且人体行为识别就是将人体某些部位在三维空间中的加速度、角速度、角度等时间序列进行分类识别,本文研究提出了融合注意力与时空网络(CLA-net)的人体行为识别方法。CLA-net主要包括3个部分:CNN、LSTM神经网络和注意力机制,其整体结构如图4所示。

图4 CLA-net整体结构Fig.4 Overall structure of CLA-net

如图4所示,该模型首先通过CNN提取由惯性传感器采集到的人体行为时序数据的高级特征,并将其作为LSTM神经网络的输入。然后由LSTM神经网络学习人体行为类别与输入特征的非线性关系以及人体行为序列存在的时序依赖性。最后利用注意力机制,赋予重要时刻行为数据较大的权重,并通过全连接层(fully connected layer,fc)和输出层得到输入行为数据样本的预测类别。因此该模型旨在获取行为类别和行为数据的映射关系。其具体网络结构如表1所示。

如表1所示,该模型主要含8层结构。第1层为输入层,输入格式为(B1HW)的人体行为数据,其中B为批量数,表示每次送入模型的样本数,通道数为1,H和W分别表示输入数据的高和宽。第2~4层为卷积核个数分别为K1、K2、K3的CNN层,每个CNN层都由批归一化层(batch normalization, BN)、激活层(leaky relu)、CNN层和最大池化层(maxpooling)组成,用于提取输入数据的特征信息,输出数据的格式分别为(BK1H1W1)、(BK2H2W2)、(BK3H3W3)。第5层为LSTM神经网络层,其LSTM隐藏单元的个数为N,用于学习人体行为类别和特征之间的非线性关系和人体行为序列的时序依赖性,输出格式为(BLN)的隐藏状态。第6层为注意力机制层,注意力机制获取每个时刻行为数据的权重并对LSTM神经网络输出的隐藏状态进行加权。第7层为全连接层,全连接层将筛选后得到的人体行为特征通过权重矩阵映射至样本标记空间。模型最后为输出层,将softmax分类器作为输出层,得到取值在0~1的实数,并且归一化保证和为1。

表1 CLA-net网络结构Table 1 CLA-net network structure

2 实验设置

2.1 软硬件平台配置

在计算机硬件方面,本实验在 Windows10 专业版 64 位的操作系统下进行深度学习的模型训练,配置为Intel(R) Core(TM) i5-7500 CPU@3.40 GHz,16 GB的内存。在软件配置方面,本文模型使用Python代码进行编写。

2.2 实验数据集介绍

UCI HAR(University of California,Irvine, Human Action Recognition )数据集[18]由意大利热那亚大学非线性复杂系统实验室发布。该数据集的采集有30名健康受试者参与(年龄在19~48岁),数据采集时将智能手机固定在实验参与者的腰部,利用手机中的嵌入式加速度计和陀螺仪采集6种行为数据(行走、上楼、下楼、坐、站、躺),采样率50 Hz。该数据集已经经过滑动窗口处理,窗长128,50%的重叠率,共有10 299个样本,并且进行了随机划分,其中70%作为训练集,30%是测试集。

DaLiAc(daily life activities)数据集[19]由德国埃尔朗根-纽伦堡大学计算机科学系,数字体育组,模式识别实验室进发布,该数据集的采集实验有19名健康受试者参与(年龄18~34岁),数据采集时将4个6轴可穿戴传感器节点分别放置在实验参与者右臀、胸前、右手腕和左脚踝,利用可穿戴传感器采集13种行为数据[坐、躺、站、洗盘子、吸尘、扫地、步行、上楼、下楼、跑步机上跑步、测功单车骑车(50 W)、测功单车骑车(100 W)、跳绳],采集率204.8 Hz。采用滑动窗口技术实现样本分割,窗长设为410,重叠率设为50%,共有22 860个样本,其中80%作为训练集,20%作为测试集。分别在上述2个数据集上进行训练和测试,以验证本文所提算法的有效性。

2.3 实验相关参数

由上文可知CLA-net的超参数为3层CNN层的卷积核个数K1、K2、K3和LSTM单元的个数N。为了得到最优的超参数,进行了大量实验。结果表明,当K1=32、K2=128、K3=64和N=64时,模型取得了最高的分类准确率。因此,设置3层CNN层卷积核的个数分别为32、128、64,LSTM层的隐藏单元个数为64。另外,卷积核大小分别为(1,11)、(1,9)、(1,7),步长均为(1,2),Padding分别为(0,5)、(0,4)、(0,3),且在每层CNN层之前依次添加批归一化层(BN)、激活层,之后添加最大池化层,并设置最大池化层的窗口长度为(1,3),池化步长为(1,2)。在神经网络正向传播的过程中,采用交叉熵作为模型的损失函数。误差反向传播时,使用Adam优化方法更新神经网络的权重与偏置。设置模型训练的批次大小为128,学习率的初值为0.001、衰减乘法因子为0.99,迭代次数为100次。

3 实验结果与分析

实验结果以识别准确率和F1进行评价,其中准确率分为总体识别准确率和各类行为识别准确率,总体识别准确率为识别正确的样本数量与样本总数的百分比,各类行为识别准确率为该类行为识别正确的样本数量与该类别样本总数的百分比,F1为精确率和召回率的调和平均值。具体计算过程为

(13)

(14)

(15)

(16)

式中:TP+TN+FP+PN为测试集中样本总数;TP为真正类,表示样本的真实类别为正类,模型预测类别为正类,即正类被预测正确;FP为假正类,表示样本的真实类别为负类,模型预测类别为正类,即负类被预测错误;TN为真负类,表示样本的真实类别为负类,模型预测类别为负类,即负类被预测正确;FN为假负类,表示样本的真实类别为正类,模型预测类别为负类,即正类被预测错误。

实验过程中,为了更好地反映不同模型对人体行为识别效果的真实性能,将作为对比建立的CNN、LSTM和CNN_LSTM 3种模型的结构和各层参数的设定以及规范函数的选择与CLA-net模型的各个局部模块保持一致。另外,为了验证神经网络模型优于传统的机器学习算法,对比实验中引入支持向量机算法(SVM)。模型在UCI HAR数据集和DaLiAc数据集上的总体识别准确率和F1如表2所示。

如表2所示,本文所提CLA-net网络模型在UCI HAR和DaLiAc数据集上的总体行为识别准确率和F1均优于对比实验模型。其中,在UCI HAR数据集上,本文模型较对比实验模型的总体识别准确率和F1分别最大提高了7.53%和7.69%。在DaLiAc数据集上,本文模型较对比实验模型的识别准确率和F1分别最大提高了36.07%和38.74%。

模型在UCI HAR数据集和DaLiAc数据集上的各类行为识别准确率如表3所示。由表3可知,本文所提CLA-net网络模型对UCI HAR数据集中6种行为类别的准确率均高于89%,对DaLiAc数据集中13种行为类别的准确率均高于96%,在两个数据集上CLA-net网络模型的各类行为识别准确率值波动都是最小的。此外,由表2可知,CLA-net在UCI HAR、DaLiAc数据集上的总体识别准确率,相比传统机器学习SVM模型准确率分别提升了7.53%和36.07%,相比于融合前的传统深度学习模型CNN和LSTM模型,复合模型CNN-LSTM和CLA-net也有明显的提升,并且本文提出的CLA-net相比CNN-LSTM在UCI HAR、DaLiAc数据集上的总体识别准确率上分别提升了1.76%和1.86%。以上结果说明相较于对比实验模型,CLA-net网络模型对各类行为的识别结果均具有极佳的稳定性,且对易混淆行为类别的识别效果更好。

表2 在UCI HAR、DaLiAc数据集上的总体识别 准确率和F1Table 2 Overall recognition accuracy and F1 value on UCI HAR, DaLiAc datasets

表3 在UCI HAR数据集和DaLiAc数据集上的各类行为识别准确率Table 3 Accuracy of various types of behavior recognition on UCI HAR dataset and DaLiAc dataset

模型在UCI HAR数据集和DaLiAc数据集上测试过程准确率曲线如图5所示。从图5可以看出,各模型在测试过程中的准确率随着迭代次数的不断增加呈上升趋势,最终趋于平稳。其中,本文所提CLA-net网络模型的准确率曲线始终高于其他对比实验模型的准确率曲线,说明该方法具在训练集的训练过程有较快的收敛速度,并且在训练集上训练达到稳定后具有更好的分类准确率。

图5 UCI HAR和DaLiAc数据集上的测试过程 准确率曲线Fig.5 Test process accuracy curves on UCI HAR and DaLiAc

为了更直观地表示CLA-net网络模型在UCI HAR数据集和DaLiAc数据集上的表现,分别制作其识别结果的混淆矩阵图,如图6所示。两个混淆矩阵分别为N行、N列(N表示行为类别数)。左侧行为类别代表样本的真实行为类别,底侧行为类别代表样本的预测行为类别。每个方格上的数值代表样本个数,百分数代表该类样本占总样本的百分比。混淆矩阵主对角线上的数值代表分类正确的样本个数,其余框格中的数值代表分类错误的样本个数。

根据图6可以看出,对于运动轨迹相似的行为,如UCI HAR数据集中的坐和站立,以及DaLiAc数据集中的吸尘和扫地高度相似行为误差率较高。但是对于其他绝大部分行为都能够准确识别其行为类别,误识别率低,这充分证明了本文所提模型在人体行为分类时的性能更为优越。

表4为本文所提方法与其他文献所提方法在UCI HAR和DaLiAc数据集上的实验结果对比。从表4可以看出,相较于其他文献所提模型,本文所提CLA-net网络模型对人体行为的总体识别准确率最高。证明了本文所提的融合注意力与时空网络的人体行为识别网络模型(CLA-net)用于基于可穿戴传感器数据的人体行为识别时的优越性和可行性。

表4 本文所提网络模型与其他文献所提模型在 UCI HAR和DaLiAc数据集上的对比Table 4 The network model proposed in this paper compared with the models proposed in other literature on the UCI HAR and DaLiAc datasets

4 结论

为了提高人体行为识别准确率,提出了一种融合注意力与时空网络的人体行为识别网络模型(CLA-net)的人体行为识别方法,本文方法利用了CNN在特征提取上的优势以及LSTM神经网络在时间序列识别方面的优势,并利用注意力机制解决了LSTM神经网络对输入样本不同时刻行为数据同等看待的问题。通过对比实验,验证了本文所提CLAnet网络模型用于人体行为识别时的高识别准确率和F1,说明该方法具有较好的人体行为识别效果。

图6 CLA-net在UCI HAR和DaLiAc数据集准确率混淆矩阵Fig.6 Accuracy confusion matrix of CLA net in UCI HAR and DaLiAc data sets

此外,与其他文献中提出的最新分类模型相比,CLA-net模型在准确性能方面也有所改进。基于注意力机制融合CNN和LSTM提出的CLA-net 模型也为基于注意力机制的时空信息融合分类模型提供了一个有效的例证。此外,提出的CLA-net模型不仅可以提高HAR系统的抗干扰能力和稳定性,还可以完成数据分析、显示功能和测量控制,有效保证了整个HAR系统的可靠性和实用性。因此,本文研究为HAR系统开发了一种新的具有高精度和强鲁棒性的混合深度学习模型CLA-net。在未来的工作中会重点关注模型复杂度与识别准确率间的平衡。

猜你喜欢

集上类别卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
Cookie-Cutter集上的Gibbs测度
卷积神经网络的分析与设计
链完备偏序集上广义向量均衡问题解映射的保序性
分形集上的Ostrowski型不等式和Ostrowski-Grüss型不等式
从滤波器理解卷积
壮字喃字同形字的三种类别及简要分析
基于傅里叶域卷积表示的目标跟踪算法
服务类别
多类别复合资源的空间匹配