APP下载

基于SEMG的人手手内动作识别

2021-04-15薛亚许杜豪杰王雪晴

计算机应用与软件 2021年4期
关键词:人手识别率分类器

薛亚许 杨 光 杜豪杰 王雪晴

(平顶山学院电气与机械工程学院 河南 平顶山 467000)

0 引 言

SEMG是通过电极采集浅层肌肉和神经干活动在皮肤表面的生物电信号,并将其记录、滤波、放大、传输和反馈,从而实现肌肉功能的评定和模拟[1]。由于人手在进行物体操作过程中的SEMG信号较微弱,易受干扰(噪声、电磁干扰等),测量难度大,如何有效地对其进行信号采集、特征提取和不同人手动作的分类已成为实现手势识别的关键。

目前常用的SEMG信号采集装置,大多采用导线传输的方式将采集到的SEMG信号存储到数据采集卡或特定的医疗器械中进行分析处理,电极片贴附于目标肌肉的表面,并采用市电作为电极供电电源[2]。因此,这些采集装置在SEMG信号采集过程中不可避免地存在着电极移位、工频干扰和电磁干扰等显著缺点。

人手对物体的操作是通过手指、手掌之间协调完成,多通道SEMG信号采集可保证整体人手运动状态中肌电活动的信息复杂性。Xue等[3]采用6种典型的时域特征提取多模态感知信号,结合ADAG算法实现对十种人手动作的识别,平均识别率达到了94.57%。Wang等[4]提取加速度信号中的频域特征,通过概率神经网络对十种手势动作进行识别,识别率达到了98.75%。Chen等[5]结合三种特征类型的六种特征,对八种常见的康复训练手势通过BP神经网络进行识别,其中,DAMV+IAV+AR的特征组合获得的识别率最高,为97.71%。

为了能够精确地实现对人手手内动作的识别,各种各样的分类器比如神经网络、支持向量机和隐马尔可夫模型等被应用于SEMG信号的处理。实验结果表明了这些分类器都能够获得较高的动作分类精度,但较为复杂的结构可能会增加训练和测试时的时间和空间复杂度[6-9]。此外,它们大多针对无操作物情况下的单个肌肉收缩引起的动作分类,而多肌肉收缩结合的人手手内物体操作动作识别以及SEMG信号的不确定性比如肌肉疲劳、不同实验人员等尚未考虑在内。

SEMG信号由于具有高度非线性和非平稳特性,因此有必要采用非线性动态方法来表征SEMG信号。经验模态分解(EMD)算法是一种新型自适应信号时频处理方法,特别适用于非线性非平稳信号的分析处理。Lyapunov指数(LE)分析方法具有描述非平稳信号的非线性特性能力,被广泛应用于混沌系统的信号检测,比如脑电信号、SEMG信号和电弧电压信号等。文献[10-11]已经证实了LE分析方法可以检测肌肉疲劳等不确定性因素下引起的SEMG变化。随机森林(RF)作为一种非线性分类器,其结构模型较简单、参数少和训练速度快等特点,对于非线性SEMG 数据集进行回归和分类,能够取得较好的效果。通过对国内外相关文献的查阅发现,很少有研究人员采用EMD+MLE+RF方法来分析复杂人手手内动作。基于此,本文提出一种基于SEMG的人手手内动作识别系统,通过EMD+MLE+RF的非线性时序分析方法实现对十种自定义的复杂人手动作的识别。

1 方法设计

1.1 人手手内动作识别系统

本文提出一种基于SEMG的人手手内动作识别系统用于假肢手控制,如图1所示,其中Ch1-Ch6为采集通道,通过这六个通道来采集肌电信号。该系统主要分为五个部分:人体上肢、数据采集、数据预处理、特征提取、识别算法。

图1 人手手内动作识别系统框图

首先,SEMG采集装置获取十种定义的复杂人手动作信号;然后对采集的原始SEMG信号进行预处理和特征提取;最后通过识别算法对提取的特征进行动作分类,并验证其识别性能。

