发明内容
本发明所要解决的技术问题在于:利用传统鼠标进行操控时不能实现悬空操作且受电线长度限制而操作不便,而现有的空中鼠标操作识别不稳定,操作舒适性差的问题。
本发明解决其技术问题所提供的技术方案是:通过在操作者手掌上设置标识物,利用计算机视觉技术跟踪标识物尺寸值的变化以及采样距离的变化,当满足相应的阈值条件后,则执行相应的手势指令,由此实现一种隔空的手势操作方法。
本发明提供一种人机交互的手势操控方法,包括:
步骤S11,操控前预先对设置于操作者掌心的第一标识物进行数据预采集,定义出操作者握拳遮挡时第一标识物在各采样距离处的尺寸阈值;
步骤S12,实时获取所述第一标识物的尺寸值以及采样距离,当监测到所述第一标识物的尺寸值小于等于对应采样距离处的所述尺寸阈值时执行S13;
步骤S13,在一第一预设时长内持续实时监测所述第一标识物的尺寸值以及采样距离,判断监测到的所述第一标识物的尺寸值是否保持小于等于对应采样距离处的所述尺寸阈值,若是,再在所述第一预设时长结束时判断采样距离在整个第一预设时长的变化值是否存在大于等于一距离变化阈值,若是,执行第一类手势操控,否则,返回步骤S13的开始。
进一步,步骤S13还包括在所述第一预设时长内,除判断出所述采样距离的变化值大于等于所述距离变化阈值外,还判断所述第一标识物在所述第一预设时长结束时相对所述第一预设时长起始时所形成的整体位移方向与采样距离所在的方向形成的角度是否小于一角度阈值,若是,执行第一类手势操控,否则,返回步骤S13的开始。
进一步,所述第一类手势操控包括如下步骤:实时监测所述第一标识物的尺寸值以及采样距离,判断所述第一标识物的尺寸值是否大于对应采样距离处的所述尺寸阈值,若是,终止第一类手势操控,否则,若采样距离呈持续增大趋势,则执行第一手势指令,若采样距离呈持续缩小趋势,则执行第二手势指令。
进一步,所述手势操控方法还包括如下步骤:
步骤S21,在步骤S11之后还预先在采样距离处对操作者掌侧设置的第二标识物以及操作者掌背设置的第三标识物分别进行数据预采集;
步骤S22,持续监测操作者手掌上的标识物以及采样距离,若监测到的标识物为所述第一标识物,且所述第一标识物的尺寸值大于对应采样距离处的所述尺寸阈值,则在一第二预设时长内,继续判断各标识物的出现次序是否依次为第一标识物、第二标识物、第三标识物、第二标识物以及第一标识物,若是,执行与第二类手势操控相对应的手势指令,并在一次执行完毕后终止。
进一步,操作者手掌上的各标识物呈长条状,测得的各标识物的尺寸值为标识物的长度值,其中第三标识物的长度值最大,第二标识物的长度值最小,第一标识物的长度值是介于第二标识物的长度值与第三标识物的长度值之间的中等长度值,步骤S22中在所述第二预设时长内,若监测到的标识物由中等长度值逐步变化至最短,然后再逐步变化至最长,接着又逐步变化为最短,最后再逐步变化为中等长度值,则判断标识物的出现次序依次为第一标识物、第二标识物、第三标识物、第二标识物以及第一标识物。
本发明还提供一种人机交互的手势操控系统,包括:预定义模块、第一处理模块、第二处理模块以及第一执行模块;
所述预定义模块操控前预先对设置于操作者掌心的第一标识物进行数据预采集,定出操作者握拳遮挡时第一标识物在各采样距离处的尺寸阈值;
所述第一处理模块实时获取所述第一标识物的尺寸值以及对应的采样距离,当监测到所述第一标识物的尺寸值小于等于对应采样距离处的所述尺寸阈值时,向所述第二处理模块发出一启动指令;
所述第二处理模块收到启动指令后,在一第一预设时长内持续实时监测所述第一标识物的尺寸值以及采样距离,判断监测到的所述第一标识物的尺寸值是否保持小于等于对应采样距离处的所述尺寸阈值,若是,再在所述第一预设时长结束时判断采样距离在整个第一预设时长的变化值是否存在大于等于一距离变化阈值,若是,向所述第一执行模块发出一启动指令,否则,定出新的所述第一预设时长并重新判断。
所述第一执行模块收到启动指令后执行第一类手势操控。
进一步,所述第二处理模块在所述第一预设时长内,除判断出所述采样距离的变化值大于等于所述距离变化阈值外,还判断所述第一标识物在所述第一预设时长结束时相对所述第一预设时长起始时所形成的整体位移方向与所述采样距离所在的方向形成的角度是否小于一角度阈值,若是,向所述第一执行模块发出一启动指令,否则,定出新的所述第一预设时长并重新判断。
进一步,所述第二处理模块在监测到所述第一标识物的尺寸值大于对应采样距离处的所述尺寸阈值情况下,向所述第一执行模块发出终止指令,所述第一执行模块收到终止指令后终止执行第一类手势操控:在所述第一标识物的尺寸值保持小于等于对应采样距离处的所述尺寸阈值情况下,若采样距离呈持续增大趋势,则执行第一手势指令,若采样距离呈持续缩小趋势,则执行第二手势指令。
进一步,所述手势操控系统还包括第三处理模块和第二执行模块;
所述预定义模块还预先在对应采样距离处对操作者掌侧设置的第二标识物以及操作者掌背设置的第三标识物分别进行数据预采集;
所述第一处理模块还持续监测操作者手掌上的标识物以及采样距离,若监测到的标识物为所述第一标识物,且所述第一标识物的尺寸值大于对应采样距离处的所述尺寸阈值,则向所述第三处理模块发出一启动指令;
所述第三处理模块收到启动指令后,在一第二预设时长内,判断各标识物的出现次序是否依次为第一标识物、第二标识物、第三标识物、第二标识物以及第一标识物,若是,向所述第二执行模块发出一启动指令;
所述第二执行模块收到启动指令后执行第二类手势操控,并在一次执行完毕后终止。
进一步,操作者手掌上的各标识物呈长条状,所述第三处理模块对操作者手掌上的长条状标识物进行监测,且测得的各标识物的尺寸值为标识物的长度值,其中第三标识物的长度值最大,第二标识物的长度值最小,第一标识物的长度值是介于第二标识物的长度值与第三标识物的长度值之间的中等长度值,在所述第二预设时长内,若所述第三处理模块监测到的标识物由中等长度值逐步变化至最短,然后再逐步变化至最长,接着又逐步变化为最短,最后再逐步变化为中等长度值,则判断各标识物的出现次序依次为第一标识物、第二标识物、第三标识物、第二标识物以及第一标识物。
通过实施本发明的人机交互的手势操控方法及系统,让操作者摆脱传统鼠标受电线长度的束缚,在三维空间做出简单的手势动作,便可对电视/电脑等显示屏上的操控对象进行隔空操控,且该隔空操控识别稳定,操作舒适性也很好。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明做进一步详细说明。应当理解,本部分所描述内容仅用以解释本发明,但并不限定本发明的主旨。
为配合本发明的描述,在接下来的实施例中将用到深圳泰山在线科技有限公司自主设计并获得专利的掌带(中国专利号ZL201230058187.2)以辅助表述,但也并不排除其他类似的设备。请参见图1a~1d,该掌带1的主体部分(黑影标识)外表面设置有反光材料(例如红外反光材料),呈长条状。主体部分1按其佩戴在操作者手掌的部位分为掌背部、掌心部和掌侧部。对应地,本发明将掌心部位置的反光材料定义为第一标识物12,掌侧部位置的反光材料定义为第二标识物13,掌背部位置的反光材料定义为第三标识物11,长度上有第三标识物的长度LC>第一标识物长度LA>第二标识物的长度LB。长度值设置的不同有利于对操作者不同的手势进行识别,这将在后文详述到。
本发明人机交互的手势操控方法可显现第一类手势操控(该第一类手势操控可为放大/缩小操作,但不应仅限于此两个操作),以及第二类手势操控(该第二类手势操控可为返回/关闭操作,但不应仅限于此操作)。具体手势操控方法如图3所示。接下来首先以第一类手势操作为例进行说明。
本发明提供的人机交互的手势操控方法,包括:
步骤S11,操控前预先对设置于操作者掌心的第一标识物进行数据预采集,定出操作者握拳遮挡时第一标识物在各采样距离处的尺寸阈值。
本发明对应的手势操控系统则包括预定义模块。预定义模块用于对操作者实施操作前的手掌标识物以及采样距离进行数据采集,并进行必要的预处理。
具体地,该手势操作系统可以采用双目视觉原理搭建的红外定位装置。红外双目定位装置(以下简称“定位装置”)设置有两个间隔且光轴平行的采集图像的摄像头,并在两个摄像头的采集范围之内识别标识物。而该定位装置在三维空间的标定上遵循如图2所示坐标系:以中间摄像头的拍摄中心为原点,以竖直向上方向为Y轴正向,指向操作者的方向为Z轴正向,而垂直于面YZ的方向为X轴方向,且相对于操作者的右侧为X轴正向。据此,第一标识物相对定位装置的三维坐标可用(X,Y,Z)表示,于是可得到第一标识物与定位装置之间的空间距离为sqrt(x*x+y*y+z*z)。另外,本发明将定位装置与操作者手掌的垂直距离定义为采样距离,同时用坐标Z表示,Z变大的方向为采样距离增大的方向,Z变小的方向为采样距离减小的方向。进一步地,Z的变化值是ΔZ,ΔZ表示了操作者手掌的运动方向,即ΔZ增大,表明手掌逐渐远离该定位装置,ΔZ减小,表明掌带逐渐靠近该定位装置。
该预定义过程具体为:在欲对操作对象(如电视/电脑上的网页窗口等)实施操作时,操作者需正对定位装置并保持手掌张开,便于掌心的第一标识物的尺寸值能被定位装置顺利采集到。例如以长度值表示尺寸值,定位装置首先在采样距离Z=2000mm处采集第一标识物获得其被采集到的长度值为L′,由于采样距离与定位装置所采集到的第一标识物的长度值成反比,于是手势操控系统可通过算法在理论上获取各采样距离所采集到的第一标识物的长度值L(Zn)=L′*(2000/Zn),Zn为任意的采样距离值。进一步地,手势操作系统还对各长度值L(Zn)做灵敏度α系数的处理,是为降低操作者的掌心在实际操作中可能会有一些偏,非完全正对定位装置时所造成的误触动几率,即利用L(Zn)*α得到对应于各采样距离的尺寸阈值W(Zn)(用长度表示尺寸,则对应称之为长度阈值),α值优选70%。可理解的是,W(Zn)与L(Zn)一样是随采样距离Zn线性变化的。尺寸阈值W(Zn)将用于第一类手势操控的第一判断阶段。
步骤S12,实时获取操作者握拳遮挡时所述第一标识物的尺寸值以及采样距离,当监测到所述第一标识物的尺寸值小于等于对应采样距离处的所述尺寸阈值时执行下一步的步骤S13。
此步骤是第一类手势操控的第一判断阶段。手势操控系统还包括第一处理模块和第二处理模块。操作者需要将手掌逐渐弯曲成握拳状以部分遮挡第一标识物,以形成长度值的变化。并在Z方向上移动。首先,第一处理模块判断第一标识物被采集的尺寸值是否小于等于对应采样距离处的尺寸阈值,若是,第一处理模块即向第二处理模块发出启动指令,命令其进入第二判断阶段。第一判断阶段遵从:尽管采样距离随第一标识物的移动而不同,但只需将该采样距离处的第一标识物被采集到的长度值与该采样距离的长度阈值进行比较即可,条件满足后,第一处理模块即在该采样距离处开始对做判断。例如,若操作者的手掌移动到了采样距离Zn=Z3,则需监测Z3处的第一标识物的长度值LA(Z3)是否小于等于Z3处的长度阈值W(Z3),如果是,第一处理模块即向第二处理模块发出启动指令,命令其进入下一步骤。
步骤S13,在一第一预设时长内持续实时监测所述第一标识物的尺寸值以及采样距离,判断监测到的所述第一标识物的尺寸值是否保持小于等于对应采样距离处的所述尺寸阈值,若是,再在所述第一预设时长结束时判断所述采样距离在整个第一预设时长的变化值是否存在大于等于一距离变化阈值,若是,执行第一类手势操控,否则,返回步骤S13的开始。
在第二处理模块收到启动指令后,进入第一类手势操控的第二判断阶段。首先第二处理模块预设出第一预设时长T1。以T1为1秒时长为例,且假定在该1秒时长内定位装置可采集30帧,则定义1秒时长结束时的采集帧为判断始点A,按时间倒推至第30个采集帧为判断末点B。从B到A的过程中,第一标识物的运动数据需满足条件:第一标识物发生的采样距离变化值ΔZ达到距离变化阈值,如120mm;若在该判断过程中,不满足该判断条件,第二处理模块则自该不满足条件的采集帧的下一帧重新预设出1秒时长的第一预设时长T1,直到判断条件满足为止。在替代实施例中,第二处理装置除判断出ΔZ大于等于距离变化阈值外,还需进一步判断第一标识物在判断始点A时相对判断末点B所形成的整体位移方向与Z轴方向所形成的角度是否大于一角度阈值,如30°,若是,则满足判断条件;若只要其中一个条件不满足,则第二处理模块则自不满足条件的该采集帧的下一帧重新预设出1秒时长的第一预设时长T1,直到满足条件为止。
进一步地,手势操控系统还包括第一执行模块。当第二处理模块判断出满足条件后,向第一执行模块发出启动指令,以开启第一类手势操控环境。注意的是,此时第一标识物被采集到的尺寸值仍需保证不大于对应采样距离处的尺寸阈值。在这期间,操作者所进行的第一类手势操控,可分为第一手势指令和第二手势指令,一种示例的效果可为:当第一标识物远离定位装置,即采样距离呈持续增大趋势,则执行对操作对象的放大;当第一标识物靠近定位装置,即采样距离呈持续缩小趋势,则执行对操作对象的缩小,反之亦然。具体还可参照图4,在图中所示的X0*Y0的显示屏中,有网页窗口III。当采样距离逐步变大时,网页窗口III被拉伸成网页窗口II,实现“放大”功能;当采样距离逐步变小时,网页窗口III被收缩成网页窗口I,实现“缩小”功能。该“放大”或“缩小”模拟触摸屏,通过在屏幕区域虚拟出两个以点O为镜像对称的第一控制点C1(x0*1/4,y0-20)和第二控制点C2(x0*3/4,y0-20)。第一控制点C1和第二控制点C2的移动有条件限制:以第一类手势操控启动开始的第一标识物所在采样距离处定义为点S,并以该点S在Z轴方向上划出一有效控制区,在Z轴上以点R1和R2为界点,有效控制区决定第一标识物控制网页窗口III的范围。也就是说,第一标识物12由点S向点R1之间的移动控制着第一控制点C1向显示屏左边缘移动,以及第二控制点C2向显示右边缘移动,反过来亦可;第一标识物12由点S向点R2之间的移动控制着第一控制点C1向对称点O移动,以及第二控制点C2向对称点O移动,反过来亦可。优选为,第一标识物在Z轴上每移动10mm,第一控制点C1和第二控制点C2就各自移动x0/4/30个像素。
若在执行第一类手势操控时,第一处理模块监测到第一标识物被采集到的尺寸值大于了对应采样距离处的尺寸阈值,第一处理模块则向第一执行模块发出终止指令,第一执行模块接收终止指令并终止第一类手势操控。
在替代实施例中,针对某些特殊的操控环境,如“切西瓜游戏”,操作者在操控过程中难免会误触发第一类手势操控,此时操作者会通过手掌张开来消除,但次数过多,就显得很繁琐,也影响了游戏的流畅性。由此,第二处理模块判断的条件还可设定为:在第一预设时长T1内,采样距离变化阈值进一步优选限定在100mm以下,且第一标识物在第一预设时长T1结束时的判断末点B相对第一预设时长T1起始时的判断始点A所形成的整体位移方向与Z轴所在的方向形成的角度需小于可优选为30°的角度阈值。若此条件满足后,则由第二处理模块向第一执行模块发送终止指令,同样可终止第一类手势操控,操作者由此可不必再通过张开手掌来实现,仅需操作者突然向XY平面的快速移动即可,保证了操作者在游戏时的流畅性。
除上述的第一类手势操控外,本发明的手势操控系统还通过翻手手势实现第二类手势操控。请参考图5,与第一类手势操控不同的是,在该类手势操控过程中,除第一标识物外,还利用到第二标识物以及第三标识物。手势操控系统还包括第三处理模块和第二执行模块。在识别翻手手势时,同样分为两个判断阶段。第一判断阶段需判断第一标识物被采集到的尺寸值大于对应采样距离处的尺寸阈值,由第一处理模块完成,满足该判断条件后该第一处理模块向该第三处理模块发出一启动指令,进入第二判断阶段。第二判断阶段则由第三处理模块在预设出的第二预设时长内判断出第一标识物、第二标识物与第三标识物的出现次序。在两个判断阶段均满足后,第三处理模块向该第二执行模块发出启动指令,操作者才能进入第二类手势操控的环境。具体步骤如下:
步骤S21,在步骤S11之后还预先在采样距离处对操作者掌侧设置的第二标识物以及操作者掌背设置的第三标识物分别进行数据预采集。
预定义模块在前述步骤S21中对第一标识物采集后,还在同一采样距离处对第二标识物和第三标识物采集,并分别获取各自被采集到的尺寸值。该实施例中掌带对应于手掌各部位的标识物呈长条状,故而以长度值代表其尺寸值。掌带的第三标识物的长度值LC最大,第二标识物的长度值LB最小,第一标识物的长度值LA则为介于第三标识物的长度值LC与第二标识物的长度值LB之间的中等长度值。被定位装置采集后,各标识物在同一采样距离被采集到的长度值也有前述的大小关系。就翻手手势而言,一般不会有采样距离的明显改变,所以该类手势的识别仅需在某一采样距离处监测第一标识物、第二标识物和第三标识物的出现次序即可。
以在采样距离Zn=Z4为例,预定义模块对第一标识物、第二标识物和第三标识物采集后,根据采样距离与定位装置采集到的标识物的长度值成反比,手势操控系统通过算法可理论上获取各采样距离处的第一标识物、第二标识物和第三标识物被采集到的长度值。
步骤S22,持续监测操作者手掌上的标识物以及采样距离,若监测到的标识物为所述第一标识物,且所述第一标识物的尺寸值大于对应采样距离处的所述尺寸阈值,则在一第二预设时长内,继续判断各标识物的出现次序是否依次为第一标识物、第二标识物、第三标识物、第二标识物以及第一标识物,若是,执行与第二类手势操控相对应的手势指令,并在一次执行完毕后终止。
一般而言,人在翻手时,手掌呈张开状,非握拳状。因此要求在该类手势操控的第一判断阶段中,第一处理模块用于监测第一标识物被采集到的尺寸值是否大于对应采样距离处的尺寸阈值,若是,则进入第二判断阶段,由第一处理模块即向第三处理模块发送启动指令。
在第二判断阶段中定义出第二预设时长。第二预设时长用于限定在该时段内要求操作者完成第二类手势操控应满足的条件。该判断条件是:若以掌心作为采集到的第一部位,则在此之后必须依次出现掌侧、掌背、掌侧和掌心,则视为一次翻手过程,如图6所示。该过程的判断表现在三个标识物的长度值连续变化,如下:
第三处理模块在收到启动指令后,在预设的第二预设时长T2内,在采样距离Z4处,若监测到的标识物长度值由中等长度值逐步变化至最短,然后再逐步变化至最长,接着又逐步变化为最短,最后再逐步变化为中等长度值,则表示依次出现掌心、掌侧、掌背、掌侧以及掌心,为一个完整的翻手过程。各标识物被采集到的长度值在该第二预设时长T2内构成一序列,如图7所示的在2秒时长的第二预设时长T2中,定位装置连续捕捉60帧标识物长度值。
在该第二预设时长T2内,以2秒结束时的那一采集帧为判断始点A′,并按时间倒推至第60个采集帧为判断末点B′。从B′到A′的过程中,需保证掌心(第一标识物)出现两次,掌侧(第二标识物)出现两次,掌背(第三标识物)出现一次。对此,以下结合图7详述该判断过程。
首先,第三处理模块在上述60个长度值构成的序列中寻找不小于预置的掌背识别阈值St1的长度值,其中St1取值为第一标识物在采样距离Z4处被采集到的长度值LA(Z4)的1.1倍,如图中的最大值点M1,其代表掌背出现一次,手势操控系统则记录下第一个成功点Q1。
然后,第三处理模块经过两个进程分别寻找不大于预置的掌侧识别值St2的长度值,其中St2取值为第一标识物在采样距离Z4处被采集到的长度值LA(Z4)的0.8倍,如图中的第一极小值M2和第二极小值M3,该两点代表掌侧出现两次。该过程包括两个进程。第一进程:以最大值点M1所在采集帧为时间基点,按时间轴的负向寻找第一极小值点M2,手势操控系统则记录下第二成功点Q2;以最大值M1所在采集帧为时间基点,按时间轴的正向寻找第二极小值点M3,手势操控系统则第三成功点Q3。
接着,第三处理模块再经过两个进程分别寻找不小于预置的掌心识别值St3的长度值,其中St3取值为第一标识物在采样距离Z4处被采集到的长度值LA(Z4)的0.6倍,如图中的第一极大值M4和第二极大值M5,该两者代表掌心出现两次。该过程包含两个进程。第一进程:以寻第一极小值M2所在采集帧为时间基点,按时间轴的负向寻找第一极大值M4,手势操控系统则记录下第四成功点Q4;以寻第一极小值M2所在采集帧为时间基点,按时间轴的正向寻找第二极大值M5,手势操控系统则记录下第五成功点Q5。
当五个判断成功点Q1、Q2、Q3、Q4和Q5被记录后,第三处理模块向第二执行模块发出启动指令。随之,操作者进入到第二类手势操控的环境。
在替代实施例中,手势操控系统还包括第四处理模块,存储之前成功记录的五个点,并向第三处理模块发送禁止指令,禁止第三处理模块在下一个翻手手势识别时,重复使用之前的五个成功点数据做判断。按此规律来讲,也就是在对下一个翻手手势做判断时,不会依赖上一次的判断成功点,只有在重新定出的第二预设时长开始重新寻找判断成功点,以此减少误操作。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。