基于肌电信号稀疏特征的手势识别方法研究

人机交互技术是实现未来协作机器人人机共融智能的主要研究方向,其中基于肌电信号的手势识别是人机交互领域中重要组成部分,是国内外实验室研究的热点项目之一[1]。表面肌电信号(sEMG)是一种肌肉收缩时产生的生物电信号[2],能够直接反映出肌肉活动的状态,通过对sEMG进行分析可以准确地识别出手势动作,而且sEMG具有信息容量大、实时性强等优势[3],在智能假肢[4]、上肢康复外骨骼[5]、机械臂控制等人机交互中有很好的前景。

正确识别手势动作的关键技术之一在于有效特征的提取。常用的sEMG特征是提取一系列时域特征、频域特征、联合时频分布特征、非线性特征[6-7]以及一些参数模型特征。PHUKPATTARANONT P等[8]针对sEMG使用了主成分分析、线性判别分析和谱回归极限学习机等6种特征提取技术,并对比了6种特征提取算法的性能。此外,稀疏编码技术受到了广泛的关注,并成功应用到图片识别、压缩感知和信号去噪等领域中。WHITAKER B M等[9]将稀疏编码引入心音分类中,利用快速傅里叶变换将心音信号从时域转化到频域,忽略频谱的负频率和相位,然后根据稀疏字典得到统计学上重要的稀疏系数特征,将稀疏系数取平均数的同时融合时域特征进行综合分类,可得到比单一的稀疏特征更好的分类效果。此外,该团队还对鸡鸣啼的声音信号进行分析[10],采集健康与患有支气管炎的两类鸡鸣声音信号样本,将鸡鸣音频文件转化为频谱图,利用稀疏编码得到每个谱图列分解为字典元素的稀疏组合,对两类鸡鸣信号有97.85%的识别率。DING S等[11]采用局部时态稀疏贝叶斯算法作为新的学习工具,利用压缩感知理论将sEMG映射到低维空间,提取sEMG的稀疏特征,十个手势动作可获得89.4%的准确率。

为了提高基于sEMG手势识别的数目和识别精度,本文提出一种融合稀疏表示特征和时域特征的多手势识别方法。其中sEMG由4个通道的设备采集得到,手势共包含16种动作,使用KSVD算法提取sEMG的稀疏特征,将稀疏特征与时域特征融合后使用SVM算法进行手势识别分类。相比单一稀疏特征用作SVM训练分类,融合时域特征增加了手势的识别精度。实验结果表明,该方法对多种手势有较高的识别率。

1 方法

本文提出的方法主要包含三个步骤:sEMG动作单元端点检测、样本的稀疏表示和SVM识别分类。动作单元端点检测利用双阈值算法[12],根据短时能量和过零率检测出sEMG中手势动作的起始点和终止点从而提取有效的用于稀疏表示和识别分类的活动段。样本的稀疏表示包括学习字典的初始化、利用KSVD算法更新字典[13-14]和OMP算法[15]计算稀疏系数。最后,融合稀疏特征与时域特征,训练SVM并进行分类[16-17]。

1.1 动作单元端点检测

动作单元端点检测也称为信号的活动段检测,就是检测手势动作的起始点和终止点,分割出优质的活动段有助于提取更为有效的动作特征和提高分类识别。双阈值算法是基于短时平均能量和短时过零率进行检测的,原理是当无手势动作时短时平均能量很小,动作越大则能量越大;同时当活动频率越高则短时过零率越大,结合两者特征可以用来找到信号的活动区域。

首先利用滑动窗口对sEMG样本数据进行分帧。计算每一帧的能量和过零率,短时平均能量计算公式为:

其中,X(N)表示某帧的信号序列,L表示帧长,N表示帧内数据点的序列号。

对短时平均能量设置高低两个阈值TE1和TE2,短时过零率设置一个阈值Tz,将计算的每帧能量E和过零率与设置的阈值进行比较,若某时间帧F1的短时平均能量和过零率同时大于TE2和Tz,并且F1帧之后的一段连续时间序列中能量值E持续大于高阈值TE1,则认为帧F1为动作单元的开始,直到某时间帧F2的短时平均能量和过零率同时小于TE1和Tz,则帧F2为动作单元的结束。