(1) 人体上肢:考虑到不同的操作任务涉及不同的抓取点、手指数、操作习惯等要素,为了更好地具有普适性,本文统一采用受试人员的右手作为测试手。受试人员的测试手没有过往神经病史,以保证信号采集的真实有效性。

(2) 数据采集及处理:SEMG采集装置用于获取十种典型的复杂人手动作信号,EMD算法首先对原始信号进行降噪处理,然后MLE算法对降噪后信号进行特征提取,从而获得用于人手动作分类的特征集。

(3) 动作识别:采用随机森林算法对特征集进行动作分类,并同其他机器学习算法比较,验证其效果。

1.2 数据采集

为了有效地采集包括转移、平移、旋转等经典手部特征动作,并结合常用的动作,本文设计了十种人手手内动作,如图2所示。本实验选取了十名健康的受试人员来参与数据的采集,其中8名为男性,2名为女性,平均年龄为25±3.6岁,身高为168±13 cm,体重为63±15.4 kg。每位受试人员对每种动作执行十次,在完成一种动作后,将有两分钟的休息时间,以避免肌肉疲劳对采集正确信号的干扰。

图2 十种自定义人手手内动作

本实验采用的ELONXI SEMG采集系统将采集到的SEMG信号通过无线传输到上位机进行分析处理。该系统主要包括肌电仪主设备、电极袖套、通用电极接口转换器、蓝牙适配器和电极连线。采样电极通过电极袖套固定,避免了电极移位。采用通用电极接口转换器实现电极供电,避免了工频干扰。十种自定义人手手内动作的采集过程为:首先,电极袖套正确套在右前臂,通过电极连接接口与肌电仪主设备;然后由蓝牙模块将6通道的肌电信号上传至上位机。该系统的分辨率为16位,采样频率位1 024 Hz。

1.3 信号预处理

经验模态分解算法最早是由Huang等[12]提出的一种用于分析非线性、非平稳信号的自适应信号分解数据处理方法。该算法具有良好的时频分辨率和自适应性,通过对原始信号的分解,将噪声和有效信号在不同的固有模态函数(IMF)中分离,选择合理的IMF重构信号,不但可以完美重构原始信号,而且还能有效地去除噪声。因此,结合SEMG信号的特性,采用EMD算法进行信号去噪是一种理想的选择[13]。假设SEMG信号的原始数据序列为X(t),t=1,2,…,6,该算法的具体实现过程如算法1所示。

算法1SEMG信号去噪的EMD算法

1. 求取X(t)的所有极值点P(t)={Pmin(t),Pmax(t)}

2. 用插值法对极小值点拟合为下包络,即Pmin(t)→Emin(t);对极大值点拟合为上包络,即Pmax(t)→Emax(t)

3. 计算包络均值A(t)=(Emin(t)+Emax(t))/2

4. 获取平稳数据序列S(t)=X(t)-A(t)

5. 对残余的A(t)重复步骤1-步骤4,得到第一个IMF分量CIMF(1)

6. 产生新数据序列D(1)=X(t)-CIMF(1),对D(1)重复步骤1-步骤5,得到第二个IMF分量CIMF(2)

7. 重复步骤1-步骤6,直到最后一个数据序列D(n)不可分解,得到IMF集{CIMF(1),CIMF(2),…,CIMF(n)}

如算法1所示,在每个通道信号中执行EMD后,得到一组固有模态函数集为:

(1)

式中:δn为原始EMG信号提取n个CIMF后的残差。经过EMD算法去噪处理后得到的数据信号很好地保证了对真实动作信号的特征提取。

1.4 特征提取

Lyapunov指数表示相空间中无限接近的相邻轨迹的平均指数变化速率,是用于识别动态混沌系统中的数值特征,可有效表征变量随时间演化时系统对初值的敏感性[15]。N维系统具有N个Lyapunov指数,从而形成指数谱。当系统维度L较大时,为了减少计算量,通过计算最大的Lyapunov指数(MLE)来决定动态系统的可预测性。MLE不仅是区分混沌吸引子的重要指标,也是初值敏感性的定量描述,因此其被广泛应用于机器故障诊断、肌肉收缩和肌肉活动检测等,它的定义为:

(2)

