APP下载

一种基于卷积神经网络的下肢动作模式识别方法

2022-09-12陶思翰

河北科技大学学报 2022年4期
关键词:电信号步态准确率

张 霞,赵 东,陶思翰

(重庆交通大学机电与车辆工程学院,重庆 400074)

近年来,外骨骼等穿戴式机器人设备在军事、医疗、康复、工业等领域获得极为迅速的发展。穿戴式机器人在运动辅助过程中根据人体运动模式提供相应的辅助,是临床应用环节人机共融的关键因素。因此,精准的人体动作识别是提高穿戴式机器人设备助力性能和适应能力的基础,对实现柔顺助力、促进运动功能康复等至关重要。

根据数据采集设备的不同,下肢动作模式识别方法主要分为基于图像的步态识别方法和基于生物电信号及运动学参数的步态识别方法。例如,2009年美国明尼苏达大学计算机科学与工程系人工智能、机器人与视觉实验室利用基于图像的重建及绘制的方法拓展了人体运动和步态识别系统的适用范围[1],然而该方法的分类精度严重依赖摄像机与运动方向夹角以及训练视角,从而限制了实际场景中的应用。CASTRO等[2]在2017年使用转换或投影的方式使步态进行多角度转换,从步行者的局部步行特征出发进行步态模式识别,但是局部运动特征并不能完全反映实验者在不同场景、不同状态下的运动步态情况,具有一定的主观性。基于生物电信号及运动学参数的步态识别方法是一种使用生物电信号、腿部角度信号和足底压力信号等多源信息融合的步态识别方法[3]。然而上述2类方法存在相机及信号采集设备精度要求高、实验环境影响因素大、下肢步态分类精度低等问题。

表面肌电信号(surface electromyography,sEMG)作为重要的生物电信号类型[4],能够实时地反映人体的运动意图。同时由于采用穿戴式信号采集方式,人体下肢的运动空间不仅不受采集设备的限制,还可以通过测量多个肌肉的表面肌电信号来预测复杂的下肢运动类型,该方法具有信息量丰富和运动时干扰性小等特点,在步态识别方面具有天然优势。如文献[5]将表面肌电信号作为步态识别信息源,提取能反映步态特征的特征值,利用机器学习方式进行分类识别,提高步态识别率;文献[6]提取步态初期前200 ms的表面肌电信号特征值,应用有监督的Kohonen神经网络算法进行不同路况的下肢步态识别。

此外,随着人工智能的发展,基于深度学习的步态识别技术也在不断进步。针对大型sEMG信号数据集,利用深度学习进行步态识别,与传统分类器方法相比,分类精度更高。ALOTAIBI等[7]提出了使用多层卷积核子采样层的深度神经网络来解决模型遮挡和噪声问题,改进步态识别。CASTRO等[8]采集了步态图像数据,利用步态序列中的时间信息设计卷积神经网络,进行下肢步态识别。

总而言之,为进一步提高识别率,有的研究者倾向于在神经网络算法方面进行优化[9],而有的研究者倾向于对原始表面肌电数据进行处理并利用传统及优化后的机器学习方法进行分类识别[10]。然而,现有下肢动作模式识别方法仍面临着识别分类能力弱、识别率低以及对下肢表面肌电信号数据量的需求高等挑战。考虑到研究过程中数据采集方式、数据预处理、特征提取、神经网络算法等环节的相互影响和约束,本文针对下肢运动模式识别率低的问题,构建一种以特征集作为输入的卷积神经网络,并比较本文方法与其他分类方法的识别率与工作特征。

1 sEMG信号采集及特征提取

1.1 信号采集

采用OT Bioelettronicasrl表面肌电记录设备及其分析软件采集表面肌电信号。以无负重上楼、无负重下楼、负重上楼、负重下楼、无负重平地行走等5个动作为对象,共选择股直肌、股外侧肌、股内侧肌、半膜肌、股二头肌、外侧腓肠肌、内测腓肠肌和胫骨前肌[11-12]等8块肌肉的肌电作为信息源进行人体下肢动作识别研究。实验地点为实验楼走廊,采集信号场景如图1所示。一共征集了6位男性受试者,年龄(24±2)岁,身高(172±8)cm,体重(56±5)kg,身体各项指标正常。采集上述5种步态动作,每一种动作重复30次。考虑人体肌肉疲劳影响,每种步态完成后休息30 min再进行下一步态动作,各步态动作下信号采集时间为1 min,6位受试者在节拍器的指引下保持步行节奏的一致性。在设备穿戴过程中每一次都应对黏贴位置进行消毒处理,保证电极贴片和皮肤贴合良好。采集过程远离强磁强干扰环境,避免信号受外界环境干扰。按照同样的方式,信号采集工作持续进行30 d,即总共采集6×5×30×30=27 000 min。sEMG数据通过蓝牙实时传输到电脑端保存。

