手追踪方法、手追踪设备和手势识别系统的制作方法

文档序号:6489597阅读:200来源:国知局
手追踪方法、手追踪设备和手势识别系统的制作方法
【专利摘要】本发明公开一种手追踪方法、手追踪设备和手势识别系统。手追踪方法包括:判断当前帧前面的帧中是否发生遮蔽;依据遮蔽判断结果,自适应地从在前面的帧中所追踪到的手目标中选择一手目标作为模版;并且基于所述模板针对当前帧进行模板匹配方法以获得当前帧的手目标。
【专利说明】手追踪方法、手追踪设备和手势识别系统
【技术领域】
[0001]本发明涉及图像识别领域,并且更具体地涉及手追踪方法、手追踪设备和手势识别系统。
【背景技术】
[0002]随着在当今人们的生活中计算机以及众多便携式智能设备变得越来越不可或缺,人们将希望在人与计算机之间的更自然并且更高效的交互。因此,作为自由触摸人机交互界面的手势遥控系统将成为弓I人关注的选择。
[0003]基本上,手势遥控系统将追踪手并分析有意义的手的表达,如果它们被识别为是预先定义的手势中的一种,则相应的操作命令将被触发以运作某种应用。可见,作为前提的鲁棒性的手追踪方法对于分析手动作以及识别手势来说是非常重要的。另外,对于低功率设备的实现,还需要考虑追踪算法的复杂度。
[0004]当前,某些算法或其变体已被引入用于实时手追踪。例如,光学流(Optical Flow)算法通过附加到图像中的运动像素的速度矢量来反映帧改变,然而,这需要大量计算;CamShift算法可有效地追踪视觉场景中动态改变的概率分布,然而,这依赖于合适的亮度并且当在追踪过程中存在具有与肤色类似的颜色的其他物体时将变得不具有鲁棒性;模板匹配(Template Matching)算法可通过比较候选与模板之间的差异来给出最佳选择从而高效地追踪目标,然而在某些情况中,追踪准确度不令人满意。
[0005]因此,需要一种能够即使在当手跨越通过具有与肤色类似的颜色的某些物体时也能够具有高追踪准确度的手追踪方法以及应用该手追踪方法的手势遥控系统。

【发明内容】

