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

技术编号:36062096 阅读:13 留言:0更新日期:2022-12-24 10:27
本发明专利技术描述了一种基于Leap motion体感传感器,结合BPN神经网络,对三维手势信息进行处理,最终识别出手势的方法。整个过程包含3个阶段,即用户指定特殊手势图像采集阶段、对作为BPN神经网络输入的三维手势信息进行降维操作阶段、BPN神经网络实现手势识别阶段。先由用户自定义一组动态多帧的手势识别集合,绑定名称标签。从驱动层保存得到的这些信息要进行长样本的切割,取舍,降维操作。再将其作为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传感器的传入手部信息进行识别,并快速打印识别结果。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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三个坐标轴各两个);手掌速度,计算短样本所有帧的手掌速度的均...

【专利技术属性】
技术研发人员:许红梅袁莉欣张子彧刘旭唯李晶鑫崔灏渤
申请(专利权)人:长春理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1