一种手势识别方法、装置及手势学习系统的制作方法

文档序号:10512686阅读:181来源:国知局
一种手势识别方法、装置及手势学习系统的制作方法
【专利摘要】一种手势识别方法、装置及手势学习系统,获取目标手势的各个手指伸出状态;从预设手势库中选择出与所述目标手势的各个手指伸出状态相匹配的手势集合;获取所述目标手势的手势特征量;从所述手势集合中选择出与所述目标手势的手势特征量相匹配的手势。该手势识别方法、装置及手势学习系统能够准确地识别静态的手势语,并且能够识别手势所表达的丰富语义,消除手势语言与自然语言间的沟通交流障碍。
【专利说明】
一种手势识别方法、装置及手势学习系统
技术领域
[0001] 本发明涉及模式识别领域,具体涉及一种手势识别方法、装置及手势学习系统。
【背景技术】
[0002] 通过手势比量动作、模拟形象或者词语,以构成的一定意思,是听力障碍的人互相 交际和交流思想的一种手的语言,也是有声语言的重要辅助工具。手语的教学往往采用面 对面教学的方式,为此需要大量的教师资源;或者采用图解和文字说明的方式,但往往学员 难以判断自学过程中手势的准确性。
[0003] 体感游戏产品"厉动"(英文:Leap Motion),通过绑定视野范围内的手、手指或者 工具来提供实时数据,且能够把特定的、可以显示用户意图或指令的运动模式识别为手势。 然而,Leap Mot ion仅可以识别四种运动模式:画圈(Circle)、挥手(Swipe)、按键(Key Tap)、屏幕点击(Screen Tap),无法识别手语中丰富的语义。
[0004] 中国专利文献CN 104007819A公开了一种手势识别方法、装置及Leap Motion体感 控制系统,通过Leap Motion实时采集手部的运动数据,对采集到的数据进行特征提取;根 据提取出的特征参数判断手部的运动是否属于平移类型操作;若属于平移类型操作,则根 据操作类型,在手势库中查询相应类型的操作,根据特征参数在相应类型的操作中确定目 标操作;若不属于平移类型操作,则通过预设算法确定手部的运动所属的操作类型。
[0005] 上述手势识别方法,用于判断手部的运动类型,并根据手部运动所属的操作类型 实现体感控制。然而上述手势识别方法并不能够识别手语所表达的丰富语义,尤其是静态 的手势语。

【发明内容】