[0006]根据本发明的一方面,提供一种手追踪方法,包括:判断当前帧前面的帧中是否发生遮蔽;依据遮蔽判断结果,自适应地从在前面的帧中所追踪到的手目标中选择一手目标作为模版;并且基于所述模板针对当前帧进行模板匹配方法以获得当前帧的手目标。
[0007]在一个实施例中,自适应地选择作为模版的手目标包括:如果当前帧前面的帧中发生遮蔽,则紧在遮蔽发生前的帧中所获得的手目标被作为所述模版;如果当前帧前面的帧中未发生遮蔽,则当前帧的前一帧中所获得的手目标被作为所述模版。
[0008]在一个实施例中,所述模板匹配方法包括:在当前帧的肤色图像中定义搜索范围和多个候选手范围;基于所述搜索范围和所述模板来找出所述搜索范围中与所述模板最匹配的候选手范围作为在当前帧中追踪到的手目标。
[0009]在一个实施例中,定义所述搜索范围包括:在当前帧的肤色图像中通过将在前一帧中所追踪到的手目标的四周扩大预定数目的像素来定义初始搜索范围;并且将所述初始搜索范围收缩为包含在前一帧中所追踪到的手目标以及表示当前帧的肤色图像与前一帧的肤色图像之间的运动差的当前肤色差分图像在内的最小矩形作为所述搜索范围。
[0010]其中,模板匹配方法进一步包括:在所述搜索范围中定义多个第一候选手范围,该些第一候选手范围具有与所述模板相同的尺寸,并且,在表示当前帧的肤色图像与前一帧的肤色图像之间的运动差的当前肤色差分图像中定义第二候选手范围,该第二候选手范围具有与所述模板相同的尺寸,针对所述多个第一候选手范围循环执行匹配判断处理直到这多个第一候选手范围都经过匹配判断处理为止,从而确定出与所述模板最匹配的候选手范围作为在当前帧中追踪到的手目标,所述匹配判断处理包括:计算一个第一候选手范围与所述模板的各像素的值的绝对差的平均值作为第一误差;如果所述第一误差大于第一预定阈值,则当前第一候选手范围被判定为不与所述模板匹配并从而被排除;如果所述第一误差小于所述第一预定阈值,则计算第二误差,所述第二误差是通过将所述第一误差减去所述第二候选手范围的各像素的值的平均值乘以修正因子得到的值而得到的差值;如果所述第二误差小于第二预定阈值,则当前第一候选手范围被判定为与所述模板匹配,并且所述第二误差的值以及当前第一候选手范围的各像素的值的平均值分别作为在针对下一个第一候选手范围的匹配判断处理中的第二预定阈值和第二候选手范围的各像素的值的平均值。
[0011]在一个实施例中,在当前帧前面的帧中未发生遮蔽的情况中,所述修正因子为第一预定值,并且在当前帧前面的帧中发生遮蔽的情况中,所述修正因子为第二预定值与紧在遮蔽发生前的帧与其前一帧的肤色差分图像中获得的手目标内各像素的值的平均值的百分数的和。
[0012]在一个实施例中,该手追踪方法还包括:判断当前帧中是否发生遮蔽,所述判断包括:如果在当前帧中未追踪到手目标,则直接判定当前帧中未发生遮蔽;并且如果在当前帧中追踪到手目标,则执行遮蔽条件判断以确定在当前帧中是否发生遮蔽。
[0013]在一个实施例中,所述遮蔽条件判断包括判断是否满足以下条件:(((PreOccDiff<=A)&&(DeItaDiff > B)) | ((PreOccDiff > A)&&(DeItaDiff > C)))&&(OccNum < D),其中,PreOccDiff表示紧在遮蔽发生前的帧与其前一帧的肤色差分图像中获得的手目标内各像素的值的平均值,DeItaDif f是PreOccDif f与AvgTarDif f的差值,AvgTarDif f为当前肤色差分图像中与所述模板最匹配的候选手范围内的各像素的值的平均值,OccNum表示当前帧前面发生连续遮蔽的次数,其中,C大于B,
[0014]并且其中,如果上述条件满足,则判定在当前帧中发生了遮蔽,如果上述条件不满足,则判定当前帧中未发生遮蔽。
[0015]根据本发明的第二方面,提供一种手追踪系统,该系统包括:判断装置,判断当前帧前面的帧中是否发生遮蔽;选择装置,依据遮蔽判断结果,自适应地从在前面的帧中所追踪到的手目标中选择一手目标作为模版;以及获得装置,基于所述模板针对当前帧进行模板匹配方法以获得当前帧的手目标。
[0016]根据本发明的第三方面,提供一种手势识别系统,该手势识别系统包括上述手追踪设备。
[0017]根据本发明的手追踪方法和手追踪设备,即使在当手跨越通过具有与肤色类似的颜色的某些物体时也能够具有高追踪准确度,从而实现准备地手势识别。
【专利附图】