图1为使用双阈值算法针对手势“NUM1”信号的端点检测示例图。其中,图1(a)中4幅子图为手势动作“NUM1”的4个通道的原始信号波形图。图1(b)为动作“NUM1”的端点检测结果图。从图1(a)可以看出,波形图中幅值持续变大和过零次数变多时,代表有手势动作,当手势动作结束时幅值和过零次数将变得很小。对比原始信号波形图(图1(a))和端点检测结果图(图1(b)),使用双阈值算法可以有效地检测出运动单元的起始端点,将sEMG中的运动单元分割出来。

基于肌电信号稀疏特征的手势识别方法研究

1.2 字典学习和稀疏表示

稀疏表示又称为稀疏编码,是指利用给定的过完备字典(冗余字典)作为基函数对信号进行分解,并根据表示系数选择尽可能少的原子对信号进行稀疏表示,也就是用尽量少的基函数原子对原始信号进行线性表示。其中,过完备字典(冗余字典)是由个数超过原始信号维数的原子组合而成的。

设数据集Y(M×N),其中列数N代表信号样本的数目,行数M代表样本的维度。一般而言,该矩阵是稠密的,即大多数元素不为零。 稀疏表示的含义是,寻找一个系数矩阵X(K×N)以及一个字典矩阵D(M×K),使得X×D尽可能地还原Y,且X尽可能地稀疏,也就是每一列系数中只有少部分元素不为零,那么系数矩阵X便是信号Y的稀疏表示。

稀疏表示模型如式(2)所示:

这里,存在两个优化变量D和X,要想得到信号Y的稀疏系数必须构造过完备字典D和根据字典D求解稀疏系数X。对于冗余字典D和稀疏系数X的优化求解,一般来说,不断固定其中一个变量更新另外一个变量,交替迭代更新字典D和稀疏X。本文求解稀疏系数用的是贪婪算法中的正交匹配追踪(OMP)算法,构造过完备字典使用基于KSVD算法的学习字典方法,学习字典优点是字典不局限于某一类信号上,能够适应大部分的稀疏域模型。

KSVD算法是一种逐列更新字典的字典学习算法,若将多信号中每一个样本只用一个原子表示时,则可转化为K-means算法,在固定稀疏系数X时,目标函数为:

其中,xk代表系数矩阵X的第k行。

优化计算字典D和稀疏系数X的算法过程列在算法1中:

算法1:优化字典D和稀疏系数X

(1)初始化:从原始信号Y(M×N)中随机挑选k个样本组成字典D∈RM×k,并归一化每一列;初始化稀疏编码矩阵X为0矩阵。

(2)稀疏编码阶段:固定字典D,用正交匹配追踪(OMP)算法来计算原始信号Y的最优稀疏系数矩阵X(xi列的L0范数以确定的T0为界),编码过程如式(4)所示:

(3)更新字典阶段:根据KSVD算法逐列更新第k列的字典原子Dk,k=1,2,…,K,并且同时更新稀疏编码Xk,k=1,2,…,K。

重复步骤(2)和步骤(3),直到满足优化要求,此时即找到了最优过完备字典D和最优稀疏系数矩阵X。

1.3 SVM分类

在本方法中,使用SVM算法对16种手势动作进行分类。SVM是一种二值边缘分类模型,其学习策略是间隔最大化,即是用一个超平面将不同类别数据点分开,并且这个超平面两边的数据的间隔最大,它是目前最好的边缘性分类器,在小样本分类中有很好的效果。当SVM对多分类问题进行分类时,有多类排序方法(Multiclass Ranking SVM)、“一对多”方法(One Versus Rest SVM)和“一对一”方法(One Versus One SVM)等方法。

本文使用“一对多”方法,其中每个类都有一个分类器,该方法是将多分类任务转为多个两分类任务。在训练集中,将某一类别记作i,并将其标签标记为+1,剩余类别都标记为-1,如此标记规则下则得到一个两分类SVM模型,然后对类别i(+1)与剩余类别(-1)的两分类进行训练,得到使分类平面为最优超平面训练模型参数Modeli,其中最优解w和b包含在模型参数Modeli中。根据“一对多”方法的思想,对于n分类问题,将得到n个训练模型参数:

