手势识别方法以及手势识别模块与流程

文档序号:16527617发布日期:2019-01-05 10:28阅读:564来源:国知局
手势识别方法以及手势识别模块与流程

本发明涉及一种手势识别方法以及手势识别模块,尤其涉及一种可防止不同手势之间的误触发或误判断的手势识别方法以及手势识别模块。



背景技术:

手势辨识的操作方便性,使得手势辨识技术受到业界的重视。目前能够辨识手势的镜头有远距离镜头与近距离镜头两种,远距离镜头可设置于使用者前方而与使用者面对面,如设置于电视或游戏机,而近距离镜头可设置于使用者身上的穿戴装置。两种距离的镜头虽然都可以辨识手势,但距离与位置不同,能取得的手势信息与使用习惯当然不同,导致这两种距离会有不同的手势。

随着虚拟实境(virtualreality,vr)装置的开发,近距离镜头可装设于vr装置上。以装设于vr装置上的近距离镜头来说,由于镜头通常会与使用者一同移动,导致不易判断手掌的移动信息,而不易判断使用者的动态手势。另外,当使用者的手势为动态时,时常造成已知手势辨识技术有误触或误判断的情况。

因此,已知技术实有改善的必要。



技术实现要素:

因此,本发明的主要目的即在于提供一种可防止不同手势之间的误触发或误判断的手势识别方法以及手势识别模块,以改善已知技术的缺点。

本发明公开一种手势识别方法,应用于一手势识别模块,用来判断一使用者的一手势,其中该手势识别装置包含一感光单元,该感光单元产生多个图像画面,该手势识别方法包含有判断该多个图像画面中一物件于该多个图像画面中停留的时间是否大于一特定时间;当该物件于该多个图像画面中停留的时间大于该特定时间时,判断对应于该物件的一手指个数,以产生一手指个数判断结果,以及判断该物件是否远离该感光单元,以产生一物件远离判断结果;以及根据该手指个数判断结果以及该物件远离判断结果,判断该使用者的该手势。

本发明公开一种手势识别模块,包含有一发光单元,用来发射一入射光;一感光单元,用来接收对应于该入射光的一反射光,并根据该反射光,产生多个图像画面(frame);一判断单元,耦接于该感光单元,用来判断该多个图像画面中一物件于该多个图像画面中停留的时间是否大于一特定时间;当该物件于该多个图像画面中停留的时间大于该特定时间时,判断对应于该物件的一手指个数,以产生一手指个数判断结果,以及判断该物件是否远离该感光单元,以产生一物件远离判断结果;以及根据该手指个数判断结果以及该物件远离判断结果,判断该使用者的该手势。

附图说明

图1为本发明实施例一手势识别模块的功能方块示意图。

图2为图1的10设置于一电子装置的外观示意图。

图3为本发明实施例一手势识别流程的示意图。

图4为本发明实施例一二值化图像的示意图。

图5为本发明实施例轮廓像素值与旋转角度的对应关系图。

图6为本发明实施例一手指个数判断流程的示意图。

图7为本发明实施例一二值化图像的示意图。

图8为本发明实施例一侧边上下晃动动作的示意图。

图9为本发明实施例一二值化图像的示意图。

图10为本发明实施例二值化图像的示意图。

【符号说明】

10手势识别模块

12电子装置

14发光单元

16感光单元

18判断单元

30、60流程

300~350、602~612步骤

a、b点

bax基准轴

bx外框

bx_cnt外框中心

fop最远物件像素

vcl中央垂直切割线

旋转角度

具体实施方式

请参考图1及图2,图1为本发明实施例一手势识别模块10的功能方块示意图,图2为本发明实施例手势识别模块10设置于一电子装置12的外观示意图。手势识别模块10耦接于电子装置12,电子装置12可为一虚拟实境(virtualreality,vr)装置,手势识别模块10可设置于电子装置12前方,当使用者穿戴电子装置12时,手势识别模块10可辨识使用者的手势,而电子装置12可针对手势识别模块10所辨识的使用者手势,进行相关运算或操作。

