读论文-----基于单通道表面肌电信号的手势识别 Hand Gestures Recognition Based on One-Channel Surface EMG Signal


Hand Gestures Recognition Based on

One-Channel Surface EMG Signal


摘要
本文提出了一个利用OpenBCI采集两种手势信号的数据并解码信号来区分手势的实验。信号由被试者前臂上的三个电极提取,并在单通道中传输。在利用巴特沃斯带通滤波器后,采用了一种新的手势动作片段检测方法。我们没有使用基于能量计算的移动平均算法,而是开发了一种基于希尔伯特变换的算法来寻找动态阈值并识别动作段。从每个活动部分中提取了4个特征,生成特征向量用于分类。
在分类过程中,我们基于相对较少的样本,对K近邻(KNN)算法和支持向量机(SVM)进行了比较。大多数常见的实验都是基于大量的数据来追求一个高度拟合的模型。但在某些情况下,我们无法获得足够的训练数据,因此,在小样本数据下探索最佳的分类方法势在必行。虽然KNN以其简单性和实用性而闻名,但它是一种相对耗时的方法。另一方面,由于SVM应用了不同的风险最小化原则,因此它在时间要求和识别精度方面具有更好的性能。
实验结果表明,SVM算法的平均识别率比KNN高1.25%,而SVM算法比KNN短2.031s。
关键词
肌电图(EMG)、手势识别、希尔伯特变换、K近邻算法(KNN)、支持向量机(SVM)

1.介绍

手势涉及人类生活的许多方面,包括游戏、医疗保健、教育和购物。手势识别是指计算机自动检测和分析被测到的生物电信号,以识别个体的手势的过程。它在世界范围内广受欢迎,并被广泛研究。考虑到人工肌电图(EMG)的便利性和经济效益,目前已经提出了一种新的手势识别方法。
肌电图是在随意收缩期间发生的肌肉组织的动作电位的叠加,提供了在完成运动期间肌肉的屈曲和伸展以及四肢的形状和位置的信息。基于肌电图的手势识别与光学检测相比具有一些优点。肌电图传感器的设计相对简单,但其对环境不敏感。此外,肌电图的信号处理并不那么复杂。然而,使用肌电图来识别手势的问题在于识别不准确,本文的动机也在于解决这个问题。
本文着重研究了使用肌电信号识别两种手势的实验。在此基础上,我们将通过优化算法来提高识精度。我们计划使用表面肌电图传感器(OpenBCI神经节)来捕获相应肌肉群皮肤表面的肌肉活动信息。通过实验找到电极的最佳位置,以此获得可靠的数据。使用MATLAB分析和处理信号,并区分不同手势产生的肌电图。该实验准确性将通过进行其他测试来进行评估。
本文从信号处理和分类等整个研究过程中采用的方法出发,对实验进行详细阐述,对结果进行分析和讨论,并根据研究结果得出结论。在下面的部分中,还将介绍几个新的思想。

2.方法

2.1数据采集

只选择一个通道从OpenBCI设备中收集数据,并将三个电极放置在受试者的右臂上。其中两个连接在1+/1-针上,另一个连接在底部针上,作为一个共同点。在这个过程中,我们发现结果随电极放置的位置而变化。肌电图是由肌肉细胞产生的电位变化产生的。因此,不同手势所会产生不同的电位。电极的最佳位置是通过进行几次采集实验来确定的(如图1所示)。此外,想要获得高质量的原始数据还需要控制测试环境。

2.2 SEMG信号处理

手势信号(sEMG)的识别由数据预处理、特征提取和分类三部分组成。对于数据预处理,使用巴特沃斯滤波器和分割算法来获得更干净的数据和减少数据量。特征提取算法将表面肌电信号段压缩为特征向量。这些特征的设计强调了表面肌电信号的手势类的特定特征。利用特征向量对分类器进行训练,以高精度地区分不同的手势。

1)数据预处理
a.过滤
我们使用巴特沃斯滤波器来处理原始信号。巴特沃斯滤波器是一种在通带中具有平坦频率响应曲线的信号处理滤波器(如图2所示)。在本实验中,通带选择范围为20Hz~90Hz,通带纹波为3dB,阻带衰减为40dB。
正如我们可以在使用FFT的振幅-频率中看到的(见图3和图4),与肌电信号无关的低频已经被滤波。

