基于肌电信号稀疏特征的手势识别方法研究基于肌电信号稀疏特征的手势识别方法研究
基于表面肌电信号(sEMG)的手势识别技术是人机自然交互领域的重要研究方向。手势识别技术的实现关键在于
如何提取sEMG信号的有效特征。提出了一种提取sEMG信号稀疏特征用于多类手势识别的有效方法。该方法以
稀疏表示作为特征提取工具,以支持向量机(SVM)作为分类器对多个手势进行识别。首先,采用双阈值法检测分
割出手势动作的活动段;其次随机抽取部分运动段样本初始化稀疏表示词典,利用KSVD方法对过完备字典和稀
疏系数进行无监督更新;最后,利用SVM对稀疏系数特征向量进行分类以实现对不同手势的识别。通过在公开数
据库和自有数据库上进行实验测试,结果表明结合稀疏特征和SVM分类方法可实现16种手势平均识别准确率达
到98.4%。
0 引言引言
人机交互技术是实现未来协作机器人人机共融智能的主要研究方向,其中基于肌电信号的手势识别是人机交互领域中重要
组成部分,是国内外实验室研究的热点项目之一
[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表示帧内数据点的序列号。
对短时平均能量设置高低两个阈值TE
1
和TE
2
,短时过零率设置一个阈值Tz,将计算的每帧能量E和过零率与设置的阈值进
行比较,若某时间帧F
1
的短时平均能量和过零率同时大于TE
2
和Tz,并且F
1
帧之后的一段连续时间序列中能量值E持续大于高
阈值TE
1
,则认为帧F
1
为动作单元的开始,直到某时间帧F
2
的短时平均能量和过零率同时小于TE
1
和Tz,则帧F
2
为动作单元的
结束。
图1为使用双阈值算法针对手势“NUM1”信号的端点检测示例图。其中,图1(a)中4幅子图为手势动作“NUM1”的4个通道的原
始信号波形图。图1(b)为动作“NUM1”的端点检测结果图。从图1(a)可以看出,波形图中幅值持续变大和过零次数变多时,代表
有手势动作,当手势动作结束时幅值和过零次数将变得很小。对比原始信号波形图(图1(a))和端点检测结果图(图1(b)),
使用双阈值算法可以有效地检测出运动单元的起始端点,将sEMG中的运动单元分割出来。