详细来说,手势识别模块10包含一发光单元14、一感光单元16以及一判断单元18,发光单元14用来发射一入射光,其可为一不可见光发光元件,如一红外线发光二极管(lightemittingdiode,led)。感光单元16用来接收对应于发光单元14的入射光的一反射光,其可包含一镜头以及不可见光感光元件(如红外线感光二极管(photodiode))。换句话说,感光单元16可根据对应于发光单元14的入射光的反射光,产生多个图像画面(frame)fr。判断单元18耦接于感光单元16以接收多个图像画面fr,并根据多个图像画面fr,判断使用者的手势。当判断单元18完成使用者手势的辨识后,判断单元18可产生手势辨识结果至电子装置12,电子装置12可针对手势识别模块10所辨识的使用者手势,进行相关运算或操作。

关于判断单元18根据多个图像画面fr判断使用者手势的操作,请参考图3,图3为本发明实施例一手势识别流程30的示意图。手势识别流程30由判断单元18来执行,其包含以下步骤:

步骤300:接收一图像画面fri。

步骤301:判断一延迟标志dlf是否为1?若是,执行步骤350;若否,执行步骤302。

步骤302:判断图像画面fri中是否具有一物件obj?若是,执行步骤304;若否,执行步骤350。

步骤304:取得对应于图像画面fri的一二值化图像bfri、物件obj于二值化图像bfri的一外框bx以及外框bx的一外框中心bx_cnt。

步骤306:判断物件obj于多个图像画面fr中停留的时间是否大于一特定时间?若是,执行步骤307;若否,执行步骤350。

步骤307:判断对应于物件obj的一手指个数fgr_no。

步骤308:判断手指个数fgr_no是否为1?若是,执行步骤310;若否,执行步骤320。

步骤310:判断使用者的手势对应于一单指游标操作。

步骤312:判断物件obj是否远离感光单元16?若是,执行步骤314;若否,执行步骤350。

步骤314:判断使用者的手势对应于一单指游标点击操作。

步骤316:将延迟标志dlf于一时间t1之内设为1,时间t1后延迟标志dlf为0。

步骤320:根据外框中心bx_cnt,计算物件obj的一移动轨迹trk。

步骤322:根据物件obj的移动轨迹trk,判断物件obj是否为静止?若是,执行步骤324;若否,执行步骤330。

步骤324:判断物件obj于二值化图像bfri中是否由水平方向进入图像画面fri?若是,执行步骤326;若否,执行步骤328。

步骤326:判断使用者的手势为一侧边上下晃动动作。

步骤328:判断使用者的手势为一右侧举手动作或一左侧举手动作。

步骤330:判断物件obj是否远离感光单元16?若是,执行步骤332;若否,执行步骤336。

步骤332:判断该使用者的手势为一外推动作。

步骤334:将延迟标志dlf于一时间t2之内设为1,时间t2后延迟标志dlf为0。

步骤336:判断物件obj是否进行垂直等速移动?若是,执行步骤338;若否,执行步骤340。

步骤338:判断使用者的手势为一向上等速移动动作或一向下等速移动动作。

步骤340:判断物件obj是否进行左右摆动?若是,执行步骤342;若否,执行步骤344。

步骤342:判断使用者的手势为一左右摆动动作(swing)。

步骤344:判断使用者的手势为一顺时针挥动动作或一逆时针挥动动作。

步骤350:令i=i+1,并执行步骤300。

图3所示的手势识别流程30为以图像画面为基础(frame-based)的手势识别流程,换句话说,当判断单元18自感光单元16接收多个图像画面fr中一图像画面fri时,判断单元18执行一次手势识别流程30;当判断单元18自感光单元16接收下一图像画面fri+1时,判断单元18再执行一次手势识别流程30,依此类推,直到手势识别模块10不再根据图像画面fr进行手势辨识为止。