【附图说明】
[0018]图1示出一般手势识别系统的框架图;[0019]图2示出传统模板匹配算法中当手在脸前移动时发生追踪错误的例示图;
[0020]图3示出根据本发明的手追踪方法的流程图;
[0021]图4示出根据本发明的手追踪方法的更详细的流程图;以及
[0022]图5示出根据本发明的手追踪方法在当手在脸前移动时的追踪结果的例示图。
【具体实施方式】
[0023]下面将详细描述本发明各个方面的特征和示例性实施例。下面的描述涵盖了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了相关元素、部件和算法的任何修改、替换和改进。
[0024]〈1.手势识别系统〉
[0025]图1示出了一般手势识别系统的框架图。如图1所示,手势识别系统包括三个功能部分:手检测部分、手追踪部分和手势识别部分。具体地,人的动作通过普通的web相机被捕获并且所捕获的图像帧被输入到该手势识别系统中。对于每个图像帧,首先判断在前一帧中是否检测到手目标。如果在前一帧中还未检测到手目标,则手检测部分将在当前整个帧中检测手目标。如果在前一帧中已检测到手目标,则手追踪部分将在当前帧以及接下来的帧中追踪手目标。与此同时,手识别部分将分析历史追踪轨迹以确定是否某种预定手势被识别出。如果某种预定手势被识别出,则相应手势命令将被输出以供后级使用,例如,以触发某种应用。
[0026]如上所述,如果在前一帧中已检测到手目标,则手追踪部分将在当前帧以及接下来的帧中追踪手目标。可见,追踪手目标所涉及的计算量以及追踪准确度对于手势识别系统而言是很重要的。然而,如上所述,现有的手追踪方法需求的计算量较大并且追踪准确度不能令人满意,特别是在当手移动通过具有与肤色类似的颜色的某些物体的情形中,很可能会由于遮蔽(Occlusion)而发生追踪错误。例如,在传统的模板匹配算法中,总是前一帧中所获得的手目标被用作当前帧中进行模板匹配算法的模板,因此在当手移动通过具有与肤色类似的颜色的某些物体的情形中由于遮蔽发生而手目标模板被错用或不当使用时,追踪错误则会发生。
[0027]例如,图2示出了在当手移动通过脸时发生追踪错误的示例。如图2中所示,图中给出了 5个连续图像帧331-335,在图像帧331-333中,正常的模板匹配算法被执行,即,图像帧331中的手追踪基于前一阵的图像帧中检测或追踪到的手目标作为模板,图像帧322中的手追踪基于图像帧311中追踪到的手目标作为模板,图像帧333中的手追踪基于图像帧332中追踪到的手目标作为模板。
[0028]然而,如图所示,由于在图像帧333中发生手与脸交叠的情况,在该图像帧333中所获得的手目标包含了同为肤色的人脸的一部分,也就是所获得的手目标是不准确或错误的。因而,当针对图像帧334进行手追踪时,以在图像帧333中获得的不准确或错误的手目标作为模板,在该图像帧334中通过模板匹配将获得手继续停留于脸上的错误追踪结果。如此继续,在接下来的图像帧中也将获得错误的追踪结果。可见,一个图像帧中发生追踪错误,这种错误将会导致在接下来的图像帧中的追踪也相应发生错误,因此追踪结果不准确,从而影响手势的正确识别。
[0029]证实鉴于上述问题,在本发明中提供了一种利用自适应模板匹配算法的手追踪方法,该方法通过判断当前帧前面的帧中是否发生遮蔽来自适应地选择合适的模板以进行模板匹配算法,从而即使当手移动通过具有与肤色类似的颜色的某些物体的情形中也能够获得高的追踪准确度。
[0030]<2.手追踪方法〉
[0031]下面将参考图3来描述根据本发明的手追踪方法。
[0032]图3示出根据本发明的手追踪方法的流程图。如图3所示,针对每一图像帧,执行步骤S301-S303。具体地,在步骤S301中,判断当前帧前面的帧中是否发生遮蔽。在步骤S302中,依据遮蔽判断结果,自适应地从在前面的帧中所追踪到的手目标中选择一手目标作为模版。如果当前帧前面的帧中发生遮蔽,则紧在遮蔽发生前的帧中所获得的手目标被作为所述模版;如果当前帧前面的帧中未发生遮蔽,则当前帧的前一帧中所获得的手目标被作为所述模版。接着,在步骤S303中,基于所述模板针对当前帧进行模板匹配方法以获得当前帧的手目标。通过利用本发明的手追踪方法,可以根据是否发生遮蔽来选择合适的模板以执行模板匹配算法,从而避免因遮蔽发生而引起的错误追踪。
[0033]接下来,将参考图4更详细地描述根据本发明的手追踪方法。
[0034]图4示出了根据本发明的手追踪方法的更详细的流程图。如图4所述,首先,在步骤S401中,计算当前帧的肤色图像以及表示当前帧的肤色图像与前一帧的肤色图像之间的运动差的当前肤色差分图像。
[0035]接着,在步骤S402中,自适应地定义搜索范围。搜索范围的定义包括以下两个步骤:(1)在当前帧的肤色图像中通过将前一帧中所追踪到的手目标的四周扩大预定数目的像素(例如,15个像素)来定义初始搜索范围;以及(2)将所述初始搜索范围收缩为包含前一帧中所追踪到的手目标以及所述当前肤色差分图像的最小矩形。如此就获得了执行模板匹配方法中所使用的搜索范围。
[0036]接着,在步骤S403中,判断在当前帧前面的帧中是否发生遮蔽。之后,根据遮蔽判断结果来从当前帧前面的帧中所追踪到的手目标中选择一手目标作为当前帧中进行模板匹配方法的模版。
[0037]具体地,如图3中所述,如果在步骤S403中判定在当前帧前面的帧中未发生遮蔽,即步骤S403中的判断结果为“否”,则过程进行到步骤S405。在步骤S405中,如传统的模板匹配算法一样,当前帧的前一帧中所追踪到的手目标作为当前帧中进行模板匹配方法的模板。此时,运动差的修正因子k为固定的预定值,例如k = 0.3,其中该修正因子k用于稍后进行的模板匹配方法。
[0038]另一方面,如果在步骤S403中判定在当前帧前面的帧中发生了遮蔽,即步骤S403中的判断结果为“是”,则过程进行到步骤S404。在步骤S404中,紧在遮蔽发生前的帧中所追踪到手目标被作为当前帧中进行模板匹配方法的模板。此时,运动差的修正因子k被计算为预定值与PreOccDiff的百分数的和,例如,k = 0.4+Pre0ccDiff/100,其中,PreOccDiff表示紧在遮蔽发生前的帧与其前一帧的肤色差分图像中获得的手目标内各像素的值的平均值。对于当前帧中的遮蔽判断,将会在稍后的步骤中介绍,并且针对每一帧的是否遮蔽的判断结果会被存储以供在后一帧中判断前面的帧中是否发生遮蔽而直接使用。
[0039]在步骤S402中定义了搜索范围并且在步骤S404或405中选择了模板之后,在步骤S406中,执行模板匹配方法。在本发明中,该模板匹配方法是带有运动差修正的模板匹配方法。本发明的关键在于基于遮蔽判断结果来选择模板,并基于如此选择的模板来执行模板匹配算法。因此,基于其他方面的考虑,也可以使用不带运动差修正的模板匹配算法。
[0040]具体地,在该模板匹配方法中,首先在所定义的搜索范围中定义多个第一候选手范围,每个第一候选手范围具有与所选模板相同的尺寸,并且在所述当前肤色差分图像中定义一个第二候选手范围,此第二候选手范围同样具有与所选模板相同的尺寸。在示例性实施例中,在每帧中追踪到的手目标以及在搜索范围中以及在肤色差分图像中所定义的候选手范围均为矩形,以便简化计算量,并且矩形的位置以矩形的左上角的顶点来表示,以便以统一的规则更新手目标的位置。
[0041]在该模板匹配方法中,针对所述多个第一候选手范围循环执行匹配判断处理直到这多个第一候选手范围都经过配判断处理为止,从而确定出与所择模板最匹配的候选手范围作为在当前帧中追踪到的手目标,所述匹配判断处理包括如下步骤:
[0042]计算一个第一候选手范围与所选模板的各像素的值的绝对差的平均值作为第一
误差;
[0043]如果第一误差大于第一预定阈值,则当前第一候选手范围被判定为不与所选模板匹配并且从而被排除;
[0044]如果第一误差小于第一预定阈值,则计算第二误差,第二误差是通过将第一误差减去第二候选手范围的各像素的值的平均值乘以修正因子得到的值而得到的差值;
[0045]如果第二误差小于第二预定阈值,则当前第一候选手范围被判定为与所选模板匹配,并且该第二误差的值以及当前第一候选手范围中的各像素的值的平均值分别作为在针对下一个第一候选手范围的匹配判断处理中的第二预定阈值和第二候选手范围的各像素的值的平均值。
[0046]接着,在步骤S407中,基于在步骤S406中执行的模板匹配算法的结果来判断是否有候选手范围与所选模板匹配。之后,基于判定结果以及前一帧的信息来判断在当前帧中是否发生遮蔽并更新相关参数以用于下一帧中的处理。具体地,如果在步骤S407中判定出没有候选手范围与所选模板匹配,则处理进行到步骤S409,并且在步骤S409中直接判定当前帧中未发生遮蔽。如果在步骤S407中判定出有候选手范围与所选模板匹配,则处理进行到步骤S408,并且在步骤S408中执行遮蔽条件判断以确定在当前帧中是否发生遮蔽。
[0047]在步骤S408中执行的遮蔽条件判断包括判断是否满足以下条件:(((PreOccDiff< =A)&&(DeItaDiff > B)) | ((PreOccDiff > A)&&(DeItaDiff > C)))&&(OccNum < D)其中,PreOccDiff表示紧在遮蔽发生前的帧与其前一帧的肤色差分图像中追踪到的手目标内各像素的值的平均值,DeltaDiff是PreOccDiff与AvgTarDiff的差值,AvgTarDiff为当前肤色差分图像中与所选模板最匹配的候选手范围内的各像素的值的平均值,OccNum表示当前帧前面发生连续遮蔽的次数,其中,C大于B,并且其中,如果上述条件满足,则在步骤S410中判定在当前帧中发生了遮蔽,如果上述条件不满足,则在步骤S410判定当前帧中未发生遮蔽。
[0048]在上述公式中,阈值A-D基于经验来设定。在诸如手移动跨越脸的情况中,一般地,以普通摄像机拍摄图像时遮蔽大概会发生在两帧内,因此例如,阈值D可设为2,当然依赖于摄像机所使用帧率以及手移动速度等其他因素,阈值D的也可被设定为其他合适的值。另外,实际上,PreOccDiff反映出手移动的强烈程度,PreOccDiff越大,表示手移动越快或手运动越强烈,反之亦然。因此,在对B、C的取值中,C可以取比B大的值,例如,在阈值A都取15的情况中,B、C分别可取为B =和C = 7。后面图4给出的示例中正是使用了这里给出的具体示例,即A = 15,B = 4,C = 5并且D = 2。
[0049]之后,在步骤S411和步骤S412中,依据步骤S409、步骤S410中的结果来更新相关参数和追踪轨迹。具体地,在当前帧中成功追踪到手目标的情况中,如果判定在当前帧中未发生遮蔽,则当前帧中追踪到手目标被作为下一帧中进行模板匹配方法的模板,如果判定在当前帧中发生遮蔽,则当前帧中进行模板匹配方法所使用的模板仍用于下一帧中进行模板匹配方法的模板。另外,在当前帧中没有成功追踪到手目标的情况中,也仍是遮蔽发生前的帧中追踪到手目标被作为下一帧中进行模板匹配方法的模板。
[0050]在当前帧中成功追踪到手目标的情况中,如果判定在当前帧中未发生遮蔽,则追踪轨迹被更新为:PN(x,y) = Ρ(χ,y),其中,PN(x,y)表示当前帧中追踪到的矩形手目标的左上角的坐标位置,PU,y)表示与所选模板最匹配的候选手范围的左上角的位置。也就是说,当前帧中追踪到的手目标的左上角的位置为被确定与所选模板最匹配的候选手范围的左上角的位置。
[0051]如果判定在当前帧中发生了遮蔽,则追踪轨迹被更新为:
[0052]
【权利要求】
1.一种手追踪方法,包括: 判断当前帧前面的帧中是否发生遮蔽; 依据遮蔽判断结果,自适应地从在前面的帧中所追踪到的手目标中选择一手目标作为模版;并且 基于所述模板针对当前帧进行模板匹配方法以获得当前帧的手目标。
2.根据权利要求1所述的手追踪方法,其中,自适应地选择作为模版的手目标包括: 如果当前帧前面的帧中发生遮蔽,则紧在遮蔽发生前的帧中所获得的手目标被作为所述模版; 如果当前帧前面的帧中未发生遮蔽,则当前帧的前一帧中所获得的手目标被作为所述模版。
3.根据权利要求1所述的手追踪方法,其中,所述模板匹配方法包括: 在当前帧的肤色图像中定义搜索范围和多个候选手范围; 基于所述搜索范围和所述模板来找出所述搜索范围中与所述模板最匹配的候选手范围作为在当前帧中追踪到的手目标。
4.根据权利要求3所述的手追踪方法,其中,定义所述搜索范围包括: 在当前帧的肤色图像中通过将在前一帧中所追踪到的手目标的四周扩大预定数目的像素来定义初始搜索范围;并且` 将所述初始搜索范围收缩为包含在前一帧中所追踪到的手目标以及表示当前帧的肤色图像与前一帧的肤色图像之间的运动差的当前肤色差分图像在内的最小矩形作为所述搜索范围。
5.根据权利要求3或4所述的手追踪方法,其中,所述模板匹配方法进一步包括: 在所述搜索范围中定义多个第一候选手范围,该些第一候选手范围具有与所述模板相同的尺寸,并且,在表示当前帧的肤色图像与前一帧的肤色图像之间的运动差的当前肤色差分图像中定义第二候选手范围,该第二候选手范围具有与所述模板相同的尺寸, 针对所述多个第一候选手范围循环执行匹配判断处理直到这多个第一候选手范围都经过匹配判断处理为止,从而确定出与所述模板最匹配的候选手范围作为在当前帧中追踪到的手目标, 所述匹配判断处理包括: 计算一个第一候选手范围与所述模板的各像素的值的绝对差的平均值作为第一误差; 如果所述第一误差大于第一预定阈值,则当前第一候选手范围被判定为不与所述模板匹配并从而被排除; 如果所述第一误差小于所述第一预定阈值,则计算第二误差,所述第二误差是通过将所述第一误差减去所述第二候选手范围的各像素的值的平均值乘以修正因子得到的值而得到的差值; 如果所述第二误差小于第二预定阈值,则当前第一候选手范围被判定为与所述模板匹配,并且所述第二误差的值以及当前第一候选手范围的各像素的值的平均值分别作为在针对下一个第一候选手范围的匹配判断处理中的第二预定阈值和第二候选手范围的各像素的值的平均值。
6.根据权利要求5所述的手追踪方法,其中,在当前帧前面的帧中未发生遮蔽的情况中,所述修正因子为第一预定值,并且在当前帧前面的帧中发生遮蔽的情况中,所述修正因子为第二预定值与紧在遮蔽发生前的帧与其前一帧的肤色差分图像中获得的手目标内各像素的值的平均值的百分数的和。
7.根据权利要求1所述的手追踪方法,还包括:判断当前帧中是否发生遮蔽,所述判断包括: 如果在当如帧中未追S示到手目标,则直接判定当如帧中未发生遮蔽;并且 如果在当前帧中追踪到手目标,则执行遮蔽条件判断以确定在当前帧中是否发生遮蔽。
8.根据权利要求7所述的手追踪方法,所述遮蔽条件判断包括判断是否满足以下条件: (((PreOccDiff < = A)&&(DeItaDiff > B)) | ((PreOccDiff > A)&&(DeItaDiff >C))) &&(OccNum < D)其中,PreOccDiff表示紧在遮蔽发生前的帧与其前一帧的肤色差分图像中获得的手目标内各像素的值的平均值,DeltaDiff是PreOccDiff与AvgTarDiff的差值,AvgTarDiff为当前肤色差分图像中与所述模板最匹配的候选手范围内的各像素的值的平均值,OccNum表示当前帧前面发生连续遮蔽的次数,其中C大于B, 并且其中,如果上述条件满足,则判定在当前帧中发生了遮蔽,如果上述条件不满足,则判定当前帧中未发生遮蔽。
9.一种手追踪设备,包括: 判断装置,判断当前帧前面的帧中是否发生遮蔽; 选择装置,依据遮蔽判断结果,自适应地从在前面的帧中所追踪到的手目标中选择一手目标作为模版;以及 获得装置,基于所述模板针对当前帧进行模板匹配方法以获得当前帧的手目标。
10.一种手势识别系统,该手势识别系统包括如权利要求9所述的手追踪设备。
【文档编号】G06K9/00GK103679130SQ201210375618
【公开日】2014年3月26日 申请日期:2012年9月24日 优先权日:2012年9月24日
【发明者】王琪 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1