b.手势动作段的检测
起初,我们计划使用基于能量计算的滑动窗口算法,以识别线段的开始和结束。
然而,我们发现,由于不同动作的信号差异很大,因此很难确定每个动作分段的阈值能量的值。无法找到一个特定的阈值来识别所有的脉冲。因此,我们利用基于MATLAB中的工具箱函数的希尔伯特算法来寻找一个动态阈值来解决这个问题。
希尔伯特变换是由函数的卷积给出的特定的线性算子。它与实际数据有90度的相移关系。
MATLAB中的工具箱函数希尔伯特计算真实输入序列x的希尔伯特变换,并返回相同长度的解析信号,y=hilbert(x),其中y的实部是原始的真实数据,虚部是实际的希尔伯特变换。解析信号的大小是原始信号的复包络线。
但是,在计算出动态阈值和动作的开始和结束后,我们发现由于某些信号的不稳定性,一个动作由于信号的突然衰减,可以被识别为两个动作。因此,我们用“膨胀”和“侵蚀”的算法对包络线提取进行了一些改进。

2)特征提取
对SEMG信号进行特征提取,以保留信号模式,以区分不同的手势。在我们的实验中,使用平均绝对值(MAV)、均方根(RMS)、方差和自回归(AR)模型系数对不同的SEMG信号进行建模,然后输入到网络进行分类。
在本实验中,我们使用burg方法来拟合AR模型,并得到了四阶系数作为信号的一个特征。

3)分类
在表面肌电信号模式识别中,已经使用了不同的算法来分配特征向量。神经网络分类器群由于其可扩展性和承受两种简单复杂情况的能力而得到了广泛的应用。然而,特征的选择和时间的限制使得该分类器过于复杂。其他人更倾向于使用模糊逻辑方法,它允许在系统中插入用户体验,并与改变的模式相矛盾。在我们的实验中,在提取了静态手势的7阶特征向量后,我们首先选择了k最近邻(KNN)算法。KNN的原理是通过其邻居的多数投票对对象进行分类,该对象被分配给其k个最近邻中最常见的类。然而,对象的分类通常需要大量的计算,因为我们需要计算每个测试点和其他测试点之间的距离,以得到它的k个最近邻。因此,我们选择了支持向量机(SVM),它在校准和分类方面具有较高的精度。SVM是一种由分离超平面正式定义的判别分类器。由于得益于结构风险最小化原则和避免过拟合,它在二元分类中得到了广泛的应用。当现有的训练数据有限时,SVM通常优于传统的参数估计方法。它有效地避免了服装拟合问题,特别是当只有少量的数据样本时。

3.实验

1)实验对象
我们小组的一名成员将成为实验的对象。他是20岁,健康男性,身高188厘米,体重90公斤。他没有神经肌肉或关节疾病的病史,他是右撇子。
2)实验装置
OpenBCI是一个开源的脑机接口平台。OpenBCI板有4个通道,可以用来测量和记录由大脑(EEG)、肌肉(EMG)和心脏(EKG)产生的电活动。
3)任务
受试者很舒服地坐在椅子上,也很放松。然后,他做了2个手势,每个手势都重复了60多次。每个手势动作持续约1秒,间隔1到2秒。

4.结论

我们进行这个实验是为了探索用表面肌电信号来识别手势的合理方法,并比较不同的分类算法。利用OpenBCI板上的一个通道收集两种不同手势的表面肌电信号,对信号进行处理,提取4个特征,生成用于分类的特征向量。然后,我们用KNN和SVM这两种不同的算法对信号进行了分类。手势识别的总体结果达到了我们的预期,一个手势的准确率为97.5%,另一个手势的准确率达到100%,每个手势的测试样本为40%。同时,我们比较了我们所选择的两种算法。从结果中可以得出结论,在这种情况下,SVN比KNN具有更高的识别精度,而且时间更短。
然而,我们的实验在一些方面仍需要改进。首先,由于我们对使用KNN和SVM的分类方法没有深入的了解,所以我们没有通过调整参数来优化算法。通过对两种算法的优化,可以进一步改进。
另外,我们也没有设计硬件。整个设备不可穿戴,移动不便,这是对需要帮助的人的一个限制。
无论如何,基于SEMG信号的手势识别虽然复杂和具有挑战性,但却是一种识别手势和帮助有需要的人的有效方法。进一步的研究应包括通过调整参数来优化分类算法和硬件的开发。

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值