利用手势识别流程30,判断单元18可根据多个图像画面fr判断使用者的手势是否为侧边上下晃动动作、右侧举手动作、左侧举手动作、外推动作、向上等速移动动作、向下等速移动动作、左右摆动动作、顺时针挥动动作或逆时针挥动动作。另外,判断单元18可根据多个图像画面fr判断使用者的手势是否对应单指游标操作或单指游标点击操作。根据手势识别流程30,本发明可防止不同动作之间的误触或误判断,进一步增加手势识别的正确性,避免电子装置12进行错误的操作。

在步骤302中,判断单元18判断图像画面fri中是否具有物件obj。详细来说,在一实施例中,判断单元18可根据图像画面fri中对应于不可见光(如红外线)的像素值,判断图像画面fri中是否具有物件obj。在一实施例中,当图像画面fri中一区块(对应于不可见光)的像素值皆大于一特定值时,判断单元18可判断图像画面fri具有物件obj。

当判断单元18判断图像画面fri具有物件obj时,在步骤304中,判断单元18可对图像画面fri进行一二值化(binarization)图像处理以及一侵蚀(erosion)图像处理,以取得对应于图像画面fri---的二值化图像bfri,其中,二值化图像bfri每个像素的像素值非黑即白。举例来说,请参考图4,图4为一二值化图像bfr的示意图。二值化图像bfr中多个白色像素可代表对应于物件obj的图像,即白色像素可代表物件像素,而其余多个黑色像素可代表物件obj所处环境的图像,即黑色像素可代表环境像素。在一实施例中,对应于白色像素的像素值可为255,而对应于黑色像素的像素值可为0。另外,在步骤304中,判断单元18取得二值化图像bfri中物件obj的外框bx以及外框bx的一外框中心bx_cnt,在一实施例中,外框bx为包围物件obj(包围所有白色像素)的一最小矩形,外框中心bx_cnt为该最小矩形的一中心坐标。

在步骤306中,判断单元18判断物件obj于多个图像画面fr中停留的时间是否大于特定时间(如1秒)。在一实施例中,判断单元18可检视图像画面fri以及视图像画面fri之前的n张图像画面(即检视多个图像画面fr中的图像画面fri-n+1~fri),判断图像画面fri-n+1~fri中是否皆具有物件obj,其中对应于图像画面fri-n+1~fri的时间差为该特定时间。从另一个角度来说,在一实施例中,判断单元18可根据物件obj留在多个图像画面fr的画面张数来判断物件obj于多个图像画面fr中停留的时间是否大于特定时间,也就是说,当obj留在多个图像画面fr的画面张数大于一特定张数n’时,判断单元18即判断物件obj于多个图像画面fr中停留的时间大于特定时间。

当物件obj停留的时间大于特定时间时,代表使用者欲利用手势来控制电子装置12的操作,故判断单元18先执行步骤307,以判断对应于物件obj的手指个数fgr_no。为了使读者容易理解本发明的内容,物件obj的手指个数fgr_no泛指于二值化图像bfr中对应于物件图像(即二值化图像bfr中白色像素所形成的图像)的突出部分的个数。当判断单元18进行手势识别时,二值化图像bfr中对应于物件图像的突出部分的个数可被理解成物件obj的手指个数fgr_no。另外,判断单元18不限于利用特定方式来判断对应于物件obj的手指个数fgr_no,在一实施例中,判断单元18可先于二值化图像bfri中决定一圆形轮廓(contour)cct,圆形轮廓cct于二值化图像bfri中所包围的面积大致与二值化图像bfri中手掌的面积相当,其中圆形轮廓cct的一轮廓中心(即圆形轮廓cct的一圆心)可位于外框中心bx_cnt。另外,位于圆形轮廓cct上的像素称为轮廓像素,每一轮廓像素可对应一旋转角度其中旋转角度为每一轮廓像素相对于轮廓中心(bx_cnt)以及圆形轮廓cct的一基准轴bax的旋转角度,在此情形下,判断单元18可依照对应于轮廓中心的旋转角度计算于多个轮廓像素的一转换次数,并根据该转换次数,判断对应于物件obj的手指个数fgr_no。

