田浪博,赵耀,邱月,胡命嘉,宫玉琳
(长春理工大学 电子信息工程学院,长春 130022)
手在人们的日常生产生活中扮演着不可或缺的角色,是人体与外界交流的媒介之一,因此上肢残缺丧失了日常生活的能力,降低了生活的幸福感。得益于人工智能、深度学习等技术的迅猛发展,智能假肢开始出现在残疾人群的日常生活中,有效改善了肢体残疾人群的生活质量。表面肌电信号(Surface Electromyography Signal,sEMG)能有效地反映出人体在动作的生理变化,在智能假肢控制领域意义重大[1]。
表面肌电(sEMG)信号是骨骼肌收缩时,在皮肤表面利用肌电传感器以无创的方式记录下来的生物电信号,其中蕴含着丰富的与神经肌肉活动、运动意图相关的信息,成为控制假手的理想信号源[2-3]。利用特征提取和模式识别技术,对不同手势动作过程中产生的肌电信号实现自动识别、分类,这正是基于sEMG实现智能假手控制的关键所在[4]。
目前,基于表面肌电信号的手臂动作识别主要分为上肢大幅度动作模式和手指精细动作两种。文献[5]对小臂旋前/后、腕部弯曲/伸展等8种上肢大幅度动作模式进行分类,其正确识别率达到73%~97%。文献[6]对8通道的sEMG提取时域特征,再结合粒子群(PSO)优化算法和蚁群(ACO)优化算法,利用SVM、LDA以及朴素贝叶斯(NB)搭建手势分类模型,其准确率最高达到了95%。
根据现阶段研究现状,本文提出一种基于多通道表面肌电信号的手势识别研究方案。利用优化后的支持向量机对多种手指动作进行分类,搭建手势分类识别模型,为后续智能假肢的实时控制奠定基础。
以往文献在获取sEMG数据时,多为自行设定手势动作,采用不同种肌电电极获取动作时产生的表面肌电信号,对手势动作以及信号采集缺少规范性的设定,本文截取了Ninapro数据库的部分数据进行实验分析。NinaPro数据库[7]是一个基于多种稀疏多通道肌电信号的手势识别的标准数据集,其主旨是为科研人员提供实验数据,方便实验的进行。
本文选用了数据库中DB5数据的部分进行实验,具体手势动作如图1所示。DB5数据集是由双MYO臂环完成信号采集,单个臂环包含有8个通道,其采样频率为200 Hz。数据集中包含有10个健全测试者右利手的52种手势动作,每种动作重复6次且每次持续5 s,为降低采集过程中测试者的肌肉疲劳程度,每次动作后休息3 s。
图1 Ninapro数据库部分动作示意图
sEMG是一种及其微弱的信号,易受到电路以及外界环境的干扰,其中以工频干扰、基线漂移等干扰最为严重[8]。其频谱范围在0~1 000 Hz之间且主要能量集中在20~200 Hz之间,由于MYO臂环系统已完成50 Hz的工频率波,因此再对信号进行截止频率为20 Hz的巴特沃斯高通滤波。
sEMG中的一次完整动作包括有活动段信号和静息段信号两个部分。活动段信号为肌肉运动时产生的生理电信号,平均能量高,而静息段信号为肢体放松时产生的电信号,其中包含有肢体的噪声信号,且平均能量低[9]。为降低噪声对实验结果的影响以及模型的数据处理量,本文选用移动平均能量法与阈值法进行活动段检测,具体步骤如下:
(1)先计算各通道sEMG信号序列St(i)的差分平方和的均值,得到信号瞬时平均能量Saver(i),其中N为MYO臂环的通道总数,i为当前信号序列的标号,t的取值范围为1≤t≤N,如式(1)所示:
(2)取固定窗口长为L=128的移动窗对瞬时能量按照式(2)依次计算窗长内的能量均值:
(3)设置合适的能量幅度阈值YZ对经移动平均后的能量均值进行判别,如式(3)所示,保留大于阈值的信号点,将低于阈值的信号点置零,依此确定活动段的起始点与终止点,同时设定活动段长度阈值TH,将小于TH的活动段作为判断错误舍弃。
特征提取在手势识别中是不可或缺的一部分,能更大程度上展现不同手势动作间的区别,提高动作的识别率。目前常用的特征种类包含有时域、频域、时频域特征、非线性分析以及参数模型五大类[10]。
本文选取了时域特征中的绝对均值(MAV)、波形长度(WL)、均方根(RMS)、过零点数(ZC)、斜率符号变化(SSC)以及小波包系数能量作为特征参数。其中5种时域特征如式(4)-式(8)所示:
sEMG中蕴含的动作特征信息是由原始信号和小波包基函数共同决定的。不同的小波包基的性质各不相同,反映信号特征的能力也不相同。以往研究表明,Daubechies系列基函数与运动单元动作电位的形状最为相似[11],故本文选择Db2作为小波包基函数,提取小波包系数的能量作为时频域特征,为降低数据处理量,本文对肌电信号进行2层分解。小波包系数的计算如下:
其中,h(m-2l)和g(m-2l)是尺度级数p下的两组函数;p代表级数。
SVM的基本理论是通过寻找最优分类面来实现对未知样本数据的分类。即在特征空间中寻找一个最优分类超平面,使两类样本特征的几何间隔最大。在线性可分的情况下,将最优分类超平面ω×xi+b=0归一化后,对样本集数据(xi,yi),i=1,2,…,n,x∈Rd,yϵ[-1,+1]进行分类为两样本数据到超平面的几何距离。分类间隔最大就等价于最小化‖ω‖,因此得到一个带约束的优化问题:
其中,ω为最优超平面的法向量;b为阈值;b∈Rd。
对于SVM的线性不可分问题,应当引入松弛变量φi≥0(i=1,2,…,n)和惩罚函数C,则超平面的求解公式为:
映射核函数选用高斯径向基核函数:
其中,σ为核函数参数。
3.2.1 Grid Search-SVM原理
影响SVM分类器性能的关键参数是惩罚函数C和核函数参数g,其中C表示模型对误差的容忍度[12]。C值太大容易导致过拟合的现象,使得测试集的数据分类效果不佳;C值太小容易导致欠拟合,模型不能有效捕捉样本的数据特征,泛化能力变差。g是选择RBF函数作为kernel后,该函数自带的一个参数,隐含地决定了数据映射到新的特征空间后的分布,g越大,支持向量越少,g值越小,支持向量越多。g值过大过小,表明原始样本被映射至并不适用的高维空间,无法建立较优的分类模型。
Grid Search是用在Libsvm中的参数搜索方法,在C和g组成的二维参数矩阵中,依次搜索网格内所有点进行取值,对于取定的C和g利用K-CV方法取得在此组C和g下训练集验证分类准确率,最终取得使训练集验证分类准确率最高的那组C和g作为最佳参数。使用Grid Search算法可以达到全局最优,且C和g相互独立[13-14]。
3.2.2 Grid Search-SVM模型建立
在模型的建立过程中,导入提取的特征参数,在进行归一化处理后,引入RBF核函数,将特征参数映射到高维空间,再进行SVM模型训练,参数寻优以及模型验证,整个版型的预测模型如图2所示。
(1)选定训练集与测试集,对数据集进行划分。
(2)样本数据预处理:为避免各个样本因子之间量级的差异,减少样本之间的相互影响,同时保证程序运行收敛加快,需对样本因子进行归一化处理。
其中,x、min(x)、max(x)分别是原始样本数据及其最小值、最大值;max(y)、min(y)分别为归一化后样本的最大值与最小值。
(3)引入径向基核函数RBF,通过调整g参数实现样本从低维空间到高维空间的映射,从而实现线性可分。
(4)使用二度Grid Search算法进行SVM模型训练及C和g参数寻优。粗略搜索阶段:定义初始网格,设置大步距,获得局部最优参数区间;精细搜索阶段:以最优参数组为搜索中心,设置小步距,不断扩大搜索范围,逐步跳出局部最优,获得全局最优解,从而实现分类效果最优。
由1.2节分析中,在已完成50 Hz工频陷波的基础上,对肌电信号进行高通滤波,滤除20 Hz以下部分。图3为原始信号的时域图和已完成滤波后信号的时域图,图4为原始信号的频谱图和已完成滤波后信号的频谱图。由图3、图4可知,通过高通滤波能有效地滤除部分噪声,对后续动作的高效识别奠定了基础。
图3 滤波前后信号时域图
图4 滤波前后信号频谱示意图
根据1.3节所述原理,通过设置能量幅度阈值YZ,舍弃部分由噪声影响而误判的动作活动段,再通过活动段长度阈值TH将由肢体抖动而误判的活动段滤除,进一步提高手势分类的正确率。图5、图6为取阈值前后动作段的能量幅度图。
图5 信号能量均值幅度图
图6 取阈值后能量均值幅度图
在经Grid Search对SVM优化的过程中,本文具体进行以下操作:
(1)首先设定参数C和g的初始网格搜索范围及其初始步长。其中,C和g的初始网格搜索范围为[2-10,210],初始步长设定为4,通过交叉验证方法获得小范围最优参数。
(2)在初始小范围的最优参数中,再进行精确网格搜索,其中C的网格搜索范围为[2-2,24],g的网格搜索范围为[2-4,24],搜索步长设为0.02。
(3)将最终得到最优C和g导入到SVM的参数组,最终建立最优的Grid Search-SVM动作分类模型。
如图7所示,当训练数据占比为66.7%,是否经过优化,动作分类模型的实验结果。在SVM分类器未经优化时,准确率仅为73.61%;在通过Grid Search对SVM分类器优化后,准确率达到了90%。
图7 分类模型试验结果
如图8所示为当训练数据占比为88.3%,是否完成优化,动作分类模型的实验结果。在SVM分类器未经优化时,准确率为77.78%;在Grid Search对SVM分类器完成参数寻优后,优化后的分类模型准确率达到了97.22%。
图8 分类模型试验结果
由图7、图8可知,未经优化时,SVM分类器的平均识别率为72.24%,在Grid Search对SVM完成优化后,分类模型的平均识别率达到了93.61%。由此可见Grid Search能对SVM分类器有较好的优化作用。优化后的动作分类模型达到了实验的标准,也为后续实时控制假肢提供了实验经验。
从上述研究结果总结发现,SVM作为分类器能有效的对各种动作进行分类,但分类效果不甚理想。经Grid Search对SVM分类器进行参数寻优后,分类器能有效的区分各种动作。但在实验过程中,实验处理时间较长,未能达到实时控制假肢动作的要求,需要在后续实验过程进行有效解决。