APP下载

基于肌肉激活度的关节运动角度分层预测

2022-07-15张文艳汪新坤

智能计算机与应用 2022年7期
关键词:电信号假肢关节

张文艳,曹 乐,阚 秀,汪新坤,杨 诞

(上海工程技术大学 电子电气工程学院,上海 201620)

0 引 言

肌电控制假肢手臂是利用表面肌电信号(sEMG)作为控制信号的动力式假肢,是一种生物电信号控制的人机协同系统。肌电控制假肢手臂的原理为:将上肢残疾者上肢残端肌肉的表面肌电信号转化为假肢动作的控制源信号,进而用假肢手臂充当失去的手臂动作。目前对于肌电控制假肢手臂的研究主要集中在不同肢体动作的模式分类。对肢体的运动状态,如:用力情况、运动速度、关节角度和关节转动幅度的研究较少,但是在仿生假肢手臂的实际应用中,仅靠模式分类的结果无法实现假肢手臂的关节像人的上肢一样灵活。

随着智能机器人技术的不断发展,肌电信号控制假肢手的关键问题变为使用表面肌电信号实现连续运动的精确预测,实现假肢手臂像人的手臂一样灵活动作。针对提高关节灵活性,深度学习和机器学习的方法已经应用于关节角度预测。Clancy使用非线性动力学模型建立肌电信号和关节力矩的关系,相比传统关节力矩估计有了实质性的改善;Parasuraman使用遗传算法(GA)估计关节力矩;Mobasser和Eklund将快速正交搜索(FOS)应用于关节角度估计,其反映了sEMG和关节角度之间的线性关系;Ding和Han使用神经网络建立sEMG和关节运动量之间的关系。

目前的研究集中于多关节估计和闭环反馈,对关节预测范围的研究少之又少。在人机交互的过程中,假肢手臂不可避免的要做关节运动范围较大的动作,所以大范围关节角度的预测准确性对于假肢手臂精确控制至关重要。但角度范围增大不可避免的会对角度拟合精度产生较大影响,如何对大范围关节角度进行精确预测是目前研究的热点和难点。

基于上述问题,本文提出了连续关节角度分层方案来对大范围关节角度进行预测。第一层采用BPNN算法构建分类器,将大范围关节角度划分为3个等级的小范围关节信号;第二层使用SVR模型,使用PSO算法对其中高斯核函数和松弛变量自动寻参,对小范围关节角度进行精确预测。此方案实现了对大范围关节角度的精确预测。

1 系统框架

针对上肢关节角度预测准确率不高的问题,本文提出基于肌肉激活度的分层预测方案,如图1所示。首先,采集尺侧腕屈肌、桡侧腕屈肌、桡侧长腕伸肌和指伸肌的表面肌电信号,并将采集到的表面肌电信号进行预处理;其次,对处理过的表面肌电信号计算肌肉激活度,使用BPNN分层算法将大范围角度划分为3个小范围角度;最后,使用3个PSOSVR模型对关节角度进行准确预测。

图1 基于肌肉激活度的分层预测方案Fig.1 Hierarchical prediction scheme based on muscle activation

该方案适用于大范围关节角度动态预测,结合深度学习和机器学习算法,其复杂性低、处理快速、参数少且提取特征值较少,将粒子群算法用于模型参数寻优,避免了人工调参耗时长、不准确的缺点。

2 信号处理

2.1 信号预处理

本文使用小波变换的方法进行表面肌电信号的降噪处理。小波变换对信号的时频域特征同时进行局部分析,其特点为分辨率分析。小波变换法对肌电信号进行降噪处理的原理为:通过丢弃高斯白噪声(WGN)()来抑制信号()中的噪声部分,并恢复去噪后的信号(),基本模型表示为公式(1)。

本文选用db4小波进行5层分解,如图2所示。首先,通过执行小波变换分解原始信号;其次,对得到的细节系数应用适合的阈值,并将所有系数归0到其相关阈值之下;最后,基于修改后的细节系数重构去噪后的表面肌电信号。

