时间:2024-07-28
侯秀丽
(安徽商贸职业技术学院信息与人工智能学院 安徽芜湖 241002)
表面肌电信号动作模式识别是肌电假肢控制的基础。通过提取残肢者的残端表面肌电信号,利用其蕴含的动作模式信息,可对肌电假肢进行自主控制,提高残障人士生活质量。要想使用肌电信号更有效控制假肢自主动作,必须要进行可靠的动作模式识别。目前已有不少学者对肌电信号特征提取与模式识别进行了研究。针对肌电信号的非线性与非平稳性,张启忠等选取近似熵和分维数对伸腕、曲腕、左旋、右旋四种手腕动作进行了识别,正确率达到92.5%。顾明亮等使用改进的粒子群算法优化支持向量机对握拳、展拳、内旋、外旋、屈腕、伸腕六种动作进行识别,平均准确率达到 93.75%。刘晓光等使用支持向量机对表面肌电信号和加速度信息进行融合,实现跌倒动作识别,准确率为93.23%[1-3]。SVM(支持向量机)在肌电信号模式识别中得到了越来越广泛的应用。在此背景下,文章使用SVM分类器对手部六个动作(握拳、伸掌、内旋、外旋、屈腕、伸腕)进行低成本、快捷、较准确的动作模式识别。
支持向量机SVM(support vectormachine)是由著名学者VAPNIK于20世纪90年代提出的一种新的机器学习方法,基于统计学习VC维理论和结构风险最小原则,其核心思想是将非线性数据映射到高维线性空间中,满足分类间距最大,使分类线能正确把两类样本分开,得到所需要的最优分类超平面。
SVM(见图1)核心是最优分类超平面的构造,对于二分类问题,给定输入数据和学习目标:X={X1),...,XN},y={y1),...,yN},输入数据每个样本都包含多个特征并由此构成特征空间:Xi=[x1,)... ,xn]∈χ,学习目标为二元变量y∈{-1,1})表示负类和正类。若输入数据所在特征空间存在作为决策边界的超平面,能够将学习目标按正类和负类分开,即wTX+b=0,并使任意样本的点到平面距离大于等于1,即yi(wTXi+b)≤1,则称该分类问题具有线性可分性,参数w,b分别为超平面的法向量和截距。
图1 支持向量机分类原理图
SVM算法采用内核函数映射方法,其属性通过核函数的种类进行测量。SVM引入松弛变量ξi≥0和惩罚系数C(C>0),则超平面的求解公式为:
(1)
式(1)中,αi是二次优化问题所求解的拉格朗日因子。则得到的最优分类超平面为:
(2)
(3)
(4)
上述最优分类面判别函数类似于一个神经网络,输出是n个节点的线性组合,每个节点对应一个支持向量,可用图2来表示。SVM拓展到多分类时,主要有直接法、一对一、一对多等方法。其中“一对一”是将k类样本两两组合,构造k(k-1)/2个二分类问题,该方法求解速度快,且具有较高精度和较强泛化能力,在实际中应用较多。在决策时,通常采用投票法,即当对一个未知样本进行分类时,每个分类器都对其进行类别判断,并为相应的类别“投票”,最后统计各类别的得票数,得票最多的类别即为该样本所属的类。
图2 SVM分类示意图
表面肌电信号可以反应神经肌肉组织的特征,不同肌群的肌电信号具有不同的特征。使用课题组自行研制的多通道表面肌电信号采集仪实现对人体前臂肱桡肌、尺侧腕屈肌、桡侧腕屈肌等处的表面肌电信号采集,使用一次性贴片电极,电极粘贴位置如图3所示。实验时,通过操作者示范使测试者熟悉要做的六个动作标准,每名测试者按照一定的频率自由练习若干次。测试者为实验研究招募的年龄在18~30岁之间的身体健康的志愿者,男女各占一半。练习结束对10位测试者随机编号,从第一个动作(握拳)开始,按照编号先后顺序,每位受试者各做20次,每次间隔1s,采样频率为1KHz,接着再做第二个动作(伸掌)20次,依次往复直至六个动作(握拳、伸掌、曲腕、伸腕、内旋、外旋)被10位受试者全部完成,共采集到6×200组原始肌电数据,经滤波放大处理后用作分类器训练样本和测试样本集。
图3 表面肌电信号采集电极位置
由于表面肌电信号非常微弱,采集过程中不可避免混有噪声干扰,有用信号几乎淹没在噪声中,因此必须进行预处理。课题组在研制肌电信号采集仪时设计了50Hz模拟陷波器滤除工频干扰。由于肌电信号能量集中在低频段,主要在20~500Hz,因此设计了带通滤波器,采用一个高通滤波器和一个低通滤波器串联方式实现20~500Hz肌电信号的带通处理,并使用高精密仪用放大器设计了放大电路,将微弱的肌电信号幅值进行放大[4]。信号调理过程如图4所示。
图4 表面肌电信号预处理流程
虽然表面肌电信号中蕴含丰富的人体运动信息,但并不能直接用于人体肢体动作模式识别,必须进行特征提取[5]。特征参数选取的好坏直接影响到分类器的设计与性能表现。对表面肌电信号特征参数的合理选取,直接决定着肢体动作模式识别的结果,其贡献程度甚至超过模式识别方法本身对识别结果的影响。文章分别从时域、频域、时频域对肌电信号进行特征提取。
时域特征比较直观,计算简单,由于肌电信号幅值参数与肌肉收缩程度成正相关,因此时域分析中,通常提取肌电信号的幅值有关的参数,比如积分肌电值、绝对平均值、方差、均方根值、标准差等[6]。此外,信号的过零点数也可以反映神经肌肉动作力度变化情况,文章选取肌电信号的幅值绝对平均值A、方差S和过零点数ZC三个指标作为时域特征。
在进行表面肌电信号采集实验时,尽管做了各种抗干扰措施,但是要想完全做到没有干扰是不可能的,空间中的电磁干扰不可避免对肌电信号幅值产生影响。因此单纯提取时域的幅值特征参数还不够。通过对肌电信号进行频谱分析,发现肌肉收缩时信号频谱与静息状态时明显不同,肌电信号频率特征表现出一定的规律性,能够反映信号的整体特征。其中,平均频率MPF和中值频率MF是频域特征中比较有代表性的参数,所以文章提取这两个特征作为肌电信号频域特征。
时频分析是研究非平稳信号的一种有效方法。通过在时频平面上描述信号的时变特征,能够更清晰地反映信号的频率特性随时间的变化情况。小波变换作为时频分析的常用工具,可将时域的一维信号变换至时间-尺度的二维空间,高频时使用短窗口保证足够高的时间分辨率,低频时使用宽窗口实现较高的频率分辨率。通过调节时频窗口实现变分辨率分析,选取合适的小波基函数,将信号做多尺度分解,可获取各尺度高频和低频系数。通常提取多层小波变换系数作为特征。文章使用Sym5小波,对采集的表面肌电信号进行3尺度分解,提取四个频段内小波系数绝对值的最大值作为特征,与前面提取的时域幅值特征参数和频域的两个频率特征参数一起构成特征向量。
手部动作识别包括分类器设计、模型训练获得参数以及测试动作识别三步。由于SVM算法在解决小样本、非线性及高维模式识别中的诸多优势,文章设计手部动作模式识别SVM分类器,应用一对一方法构造多个SVM分类器,采用投票原则,最终将样本归为得票最多的那一类[5]。
从前面采集到的6×200组原始肌电信号中取6×120组作为训练集,在MATLAB环境中应用台湾大学林智仁开发的LIBSVM软件包,使用径向基核函数对SVM分类器进行训练,通过交叉验证后求得核函数参数以及最优惩罚参数,使用剩余的6×80组数据作为测试集对SVM模型泛化能力进行检验,最后得到的动作分类结果如表1所示。
表1 六种手部动作模式识别结果
由表1可知,握拳动作的识别率最高,达到100%,内旋动作正确识别率最低,为95%,其他动作的识别率在96.25~98.75%之间,六种手部动作的平均识别率为97.5%。
文章综合提取表面肌电信号小波变换系数绝对值的最大值以及时域信号幅值和频域的频率特征值一起构成特征向量,设计了适用于小样本的SVM分类器,对六种手部动作(握拳、伸掌、内旋、外旋、屈腕、伸腕)进行了分类,平均识别率达到97.5%,正确率明显高于笔者早期采用BP神经网络分类器识别结果[7]。验证了SVM分类器对表面肌电信号动作模式识别的有效性,为肌电信号应用于智能假肢控制、康复训练等提供了依据。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!