一种基于手势识别的仿人灵巧肌电假手控制方法与流程

文档序号:16245483发布日期:2018-12-11 23:32阅读:281来源:国知局
一种基于手势识别的仿人灵巧肌电假手控制方法与流程

本发明涉及手势识别技术领域,特别是一种基于手势识别的仿人灵巧肌电假手控制方法。

背景技术

利用生物电信号对动作意图的识别方法主要包括基于脑电技术的识别和基于肌电技术的识别。虽然利用脑电技术可以直接从大脑获取更多的动作意图信息,但肌电技术凭借其自然舒适的交互方式和较之脑电更稳定的数据采集和处理方式,目前具有更高的应用前景。

早期国内对肌电信号的研究主要通过多个电极检测特定肌肉组织的方式,检测对象主要包括尺侧腕屈肌、尺侧腕伸肌、指伸肌等。早期进行手势识别的方法有时域分析、频域分析、模糊控制等,识别的手势种类为2~6种。近年来随着阵列型肌电检测理论的提出,国外文献最先提出了相关的肌电识别方法,之后国内也有部分高校开始了基于阵列型肌电检测的手势识别研究。具体手势识别算法也更加丰富,如卷积神经网络,隐马尔科夫模型、朴素贝叶斯分类器等,识别的手势最多超过30种。

综合国内外研究成果发现,与监测特定肌肉组织的肌电信号相比,针对整个前臂肌群的阵列式肌电监测方法能够复现出更丰富的手部动作意图,但阵列肌电监测的通道数过多不仅会带来信号的过分冗余,增加处理难度,同时负责肌电采集的装置也会更加庞大复杂,降低了使用手势识别系统的舒适度。



技术实现要素:

本发明所要解决的技术问题是克服现有技术的不足而提供一种基于手势识别的仿人灵巧肌电假手控制方法,本发明的手势识别方法的预测准确率高,能有效减少使用者在训练过程由于训练疲劳完成错误手势的概率。

本发明为解决上述技术问题采用以下技术方案:

根据本发明提出的一种基于手势识别的仿人灵巧肌电假手控制方法,包括以下步骤:

步骤1、利用多通道阵列式肌电传感器采集使用者前臂的表面肌电信号数据;

步骤2、对使用者进行手部动作意图捕捉训练,在预设时间内采集使用者多种手势的表面肌电信号,并建立使用者的表面肌电信号数据库;该数据库仅包含一个使用者的一个手臂的肌电信号数据,该数据库具体存储使用者在完成多种手势状态下的表面肌电信号数据;

步骤3、采用基于深度学习的手势识别预测算法,使用tensorflow框架训练完成神经网络模型,提取训练完成的神经网络模型,并用于实时手势识别预测;手势识别预测算法包括表面肌电信号预处理方法、基于深度神经网络的手势识别模型训练算法和训练完成的手势识别模型实时预测算法;步骤3具体包括如下子步骤:

步骤3.1、对步骤2建立的使用者的表面肌电信号数据库中的原始表面肌电信号数据进行预处理和输入神经网络前的归一化处理;

步骤3.2、采用tensorflow神经网络框架设计双隐层前向传播神经网络结构,隐藏层的激活函数为relu函数,输出层的激活函数为softmax函数;采用随机搜索法对隐层神经元个数和剪枝率进行最优化调试,使用adams法进行参数训练;

步骤3.3、提取训练完成的神经网络模型,并用于实时手势识别预测;

步骤4、根据预测的手势结果,控制仿人灵巧肌电假手同步完成手势动作。

作为本发明所述的一种基于手势识别的仿人灵巧肌电假手控制方法进一步优化方案,步骤1中多通道阵列式肌电传感器为八通道阵列式肌电传感器。

作为本发明所述的一种基于手势识别的仿人灵巧肌电假手控制方法进一步优化方案,步骤1具体如下:

步骤1.1、佩戴肌电信号采集手环myo,将手环内侧电极紧贴前臂表面;每次佩戴时保证手环上的条状指示灯朝向手腕侧;每次佩戴时保持手环上带指示灯的传感器与手正常放松时的手背处于同一平面;

步骤1.2、将采集手环myo的蓝牙收发端口插入用于手势识别的上位机上;

步骤1.3、启动蓝牙协议解析程序,提取出用于识别手势的8通道表面肌电数据。

作为本发明所述的一种基于手势识别的仿人灵巧肌电假手控制方法进一步优化方案,步骤2的训练方法具体如下:

步骤2.1、使用者按步骤1完成穿戴后,用于手势识别的上位机采集训练数据;

步骤2.2、使用者根据上位机的动作指令,做出相应的动作,该动作不仅包含需要完成的手势动作,同时还包含手臂动作;手臂动作的确定方法为:根据分析前臂的可达空间和活动密集区域,选择在上臂保持自然下垂的状态下,将前臂与上臂呈180度、90度和45度这三种状态设为完成手势的手臂姿势;当使用者根据上位机的动作指令已保持该姿势,此时将记录一段固定长度的表面肌电信号数据;

步骤2.3、将记录完成的一段表面肌电信号数据进行命名,命名内容包含使用者标号、穿戴次数标号、左或右手标号、手臂姿势标号和手势标号;

步骤2.4、将命名完成的表面肌电信号数据存放在数据库中,并且进行下一个手势的表面肌电信号采集,采集方式与步骤2.2一致。

作为本发明所述的一种基于手势识别的仿人灵巧肌电假手控制方法进一步优化方案,步骤2中采集使用者8种手势的表面肌电信号,数据库具体存储使用者在完成8种手势状态下的表面肌电信号数据,8种手势状态分别为:放松、手腕外翻、手腕内翻、握拳、伸掌、第一预设手势、第二预设手势和竖大拇指。

作为本发明所述的一种基于手势识别的仿人灵巧肌电假手控制方法进一步优化方案,步骤3.2双隐层前向传播神经网络结构中,其中输入神经元的个数是8,输出神经元个数是8。

作为本发明所述的一种基于手势识别的仿人灵巧肌电假手控制方法进一步优化方案,步骤4具体如下:

步骤4.1、使用者按步骤2完成了多次完整的训练后,再次按步骤1佩戴手环,开始启动手势实时预测;

步骤4.2、将预测的手势结果经由上位机端的串口发送,由数据线另一端的灵巧假手接收,假手端的微处理器将分析其串口端接收到的手势结果,然后控制电机同步完成相应的手势动作。

作为本发明所述的一种基于手势识别的仿人灵巧肌电假手控制方法进一步优化方案,步骤2中预设时间为少于30分钟。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

(1)本发明使用阵列型肌电传感手环作为手势识别传感器,阵列型设备相较于其他分立式传感设备,具有更好的穿戴体验,该方式较图像识别与数据手套识别具有更舒适的穿戴体验,同时设备的便携性使其能在移动环境运行;

(2)本发明公布的手势识别方法的预测准确率达到了97%,具有令人满意的实用性;降低了肌电传感器对电极位置的依赖,增加了识别方法的稳定性;

(3)使用本发明公布的训练方式进行前期手势的信号采集具有时间短,训练方式合理的优点,减少使用者在前期训练的疲劳度,增加肌电数据库的质量,能有效减少使用者在训练过程由于训练疲劳完成错误手势的概率;

(4)本发明的神经网络训练算法的收敛速度快,并且能收敛到一个更优解,具有很好的实际运用效果;采用优化的神经网络训练方法能提高同规模神经网络的预测识别率,使用者在前期进行5-6轮训练后,无需再进行训练,之后可以随时穿戴肌电传感设备进行手势识别。

附图说明

图1是待预测手势示意图与手环佩戴情况。

图2是训练数据采集流程。

图3是肌电信号预处理结果。

图4是tensorflow构建的深度神经网络结构。

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

本发明保留了阵列传感器的优势,同时选择了具有适当通道数的8维阵列式表面肌电传感器对受试者的离散手势动作进行复现。此外,近年来随着机器学习算法在各交叉学科中的延伸,利用神经网络对非线性系统建立分类模型的方案成为了工程应用热点,因此,本发明主要研究通过构建神经网络对离散手势进行分类。

本发明公开了一种基于手势识别的仿人灵巧肌电假手控制方法,实时识别使用者的8种手势,并操作灵巧假手进行同步动作。该控制方法的手势识别策略基于神经网络算法,受试者首先在训练阶段重复完成预先设定的8种手势动作(分别为放松、手腕外翻、手腕内翻、握拳、伸掌、手势2、手势3和竖大拇指),之后该系统能够实时识别使用者随机完成8种手势中的任意一种手势。本发明使用tensorflow机器学习框架学习权值并进行了可视化分析。本发明对一名使用者进行表面肌电信号采集、训练和预测,对8种手势的综合预测精度达到97%,且再次佩戴时不再需要进行训练。受试者实际控制假手时,使用投票算法对实时手势预测结果进行深度优化,最终假手的动作同步率到达99%。

本发明提供了一种仿人灵巧肌电假手控制方法,具体包括以下步骤:

(1)对于第一次使用该手环的使用者,首先需要进行数据采集。进行数据采集时,需要将手环内侧电极紧贴表面。为了保证每次佩戴手环能够正常控制机械手,需要人为规定手环的佩戴方向和大致佩戴位置。假设规定使用者将手环佩戴于右手前臂;手环上的条状指示灯朝向手腕侧;每次佩戴时保持手环上带指示灯的传感器与手正常放松时的手背处于同一平面,具体佩戴方式见图1右下角的实际佩戴图片。为简化叙述方式,如图1所示8种手势分别编号为gs0~7。

(2)手环佩戴完毕后开始指导受试者完成8种手势的肌电数据采集流程。考虑到实际控制中大臂的活动会影响手势识别的准确率,且只在一种手臂姿势下完成手势动作容易造成神经网络的过拟合。因此,本实验采集了多个手臂姿势下完成8种手势的肌电数据。手臂姿势的确定方法为:根据分析前臂的可达空间和活动密集区域,选择在上臂保持自然下垂的状态下,将前臂与上臂呈180度、90度和45度这三种状态设为完成手势的手臂姿势,将这三种手臂姿势分别编号为am0~2。采集流程图如图2所示。由图可知,操作者佩戴一次手环,采集肌电数据样本的总数为2400组。

(3)进行表面肌电信号的数据预处理。数据处理包含两部分,分别为对原始表面肌电信号的预处理和肌电信号输入神经网络前的归一化处理。本发明采用对原始信号去偏置、整流、均方根(rms)滤波的方式对表面肌电信号做预处理。rms滤波公式中,frms(xi)表示经过滤波后的肌电信号在第i时刻的幅值;等式右侧xm表示在滑动窗口中第m时刻的幅值;k表示滤波窗口长度。

经过对不同滑动窗口长度的比较,发现选择滑动窗口为40ms时能大幅减小信号的波动,同时具有较好的跟随性。经过预处理后的波形如图3所示,图中浅色波形是经过整流后的表面肌电信号,深色波形为经过滑动窗口rms滤波后的波形。

神经网络的运算需要避免梯度消失和网络输出值发散,因此需要对网络输入量进行归一化处理,通过分析训练各通道肌电信号的最大值,设定归一化参数为1024,即代入神经网络的输入量为肌电信号除以归一化参数。

(4)进行神经网络的搭建和神经网络模型训练。使用tensorflow神经网络框架设计双隐层前向传播神经网络结构,其中输入神经元的个数是8,输出神经元个数是8。隐藏层的激活函数为relu函数,输出层的激活函数为softmax函数。该神经网络的损失函数使用分类算法中常用的交叉熵(crossentropy)函数;使用xavier法对权值进行初始化,能够使初始权值呈均值为0的正态分布;使用学习率的指数衰减算法、adam梯度下降法和mini-batch法可以加快训练速度;使用剪枝(dropout)算法减小过拟合情况。以上算法的代码实现均在tensorflow框架下完成,利用tensorflow的神经网络可视化分析工具生成了所述的神经网络结构,如图4所示。图中cross_entropy表示将神经网络的预测手势与输入层的实际手势作为输入,计算交叉熵损失函数。train包含了上文提到的网络优化算法,accuracy用于输出预测准确率。图中各箭头流向表示张量的传递方向。

(5)进行数据预测。当网络训练完成后,myo将采集到的表面肌电信号实时传入神经网络,采用训练完成的权值参数矩阵与实时肌电数据进行矩阵运算。由于softmax函数具有单调上升性,取输出层神经元中的最大值即可作为输入肌电信号的手势预测结果,预测结果的输出频率为50hz。对于神经网络的预测结果还需要进行进一步优化,本发明采用投票法,设定长度为25的滑动窗口,对邻近25次手势预测结果进行投票,输出25次预测结果中出现次数超过半数的手势。

(6)进行假手的协同控制,手势识别上位机会将手势识别结果以十六进制数据格式传输至假手中的微控制器。假手端的微控制器已固化了针对8种手势下,假手上各个电机的位置参数。当微控制器接收到某一手势,电机驱动器将采用位置控制,使假手各手指完成相应的手势动作。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1