图1 肌电信号采集场景Fig.1 sEMG acquisition scene

由于sEMG的有效信号在0~500 Hz之间,主要能量集中于20~300 Hz,使用ButterWorth滤波器对原始信号进行20~300 Hz的带通滤波[13],目的是为了除去高频噪声干扰,使信号具有很好的通带和阻带特性。图2显示了无负重直立行走情况下某受试者的股直肌(BF)滤波前后的信号。结果表明,该滤波方法不仅能有效过滤通带之外的频率,还保留了基波分量。

图2 滤波前后的肌电信号Fig.2 Before and after filtered sEMG signal

1.2 sEMG信号特征提取

sEMG常见的特征分为时域特征(TD)、频域特征(FD)和时频域特征(TFD)3类。本文提取均方根值(RMS)、平均绝对值(MAV)、过零点率(ZC)、斜率变化率(SSC)4个时域特征和平均功率频率(MNF)、中值频率(MDF)2个频域特征值。相对于频域特征而言,4个时域特征具有易于提取、计算量小、计算快速的优点[14]。MDF和MNF则在展现肌电信号频率分量情况方面更具有优势,而且相较于时域特征具有更好的鲁棒性[15]。采集的下肢肌电信号是随时间累积的,自动满足时间升序要求,同时考虑到sEMG的短时非平稳性,为保证特征值的连续性,采用了“时间窗 + 滑动步长”的方式[16]进行特征提取,滑动窗宽340个采样点,滑动窗前进的步长为40个采样点,即每340个采样点提取1个特征,K时刻选择大小为340个采样点的滑动窗,在滑动40个采样点的步长后将看作(K+1)时刻滑动窗口。在特征提取过程中,使原始肌电信号的时间窗及步长保持一致,从而保证各个时域特征长度相等,以利于特征数据集的整合。提取无负重平地行走时股直肌的时域和频域特征图如图3所示。

图3 股直肌时域与频域特征图Fig.3 Characteristics of rectus femoris in time domain and frequency domain

1.3 特征数据整合与降维

将提取的步态特征整合为30个样本数据集,其中训练样本占80%,测试样本占20%。样本数据大小为20 480×48,列向量分别表示8块肌肉的6个特征,共48列特征向量,行向量表示5个步态数据的时间序列点数,共20 480行。

由于输入数据的行向量达到了20 480行,较高的数据维度不仅会对计算机的算力提出较高的要求,还会影响神经网络的识别速度,故在导入网络模型前利用主成分分析(principal component analysis,PCA)方法对数据集进行降维处理[17],以便在保留有效信息的基础上,提升识别速度。参考文献[18]介绍的PCA方法进行降维处理,提取总体解释率接近80%的前16个因子变量代替原本48个维度的特征数据集。经整合降维后的数据大小为n×200×16×1,其中n×200为所有样本总时间序列长度。

2 特征集为输入的卷积神经网络模型搭建

卷积神经网络是一种前馈神经网络,其基本结构由输入层、卷积层、池化层、全连接层及输出层组成,是由多层感知机(MLP)演变而来[19],能够不断调整内部神经元与神经元之间的权重关系,从而达到信息处理及分类识别的目的。卷积神经网络具有局部连接、权值共享及降采样的结构特点,其局部连接的特点使得卷积神经网络有别于传统神经网络,卷积神经网络相邻层数之间的部分神经元相连接,其权值共享的特点使得卷积神经网络更类似于生物神经网络,这2个特点使得卷积神经网络能够降低网络模型的复杂度、减少权值的数目,从而提升目标识别的效率。降采样是卷积神经网络的另一个重要概念,也称其为池化(pooling),其目的是为了降低图像分辨率,防止网络出现过拟合问题。

