手势识别方法、装置及LeapMotion体感控制系统的制作方法

文档序号:6545736阅读:165来源:国知局
手势识别方法、装置及Leap Motion体感控制系统的制作方法
【专利摘要】本发明涉及一种手势识别方法及装置,以及一种Leap?Motion体感控制系统。上述手势识别方法包括:S1:将用于控制三维物体的多个手势操作存储至手势库;S2:实时采集手部的运动数据,对采集到的数据进行特征提取;S3:根据提取出的特征参数判断手部的运动是否属于平移类型操作,若属于平移类型操作,进入步骤S5,若不属于平移类型操作,进入步骤S4;S4:通过预设算法确定手部的运动所属的操作类型;S5:根据操作类型在手势库中查询相应类型的操作,根据特征参数在相应类型的操作中确定目标操作。通过上述技术方案,可以构建适用于Leap?Motion的三维模型操作手势库,以及相应的手势识别方法,并提高手势识别的准确率,保证三维操作中模型变换的连贯性和稳定性。
【专利说明】手势识别方法、装置及Leap Motion体感控制系统
【技术领域】
[0001]本发明涉及手势识别【技术领域】,具体而言,涉及一种手势识别方法、一种手势识别装置以及一种Leap Motion体感控制系统。
【背景技术】
[0002]三维物体操作一般包括对三维模型六个自由度(6D0F)的控制:三个分别沿着X、y、z轴方向的平移和三个分别绕x、y、z轴的旋转,它是三维设计和创作类应用的基础功能,如CAD,Maya,模拟制作陶器的移动应用Pottery等,也是许多游戏中不可缺少的体验要素。在之前很长一段时间,人们都是通过鼠标和键盘来操作这些变换,但输入工具的存在影响了人们创造力的发挥,人们很容易将注意力集中于工具的使用和数值的调整上,而不是创作或体验本身。
[0003]近几年,智能手机和平板的普及使触屏类手势交互成为研究热点。这些对于图片、文字等二维内容的操作是恨直观的。但在三维模型的操作上,由于比模型对象少了一个维度,操作起来并不直观。不少学者把研究重点放在如何约束三维的变换信息到二维的输入上,或如何扩展二维的输入使之更好地操作三维变换,但这些都不如用自由手操作自然和直观。所以用自由手势动作来实现对三维模型的操作是最符合以用户为中心的人机交互理念的。
[0004]手势追踪是手势交互不可缺少的关键技术,也是这种交互能否推广应用的瓶颈问题之一。特别是对于三维模型的控制上,需要实时反馈,模型跟随操作而变换,对实时性和稳定性要求较高。之前的自由手势研究大致分两种,一种是基于视觉的,一种是基于数据手套的,前者容易受光线、肤色、干扰物体影响,对手部细节动作的实时重建很困难,后者对于设备的要求比较高。近两年,也有人把Kinect体感技术用于动态手势识别中,但Kinect主要追踪的是中远距(0.5m-4m)的全身动作,对于手部的动作,细节信息不够。而LeapMotion的出现,弥补了 Kinect的精度问题,它是一个检测手势运动的传感器,动作跟踪精确到0.01mm,精准度是Kincet的100倍。而且设备小,成本低,扩展性强,易于内置到笔记本等其他设备上。
[0005]Leap Motion的手势主要是指令类,用于Π输入等,并未有一个完整的,包含6D0F以及缩放操作的用于三维模型变换的手势库,以及适用于三维模型操作的自由手势识别方法。

【发明内容】