当测试集中类别i进行测试时,把测试向量i分别利用n个模型参数进行计算,得到n个测试结果fn,这里,fn=(f1,f2,…,fn)。最终,测试向量i的分类结果为测试结果fn中最大的值所在的类别,即:

2 实验

本实验中,数据集分类两个部分:训练集X_train和测试集X_test,训练集和测试集对应的标签为y_train和y_test。根据算法1计算出训练样本的最优过完备字典D和最优稀疏系数矩阵X。这里,训练得到最优稀疏系数矩阵X为X_train,然后使用正交匹配追踪(OMP)算法来计算测试集样本Y_test的最优稀疏系数矩阵X_test。

采集16种手势动作对应的表面sEMG,手势动作名称为“NUM1”,“NUM7”,“NUM3”,“NUM2”,“伸掌旋转”,“伸展手掌”,“NUM8”,“NUM6”,“垂直压手腕”,“打响指”,“招手”,“握拳旋转”,“紧握拳”,“握拳画圈”,“水平压手腕”,“旋转手腕”。将16种手势数据集中60%的数据用作训练,其余的40%数据用作测试。首先对于训练样本,利用KSVD和OMP算法训练过完备字典D,根据过完备字典D计算出训练样本和测试样本的稀疏系数。然后计算训练样本和测试样本的时域特征,与稀疏系数特征进行融合。最后使用SVM分类模型对训练样本特征进行训练得到模型参数,用测试样本特征测试本方法对于多种手势动作的识别精度。

首先将16种手势信号进行活动段检测并分割,本实验数据采样率为1 000 Hz,所以设置帧长为200 ms,帧移为80 ms。在图2中,图2(a)是16种手势中第一种手势“NUM1”经过活动段分割后的原始信号。为了检测训练的过完备字典和稀疏系数是否有用,信号重构是一个很好的方法。将手势“NUM1”的稀疏系数X和过完备字典D根据公式Y=DX计算手势“NUM1”的重构信号Y,实验结果如图2(b)所示。图2(b)中有4幅子图,从左到右、从上至下依次为手势“NUM1”4个通道的重构信号,其中实线为手势“NUM1”经预处理后的信号,虚线为手势“NUM1”重构信号。从图2(b)可以看出,手势“NUM1”原始信号和重构信号相似度很高,经计算4个通道原始波形和重构后波形相关系数分别为0.93、0.91、0.97和0.95。稀疏系数X是原始信号Y在过完备字典D上的投影系数,当利用稀疏系数X和过完备字典D重构图形能够很好地再现原始信号时,稀疏系数是有效的,可以代表原始信号进行后续的识别分类。

基于肌电信号稀疏特征的手势识别方法研究

BENALCAZAR M E等[18]在欧洲信号处理会议中,使用动态时间归整和人工前馈神经网络方法识别5个手势,识别准确率为90.1%。在本文中,BENALCAZAR M E使用的数据通过融合稀疏特征和时域特征进行实验。表1、表2和表3是不同训练比率下数据集的结果。其中SR是稀疏表示特征,Time-domain是时间特征,FNN是前反馈神经网络。

基于肌电信号稀疏特征的手势识别方法研究基于肌电信号稀疏特征的手势识别方法研究
基于肌电信号稀疏特征的手势识别方法研究

如表1~表3所示,稀疏特征比BENALCAZAR M E使用的动态时间归整特征准确率要高,同时增加时域信号可以比单一稀疏特征有更高的手势识别准确度。此外,随着训练样本比例的增加,识别准确率大大提高。当样本比例为25%时,Time-domain+ SVM的识别率仅为87.6%。当样本比例增加到50%时,Time-domain+SVM的识别率增加到96.93%。当样本比例进一步增加到75%时,Time-domain+ SVM的识别率为98.46%。

表4和图3是16种手势识别的结果,图3给出了16种手势动作识别结果的混淆矩阵,由图可知,融合稀疏特征和时域特征的方法总体分类正确率是98.4%。其中11种手势识别率100%,而手势6“伸展手掌”和手势9“垂直压手腕”识别率相对较差,为92.9%。手势6和手势9都包含张开手掌这个动作,不同之处为手势9需要压手腕,因此手势6和手势9识别率相对较差。

基于肌电信号稀疏特征的手势识别方法研究

3 结论