详细来说,判断单元18可取得轮廓像素的像素值与旋转角度的对应关系图,如图5所示。轮廓像素的像素值会随着旋转角度而有所不同,举例来说,在图4中圆形轮廓cct上的一点a对应图5的一旋转角度在图4中圆形轮廓cct上的一点b对应图5的一旋转角度轮廓像素于点a在旋转角度为顺时针旋转时会由黑转白,其对应的轮廓像素值于点a会由0转换为255,轮廓像素于点b在旋转角度为顺时针旋转时会由白转黑,其对应的轮廓像素值于点b会由255转换为0。当旋转角度为0时,判断单元18可将一转换次数cnt预设为0;当旋转角度于一范围内,其对应的轮廓像素值由0转换为255且由255转换为0时,判断单元18将转换次数cnt加1。在一实施例中,当判断单元18将旋转角度由0旋转至360时,转换次数cnt可代表手指个数fgr_no。

另外,判断单元18不限于利用特定方式来决定圆形轮廓cct。在一实施例中,判断单元18可计算多个物件像素(即多个白色像素)的一中点c,再取得多个物件像素中距离中点c最远的一最远物件像素fop,及计算中点c与最远物件像素fop之间的一距离d,并取得一半径r;判断单元18可决定圆形轮廓cct为以外框中心bx_cnt为圆心,并以半径r为半径的圆形轮廓。其中,半径r小于距离d且与距离d之间可具有一特定比值,举例来说,半径r可为距离d的一半,即r=d/2,而不在此限。

关于判断单元18判断对应于物件obj的手指个数fgr_no的操作,可归纳成为一手指个数判断流程60,如图6所示,流程60包含以下步骤:

步骤602:计算多个物件像素的中点c。

步骤604:取得该多个物件像素中距离中点c最远的最远物件像素fop。

步骤606:计算算中点c与最远物件像素fop之间的距离d,并取得半径r,其中半径r相关于距离d。

步骤608:取得于二值化图像bfri中的圆形轮廓cct,其中圆形轮廓cct为以外框中心bx_cnt为圆心,并以半径r为半径的圆形轮廓。

步骤610:依照对应于轮廓中心(即外框中心bx_cnt为圆心)的旋转角度计算于圆形轮廓cct的轮廓像素值由0转换为255且由255转换为0的转换次数cnt。

步骤612:根据转换次数cnt,判断该物件的手指个数fgr_no。

当判断单元18判断手指个数fgr_no为1时,在步骤310中,判断单元18判断使用者的手势对应于单指游标操作,此时判断单元18可产生一信号指示电子装置12进行一游标操作。更进一步地,在步骤312中,判断单元18可判断物件obj是否远离感光单元16,在一实施例中,判断单元18可根据每一张图像画面fr取得/计算物件obj相对于感光单元16的距离/深度,如判断单元18可利用反射光的能量强度判断物件obj相对于感光单元16的距离/深度。另外,判断单元18可检视图像画面fri以及视图像画面fri之前的k张图像画面(即检视多个图像画面fr中的图像画面fri-k+1~fri)中物件obj相对于感光单元16的距离是否呈现递增趋势,以判断物件obj是否远离感光单元16。

当判断单元18判断物件obj远离感光单元16时,在步骤314中,判断单元18判断使用者的手势对应于单指游标点击操作,此时判断单元18可产生一信号指示电子装置12进行一游标点击操作。更进一步地,当判断单元18判断物件obj远离感光单元16时,代表使用者的手正在进行一前推的动作,为了避免使用者的手势在回复动作的过程中(例如手在前推之后的收回动作)误触发不必要操作,因此,当判断单元18判断使用者的手势对应于单指游标点击操作后,在步骤316中,判断单元18将延迟标志dlf在时间t1内设为1,而在时间t1之后将延迟标志dlf设为0。如此一来,再次进行步骤301时,判断单元18将不会对时间t1内所接收的图像画面fr进行手势辨识,避免使用者的手势在回复位置/姿势的过程中,误触发不必要的操作。换句话说,判断单元18判断使用者的手势对应于单指游标点击操作后,判断单元18暂停判断使用者的手势。