[0006]本发明所要解决的技术问题是,如何构建适用于Leap Motion的三维模型操作手势库,以及相应的手势识别方法,并提高手势识别的准确率,保证三维操作中模型变换的连贯性和稳定性。
[0007]为此目的,本发明提出了一种手势识别方法,包括:S1:将用于控制三维物体的多个手势操作存储至手势库;S2:实时采集手部的运动数据,对采集到的数据进行特征提取;S3:根据提取出的特征参数判断所述手部的运动是否属于平移类型操作,若属于平移类型操作,进入步骤S5,若不属于平移类型操作,进入步骤S4 ;S4:通过预设算法确定所述手部的运动所属的操作类型;S5:根据所述操作类型,在所述手势库中查询相应类型的操作,根据所述特征参数在所述相应类型的操作中确定目标操作。
[0008]优选地,所述手势库包含单手和/或双手手势操作,且所述单手和/或双手手势操作包括沿三个轴中任一轴的平移操作,绕所述三个轴中任一轴的旋转操作,以及绕所述三个轴中任一轴的缩放操作,其中,所述三个轴中的任意两个轴互相垂直。
[0009]优选地,所述步骤S2还包括:S21,以帧数据的形式输入采集到的数据。
[0010]优选地,所述步骤S2包括:S22:对输入的帧数据进行特征提取,得到特征参数STx, STy, STz, Nx、Ny、Nz、Dx、Dy、Dz、DTX、DTy、DTZ、rt、pt,其中,STX、STy、STz 分别为当前帧与上一帧间,所述手部沿χ轴、y轴、z轴平移的距离差;Nx、Ny、Nz分别为所述手部在当前帧中沿χ轴、y轴、z轴的法向向量;DX、Dy,Dz分别为当前帧中所述手部的掌心到指尖的方向向量沿χ轴、y轴、z轴的向量;DTX、DTy、DTz分别为当前帧与上一帧间,所述手部的掌心到指尖的方向向量沿χ轴、y轴、z轴的向量差,其中,所述手部的所有指尖指向同一方向,所述χ轴、y轴、z轴中的任意两个轴互相垂直;rt为当前帧与上一帧间欧拉角的横滚角的差值;pt为当前帧与上一帧间欧拉角的俯仰角的差值。
[0011]优选地,所述步骤S3包括:判断Ny〈A且100 (rt2+pt2)〈B是否成立,其中,A和B分别为第一预设常数和第二预设常数;若成立,则判定所述手部的运动属于平移类型操作,进入所述步骤S5,若不成立,则判定所述手部的运动不属于平移类型操作,进入所述步骤S4。
[0012]优选地,所述步骤S4包括:通过支持向量机算法,选用高斯核函数作为内积和函数判断所述手部的运动所属的操作类型。
[0013]优选地,在所述步骤S3之前还包括:对所述特征参数进行帧间平滑处理。
[0014]优选地,在所述步骤S3之前还包括:对所述特征参数进行有效性过滤。
[0015]优选地,还包括:S6,过滤所述目标操作中的重复执行操作,并执行过滤后的操作。
[0016]优选地,所述步骤S2包括:通过Leap Motion体感控制器实时采集所述手部的运动数据。
[0017]本发明还提出了一种手势识别系统,包括:存储单元,用于将用于控制三维物体的多个手势操作存储至手势库;采集单元,用于实时采集手部的运动数据,对采集到的数据进行特征提取;判断单元,用于根据提取出的特征参数判断所述手部的运动是否属于平移类型操作;计算单元,用于在所述判断单元判定所述手部的运动不属于平移类型操作时,通过预设算法确定所述手部的运动所属的操作类型;查询单元,用于根据所述操作类型,在所述手势库中查询相应类型的操作,根据所述特征参数在所述相应类型的操作中确定目标操作。
[0018]本发明还提出了一种Leap Motion体感控制器,包括上述手势识别系统。
[0019]通过采用本发明所公开的技术方案,能够构建适用于Leap Motion的三维模型操作手势库,以及相应的手势识别方法,并提高手势识别的准确率,保证三维操作中模型变换的连贯性和稳定性。
【专利附图】

