龙远强, 蔡家斌, 潘 正, 王 凯, 李 芳
(贵州大学机械工程学院,贵阳 550025)
表面肌电(surface electromyography, s EMG)信号是在中枢神经系统控制下,肌肉收缩过程中运动单元电位叠加的电压信号[1]。s EMG信号获取简单、灵活性大、灵敏度和分辨率高的优点[2],因此被广泛应用于模式识别、医疗康复训练、肌电假肢和智能助力器等重要领域。例如,谢平等[3]通过一种熵指标来定量描述s EMG信号内在的动力学特性,利用SVM对指定动作进行模式识别;侯文生等[4]以s EMG信号的均方根(RMS)为特征参数研究了手部握力大小与前臂肌肉活动的相关性,结果表明通过s EMG信号的特征参数能预测握力大小;Noh等[5]以s EMG信号的均值、方差、均方根为特征向量,通过支持向量机实现常见4种手势(握拳、张手、弯曲和伸展)和3种不同力量强度的识别,其识别准确率分别达到95%和90%。尤波等[6]以s EMG信号的方差(VAR)作为特征向量,利用改进的BP神经网络对环型抓取、捏取、五指伸展、竖拇指4种指定动作进行模式识别,识别准确率平均为94.34%;史小华等[7]提出一种基于s EMG信号的下肢主动训练模式,利用BP神经网络识别患者的运动意图,将识别结果作为驱动电机的信号源,实现对患者的主动训练;宋月鹏等[8]以s EMG信号判断小臂运动方式,并将结果作为信号源来控制小臂助力器的电机推动,准确地实现助力功能;张冰珂等[9]利用线性判别分析和人工神经网络的方法,实现肌电控制的假肢中进行抓握识别和力大小估计,其识别准确率达到77.8%和90%,不仅识别了假肢使用者的抓取动作意图,还预测了抓取力的大小,实现了假肢的平稳抓取。目前的研究中,大多数都是在无负载情况下通过s EMG信号来识别人的主动意图,但是在一定负载条件下进行主动意图识别,如何以s EMG信号识别负载的大小是实现主动意图的关键。因此,运用s EMG信号来识别外加负载大小的研究对上述s EMG信号应用领域均具有重要意义。
现主要研究人体肘关节在不同负载条件下做屈伸运动时,通过对手臂4个不同部位的s EMG信号进行分析,从而识别出相应的负载情况。并运用MATLAB软件对采集的原始信号进行滤波、去燥和分割等前处理,分别从时域、频域上提取s EMG信号的特征值作为原始信号的特征向量,再利用神经网络和支持向量机对特征向量进行模式识别,进行对比分析得出更优的负载模式识别结果,可以将其辅助应用于上述各领域。
基于s EMG信号对手臂在不同负载情况下的识别主要包括两部分:①s EMG信号的前处理得到可以代表原始信号的特征向量;②利用特征向量进行负载模式识别。方法流程图如图1所示。
图1 方法流程图Fig.1 Method flow chart
使用的s EMG信号采集仪是安徽埃力智能科技有限公司的JE—CB0820型表面肌电仪,采样频率1 000 Hz,同时采集4通道的s EMG信号。受测试者为身体健康的男生4人,女生2人,年龄在20~30岁,在采集信号之前,均对受测试者进行规范动作教程,并对采集部位(肱二头肌、肱三头肌、肱桡肌、肱侧腕屈肌)表面使用酒精清洁,涂上甘油,以减小皮肤表面阻抗,增强导电性。
将电极分别贴于右臂的肱二头肌、肱三头肌、肱桡肌、肱侧腕屈肌的中间位置,每个测试部位所放的电极(3个)之间的间距不宜太大,主要是使提取的信号更加准确。在测试之前,受测试者自然坐下,右臂平放在桌面上并保持放松。每人分别做无负载、负载1 kg和负载5 kg的3组测试,每组反复完成右臂的伸展弯曲动作10次,每次间隔大约1 s,信号采集过程如图 2所示。为防止肌肉出现疲劳,在完成每组测量后需要进行3 min的间隙休息,记录实验数据,采集信号如图3所示。
图2 信号采集过程Fig.2 Signal acquisition process
图3 原始信号Fig.3 Original signal
从手臂四块肌肉采集的s EMG信号有着明显地波峰、波谷,可以明显地看出是10组类似的波峰,可以正确地反映受测试者在实验中做的10次伸展弯曲运动。
s EMG信号是由于神经产生兴奋最终控制肌肉组织收缩与舒张运动从而产生一系列的动作电位,是一种很微弱的生物信号,其振幅平均值一般在微伏到毫伏之间[10]。所以,在测量时很容易受到外界环境噪声、心电信号和运动失真噪声等的干扰[11-12]。
由于s EMG信号属于低频弱信号,其有用的成分主要集中在0~500 Hz,能量主要集中在20~300 Hz[13]。根据采集信号的自身实际情况,运用MATLAB软件设计巴特沃斯带通滤波器和50 Hz陷波器[14],对采集的s EMG信号进行10~450 Hz带通滤波,滤除高频干扰载;50 Hz陷波处理,滤除工频干扰,滤波后信号如图 4所示。
经过滤波后的s EMG信号和原始信号相比,其高频、低频噪音部分被滤除,每组波峰的能量更集中,波峰之间更加明确,使后面的信号分割与特征提取更加方便、更可靠。
图4 滤波信号Fig.4 Filtering signal
1.3.1 s EMG信号的分割
研究肘关节肌电信号与肌肉力的关系,需要在不同负载下连续测量肘关节反复做伸展弯曲运动时的肌电信号。只有针对在肘关节做一个完整周期的伸展弯屈运动时获得的肌电信号才具有一定的分析价值,所以需要把得到的原始信号分割为10个完整的屈展运动。
通过建立阈值来进行数据分割是最直接常用的方法,其中设置肌电信号起始阈值的方法很多,最简单的方法就是使用单阈值法进行分割。但单阈值法灵敏度较高的[15],因此,采用双阈值法来解决这一缺陷[16],双阈值法的原理和单阈值法一样。双阈值法原理如下:被测s EMG信号只有在超过第一个阈值时才开始测量,如果被测s EMG信号的连续样本数或时间长度超过第二个阈值,则将被测s EMG信号第一次超过第一次阈值的样本或时间设置为激活时间的开始[5]。双阈值法公式如下所示:
(1)
(2)
(3)
(4)
(5)
τ0n=τ0,m≥h2
(6)
图5 分割信号Fig.5 Segmentation signal
单独分割s EMG信号的一组波峰是受测试者做一次完整的伸展弯曲运动,可以看出其信号的能量主要集中在肘关节弯曲部分,这和实验相吻合,对其分割信号进行分析具有可靠性。
1.3.2 s EMG信号特征提取
经过对s EMG信号进行分割处理后,针对每段信号在时域、频域上进行分析,选取信号的积分肌电值(IEMG)、均方根值(RMS)、方差(VAR)、均值绝对值(MAV)、平均功率频率(MPF)、中值频率(MF)构成特征向量,进行负载模式识别。
(1)积分肌电值描述的是在一段时间内s EMG信号曲线与时间轴所包围的面积总和,其计算公式为
(7)
(2)均方根值和方差都是描述s EMG信号振幅的变化情况,但两者侧重不一样,其计算公式为
(8)
(9)
(3)均值绝对值计算公式为
(10)
(4)中值频率、平均功率频率计算公式为
(11)
(12)
式中:f为s EMG信号的频率;P(f)为s EMG信号的功率谱密度函数。
根据介绍的特征提取方法,对分割后的s EMG信号进行时域、频域上的特征提取。时域特征由各通道s EMG信号的积分肌电值、均方根值、方差、均值绝对值4个特征组成,4通道信号合成的时域特征向量V1为16维。
V1=[IEMG1,IEMG2,…,IEMG4,RMS1,RMS2,…,RMS4,VAR1,VAR2,…,VAR4,MAV1,MAV2,…,MAV4]
(13)
频域特征由各通道s EMG信号的平均功率频率、中值频率2个特征组成,4通道信号合成的频域特征向量V2为8维,把时域和频域的特征向量构成一组24维的特征向量V,即为时-频域特征向量。
V2=[MPF1,MPF2,…,MPF4,MF1,MF2,…,MF4]
(14)
V=[IEMG1,IEMG2,…,IEMG4,RMS1,RMS2,…,RMS4,VAR1,VAR2,…,VAR4,MAV1,MAV2,…,MAV,MPF1,MPF2,…,MPF4,MF1,MF2,…,MF4]
(15)
采用上述3种特征值提取方法提取不同负载情况下的特征向量,作为负载模式识别分类器的输入向量,其频域的具体数据如表 1所示。
1.4.1 支持向量机分类算法
支持向量机(support vector machine, SVM)主要是对两类问题的分类,针对多类问题的分类需要重新构造SVM分类器求解,目前主流选用的是通过组合多个二值子分类器实现对多值分类器的构造,该方法主要有两支算法,具体构造方法是一对多和一对一,本文采用的是一对一构造方法构造SVM分类器。一对一构造方法是在样本N类中构造出所有可能的两类分类器,每一次训练只需在N类样本中的两类样本上,训练结果一共是构造了N(N-1)/2个分类器,然后再组合这些两类分类器并使用投票的方法进行归类,得票最多的一类为新点,通过设函数fij(x)对i和j两类样本进行分类。若fij(x)>0,则判定x属于第i类,记i类得一票;反之判定x属于第j类,记j类得一票。最后在决策树时,比较哪一类得到的票最多,则将检测样本归属到该类[17]。算法演示图如图 6所示。
1.4.2 神经网络分类算法
BP神经网络是由Rumelhart首次提出的一种基于误差逆向修正多次反馈的网络,其优越的分类能力和多维的函数映射能力被广泛地应用到模式识别领域。BP神经网络结构分为输入层、隐含层和输出层,在隐含层神经元个数可以根据实际需求进行调整的前提下,其可以逼近任意的非线性映射函数,且具有一定的容错能力。BP神经网络拓扑结构图如图7所示。
表1 各个通道的频域特征值Table 1 Frequency domain eigenvalues of each channel
图6 一对一算法演示Fig.6 One-to-one algorithm demonstration
图7 BP神经网络的拓扑结构Fig.7 Topological structure of BP neural network
本实验中{x1,x2,…,x24}表示24维的特征向量输入,隐含层节点数选为15,{y1,y2,y3}表示3类输出。
相比于BP神经网络,RBF神经网络的泛化能力更强,同时RBF神经网络能以高精度逼近任意非线性函数,其全局逼近能力解决了BP神经网络陷于局部最优问题,而且RBF神经网络的拓扑结构更紧凑,其结构参数可实现分离学习,收敛速度更快。
根据6个人的测试s EMG信号,无负载、负载1 kg、负载5 kg每种负载模式对应60组,分别从每种负载模式中取其70%构成特征向量作为训练集,其余的30%特征向量作为测试集。表2是以时域特征V1(126×16)为特征向量,54组测试集在SVM模式分类器中得到的识别结果。可见:平均识别正确率为96.3%,识别结果较为理想。
表2 时域特征在SVM分类器中识别结果Table 2 Recognition results of time domain features in SVM classifier
将文中提取的时域特征V1(180×16)作为特征向量分别输入常用BP神经网络、RBF神经网络分类器与SVM分类器进行对比实验分析,结果如表3所示。可见:以时域特征为输入特征向量,SVM分类器的平均识别准确率为95.8%,其识别效果明显优于BP神经网络和RBF神经网络,SVM分类器的预测结果如图 8所示。
表3 时域上不同分类器的识别结果Table 3 Recognition results of different classifiers in time domain
测试集SVM预测结果对比(时域)准确率=96.153 8%图8 时域上SVM识别结果Fig.8 SVM recognition results in time domain
将提取的频域特征V2(180×8)作为特征向量分别输入SVM分类器、BP神经网络和RBF神经网络分类器进行对比试验分析,结果如表 4所示。可见:以频域特征为输入特征向量,BP神经网络分类器的识别准确率为80.9%,SVM分类器和RBF神经网络分类器的识别率均不太理想。
表4 频域上不同分类器识别结果Table 4 Recognition results of different classifiers in frequency domain
将提取的时/频域特征V(180×24)作为特征向量分别输入SVM分类器、BP神经网络和RBF神经网络分类器进行对比试验分析,结果如表5所示。可见:以频域特征为输入特征向量,BP神经网络的识别率为89.6%,RBF神经网络分类器的识别准确率为90.7%,其识别效果均优于SVM分类器。
表5 时/频域上不同分类器识别结果Table 5 Recognition results of different classifiers in time/frequency domain
通过以上的对比实验可以发现,分类器的识别准确率和特征向量密切相关,以单一时域上的特征值为特征向量进行识别,SVM分类器的识别效果最好,识别准确率为96.2%;以单一频域上的特征值为特征向量进行识别,3个分类器的识别效果均不太理想;以时域和频域上的特征值融合后为特征向量进行模式识别,RBF神经网络的识别效果最好,识别准确率为90.7%,BP神经网络的识别效果次之,识别准确率为89.6%,其训练状态如图 9所示。
图9 BP神经网络训练状态Fig.9 Training state of BP neural network
BP神经网络是从输入到输出需要采用相应的权重w和偏置项b,用于前反馈和后传播的参数调整,可以对非线性映射函数进行逼近,且具有一定的泛化能力,对其进行结构性能分析,预测结果与实际结果之间的误差分布图如图 10所示。
BP神经网络训练的最佳逼近误差为0.03,目标误差为0.001,效果一般,结果分析如图 11所示,而RBF神经网络的训练逼近误差达到0.003,接近目标误差,结果分析如图 12所示,所以说RBF神经网络的性能比BP神经网络好。
图10 BP神经网络误差分布图Fig.10 Error distribution map of BP Neural Network
图11 BP神经网络的逼近误差Fig.11 Approximation error of BP neural network
图12 BRF神经网络的逼近误差Fig.12 Approximation error of BRF neural network
综上所述,在时域特征上SVM的识别能力最好,达到96.2%,时-频域特征上RBF神经网络比BP神经网络识别能力好,达到90.4%,训练误差为0.003。
(1)提出了一种基于s EMG信号的负载识别方法。通过提取不同负载下肘关节s EMG信号的特征向量,并利用SVM、BP神经网络和RBF神经网络进行分类识别,其准确率达到90%以上,具有一定的可行性。
(2)通过实验表明,通过sEMG信号来识别负载大小,以单一时域特征向量输入,SVM的识别能力最佳,准确率为96.2%;以单一的频域特征向量输入,BP神经网络的识别能力最佳,准确率为87.5%;以时域、频域组合特征向量输入,RBF神经网络的识别能力最佳,准确率为90.4%。综上所述,基于s EMG信号进行负载识别对医疗训练、智能假肢和智能助力器等领域具有重要意义。