一种基于手部运动帧数据的手势识别方法

文档序号:9598168阅读:802来源:国知局
一种基于手部运动帧数据的手势识别方法【
技术领域
】[0001]本发明属于计算机视觉和模式识别领域,特别涉及一种基于手部运动帧数据的手势识别方法。【
背景技术
】[0002]根据手势数据的输入方式不同,手势识别技术主要可以分为两类:基于数据手套的手势识别和基于计算机视觉的手势识别。基于数据手套的手势识别,主要优点是输入数据量小,能够实时地获得手在空间的三维信息和手指的运动信息,但是这种输入方式需要用户穿戴复杂的数据手套和位置跟踪器,给操作者带来很大不便,而且输入设备昂贵,很难在市场上进行推广。基于计算机视觉的手势识别,即利用摄象机输入手势,其优点是不干扰用户,成本较低,但容易受光线等外界环境影响,对手部细节动作的实时重建较为困难。[0003]在现有的体感设备中,LeapMotion通过红外LED和摄像头以不同于其他运动控制技术的方式来完成对手指手势的追踪的捕获,LeapMotion通过绑定视野范围内的手、手指或者工具来提供实时数据,这些数据通过集合或者帧数据提供,每一帧都包含了一系列的基本绑定数据,比如手、手指或者工具的数据。因此,LeapMotion较为适合基于计算机视觉的手势识别的研究。[0004]基于计算机视觉的手势识别技术主要包括一下几种:1)模板匹配:基于模板匹配的手势识别方法是一种较为简单的手势识别技术,将输入手势的特征点与各标准手势的特征点进行匹配,通过计算两者之间的相似度来实现识别,识别正确率较低;2)几何特征:基于几何特征的手势识别方法是利用手势的边缘特征和手势区域特征作为识别特征;3)隐马尔可夫模型:隐马尔科夫模型联合了马尔科夫链的时序演化模型和贝叶斯网络的概率模型能够应用于连续的语音识别、手写体识别等领域,但由于模型要求样本空间尽可能大,模型构建比较复杂,同时HMM模型假设的局部观察值独立性特点与手势动作序列的真实结构出现不符。【
发明内容】[0005]本发明的目的是提供一种基于手部运动帧数据的手势识别方法,可以提高手势识别准确率。本发明的技术方案如下:[0006]-种基于手部运动帧数据的手势识别方法,包括以下步骤:[0007](1)采集LeapMotion体感传感器输出的不同手势的手部运动帧数据序列作为初始手部运动帧数据序列;[0008](2)对初始手部运动帧数据序列进行帧数据预处理后构成手势数据集,并将手势数据集分为训练数据集和测试数据集;[0009](3)使用步骤(2)中的训练数据集按单手或者双手运动手势分为单手手势训练数据集和双手手势数据训练集;[0010](4)分别根据单手手势训练数据集和双手手势训练数据集建立两个相应的隐条件神经场HCNF模型;[0011](5)取出测试数据集中手势运动帧数据序列作为观察序列,通过观察序列的长度可将观察序列判断为单手或是双手运动手势,若为单手手势,则输入单手手势动作HCNF模型;若为双手手势,则输入双手手势动作HCNF模型,输入各自模型后,采用置信度扩散算法计算出类别标签/,即为输入观察序列X的预测标签,即完成手部动作帧数据的手势识别;[0012](6)将判断完成后的观察序列,输入对应的HCNF模型中,即若为单手手势数据序列则输入到单手手势动作HCNF模型中,否则输入到双手手势动作HCNF模型中,最终得到输入手部运动帧数据序列的运动手势类型。[0013]所述步骤(4)的方法可为:[0014]1)建立隐条件神经场(HCNF)的条件概率模型;[0015]2)根据单手手势运动训练数据集,不断调整窗长度ω和隐状态个数n,并用梯度下降算法计算得到隐条件神经场(HCNF)模型的最优参数Θ%以建立单手手势的HCRF模型;按照同样的方法建立双手手势的HCRF模型。[0016]本方法使用隐条件神经场(HCNF)对手部运动数据进行自动识别,提高了手势识别的准确性。【附图说明】[0017]图1为一种基于手部运动帧数据的手势识别方法的流程图。【具体实施方式】[0018]在文献[1]中,Yasuhisa等人提出了隐条件神经场(HCNF),该模型是将门函数引入到隐条件随机场(HCRF)中得到的,不仅能够考虑特征之间的非线性,而且具有隐条件随机场(HCRF)的优点。该文将此种模型用于语音识别。本发明的手势识别方法,提取特征需要考虑特征之间的非线性,借鉴文献1,将Yasuhisa等人提出的隐条件神经场(HCNF)引入手势识别,提出基于隐条件神经场(HCNF)的手势识别方法,隐条件神经场(HCNF)是在条件神经场(CNF)的基础上提出的,提高了手势识别的准确性。[0019]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述:[0020](1)不同手势运动帧数据序列的采集;[0021]通过HTML、CSS、JavaScript编写web应用对LeapMotion体感传感器输出的不同手势动作帧数据序列进行存储,构成初始手势动作帧数据序列。[0022](2)对初始手势帧数据序列进行删减无关数据的预处理;[0023]LeapMotion手势每帧数据含有四个对象,分别为id,hands,pointables,interactionBox。其中的一些数据与手势识别没有关联,可以将其删除,如id对象,interactionBox对象。[0024]id对象表示每一帧数据编号,每一帧数据只有唯一一个的id号,且输出的手势帧数据的id号是递增的;interactionBox对象表示在LeapMotion视野范围内的一个完整长方体,称为互动框,互动框是一个轴对齐的矩形棱柱,对于不同手势,互动框的大小和位置是不变的。因此,id与interactionBox对象中的数据对于手势识别并没有作用,可以将这两类数据删除。[0025]完成预处理后的手势帧数据序列即为输入观察序列X。[0026](3)将处理完成后的手势帧数据序列构成手势数据库;[0027]将手势数据集分为训练数据库和测试数据库,训练数据集D由观察序列-类别标签数据对{(XJi)}组成,即D={(XdYJ},其中Y1=Y,i=1,2,…,N,X1={Xlil,Xl,2,…,XhJ,N为训练集中的样本个数,m为观察值序列的帧数。[0028]训练数据集用于训练与建立隐条件神经场(HCNF)模型,测试数据集用于测试手势识别的正确率。[0029](4)构建单手手势和双手手势的训练数据集;[0030]例如单手手势动作,选取所有单手手势动作帧数据序列构建单手手势动作的训练数据集。第i个手势帧数据序列I含有wi个手势帧数据,得到wif手势帧数据的观察序列集合,再将第i个手势帧数据序列的手势类别标签标注为YWil,对所有W个单手手势帧数据序列进行上述操作,得到W个单手手势帧数据序列的观察值序列集合{XWil,Xw,2,…,Xw,w}与类别标签集合{YWil,Yw,2,…,Yw,w},其中,Yw为所有可能画圈手势动作的类别标签,观察序列集合和类别标签集合共同构成画圈手势动作的训练数据集{(XW,YW)},w=当前第1页1 2 
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1