基于GRU-DRSN的双通道人体活动识别

2024-02-20 03:05邵小强原泽文杨永德刘士博李鑫韩泽辉
科学技术与工程 2024年2期
关键词:支路特征提取准确率

邵小强, 原泽文*, 杨永德, 刘士博, 李鑫, 韩泽辉

(1.西安科技大学电气与控制工程学院, 西安 710054; 2.西安市电气设备状态监测与供电安全重点实验室, 西安 710054)

人体活动识别(human activity recognition,HAR)研究主要是通过不同设备(照相机、传感器等)采集数据对行为进行识别分类。目前该技术应用领域十分广泛,如智能家居、个人健康监测、老年人防护、医疗诊断、异常行为检测等[1]。目前主流的HAR技术主要分为基于视觉的HAR与基于传感器的HAR。基于视觉的HAR[2]是通过在特定的场景中布置摄像机采集视频数据进行分析识别人体日常活动,其在特定的场景中有较好的识别效果。但也存在一些局限性,如易受到天气、光照等环境因素影响,对环境要求较高,无法保证用户隐私等。基于传感器的HAR是通过红外、加速度、陀螺仪等传感器来采集运动数据进行人类活动识别。传感器可集成到手机、手表、背心等日常使用设备中,具有成本低、使用方便、不涉及用户隐私等优点[3],现已成为该领域研究热点。

早期的HAR以机器学习方法为主,需人工提取特征,且特征的选择对识别的精度具有较大影响。Wu等[4]分析提取了传感器数据的时域和频域特征,使用KNN算法进行人体活动识别,准确率达到90.2%。Stisen等[5]选取均值、方差、熵和谱系数等作为特征,使用SVM算法实现了89%的识别精度。刘斌等[6]使用朴素贝叶斯、SVM、KNN、AdaBoost算法对6项人体活动(站立、静坐、平躺、散步、下楼、上楼)进行识别研究,算法平均准确率分别为87.5%、88.3%、88.2%、92%。传统机器学习方法无法提取复杂深层特征,且对特征选取要求较高,对于HAR问题仍有较大的提升空间。随着深度学习的发展,众多学者使用神经网络模型对HAR问题进行研究,解决了机器学习模型无法提取复杂特征这一问题。Zeng等[7]通过CNN模型自动提取信号特征进行人体活动识别,其实验结果表明CNN在HAR特征提取方面有较好的效果。范长军等[8]设计了LSTM-RNN人体活动识别模型,通过对惯性信号和生理信号处理,对UCI数据集[9]中选取的6种活动(走路、上楼、下楼、坐、站、躺)达到了93.28%的准确度。吴海涛等[10]对CNN-GRU模型进行改良,在OPPORTUNITY数据集[11]中识别精度达到了94%。文献[12]使用CNN提取数据特征并作为BiLSTM的输入,进一步提取样本的时序特征,实现CNN与BiLSTM的串行结合,该方法在DaLiAc公开数据集上中取得了良好的识别效果。

然而,在HAR的相关研究中,很少有学者从并行角度考虑传感器数据的特征提取。对人类活动时空关系的建模通常只单一考虑时间或空间维度,没有充分考虑时空相关性的问题,导致建模不够充分。大多数研究人员使用CNN、LSTM模型单独进行识别,或者将CNN层提取的特征作为LSTM的输入,采用串行方式进行识别。对此现提出一种融合CBAM的GRU-DRSN双通道并行模型,利用并型式结构赋予两条支路相同的优先级,同时提取传感器数据的空间和时序特征,再使用CBAM注意力机制获得通道和空间的混合注意力信息,实现特征融合,最后通过Softmax层实现端对端的人体活动识别。

1 实验数据集及预处理

1.1 WISDM数据集

WISDM是由WISDM(Wireless Sensor Data Mining)实验室发布的人体活动识别公开数据集[13],采集了36名志愿者在特定环境下活动的传感器数据。受试者将手机置于裤子口袋中进行6种动作,利用智能手机中的三轴加速度传感器采集数据,采样频率为20 Hz,数据集各动作样本数如表1所示,使用0~5作为标签分别代表6种人体动作。

表1 WISDM数据集Table 1 WISDM dataset

表2 不同窗口大小效果对比Table 2 Effect comparison of different window sizes

表3 实验环境配置Table 3 Experimental environment configuration

1.2 预处理

数据采集过程中由于硬件设备限制及干扰因素影响,所采信号会存在一些缺失值,本文研究使用线性插值法进行缺失值填补。为消除量纲对网络模型训练的影响,本文研究使用max-min归一化方法对数据进行归一化处理。本文模型的整体结构如图 1所示。