【附图说明】[0020]通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
[0021]图1示出了根据本发明一个实施例的手势识别方法的流程图;
[0022]图2示出了根据本发明一个实施例的手势识别装置的框图;
[0023]图3示出了根据本发明一个实施例的手势库中手势操作的示意图;
[0024]图4示出了根据本发明一个实施例的进行手势识别的示意图。
【具体实施方式】
[0025]下面将结合附图对本发明的实施例进行详细描述。
[0026]图1示出了根据本发明一个实施例的手势识别方法的流程图。
[0027]如图1所示,根据本发明一个实施例的手势识别方法包括:
[0028]S1:将用于控制三维物体的多个手势操作存储至手势库;
[0029]S2:实时采集手部的运动数据,对采集到的数据进行特征提取;
[0030]S3:根据提取出的特征参数判断手部的运动是否属于平移类型操作,若属于平移类型操作,进入步骤S5,若不属于平移类型操作,进入步骤S4 ;
[0031]S4:通过预设算法确定手部的运动所属的操作类型;
[0032]S5:根据操作类型,在手势库中查询相应类型的操作,根据特征参数在相应类型的操作中确定目标操作。
[0033]通过对手部运动进行逐次识别,可以在手部运动为较易分析的平移运动时,直接在手势库中查询出其相应的操作,而在手部运动属于非平移操作时,比如旋转或缩放操作时,能够对手部运动的特征参数进行具体运算,从而以从简单到复杂的分析方式确定手部运动在手势库中所对应的操作,提高了手势识别的准确率。
[0034]优选地,手势库包含单手和/或双手手势操作,且单手和/或双手手势操作包括沿三个轴中任一轴的平移操作,绕三个轴中任一轴的旋转操作,以及绕三个轴中任一轴的缩放操作,其中,三个轴中的任意两个轴互相垂直。
[0035]三个轴可以为构成空间直角坐标系的χ轴、I轴、z轴,该手势库可以应用于LeapMotion,从而为Leap Motion提供包含六个自由度的手势控制操作以及缩放操作,便于LeapMotion的拓展和开发使用。
[0036]优选地,步骤S2还包括:S21,以帧数据的形式输入采集到的数据。
[0037]通过帧数据形式输入数据,在分析手部运动时即可通过比对前后两帧数据中的差异来实现,便于对手部运动数据变化进行分析。
[0038]优选地,步骤S2包括:S22:对输入的帧数据进行特征提取,得到特征参数STx、STy、STz, Nx、Ny、Nz、Dx、Dy、Dz、DTX、DTy、DTZ、rt、pt,其中,STX、STy、STz 分别为当前帧与上一帧间,手部沿χ轴、y轴、z轴平移的距离差;NX、Ny、Nz分别为手部在当前帧中沿χ轴、y轴、z轴的法向向量;DX、Dy、Dz分别为当前帧中手部的掌心到指尖的方向向量沿χ轴、y轴、z轴的向量;DTX、DTy, DTz分别为当前帧与上一帧间,手部的掌心到指尖的方向向量沿χ轴、y轴、z轴的向量差,其中,手部的所有指尖指向同一方向,χ轴、y轴、z轴中的任意两个轴互相垂直为当前帧与上一帧间欧拉角的横滚角(即将物体绕z轴旋转的角度)的差值;pt为当前帧与上一帧间欧拉角的俯仰角(即将物体绕χ轴旋转的角度)的差值。[0039]通过提取上述特征参数,可以准确地识别出手部运动。
[0040]优选地,步骤S3包括:判断Ny〈A且100 (rt2+pt2)〈B是否成立,其中,A和B分别为第一预设常数和第二预设常数,通过多次实验和大量数据统计得出的固定数值;若成立,则判定手部的运动属于平移类型操作,进入步骤S5,若不成立,则判定手部的运动不属于平移类型操作,进入步骤S4。
[0041]优选地,步骤S4包括:通过支持向量机算法,选用高斯核函数作为内积和函数判断手部的运动所属的操作类型。
[0042]不属于平移类型操作的手部运动可以是旋转操作或缩放操作,通过支持向量机算法(Support Vector Machine)作为进一步判断手部运动所述类型的分类器,同时选用高斯核函数(Radial Basis Function)作为内积核函数,进行多类模式识别。从而在对旋转和缩放对应的手势进行识别时,还能够将各自对应的归位类动作列入区分范畴,即分类数是有效手势类型的两倍。
[0043]优选地,在步骤S3之前还包括:对特征参数进行帧间平滑处理。
[0044]通过帧间平滑处理,可以保证用户通过手势操作进行三维操作过程中,模型连贯且稳定地变化,使用户能够更直接和自然地操作三维物体。
[0045]优选地,在步骤S3之前还包括:对特征参数进行有效性过滤。
[0046]由于用户手部执行的运动中,可能存在部分错误操作,这些操作在手势库并不存在对应的目标操作,因此对于提取出的多个特征参数,其中存在明显偏差的特征参数可以直接过滤掉,从而避免在判断手部运动对应的操作类型时进行不必要的分析。
[0047]优选地,还包括:S6,过滤目标操作中的重复执行操作,并执行过滤后的操作。
[0048]在分析出手部运动对应的操作类型后,对于旋转和缩放操作,由于通过支持向量机算法进行多类模式识别后,得到分类数是有效手势类型的两倍。比如用户手部对操作模型执行旋转操作,向左旋转90°,由于用户执行操作后习惯将手部复位以进行下一步操作,那么在复位过程中,还会检测到用户手部向右旋转90°,即有效手势类型为向左旋转,同时还存在与之对应的无效操作类型向右旋转,因此需要对无效操作类型进行过滤,使得用户执行的控制操作更加准确、有效。
[0049]优选地,步骤S2包括:通过Leap Motion体感控制器实时采集手部的运动数据。
[0050]可以通过Leap Motion来进行手部运动的采集,提高采集精度,也可以将上述操作应用于Leap Motion,从而为Leap Motion提供6各自由度的控制以及缩放操作,便于用户通过Leap Motion执行更加准确和灵活地三维控制。
[0051]图2示出了根据本发明一个实施例的手势识别装置的框图。
[0052]如图2所示,根据本发明一个实施例的手势识别装置10包括:存储单元11,用于将用于控制三维物体的多个手势操作存储至手势库;采集单元12,用于实时采集手部的运动数据,对采集到的数据进行特征提取;判断单元13,用于根据提取出的特征参数判断手部的运动是否属于平移类型操作;计算单元14,用于在判断单元判定手部的运动不属于平移类型操作时,通过预设算法确定手部的运动所属的操作类型;查询单元15,用于根据操作类型,在手势库中查询相应类型的操作,根据特征参数在相应类型的操作中确定目标操作。
[0053]本发明还提出了一种Leap Motion体感控制系统,包括上述手势识别装置10。[0054]图3示出了根据本发明一个实施例的手势库中手势操作的示意图。
[0055]如图3所示,手势库中可以包含单手操作和双手操作,具体分为三类,包括平移操作、旋转操作和缩放操作,其中,平移操作又可以具体分为沿X轴平移,沿Y轴平移和沿Z轴平移,在X轴、Y轴、Z轴构成空间直角坐标系的情况下,上述操作相当于左右移动、上下移动和前后移动;旋转操作又可以具体分为绕X轴旋转、绕Y轴旋转、绕Z轴旋转,在X轴、Y轴、Z轴构成空间直角坐标系的情况下,上述操作相当于向上/下旋转、向左/右旋转和顺/逆时针旋转;缩放操作又可以具体分为放大操作和缩小操作。
[0056]通过为Leap Motion提供包含如图3所示的19种手势操作的手势库,使得用户可以通过Leap Motion执行6个自由度的控制和缩放操作,便于用户通过Leap Motion进行更加全面、准确地控制操作,易于Leap Motion的扩展。
[0057]图4示出了根据本发明一个实施例的进行手势识别的示意图。
[0058]如图4所示,在通过支持向量机算法(图4中简称SVM)作为进一步判断手部运动所述类型的分类器之前,需要对手部的运动进行一定的训练,经过训练后即可采用支持向量机算法对非平移类型的操作进行进一步分析。
[0059]其中第一次分类操作即判断出用户手部运动哪些属于平移类型,哪些属于非平移类型,对于平移类型的手部运动,可知直接进行后置处理得到输出,进行具体地控制,而对于非平移类型的手部运动,则需要通过支持向量机算法进行进一步分类。
[0060]通过采用本发明所公开的技术方案,能够构建适用于Leap Motion的三维模型操作手势库,以及相应的手势识别方法,并提高手势识别的准确率,保证三维操作中模型变换的连贯性和稳定性。
[0061]虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
【权利要求】
1.一种手势识别方法,其特征在于,包括: S1:将用于控制三维物体的多个手势操作存储至手势库; S2:实时采集手部的运动数据,对采集到的数据进行特征提取; S3:根据提取出的特征参数判断所述手部的运动是否属于平移类型操作,若属于平移类型操作,进入步骤S5,若不属于平移类型操作,进入步骤S4 ; S4:通过预设算法确定所述手部的运动所属的操作类型; S5:根据所述操作类型,在所述手势库中查询相应类型的操作,根据所述特征参数在所述相应类型的操作中确定目标操作。
2.根据权利要求1所述的手势识别方法,其特征在于,所述手势库包含单手和/或双手手势操作,且所述单手和/或双手手势操作包括沿三个轴中任一轴的平移操作,绕所述三个轴中任一轴 的旋转操作,以及绕所述三个轴中任一轴的缩放操作,其中,所述三个轴中的任意两个轴互相垂直。
3.根据权利要求1所述手势识别方法,其特征在于,所述步骤S2还包括: S21,以帧数据的形式输入采集到的数据。
4.根据权利要求3所述手势识别方法,其特征在于,所述步骤S2包括: S22:对输入的帧数据进行特征提取,得到特征参数STX、STy, STz, Nx、Ny、Nz、Dx、Dy、Dz、DTx> DTy> DTZ、rt、pt,其中, STX、STy、STz分别为当前帧与上一帧间,所述手部沿χ轴、y轴、z轴平移的距离差; Nx、Ny、Nz分别为所述手部在当前帧中沿χ轴、y轴、z轴的法向向量; Dx、Dy、Dz分别为当前帧中所述手部的掌心到指尖的方向向量沿χ轴、y轴、z轴的向量;DTx, DTy, DTz分别为当前帧与上一帧间,所述手部的掌心到指尖的方向向量沿χ轴、y轴、z轴的向量差,其中,所述手部的所有指尖指向同一方向,所述χ轴、y轴、z轴中的任意两个轴互相垂直; rt为当前帧与上一帧间欧拉角的横滚角的差值; Pt为当前帧与上一帧间欧拉角的俯仰角的差值。
5.根据权利要求4所述手势识别方法,其特征在于,所述步骤S3包括:判断 Ny<A 且 100 (rt2+pt2)〈B 是否成立,其中,A和B分别为第一预设常数和第二预设常数; 若成立,则判定所述手部的运动属于平移类型操作,进入所述步骤S5,若不成立,则判定所述手部的运动不属于平移类型操作,进入所述步骤S4。
6.根据权利要求1至5中任一项所述手势识别方法,其特征在于,所述步骤S4包括: 通过支持向量机算法,选用高斯核函数作为内积和函数判断所述手部的运动所属的操作类型。
7.根据权利要求1至5中任一项所述手势识别方法,其特征在于,在所述步骤S3之前还包括:对所述特征参数进行帧间平滑处理。
8.根据权利要求1至5中任一项所述手势识别方法,其特征在于,在所述步骤S3之前还包括:对所述特征参数进行有效性过滤。
9.根据权利要求1至5中任一项所述手势识别方法,其特征在于,还包括: S6,过滤所述目标操作中的重复执行操作,并执行过滤后的操作。
10.根据权利要求1至5中任一项所述手势识别方法,其特征在于,所述步骤S2包括:通过Leap Motion体感控制器实时采集所述手部的运动数据。
11.一种手势识别装置,其特征在于,包括: 存储单元,用于将用于控制三维物体的多个手势操作存储至手势库; 采集单元,用于实时采集手部的运动数据,对采集到的数据进行特征提取; 判断单元,用于根据提取出的特征参数判断所述手部的运动是否属于平移类型操作;计算单元,用于在所述判断单元判定所述手部的运动不属于平移类型操作时,通过预设算法确定所述手部的运动所属的操作类型; 查询单元,用于根据所述操作类型,在所述手势库中查询相应类型的操作,根据所述特征参数在所述相应类型的操作中确定目标操作。
12.—种Leap Motion体感控制系统,其特征在于,包括如权利要求11所述的手势识别装直。
【文档编号】G06F3/01GK104007819SQ201410188979
【公开日】2014年8月27日 申请日期:2014年5月6日 优先权日:2014年5月6日
【发明者】徐昆, 潘佳佳 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1