基于深度图像的手势识别方法和装置制造方法

文档序号:6491773阅读:645来源:国知局
基于深度图像的手势识别方法和装置制造方法
【专利摘要】提供了一种基于深度图像的手势识别方法、手势识别装置、开启人机交互系统的方法和装置。该手势识别方法,可以包括:基于包括手部区域的深度图像序列,检测手部候选区域的三维运动轨迹;以及根据手部候选区域的三维运动轨迹,识别预定手势。本发明实施例的上述手势识别方法和装置充分利用了连续识别图像中的运动信息;由于未使用肤色模型,而是采用连续图像的时空域运动信息和连续的深度值变化信息进行手势识别,因此该手势识别方法性能较鲁棒,所受光照条件影响较小;由于基于运动轨迹进行手势识别,它能在相对较远的距离范围内使用。
【专利说明】基于深度图像的手势识别方法和装置
【技术领域】
[0001]本发明总体地涉及手势识别,更具体地涉及基于深度图像的手势识别方法和装置。
【背景技术】
[0002]已经提出了一些基于图像处理的手势识别技术。
[0003]美国专利“US7340077B2”中,提出了一种基于深度传感器的手势识别系统。该方法通过对在一定时间范围内姿态的组合进行手势识别,主要针对所识别部分的形状、位置和方向进行手势识别,最后通过识别到的手势对相关的电器设备进行控制。该方法主要采用静态图像信息进行识别,丢掉了连续视频图像中的大量运动信息。另外,手势的识别主要是基于组合姿态,因此用户必须做多个姿态模式去完成一个手势,这对于用户操作不是很方便。
[0004]美国专利公开“US20120069168A1”提出了一种对电视进行控制的手势识别系统。手势(手掌张开与闭合)用于电视的“选择”和“确定”功能操作。首先,手的姿态(“开”或者“合”)被检测基于手掌中心和手掌底部之间的计算距离,然后手势(手掌张开与闭合)能被识别,基于手的“开”和“合”之间的状态转换关系。在该系统中,为了有效判断手的开合状态,用户与电视的距离必须在有效的距离范围内。因此该方法不太适用于远距离操作。同时该系统采用肤色模型进行手的检测,检测结果将很容易受到环境光照变化的影响。
[0005]题目为“Hand Gesture Recognition for Human-Machine Interaction,,, Journalof WSCG,2004的文章提出了一种实时的基于手势识别的视觉应用系统。首先,采用肤色模型进行运动手区域分割;然后基于HausdorfT距离进行手的姿态识别。该方法同样容易受到光照的影响。
[0006]另外,有些文章使用2D运动轨迹进行手势识别,通常他们都是基于静态图像进行特征提取或者采用肤色模型进行前景分割。

【发明内容】

[0007]根据本发明的实施例,提供了一种基于深度图像的手势识别方法,可以包括:基于包括手部区域的深度图像序列,检测手部候选区域的三维运动轨迹;以及根据手部候选区域的三维运动轨迹,识别预定手势。
[0008]根据本发明的另一实施例,提供了一种开启人机交互系统的方法,包括:获得包括手部区域的深度图像序列;基于包括手部区域的深度图像序列,检测手部候选区域的三维运动轨迹;根据手部候选区域的三维运动轨迹,识别抬手手势;以及如果识别到抬手手势,则开启人机交互系统,进入人机交互状态中。
[0009]根据本发明的另一实施例,提供了一种基于深度图像识别人体部位预定动作的方法,可以包括:基于包括该人体部位区域的深度图像序列,检测人体部位候选区域的三维运动轨迹;以及根据人体部位候选区域的三维运动轨迹,识别人体部位的预定动作。[0010]根据本发明的另一实施例,提供了一种基于深度图像的手势识别装置,可以包括:三维运动轨迹检测部件,用于基于包括手部区域的深度图像序列,检测手部候选区域的三维运动轨迹;以及手势识别部件,用于根据手部候选区域的三维运动轨迹,识别预定手势。
[0011]根据本发明实施例的基于深度图像的手势识别方法和装置因为将深度域上的运动轨迹纳入手势识别过程,因此充分利用了连续识别图像中的运动信息;由于未使用肤色模型,而是采用连续图像的时空域运动信息和连续的深度值变化信息进行手势识别,因此该手势识别方法性能较鲁棒,所受光照条件影响较小;由于基于运动轨迹进行手势识别,它能在相对较远的距离范围内使用。根据本发明实施例的手势识别方法耗时短且鲁棒性高。
[0012]根据本发明实施例的开启人机交互系统的技术,提供了一种便利、可靠的系统启动控制方式,提示用户是否已经进入系统控制状态,防止用户无意识动作被错误识别为可操作手势,从而提供了一种更具用户友好性的人机交互方式。
【专利附图】