另一方面,当判断单元18判断手指个数fgr_no不为1时,在步骤320中,判断单元18根据外框中心bx_cnt,计算物件obj的移动轨迹trk。在一实施例中,判断单元18可记录图像画面fri-k+1~fri中对应于物件obj的外框中心bx_cnt,并根据对应于图像画面fri-k+1~fri的外框中心bx_cnt,计算物件obj的移动轨迹trk。在另一实施例中,判断单元18可记录图像画面fri-k+1~fri中多个物件像素的中点c,并根据对应于图像画面fri-k+1~fri的中点c,计算物件obj的移动轨迹trk。其中,在一实施例中,移动轨迹trk中可记录有物件obj于图像画面frk-1、frk之间的一移动动量。

在步骤322中,判断单元18根据物件obj的移动轨迹trk,判断物件obj是否为静止。在一实施例中,判断单元18可根据移动轨迹trk检视图像画面fri-k+1~fri中图像画面之间的移动动量是否大于一特定值m;若根据移动轨迹trk判断图像画面之间的移动动量小于特定值m,判断单元18判断判断物件obj为静止。

在步骤324中,判断单元18判断物件obj于二值化图像bfri中是否由水平方向进入图像画面fr-i。在一实施例中,判断单元18可判断二值化图像bfri中多个物件像素的分布情形;若多个物件像素分布于二值化图像bfri的一左边缘或一右边缘,而多个物件像素不分布于二值化图像bfri的一上边缘或一下边缘时,判断单元18可判断物件obj由水平方向进入图像画面fri。请参考图7,图7为本发明实施例一二值化图像bfr的示意图。因在图7中的物件像素分布于二值化图像bfr的右边缘,根据在图7所绘示的二值化图像bfr,判断单元18可判断物件obj由水平方向进入图像画面。

当判断单元18判断物件obj于二值化图像bfri中由水平方向进入图像画面fr-i时,在步骤326中,判断单元18可判断使用者的手势为侧边上下晃动动作(如图8所示),此时判断单元18可产生一信号指示电子装置12进行对应于侧边上下晃动动作的操作。举例来说,当判断单元18判断使用者的手势为一侧边向上晃动动作时,电子装置12可将其一音量提高;反之,当判断单元18判断使用者的手势为一侧边向下晃动动作时,电子装置12可将其一音量降低,而不限于此。

当判断单元18判断物件obj非由水平方向进入图像画面fr-i时,在步骤328中,判断单元18可判断使用者的手势为右侧举手动作或左侧举手动作。在一实施例中,可将二值化图像bfri对半切割,如图9所示。在图9中,一中央垂直切割线vcl将二值化图像bfr切割成左半边以及右半边,当在二值化图像bfr的右半边具有相对于左半边较多的目标像素时,判断单元18可判断使用者的手势为右侧举手动作,反之亦然,而不限于此。

当判断单元18判断判断物件obj不为静止时,在步骤330中,判断单元18判断物件obj是否远离感光单元16。步骤330的实际操作与步骤312相同,故在此不再赘述。

当判断单元18在步骤330判断物件obj远离感光单元16时,在步骤332中,判断单元18判断该使用者的手势为外推动作。同样地,在步骤332后执行步骤334与步骤301是为了避免使用者的手势在回复位置/姿势的过程中,误触发不必要的操作,其细节可参考前述相关段落,在此不再赘述。换句话说,判断单元18判断使用者的手势为外推动作后,判断单元18暂停判断使用者的手势。