本文研究未使用传统去噪方法进行数据降噪。传统的信号去噪方法主要是依靠小波变换或傅里叶变换进行信号分解,将幅值接近0的噪声去除,保留幅值较大的有用特征。传统方法在降噪过程中会丢失掉许多重要的特征,且不同样本噪声选择的去噪方法也不一样,增加了系统的复杂性。对此本文研究使用深度残差收缩网络(deep residual shrinkage network,DRSN)将信号降噪与特征提取有效结合,提升了模型的泛化能力。

模型输入为具有连续时间序列特征的传感器数据,通过两条具有同等优先级的支路进行特征提取,将不同维度的特征经过CBAM进行特征筛选,最终通过Softmax进行端对端的分类。考虑连续信号间的时序关系,文献[14]指出采用滑动窗口法可以对HAR数据进行有效划分,对于窗口大小的选择,结合现实情况,以走路为例,将2~5步的加速度传感器数据为一次样本,采样频率为20 Hz,则滑动窗口范围为[40,100],本文研究选取不同窗口大小进行多次实验,结果如表 2所示,当窗口大小为80时,在较少增加单次识别时间的情况下,准确率最高。

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

如图 2所示,最终滑动窗口大小选择80,相邻窗口间重叠率为50%,即步长为40,输入模型的单个样本大小为(80,3)(三轴加速度传感器),划分后获得26 888个样本,将其随机分为两组,以7∶3的比例划分训练集和测试集。

2 模型搭建

从并行角度考虑传感器数据特征提取,搭建了融合CBAM的GRU-DRSN人体活动识别模型,如图 3所示。以三轴加速度传感器数据作为样本输入,6种活动类型作为输出,进行端对端的人体活动识别检测。

图2 滑动窗口Fig.2 Sliding window

图3 GRU-DRSN-CBAM模型图Fig.3 The model of GRU-DRSN-CBAM

该模型分为三部分:预处理层、双通道特征提取层和识别层。预处理层主要是对采集到的传感器三轴加速度数据进行缺失值填补和归一化操作。双通道特征提取层分为两条支路:上支路为空间特征提取层,由多尺度特征提取模块和两层DRSN模块组成;下支路为时序特征提取层,由3个改进后的GRU模块(“ResGRU”)组成。识别层包括CBAM注意力机制、GAP层及Softmax层。

双通道特征提取层的输入为经预处理后的传感器加速度信号,上支路通过多尺度特征提取模块提取多个尺度的传感器浅层特征信息,再通过DRSN挖掘其空间维度上的特征;下支路通过GRU更新门和重置门挖掘时间维度上的特征,引入残差网络思想改进GRU,进一步提取浅层时序特征,融合层将两个维度的特征进行特征拼接,通过CBAM分配不同权重,再将其经过GAP层变为一维特征数据,最后Softmax层进行归类识别。

2.1 空间特征提取支路

本文搭建的空间特征提取层由多尺度特征提取模块和两个深度残差模块(residual shrinkage building unit with channel-wise thresholds,RSBU-CW)模块组成。

在深度学习中,增加网络层数可以提高一定的网络性能,但过多的网络层数常常会导致梯度消失或爆炸,使得模型效果变差。何凯明等[15]提出了Resnet网络,在卷积网络中通过跳跃连接生成残差模块,有效缓解了深层网络的梯度爆炸和消失问题。Zhao等[16]在Resnet的基础上加入SE(squeeze and excitation)注意力机制和软阈值函数,形成深度残差收缩模块。如图 4所示为RSBU-CW模块,通过框内子网络可学习到一组阈值,为每个通道进行软阈值化。图4中C和W分别表示特征图的通道数和宽度,在这个子网络中,首先对特征图x取绝对值,再GAP降维成一维向量A;随后输入两个全连接层,输出的神经元数量为输入特征图通道的数量z;随后利用sigmoid激活函数将输出归一化得到系数a;最终阈值可以表示aA;然后对输入x进行软阈值化,恒等映射,可以有效提取复杂含噪数据的深层特征,该模型在高噪声的故障诊断场景下取得了良好的效果。本文研究使用该模块进行传感器数据的空间特征提取,DRSN将信号降噪与特征提取有效结合,得到了较好的识别效果,一定程度上提高了模型的鲁棒性和泛化能力。

图4 深度残差收缩模块Fig.4 Residual shrinkage building unit with channel-wise thresholds

图5 多尺度特征提取模块Fig.5 Multi-scale feature extraction module

图6 GRU结构图Fig.6 GRU structure diagram

图7 ResGRU结构图Fig.7 ResGRU structure drawing