式中:L(tk)表示tk时刻最邻近零点之间的距离;M为总步长;Δt表示获取MLE 的采样时间。相邻轨道的距离通常乘以对数尺度上的预测误差,以获得整组固有模态函数集上的Lyapunov指数,其定义为:

(3)

式中:N为总的相位点;Δn为相位点Xn和Xn+1之间的距离(Xn+1是最接近Xn的点);b1表示第一个Lyapunov指数;Γn(k)是经过k次卷积步长后Xn与Xn+1之间的距离。在p(k)-k图线中,直线的斜率即为MLE。在本实验中,重叠窗口的长度为500 ms,窗口之间的递增量为125 ms。SEMG信号中比较典型的特征比如延迟时间和嵌入维数是计算Lyapunov指数非常重要的两个参数。延迟时间和嵌入维数非常适合表示SEMG手势时间序列数据的动态行为,因此选择这两种特征参数以表征SEMG信号的运动特性。

延迟时间采用互信息方法来确定,其定义为:

(4)

式中:p(Yn)、p(Yn+τ)和p(Yn,Yn+τ)均为概率值。在H(τ)-τ图线中,τ对应出现的第一个局部最小值。

嵌入维数的计算采用伪邻居法来确定,其定义为:

(5)

式中:E(m)和E(m+1)分别是重建m维空间和m+1维空间中所有两个最近邻居的距离的平均阈值。在E1(m)-m图线中,当E1(m)的值随着m的增加而没有显著变化时,最小的嵌入维数值则为所要选取的E1(m)。通过式(2)和式(3)得到的MLE特征向量将由随机森林分类器进行动作识别。

1.5 随机森林

随机森林作为一种有监督学习算法,是基于Bagging框架下的决策树模型。随机森林算法由于实现简单、精度高、抗过拟合能力强和具有一定的抗噪声能力等优点,被广泛应用于生物医学、电子商务、人机交互等领域的分类和回归任务[16]。随机森林分类器由一组树分类器组成,其中每个树分类器由独立于输入向量采样的随机向量生成,并且以投票的方式决定最优分类,其原理如图3所示。

图3 随机森林算法原理图

对于一个有K类的训练集M,随机选择一个特征并投票属于第k类的概率为:

(6)

(7)

式中:f(ki,M)/|M|表示选择的特征属于第k类的概率,对式(6)进行简化处理后为:

(8)

需要注意的是,每棵树的训练集虽然不同,但包含重复的训练样本。每棵树都最大限度地生长,并且没有剪枝过程。每个节点用于生成树的特征数量和要生长的树的数量是生成随机森林分类器所需的两个用户自定义参数。

2 数据分析

考虑到SEMG信号的非线性动态信号,SEMG原始信号经过降噪预处理,被分解为一组IMFs,如图4所示。可以看出原始信号X(t)被分解为CIMF(j),j=1,2,…,6和偏差δn。CIMF(j)是具有不同振幅和频率的振荡函数。δn是一条单调信号,表明原始信号X(t)减去所有CIMF(j)后得到的漂移分量已经不满足分解条件。

图4 SEMG信号的EMD分解

延迟时间和嵌入维数是计算Lyapunov指数非常重要的两个参数。所选择的延迟时间过大或过小,都不利于SEMG信号的优化。采用互信息方法获得的延迟时间τ如图5所示。可以看出τ=5时对应出现的第一个局部最小值用于空间重建。

图5 SEMG信号的延迟时间

图6表示采用伪邻居法获取的嵌入维数值。可以看出,从m=9开始,E1(m)随着m的增加没有发生显著变化,并逐渐趋近于1。因此,本实验中选取的最小嵌入维数值为9用于拓扑重建。

图6 SEMG信号的嵌入维数

3 实 验

3.1 基于随机森林的动作识别

