季祥,白端元
(长春理工大学 电子信息工程学院,长春 130022)
表面肌电信号(Surface Electromyography,sEMG)是在人体皮肤表面的一种生物电信号,其随着肌肉活动产生,且由传感器探测,其形式和振幅直接反映了肌肉的运动状态,通过分析不同类型动作的sEMG差异,即可识别出人体的运动模式、或提前预测其活动意愿[1-2]。因此,基于sEMG信号的人体动作识别已成为人机交互、康复医学等领域研究的热点问题之一。
目前,业界主要采用模式识别方法对sEMG信号展开研究,并取得了一定的成果。例如,文献[3]通过提取手臂4通道sEMG信号的AR特征,以用于高斯分类器来进行识别,准确率达到90%以上;文献[4]重点探究了信号的5种特征参量的融合效果,采用LDA分类器验证了在不同特征组合和维数下的分类结果。文献[5]提出运用AdaBoost算法对肌电信号进行特征提取,并分析了在疲劳肌肉肌电信号干扰下该方法的效果。
其中对表面肌电信号进行特征提取主要是为后续分类器的构造提供可靠的数据,以便减少训练时间和提高动作模式识别的准确率。当前,常用于动作分类的算法主要有支持向量机(Support Vector Machine,SVM)和神经网络(Neural Network)等。例如,文献[6]提出引入交叉熵函数对人工神经网络进行正则化处理以提高网络的识别准确率,并将其成功应用于手部动作识别。文献[7]分别利用BP神经网络和极限学习机(ELM)两种方法进行肌电信号的模式识别,并比较两种方法在识别率和识别时间的差异。文献[8]对高斯核函数进行改进,并采用二叉树方法构建多类支持向量机完成12种上肢姿态的分类。然而,神经网络存在收敛较慢,极易陷入局部最优点和过拟合的问题,从而导致分类性能不稳定;支持向量机虽然具有较好的非线性分类能力,但是其在面对不平衡数据集和多分类问题时,难以达到最佳分类能力,需要科研人员进行进一步的研究。
针对上述问题,本文提出运用向量正则核函数逼近方法(Vector-Valued Regularized Kernel Function Approximation,VVRKFA)作为分类器,并采用花授粉算法[9](Flower Pollination Algorithm,FPA)优化分类器参数,最终对人体动作模式进行识别,取得了较好的分类效果。
本文提出一种基于肌电信号的手势动作识别方法,其主要分为肌电信号的采集、活动段检测、特征提取及手势识别。总体方案如图1所示。
图1 总体方案图
具体步骤为:
(1)采集手部在不同动作模式下活动肌肉群所产生的肌电信号,并将信号通过接口协议传输给上位机;
(2)对信号进行活动段检测,筛选出手部动作时生成的数据片段,剔除受试者休息时产生的数据片段;随后对活动段数据进行特征提取,抽取出反映手部姿态的关键性信息;
(3)利用已知动作模式的实验数据对分类进行训练,待分类器模型训练完成后,运行模型对肌电信号进行手势识别。
为了保证实验结果的可靠性和对比效果,本文对照NinaPro肌电信号基准数据集中Exercise A中的1-6号手势动作采集原始的sEMG信号。六种手势动作如图2所示。
图2 六种手势动作示意图
在数据采集过程中,本文采用Thalmic Labs公司开发的MYO臂环。让每位受试者佩戴一个MYO臂环,其中8个传感器通过弹簧扣等距离排列在一起,并通过蓝牙将采集到的肌电数据传送给上位机。实验过程中,要求受试者用右手依次做出上述6种手势动作,并规定放松-动作-放松为一次完整的动作,每个动作重复持续5秒,然后休息3秒,每种手势重复36次,这样每种手势收集36个肌电信号,总共采集216个肌电信号样本。
上位机接收的肌电信号是连续变换的,其中包含肌肉静息和收缩状态下产生的数据,因此判断手部动作开始和终止的信号动作区间,即活动段,是进行特征提取及后续动作分类的必要操作。对此,本文提出采用差分能量滑动平均方法以提取活动段数据[10],详细步骤如下:
(1)首先对单个通道肌电数据sk(i)进行差分,并计算平方能量后,将所有通道数据相加并平均,以获得如下的瞬时平均能量序列SA_E:
式中,1≤k≤C;C是肌电信号通道数;i是肌电信号中的数据点序列号。
(2)应用滑动窗对序列SA_E进行截取,并计算窗口内的能量均值:
式中,N=128为滑动窗长度。
(3)设置阈值Th对能量均值序列进行判断,判断结果如下:
通过保留大于阈值的数据,丢弃低于阈值的数据,从而可以有效地剔除掉手部肌肉在静息状态下所产生的干扰信号,最终识别出肌电信号中活动段。此外,本文对获取的活动段进行长度阈值判定,保留大于设定长度的活动段数据,舍弃小于设定长度的活动段数据。
相较于其他类型特征,时域特征计算速度更快,能在较大程度上揭示肌电数据的内在特征[11],因此,本文通过比较分析,选择平均绝对值(MAV)、波形长度(WL)、过零点数(ZC)、均方根(RMS)及Willison幅值(MAMP)作为后续分类器的输入特征,以进行手势识别。
对提取到的sEMG信号进行分类识别时应用VVRKFA分类算法,并采用花授粉算法优化分类器的主要参数,保证FPA-VVRKFA分类器的最佳分类能力,实现手部动作的分类。
VVRKFA方法中正则化参数和核函数参数是其较为重要的参数,采用人工方式难以确定合适的参数,现引入花授粉算法(FPA)对VVRKFA分类器进行优化,确定合适的参数。
在2010年,研究人员通过模拟自然界中花卉植物的授粉过程,提出花授粉算法,并将其应用到解决约束优化以及多目标优化等问题中。由于花授粉算法的结构简单、无需梯度信息、参数相对较少、易于实现等优点,因此也可以被应用于参数优化中。该算法主要具有如下四种规则:
(1)根据携带花粉的传播者依照莱维(Levy)飞行进行全局授粉,以此模拟生物的异花授粉过程。
(2)局部授粉是花卉植物因自然因素的自花授粉过程。
(3)花卉植物的常性指代繁衍概率,其值的大小与花卉植物的相似性具备一定的比例关系。
(4)因为花的授粉受到其他诸如位置及风等自然因素的影响,采用转换概率p∈[0 ,1]调节全局授粉和局部授粉之间的转换。
由于在全局授粉过程中,花粉传播者依据莱维飞行,进行长距离的移动。因此可以得到如下所示全局授粉过程的数学表达式:
式中,Γ(λ)为伽马函数;λ=1.5。
局部授粉过程可以由下式实现:
采用FPA对VVRKFA进行优化以获得误差最小的正则化参数和核函数参数,从而使得优化后的分类器能够取得更好的分类效果。算法整体步骤如图3所示。
图3 FPA优化VVRKFA参数优化流程图
其FPA对VVRKFA具体优化步骤如下:
(1)参数初始化。设置花粉种群规模N、花粉粒子维数及转换概率P等。
(2)求出初始种群的局部最优和全局最优花粉粒子。计算种群中每一个花粉粒子的适应度值,确定初始花粉种群此时局部最优和全局最优的花粉粒子。
(3)花粉粒子更新。当P>rand时,利用公式(15)进行全局授粉操作更新花粉粒子;当P (4)根据上一过程,即步骤(3)产生的花粉粒子的适应度进行计算。如果其新产生的花粉粒子的适应度相对当前的局部最优粒子的适应度较好,则用当前局部最优粒子被新产生的花粉粒子替换。如果其新产生的花粉粒子的适应度相对当前的全局最优粒子的适应度较好,则当前全局最优粒子被新产生的花粉粒子替换。 (5)检测是否满足终止条件。判断迭代次数是否达到最大,如果达到最大的迭代次数,则输出当前全局最优花粉粒子,否则返回步骤(3)。 根据上文论述所示,检测肌电信号的活动段,以获取动作的起始点和终止点。图4为将各个通道信号进行差分平方后求和平均,得到的反映信号瞬时平均能量序列的波形图。图5为将低于阈值的信号点置零后获得的平均能量序列的波形图。根据信号零点即可确定出动作信号起始点与终止点。 图4 瞬时平均能量序列波形图 图5 置零后瞬时平均能量序列波形图 实验中,通过MATLAB软件进行仿真,将活动段肌电信号提取时域特征后分别输入到花授粉算法优化的向量正则核函数逼近方法分类器(FPA-VVRKFA)及粒子群算法优化的支持向量机分类器(PSO-SVM)中,两种分类器在训练过程中分别采用合适的算法来优化参数以保证获得最佳分类性能,以此作为对照从而对比本文分类器构造方法的性能。 根据6种手势每种动作重复36次,总共采集216个肌电信号样本。然后从每种动作模式选取6个样本,一共36个样本作为分类器的训练数据,其余180个样本作为分类器的测试数据。算法优化过程中,种群大小设置为10,迭代次数设置为100。花授粉算法优化参数的迭代过程如图6所示,其中FPA-VVRKFA分类器很快达到最佳适应度,即得到最佳分类性能的参数。以得到的最佳参数构建FPA-VVRKFA分类器,并将其应用到测试集,测试结果如图7所示,其中仅有9个样本被错分,整个测试集的准确率达到95%。 图6 FPA优化VVRKFA参数适应度曲线图 图7 FPA-VVRKFA分类结果 对于SVM分类器,粒子群算法优化SVM分类器参数的迭代过程如图8所示,其中最佳适应度仅达到80%,远远低于FPA-VVRKFA,这说明在小样本训练集时,FPA-VVRKFA的分类能力较好。图9所示为PSO-SVM分类器在测试集下的分类结果。其中PSO-SVM分类器的准确率为81.67%,也低于VVRKFA分类器。 图8 PSO优化SVM参数适应度曲线图 图9 PSO-SVM分类结果 综上而言,本文所提出的FPA-VVRKFA方法在有限样本情况下的实验过程中取得了较好的分类效果。 本文采用MYO传感器臂环采集实验人员不同手势下的表面肌电信号,随后对采集到的数据进行活动段分割,以提取出动作信号区域,并设计出一种基于时域特征的分类算法;该分类算法主要采用正则核函数逼近方法作为分类器,同时运用花授粉算法优化分类器基本参数以获得最佳分类能力;最终实现对肌电信号的手势分类和识别,并达到了较好的效果。3 实验结果分析
3.1 肌电信号活动段检测
3.2 手势动作识别结果分析
4 结论