图8 CBAM结构框图Fig.8 CBAM block diagram

图9 混淆矩阵Fig.9 Confusion matrix

图10 不同模型准确率对比Fig.10 Comparison of accuracy of different models

图11 不同模型损失对比Fig.11 Loss comparison of different models

传统层叠式网络,往往是单一卷积层的堆叠,且每层只使用一个尺寸的卷积核。本文研究使用不同尺寸的卷积核来获得不同尺度的特征,将多尺度特征作为DRSN支路的输入,更大程度地综合了模型浅层特征。为了加速模型运行速度、防止过拟合,在多尺度特征提取模块后加入了BN层和Relu层。多尺度特征提取模块如图 5所示。

2.2 时序特征提取支路

本文研究中时序特征提取层,由3个改进的GRU模块组成。

长短时记忆网络(long short term memory network,LSTM)[17]是特殊的RNN,它的提出解决了RNN的长期依赖问题。文献[18]在确保精度的前提下简化了LSTM结构,提出了GRU结构。GRU只包含两个门:更新门和重置门,减少了LSTM的参数,降低了网络的复杂度,提高了计算效率。目前众多学者将其应用于预测和分类模型中,GRU结构如图 6所示。

GRU将LSTM的输入门和遗忘门合并为更新门,用于决定忘记部分信息和添加新信息,GRU具体计算公式为

rt=σ(wr[ht-1,xt]+br)

(1)

zt=σ(wz[ht-1,xt]+bz)

(2)

(3)

(4)

更新门用于决定有多少历史信息传递到当前状态,很好地解决了循环神经网络中长期记忆力不足,反向传播中梯度消失、梯度爆炸等问题[19]。

为充分考虑数据浅层特征,且避免因网络加深引起的梯度消失或爆炸问题,本文研究将残差网络的思想引入GRU支路中,设计了残差GRU模块,将其命名为“ResGRU”,结构如图 7所示,在GRU支路中引入了跨层连接,并将该连接输出F(x)与GRU单元的输入x进行特征求和操作,从而形成了残差连接,实现了低层特征与深层特征融合。由于深度学习收敛速度较慢,故在模块中加入BN层与Relu激活函数,用于加快网络收敛速度,防止模型过拟合。

2.3 识别层

识别层包括CBAM注意力机制、GAP层及Softmax层。注意力机制来源于对人类视觉系统的研究,本质在于关注输入信号中的关键信息,节省资源,快速获得最有效的信息[20]。CBAM(convolutional block attention module)是一种同时关注空间和通道的轻量级卷积注意力模块,由Woo等[21]首次提出,其增强了特征图中的有用信息,削弱了无用信息,且对网络参数的增加可以忽略不计[22]。CBAM包含CAM(channel attention module)和SAM(spartial attention module)两个子模块,分别为通道和空间上的注意力模块,结构框图如图 8所示,由输入、CAM、SAM、输出4部分组成。

本文研究在网络模型末端使用CBAM进行双通道特征融合处理,兼顾了不同通道和同一通道中不同位置特征的重要性,提高了模型的识别精度。使用全局平均池化(GAP)取代传统的全连接层,极大地减少了模型参数量。将CBAM处理后的特征向量输入GAP层,得到一维特征向量,再经过Softmax层输出结果,公式为

yi=Softmax(Wnct+bn)

(5)

式(5)中:Wn为CBAM后的权重向量;ct为经GAP层后的一维特征向量;bn为偏置;yi为标签概率。

对于人体活动识别这类多分类问题,本文研究采用多类别交叉熵损失函数,计算公式为

(6)

式(6)中:K为种类数量;P为正确值;Q为预测值;H为两者间概率分布。

同时使用Adam优化器对网络的权重矩阵进行梯度更新。其实现简单、计算高效,适用于数据及参数较多的场景。

3 实验验证

3.1 实验环境

实验编译环境为Pycharm,基于Python3.8,使用深度学习库Keras和TensorFlow来建立GRU-DRSN-CBAM模型。具体软硬件环境配置如表 3所示。

3.2 实验参数设置

本文所搭建的GRU-DRSN-CBAM模型如图 3所示,将传感器数据经预处理后输入模型中进行训练。为增强模型的鲁棒性,本文对训练集样本进行随机打乱。模型超参数设置:预处理阶段:滑动窗口大小选择80,步长40,训练集和测试集比例为7∶3。网络模型:上下支路具有相同的优先级。上支路:三轴加速度传感器数据(纬度:80×3)经过卷积核大小为3/5/7的卷积层,再通过两层filter为64/128的DRSN模块得到空间特征信息(纬度:80×128);下支路:三轴加速度传感器数据(纬度:80×3)三层filter为32/64/128的ResGRU模块得到时序特征信息(纬度:80×128);将不同支路提取的不同特征进行拼接(纬度:80×256),通过CBAM来关注不同特征通道和空间的注意力,再进行GAP变为128×1的一维向量,通过Softmax实现6类活动的识别。