图2 基于小波变换的肌电信号去噪Fig.2 Denoising of EMG signal based on Wavelet Transform

对去噪后的表面肌电信号,首先使用截止频率为30 Hz的四阶巴斯特沃(butter)高通滤波器去除运动伪迹;其次,对去除运动伪迹的信号进行全波整流,将信号取绝对值;最后,将全波整流后的信号通过四阶巴斯特沃低通滤波器,截止频率为5 Hz,用于模拟肌肉低通滤波器特性。表面肌电信号预处理步骤如图3所示。

图3 预处理步骤Fig.3 Pretreatment steps

2.2 肌肉激活度

将采集到的手部力信号的最大值视为100%肌肉激活度的信号,最大值定义为MVC,将处理过的肌电信号除以MVC,得到归一化后的信号()。

利用信号()建立神经激活模型,求解神经激活度(),信号()的长度为,的取值为1∶,、为递归系数,为增益系数,为电极延迟时间,该模型如公式(2)~公式(5):

这是一个递归模型,单次的神经激活度b()和前两次的神经激活度b(1)、 b(2)有关,05,05。

建立非线性模型,根据神经激活度()求解肌肉激活度(),肌肉激活模型如公式(6):

其中,是非线性形状系数,代表肌肉激活强度()和神经激活强度()的非线性程度,的取值为-1.5,()为计算出的肌肉激活强度。左手和右手尺侧腕屈肌、桡侧腕屈肌、桡侧长腕伸肌和指伸肌的肌肉激活度如图4所示。

图4 肌肉激活度Fig.4 Muscle activation

3 关节角度分层预测算法

为了能够对大范围关节角度做到精准预测,使用BPNN算法将大范围关节角度划分为小范围关节角度。BPNN算法将大范围关节角度进行三分类,分别为0°~30°,31°~60°,61°~90°,建立3个SVR模型对小范围关节角度预测。

3.1 BPNN算法

BPNN是一种信号前向传播,误差反向传播的多层前馈神经网络。在信号前向传播中,施加的输入信号从输入层X向前传播经过隐含层处理,直到输出层Y输出信号。每一层神经元的状态只会影响其连接的下一层神经元状态。如果输出层Y没有得到期望输出,就会进入反向传播过程,根据误差信号调整网络各层的权值和阈值,使BPNN的实际输出不断接近期望输出,如图5所示。

图5 BPNN结构图Fig.5 BPNN structure diagram

BPNN在预测输出之前要进行网络训练,会产生记忆和预测能力。隐含层输出通过公式(7)计算。

其中,为隐含层阈值;为隐含层节点数;为输入节点数;ω为输入层和隐含层之间的连接权值;为输入变量;为隐含层激励函数。本文所选的激励函数如公式(8):

BPNN的预测输出计算公式(9):

其中,为输出节点数;为输出层阈值;ω为隐含层和输出层的连接权值;为隐含层输出。网络预测误差的计算如公式(10):

其中,Y为期望输出;N为网络预测输出;error为网络预测误差。

网络连接权值ωω更新的计算为公式(11)和公式(12):

其中,为输入层节点数,为学习速率。

根据预测误差error更新隐含层节点阈值和输出层节点阈值的计算公式为公式(13)和公式(14):

BPNN网络的训练过程,见表1。

表1 BPNN训练过程Tab.1 BPNN training process

BPNN搭建根据系统输入输出数据的特点确定其结构,由于以肌肉激活度为输入信号的维数为8,待分类的角度信号共有3类,所以搭建的BP神经网络输入层为8个节点,输出层为3个节点。BPNN的隐含层节点数会影响网络的分类准确率,隐含层节点数太少会造成网络学习不充分,影响分类精度;隐含层节点数太多会增加训练时间造成过拟合。隐含层节点数的选择如公式(15):