[0006] 因此,本发明要解决的技术问题在于克服现有技术中不能识别静态手势语的缺 陷,从而提供一种手势识别方法,包括如下步骤:
[0007] 获取目标手势的各个手指伸出状态;
[0008] 从预设手势库中选择出与所述目标手势的各个手指伸出状态相匹配的手势集合;
[0009] 获取所述目标手势的手势特征量;
[0010] 从所述手势集合中选择出与所述目标手势的手势特征量相匹配的手势。
[0011]优选地,从预设手势库中选择出与所述目标手势的各个手指伸出状态相匹配的手 势集合的步骤,包括:
[0012] 预先根据各个手指伸出状态对预设手势库中各个手势进行编码;
[0013] 根据所述目标手势中所述各个手指伸出状态,对所述目标手势进行编码;
[0014] 从所述预设手势库中选择出与所述目标手势的编码相同的手势,作为所述手势集 合。
[0015] 优选地,所述手势特征量包括掌心朝向、手伸出的方向、食指近指关节的方向、大 拇指与食指的指尖距离、食指与中指的指尖距离中的一项或多项。
[0016] 优选地,从所述手势集合中选择出与所述目标手势的手势特征量相匹配的手势的 步骤,包括:
[0017] 判断所述手势集合中的手势个数是否为1;
[0018] 若不为1,则从所述手势集合中选择出与所述目标手势的手势特征量相匹配的手 势。
[0019] 优选地,所述根据所述各个手指伸出状态,对所述预设手势库中的手势及所述目 标手势进行编码的步骤,包括采用二进制的五位编码进行编码,每位编码对应一根手指的 伸出状态,通过1表示所述手指伸出,〇表示所述手指未伸出。
[0020] 优选地,所述获取目标手势的各个手指伸出状态,包括:
[0021] 计算相邻指骨间的角度,所述相邻指骨包括:掌骨与近节指骨、近节指骨与中间指 骨、中间指骨与远节指骨;
[0022] 根据所述相邻指骨间的角度,判断所述目标手势的各个手指伸出状态。
[0023] 优选地,所述根据所述各个手指伸出状态,对所述预设手势库中的手势及所述目 标手势进行编码的步骤,还包括采用预定进制的五位编码进行编码,每位编码对应一根手 指的伸展出状态,进制数为所述手指伸出状态的个数。
[0024]优选地,通过Leap Motion传感器获取所述目标手势的各个手指伸出状态及所述 目标手势的手势特征量。
[0025] 本发明还提供了一种手势识别装置,包括:
[0026] 第一获取单元,用于获取目标手势的各个手指伸出状态;
[0027] 第一匹配单元,用于从预设手势库中选择出与所述目标手势的各个手指伸出状态 相匹配的手势集合;
[0028] 第二获取单元,用于获取所述目标手势的手势特征量;
[0029] 第二匹配单元,用于从所述手势集合中选择出与所述目标手势的手势特征量相匹 配的手势。
[0030] 优选地,所述第一匹配单元,包括:
[0031] 编码子单元,用于预先根据各个手指伸出状态对预设手势库中各个手势进行编 码;
[0032] 所述编码子单元,还用于根据所述目标手势中所述各个手指伸出状态,对所述目 标手势进行编码;
[0033]第一选择子单元,用于从所述预设手势库中选择出与所述目标手势的编码相同的 手势,作为所述手势集合。
[0034]优选地,所述手势特征量包括掌心朝向、手伸出的方向、食指近指关节的方向、大 拇指与食指的指尖距离、食指与中指的指尖距离中的一项或多项。
[0035]优选地,所述第二匹配单元,包括:
[0036] 第一判断子单元,用于判断所述手势集合中的手势个数是否为1;
[0037] 第二选择子单元,用于若所述手势集合中的手势个数不为1,则从所述手势集合中 选择出与所述目标手势的手势特征量相匹配的手势。
[0038] 优选地,所述编码子单元,包括二进制编码子单元,用于采用二进制的五位编码进 行编码,每位编码对应一根手指的伸出状态,通过1表示所述手指伸出,〇表示所述手指未伸 出。
[0039] 优选地,所述第一获取单元,包括:
[0040] 计算子单元,用于计算相邻指骨间的角度,所述相邻指骨包括:掌骨与近节指骨、 近节指骨与中间指骨、中间指骨与远节指骨;
[0041] 第二判断子单元,用于根据所述相邻指骨间的角度,判断所述目标手势的各个手 指伸出状态。
[0042] 优选地,所述编码子单元,包括预定进制编码子单元,用于采用预定进制的五位编 码进行编码,每位编码对应一根手指的伸出状态,进制数为所述手指伸出状态的个数。 [0043] 优选地,所述装置还包括Leap Motion传感器,用于获取所述目标手势的各个手指 伸出状态及所述目标手势的手势特征量。
[0044]本发明还提供了一种手势学习系统,包括:
[0045]显示单元,用于显示待学习手势的预设范例供用户模仿;
[0046] 上述任一所述的手势识别装置,用于对用户所模仿的目标手势进行识别;
[0047] 反馈单元,用于根据识别结果,反馈用户所模仿的目标手势是否正确,并给出改善 建议。
[0048]本发明技术方案,具有如下优点:
[0049] 1.本发明提供的手势识别方法,先获取目标手势的各个手指伸出状态,从预设手 势库中选择出与目标手势的各个手指伸出状态相匹配的手势集合;再获取目标手势的手部 特征量,从手势集合中选择出与目标手势的手势特征量相匹配的手势,能够准确地识别静 态的手势语,并且能够识别手势所表达的丰富语义,消除手势语言与自然语言间的沟通交 流障碍。
[0050] 2.本发明提供的手势识别方法,从预设手势库中选择出与目标手势的各个手指伸 出状态相匹配的手势集合时,预先根据各个手指伸出状态对预设手势库中各个手势进行编 码,然后根据目标手势中各个手指伸出状态,对目标手势进行编码,再从预设手势库中选择 出与目标手势的编码相同的手势,作为手势集合,对目标手势进行预分类,减少了待匹配的 手势数量,方法简单,能够减少运算量,降低算法复杂度。
[0051] 3、本发明提供的手势识别方法,手势特征量包括掌心朝向、手伸出的方向、食指近 指关节的方向、大拇指与食指的指尖距离、食指与中指的指尖距离中的一项或多项,该手势 特征量对于手势识别具有足够的辨识度,能够从手势库中快速匹配到目标手势,提高识别 的速度和准确性。
[0052] 4、本发明提供的手势识别方法,从手势集合中选择出与目标手势的手势特征量相 匹配的手势时,先判断手势集合中的手势个数是否为1,若不为1,则从手势集合中选择出有 目标手势的手势特征量相匹配的手势,通过手势特征量对手势进行进一步地细化识别,提 高手势识别的准确性。
[0053] 5、本发明提供的手势识别方法,根据各个手指伸出状态对预设手势库中的手势及 目标手势进行的编码,包括二进制的五位编码,每位编码对应一根手指的伸出状态,通过1 表示所述手指伸出,〇表示所述手指未伸出,通过对手指的伸出状态进行二进制编码,对目 标手势进行预分类,得到手势集合,减少了待匹配的手势数量,方法简单,能够减少运算量, 降低算法复杂度。
[0054] 6、本发明提供的手势识别方法,在获取目标手势的各个手指伸出状态时,先计算 相邻指骨间的角度,再根据相邻指骨间的角度判断目标手势的各个手指伸出状态,能够较 为准确地量化手指伸出的状态。
[0055] 7、本发明提供的手势识别方法,根据各个手指伸出状态对预设手势库中的手势及 目标手势进行的编码,还包括预定进制的五位编码,每位编码对应一根手指的伸展出状态, 进制数为所述手指伸出状态的个数,通过多进制的编码对手指的伸出状态进行量化表示, 能够更为细致得表征手指的伸出状态,使通过一次编码识别能够更为准确地从预设手势库 中选择与目标手势匹配的手势,提高识别的准确性,进一步提高效率。
[0056] 8、本发明提供的手势识别方法,通过Leap Motion传感器获取目标手势的各个手 指伸出状态及目标手势的手势特征量,硬件成本较低;使用其自带的用户开发接口 API,能 够降低开发难度;此外,Leap Motion能够获取手势的无遮挡的三维视图,能够全方位地、更 为准确地识别手势,手势识别的准确性较高。
[0057] 9、本发明提供的手势学习系统,通过显示单元显示待学习手势的预设范例供用户 模仿,通过手势识别装置对用户所模仿的目标手势进行识别,通过反馈单元反馈用户所模 仿的目标手势是否正确并给出改善建议,提升了人机交互应用水平,消除了手势语言与自 然语言间的沟通交流障碍,使手势语言成为"可读的语言",可应用于哑语教学、手语自动翻 译等领域。
【附图说明】
[0058] 为了更清楚地说明本发明【具体实施方式】或现有技术中的技术方案,下面将对具体 实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的 附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前 提下,还可以根据这些附图获得其他的附图。
[0059] 图1A为本发明实施例1中手势识别方法的一个具体示例的流程图;
[0060] 图1B为本发明实施例1中26个字母的手势表达方式;
[0061]图1C为本发明实施例1中Leap Motion传感器的坐标系示意图;
[0062]图2A为本发明实施例2中手势识别装置的一个具体示例的原理框图;
[0063]图2B为本发明实施例2中第一匹配单元的一个具体示例的原理框图;
[0064]图2C为本发明实施例2中第二匹配单元的一个具体示例的原理框图;
[0065]图2D为本发明实施例2中第一获取单元的一个具体示例的原理框图;
[0066]图3为本发明实施例中手势学习系统的一个具体示例的示意图。
【具体实施方式】
[0067]下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施 例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 [0068]在本发明的描述中,需要说明的是,术语"中心"、"上"、"下"、"左"、"右"、"竖直"、 "水平"、"内"、"外"等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了 便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、 以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语"第一"、"第二"、 "第三"仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0069] 此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构 成冲突就可以相互结合。
[0070] 实施例1
[0071 ]本实施例提供一种手势识别方法,如图1A所示,包括如下步骤:
[0072] S1:获取目标手势的各个手指伸出状态。
[0073] 通常情况下,一只手具有5根手指头,分别为拇指、食指、中指、无名指和小指。除拇 指外,每根手指头有4段骨头,分别为掌骨、近节指骨、中间指骨和远节指骨。各个手指伸出 的状态,包括每根手指的弯曲状态,例如,如图1B所示的26个字母的手势表示方式中,表示 字母B时四指完全伸直,表示字母C时四指弯曲,表示字母D时四指握拳。
[0074]作为本实施例的一种优选实施方式,通过Leap Motion传感器获取目标手势的各 个手指伸出状态。Leap Motion的核心设备包括两个立体相机和三个红外发光管,采用近红 外光谱对手部信息进行追踪,其互动区域为双目摄像头视野的交叉区域,呈倒金字塔形状, 在互动区域内所做的手势能够被设备识别,并以灰度模式在跟踪软件上显示。
[0075] Leap Motion通过绑定视野范围内的手、手指或者工具来实时提供数据,这些数据 多数是通过结合或者帧数据的形式提供,每一帧都包含了一系列的基本绑定数据,比如手、 手指或者工具的数据。Leap Motion开发系统还提供手模型,该手模型提供了被绑定的手的 位置信息、特点以及运动方式等信息。
[0076] Leap Motion以其设备参照建立了右手笛卡尔坐标系,如图1C所示,用户面对Χ0Υ 平面做手势,Leap Motion传感器上的矩形小显示灯位于用户的右手边。通过Leap Motion 追踪手部的骨节及指尖,获取手部的各个骨节及指尖的坐标,并依据其算出以下特征量:1、 掌心朝向,即垂直于手掌平面的法向量,取五根手指的掌骨所在平面为手掌平面,从掌背穿 过手掌指向掌心的方向为正方向;2、五根手指的手指朝向,取手指的中间指骨与远节指骨 之间的关节至指尖位置所成的方向向量,或者中间指骨与近节指骨之间的关节至指尖位置 所成的方向向量;3、手伸出的方向,取中指的掌骨在手腕处的关节至中指上任一关节所成 的方向向量;4、每段指骨的方向,取该段指骨远离指尖处的关节位置至该段指骨靠近指尖 处的关节位置所成的方向向量。上述方向向量由已知的两点坐标计算所得,记为(X,y,z)。 [00 77] Leap Motion提供的手指模型类FingerModel能够识别手指是否伸直的状态。然 而,对于握拳等手指弯曲的状态,Leap Motion并不能够直接给出弯曲的程度,即不能识别 手指弯曲状态下的伸出状态。对此,本实施例提供了如下的步骤S11和S12。
[0078] S11:计算相邻指骨间的角度,所述相邻指骨包括:掌骨与近节指骨、近节指骨与中 间指骨、中间指骨与远节指骨。
[0079] 实际上拇指只有3段指骨,为了简化程序,仍然将拇指按4段指骨来处理,并记拇指 的掌骨长度为〇。利用Leap Motion获取的20段指骨的方向(x,y,z),可以得到相邻指骨所成 角的三角函数值,从而得到相邻指骨间的角度。例如,若相邻的两段指骨的方向分别为(xl, 71,21)和^2,72,22),则这两段指骨间的夹角
[0080] S12:根据相邻指骨间的角度,判断目标手势的各个手指伸出状态。可以根据相邻 指骨间的角度范围,或者同一指骨各个相邻指骨间的角度配合关系,以判断目标手势的各 个手指伸出状态。此外,还可以结合相邻手指的指骨间的角度配合关系来判别目标手指的 各个手指伸出的状态,例如大拇指的中间指骨、食指的近节指骨、中指的近节指骨间为两两 垂直的关系。
[0081] 由于手指弯曲时各个指骨之间是相互配合而并不是完全独立的,因此可以仅计算 关键的相邻指骨间的角度,根据其角度关系判断手指伸出的状态。关键的相邻指骨间的角 度一般为掌骨与近节指骨间的角度、近节指骨与中间指骨间的角度。例如,图1B所示的26个 字母的手势表示方式中,表示字母J时食指的近节指骨与中间指骨的夹角为90度。
[0082] 此外,作为步骤S11和S12的一种替代方式,识别手指在弯曲状态下的伸出状态,还 可以通过以手指关节为顶点构造三角形,根据三角形的不同形态,如直角三角形、钝角三角 形,得到手指的伸出状态。
[0083]本实施例提供了三种方式用于识别手指伸出的状态,即通过Leap Motion直接识 另IJ,通过计算相邻指骨间的角度来识别,通过以手指关节为顶点构造三角形来识别,能够较 为准确地量化手指伸出的状态。优选采用Leap Motion直接识别手指的伸出状态,硬件成本 较低;使用其自带的用户开发接口API(Application Programming Interface,应用程序编 程接口),能够降低开发难度;此外,Leap Motion能够获取手势的无遮挡的三维视图,能够 全方位地、更为准确地识别手势,手势识别的准确性较高。
[0084] S2:从预设手势库中选择出与目标手势的各个手指伸出状态相匹配的手势集合。 该步骤包括下述步骤S21、S22和S23。
[0085] S21:预先根据各个手指伸出状态对预设手势库中各个手势进行编码。
[0086] 预设手势库中的手势可以是预先编码并储存的。
[0087] S22:根据目标手势中各个手指伸出状态,对目标手势进行编码。
[0088] 通过编码的方式,对手指的伸出状态量化表示。
[0089] 该编码方式包括采用二进制的五位编码,每位编码对应一根手指的伸出状态,通 过1表示所述手指伸出,〇表示所述手指未伸出。此外,还包括采用预定进制的五位编码进行 编码,每位编码对应一根手指的伸展出状态,进制数为手指伸出状态的个数。
[0090] S23:从预设手势库中选择出与目标手势的编码相同的手势,作为手势集合。例如, 在二进制的五位编码方式下,如图1B所示,字母B的编码为01111,则在预设手势库中查找并 选择所有编码为01111的手势作为手势集合。
[0091] 对手指的伸出状态进行二进制编码,对目标手势进行预分类,得到手势集合,减少 了待匹配的手势数量,方法简单,能够减少运算量,降低算法复杂度。对手指的伸出状态进 行预设进制的编码,通过多进制的编码对手指的伸出状态进行量化表示,能够更为细致得 表征手指的伸出状态,使通过一次编码识别能够更为准确地从预设手势库中选择与目标手 势匹配的手势,提高识别的准确性,进一步提高效率。
[0092] 然而,编码方式并不能具体准确地表征一个手势,因此所得到的手势集合中的手 势个数并不一定唯一。为此,本发明通过手势特征量进一步细化对手势的识别,通过下述步 骤S3和步骤S4进一步定位一个手势,提高手势识别的准确性。
[0093] S3:获取目标手势的手势特征量。手势特征量包括掌心朝向、手伸出的方向、食指 近指关节的方向、大拇指与食指的指尖距离、食指与中指的指尖距离中的一项或多项。上述 手势特征量对不同手势具有足够的辨识度。通过步骤S1所述的方法,通过Leap Motion追踪 手部的骨节及指尖,获取手部的各个骨节及指尖的坐标,并依据其计算得到掌心朝向、手伸 出的方向、食指近指关节的方向等方向向量,此外,根据各个手指的指尖坐标计算可得大拇 指与食指的指尖距离、食指与中指的指尖距离。
[0094] S4:从手势集合中选择出与目标手势的手势特征量相匹配的手势。步骤S4包括下 述步骤S41和S42。
[0095] S41:判断手势集合中的手势个数是否为1。若手势集合中的手势个数为1,则将该 手势作为与目标手势相匹配的手势,即通过对手势的编码的一次匹配便从预设手势库中选 择出了与目标手势相匹配的手势,大大提高了手势识别的效率。
[0096] S42:若不为1,则从手势集合中选择出与目标手势的手势特征量相匹配的手势。
[0097] 与目标手势的手势特征量相匹配的手势,包括:
[0098] 1、掌心朝向相同,具体为掌心均朝内或朝外(如图1C所示的坐标系下z轴数据均为 正数或均为负数),或者掌心均朝上或朝下(如图1C所示的坐标系下y轴数据均为正数或均 为负数),或者掌心均朝右或朝左(如图1C所示的坐标系下X轴数据均为正数或均为负数), 例如图1B中字母手势R和L的掌心朝向是不同的,字母F和G的掌心朝向是相同的。
[0099] 2、大拇指与食指的指尖距离符合第一预设范围,例如图1B所示的字母C的大拇指 与食指之间的距离必须大于15mm,字母0的大拇指与食指之间的距离必须小于2mm。
[0100] 3、食指与中指的指尖距离符合第二预设范围,例如图1B所示的字母V的食指与中 指的指尖距离必须大于20mm,字母X的食指与中指的指尖距离必须小于1mm。
[0101] 手势特征量对于手势识别具有足够的辨识度,能够从手势库中快速匹配到目标手 势,提高识别的速度和准确性。
[0102] 作为本实施例的一种变形,还可以先从预设手势库中选择出与目标手势的手势特 征量相匹配的手势,作为手势集合;然后再对目标手指的各个手指伸出状态进行编码,根据 编码从手势集合中选择出与目标手势的编码相同的手势。
[0103]本实施例提供的手势识别方法,先获取目标手势的各个手指伸出状态,从预设手 势库中选择出与目标手势的各个手指伸出状态相匹配的手势集合;再获取目标手势的手部 特征量,从哪手势集合中选择出与目标手势的手势特征量相匹配的手势,能够准确地识别 静态的手势语,并且能够识别手势所表达的丰富语义,消除手势语言与自然语言间的沟通 交流障碍。
[0104] 实施例2
[0105] 本实施例提供一种手势识别装置,如图2A所示,包括第一获取单元10、第一匹配单 元20、第二获取单元30和第二匹配单元40。
[0106] 第一获取单元10,用于获取目标手势的各个手指伸出状态。
[0107] 第一匹配单元20,用于从预设手势库中选择出与目标手势的各个手指伸出状态相 匹配的手势集合。
[0108] 第二获取单元30,用于获取目标手势的手势特征量。手势特征量包括掌心朝向、手 伸出的方向、食指近指关节的方向、大拇指与食指的指尖距离、食指与中指的指尖距离中的 一项或多项。
[0109] 第二匹配单元40,用于从手势集合中选择出与目标手势的手势特征量相匹配的手 势。
[0110] 作为本实施例的一种优选实施方式,如图2B所述,第一匹配单元20包括编码子单 元21和第一选择子单元22。
[0111] 编码子单元21,用于预先根据各个手指伸出状态对预设手势库中各个手势进行编 码,还用于根据目标手势中各个手指伸出状态,对目标手势进行编码。编码子单元21包括二 进制编码子单元211和预定进制编码子单元212。该二进制编码子单元211,用于采用二进制 的五位编码进行编码,每位编码对应一根手指的伸出状态,通过1表示手指伸出,0表示手指 未伸出。该预定进制编码子单元212,用于采用预定进制的五位编码进行编码,每位编码对 应一根手指的伸出状态,进制数为手指伸出状态的个数。
[0112] 第一选择子单元22,用于从预设手势库中选择出与目标手势的编码相同的手势, 作为手势集合。
[0113] 上述第二匹配单元40包括第一判断子单元41和第二选择子单元42。
[0114] 第一判断子单元41,用于判断手势集合中的手势个数是否为1。
[0115] 第二选择子单元42,用于若手势集合中的手势个数不为1,则从手势集合中选择出 与目标手势的手势特征量相匹配的手势。
[0116] 上述第一获取单元10,包括计算子单元11和第二判断子单元12。
[0117] 计算子单元11,用于计算相邻指骨间的角度,相邻指骨包括:掌骨与近节指骨、近 节指骨与中间指骨、中间指骨与远节指骨。
[0118] 第二判断子单元12,用于根据相邻指骨间的角度,判断目标手势的各个手指伸出 状态。
[0119] 作为本实施例的一种优选实施方式,该手势识别装置还包括Leap Motion传感器, 用于获取目标手势的各个手指伸出状态及目标手势的手势特征量。
[0120] 本实施例提供的手势识别装置,先获取目标手势的各个手指伸出状态,从预设手 势库中选择出与目标手势的各个手指伸出状态相匹配的手势集合;再获取目标手势的手部 特征量,从哪手势集合中选择出与目标手势的手势特征量相匹配的手势,能够准确地识别 静态的手势语,并且能够识别手势所表达的丰富语义,消除手势语言与自然语言间的沟通 交流障碍。
[0121] 实施例3
[0122] 本实施例提供一种手势学习系统,如图3所示,包括显示单元、实施例2所述的手势 识别装置和反馈单元。
[0123] 显示单元,用于显示待学习手势的预设范例供用户模仿。系统中预先存储有手势 的预设范例,用户可以根据自己的兴趣,从系统中选择自己想要学习的手势。用户选择后, 系统会显示用户所选择的手势的预设范例供用户模仿。优选地,该显示单元还用于实时显 示用户的手部动作3D图像。
[0124] 实施例2所述的手势识别装置,用于对用户所模仿的目标手势进行识别。作为本实 施例的一种优选实施方式,采用Leap Motion传感器跟踪用户的手部动作,采集手部特征数 据。用户在Leap Motion的互动区域内做手势,手势识别装置根据采集到的手部特征数据识 别用户的手势。
[0125] 采用Leap Motion直接识别手指的伸出状态,硬件成本较低;使用其自带的用户开 发接口API,能够降低开发难度;此外,Leap Motion能够获取手势的无遮挡的三维视图,能 够全方位地、更为准确地识别手势,手势识别的准确性较高。
[0126] 反馈单元,用于根据识别结果,反馈用户所模仿的目标手势是否正确,并给出改善 建议。
[0127] 优选地,该手势学习系统还可以识别用户所做的任意手势,反馈单元还用于反馈 用户所做手势的具体含义,从而帮助用户认知新的手势表达方式。例如,用户不根据预设范 例进行模仿,而是任意做个手势,反馈单元显示用户所做手势的含义是"爱心"。
[0128] 优选地,用户还可以自定义该手势识别系统,以弥补预设手势库的不足,丰富预设 手势库。用户可以自定义一个手势的表达方式,并赋予其含义,将该手势表达方式及其含义 存储至该手势学习系统中。
[0129] 本实施例提供的手势学习系统,通过显示单元显示待学习手势的预设范例供用户 模仿,通过实施例2所述的手势识别装置对用户所模仿的目标手势进行识别,通过反馈单元 反馈用户所模仿的目标手势是否正确并给出改善建议,提升了人机交互应用水平,消除了 手势语言与自然语言间的沟通交流障碍,使手势语言成为"可读的语言",可应用于哑语教 学、手语自动翻译等领域。
[0130] 显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对 于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或 变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或 变动仍处于本发明创造的保护范围之中。
【主权项】
1. 一种手势识别方法,其特征在于,包括如下步骤: 获取目标手势的各个手指伸出状态; 从预设手势库中选择出与所述目标手势的各个手指伸出状态相匹配的手势集合; 获取所述目标手势的手势特征量; 从所述手势集合中选择出与所述目标手势的手势特征量相匹配的手势。2. 根据权利要求1所述的手势识别方法,其特征在于,从预设手势库中选择出与所述目 标手势的各个手指伸出状态相匹配的手势集合的步骤,包括: 预先根据各个手指伸出状态对预设手势库中各个手势进行编码; 根据所述目标手势中所述各个手指伸出状态,对所述目标手势进行编码; 从所述预设手势库中选择出与所述目标手势的编码相同的手势,作为所述手势集合。3. 根据权利要求1所述的手势识别方法,其特征在于,所述手势特征量包括掌心朝向、 手伸出的方向、食指近指关节的方向、大拇指与食指的指尖距离、食指与中指的指尖距离中 的一项或多项。4. 根据权利要求1所述的手势识别方法,其特征在于,从所述手势集合中选择出与所述 目标手势的手势特征量相匹配的手势的步骤,包括: 判断所述手势集合中的手势个数是否为1; 若不为1,则从所述手势集合中选择出与所述目标手势的手势特征量相匹配的手势。5. 根据权利要求2所述的手势识别方法,其特征在于,所述根据所述各个手指伸出状 态,对所述预设手势库中的手势及所述目标手势进行编码的步骤,包括采用二进制的五位 编码进行编码,每位编码对应一根手指的伸出状态,通过1表示所述手指伸出,〇表示所述手 指未伸出。6. 根据权利要求1所述的手势识别方法,其特征在于,所述获取目标手势的各个手指伸 出状态,包括: 计算相邻指骨间的角度,所述相邻指骨包括:掌骨与近节指骨、近节指骨与中间指骨、 中间指骨与远节指骨; 根据所述相邻指骨间的角度,判断所述目标手势的各个手指伸出状态。7. 根据权利要求2所述的手势识别方法,其特征在于,所述根据所述各个手指伸出状 态,对所述预设手势库中的手势及所述目标手势进行编码的步骤,还包括采用预定进制的 五位编码进行编码,每位编码对应一根手指的伸展出状态,进制数为所述手指伸出状态的 个数。8. 根据权利要求1所述的手势识别方法,其特征在于,通过Leap Motion传感器获取所 述目标手势的各个手指伸出状态及所述目标手势的手势特征量。9. 一种手势识别装置,其特征在于,包括: 第一获取单元,用于获取目标手势的各个手指伸出状态; 第一匹配单元,用于从预设手势库中选择出与所述目标手势的各个手指伸出状态相匹 配的手势集合; 第二获取单元,用于获取所述目标手势的手势特征量; 第二匹配单元,用于从所述手势集合中选择出与所述目标手势的手势特征量相匹配的 手势。10. 根据权利要求9所述的手势识别装置,其特征在于,所述第一匹配单元,包括: 编码子单元,用于预先根据各个手指伸出状态对预设手势库中各个手势进行编码; 所述编码子单元,还用于根据所述目标手势中所述各个手指伸出状态,对所述目标手 势进行编码; 第一选择子单元,用于从所述预设手势库中选择出与所述目标手势的编码相同的手 势,作为所述手势集合。11. 根据权利要求9所述的手势识别装置,其特征在于,所述手势特征量包括掌心朝向、 手伸出的方向、食指近指关节的方向、大拇指与食指的指尖距离、食指与中指的指尖距离中 的一项或多项。12. 根据权利要求9所述的手势识别装置,其特征在于,所述第二匹配单元,包括: 第一判断子单元,用于判断所述手势集合中的手势个数是否为1; 第二选择子单元,用于若所述手势集合中的手势个数不为1,则从所述手势集合中选择 出与所述目标手势的手势特征量相匹配的手势。13. 根据权利要求10所述的手势识别装置,其特征在于,所述编码子单元,包括二进制 编码子单元,用于采用二进制的五位编码进行编码,每位编码对应一根手指的伸出状态,通 过1表示所述手指伸出,〇表示所述手指未伸出。14. 根据权利要求9所述的手势识别装置,其特征在于,所述第一获取单元,包括: 计算子单元,用于计算相邻指骨间的角度,所述相邻指骨包括:掌骨与近节指骨、近节 指骨与中间指骨、中间指骨与远节指骨; 第二判断子单元,用于根据所述相邻指骨间的角度,判断所述目标手势的各个手指伸 出状态。15. 根据权利要求10所述的手势识别装置,其特征在于,所述编码子单元,包括预定进 制编码子单元,用于采用预定进制的五位编码进行编码,每位编码对应一根手指的伸出状 态,进制数为所述手指伸出状态的个数。16. 根据权利要求9所述的手势识别装置,其特征在于,所述装置还包括Leap Motion传 感器,用于获取所述目标手势的各个手指伸出状态及所述目标手势的手势特征量。17. -种手势学习系统,其特征在于,包括: 显示单元,用于显示待学习手势的预设范例供用户模仿; 权利要求9-16任一所述的手势识别装置,用于对用户所模仿的目标手势进行识别; 反馈单元,用于根据识别结果,反馈用户所模仿的目标手势是否正确,并给出改善建 议。
【文档编号】G06K9/00GK105868715SQ201610187436
【公开日】2016年8月17日
【申请日】2016年3月29日
【发明人】季怡, 曹李军, 陈卫东
【申请人】苏州科达科技股份有限公司, 苏州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1