3.3 结果分析

将所提模型与传统的机器学习模型KNN(K邻近)、RF(随机森林)和SVM(支持向量机)及前人所提深度学习模型CNN、LSTM-CNN和LSTM-GRU模型进行对比分析。采用准确率、召回率、F1分数作为模型评价指标,计算公式为

(7)

(8)

(9)

式中:PACC、Pre、F1分别为准确率、召回率、F1分数;Pt为活动M被模型正确识别的样本数目;Pf为活动M被模型错误分类的样本数目;Nf为活动M被模型错分为其他类别的样本数目。

由于神经网络具有一定的随机性,因此进行多次实验取平均值作为模型最终结果,实验结果如表4~表6所示。

表5 不同模型召回率Table 5 Different model recall rate

表6 不同模型F1分数Table 6 F1 scores for different models

从表4~表6可以看出,本文所提模型的3种评价指标得分均高于其他模型,其中平均准确率达到了97.6%,相较其他模型中的最优模型GRU-CNN高出4.7%,召回率高出14%。本文模型对于6种活动识别均达到90%以上,对于较难识别的上下楼行为,精度分别为93%和97%,有了极大的提升。F1分数兼顾了准确率和召回率,能够更加客观全面地对比分析不同模型对不同人体活动类别的识别效果。如表6所示,本文模型的平均F1分数相较其他模型有了10%+的提升。

综上,证明了本文算法的优越性。实验中随机选取本文模型对WISDM数据集进行一次评估,其混淆矩阵如图 9所示。

文献[23]中使用CNN网络对WISDM进行测试,当迭代次数达到3 000次时,准确率可达到92.7%,本文研究只需100次即可达到更高的准确率97.6%。文献[24-25]针对HAR问题分别搭建了CNN-LSTM和CNN-GRU模型,使用WISDM数据集验证,准确率为92.1%和93%,本文模型分别有了5.5%和4.6%的提升。为进一步验证本文模型的优越性,从准确率收敛和损失收敛速度两方面进行评估。4种网络模型均进行100次迭代,结果如图 10和图 11所示,本文模型的准确率和损失值收敛速度最快,且稳定性好于其他3种模型。

4 结论

人体活动识别研究可以为人们的身体健康状况提供客观评价,在医疗诊断、老年人防护、智能家居、异常行为监测等领域具有重大意义。本文提出一种基于GRU-DRSN的双通道人体活动识别方法。该方法从并行角度提取原始传感器数据的多维度特征,在空间特征提取支路使用深度残差收缩网络(DRSN)将信号降噪与特征提取有效结合,提升了模型的泛化能力;在时序特征提取支路使用本文设计的ResGRU模块进行特征提取,通过CBAM进行多维度特征的有效筛选,最终实现了端对端的人体活动识别。在WISDM数据集上与传统的机器学习模型KNN、RF和SVM及深度学习模型CNN、LSTM-CNN和LSTM-GRU模型进行仿真对比实验,通过比较各模型的收敛速度,测试集上的分类性能、召回率、F1分数,得出以下结论。

(1)DRSN网络能够实现数据降噪和特征提取的有效结合,自动除去与噪声相关的特征,提升模型的泛化能力。

(2)所提GRU-DRSN并行模型对人体活动的整体分类准确率达到97.6%,优于传统的机器学习模型KNN、RF和SVM及仅具有单一特征学习能力的深度学习模型CNN、串行深度学习模型LSTM-CNN和LSTM-GRU。

(3)并行角度进行特征提取可以有效避免传统串行模型因网络深度加深引起梯度爆炸和消失问题。所提GRU-DRSN并行模型一定程度上解决了传统机器学习方法特征提取和选择困难、以往神经网络模型提取特征单一且时空特征关系考虑不全面的问题。

(4)研究中发现,可以考虑将HAR与行人航位推算(pedestrian dead reckoning,PDR)有效结合实现多运动状态下的人员定位功能,这将是下一步研究工作的重点。

猜你喜欢
支路特征提取准确率
一种新的生成树组随机求取算法
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于Daubechies(dbN)的飞行器音频特征提取
高速公路车牌识别标识站准确率验证法
Bagging RCSP脑电特征提取算法
多支路两跳PF协作系统的误码性能
利用支路参数的状态估计法辨识拓扑错误
基于MED和循环域解调的多故障特征提取