卷积层的作用是提取图像的特征,在该层中,通常包含多个可学习的卷积核,上一层输出的特征图与卷积核进行卷积操作,即输入项X∈RM×N与卷积核W∈RU×V之间进行点积运算,并加上其对应阈值b,wu,v是卷积核W上第u行第v列的值,xi-u+1,j-v+1是输入数据X上第(i-u+1)行、第(j-v+1)列的值,一般U≪M,V≪N。然后将结果送入激活函数δ(本文选用Relu激活函数),就可以得到输出特征值y(i,j),其下标(i,j)从(U,V)开始;池化层的作用是对特征进行抽样,可以使用较少训练参数,即对上一层的输出Yx,v,将其划分为很多区域Rx,v,1≤x≤X,1≤y≤Y,xi为区域Rx,y内每个神经元活性值。本网络结构选择最大池化层,即对于一个区域Rx,y,选择其最大值作为该区域输出值,从而减少卷积层输出的特征向量维数,同时还可以减轻网络模型的过拟合程度。网络的最后一般为1~2层全连接层,全连接层负责把提取的特征图连接起来,一般选择交叉熵损失函数(softmax)作为激活函数,用Loss表示,该层主要是将池化层输出通过softmax函数映射成为ai∈(0,1)的值,而这些值的累加为1,满足概率的性质。最后选取输出节点概率最大值,作为最终预测目标yi。本文对5种步态进行分类识别,所以输出节点为5个。卷积神经网络具体计算方法如下所示。

(1)

δ=max(0,x),

(2)

(3)

(4)

本文采用卷积神经网络(CNN)的方法对无负重上楼、无负重下楼、负重上楼、负重下楼、无负重平地行走5种步态动作进行识别。所构建的网络模型一共有9层,主要包括1个输入层、3个二维卷积层、2个二维池化层和3个全连接层,其数据处理流程如图4所示。由于数据量庞大,在数据训练过程中很容易出现过拟合问题,所以本文添加了2个dropout层以减小数据过拟合问题。CNN的第1层卷积核个数为32,核大小为20×3,步长为1;第2层卷积核个数为64,核大小为3×3;第3层卷积个数为128,核大小为3×3;第1层池化大小为2×1,步长为1;第2层池化大小为2×1。分别采用0,1,2,3,4作为下肢动作标签,5作为错误识别标签。

图4 特征集为输入的卷积神经网络结构框图Fig.4 Structure of the convolutional neural network with feature sets as input

使用前述训练样本集对该模型进行训练,通过误差反向传播和梯度下降算法,不断迭代和更新权重和偏置,达到设定的误差或迭代次数后,保存模型的交叉熵损失(Loss)和识别准确率(Accuracy)2个参数。采用前述测试集对模型的误差和准确率进行验证。该深度学习模型的批大小为155,学习精度设置为0.01,迭代次数为1 000。实验采用的电脑操作系统为Windows10,处理器为i5-9400FCPU,使用的深度学习框架为Tensorflow,集成开发环境是spyder。

3 下肢动作模式识别实验结果及分析

采用混淆矩阵统计了某受试者的步态识别结果,如表1所示。受试者平地行走识别准确率为96.83%,上楼识别准确率为95.97%,下楼识别准确率为96.27%,负重上楼识别准确率为95.75%,负重下楼识别准确率为96.55%。可见,平地行走的步态识别准确率最高,而负重上楼的步态识别准确率最低。

表1 测试者步态动作识别结果

造成平地行走步态识别准确率最高的主要原因,可能是上(下)楼过程不仅需要在水平方向上做功还需在竖直方向上做功,平地行走过程只需在水平方向上克服较小的阻力,下肢肌肉克服阻力做功较少,腿部悬空时涉及到的腿部肌群的向心收缩和离心收缩较弱。相同运动时间条件下,平地行走过程中下肢肌肉群的疲劳程度更低,采集到的肌电信号数据幅值和频率更为稳定,因此,平地行走的步态识别准确率和其他4种步态的关联性最弱。同时由于上、下楼的动作相似,当测试者上(下)楼及负重上(下)楼时,采集到的下肢肌肉的肌电信号部分特征相似,从而提升了分类器训练的难度,最终因少量样本的错误识别,导致步态识别的准确率较平地行走略低。

下楼步态的识别准确率高于上楼步态识别的准确率。从做功导致肌肉疲劳的角度分析,当人体上楼时需要克服重力做功,下楼时则没有,较多的克服阻力做功导致下肢肌肉在相同时间内更容易疲劳,导致肌电信号数据幅值和频率变化不稳定,从而影响步态识别准确率。

为提高识别速度和简化神经网络的复杂性,采用了主成分分析法对输入集进行特征降维。主成分分析法存在将小部分原始有效信息过滤的可能,虽然这在一定程度上影响了步态识别准确率,但总体而言,下肢5种步态识别率都达到了95.75%以上,体现了表面肌电信号特征提取方法的有效性和下肢动作可分性。

