CN103376890B - 基于视觉的手势遥控*** - Google Patents
基于视觉的手势遥控*** Download PDFInfo
- Publication number
- CN103376890B CN103376890B CN201210121832.XA CN201210121832A CN103376890B CN 103376890 B CN103376890 B CN 103376890B CN 201210121832 A CN201210121832 A CN 201210121832A CN 103376890 B CN103376890 B CN 103376890B
- Authority
- CN
- China
- Prior art keywords
- hands
- scope
- image
- candidate
- gesture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种基于视觉的手势遥控***,该基于视觉的手势遥控***包括:图像捕获设备,用于捕获对象的一系列图像;手势识别设备,用于从图像捕获设备所捕获的一系列图像识别对象的手势并将识别结果发送给操作命令触发设备;以及操作命令触发设备,用于根据从手势识别设备发送来的识别结果来触发预定操作命令。所述手势识别设备包括:手检测部件,用于从图像捕获设备所捕获的图像检测对象的手;手跟踪部件,用于在当手检测部件在一图像中检测到对象的手时,在接下来的图像中跟踪对象的手;手势识别部件,用于根据手检测部件检测到的对象的手和手跟踪部件跟踪到的对象的手来确定对象的手的运动并根据所确定的对象的手的运动来识别对象的手势。
Description
技术领域
本发明涉及图像处理、模式识别及对象跟踪领域,并且更具体地涉及基于视觉的手势遥控***。
背景技术
随着在当今人们的生活中计算机以及众多便携式智能设备变得越来越不可或缺,人们将希望在人与计算机之间的更自然并且更高效的交互。然而,传统的诸如鼠标/键盘、遥控器、甚至于触摸屏之类的人机交互(HCI)的***设备在一些特殊条件下(例如,在浴室或厨房中,在驾驶中,等等)对于用户来说是不方便的,因为在这些地方需要的是自由触摸HCI。因此,近年来,作为潜在的解决方案之一的手势遥控***得到越来越多的关注。
基本上,手势遥控***将跟踪手并分析有意义的手的表达,如果它们被识别为是预先定义的手势中的一种,则相应的操作命令将被触发以执行预定的操作。由于在很多情形中手势识别是很复杂的,所以在手势识别处理中,许多不同的工具被采用来解决此问题,诸如隐马尔科夫模型(Hidden Markov Models(HMM))、粒子滤波器、有限状态机(FSM)和神经网络。大多数手势识别***要求高的计算复杂度;此外,其中一些具有某些限制,例如,需要额外的设备(如需要佩带手套)或精密的仪器(如需要红外相机收集深度信息)或者只能在良好照明环境以及简单背景环境中运行(如不能区分手与具有肤色类似颜色的物体,或者只能识别静态手势,等等)。
因此,需要一种实时遥控的计算复杂度低并且能够在复杂环境中良好运行的手势识别***。
发明内容
根据本发明的一方面,一种基于视觉的手势遥控***包括:图像捕获设备,所述图像捕获设备用于捕获对象的一系列图像;手势识别设备,所述手势识别设备用于从所述图像捕获设备所捕获的一系列图像识别对象的手势并将识别结果发送给操作命令触发设备;以及操作命令触发设备,所述操作命令触发设备用于根据从所述手势识别设备发送来的识别结果来触发预定操作命令,其中,所述手势识别设备包括:手检测部件,所述手检测部件用于从所述图像捕获设备所捕获的图像检测对象的手;手跟踪部件,所述手跟踪部件用于在当所述手检测部件在一图像中检测到对象的手时,在接下来的图像中跟踪对象的手;手势识别部件,所述手势识别部件用于根据所述手检测部件检测到的对象的手和所述手跟踪部件跟踪到的对象的手来确定对象的手的运动并根据所确定的对象的手的运动来识别对象的手势。
在一个实施例中,所述手检测部件通过将由所述图像捕获设备所捕获的图像变换成灰度图像,来利用基于局部二值模式的级联分类器从该灰度图像检测对象的手。
在一个实施例中,所述手跟踪部件通过如下处理来跟踪对象的手:利用在前一图像中检测或跟踪到的手的范围以及当前图像的肤色图像与前一图像的肤色图像之间的差分图像,来初始定义当前图像的肤色图像中的用于跟踪手的搜索范围;执行模板匹配法以确定作为跟踪到的当前图像的手的范围,其中,所述模板匹配法包括:
在搜索范围中定义多个第一候选手范围,该些第一候选手范围具有与目标模板的大小相同的大小,并且,在差分图像中定义第二候选手范围,该候选手范围具有与目标模板的大小相同的大小,其中,所述目标模板为在前一图像中检测或跟踪到的手的范围;
针对所述多个第一候选手范围循环执行如下步骤直到这多个第一候选手范围都经过如下匹配判断处理为止,从而确定出与目标模板最匹配的候选手范围作为在当前图像的肤色图像中跟踪到的手的范围:
计算一个第一候选手范围与目标模板的各像素的绝对差的平均值作为第一误差;
如果该第一误差大于第一预定阈值,则表示该个候选手范围不与目标模板匹配,从而被排除;
如果该第一误差小于第一预定阈值,则计算第二误差,第二误差是通过将第一误差减去第二候选手范围的各像素的值的平均值所获得的值乘以预定的调节系数而得到的值;
如果该第二误差小于第二预定阈值,则确定匹配,即该个第一候选手范围被确定为在当前图像的肤色范围中跟踪到的手的范围,并且第二误差的值作为第二阈值以便对下一个第一候选手范围进行匹配判断。
在一个实施例中,在确定了在当前图像的肤色图像中的搜索范围之后并在执行模板匹配法之前,参考所述差分图像来修正初始定义的搜索范围,并在减小后的搜索范围内定义所述多个候选手范围并执行所述模板匹配法来确定当前图像的手的范围,其中,所述修正包括:将初始定义的搜索范围的各边逐渐向内缩,并且当任一边遇到像素值大于预定阈值的像素时,该边停止向内缩。
在一个实施例中,在所述模板匹配法中,在针对每个第一候选手范围确定与目标模板匹配时,该匹配被验证,所述验证包括:计算当前被确认最匹配的第一候选手范围与在所述手检测设备中所检测到的手的范围的各个像素的绝对差的平均值作为第三误差;判断该第三误差是否大于第三阈值,如果该第三误差大于第三预定阈值,则判定当前被确认最匹配的第一候选手范围实际上不匹配,从而排除该第一候选手范围。
在一个实施例中,本发明中所使用的肤色图像可通过如下步骤而得到:将所捕获的图像的每个像素的RGB分量中的R分量的值减去G分量与B分量的均值,以得到一差值;并且将所述差值与预定阈值比较,如果所述差值比所述预定阈值小,则肤色图像的相应像素的值取0,并且如果所述差值比所述预定阈值大,则肤色图像的相应像素的值取所述差值。
在一个实施例中,所述手势识别部件根据所述手检测部件和所述手跟踪部件在每帧图像所检测或跟踪到的对象的手的位置、从每帧图像的手的位置计算得到的相邻两帧图像之间的手位置取向以及从相邻两个手位置取向计算得到的相邻两帧图像的位移方向来确定对象的手的运动并将所确定的对象的手的运动与预先定义的手势-手运动轨迹映射表进行对比来识别对象的手势。
根据本发明的另一方面,一种基于视觉的手势遥控方法,包括捕获对象的一系列图像;从所捕获的一系列图像识别对象的手势;根据识别结果来触发预定操作命令,其中,识别对象的手势包括:从所捕获的图像检测对象的手;在当在一图像中检测到对象的手时,在接下来的图像中跟踪对象的手;并且根据检测到的对象的手和跟踪到的对象的手来确定对象的手的运动并根据所确定的对象的手的运动来识别对象的手势。
根据本发明的又一方面,一种用于将RGB图像变换成肤色图像的方法,该方法包括:将RGB图像的每个像素的RGB分量的R分量的值减去G分量与B分量的均值,以得到一差值;将所述差值与预定阈值比较,如果所述差值比所述预定阈值小,则肤色图像的相应像素的值取0,并且如果所述差值比所述预定阈值大,则肤色图像的相应像素的值取所述差值。
根据本发明的又一方面,一种用于在图像序列中跟踪目标的方法,包括:利用在前一图像中检测或跟踪到的目标的范围以及当前图像的肤色图像与前一图像的肤色图像之间的差分图像,来初始定义当前图像的肤色图像中的用于跟踪目标的搜索范围;执行模板匹配法以确定作为跟踪到的当前图像的目标的范围,其中,所述模板匹配法包括:
在所述搜索范围中定义多个第一候选目标范围,该些第一候选目标范围具有与目标模板的大小相同的大小,并且,在所述差分图像中定义第二候选目标范围,该候选目标范围具有与目标模板的大小相同的大小,其中,所述目标模板为在前一图像中检测或跟踪到的目标的范围;
针对所述多个第一候选目标范围循环执行如下步骤直到这多个第一候选目标范围都经过如下匹配判断处理为止,从而确定出与目标模板最匹配的候选目标范围作为在当前图像的肤色图像中跟踪到的目标的范围:
计算一个第一候选目标范围与目标模板的各像素的绝对差的平均值作为第一误差;
如果该第一误差大于第一预定阈值,则表示该个候选目标范围不与目标模板匹配,从而被排除;
如果该第一误差小于第一预定阈值,则计算第二误差,第二误差是通过将第一误差减去第二候选目标范围的各像素的值的平均值所获得的值乘以预定的调节系数而得到的值;
如果该第二误差小于第二预定阈值,则确定匹配,即该个第一候选目标范围被确定为在当前图像的肤色范围中跟踪到的目标的范围,并且第二误差的值作为第二阈值以便对下一个第一候选目标范围进行匹配判断。
根据本发明的基于视觉的手势识别***,即使在手移动越过具有与肤色类似的颜色的某些物体的情况中,也能够简单并且高效地从连续捕获的帧图像序列中准确地检测手、跟踪手运动并识别出手势。
附图说明
图1示出了本发明的手势控制***的示意性结构;
图2示出了本发明的由手势识别设备执行的手势识别处理的流程图;
图3示出了所捕获的RGB图像和变换后的灰度图像的示例;
图4示出了当在变换后的灰度图像中成功检测到手时的示例,其中手的范围被以矩形框示出;
图5示出了在本发明的手势识别处理中所利用的肤色图像的示例性示图;
图6示出了针对手向右运动的连续两个图像的肤色图像之间的差分图像;
图7中的(a)、(b)和(c)示出了在本发明的手势识别处理中定义用于在当前图像的肤色图像中跟踪手的搜索范围的处理的示例性示图;
图8示出了初始定义的搜索范围被修正后的结果的示例性示图;
图9示出了在本发明的手势识别处理中通过利用改进的模板匹配算法来跟踪跨越面部的手的处理的示例性示图;以及
图10示出了在本发明的手势识别设备中用于计算手位置取向、手位置取向改变以及手位置取向所定义的手运动方向的示例性示图。
具体实施方式
下面,将参考附图详细描述本发明的优选实施例。注意,在本说明书和附图中,用相同的标号来表示具有基本上相同的功能和结构的结构元件,并且省略对这些结构元件的重复描述。
本发明提供了一种高效并且健壮的基于视觉的手势遥控***,该***利用常见的web相机工作并且在复杂环境中表现出可靠性,同时只需要较少的计算量。
图1是示出了本发明的手势控制***的示意结构的示图。如图1所示,本发明的基于视觉的手势遥控***主要包括三部分:图像捕获设备101,用于捕获对象的一系列图像;手势识别设备102,用于从图像捕获设备101所捕获的一些列图像识别对象的手势并将识别结果发送给操作命令触发设备103;以及操作命令触发设备103,用于根据从所述手势识别设备102发送来的识别结果来触发预定操作命令。
在本说明书中,web相机被用作图像捕获设备,但是本发明并不限于此,任何类型的已知的或者未来将得知的能够捕获视频图像的捕获装置都可被用作该图像捕获设备。在本发明中,手势识别设备是手势控制***的核心部分,其识别有意义的手势并且将所识别的手势动作与预先定义的手势进行比较,如果所识别的手势动作与预先定义的手势之一相配,则识别结果发送给操作命令触发设备以触发预定的操作命令。下面将详细描述本发明的手势识别处理的内容。
在描述本发明的手势识别处理之前,首先给出该手势识别处理所支持的预先定义的手势,如表1所示。从表1可知,与静态手势相比,本发明的手势识别方法还支持动态手势。例如,当手“短暂停留”时,手保持静止非常短的时间(例如少于1秒),当手保持“停留”时,手保持静止长达1秒以上,这里“1秒”仅为示例并且此值可由用户任意设定。此外,例如,当手向左(向右、向上、向下)运动时,手运动轨迹为短暂停留后向左(向右、向上、向下)移动,而当手在挥动时,手运动轨迹为向左-向右-向左-向下(即,→,←,→,←)移动。此外,当手顺时针旋转时,手运动轨迹为
而当手逆时针旋转时,手运动轨迹为
这里,手运动轨迹可以是完整的圈或者大半个圈。此外,如果用户没有做出任何有意义的手势,则任意的手运动轨迹被记录。虽然这里给出了如上的手势定义,但是本发明并不限于此,用户可以根据需要任意地进行定义,因此,可用于识别的手势可更自然。
表1:手势定义
接着,将描述本发明的手势识别处理的具体过程。该手势识别处理从所捕获的图像中检测对象的手,跟踪手的运动,然后根据手的运动轨迹以及预先定义的手势来识别表达了怎样的有意义的手势命令,具体过程如图2中所示。
图2是示出了本发明的由手势识别设备执行的手势识别处理的流程图。如图2所示,本发明的手势识别处理由三个主要的处理阶段构成:检测、跟踪和识别。具体地,对于由图像捕获设备所捕获的对象的一系列图像中的每帧图像,执行下面的过程。首先,在S201,由图像捕获设备所捕获的对象的图像被规格化,例如被规格化为160像素×120像素,当然本发明并不限于此,被规格化的大小可由用户任意设定。在S202,根据有关手检测和手跟踪的记录来确定在上一帧图像中是否检测到手和是否跟踪到手,如果在上一帧中没有检测到手,则执行有关手检测的处理,如果在上一帧中已经跟踪到手,则执行有关手跟踪的处理。例如,在一个实施例中,标志isTrack被设定用于表示是否检测到手,当检测到手时,isTrack被赋1,而当没有检测到手时,isTrack被赋0。另外,在该实施例中,标志isDectec被设定用于表示是否跟踪到手,当跟踪到手时,isDectec被赋1,而当没有跟踪到手时,isDectec被赋0。因此,在该实施例中,通过检查标志isTrack和isDectec的值就可确定在上一帧中是否检测到手和是否跟踪到手。
在上一帧中没有检测到手和跟踪到手的情况中,即在S202中为“否”,执行有关手检测的处理。具体地,如图2中所示,在S203中,将当前图像从RGB图像变换成灰度图像,当然,如果所捕获到的图像就是灰度图像,则此步将略去。图3示出了所捕获的RGB图像和变换后的灰度图像的示例。在S204中,利用预先训练好的基于LBP(局部二值模式)的级联分类器在变换后的灰度图像的整个范围内检侧手。图4示出当在变换后的灰度图像中成功检测到手时的示例,其中手的范围被以矩形框示出。如前面所述,如果检测到手,在S206中isDectec被赋1,如果没有检测到手,则在S207中isDectec被赋0,这些记录被保存以供在对下一帧图像进行处理时使用。
当在变换后的灰度图像中没有检测到手的情况中,本发明的手势识别方法返回到S201以对下一帧图像进行处理。另一方面,当在变换后的灰度图像中成功检测到手的情况中,在S208中将当前RGB图像变换成肤色图像,这便于将肤色区域与背景分开,从而减少在对下一帧图像进行手跟踪处理时由于背景所造成的影响。更具体地,本发明中所使用的将RGB图像变换成肤色图像的方法如下:假设肤色图像中的像素的值由s表示,RGB图像中的每个像素的RGB分量的R分量、G分量、B分量的值分别由r、g、b表示,并且设定一临时中间变量Temp,则s的值由如下公式定义:
Temp=r-((g+b)/2));
Temp=MAX(0,Temp);
s=Temp>140?0:Temp;
也即,首先,将RGB图像的每个像素的RGB分量中的R分量的值减去G分量与B分量的均值值,以得到一差值;接着,将该差值与预定阈值比较,如果该差值比预定阈值小,则肤色图像的相应像素的值取0,并且如果该差值比预定阈值大,则肤色图像的相应像素的值取该差值。例如,图5示出了所捕获的RGB图像被以预定阈值140进行变换后的肤色图像的示例,其中矩形框表示手被检测到,如上所述,肤色区域与背景分开。虽然这里描述了如上所述的从RGB图像变换得到肤色图像的方法,但是用户也可以根据需要来采用其他肤色分隔方法来获得肤色图像。此外,当前图像的肤色图像被保存以用于在对下一图像进行手跟踪处理时的差分图像计算,并且表示检测出的手的范围的参数也被保存以用于在对下一图像进行手跟踪处理时的模板匹配及误差评估。
在上一图像中已经检测到手或跟踪到手的情况中,即在S202中为“是”,执行有关手跟踪的处理。本发明的手跟踪处理采用改进的模板匹配法,该模板匹配法计算更快并且能够容忍手在运动过程中的手形的某些变化。具体地,在S209中,将当前图像从RGB图像变换成肤色图像,变换方法如上面所述。在S210中,计算当前图像的肤色图像与所保存的前一图像的肤色图像之间的差分图像。在差分图像的计算中,只有沿着手运动方向的差值被保留,而与手运动方向相反的值被丢弃。具体地,首先,计算当前图像的肤色图像的每个像素的值与前一图像的肤色图像的相应像素的值的差值。接着,将此差值与0比较,如果此差值比0大,则差分图像的相应像素的值取该差值,如果此差值比0小,则差分图像的相应像素的值取0。图6示出了针对手向右运动的连续两个图像的肤色图像之间的差分图像。
接着,在S210中,根据在前一图像中检测或跟踪到的手以及当前图像的肤色图像与前一图像的肤色图像之间的差分图像来在当前图像的肤色图像中跟踪手。具体地,首先,利用在前一图像中检测或跟踪到的手的范围来初始定义当前图像的肤色图像中的用于跟踪手的搜索范围。例如,在手的范围被以矩形框示出的示例中,搜索范围可按照如下公式来定义:
Range.x=MAX(0,Target.x-15);
Range.y=MAX(0,Target.y-15);
Range.width=MIN(a-Range.x,Target.width+30);
Range.height=MIN(b-Range.y,Target.height+30),
其中,Target.x、Target.y表示前一图像中检测或跟踪到的手的矩形框的左上角的顶点的横、纵坐标,Target.width、Target.height表示前一图像中检测或跟踪到的手的矩形框的宽度和高度,并且Range.x、Range.y表示当前图像的肤色图像中的搜索范围的左上角的顶点的横、纵坐标,Range.width、Range.height表示当前图像的肤色图像中的搜索范围的宽度和高度,并且a和b分别表示图像的水平和竖直像素数,并且“15”,“30”的数值是根据经验值所设定的并且根据情况可以是使得初始设定的搜索范围尽可能接近跟踪的手范围的其他值。
为了减少下一步中执行模板匹配法中的计算量并提高准确度,在如上所述初始定义了搜索范围之后,利用当前图像的肤色图像与前一图像的肤色图像之间的差分图像来修正初始定义的搜索范围,即将所述差分图像中感兴趣区域作为修正后的搜索范围。如图7所示,示出了(a)前一图像中检测或跟踪到的手的范围,(b)当前图像的肤色图像与前一图像的肤色图像之间的差分图像,以及(c)在当前图像的肤色图像中定义的搜索范围,其中,图中左上角的标号示例性地表示图像的帧编号。并且,图8示出了作为搜索范围修正的示例的搜索范围减小的示图,其中,初始定义的搜索范围的四条边被逐渐向内缩,并且当任一条边遇到像素值大于预定阈值(例如5)的像素时,则此条边停止向内缩。
在当前图像的肤色图像中定义了搜索范围之后,在S212中,执行模板匹配法以确定作为跟踪到的当前图像的手的范围。这里模板匹配法是指将在上一图像中检测或跟踪到的手的范围作为目标模板,将候选手范围与该模板进行比较,如果误差小于一定值,则确定匹配。为了减少当手跨越具有肤色的一些物体(例如,脸、另外的手)时的跟踪误差,上述模板匹配法考虑了来自差分图像的运动信息,具体为:
在搜索范围中定义多个第一候选手范围,该些第一候选手范围具有与目标模板的大小相同的大小,并且,在差分图像中定义第二候选手范围,该候选手范围具有与目标模板的大小相同的大小;
针对所述多个第一候选手范围循环执行如下步骤直到这多个第一候选手范围都经过如下匹配判断处理为止,从而确定出与目标模板最匹配的候选手范围作为在当前图像的肤色图像中跟踪到的手的范围:计算一个第一候选手范围与目标模板的各像素的绝对差的平均值作为第一误差;如果该第一误差大于第一预定阈值,则表示该个候选手范围不与目标模板匹配,从而被排除;如果该第一误差小于第一预定阈值,则计算第二误差,第二误差是通过将第一误差减去第二候选手范围的各像素的值的平均值所获得的值乘以预定的调节系数;如果该第二误差小于第二预定阈值,则确定匹配,即该个第一候选手范围被确定为在当前图像的肤色范围中跟踪到的手的范围,并且第二误差的值作为第二阈值以便对下一个第一候选手范围进行匹配判断。
如上所述,因为本模板匹配法通过参考前一个候选手范围来逐步地找出最匹配的手范围,因此,这使得能够容忍手在连续运动中的手形的变化。然而,在连续的跟踪处理中,这也导致了匹配误差的累积。因此,可以通过设置额外的验证处理来限制历史的匹配误差,该验证处理包括:计算当前被确认最匹配的第一候选手范围与在手检测设备中所检测到的手的范围的各个像素的绝对差的平均值作为第三误差;判断该第三误差是否大于第三阈值,如果该第三误差大于第三预定阈值,则判定当前被确认最匹配的第一候选手范围实际上不匹配,从而排除该第一候选手范围。图9示出了当手移动跨越脸时的跟踪结果,为了更清楚地示出效果,选择性地示出了间隔的图像帧,并且其中矩形框表示跟踪到的手。
接着,在S213中,判断在S212中是否成功跟踪到手。如果成功跟踪到手,则如上所述在S214中标志isTrack被赋1,否则在S215中标志isTrack被赋0并且方法流程转到S203以对当前图像执行手检测处理。
在S214中标志isTrack被赋1的情况中,即,在当前图像中跟踪到手的情况中,在S216,将当前图像的肤色保存以用于对下一帧图像进行处理时的差分图像计算,并且将表示当前图像中跟踪到的手范围的参数保存以供用于对下一帧图像的模板匹配处理,并且将当前图像中跟踪到的手的位置的横、纵坐标分别定义为前一图像中检测或跟踪到的手的范围的横坐标与宽度的一半的和以及前一图像中检测或跟踪到的手的范围的纵坐标与高度的一半的和,如果用HandPos(x,y)来表示当前图像中跟踪到的手的位置的坐标,则其被表示为如下公式:
HandPos(x,y)=(Target.x+Target.width/2,Target.y+Target.height/2)
接着,在S217,在对由图像捕获设备所捕获的一系列图像中的所有图像都执行了手检测或手跟踪的处理之后,通过所记录的多个手位置可得到手的运动轨迹。通过分析该运动轨迹并参考所定义的手势-运动轨迹映射表可识别出对象的手势。具体地,首先,计算每相邻两个图像中检测或跟踪到的手的位置之间的手位置取向Orient,即,计算由当前图像中检测或跟踪到的手的位置与前一图像中检测或跟踪到的手的位置构成的直线与水平方向的夹角
接着,计算相邻两个图像之间位移方向DeltaOrient。具体地,将当前图像相对于前一图像的手位置取向Orient减去后一图像相对于当前图像的手位置取向LastOrient而得到差值。如果该差值的绝对值大于180,则在所述差值大于0的情况下,所述差值减去360而得到值作为图像位移方向DeltaOrient;在所述差值小于0的情况下,所述差值加上360而得到值作为图像位移方向DeltaOrient。如果该差值的绝对值不大于180,则所述差值作为图像位移方向DeltaOrient。
然后,对于8种有意义的手势(“任意”用于记录实时运动轨迹,并且“短暂停留”被设置作为用于向上/向下/向左/向右手势的预备动作,停留、向上/向下/向左/向右、挥手作为一组,它们基于Orient的值;CW/CC作为另一组,它们基于DeltaOrient的值和一段时间的累积和,特别地,对于挥手的手势,其包括向左和向右的运动的交替运动),手势识别如下:
停留
为了识别停留的手势,需要对于连续STAY_NUM帧检测到手保持静止,即,对于连续STAY_NUM帧,总有在当前图像跟踪到的手的位置与在前一图像中检测或跟踪到的手的位置相同,其中STAY_NUM是预先定义的帧数。
向上/向下/向左/向右
为了识别向上/向下/向左/向右的手势,首先,应检测到预备动作“短暂停留”,然后在接下来的DIREC_NUM帧,Orient的值应沿一个方向保持在一定范围内,其中,DIREC_NUM是预先定义的帧数。作为示例,假定“短暂停留”动作为对于3帧保持静止。图10(b)示出了对于向上/向下/向左/向右方向的Orient的值范围。例如,如果46≤Orient≤134,则认为是向上方向移动。
挥手:
为了识别挥手的手势,需要检测连续的4个运动段:向右-向左-向右-向左。为了检测每个运动段,需要Orient值对于连续N帧应被保持在相应的值范围内(MIN_SEG_NUM≤N<=MAX_SEG_NUM),其中MIN_SEG_NUM和MAX_SEG_NUM是预先定义的帧数阈值。
顺时针旋转:
为了识别顺时针旋转的手势,需要在若干连续帧图像中,DeltaOrient的值保持为正,DeltaOrient的绝对值保持在一定范围(例如,大于10并且小于等于50的范围)并且DeltaOrient的绝对值的和达到了预定阈值CIRCLE_DEGREE。
逆时针旋转:
在逆时针旋转的判断中,除了DeltaOrient的值保持为负以外,其他均与顺时针旋转的判断相同。
当如上所述手势被识别出之后,用于相应手势候选的所有计数器将被重置。此外,***将被“冻结”几帧,即,在这几帧中不识别手势。此机制被引入是为了避免对于一些无意手势的错误识别。例如,如果用户希望不断做出向右的手势,他/她在完成一个向右手势之后自然地会将手移回,然后再做出下一个向右手势。如果不利用此种“冷冻”机制,则这种“移回”将很可能被误识别为向左的手势。
如此,对象的手势被识别出。
接着,在S219中,作为识别结果的手势被输出给操作命令触发设备。
接着,在作为手势与相应操作命令之间的接口的操作命令触发设备中,根据从手势识别设备发送来的手势识别结果通过查看预先定义的手势与操作命令的映射表来触发相应的操作命令。手势与操作命令的映射表例如下表2中所示。该表2给出了与8种手势相对应的对于windows图片查看器软件的操作之间的映射。虽然这里给出的是8种手势相对应的对于windows图片查看器软件的操作之间的映射,但是本发明不限于此,更多种的手势与相应操作之间的映射可被定义,并且操作不仅可涉及对各种类型的软件的操作,也可涉及对各种电子设备的不同功能的操作,这由用户根据需要来定义。例如,本发明可被应用于手势-鼠标控制。
手势 | 操作命令 |
短暂停留 | 回车 |
向左 | 前一个/如果图片放大则表示向左移动 |
向右 | 下一个/如果图片放大则表示向右移动 |
向上 | 如果图片放大则表示向上移动 |
向下 | 如果图片放大则表示向下移动 |
挥手 | 退出 |
顺时针旋转 | 放大 |
逆时针旋转 | 缩小 |
表2:手势-操作命令映射表
根据本发明的基于视觉的手势识别***,即使在手移动越过具有与肤色类似的颜色的某些物体的情况中,也能够简单并且高效地从连续捕获的帧图像序列中准确地检测手、跟踪手运动并识别出手势。
上面描述了根据本发明的基于视觉的手势识别遥控***的各部件及各部件中的相应操作,然而可在不脱离本发明的主旨的情况作出多种改变和修改,这些改变和修改也落在本申请的范围内。
Claims (9)
1.一种基于视觉的手势遥控***,包括:
图像捕获设备,所述图像捕获设备用于捕获对象的一系列图像;
手势识别设备,所述手势识别设备用于从所述图像捕获设备所捕获的一系列图像识别对象的手势并将识别结果发送给操作命令触发设备;以及
操作命令触发设备,所述操作命令触发设备用于根据从所述手势识别设备发送来的识别结果来触发预定操作命令,其中,所述手势识别设备包括:
手检测部件,所述手检测部件用于从所述图像捕获设备所捕获的图像检测对象的手;
手跟踪部件,所述手跟踪部件用于在当所述手检测部件在一图像中检测到对象的手时,在接下来的图像中跟踪对象的手;
手势识别部件,所述手势识别部件用于根据所述手检测部件检测到的对象的手和所述手跟踪部件跟踪到的对象的手来确定对象的手的运动并根据所确定的对象的手的运动来识别对象的手势,
其中,所述手跟踪部件通过如下处理来跟踪对象的手:
利用在前一图像中检测或跟踪到的手的范围以及当前图像的肤色图像与前一图像的肤色图像之间的差分图像,来初始定义当前图像的肤色图像中的用于跟踪手的搜索范围;
执行模板匹配法以确定作为跟踪到的当前图像的手的范围,
其中,所述模板匹配法包括:
在搜索范围中定义多个第一候选手范围,该些第一候选手范围具有与目标模板的大小相同的大小,并且,在差分图像中定义第二候选手范围,该候选手范围具有与目标模板的大小相同的大小,其中,所述目标模板为在前一图像中检测或跟踪到的手的范围;
针对所述多个第一候选手范围循环执行如下步骤直到这多个第一候选手范围都经过如下匹配判断处理为止,从而确定出与目标模板最匹配的候选手范围作为在当前图像的肤色图像中跟踪到的手的范围:
计算一个第一候选手范围与目标模板的各像素的绝对差的平均值作为第一误差;
如果该第一误差大于第一预定阈值,则表示该个候选手范围不与目标模板匹配,从而被排除;
如果该第一误差小于第一预定阈值,则计算第二误差,第二误差是通过将第一误差减去第二候选手范围的各像素的值的平均值所获得的值乘以预定的调节系数而得到的值;
如果该第二误差小于第二预定阈值,则确定匹配,即该个第一候选手范围被确定为在当前图像的肤色范围中跟踪到的手的范围,并且第二误差的值作为第二阈值以便对下一个第一候选手范围进行匹配判断。
2.根据权利要求1所述的基于视觉的手势遥控***,其中,所述手检测部件通过将由所述图像捕获设备所捕获的图像变换成灰度图像,来利用基于局部二值模式的级联分类器从该灰度图像检测对象的手。
3.根据权利要求1所述的基于视觉的手势遥控***,其中,在确定了在当前图像的肤色图像中的搜索范围之后并在执行模板匹配法之前,参考所述差分图像来修正初始定义的搜索范围,并在减小后的搜索范围内定义所述多个候选手范围并执行所述模板匹配法来确定当前图像的手的范围,其中,所述修正包括:将初始定义的搜索范围的各边逐渐向内缩,并且当任一边遇到像素值大于预定阈值的像素时,该边停止向内缩。
4.根据权利要求1所述的基于视觉的手势遥控***,其中,在所述模板匹配法中,在针对每个第一候选手范围确定与目标模板匹配时,该匹配被验证,所述验证包括:
计算当前被确认最匹配的第一候选手范围与在所述手检测设备中所检测到的手的范围的各个像素的绝对差的平均值作为第三误差;
判断该第三误差是否大于第三阈值,如果该第三误差大于第三预定阈值,则判定当前被确认最匹配的第一候选手范围实际上不匹配,从而排除该第一候选手范围。
5.根据权利要求1至4中任一项所述的基于视觉的手势遥控***,其中,肤色图像是通过如下步骤而得到的:
将所捕获的图像的每个像素的RGB分量中的R分量的值减去G分量与B分量的均值,以得到一差值;并且
将所述差值与预定阈值比较,如果所述差值比所述预定阈值小,则肤色图像的相应像素的值取0,并且如果所述差值比所述预定阈值大,则肤色图像的相应像素的值取所述差值。
6.根据权利要求1所述的基于视觉的手势遥控***,其中,所述手势识别部件根据所述手检测部件和所述手跟踪部件在每帧图像所检测或跟踪到的对象的手的位置、从每帧图像的手的位置计算得到的相邻两帧图像之间的手位置取向以及从相邻两个手位置取向计算得到的相邻两帧图像的位移方向来确定对象的手的运动并将所确定的对象的手的运动与预先定义的手势-手运动轨迹映射表进行对比来识别对象的手势。
7.一种基于视觉的手势遥控方法,包括:
捕获对象的一系列图像;
从所捕获的一系列图像识别对象的手势;
根据识别结果来触发预定操作命令,
其中,识别对象的手势包括:
从所捕获的图像检测对象的手;
在当在一图像中检测到对象的手时,在接下来的图像中跟踪对象的手;并且
根据检测到的对象的手和跟踪到的对象的手来确定对象的手的运动并根据所确定的对象的手的运动来识别对象的手势,
所述手势遥控方法还包括:
利用在前一图像中检测或跟踪到的手的范围以及当前图像的肤色图像与前一图像的肤色图像之间的差分图像,来初始定义当前图像的肤色图像中的用于跟踪手的搜索范围;
执行模板匹配法以确定作为跟踪到的当前图像的手的范围,
其中,所述模板匹配法包括:
在搜索范围中定义多个第一候选手范围,该些第一候选手范围具有与目标模板的大小相同的大小,并且,在差分图像中定义第二候选手范围,该候选手范围具有与目标模板的大小相同的大小,其中,所述目标模板为在前一图像中检测或跟踪到的手的范围;
针对所述多个第一候选手范围循环执行如下步骤直到这多个第一候选手范围都经过如下匹配判断处理为止,从而确定出与目标模板最匹配的候选手范围作为在当前图像的肤色图像中跟踪到的手的范围:
计算一个第一候选手范围与目标模板的各像素的绝对差的平均值作为第一误差;
如果该第一误差大于第一预定阈值,则表示该个候选手范围不与目标模板匹配,从而被排除;
如果该第一误差小于第一预定阈值,则计算第二误差,第二误差是通过将第一误差减去第二候选手范围的各像素的值的平均值所获得的值乘以预定的调节系数而得到的值;
如果该第二误差小于第二预定阈值,则确定匹配,即该个第一候选手范围被确定为在当前图像的肤色范围中跟踪到的手的范围,并且第二误差的值作为第二阈值以便对下一个第一候选手范围进行匹配判断。
8.根据权利要求7所述的基于视觉的手势遥控方法,其中,肤色图像是通过如下步骤而得到的:
将所捕获的图像的每个像素的RGB分量的R分量的值减去G分量与B分量的均值,以得到一差值;
将所述差值与预定阈值比较,如果所述差值比所述预定阈值小,则肤色图像的相应像素的值取0,并且如果所述差值比所述预定阈值大,则肤色图像的相应像素的值取所述差值。
9.一种用于在图像序列中跟踪目标的方法,包括:
利用在前一图像中检测或跟踪到的目标的范围以及当前图像的肤色图像与前一图像的肤色图像之间的差分图像,来初始定义当前图像的肤色图像中的用于跟踪目标的搜索范围;
执行模板匹配法以确定作为跟踪到的当前图像的目标的范围,其中,所述模板匹配法包括:
在所述搜索范围中定义多个第一候选目标范围,该些第一候选目标范围具有与目标模板的大小相同的大小,并且,在所述差分图像中定义第二候选目标范围,该候选目标范围具有与目标模板的大小相同的大小,其中,所述目标模板为在前一图像中检测或跟踪到的目标的范围;
针对所述多个第一候选目标范围循环执行如下步骤直到这多个第一候选目标范围都经过如下匹配判断处理为止,从而确定出与目标模板最匹配的候选目标范围作为在当前图像的肤色图像中跟踪到的目标的范围:
计算一个第一候选目标范围与目标模板的各像素的绝对差的平均值作为第一误差;
如果该第一误差大于第一预定阈值,则表示该个候选目标范围不与目标模板匹配,从而被排除;
如果该第一误差小于第一预定阈值,则计算第二误差,第二误差是通过将第一误差减去第二候选目标范围的各像素的值的平均值所获得的值乘以预定的调节系数而得到的值;
如果该第二误差小于第二预定阈值,则确定匹配,即该个第一候选目标范围被确定为在当前图像的肤色范围中跟踪到的目标的范围,并且第二误差的值作为第二阈值以便对下一个第一候选目标范围进行匹配判断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210121832.XA CN103376890B (zh) | 2012-04-16 | 2012-04-16 | 基于视觉的手势遥控*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210121832.XA CN103376890B (zh) | 2012-04-16 | 2012-04-16 | 基于视觉的手势遥控*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103376890A CN103376890A (zh) | 2013-10-30 |
CN103376890B true CN103376890B (zh) | 2016-08-31 |
Family
ID=49462114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210121832.XA Active CN103376890B (zh) | 2012-04-16 | 2012-04-16 | 基于视觉的手势遥控*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103376890B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101534742B1 (ko) * | 2013-12-10 | 2015-07-07 | 현대자동차 주식회사 | 차량용 제스처 인식 시스템 및 그 방법 |
CN104050454B (zh) * | 2014-06-24 | 2017-12-19 | 深圳先进技术研究院 | 一种运动手势轨迹获取方法及*** |
CN104318218A (zh) * | 2014-10-29 | 2015-01-28 | 百度在线网络技术(北京)有限公司 | 图像识别方法和装置 |
CN105807783A (zh) * | 2014-12-30 | 2016-07-27 | 览意科技(上海)有限公司 | 飞行相机 |
CN106325485B (zh) * | 2015-06-30 | 2019-09-10 | 芋头科技(杭州)有限公司 | 一种手势检测识别方法及*** |
CN106491071A (zh) * | 2015-09-06 | 2017-03-15 | 中兴通讯股份有限公司 | 一种检测视力的方法和终端 |
CN105223957B (zh) | 2015-09-24 | 2018-10-02 | 北京零零无限科技有限公司 | 一种手势操控无人机的方法和装置 |
CN105242614A (zh) * | 2015-11-17 | 2016-01-13 | 广州新科佳都科技有限公司 | 屏蔽门安全防护控制方法及*** |
CN106934333B (zh) * | 2015-12-31 | 2021-07-20 | 芋头科技(杭州)有限公司 | 一种手势识别方法及*** |
CN105657260A (zh) * | 2015-12-31 | 2016-06-08 | 宇龙计算机通信科技(深圳)有限公司 | 一种拍摄方法及终端 |
CN105677039B (zh) * | 2016-02-16 | 2020-06-09 | 北京博研智通科技有限公司 | 一种基于手势检测驾驶状态的方法、装置及可穿戴设备 |
CN106022211B (zh) * | 2016-05-04 | 2019-06-28 | 北京航空航天大学 | 一种利用手势控制多媒体设备的方法 |
CN106020448B (zh) * | 2016-05-06 | 2019-03-29 | 深圳市国华识别科技开发有限公司 | 基于智能终端的人机交互方法和*** |
CN106094861B (zh) * | 2016-06-02 | 2024-01-12 | 零度智控(北京)智能科技有限公司 | 无人机、无人机控制方法及装置 |
CN106041912B (zh) * | 2016-06-16 | 2018-06-22 | 深圳先进技术研究院 | 主从式蛇形机器人***及其位置控制方法 |
CN106920251A (zh) * | 2016-06-23 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 人手检测跟踪方法及装置 |
CN106295531A (zh) * | 2016-08-01 | 2017-01-04 | 乐视控股(北京)有限公司 | 一种手势识别方法和装置以及虚拟现实终端 |
CN108062773B (zh) * | 2016-11-07 | 2021-05-28 | 深圳光启合众科技有限公司 | 图像处理方法和装置、机器人 |
CN106951871B (zh) * | 2017-03-24 | 2020-07-28 | 北京地平线机器人技术研发有限公司 | 操作体的运动轨迹识别方法、装置和电子设备 |
CN109558000B (zh) * | 2017-09-26 | 2021-01-22 | 京东方科技集团股份有限公司 | 一种人机交互方法及电子设备 |
CN110276292B (zh) * | 2019-06-19 | 2021-09-10 | 上海商汤智能科技有限公司 | 智能车运动控制方法及装置、设备和存储介质 |
CN110458095B (zh) * | 2019-08-09 | 2022-11-18 | 厦门瑞为信息技术有限公司 | 一种有效手势的识别方法、控制方法、装置和电子设备 |
CN110716648B (zh) * | 2019-10-22 | 2021-08-24 | 上海商汤智能科技有限公司 | 手势控制方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853071A (zh) * | 2010-05-13 | 2010-10-06 | 重庆大学 | 基于视觉的手势识别方法及*** |
CN102200830A (zh) * | 2010-03-25 | 2011-09-28 | 夏普株式会社 | 基于静态手势识别的非接触控制***和控制方法 |
CN102339125A (zh) * | 2010-07-23 | 2012-02-01 | 夏普株式会社 | 信息设备及其控制方法和*** |
-
2012
- 2012-04-16 CN CN201210121832.XA patent/CN103376890B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200830A (zh) * | 2010-03-25 | 2011-09-28 | 夏普株式会社 | 基于静态手势识别的非接触控制***和控制方法 |
CN101853071A (zh) * | 2010-05-13 | 2010-10-06 | 重庆大学 | 基于视觉的手势识别方法及*** |
CN102339125A (zh) * | 2010-07-23 | 2012-02-01 | 夏普株式会社 | 信息设备及其控制方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN103376890A (zh) | 2013-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103376890B (zh) | 基于视觉的手势遥控*** | |
Ji et al. | Advances in view-invariant human motion analysis: A review | |
Choi et al. | A general framework for tracking multiple people from a moving camera | |
Raheja et al. | Real-time robotic hand control using hand gestures | |
Ibraheem et al. | Survey on various gesture recognition technologies and techniques | |
Angah et al. | Tracking multiple construction workers through deep learning and the gradient based method with re-matching based on multi-object tracking accuracy | |
CN108292362A (zh) | 用于光标控制的手势识别 | |
CN107357427A (zh) | 一种用于虚拟现实设备的手势识别控制方法 | |
Andrianakos et al. | An approach for monitoring the execution of human based assembly operations using machine learning | |
CN104850219A (zh) | 估计附着物体的人体姿势的设备和方法 | |
US20160334877A1 (en) | Real-time 3d gesture recognition and tracking system for mobile devices | |
JP5598751B2 (ja) | 動作認識装置 | |
CN103135753A (zh) | 手势输入的方法及*** | |
CN104063677A (zh) | 用于估计人体姿态的设备和方法 | |
CN102411705B (zh) | 识别用户的动态器官姿态的方法和接口以及电子利用装置 | |
CN105589553A (zh) | 一种智能设备的手势控制方法和*** | |
JP6487642B2 (ja) | 手指形状の検出方法、そのプログラム、そのプログラムの記憶媒体、及び、手指の形状を検出するシステム。 | |
Chen et al. | Vision-based skeleton motion phase to evaluate working behavior: case study of ladder climbing safety | |
Viraktamath et al. | Comparison of YOLOv3 and SSD algorithms | |
CN111767932B (zh) | 动作判定方法及装置、计算机设备及计算机可读存储介质 | |
Gritai et al. | Matching trajectories of anatomical landmarks under viewpoint, anthropometric and temporal transforms | |
CN102136139B (zh) | 目标姿态分析装置及其目标姿态分析方法 | |
Jain et al. | Gestarlite: An on-device pointing finger based gestural interface for smartphones and video see-through head-mounts | |
Zhang et al. | Robot-person tracking in uniform appearance scenarios: A new dataset and challenges | |
KR102227494B1 (ko) | 오브젝트의 움직임을 이용하여 사용자 입력을 처리하는 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |