一种基于Leapmotion结合BPN神经网络的三维手势识别方法


gautam.american sign language recognition using support vector machine and convolutional neural network[j].international journal of information technology,2021(prepublish).
[0010]
[6]roy partha pratim,kumar pradeep,kim byung gyu.an efficient sign language recognition(slr)system using camshift tracker and hidden markov model(hmm)[j].sn computer science,2021,2(2).
[0011]
[7]钟建敏,李晓冬,李家健,陆任贵,常子键.基于knn-hmm的智能手语翻译系统[j].科技视界,2021(03):43-46.


技术实现要素:



[0012]
技术解决问题:克服聋哑人与常人交流互通的难题,本发明提出一种手势识别准确率较高、操作简单快捷的基于leap motion结合bpn神经网络的三维手势手语识别方法。
[0013]
本发明采用的技术方案为:一种基于leap motion的bpn神经网络手部关节信息手势手语识别方法,所述手势识别方法包括以下步骤:
[0014]
步骤1:用户指定特殊手势图像采集
[0015]
手语当中象形式手势、防字式手势、表音式手势、会意式手势、指示式手势以及综合式手势是手语的最常见分类,几乎可以涵盖大部分的手指语言。本发明在这六种手势分类中各精选一部分手势作为代表进行手势识别,即可保证发明的功能完整性。由用户提供一组手势,将这组手势作为标准手势,采集该组手势信息,记为标准组;根据标准组手势普世含义,构建其对应的名称标签;
[0016]
步骤2:手势长样本采集
[0017]
利用leap motion传感器,针对步骤1中每一个定义手势进行采样,每一个手势连续采样1280帧;
[0018]
步骤3:手势长样本切割
[0019]
将长样本切割成128帧的片段,每个片段是一个短样本;所有短样本组成一个训练集合,训练集合有如下几个特点和要求:训练结合由若干个样本构成,每个样本包括一个短样本片段和一个与之关联的手势(步骤1所定义的手势),每个样本的短样本片段是等长的,识别集合所定义的手势在样本集合中的样本数量是均等的;
[0020]
步骤4:样本编解码
[0021]
每个样本片段包含128帧数据,每帧数据包含手指各个关节等3d信息(x、y、z三个坐标轴);bpn神经网络输入是一个向量,每个分量用float型表达。编码过程是从样本片段数据到float向量的计算过程;bpn神经网络的输出也是一个float向量,手势定义识别结果是一组文本信息(text),解码过程是从bpn神经网络输出到识别结果的解算过程;
[0022]
步骤5:bpn神经网络设计
[0023]
bpn神经网络输入是一个长度为54的float分量,输出是一个长度为10(分量数与步骤1定义了10个识别集合紧密相关)的float向量。bpn神经网络设计成5层的标准网络,每层输出分量维度分别是:54-》128-》64-》32-》10。每层包含偏置bias,激活函数采用双曲正切函数(tanh);
[0024]
步骤6:bpn神经网络训练
[0025]
对于步骤3输出的训练样本集合,经由步骤4进行编解码,对步骤5设计的bpn神经网络进行训练,迭代若干个世代,最终输出一个训练好的权重文件;
[0026]
步骤7:在线识别
[0027]
由系统加载训练好的权重文件,在线实时对leap motion传感器的传入手部信息进行识别,并快速打印识别结果。
[0028]
进一步,所述步骤4中,样本编解码的三维骨骼信息作为bpn神经网络输入的降维操作包括:
[0029]
第一步利用公式(1)将x、y、z三轴坐标分别代入计算掌心位置的平均值,n取128,计算出128个掌心位置的平均位点
[0030][0031]
第二步将2.1得到的平均位点视为坐标原点,并再次通过公式(1)计算出从驱动获取的每一帧共128帧手掌法向量的平均值(x1,y1,z1);
[0032]
第三步利用公式(2)计算手掌法向量的标准差,得到(x2,y2,z2)
[0033][0034]
第四步利用公式(1)、(2)计算5个手指指尖的平均位置和标准差,得到5
×3×
2=30个分量;
[0035]
第五步短样本中包含的多帧数据,每帧数据类型包括有

手掌法向量、

手掌速度、

手型角度、

5根手指到掌心的距离、

5根手指方向坐标,依次分别计算这5种数据的平均值与标准差,平均值用来衡量短样本所有帧的大概率位点,标准差用来衡量短样本所有帧动态信息的波动情况即变化的手势动作;手掌法向量,计算短样本所有帧的手掌法向量的均值和标准差,得到2个向量,含6个分量(x、y、z三个坐标轴各两个);手掌速度,计算短样本所有帧的手掌速度的均值和标准差,得到2个向量,含6个分量;手型角度,这个参数是拇指和4指的夹角,计算短样本所有帧的手型角度的均值和标准差,得到2个标量,含2个分量;5个手指离掌心的距离,计算短样本所有帧的均值和标准差,每个手指得到2个分量;5个手指方向坐标,计算128帧的手指方向的均值和标准差,每个手指得到2个向量,含6个分量;经过如上操作就将复杂的多帧三维空间加一维时间的四维数据降至多帧一维数据,即成功满足bpn神经网络的输入格式要求。
[0036]
再进一步,所述bpn神经网络中增加了训练样本的扰动,本发明在bpn神经网络训练的时候,为了增强样本的鲁棒性,对已经切割好的短样本,进行了旋转和平移等操作,在3维空间(x、y、z三个坐标轴)上对样本的每一帧数据进行了随机旋转和平移等操作,等效于对同一个手势,站在不同位置和不同角度观测到的手势。极大地扩充了样本的覆盖性,使样本数据具有普适性。
[0037]
再进一步,所述手势实时在线识别中,设计长度为1280帧的缓冲区队列,leap motion驱动每次回调输出一帧数据,压至队列尾部,并设计帧计数器累加1;当且仅当帧计数器是64的整数倍时,启动识别引擎进行识别1次,并且每次从缓冲队列尾部获取128帧作为数据缓冲区,经过步骤2编码降维后,得到54维向量,输入给bpn神经网络;bpn神经网络输出10维向量后,经由解码(解码计算标准输出和是实际输出的欧氏距离,并返回距离最近的
motion传感器的传入手部信息进行识别,并快速打印识别结果。
[0076]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:


1.一种基于leapmotion结合bpn神经网络的三维手势识别方法,其特征在于,所属手势识别方法包括以下阶段:阶段1:用户指定特殊手势图像采集由用户提供一组手势,将这组手势作为标准手势,采集该组手势信息,记为标准组;根据标准组手势含义,构建其对应的名称标签;由原始样本构建训练样本,将原始样本作为训练样本的输入来源,对它进行扰动处理操作且对原始样本进行切割分成若干短样本,记为训练样本组,以达到鲁棒性增强、样本多样化的目的;阶段2:对作为bpn神经网络输入的三维骨骼信息进行降维操作从leapmotion驱动中提取到的手部实时三维骨骼信息为一组多帧动态多维度信息,每一帧包含x、y、z三轴信息,再加上时间轴,构成四维数据,该步骤将以上所得四维数据降至一维,将其作为bpn神经网络的输入向量;阶段3:bpn神经网络实现手势识别设计bpn神经网络初步结构模型,用阶段2降维后样本数据进行训练并测试调整bpn神经网络模型,迭代训练bpn神经网络,最终输出训练好的权重文件,紧接着由系统加载该权重文件,对leapmotion传感器传入的三维骨骼信息进行实时识别,并快速打印识别结果。2.如权力要求1所述的基于leapmotion结合bpn神经网络的三维手势识别方法,其特征在于,所述阶段2中具体的降维操作方法如下:短样本中包含多帧数据,每帧数据类型包括有手掌法向量、手掌速度、手型角度、每个手指到掌心的距离、每个手指方向坐标,依次分别计算这5种数据的平均值与标准差,平均值用来衡量短样本所有帧的大概率位点,标准差用来衡量短样本所有帧动态信息的波动情况即变化的手势动作;手掌法向量,计算短样本所有帧的手掌法向量的均值和标准差,得到2个向量,含6个分量(x、y、z三个坐标轴各两个);手掌速度,计算短样本所有帧的手掌速度的均值和标准差,得到2个向量,含6个分量;手型角度,这个参数是拇指和4指的夹角,计算短样本所有帧的手型角度的均值和标准差,得到2个标量,含2个分量;每个手指离掌心的距离,计算短样本所有帧的均值和标准差,每个手指得到2个分量;每个手指方向坐标,计算短样本所有帧的手指方向的均值和标准差,每个手指得到2个向量,含6个分量;经过如上操作将复杂的多帧三维空间数据加一维时间数据的多重数据降至多帧一维数据,成功满足bpn神经网络的输入格式要求。3.如权力要求1所述的基于leapmotion结合bpn神经网络的三维手势识别方法,其特征在于,所述阶段3中:(1)bpn神经网络结构bpn神经网络输入是一个54维向量,输出是一个10维向量;bpn神经网络设计成5层的标准网络,每层的输出分量维度分别是:54->128->64->32->10;每层包含偏置(bias),激活函数采用双曲正切函数(tanh);(2)在线识别手势的判定标准设计长度为1280帧的缓冲区队列,leapmotion驱动每次回调输出一帧数据,压至队列尾部,并设计帧计数器累加1;当且仅当帧计数器是64的整数倍时,启动识别引擎进行识别1次,并且每次从缓冲队列尾部获取128帧作为数据缓冲区,经过步骤2编码降维后,得到54维向量,输入给bpn神经网络;bpn神经网络输出10维向量后,经由解码(解码计算标准输出和
是实际输出的欧氏距离,并返回距离最近的结果)返回置信度,当欧式距离小于0.3则判定识别成功,否则返回失败;当识别成功后,清除缓冲队列;否则不能清除缓冲队列。

技术总结


本发明描述了一种基于Leap motion体感传感器,结合BPN神经网络,对三维手势信息进行处理,最终识别出手势的方法。整个过程包含3个阶段,即用户指定特殊手势图像采集阶段、对作为BPN神经网络输入的三维手势信息进行降维操作阶段、BPN神经网络实现手势识别阶段。先由用户自定义一组动态多帧的手势识别集合,绑定名称标签。从驱动层保存得到的这些信息要进行长样本的切割,取舍,降维操作。再将其作为BPN神经网络的输入,进行网络训练使其达到收敛,从而实现在线识别各种手势的最终目标。本发明可对用户定义的三维手势动作进行高精度高速率的识别检测,并实时输出打印所识别的动作名称,亦能保证网络训练和识别的同步进行。对聋哑人与常人交流有重要意义。与常人交流有重要意义。与常人交流有重要意义。


技术研发人员:

许红梅 袁莉欣 张子彧 刘旭唯 李晶鑫 崔灏渤

受保护的技术使用者:

长春理工大学

技术研发日:

2021.06.07

技术公布日:

2022/12/22

本文发布于:2024-09-20 17:59:19,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/45035.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:手势   神经网络   样本   向量
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议