其中,为隐含层节点数;为输入层节点数;为输出层节点数;为0~10之间的常数。

3.2 PSO-SVR算法

本文使用SVR算法对小范围关节角度进行精确预测。为进行小范围预测,训练3个SVR模型即0°~30°、31°~60°和61°~90°,且训练数据对应的关节角度范围与BPNN相同。SVR模型中有需要手动确定参数,但是人工调参需要大量的先验经验,容易造成训练模型结果不佳。为了解决人工调参的缺点,本文引入PSO算法自动寻优SVR模型参数。

3.2.1 SVR模型原理及训练

SVR是一种拟合算法,通过非线性变换将样本映射到高维线性特征空间,并利用原始空间的核函数代替高维空间的点积运算,最终构造变量的拟合函数。假设数据样本空间为{(,),…,(xy)}⊂,其中,为输入;为输出;为训练样本数;为训练样本空间。

SVR的研究目的是用一个函数来表示和之间的关系,即对于给定的可以通过函数来预测相应的值。本文构造的拟合函数如公式(16):

其中,为法向量;为截距;()为的非线性映射,当和之间的关系为非线性时,()可以将映射到一个新的空间。在公式(13)中确定回归系数和,这个问题可以转化为一个凸优化问题,计算如公式(17):

其中,、为松弛因子;()为非线性映射函数;为惩罚系数;为函数的拟合精度。

引入拉格朗日乘子ααηη,相应的拉格朗日方程为公式(18):

根据对偶原理将原问题转化为公式(19):

约束条件:

其中,(xx)(xφx),本文中使用的(·,·)为核函数。

SVR的最终预测模型为公式(20):

SVR中惩罚系数和核函数的参数会对最终的拟合效果产生较大的影响,其原因为:惩罚系数用来全衡损失和分类间隔的权重,如果选择错误会造成硬间隔或是过拟合的情况;参数影响高斯函数的幅宽,进而影响数据在高维空间的映射。惩罚系数和核函数参数的选取非常重要,但是对于如何选取这两个参数却没有明确的理论依据。

3.2.2 PSO模型原理及训练

基于SVR参数选择不确定性的问题,本文提出使用PSO算法选取参数来改进SVR模型。PSO是一种基于种群的随机搜索算法,用于解决无约束优化问题。在粒子生成过程中,粒子根据自身的经验以及相邻粒子的经验改变其位置。PSO系统将局部搜索方法与全局搜索策略相结合,以达到开发与探索的平衡。粒子的新位置和速度将用公式(21)和(22)更新。

其中,和是加速度系数,分别调整最大步径,以达到全局最佳粒子和单个最佳粒子;是随机数均匀分布在[0,1];是惯性重量,保持全局和局部搜索能力的平衡;表示粒子数;表示当前迭代的次数;v指定粒子速度;x指定位置;pbest是粒子局部最佳位置;gbest是所有粒子的全局最佳位置。

使用表2中的参数构建PSO优化算法,将惩罚系数和核函数参数作为PSO的两类鸟群,每次迭代后重新更新鸟群位置,直到达到迭代次数时停止。使用PSO优化SVR的步骤见表3。

表2 PSO算法参数说明Tab.2 PSO algorithm parameter description

表3 PSO优化SVR步骤Tab.3 PSO optimization SVR steps

4 实验分析

4.1 实验数据采集

本实验选用5名男性受试者,年龄在22~26岁之间,且无肌肉或神经系统疾病。为保证实验的正确性,5名受试者在正式采集数据前进行2 h的动作训练,以保证受试者的动作标准,并确认MYO臂环及惯性传导单元(IMU)佩戴于手臂正确位置。采集实验前,使用酒精擦拭受试者手臂对应肌肉,受试者身体放松坐于实验台前,手肘置于实验台表面。针对手臂关节角度实验,本实验选取了4块肌肉进行分析,所选肌肉分别为尺侧腕屈肌、桡侧腕屈肌、桡侧长腕伸肌和指伸肌。图6为受试者执行关节角度测量的动作,每名受试者循环执行角度测试动作20次(包括10次0°~90°和10次90°~0°),持续时间为1 min。为避免持续动作造成肌肉疲劳,受试者执行一次动作后休息4 min,休息结束后开始下一次动作。图7为受试者关节角度测量系统,本系统包括采集表面肌电信号的MYO臂环、采集上肢关节角度信息的IMU、上位机、3D打印的圆柱体、FSR传感器、采集卡。

