基于广义回归神经网络的上肢关节角度预测
2021-07-19刘克平孙瑞玲柴媛媛孙中波
刘克平, 孙瑞玲, 柴媛媛, 孙中波
(长春工业大学电气与电子工程学院,长春 130012)
根据2019年卫生统计鉴数据,目前中国康复医师在基本人群中占比只能达到每10万人中平均0.4人,康复医疗资源比较紧缺,为了解决这一实际问题,越来越多的专家学者研究康复医疗机器人[1-3]。康复医疗机器人是涉及生命健康的特殊领域,它可为患者提供优质的医疗康复服务,而且可以节省大量的人力资源。现在的医疗康复机器人由机器人被动接受指令向机器人主动理解人的行为意图发展,如何使康复机器人按照人体的运动意图对患者上肢进行康复训练受到很多关注[4]。
人体生理电信号是载有人运动行为信息的神经脉冲传输到相关组织/器官时所激发的电位和,能够较为直观反映人的运动意图[5]。人体的生理电信号主要包括脑电信号(electrroencep-halography, EEG)[6]、肌电信号(electromyography, EMG)[7]、眼电信号(electrooculography, EOG)[8]等。肌电信号主要是表面肌电信号(surface eletromyogram,sEMG),它在运动意图识别上具有良好的精度及鲁棒性。sEMG信号由许多正弦波组成,可以看作是平均值为零的高斯白噪声过程[9]。此外,sEMG信号包含许多人体运动信息,如人体动作类型、关节角度、关节驱动力等。因此通过sEMG预测人体运动意图具有可行性。
中外学者对基于sEMG的人体意图识别进行研究。史小华等[10]基于误差反向传播(error back propagation training,BP)算法识别患者下肢的运动意图,实现患者下肢的主动康复训练。文献中采集与患者下肢关节运动相关的三块肌电信号,用BP神经网络对踝、膝的4种动作进行分类辨识,正确率为90%左右,充分说明了BP神经网络对下肢运动意图识别的准确性。Liu等[11]用卷积长短时记忆(convolutional long short term memory, ConvLSTM)网络对8种手部动作进行识别,卷积神经网络提取局部空间特征,长短时记忆网络可以很好地提取不同通道的sEMG信号的相关特性,ConvLSTM结合两者的优点,提高了手部动作的识别精度。Kwon用人工神经网络(artificial neural network, ANN)对人体上肢的肩关节以及肘关节屈伸运动进行了估计[12]。此外,王刚等[13]用径向基函数(radial basis function, RBF)网络建立下肢sEMG信号与关节角度的非线性关系,实现了人体下肢运动意图识别。以上的研究主要是基于上肢/下肢的动作分类或单个肌肉对应单个关节进行研究,现采集健康人上肢六块肌肉的sEMG信号,建立上肢sEMG信号与上肢三个关节角度之间的非线性关系。
Specht于1991年提出了广义回归神经网络(general regression neural network, GRNN)。GRNN建立在非参数回归的基础上,以样本数据为后验条件,执行Parzen非参数估计,依据最大概率原则计算网络输出。在信号过程、结构分析、控制决策系统等各个学科和工程领域得到了广泛应用。
基于以上分析,现基于sEMG信号利用GRNN估计肩关节、肘关节、腕关节角度,首先获取sEMG信号和关节角度信号,并对sEMG信号预处理。通过建立GRNN预测模型表示sEMG信号与肩关节、肘关节、腕关节角度之间的非线性关系,进行验证实验并与RBF网络对比,验证GRNN对上肢关节连续运动估计的有效性。
1 数据获取和处理
1.1 数据获取
技术路线框图如图1所示。试验使用美国Biopac公司的MP160获取受试者上肢的sEMG信号,MP160设备是无线生理数据采集设备,可以同时记录10个sEMG数据通道,每个通道的采样率为2 kHz。使用Wit Motion研制的角度传感器测量受试者的实际关节角度。最后建立GRNN模型预测受试者的上肢关节角度。
图1 技术路线图
通过分析人体上肢关节运动特点,三角肌前束、三角肌后束、肱二头肌、肱三头肌、桡侧腕伸肌和桡侧腕屈肌与肩关节、肘关节以及腕关节的运动有很大联系。实验通过人体解剖学理论知识确认六块肌肉的位置,将一组电极贴在对应的肌肉上,每对电极之间的距离为2~3 cm。选择一名没有神经肌肉疾病病史的健康受试者(女,年龄24岁,身高164 cm,体重56 kg),进行人体上肢肩关节、肘关节以及腕关节的周期性屈伸运动。其测量装置及电极片贴法如图2所示。通过上述实验,MP160设备采集的的原始sEMG信号如图3所示。图3纵轴为采集的表面肌电信号强度。由上到下依次是三角肌后束、三角肌前束、肱二头肌、肱三头肌、桡侧腕伸肌和桡侧腕屈肌的sEMG信号。
图2 表面肌电信号和关节角度的测量
图3 原始肌电信号
将角度传感器分别绑到受试者的肩关节、肘关节以及腕关节,用于采集受试者的3个关节的关节角度。3个关节角度和sEMG信号通过无线输入计算机。图4为实际采集的关节角度。
图4 上肢关节角度
1.2 数据处理
原始sEMG信号在信号采集过程中易受到噪声信号影响。噪声信号可能来自采集设备固有频率、周围噪声和50 Hz工频干扰等。同时,sEMG信号最低频率为20 Hz。sEMG信号的振幅在0~1.5 mV,功率密度谱包含了5~500 Hz频率范围内的大部分功率[14]。因此,用20~500 Hz的带通滤波去除掉高于500 Hz低于20 Hz的sEMG信号。
经过噪声处理之后的sEMG信号依然有很大的振动,不能够直接作为意图识别预测模型的输入。针对信号的振动问题,全波整流可以获得比较稳定的sEMG信号。这个过程可以表示为
sEMGrec(n)=|sEMG(n)|
(1)
式(1)中:sEMG(n)为第n个离散型sEMG信号采样样本;sEMGrec(n)为全波整流后获得的sEMG信号的第n个样本。
因为关节角的采样频率为100 Hz,而sEMG信号的采样频率为2 000 Hz。为了保持sEMG信号与关节角度信号的一致性,对sEMG信号进行二次采样。sEMG信号二次采样过程的表达式为
(2)
式(2)中:N为表面肌电信号的采样次数;sEMGss(n)为经过二次采样之后的肌电信号。经过上述的处理之后,肌电信号还是有震荡,使用截止频率为5 Hz的一阶低通巴特沃斯滤波器对信号再次处理。处理之后的表面肌电信号如图5所示。
图5 处理后的肌电信号
2 构建广义回归神经网络模型
人体表面肌电信号的振幅和关节角度随肌肉收缩而改变,因此,sEMG信号和关节角度与肌肉收缩之间的关系可以描述为非线性关系。关节角度和sEMG信号之间的关系也可以看作是非线性的。它们之间的关系可以通过以下非线性函数获得,即
(3)
GRNN是RBF网络的一种变形形式,它有很强的非线性映射能力,柔性网络结构以及高度的容错性和鲁棒性,适用于解决非线性问题。因此选择GRNN作为肩关节、肘关节、腕关节角度预测模型。
图6为GRNN的结构图,主要包括4部分,分别为输入层、模式层、求和层和输出层。GRNN模型的输入和输出数据分别可以表示为
(4)
式(4)中:θ为传感器100 s采集到的关节角度;Xi为100 s内采集到的第i块肌肉的肌电信号。该模型的输入层神经元个数等于输入向量的维数。预测模型的输入为6块肌肉的sEMG信号,因此,输入节点的维数为6。输入层传输函数为简单的线性函数。输出为肩关节、肘关节、腕关节的角度,所以输出节点的维数为3。模式层的神经元数目和输入层的样本维数相等,它的基函数一般为高斯函数,第i个神经元的中心向量为Xi,可以表示为
(5)
式(5)中:X=[x1,x2,…,xl]T为网络输入变量;Xi为第i个神经元对应的学习样本;σ为光滑因子;l为模式层的神经元数目;pi为第i个模式层的输出。
图6中的求和层包括两部分,第一部分直接将模式层求和,称为分母单元;第二部分是模式层加权求和,将模式层的第i个神经元与求和层中第j个分子之间的连接权值乘以第i个模式层的神经元并且求和,称为分子单元。传递函数分别为
图6 广义回归神经网络结构图
(6)
(7)
式中:sD为所有模式层求和的结果;sNj为模式层加权求和;s为模式层加权求和神经元的个数。输出层为加和层的分子单元除以分母单元,即GRNN的输出可以表示为
(8)
通过调节径向基函数的扩展速度来获得最好的预测效果。取值越大,曲线就越平滑,误差也会增大,要使预测结果精确逼近训练样本,选择较小的径向基函数扩展速度。
3 实验结果和分析
采用MATLAB2018进行仿真实验研究,采集到的三角肌前束、三角肌后束、肱二头肌、肱三头肌、桡侧腕伸肌和桡侧腕屈肌6通道sEMG信号和肩关节、肘关节以及腕关节3关节角度可以分为两部分,第一部分为训练数据,第二部分为测试数据。
为了进一步说明GRNN预测模型对上肢关节角预测的优越性,将GRNN与RBF的预测效果与实际的关节角对比,两组对比实验的数据为同一个人的同一组肌电信号及关节角度。图7(a)为肩关节角度预测对比图,图7(b)为肘关节角度预测对比图,图7(c)为腕关节角度预测对比图,图中的蓝色虚线是实际关节角度曲线,红色实线为GRNN关节预测曲线,黑色点划线为RBF关节预测曲线。
图7 肩关节、肘关节和腕关节角度预测曲线
如图7(a)所示,提出的GRNN获得的肩关节角度预测曲线与真实测量数据偏差较小。局部放大图中,在6.5~9 s,RBF的波动较大,与实际关节角度相差也比较大,而GRNN在这个时间范围内基本与实际肩关节角度重合,曲线比较平滑。同样在其他的波峰波谷位置,GRNN的跟踪效果也比较好,15 s之后的部分,RBF波动非常大,跟踪效果不好。图7(b)为GRNN和RBF对肘关节角度预测的对比图。在6.5 s左右的波峰位置,GRNN的跟踪效果比RBF好,在其他的波峰波谷位置,RBF的跟踪效果也不如GRNN理想。在15 s之后,两者的波动都比较大,但是RBF的峰值过高。对于腕关节,同上述两关节一样,GRNN的跟踪效果比RBF好。在图7(c)的局部放大位置,在波峰波谷位置,GRNN的波动较小。而RBF虽然能够跟踪,但是波动较大,特别是在15 s之后。综上所述,GRNN比RBF的预测效果好。这是因为GRNN具有很强的非线性映射能力,而且,GRNN可以处理不稳定的数据。尤其GRNN对肩关节角度的估计效果最好,但是3个关节角度的估计效果都比RBF理想,直观验证了该模型对上肢关节角度预测的优越性。
分别对预测的肩关节、肘关节、腕关节和实际关节角度做差,如图8所示为上肢3关节的角度误差曲线图。
图8 肩关节、肘关节和腕关节角度预测误差曲线
图8(a)中的红色实线为GRNN模型的角度误差曲线,黑色虚线为RBF模型的角度误差曲线。如图8(a)及图8(b)的局部放大图所示,GRNN在起始位置能够很快地跟踪实际的关节角度,而RBF在起始位置变化比较大很难及时跟踪实际关节角度。在17 s之前,GRNN的误差曲线比RBF起伏小;尤其是在17~25 s,RBF的误差很大,波动也很大,在波峰以及波谷位置效果也比较差。由图8(c)所示,对于腕关节,GRNN的误差相对RBF较小,RBF在15 s之后振动比较大。综上所述,GRNN虽然也有比较大的震动,但是它可以很快跟上实际的关节角度。这是因为RBF需要先进行参数训练,确定隐藏层与输出层之间的权值,而GRNN不需要进行模型参数训练,因此收敛速度较快。GRNN算法能很好地对上肢的肩关节、肘关节、腕关节3个关节角度进行预测,尤其是肩关节的预测效果。相比RBF,它不仅跟踪速度快,而且误差小。
为了更进一步说明GRNN的预测效果,将均方根误差(root-mean-square error,RMSE)作为预测精度的指标。均方根误差的计算结果如表1所示。
表1 均方根误差对比
从表1可以看出,GRNN相比RBF预测的3个关节角度的均方根误差均小,肩关节、肘关节、腕关节的预测精度分别提高了55.15%、52.03%、62.36%,这是因为GRNN模型参数不需要训练,因此跟踪速度快,并且GRNN非线性引射能力很好,可以处理不稳定的数据。因此,GRNN可以实现关节角度的预测。
4 结论
针对上肢关节角度预测问题,利用GRNN神经网络建立了sEMG信号与上肢关节运动角度之间的非线性关系,并且通过与RBF的关节角度预测和误差分析两类对比实验,可以得出以下结论。
(1)GRNN跟踪效果好,仿真曲线的收敛速度很快,因此GRNN可以预测上肢关节角度。
(2)与RBF做对比,从关节角度预测曲线、角度预测误差曲线及误差精度对比,可以看出GRNN角度预测效果优于RBF。
未来的工作将会结合上肢康复机器人的动力学模型,设计人机交互控制器,实现上肢康复机器人的柔顺训练。研究成果可用于医疗康复领域,sEMG控制假肢手方面,可以帮助患者恢复上肢关节的运动功能或增加假肢手的操作灵活性。