当判断单元18在步骤330判断物件obj未远离感光单元16时,在步骤336中,判断单元18判断物件obj是否正在进行垂直等速移动。在一实施例中,判断单元18可根据物件obj的移动轨迹trk,检视对应于图像画面fri-k+1~fri中图像画面之间移动动量的垂直分量是否在一特定区间,例如,判断单元18可判断移动动量的垂直分量是否小于一上界v+δ且大于一下界v-δ,若是,判断单元18可判断物件obj正在进行垂直等速移动,其中δ可远小于v。当判断单元18在步骤336判断物件obj正在进行垂直等速移动时,在步骤338中,判断单元18可根据物件obj的移动轨迹trk,判断使用者的手势为向上等速移动动作或向下等速移动动作,并产生信号指示电子装置12进行对应于向上等速移动动作或向下等速移动动作的操作。

当判断单元18在步骤336判断物件obj未进行垂直等速移动时,在步骤340中,判断单元18可判断物件obj是否进行左右摆动。详细来说,判断单元18可根据对应于图像画面fri-k+1~fri的外框中心bx_cnt与最远物件像素fop之间的相对位置,判断物件obj是否进行左右摆动。在一实施例中,当判断单元18判断最远物件像素fop位于外框中心bx_cnt的左边时,判断物件obj向左摆动(如图10上);当判断单元18判断最远物件像素fop位于外框中心bx_cnt的右边时,判断物件obj向右摆动(如图10下)。在一实施例中,当判断单元18判断最远物件像素fop在一第一时间位于外框中心bx_cnt的左边,且判断单元18判断最远物件像素fop在一第二时间位于外框中心bx_cnt的右边时,在步骤342中,判断单元18判断物件obj正在进行左右摆动,并产生信号指示电子装置12进行对应于左右摆动动作的操作,其中第一时间与第二时的时间差小于一特定值。

另外,当判断单元18判断物件obj并未进行左右摆动时,在步骤344中,判断单元18判断使用者的手势为顺时针挥动动作或逆时针挥动动作。在一实施例中,判断单元18可先根据移动轨迹trk判断物件obj是否呈现圆圈状持续挥动,若是,判断单元18在判断物件obj挥动的方向为顺时针抑或是逆时针,以判断使用者的手势为顺时针挥动动作或逆时针挥动动作,并产生信号指示电子装置12进行对应于顺时针挥动动作或逆时针挥动动作的操作。

根据手势识别流程30,判断单元18判断使用者的手势是否为各种不同的动作,以产生信号指示电子装置12进行其对应的操作,其可防止不同动作之间的误触或误判断,进一步增加手势识别的正确性,避免电子装置12进行错误的操作。

需注意的是,前述实施例用以说明本发明的概念,本领域技术人员当可据以做不同的修饰,而不限于此。举例来说,当判断单元18在步骤306判断物件obj在多个图像画面fr中停留的时间小于或等于特定时间时,判断单元18可根据移动轨迹trk判断物件obj的移动方向,并在判断物件obj的移动方向为一第一方向(如往上移动)后,判断单元18可将延迟标志dlf在一时间t3之内设为1,时间t3后延迟标志dlf为0,即判断单元18暂停判断使用者的手势,以避免使用者的手势在回复位置/姿势的过程中,误触发不必要的操作。

另外,判断单元18的实现方式未有限。在一实施例中,判断单元18可为一特殊应用集成电路(application-specificintegratedcircuit,asic)。在另一实施例中,判断单元18可包含一处理单元以及一存储单元,存储单元可为一非易失性存储器(non-volatilememory,例如,一电子抹除式可复写只读存储器(electricallyerasableprogrammablereadonlymemory,eeprom)或一快闪存储器(flashmemory)),手势识别流程30及手指个数判断60可编译成程序代码而存储在存储单元中。

综上所述,根据本发明的手势识别流程,本发明的判断单元可判断各种不同的动作,并产生信号指示电子装置进行其对应的操作,其可防止不同动作之间的误触或误判断,进一步增加手势识别的正确性,避免电子装置进行错误的操作。

以上所述仅为本发明的优选实施例,凡依本发明权利要求书所做的均等变化与修饰,皆应属本发明的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1