图6 角度采集动作Fig.6 Angle collection action

图7 角度采集系统Fig.7 Angle collection system

4.2 关节角度分级分类结果分析

在第一层BPNN关节角度分级算法中,使用肌肉激活度作为特征矩阵输入进BP神经网络,在3个角度级别(0°~30°,31°~60°,61°~90°)中选取25%的数据作为训练集,另外75%的数据作为测试集,查看测试集的分类成功率,并进行BPNN关节角度分级算法的性能测试。为比较肌肉激活度与传统的肌电特征值之间的差异,选用肌电信号处理中广泛使用的时域信号均方根值()做对比实验,以肌肉激活度为特征和以为特征的BPNN算法分类对比图如图8所示。肌肉激活度和在BPNN分层算法中的性能表现见表4。

图8 BPNN算法分类对比图Fig.8 Classification comparison diagram of BPNN algorithm

表4 肌肉激活度和RMS在BPNN分层算法中的性能表现Tab.4 Performance of muscle activation and RMS in BPNN hierarchical algorithm

4.3 关节角度预测分析

在第二层使用SVR模型对小范围关节角度进行准确的拟合,并使用PSO算法对SVR模型的惩罚参数和核函数参数进行自动寻,以此来完成对大范围关节角度的预测。使用3个PSO-SVR模型对小范围关节角度进行精确预测,直接对大范围关节预测的结果和小范围关节角度预测结果及两种处理方法的对比结果如图9所示。从图9(a)可以看出直接进行大范围的关节预测时,在波谷处的拟合效果较好,但是在较大范围中可以看出有很多采样点预测效果于实际值相差较大;从图9(b)~(c)可以看出相比于直接对大范围关节角度进行拟合,将大范围关节先进行分类再进行小范围预测的拟合结果较好,其预测关节角度与真实关节角度的一致性更高,误差不超过7°。

图9 预测结果图Fig.9 Forecast result charts

五位受试者未分层预测和分层预测的平均性能表现见表5。从表5中可以看出,分层预测方案的均方根误差、平均绝对误差、平均绝对百分比误差均小于未分层预测的结果,说明分层预测方案对于角度拟合拥有更好的精确度。

表5 未分层预测和分层预测的性能表现Tab.5 Performance of non-stratified prediction and stratified prediction

5 结束语

表面肌电信号的获取安全快捷,正在成为仿生假肢手重要的控制源信号。对于假手运动控制需要的关节角度范围大、精度高的问题,计算表面肌电信号的肌肉激活度作为特征值,使用BPNN构建分类器,并与PSO-SVR预测模型共同组成分层预测方案。经过实验分析,得到以下结论:基于肌肉激活度的分层角度预测均方根误差为0.098 73、平均绝对误差0.001 92、平均绝对百分比误差0.59%,说明使用肌肉激活度的分层角度预测方案在关节角度范围较大的情况下仍能保证较高的预测准确度,使用本方案计算能够满足对假肢手臂控制的准确性和稳定性要求。

猜你喜欢

电信号假肢关节
膝盖经常咔咔响,小心“关节鼠”
基于单片机的心电信号采集系统设计
膝盖有异响 警惕“关节鼠”
关节才是关键
神经元电生理模型的构建及分析
关于上臂式假肢的概述
机电工程中存在问题之我见
智能假肢
一种心电信号采集放大电路的简单设计方法
假肢