为了验证人手动作识别系统的识别性能,图7为采用RF分类器得到的十种动作的识别率。所有动作的整体平均识别率为91.67%。黑色部分为每一种动作的平均识别率,其余的为两种不同动作之间的误差率。整体来看,所有动作的识别率均超过了90%,反映了该系统的良好分类性能。其中:动作8和动作10的识别率最低只有90%;而动作4和动作5的识别率最高达到了94%。此外,动作2和动作6的识别率虽然都达到了91%,但它们之间的误差率,以及动作6和动作8之间的误差率最高,均为6%。相比较而言,其他动作之间的误差率分布在1%到5%之间。

图7 十种人手动作的识别率混合矩阵

3.2 基于不同受试人员的动作识别率比较

不同的受试人员,由于其物体操作习惯和抓取方式不同,使得对于相同的动作,可以采取多种操作方法来实现稳定抓取。虽然受试人员在进行实验前,对动作要求包括抓取方式、抓取点和参与手指数等经过严格的培训,但其人手运动状态中的肌电活动信息仍存在个体差异。因此,有必要研究不同受试人员因个体差异对相同动作的识别结果的影响。如图8所示,不同受试人员的识别率为十种人手动作的平均识别率,不同条形柱上面的方差棒,侧面反映了不同受试人员对不同动作识别率的差异性。其中:受试人员5的识别率最低,仅有89.12%;受试人员6的平均识别率最高,为94.23%。此外,受试人员2和人员8的识别率波动范围较大,其最大误差率分别达到了12.67%和20.45%。总体而言,绝大部分受试人员的识别率均在90%以上。研究结果表明,个体差异对SEMG信号的分析会产生一定的影响。

图8 不同受试人员的动作识别率

3.3 基于不同机器学习算法的动作识别率比较

为了验证基于随机森林算法的人手动作识别效果,本实验选择与支持向量机和神经网络两种传统的机器学习算法进行比较。支持向量机是一种采用监督学习方式,通过对数据样本寻找超平面获得最大间隔以实现二元分类的机器学习算法。神经网络是一种模拟人脑神经网络行为特征,通过调整隐藏层节点之间相互连接的权重,实现对数据样本进行分类的机器学习算法。这两种算法已经被广泛应用于信息处理和模式识别等领域。在进行实验之前,需要对支持向量机和神经网络两种分类器选择相应的核函数和参数,以保证其分类性能。支持向量机采用高斯核函数作为本次实验的核函数,惩罚参数C和核半径γ的值为(C,γ)=(1,0.021 6)。神经网络采用恒等激活函数,输入层节点数I、隐藏层节点数H和输出层节点数O的值为(I,H,O)=(2,7,10)。

图9为基于三种机器学习算法得到的人手动作识别结果的比较。基于SVM和NN的平均识别率分别为90.89%和89.1%,均低于基于RF分类器91.67%的平均识别率。三种算法对动作1的识别率较为接近,SVM算法对动作7和动作8的识别率最高,NN算法对所有动作的识别率最低。标准差反映了不同算法对相同人手动作识别率的波动情况,其中基于SVM的波动幅度较为明显,其余两种的较为平缓。就整体而言,本文所采取的基于RF的人手动作识别率最高,优于其余两种,具有良好的分类性能。

图9 基于不同算法的识别率比较

4 结 语

本文采用非线性时序分析方法,提出一种基于SEMG的人手手内动作识别系统。该系统包括人体上肢、数据采集、数据预处理、特征提取、识别算法五个部分,并从人体上肢、数据采集及处理和动作识别三个方面进行了详细的介绍。在数据采集及处理方面,采用非线性时序分析方法包括EMD法和MLE法对SEMG信号进行信号处理,获得真实有效的动作特征。在动作识别方面,采用RF算法进行人手手内动作识别,分析了不同受试人员对识别率的影响,并与SVM和NN算法进行比较,验证了RF算法的优越性,识别率达到了91.67%。未来的研究将基于所提出的方案开发实时人手手内动作识别系统,并将人手操作技巧转移到假肢手上。

猜你喜欢

人手识别率分类器
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
学贯中西(6):阐述ML分类器的工作流程
基于朴素Bayes组合的简易集成分类器①
木兰从军
基于AdaBoost算法的在线连续极限学习机集成算法
档案数字化过程中OCR技术的应用分析
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
人工智能现状和发展
人手不够 ——原载俄罗斯漫画网▲