采用识别准确率、分类时间和交叉熵损失作为评价指标,用卷积神经网络方法对特征数据集进行模式识别得到的结果如图5所示。由图5可知,5种步态正确分类的样本约占总样本的96.27%,交叉熵损失约为8%。该实验结果表明,本文以特征数据集代替原始数据集能够更大程度上体现sEMG的特性,进而使卷积神经网络的输入数据更加规范,最终达到提高识别率的目标。

图5 特征集识别准确率与交叉熵损失 Fig.5 Classification recognition rate and classifi-cation error rate of feature set

4 对比试验研究

4.1 CNN与传统SVM,RF,KNN识别方法对比

为比较本文CNN方法与其他分类方法的识别分类效果,采用python机器学习库Scikit-learn,实现传统分类器K近邻(KNN),随机森林(RF),支持向量机(SVM)算法[20-21]对5种步态的分类识别,分类结果如图6所示。结果显示SVM的识别准确率为92.16%,RF的识别准确率为84.96%,K近邻(KNN)的识别准确率为88.7%,表明本文所构建的卷积神经网络模型的识别准确率高于这些传统分类器,具有识别效率高、分类效果好、泛化能力强和算法性能稳定等特点。也表明了在基于肌电信号进行人体动作模式识别研究中,针对肌电信号个体差异大、短时不平稳、非线性等不利因素,采用肌电信号特征集作为输入的卷积神经网络方法可以弥补传统分类器特征提取的有限性,从而获得较优识别率。

图6 不同分类识别模型的步态识别准确率对比结果 Fig.6 Comparison of gait recognition accuracy among different classification recognition models

表2显示了所构建的CNN网络与其他3种方法所需训练时间。由表2可知,CNN网络训练时间平均为0.11 s,SVM,RF,KNN分别为1.13,3.47和1.69 s,表明CNN网络训练时间明显少于SVM,RF,KNN等传统分类识别方法。结合前述分类准确率的结果,可知本文所构建的卷积神经网络在识别准确率和训练时间上明显优于其他传统分类器,下肢步态的识别效果更加理想。

表2 各类分类识别模型的训练时间

4.2 CNN与原始信号作为输入的卷积神经网络识别方法(CNN*)对比

为充分说明本文方法的有效性,将未经特征提取且PCA降维的原始肌电信号作为卷积神经网络的输入,该情形下的步态识别准确率及训练时间与本文方法的对比结果如图7和表3所示,其中,CNN*表示原始肌电信号作为输入的卷积神经网络,CNN表示本文提出的16维特征集作为输入的卷积神经网络。观察可知,CNN*方法的步态识别准确率为80.13%,识别时间为1.97 s;CNN方法的步态识别准确率为96.27%,识别时间为0.11 s。结果表明,提取原始信号特征的预处理技术能够大幅度提升算法的识别准确率,并且降低算法训练时间,证明了预提取sEMG信号的特征且构建以特征集为输入的卷积神经网络的方法是有效的。

图7 原始信号集和特征信号集输入的步态识别准确率对比结果 Fig.7 Comparison of gait recognition accuracy between input of original and characteristic signal sets

表3 原始信号集和特征信号集输入的训练 时间结果

5 结 语

针对目前下肢动作模式识别技术中的数据量少、识别率低的问题,提出了一种新的下肢动作模式识别方法,构建了以肌电信号特征集作为输入的卷积神经网络模型。以无负重平地行走,无负重上/下楼及负重上/下楼5种步态为识别对象,开展了步态识别实验,并与其他几种传统分类方法的识别准确率和工作特征进行了比较。实验结果表明,基于本文方法的步态识别准确率大于95%,平均训练时间用时最少,

因此本文所构建的卷积神经网络在识别准确率和训练时间上明显优于其他传统分类器,下肢步态的识别效果较为理想。通过对比2种不同输入数据集的卷积神经网络模型的识别效果可知,本文提出的肌电信号特征预处理技术能够大幅度提升算法的识别准确率、降低算法训练时间。综上所述,该方法可为康复医疗机器人、助力机器人等设备改善下肢运动功能提供理论参考。

本文采用传统随机梯度下降算法训练卷积神经网络,虽然实现了较高的识别准确率,但训练耗时还需要进一步降低。未来将考虑改进网络的学习算法,在保证识别准确率的同时,提升网络的训练速度及稳定性。

猜你喜欢

电信号步态准确率
基于步态参数分析的老年跌倒人群步态特征研究
基于联合聚类分析的单通道腹部心电信号的胎心率提取
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
基于Code Composer Studio3.3完成对心电信号的去噪
基于面部和步态识别的儿童走失寻回系统
步态识人
基于随机森林的航天器电信号多分类识别方法