本文提出一种融合稀疏表示特征和时域特征的多手势识别方法。使用稀疏表示算法提取表面sEMG,融合时域特征利用SVM算法进行16类手势动作的识别。实验结果表明对16类手势动作可有98.4%的平均识别精度,该方法能够有效对16种手势动作进行识别分类。

参考文献

[1] Wang Xiaojie,Wang Yucheng,Wang Zhonghui,et al.Hand gesture recognition using sparse autoencoder-based deep neural network based on electromyography measurements[C].Nano-,Bio-,Info-Tech Sensors,and 3D Systems II.International Society for Optics and Photonics,2018.

[2] ATZORI M,GIJSBERTS A,KUZBORSKIJ I,et al.Characterization of a benchmark database for myoelectric movement classification[J].IEEE Transactions on Neural Systems and Rehabilitation Engineering,2014,23(1):73-83.

[3] 谢小雨,刘喆颉.基于DTW算法的肌电信号手势识别方法[J].计算机工程与应用,2018(5):132-137.

[4] 罗志增,李文国.两自由度实时控制肌电假手的研究[J].中国康复医学杂志,2009,24(4):355-358.

[5] 王振宇.基于sENG信号的上肢康复机器人系统研究[D].北京:北京理工大学,2015.

[6] GEETHANJALI P.Myoelectric control of prosthetic hands: state-of-the-art review[J].Medical Devices(Auckland,NZ),2016,9:247.

[7] CHOWDHURY R,REAZ M,ALI M,et al.Surface electromyography signal processing and classification techniques[J].Sensors,2013,13(9):12431-12466.

[8] PHUKPATTARANONT P,THONGPANJA S,ANAM K,et al.Evaluation of feature extraction techniques and classifiers for finger movement recognition using surface electromyography signal[J].Medical & Biological Engineering & Computing,2018,56(12):2259-2271.

[9] WHITAKER B M,SURESHA P B,LIU C,et al.Combining sparse coding and time-domain features for heart sound classification[J].Physiological Measurement,2017,38(8):1701.

[10] WHITAKER B M,CARROLL B T,DALEY W,et al.Sparse decomposition of audio spectrograms for automated disease detection in chickens[C].Global Conference on Signal and Information Processing(GlobalSIP).IEEE,2014:1122-1126.

[11] DING S,GAO W,SUN X,et al.Extraction of electromyographic signals for multiple-hand-motion recognition via sparse representation technique[C].Chinese Automation Congress(CAC).IEEE,2018:3661-3665.

[12] LOKHANDE N N,NEHE N S,VIKHE P S.Voice activity detection algorithm for speech recognition applications[C].IJCA Proceedings on International Conference in Computational Intelligence(ICCIA2012),2012.

[13] JIANG Z,LIN Z,DAVIS L S.Learning a discriminative dictionary for sparse coding via label consistent K-SVD[C].CVPR 2011.IEEE,2011:1697-1704.

[14] AHARON M,ELAD M,BRUCKSTEIN A.K-SVD:an algorithm for designing overcomplete dictionaries for sparse representation[J].IEEE Transactions on Signal Processing,2006,54(11):4311.

[15] HSU C W,LIN C J.A comparison of methods for multiclass support vector machines[J].IEEE Transactions on Neural Networks,2002,13(2):415-425.

[16] SAJJAD M,MEHMOOD I,BAIK S W.Sparse coded image super-resolution using K-SVD trained dictionary based on regularized orthogonal matching pursuit[J].Bio-Medical Materials and Engineering,2015,26(s1):S1399-S1407.

[17] 潘世豪,程玉柱,许正昊,等.基于分形理论的树皮图像特征提取方法[J].林业机械与木工设备,2019,47(2):7-11.

[18] BENALCAZAR M E,ANCHUNDIA C E,ZEA J A,et al.Real-time hand gesture recognition based on artificial feed-forward neural networks and EMG[C].2018 26th European Signal Processing Conference(EUSIPCO).IEEE,2018:1492-1496.

作者信息:

李赵春1,顾 权1,2,王玉成2

(1.南京林业大学 机械电子与工程学院,江苏 南京210037;

2.中国科学院合肥物质科学研究院常州先进制造技术研究所,江苏 常州213000)


分享到:


相關文章: