一种多维手势识别装置、方法、电子设备和存储介质与流程

文档序号:23793446发布日期:2021-01-30 07:22阅读:118来源:国知局
一种多维手势识别装置、方法、电子设备和存储介质与流程

[0001]
本发明属于手势控制技术领域,特别是涉及一种多维手势识别装置、方法、电子设备和存储介质。


背景技术:

[0002]
目前,现有技术中有多种方法进行手势识别,例如采用红外阵列模块方法进行手势识别,该方法无法识别平面内的二维手势输入,并且对三维手势的识别精度较低,红外阵列由多个红外发光二极管组成,功耗大。不便于调试维护。由于红外阵列体积较大,不便于集成。例如采用红外激光器与单目摄像头的方法,该方法无法识别空间内的三维手势输入。并且由于只能够识别二维平面内特征点的有无,而无法识别手指的抬起过程和下落过程。这就导致缺少了手势运动过程中特征点的中间过程信息。当平面内存在其他物体时,会导致手指的误识别。而红外激光器与单目摄像头方案对非手指的干扰点无法进行有效的过滤。例如采用电容传感器方案,由于该方案属于非接触式的方案,所以无法识别平面内接触式的二维手势输入。电容传感器方案对距离较远的手势识别精度低。例如leapmotion或kinect等深度摄像头方案,该方案需要操作系统及平台支持。对运行平台有一定硬性要求,成本较高、体积大且不易于移植。例如《一种多模式动态手势识别系统、装置及方法》中的二维与三维手势识别方案,虽然支持二维手势和三维手势两种手势识别方法。但相互之间独立,没有相互依赖关系。在识别算法上,不支持多个传感器相互协作的情况。即使单纯的增加传感器数量,例如将传感器增加到3个,也只是能够识别出3个独立的手势,而无法将这3个独立的手势整合为一个完整动作。另外,其中提出的三维手势识别没有与其二维手势识别进行综合处理。无法帮助其二维手势模块对非手指的干扰点进行过滤。并且其通信方式采用usb通信,与无线通信相比usb采用有线连接,成本较高且不够方便。


技术实现要素:

[0003]
本发明目的是为了解决现有技术中的问题,提出了一种多维手势识别装置、方法、电子设备和存储介质。
[0004]
本发明是通过以下技术方案实现的,本发明提出一种多维手势识别装置,所述装置包括多维手势识别模块和无线通信模块;所述多维手势识别模块包括安装在所述装置左侧、顶部、右侧和中央方向的四个三维手势传感器、安装在所述装置中部的摄像头、安装在所述装置底部的红外激光器以及安装在所述装置内部的主控芯片;所述无线通信模块设置在所述装置内部,所述无线通信模块用于将所述多维手势识别模块识别的手势信息发送给使用者;所述主控芯片用于控制多维手势识别模块和无线通信模块的运行以及处理操作;
[0005]
所述摄像头与红外激光器用来进行二维平面手势的采集;所述左侧三维手势传感器、顶部三维手势传感器和右侧三维手势传感器分别独立工作进行独立的三维手势识别,以及上述三个传感器中相邻的两个或两个以上的三维手势传感器协同工作进行多传感器协作三维手势的识别;所述中央三维手势传感器采用三维辅助二维手势识别方法进行二维
平面手势的识别。
[0006]
进一步地,所述中央三维手势传感器采用三维辅助二维手势识别方法进行二维平面手势的识别,所述三维辅助二维手势识别方法能够区分出非手指点的无效特征点,因为对于平面内的非手指点,不会影响中央三维手势传感器,具体为:用户的手在进行平面的二维手势操作时,手部同时进入了中央三维手势传感器识别区域,在进行二维手势操作时会同时操作中央三维手势传感器,产生相应的三维手势,根据三维手势判断二维手势类型,如果在识别区域没有识别出任何三维手势则判定为非手指点。
[0007]
进一步地,所述三维手势包括手的上、下、左、右挥动及向前靠近和向后远离六种三维手势。
[0008]
进一步地,所述摄像头为单目摄像头。
[0009]
进一步地,所述多传感器协作三维手势包括左上、上左、右上、上右、左上右、右上左方向的挥动手势。
[0010]
本发明还提出一种多维手势识别装置的识别方法,包括以下步骤:
[0011]
步骤1、系统硬件初始化;
[0012]
步骤2、摄像头和红外激光器对用户的手部图像进行二维平面手势的采集,同时判断是否中央三维手势传感器成功识别到三维手势,如果成功识别则进入步骤3,如果识别不成功则进入步骤4;
[0013]
步骤3、采用三维辅助二维手势识别方法根据识别到的三维手势进行二维平面手势的识别,如果识别成功则得到三维辅助的二维平面手势类型,执行步骤5;如果不能成功的识别为二维平面手势,则当前手势为单独的三维手势,从而得到独立的三维手势,执行步骤5;
[0014]
步骤4、进行多传感器协作三维手势的识别,判断多传感器协作三维手势的识别是否成功,如果成功则得到多传感器协作的三维手势,如果不成功则该三维手势为单独的三维手势,从而得到独立的三维手势,执行步骤5;
[0015]
步骤5、将步骤3或步骤4得到的手势识别结果通过无线通信模块发送给使用者。
[0016]
进一步地,在除了中央三维手势传感器外的每个三维手势传感器成功识别用户的三维手势后,等待一定的时间,如果在该时间内,在当前三维手势传感器成功识别的手势的手势方向上,与当前三维手势传感器相邻的三维手势传感器也成功识别到了相同的手势,则认为这两个手势为一个多传感器协作三维手势;如果在等待的时间内,相邻的三维手势传感器没有识别出相同的手势,则当前三维手势是独立的三维手势。
[0017]
本发明还提出一种电子设备,所述电子设备包括存储器和处理器;
[0018]
所述存储器,用于存储计算机程序;
[0019]
所述处理器,用于当执行所述计算机程序时被配置为执行所述多维手势识别装置的识别方法。
[0020]
本发明还提出一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现所述多维手势识别装置的识别方法。
[0021]
本发明的有益效果:
[0022]
1、本发明提出的装置能够解决平面手势识别方案中,无法区分非手指点的问题。提高平面手势识别的准确性。
[0023]
2、本发明提出的装置能够操作多个三维手势传感器协同工作,扩展更多手势。
[0024]
3、本发明提出的装置既支持单独的二维和三维手势,又支持多传感器协作的手势。
[0025]
4、本发明提出的装置无需操作系统支持,可独立工作,集成度高,便携性好。
[0026]
5、本发明提出的装置采用无线通信,无需导线连接。
[0027]
6、本发明提出的装置支持二次开发,成本低。
附图说明
[0028]
图1为本发明所述多维手势识别装置总体框图;
[0029]
图2为本发明所述多维手势识别装置结构示意图;
[0030]
图3为本发明所述多维手势识别方法流程图;
[0031]
图4为三维辅助二维手势识别方法流程图;
[0032]
图5为三维手势识别流程图;
[0033]
图6为左上挥动手势示意图;
[0034]
图7为上左挥动手势示意图;
[0035]
图8为右上挥动手势示意图;
[0036]
图9为上右挥动手势示意图;
[0037]
图10为左上右挥动手势示意图;
[0038]
图11为右上左挥动手势示意图。
具体实施方式
[0039]
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040]
结合图1和图2,本发明提出一种多维手势识别装置,所述装置包括多维手势识别模块和无线通信模块;所述多维手势识别模块包括安装在所述装置左侧(图2中未示出)、顶部、右侧和中央方向的四个三维手势传感器、安装在所述装置中部的摄像头、安装在所述装置底部的红外激光器以及安装在所述装置内部的主控芯片;所述装置内部还含有必要的电源、辅助电路和连接线等。所述无线通信模块设置在所述装置内部,所述无线通信模块用于将所述多维手势识别模块识别的手势信息发送给使用者;所述主控芯片用于控制多维手势识别模块和无线通信模块的运行以及处理操作;
[0041]
所述摄像头与红外激光器用来进行二维平面手势的采集;所述左侧三维手势传感器、顶部三维手势传感器和右侧三维手势传感器分别独立工作进行独立的三维手势识别,以及上述三个传感器中相邻的两个或两个以上的三维手势传感器协同工作进行多传感器协作三维手势的识别;所述中央三维手势传感器采用三维辅助二维手势识别方法进行二维平面手势的识别。
[0042]
所述无线通信模块用于将手势识别信息发送给使用者,采用无线通信可以省去有线连接的麻烦并且降低了成本同时支持多台设备连接,方便安装调试。无线通信模块包括
无线通信控制器,所述主控芯片负责将成功识别的手势,按照通信协议的格式处理好,然后调用无线通信控制器将数据发送出去。
[0043]
结合图4,所述中央三维手势传感器采用三维辅助二维手势识别方法进行二维平面手势的识别,所述三维辅助二维手势识别方法能够区分出非手指点的无效特征点,因为对于平面内的非手指点,不会影响中央三维手势传感器,从而区分出有效的手指手势及无效的非手指点,所述三维辅助二维手势识别方法能够有效减少误识别几率,提高手势的准确度,具体为:用户的手在进行平面的二维手势操作时,手部同时进入了中央三维手势传感器识别区域,在进行二维手势操作时会同时操作中央三维手势传感器,在判断存在三维手势的情况下获取当前手势图像并进行图像预处理和轮廓提取,从而找到特征点由此产生相应的三维手势,根据三维手势判断二维手势类型,如果在识别区域没有识别出任何三维手势则判定为非手指点。使用三维手势辅助二维手势的识别,能够有效区分出非手指的特征点并将其过滤掉。提高二维手势的准确度,减少误识别。提高整个系统的鲁棒性。
[0044]
所述三维手势包括手的上、下、左、右挥动及向前靠近和向后远离六种三维手势。每个单独的三维手势传感器都可以识别出手的上,下,左右挥动及向前靠近和向后远离六种三维手势。
[0045]
所述摄像头为单目摄像头。单目摄像头与红外激光器用来进行二维平面手势的采集。红外激光器用于增强识别区内特征点亮度。单目摄像头用于拍摄平面操作区域内的图像,手指进入平面操作区后,会反射红外光到单目摄像头中。主控芯片用于对单目摄像头获取的图片进行图像处理,轮廓提取等计算,进而判定用户的二维平面手势。
[0046]
所述多传感器协作三维手势包括左上、上左、右上、上右、左上右、右上左方向的挥动手势。
[0047]
结合图3,本发明还提出一种多维手势识别装置的识别方法,包括以下步骤:
[0048]
步骤1、系统硬件初始化;
[0049]
步骤2、摄像头和红外激光器对用户的手部图像进行二维平面手势的采集,同时判断是否中央三维手势传感器成功识别到三维手势,如果成功识别则进入步骤3,如果识别不成功则进入步骤4;
[0050]
步骤3、采用三维辅助二维手势识别方法根据识别到的三维手势进行二维平面手势的识别,如果识别成功则得到三维辅助的二维平面手势类型,执行步骤5;如果不能成功的识别为二维平面手势,则当前手势为单独的三维手势,从而得到独立的三维手势,执行步骤5;
[0051]
步骤4、进行多传感器协作三维手势的识别,判断多传感器协作三维手势的识别是否成功,如果成功则得到多传感器协作的三维手势,如果不成功则该三维手势为单独的三维手势,从而得到独立的三维手势,执行步骤5;
[0052]
步骤5、将步骤3或步骤4得到的手势识别结果通过无线通信模块发送给使用者。
[0053]
在除了中央三维手势传感器外的每个三维手势传感器成功识别用户的三维手势后,等待一定的时间,优选为1秒,如果在该时间内,在当前三维手势传感器成功识别的手势的手势方向上,与当前三维手势传感器相邻的三维手势传感器也成功识别到了相同的手势,则认为这两个手势为一个多传感器协作三维手势;如果在等待的时间内,相邻的三维手势传感器没有识别出相同的手势,则当前三维手势是独立的三维手势。所述方法可以识别
触发多个三维手势传感器的综合手势,能够将其识别成一组动作,提供更加丰富的可识别的用户手势。
[0054]
以左侧传感器或右侧传感器为起点的,经过顶部传感器的手势识别为例。具体识别流程如图5所示,当判断是左侧传感器手势后判断当前手势是否是向右挥动,如果是,开始计时,顶部传感器开始识别手势,在没有超时的情况下顶部传感器成功识别的手势与当前手势相同,则该手势为多传感器协作三维手势;如果不是,则认为当前手势是独立的三维手势。右侧传感器和顶部传感器判断方式同上。
[0055]
基于stm32的多维手势识别装置
[0056]
硬件列表:
[0057]
名称选型主控芯片stm32f407zgt6三维手势传感器paj7620模块摄像头ov5640无线通信控制器esp8266串口模块红外激光器808nm波长红外一字线
[0058]
支持的手势:
[0059][0060]
系统组成:stm32f407zgt6开发板、paj7620模块(顶部传感器)、paj7620模块(中央传感器)、ov5640摄像头、808nm波长红外激光器、esp8266无线模块、paj7620模块(左侧传感器)和paj7620模块(右侧传感器)。
[0061]
多传感器协作手势的定义如下:
[0062]
左上挥动:手掌按照图6所示箭头方向挥动,触发左侧及顶部三维手势传感器。
[0063]
上左挥动:手掌按照图7所示箭头方向挥动,触发顶部及左侧三维手势传感器。
[0064]
右上挥动:手掌按照图8所示箭头方向挥动,触发右侧及顶部三维手势传感器。
[0065]
上右挥动:手掌按照图9所示箭头方向挥动,触发顶部及右侧三维手势传感器。
[0066]
左上右挥动:手掌按照图10所示箭头方向挥动,触发左侧、顶部及右侧三维手势传感器。
[0067]
右上左挥动:手掌按照图11所示箭头方向挥动,触发右侧、顶部及左侧三维手势传感器。
[0068]
自定义通信协议如下:
[0069]
帧头长度手势编号纵坐标/三维手势子类横坐标帧尾0xa50x04ny/mx0x5a
[0070]
第三个字节n表示手势编号,n的取值与手势含义的关系如表1所示。
[0071]
当n取值在0x01~0x02时表示平面手势,此时第四个字节为平面内手指点的纵坐
标。
[0072]
当n取值在0x03~0x06时表示相应传感器的独立的三维手势,此时第四个字节表示三维手势的子类。
[0073]
当n取值在0x07~0x0c时表示多传感器协作三维手势。
[0074]
表1n的取值与手势含义关系
[0075]
n的取值手势含义0x01单指点击0x02单指滑动0x03左侧传感器0x04顶部传感器0x05右侧传感器0x06中央传感器0x07左上挥动0x08上左挥动0x09右上挥动0x0a上右挥动0x0b左上右挥动0x0c右上左挥动
[0076]
当n取值在0x03~0x06时表示相应传感器的独立的三维手势,m表示其子类手势,m的取值如表2所示:
[0077]
表2m的取值与手势含义关系
[0078]
m的取值手势含义0x01上挥动0x02下挥动0x03左挥动0x04右挥动0x05靠近0x06远离
[0079]
本发明还提出一种电子设备,所述电子设备包括存储器和处理器;
[0080]
所述存储器,用于存储计算机程序;
[0081]
所述处理器,用于当执行所述计算机程序时被配置为执行所述多维手势识别装置的识别方法。
[0082]
本发明还提出一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现所述多维手势识别装置的识别方法。
[0083]
以上对本发明所提出的一种多维手势识别装置、方法、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,
依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1