【附图说明】
[0013]图1示意性地示出了根据本发明一个实施例的手势识别技术用于人机交互的情景不意图。
[0014]图2示出了根据本发明第一实施例的手势识别方法的总体流程图。
[0015]图3示出了根据本发明一个实施例的无需识别用户手部来检测用户手部候选区域的三维运动轨迹的示例性方法的流程图。
[0016]图4示出了根据本发明一个实施例的基于三维运动轨迹识别抬手手势的一个方法的总体流程图。
[0017]图5为根据本发明一个实施例的三维运动轨迹在不同维上的运动轨迹分解图。
[0018]图6(a)到6(c)示意性地示出了三维运动轨迹的形式和运动特征提取的示意图。
[0019]图7示出了根据本发明一个实施例的基于可变大小的滑动窗口从输入的运动轨迹特征来识别手势的方法的流程图。
[0020]图8示出根据本发明第二实施例的手势识别方法的流程图。
[0021]图9示出了根据本发明一个实施例的人体测量学模型验证预定手势的方法的流程图。
[0022]图10(al)到(a3)、(bl)到(b3)以及(c)示出了根据本发明一个实施例的、使用直方图分析方法的头部中心线定位、肩部水平方向定位、以及作为示例抬手手势末端的手与头部的相互位置关系的示意图。
[0023]图11示出了根据本发明一个实施例的一种开启人机交互系统的方法的流程图。
[0024]图12示出了根据本发明实施例的基于深度图像的手势识别装置的功能配置框图。
[0025]图13是示出按照本发明实施例的手势识别系统的总体硬件框图。
【具体实施方式】
[0026]为了使本领域技术人员更好地理解本发明,下面结合附图和【具体实施方式】对本发明作进一步详细说明。
[0027]将按下列顺序进行描述:[0028]1、应用场景示例
[0029]2、手势识别方法的第一实施例
[0030]2.1手势识别方法的总体流程
[0031]2.2、三维运动轨迹的获取
[0032]2.3、基于三维运动轨迹识别抬手手势
[0033]2.4、三维运动轨迹的运动特征提取
[0034]2.5、基于三维运动轨迹的运动特征识别预定手势
[0035]2.6、利用窗口大小可变的滑动窗口的手势识别
[0036]3、手势识别方法的第二实施例
[0037]3.1第二实施例的手势识别方法的总体流程
[0038]3.2、根据人体测量学模型验证预定手势
[0039]4、人机交互系统的开启方法
[0040]5、基于深度图像的手势识别装置
[0041]6、系统硬件配置
[0042]7、总结
[0043]1、应用场景示例
[0044]图1示意性地示出了根据本发明一个实施例的手势识别技术用于人机交互的情景的示意图。如图1所示,用户站在诸如计算机的人机交互设备前,诸如双目摄像机的立体摄像机,拍摄人的例如左右图像序列或者直接得到深度图像序列,并将其发给诸如个人计算机的手势识别设备,个人计算机分析深度图像序列而进行手势识别,并基于手势识别的结果进行响应,例如如果识别到这是一个用于启动的抬手手势,则得出这个有效的启动信号,并发出启动信号;反之如果识别到这并非用于启动的抬手手势,则得出这是无效的启动信号,不发出启动信号。当然,这只是一个示意性示例,用于识别手势的设备不限于计算机,可以是例如游戏机,投影仪,电视机等等。
[0045]如本领域人员公知的,深度图像(Depth image)是图像中的像素点的值为深度的图像。相比于灰度图像,深度图像具有物体的深度(距离)信息,因此特别适合于需要立体信息的各种应用。
[0046]另外,如公知的,一个像素点的深度值和视差值之间具有简单的换算关系,因此本发明的深度图像的含义是广义的,包括视差图像。
[0047]2、手势识别方法的第一实施例
[0048]2.1手势识别方法的总体流程
[0049]图2示出了根据本发明第一实施例的手势识别方法100的总体流程图。
[0050]如图2所示,在步骤110中,基于包括手部区域的深度图像序列,检测手部候选区域的三维运动轨迹。
[0051]该深度图像序列可以是从诸如双目相机的任何一种可以获取深度图像的相机传递的,或者可以是本地实时从灰度图像计算得到的,或者是通过网络从外部深入的等等。
[0052]这里的三维运动轨迹,是指与传统的二维图像的二维轨迹不同,具有深度(距离)信息的运动轨迹,也即轨迹上的每个运动轨迹点具有既平面(x,y)坐标信息,也具有表征深度(距离)的Z坐标信息。[0053]检测手部候选区域的三维运动轨迹的方法可以粗略分为基于手部识别的方法和基于手部过滤的方法。
[0054]在基于手部识别的方法中,例如,从最初的深度图像中,首先根据手部区域的特征,通过匹配处理等识别手部区域并确定手部区域的位置,然后利用运动跟踪技术在后续的深度图像中跟踪手部,从而得到手部的三维运动轨迹。这里,为了从识别出手部,如果还存在对应的灰度图像,则也可以结合基于肤色模型的手部识别的技术。
[0055]在基于手部过滤的方法中,并不首先进行手部区域识别,而是首先检测深度图像中的运动块区域,然后例如基于手部的特种特征来从运动块区域中选择(或过滤)手部运动块区域。这种方式可以无需识别手部,从而可以更快速的进行手势识别,特别适合实时的人机交互处理。后面将参考图3来描述基于手部过滤的检测手部候选区域的三维运动轨迹。
[0056]不过,上述手部候选区域的三维运动轨迹检测方式仅为示例,本发明并不局限于此,任何能够基于深度图像序列,得到某对象的三维运动轨迹的技术均可以应用于本发明。
[0057]在步骤120中,根据手部候选区域的三维运动轨迹,识别预定手势。
[0058]一般而言,不同的手势对应于不同的三维运动轨迹,因此可以通过分析上述获得的手部候选区域的三维运动轨迹,而进行预定手势的识别。
[0059]例如,对于抬手手势,以人自身为参照物来说,其三维运动轨迹是个从下面开始向前凸到上面终止的抛物线;如果分解为深度域和与深度域垂直的二维平面域上的两个运动轨迹,则在深度域上,相对于面前的摄像机而言,为距离从远到近再到远的抛物线,而在二维平面域上,为从下到上的直线运动。
[0060]再例如,作为与抬手手势相对的放手手势,以人自身为参照物来说,其三维运动轨迹是个从上面开始向前凸到下面终止的抛物线;如果分解为深度域和与深度域垂直的二维平面域上的两个运动轨迹,则在深度域上,相对于面前的摄像机而言,为距离从远到近再到远的抛物线,而在二维平面域上,为从上到下的直线运动。顺便说一下,关于抬手手势和放手手势之间的区别,还可根据按时间顺序的位置点之间的关系所指示的运动方向、终点时刻的手部位置等来判断。
[0061]再例如,对于画圆手势,其三维运动轨迹为近似圆形。对于摆手手势,其运动轨迹为往复的钟摆运动轨迹。
[0062]再例如,对于从手部自然下垂到向前推的手部运动,其三维轨迹可以视为半抬手加向前推的结合,其中向前推的动作在深度域中为直线运动,而在平面域中近似不动。
[0063]后续,将参考图4、5、6,以抬手手势为例,说明通过分析深度域上的运动轨迹和二维平面域上的运动轨迹两者来识别抬手手势的过程。
[0064]上面结合图1说明了根据本发明实施例的基于深度图像识别预定手势的方法。不过,本发明并不局限于手势识别,也可以应用于其他人体部位的动作识别,例如应用于脚部的动作识别,例如向前踢脚的脚步动作识别。显然,本发明也并不局限于应用于人类,也可以应用于其他能动的物体,例如,动物、机器人等。
[0065]2.2、三维运动轨迹的获取
[0066]图3示出了根据本发明一个实施例的无需识别用户手部来检测用户手部候选区域的三维运动轨迹的示例性方法110的流程图。该示例性方法110可以应用于图2中所示的步骤SI 10。[0067]如图3所示,在步骤Slll中,获取深度图像中的运动块区域。
[0068]作为示例,运动块区域的检测和获取可以通过常用的帧间差方法来实现。具体地,例如将当前帧和前一帧相减,将有关区域的差值与预定的运动差分阈值相比,如果当前的区域差值大于预定差分阈值,则将当前区域检测为运动区域块。上面的区域可以例如通过连通域检测得到。
[0069]作为替代示例,可以基于背景差来获取运动块区域,具体地,例如通过当前图像减去背景图来进行运动块区域的获取,关于背景图的形成可以通过前面多帧图像的累积和求均值得到。在步骤S112中,根据运动块区域的位置、面积和形状中的至少一个,从运动块区域中选取手部候选区域。
[0070]例如,可以根据运动块区域的位置、面积和形状等和预先得知的人手的一般位置、面积和形状的知识,来从运动块区域中选取手部候选区域。具体地,如果该运动块区域可能为手的运动区域,那么该区域面积大小应该接近于人类平均手的面积大小。如果该运动块区域面积过大或者过小,可剔除该区域。类似地,人类的手的形状在长宽比例上也存在一个固定比例,也可以根据运动块区域是否满足该比例关系来过滤运动块区域。再例如,人手和人身体之间的距离一般在一定范围之内,如果运动块区域不在此范围之内,也可以将运动块区域剔除于手部候选运动区域之外。如果一个运动块区域同时满足位置、面积和形状条件,则该运动块为手区域。当然,应该至多选择两个运动块区域作为手部候选运动区域,因此如果存在多于两个运动块区域满足根据人手的位置、面积和形状的过滤条件,则可以评估它们符合人手区域的置信度(或可能性),从中选择至多两个运动块区域来作为手部候选运动区域。下文中,为便于描述,以从所有运动块中选出一个手部候选运动块区域为例加以说明。
[0071]此外,上面基于人类手部的位置、面积和形状的预先知识来从运动块区域中选择手部候选运动区域。不过这仅为示例,也可以根据各种其他因素、利用各种技术来选择最可能为手部的运动块区域,例如在存在灰度图像的情况下,可以结合肤色模型来选择手部的运动块区域。
[0072]在步骤113中,计算并记录手部候选区域的位置信息。作为示例,可以计算手部候选区域的质心点位置信息,作为手部候选区域的位置信息。所谓手部候选区域的质心点位置可以例如通过对手部候选区域内的所有位置求平均得到。
[0073]在步骤114中,得到对应于深度图像序列的位置信息序列。
[0074]具体地,例如,可以在每次系统获取到当前手部运动块的质心点后,将该质心点根据时间先后顺序放入“运动点位置信息序列”存储器中,“运动点位置信息序列”就形成了三维(3D)运动轨迹。此外,当运动点序列长度大于设定的运动序列长度时,可以通过删除老的运动点,放入新的运动点,进行运动轨迹点更新。
[0075]在一个示例中,在运动点位置信息序列中,可以与位置信息相关联地存储对应的时间信息。
[0076]在一个示例中,如果运动点序列长度还未达到设定序列长度时,系统可以不启动后续的3D运动轨迹分析。
[0077]2.3、基于三维运动轨迹识别抬手手势
[0078]图4示出了根据本发明一个实施例的基于三维运动轨迹识别抬手手势的一个方法120的总体流程图。该方法120可以应用于图2中所示的步骤S120。
[0079]如图4所示,在步骤S121中,对所获得的三维运动轨迹进行运动特征提取。下面将参考图5和图6对此给出示例性具体描述。
[0080]在步骤S122中,基于所获取的三维运动轨迹的运动特征,进行手势识别。
[0081]例如,可以通过将所获得的三维运动轨迹的运动特征与预定手势对应的运动模型相比较,来识别该三维运动轨迹是否表征预定手势。下面将参考图7对此给出示例性具体描述。
[0082]不过,图4所示的基于三维运动轨迹来识别预定手势的方法仅为示例。例如,在某些情况下,可以不进行运动特征提取,而仅通过数值分析来分析该三维运动轨迹是否满足具体的数学形式例如抛物线形式来进行手势识别。
[0083]2.4、三维运动轨迹的运动特征提取
[0084]三维运动轨迹可以通过以对应于各帧深度图像的各个轨迹点的自己的运动特征和整体三维运动轨迹的特征来刻画,
[0085]图5为根据本发明一个实施例的三维运动轨迹在不同维上的运动轨迹分解图。
[0086]如图5所示,示例性地,每个轨迹点的自己的运动特征121可以包括:二维时空域特征1211、轨迹点的深度 域运动特征1222,每个轨迹点的二维时空域特征和深度域运动特征均和该轨迹点的时间点相关联。二维时空域特征可以包括轨迹点的位置、速度、角度。轨迹点的深度域运动特征可以包括轨迹点的深度值。
[0087]下面参考图6 (a)到6 (c)来示意性地描述三维运动轨迹的形式和运动特征提取。
[0088]图6(a)示出了世界坐标系,其中Z轴为深度传感器方向或者说深度方向。图6 (b)为从X-Y平面观察到的2D时空域运动轨迹,对应于图6(a)中由标记601指出的部分。图6 (c)为Z轴上观察到的ID深度值运动轨迹,对应于图6 (a)中由标记602指出的部分。图中的深度值z表示从深度传感器到运动块之间的水平距离。
[0089]下面首先描述X-Y平面中的2D运动轨迹的特征提取。
[0090]从正视图(X-Y平面)中观察到的抬手2D运动轨迹近似于图6 (b)中的直线运动。在时间范围[ts, te],手部质心点P从开始点Ps运动到终止点Ρε, tm为时间范围[ts, te]之间的中间时刻点。由于不同的用户抬手习惯不一样,因此运动轨迹开始点可能不同,运动轨迹终止点也可能不同,可能的多条运动轨迹例如如图6(b)所示。
[0091]根据本发明的一个实施例,X-Y平面中的直线运动特征包括:各个轨迹点的位置、运动速度和运动方向,以及整体轨迹而言的运动范围。
[0092]每个轨迹点Pi在X-Y平面中的位置可以用2D坐标(Xi,Yi)来表示。
[0093]运动速度speed可以由下面的公式(I)计算得到(公式I是否应是计算Y方向的速度)。
[0094]sPeed1 = , ' = 1,2,…./i,r0 = tjn =te
l1- ,η(I)
[0095]其中,Clis(PilPi^1)为当前运动块质心点PjP上一帧质心点Ph之间的空间距离,例如欧式距离,\表示当前帧的时刻,表示上一帧的时刻,假设要分析的连续轨迹点的数目(等于窗口大小,或者说要分析的帧数)为η,η为大于等于2的整数,可以根据需要选取,例如取15,20等。[0096]运动方向可以用运动角度Θ来表示,而运动角度Θ的正切tan Θ可以用下式(2)表不。
[0097]
【权利要求】
1.一种基于深度图像的手势识别方法,包括: 基于包括手部区域的深度图像序列,检测手部候选区域的三维运动轨迹;以及 根据手部候选区域的三维运动轨迹,识别预定手势。
2.根据权利要求1的手势识别方法,还包括: 如果根据手部候选区域的三维运动轨迹识别出预定手势,则确定手部候选区域与人体其他部位之间的位置关系是否符合做出预定手势情况下的人体测量学模型,以验证该预定手势。
3.根据权利要求1的手势识别方法,其中,如果手部候选区域的三维运动轨迹在深度方向上符合抛物线运动模型,以及在垂直于深度方向的平面上的二维运动轨迹符合直线运动模型,则识别出向上抬手手势或向下放手手势。
4.根据权利要求1的手势识别方法,基于深度图像序列,检测手部候选区域的三维运动轨迹包括: 获取深度图像中的运动块区域; 从运动块区域中选取手部候选区域;计算并记录手部候选区域的位置信息;以及 得到对应于深度图像序列的位置信息序列。
5.根据权利要求4 的手势识别方法,其中三维运动轨迹包括对应于各帧深度图像的各个轨迹点的自己的运动特征, 每个轨迹点的自己的运动特征包括:包括轨迹点的位置、速度、角度的二维时空域特征、包括轨迹点的深度值的深度域运动特征,每个轨迹点的二维时空域特征和深度域运动特征均和该轨迹点的时间点相关联。
6.根据权利要求5的手势识别方法,其中,采用窗口大小可变的滑动窗口来决定基于哪些以及多少深度图像来进行三维运动轨迹检测和分析,窗口的大小表示以连续多少帧的深度图像作为手势识别的输入; 如果基于预定大小的滑动窗口内的深度图像序列的三维运动轨迹不能同时匹配与预定手势对应的深度域上的运动模型和与深度域垂直的平面上的二维运动轨迹模型,则增大该滑动窗口的大小以便将更多的深度图像帧作为手势识别的输入,并继续进行该增大后的滑动窗口的大小对应的三维运动轨迹与该预定手势对应的运动轨迹模型的匹配。
7.根据权利要求2的手势识别方法,其中确定手部候选区域与人体其他部位之间的位置关系是否符合做出预定手势情况下的人体测量学模型包括: 对深度图像进行前景分割,以得到人体区域; 从人体区域中检测头部区域,计算头部区域的位置; 基于头部位置和手部位置之间的垂直距离是否落入第一预定范围,以及头部位置和手部位置之间的空间距离是否落入第二预定范围,验证手势是否为预定手势。
8.一种开启人机交互系统的方法,包括: 获得包括手部区域的深度图像序列; 基于包括手部区域的深度图像序列,检测手部候选区域的三维运动轨迹; 根据手部候选区域的三维运动轨迹,识别抬手手势;以及 如果识别到抬手手势,则开启人机交互系统,进入人机交互状态中。
9.一种基于深度图像的手势识别装置,包括:三维运动轨迹检测部件,用于基于包括手部区域的深度图像序列,检测手部候选区域的三维运动轨迹;以及 手势识别部件,用于根据手部候选区域的三维运动轨迹,识别预定手势。
10.一种基于深度图像识别人体部位预定动作的方法,包括: 基于包括该人体部位区域的深度图像序列,检测人体部位候选区域的三维运动轨迹;以及 根据人体部位候选区域的三维运动轨迹,识别人体部位的预定动作。
【文档编号】G06K9/00GK103839040SQ201210490622
【公开日】2014年6月4日 申请日期:2012年11月27日 优先权日:2012年11月27日
【发明者】梁玲燕, 赵颖 申请人:株式会社理光
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1