计算;推算;计数设备的制造及其应用技术1.本文涉及机器视觉技术,尤指一种虚拟按键识别方法、装置、存储介质和拍摄设备。背景技术:2.当下,智能设备十分普及并呈现多元化发展。计算机、智能电视、平板电脑、手机等都是日常生活中常见的智能设备,这些智能设备改变了人们的生活方式。随着智能设备的发展,各种人机交互(human–computer interaction, hci)方式也被不断提出,以期在操作智能设备时获得更好的用户体验。3.以人机交互进行数据输入为例,近来摒弃实体鼠标、键盘等外在实体工具,通过虚拟键盘进行人机交互已成为研究热点。4.通过虚拟键盘进行人机交互的方式,包括:5.通过专用投影设备在平面上投影出键盘样图案,如图1所示,当用户的手指点按在平面上投出的按键时,手指会遮盖掉一部分投射光,设置在专用投影设备底部的光线传感部件就会检测到有信号被阻挡,并根据被遮盖的透射光的坐标推算出用户按下的按键;该方式需要专用设备,使用不便;6.一种被称为“pinchtype”的虚拟按键技术,将标准qwerty键盘的每一列分配给除拇指外的每根手指,例如,左手尾指对应于qaz,左手无名指对应于wsx,左手中指对应于edc,左手食指对应于rfv和tgb;右手食指对应于yhn和ujm,右手中指对应于ik,右手无名指对应于ol,右手尾指对应于p;当哪根手指捏住拇指,将输入该手指对应的字母组,智能系统根据输入的字母组给出联想单词以供用户选择,如图2所示;该方式无法准确知晓具体按键,需要依赖强大的单词联想功能。技术实现要素:7.本技术提供了一种虚拟按键识别方法、装置、存储介质和拍摄设备,能够准确识别按键。8.本技术提供的虚拟按键识别方法,包括:9.接收记录手指敲击虚拟键盘的实时视频帧;10.对所述视频帧中的手指动作进行识别,根据识别结果分别确定手指敲击虚拟键盘的列和行;11.根据所述虚拟键盘的列和行确定手指敲击的虚拟键盘的按键。12.在一示例性实施例中,对所述视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的列,包括:13.对视频帧中发生敲击动作的手指进行识别,根据识别出的手指以及手指与虚拟键盘列的预设对应关系,确定敲击虚拟键盘的列。14.在一示例性实施例中,对所述视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的列,包括:15.对视频帧中发生敲击动作的手指进行识别;16.当识别出的手指为非指定手指时,根据手指与虚拟键盘列的预设对应关系,确定敲击虚拟键盘的列;17.当识别出的手指为指定手指时,还对所述指定手指相对竖直方向的倾斜角度进行识别,根据指定手指相对竖直方向处于不同倾斜角度时与虚拟键盘列的预设对应关系,确定敲击虚拟键盘的列;18.所述指定手指为左食指和右食指中任一种或两种。19.在一示例性实施例中,指定手指相对竖直方向处于不同倾斜角度时与虚拟键盘列的预设对应关系,包括:20.左食指与竖直方向的倾斜角度位于[-15°,15°]时,对应虚拟键盘中的 rfv列;[0021]左食指与竖直方向的倾斜角度位于[15°,45°]度时,对应虚拟键盘中的tgb列;[0022]右食指与竖直方向的倾斜角度位于[-15°,15°]时,对应虚拟键盘中的 ujm列;[0023]右食指与竖直方向的倾斜角度位于[15°,45°]时,对应虚拟键盘中的 yhn列。[0024]在一示例性实施例中,对所述视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的列,包括:[0025]对视频帧中发生敲击动作的手指以及该手指所在手的掌心位置进行识别;[0026]当掌心的位置在预设的初始位置范围内时,根据识别出的手指以及手指与虚拟键盘列的预设初始对应关系,确定敲击虚拟键盘的列;[0027]当左手掌心的位置落在所述初始范围右侧,且距离所处初始范围右边界n 个单位键盘的距离,则识别出的手指对应的虚拟键盘的列为以所述预设初始对应关系中该手指对应的列为起点向右平移n列后对应的列;[0028]当左手掌心的位置落在所述初始范围左侧,且距离所述初始范围左边界n 个单位键盘的距离,则识别出的手指对应的虚拟键盘的列为以所述预设初始对应关系中该手指对应的列为起点向左平移n列后对应的列;[0029]当右手掌心的位置落在所述初始范围左侧,且距离所处初始范围左边界n 个单位键盘的距离,则识别出的手指对应的虚拟键盘的列为以所述预设初始对应关系中该手指对应的列为起点向左平移n列后对应的列;[0030]当右手掌心的位置落在所述初始范围右侧,且距离所述初始范围右边界n 个单位键盘的距离,则识别出的手指对应的虚拟键盘的列为以所述预设初始对应关系中该手指对应的列为起点向右平移n列后对应的列。[0031]在一示例性实施例中,对所述视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的列,包括:[0032]对视频帧中发生敲击动作的手指以及该手指所在手的掌心位置进行识别;[0033]当掌心的位置在预设的初始位置范围内时,根据识别出的手指以及手指与虚拟键盘列的预设初始对应关系,确定敲击虚拟键盘的列;[0034]当左手掌心的位置落在所述初始范围右侧,且距离所处初始范围右边界n 个单位键盘的距离时,如果识别出的手指为左手指定手指,则该左手指定手指对应的虚拟键盘的列为以所述预设初始对应关系中该左手指定手指对应的列为起点向右平移n列后对应的列;如果识别出的手指为非左手指定手指,则根据所述预设初始对应关系,确定该非左手指定手指敲击虚拟键盘的列;[0035]当左手掌心的位置落在所述初始范围左侧,且距离所述初始范围左边界n 个单位键盘的距离时,如果识别出的手指为左手指定手指,则该左手指定手指对应的虚拟键盘的列为以所述预设初始对应关系中该左手指定手指对应的列为起点向左平移n列后对应的列;如果识别出的手指为非左手指定手指,则根据所述预设初始对应关系,确定该非左手指定手指敲击虚拟键盘的列;[0036]当右手掌心的位置落在所述初始范围左侧,且距离所处初始范围左边界n 个单位键盘的距离,如果识别出的手指为右手指定手指,则该右手指定手指对应的虚拟键盘的列为以所述预设初始对应关系中该右手指定手指对应的列为起点向左平移n列后对应的列;如果识别出的手指为非右手指定手指,则根据所述预设初始对应关系,确定该非右手指定手指敲击虚拟键盘的列;[0037]当右手掌心的位置落在所述初始范围右侧,且距离所处初始范围右边界n 个单位键盘的距离,如果识别出的手指为右手指定手指,则该右手指定手指对应的虚拟键盘的列为以所述预设初始对应关系中该右手指定手指对应的列为起点向右平移n列后对应的列;如果识别出的手指为非右手指定手指,则根据所述预设初始对应关系,确定该非右手指定手指敲击虚拟键盘的列。[0038]在一示例性实施例中,对所述视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的行,包括:[0039]对所述视频帧中发生敲击动作的手指弯曲形态,以及敲击动作类型进行识别,根据识别结果以及手指弯曲形态、敲击动作类型及虚拟键盘行的预设对应关系,确定敲击虚拟键盘的行。[0040]在一示例性实施例中,手指弯曲形态的种类包括:[0041]手指指尖与平面的接触角度位于[0°,30°];[0042]手指指尖与平面的接触角度位于[60°,90°];[0043]手指指尖与平面的接触角度位于[120°,135°]。[0044]在一示例性实施例中,根据识别结果以及手指弯曲形态、敲击动作类型及虚拟键盘行的预设对应关系,确定敲击虚拟键盘的行,包括:[0045]当识别出手指指尖与平面的接触角度位于[0°,30°]且进行单击动作,则确定敲击虚拟键盘的第一行;[0046]当识别出手指指尖与平面的接触角度位于[60°,90°]且进行单击动作,则确定敲击虚拟键盘的第二行;[0047]当识别出手指指尖与平面的接触角度位于[120°,135°]且进行单击动作,则确定敲击虚拟键盘的第三行。[0048]在一示例性实施例中,根据识别结果以及手指弯曲形态、敲击动作类型及虚拟键盘行的预设对应关系,确定敲击虚拟键盘的行,包括:[0049]当识别出手指指尖与平面的接触角度位于[0°,30°]且进行单击动作,则确定敲击虚拟键盘的第一行;[0050]当识别出手指指尖与平面的接触角度位于[60°,90°],或手指指尖与平面的接触角度位于[120°,135°],且进行单击动作,则确定敲击虚拟键盘的第二行;[0051]当识别出手指进行非单击动作,则确定敲击虚拟键盘的第三行。[0052]在一示例性实施例中,对所述视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的行,包括:[0053]对所述视频帧中手指敲击区域和敲击动作类型进行识别,根据识别结果以及敲击区域、敲击动作类型以及虚拟键盘行的预设对应关系,确定敲击虚拟键盘的行。[0054]在一示例性实施例中,根据识别结果以及敲击区域、敲击动作类型以及虚拟键盘行的预设对应关系,确定敲击虚拟键盘的行,包括:[0055]当识别出手指在虚拟键盘第一行对应的区域进行单击动作,则确定敲击虚拟键盘的第一行;[0056]当识别出手指在虚拟键盘第二行对应的区域进行单击动作,则确定敲击虚拟键盘的第二行;[0057]当识别出手指在虚拟键盘第三行对应的区域进行单击动作,则确定敲击虚拟键盘的第三行。[0058]在一示例性实施例中,所述方法还包括:[0059]对所述视频帧中的手指动作进行识别之前,对所述视频帧中的手部姿态进行估计,根据估计结果判断所述手部姿态是否符合敲击键盘的姿态,如果符合敲击键盘的姿态再对所述视频帧中的手指动作进行识别。[0060]在一示例性实施例中,对所述视频帧中的手部姿态进行估计,根据估计结果判断所述手部姿态是否符合敲击键盘的姿态,包括:[0061]利用手部关节点估计模型计算每只手的骨骼关节点置信度以及手的置信度,根据计算的置信度确定综合置信度,如果综合置信度小于预设阈值,则判断出手部姿态不符合敲击键盘的姿态;如果综合置信度大于预设阈值,则判断出手部姿态符合敲击键盘的姿态。[0062]在一示例性实施例中,所述方法还包括:[0063]对所述视频帧中的手部姿态进行估计之前,在所述视频帧中进行手部跟踪,如果跟踪置信度大于预设跟踪置信度阈值,再对所述视频帧中的手部姿态进行估计。[0064]在一示例性实施例中,所述方法还包括:[0065]在所述视频帧中进行手部跟踪之前,在所述视频帧中进行手部检测,如果检测到手部图像,再在所述视频帧中进行手部跟踪。[0066]在一示例性实施例中,所述方法还包括:[0067]如果跟踪置信度小于预设跟踪置信度阈值,停止进行手部跟踪,重新在所述视频帧中进行手部检测。[0068]在一示例性实施例中,所述方法还包括:[0069]如果跟踪置信度大于跟踪置信度阈值,统计接收到的视频帧的总数,如果总数达到预设总数阈值,重新在所述视频帧中进行手部检测;如果总数没有达到预设总数阈值,再对所述视频帧中的手部姿态进行估计。[0070]本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如前任一所述的方法。[0071]本技术实施例还提供了一种虚拟键盘识别装置,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,实现如前任一所述的方法。[0072]本技术实施例还提供了一种拍摄设备,所述设备内置如前所述的虚拟键盘识别装置。[0073]本技术记载的技术方案,根据手指敲击虚拟键盘的动作确定手指敲击的虚拟键盘的行和列,进而可以准确定位到虚拟按键的按键。[0074]本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。附图说明[0075]附图用来提供对本技术技术方案的理解,并且构成说明书的一部分,与本技术的实施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。[0076]图1为相关技术中一种通过虚拟键盘进行人机交互的方式;[0077]图2为相关技术中另一种通过虚拟键盘进行人机交互的方式;[0078]图3为本技术实施例提供的虚拟按键识别方法流程图;[0079]图4为本技术实施例提供的人手21个关节点示意图;[0080]图5为本技术实施例提供的手指与qwerty虚拟键盘列的对应关系示意图;[0081]图6为本技术实施例提供的一种右手食指相对竖直方向处于不同倾斜角度时与虚拟键盘列的对应关系的示意图;[0082]图7为本技术实施例提供的不同手指弯曲种类示意图;[0083]图8为本技术实施例提供的另一种虚拟按键识别方法流程图;[0084]图9为本技术实施例提供的另一种虚拟按键识别方法流程图;[0085]图10为本技术实施例提供的另一种虚拟按键识别方法流程图;[0086]图11为本技术实施例提供的另一种虚拟按键识别方法流程图;[0087]图12为本技术实施例提供的虚拟键盘识别装置结构图。具体实施方式[0088]本技术描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本技术所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。[0089]本技术包括并设想了与本领域普通技术人员已知的特征和元件的组合。本技术已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本技术中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。[0090]此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本技术实施例的精神和范围内。[0091]本技术实施例提供了一种虚拟按键识别方法,如图3所示,所述方法包括:[0092]步骤s301接收记录手指敲击虚拟键盘的实时视频帧;[0093]所述虚拟键盘可以显示在平面上,也可以不作显示;[0094]当所述虚拟键盘不在智能设备的触控屏上显示时,不占用触控屏的显示空间;当所述虚拟键盘不在智能设备外的平面(如桌面)显示时,不需要专用的虚拟键盘投影设备;[0095]所述实时视频帧可以是以下任意一种或多种:[0096]rgb图像帧;[0097]深度图像帧;[0098]红外线(infrared radiation,ir)图像帧;[0099]步骤s302对所述视频帧中的手指动作进行识别,根据识别结果分别确定手指敲击虚拟键盘的列和行;[0100]步骤s303根据所述虚拟键盘的列和行确定手指敲击的虚拟键盘的按键。[0101]上述步骤s301~步骤s303可以为针对每一帧进行的操作,也可以为针对连续n帧进行的操作,n值可设置;[0102]本技术实施例记载的技术方案,根据手指敲击虚拟键盘的动作确定手指敲击的虚拟键盘的行和列,进而可以准确定位到虚拟按键的按键。[0103]在一示例性实施例中,对所述视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的列的方式,包括:[0104]对视频帧中发生敲击动作的手指进行识别,根据识别出的手指以及预设的手指与虚拟键盘列的对应关系,确定敲击虚拟键盘的列。[0105]人体的每只手都有21个关节点,如图4所示,本技术实施例可以将每只手的21个关节点作为手部关键点建立神经网络模型,通过神经网络模型识别手部关节点,进而识别视频帧中发生敲击动作的是哪根手指。[0106]本技术实施例中的虚拟键盘可以是qwerty键盘,手指与qwerty虚拟键盘列的对应关系可参考图5,左手尾指对应于qaz,左手无名指对应于 wsx,左手中指对应于edc,左手食指对应于rfv和tgb,左手拇指对应于shift键;右手食指对应于yhn和ujm,右手中指对应于ik,,右手无名指对应于ol.,右手尾指对应于px回车符,右手拇指对应于空格键。[0107]在另一示例性实施例中,对所述视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的列的方式,可以包括:[0108]对视频帧中发生敲击动作的手指进行识别;[0109]当识别出的手指为非指定手指时,根据手指与虚拟键盘列的预设对应关系,确定敲击虚拟键盘的列;所述指定手指为左食指和右食指中任一种或两种;所述手指与虚拟键盘列的预设对应关系可参考上一实施例;[0110]所述非指定手指为除左食指和右食指外的其他手指;[0111]当识别出的手指为指定手指时,还对所述指定手指相对竖直方向的倾斜角度进行识别,根据指定手指相对竖直方向处于不同倾斜角度时与虚拟键盘列的预设对应关系,确定敲击虚拟键盘的列。[0112]在一示例性实施例中,指定手指相对竖直方向处于不同倾斜角度时与虚拟键盘列的预设对应关系,可以包括:[0113]左食指与竖直方向的倾斜角度位于[-15°,15°]时,对应虚拟键盘中的 rfv列;[0114]左食指与竖直方向的倾斜角度位于[15°,45°]时,对应虚拟键盘中的 tgb列;[0115]右食指与竖直方向的倾斜角度位于[-15°,15°]时,对应虚拟键盘中的 ujm列;[0116]右食指与竖直方向的倾斜角度位于[15°,45°]时,对应虚拟键盘中的 yhn列;[0117]本技术实施例中的所述竖直方向为虚拟键盘的竖边所在的方向。[0118]图6给出了一种右手食指相对竖直方向处于不同倾斜角度时与虚拟键盘列的预设对应关系的示意图,当右手食指与竖直方向的倾斜角度位于[-15°, 15°]时,对应虚拟键盘中的yhn列,当右手食指与竖直方向的倾斜角度位于[15°,45°]时,对应虚拟键盘中的ujm列。[0119]本实施例根据识别出的手指类型以及食指与竖直方向的倾斜角度确定虚拟键盘的列,当使用的手指与虚拟键盘列的预设对应关系中存在食指对应多列的情况时,根据本实施例记载的技术方案能够准确识别出按键。[0120]在一示例性实施例中,对所述视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的列,可以包括:[0121]对视频帧中发生敲击动作的手指以及该手指所在手的掌心位置进行识别;[0122]当掌心的位置在预设的初始位置范围内时,根据识别出的手指以及手指与虚拟键盘列的预设初始对应关系,确定敲击虚拟键盘的列;所述掌心的位置可以通过手部关节点识别获得;[0123]当左手掌心的位置落在所述初始范围右侧,且距离所处初始范围右边界n 个单位键盘的距离,则识别出的手指对应的虚拟键盘的列为以所述预设初始对应关系中该手指对应的列为起点向右平移n列后对应的列;[0124]当左手掌心的位置落在所述初始范围左侧,且距离所述初始范围左边界n 个单位键盘的距离,则识别出的手指对应的虚拟键盘的列为以所述预设初始对应关系中该手指对应的列为起点向左平移n列后对应的列;[0125]当右手掌心的位置落在所述初始范围左侧,且距离所处初始范围左边界n 个单位键盘的距离,则识别出的手指对应的虚拟键盘的列为以所述预设初始对应关系中该手指对应的列为起点向左平移n列后对应的列;[0126]当右手掌心的位置落在所述初始范围右侧,且距离所述初始范围右边界n 个单位键盘的距离,则识别出的手指对应的虚拟键盘的列为以所述预设初始对应关系中该手指对应的列为起点向右平移n列后对应的列。[0127]本实施例中掌心的位置也可以用手腕点(即图4中的0点位置)的位置代替。[0128]在一示例性实施例中,手指与虚拟键盘列的预设初始对应关系可以为:左手尾指对应于qaz,左手无名指对应于wsx,左手中指对应于edc,左手食指对应于rfv;右手食指对应于ujm,右手中指对应于ik,,右手无名指对应于ol.,右手尾指对应于px。[0129]以图5为例进行说明,假设手敲击虚拟键盘时手的可移动区域的总宽度与虚拟键盘的总宽度相同,将所述可移动区域分为10列,每列对应虚拟键盘的一列,且可移动区域中每列的宽度与其对应的虚拟键盘上列的宽度相同。左手手掌掌心的预设初始范围为所述可移动区域内与虚拟键盘a-d列对应的区域。当识别出左手掌掌心落在预设的初始位置范围内时,且识别出发生敲击动作的为左手无名指,按照预设初始对应关系,确定出敲击虚拟键盘的wsx 列。如果左手向右移动,左手掌心落在所述可移动区域中与虚拟键盘rfv列对应的区域,该区域距离初始范围右边界1个单位键盘的距离,当识别出发生敲击动作的为左手无名指,确定出敲击虚拟键盘的edc列(对应的列也向右移动了1列)。如果左手继续向右移动,左手掌心落在所述可移动区域中与虚拟键盘tgb列对应的区域,该区域距离初始范围右边界2个单位键盘的距离,当识别出发生敲击动作的为左手无名指后,确定出敲击虚拟键盘的rfv 列(对应的列也向右移动了2列)。[0130]在一示例性实施例中,对所述视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的列,可以包括:[0131]对视频帧中发生敲击动作的手指以及该手指所在手的掌心位置进行识别;[0132]当掌心的位置在预设的初始位置范围内时,根据识别出的手指以及手指与虚拟键盘列的预设初始对应关系,确定敲击虚拟键盘的列;[0133]当左手掌心的位置落在所述初始范围右侧,且距离所处初始范围右边界n 个单位键盘的距离时,如果识别出的手指为左手指定手指,则该左手指定手指对应的虚拟键盘的列为以所述预设初始对应关系中该左手指定手指对应的列为起点向右平移n列后对应的列;如果识别出的手指为非左手指定手指,则根据所述预设初始对应关系,确定该非左手指定手指敲击虚拟键盘的列;[0134]当左手掌心的位置落在所述初始范围左侧,且距离所述初始范围左边界n 个单位键盘的距离时,如果识别出的手指为左手指定手指,则该左手指定手指对应的虚拟键盘的列为以所述预设初始对应关系中该左手指定手指对应的列为起点向左平移n列后对应的列;如果识别出的手指为非左手指定手指,则根据所述预设初始对应关系,确定该非左手指定手指敲击虚拟键盘的列;[0135]当右手掌心的位置落在所述初始范围左侧,且距离所处初始范围左边界n 个单位键盘的距离,如果识别出的手指为右手指定手指,则该右手指定手指对应的虚拟键盘的列为以所述预设初始对应关系中该右手指定手指对应的列为起点向左平移n列后对应的列;如果识别出的手指为非右手指定手指,则根据所述预设初始对应关系,确定该非右手指定手指敲击虚拟键盘的列;[0136]当右手掌心的位置落在所述初始范围右侧,且距离所处初始范围右边界n 个单位键盘的距离,如果识别出的手指为右手指定手指,则该右手指定手指对应的虚拟键盘的列为以所述预设初始对应关系中该右手指定手指对应的列为起点向右平移n列后对应的列;如果识别出的手指为非右手指定手指,则根据所述预设初始对应关系,确定该非右手指定手指敲击虚拟键盘的列。[0137]所述指定手指可以为食指。[0138]同样以图5为例进行说明,同样假设手敲击虚拟键盘时手的可移动区域的总宽度与虚拟键盘的总宽度相同,将所述可移动区域分为10列,每列对应虚拟键盘的一列,且可移动区域中每列的宽度与其对应的虚拟键盘上列的宽度相同。左手手掌掌心的预设初始范围为所述可移动区域内与虚拟键盘a-d 列对应的区域。当识别出左手掌掌心落在预设的初始位置范围内时,若识别出发生敲击动作的为左手无名指,按照预设初始对应关系,确定出敲击虚拟键盘的wsx列;若识别出发生敲击动作的为左手食指,按照预设初始对应关系,确定出敲击虚拟键盘的rfv列。如果左手向右移动,左手掌心落在所述可移动区域中与虚拟键盘rfv列对应的区域,该区域距离初始范围右边界1 个单位键盘的距离,若识别出发生敲击动作的为左手无名指,仍确定出敲击虚拟键盘的wsx列(因为左手无名指为非指定手指,因此仍按照预设初始对应关系确定敲击列);若识别出发生敲击动作的为左手食指,则确定出敲击虚拟键盘的tgb列(因为左手食指为指定手指,因此对应的列也右移了1列)。如果左手继续向右移动,左手掌心落在所述可移动区域中与虚拟键盘tgb列对应的区域,该区域距离初始范围右边界2个单位键盘的距离,若识别出发生敲击动作的为左手无名指,仍确定出敲击虚拟键盘的wsx列;若识别出发生敲击动作的为左手食指,则确定出敲击虚拟键盘的yhn列。[0139]以上实施例记载了对视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的列的几种技术方案。此外,本技术还提供了根据对视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的行的技术方案。[0140]在一示例性实施例中,对所述视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的行,包括:[0141]对所述视频帧中发生敲击动作的手指弯曲形态,以及敲击动作类型进行识别,根据识别结果以及手指弯曲形态、敲击动作类型及虚拟键盘行的预设对应关系,确定敲击虚拟键盘的行。[0142]所述手指弯曲的种类可以包括以下几种:[0143]手指指尖与平面的接触角度位于[0°,30°],对应为手指自然伸直状态;[0144]手指指尖与平面的接触角度位于[60°,90°],对应手指稍微弯曲状态;[0145]手指指尖与平面的接触角度位于[120°,135°],对应手指回勾弯曲状态。[0146]图7给出了不同手指弯曲种类的示意图,图中,a对应手指自然伸直状态;b对应手指稍微弯曲状态;c对应手指回勾弯曲状态。[0147]敲击动作类型可以为:单击,多击(如双击)或滑动等。[0148]在一示例性实施例中,根据识别结果以及手指弯曲形态、敲击动作类型及虚拟键盘行的预设对应关系,确定敲击虚拟键盘的行,包括:[0149]当识别出手指指尖与平面的接触角度位于[0°,30°]且进行单击动作,则确定敲击虚拟键盘的第一行;[0150]当识别出手指指尖与平面的接触角度位于[60°,90°]且进行单击动作,则确定敲击虚拟键盘的第二行;[0151]当识别出手指指尖与平面的接触角度位于[120°,135°]且进行单击动作,则确定敲击虚拟键盘的第三行。[0152]在另一示例性实施例中,根据识别结果以及手指弯曲形态、敲击动作类型及虚拟键盘行的预设对应关系,确定敲击虚拟键盘的行,包括:[0153]当识别出手指指尖与平面的接触角度位于[0°,30°]且进行单击动作,则确定敲击虚拟键盘的第一行;[0154]当识别出手指指尖与平面的接触角度位于[60°,90°],或手指指尖与平面的接触角度位于[120°,135°],且进行单击动作,则确定敲击虚拟键盘的第二行;[0155]当识别出手指进行非单击动作,则确定敲击虚拟键盘的第三行,所述非单击动作包括:多击动作,或滑动动作。[0156]在另一实施例中,所述手指弯曲的种类还可以包括以下几种:[0157]手指指尖与平面的接触角度位于[0°,30°],对应为手指自然伸直状态;[0158]手指指尖与平面的接触角度位于[30°,60°],对应手指稍微弯曲状态;[0159]手指指尖与平面的接触角度位于[60°,90°],对应手指垂直弯曲状态。[0160]对应的,根据识别结果以及手指弯曲形态、敲击动作类型及虚拟键盘行的预设对应关系,确定敲击虚拟键盘的行,包括:[0161]当识别出手指指尖与平面的接触角度位于[0°,30°]且进行单击动作,则确定敲击虚拟键盘的第一行;[0162]当识别出手指指尖与平面的接触角度位于[30°,60°]且进行单击动作,则确定敲击虚拟键盘的第二行;[0163]当识别出手指指尖与平面的接触角度位于[60°,90°]且进行单击动作,则确定敲击虚拟键盘的第三行;[0164]或[0165]当识别出手指指尖与平面的接触角度位于[0°,30°]且进行单击动作,则确定敲击虚拟键盘的第一行;[0166]当识别出手指指尖与平面的接触角度位于[30°,60°],或手指指尖与平面的接触角度位于[60°,90°],且进行单击动作,则确定敲击虚拟键盘的第二行;[0167]当识别出手指进行非单击动作,则确定敲击虚拟键盘的第三行。[0168]在另一示例性实施例中,对所述视频帧中的手指动作进行识别,根据识别结果确定手指敲击虚拟键盘的行,包括:[0169]对所述视频帧中手指敲击区域和敲击动作类型进行识别,根据识别结果以及敲击区域、敲击动作类型以及虚拟键盘行的预设对应关系,确定敲击虚拟键盘的行。[0170]在一示例性实施例中,根据识别结果以及敲击区域、敲击动作类型以及虚拟键盘行的预设对应关系,确定敲击虚拟键盘的行,包括:[0171]当识别出手指在虚拟键盘第一行对应的区域进行单击动作,则确定敲击虚拟键盘的第一行;[0172]当识别出手指在虚拟键盘第二行对应的区域进行单击动作,则确定敲击虚拟键盘的第二行;[0173]当识别出手指在虚拟键盘第三行对应的区域进行单击动作,则确定敲击虚拟键盘的第三行。[0174]本技术上述实施例通过对视频帧中的手指动作进行识别,能够确定出手指敲击虚拟键盘的列和行,进而根据确定出的列和行能够准确定位敲击按键。[0175]本技术可以通过ui界面将手指敲击虚拟键盘的列、行和按键在同样在所述ui界面上显示的虚拟键盘上进行高亮显示;或通过ui界面仅将手指敲击虚拟键盘的按键在虚拟键盘上进行高亮显示。[0176]本技术实施例还提供了一种虚拟按键识别方法,如图8所示,所述方法包括:[0177]步骤s801接收记录手指敲击虚拟键盘的实时视频帧;[0178]步骤s802对所述视频帧中的手部姿态进行估计,根据估计结果判断所述手部姿态是否符合敲击键盘的姿态,如果符合,执行步骤s803;如果不符合,返回步骤s801,继续接收实时视频帧;[0179]步骤s803对所述视频帧中的手指动作进行识别,根据识别结果分别确定手指敲击虚拟键盘的列和行;[0180]步骤s804根据所述虚拟键盘的列和行确定手指敲击的虚拟键盘的按键。[0181]本实施例先判断视频帧中手部姿态是否符合敲击键盘的姿态,如果符合,再对视频帧中的手指动作进行识别,确保了对手指动作进行识别的有效性。[0182]在一示例性实施例中,对所述视频帧中的手部姿态进行估计,根据估计结果判断所述手部姿态是否符合敲击键盘的姿态,包括:[0183]利用手部关节点估计模型计算每只手的骨骼关节点置信度以及手的置信度,根据计算的置信度确定综合置信度,如果综合置信度小于预设阈值,则判断出手部姿态不符合敲击键盘的姿态;如果综合置信度大于预设阈值,则判断出手部姿态符合敲击键盘的姿态。[0184]所述每只手的骨骼关节点置信度为:手上的每个骨骼关节点的置信度;[0185]所述手的置信度为:手作为一个整体的置信度;[0186]利用手部关节点估计模型计算每只手的骨骼关节点置信度以及手的置信度,根据计算的置信度确定综合置信度,可以包括:将每只手的骨骼关节点置信度和手的置信度进行加权求和后得到综合置信度。置信度越接近0,表示估计结果的可信度越低;置信度越接近1,表示估计结果的可信度越高。[0187]本技术实施例还提供了一种虚拟按键识别方法,如图9所示,所述方法包括:[0188]步骤s901接收记录手指敲击虚拟键盘的实时视频帧;[0189]步骤s902在所述视频帧中进行手部跟踪,如果跟踪置信度大于预设跟踪置信度阈值,执行步骤s903;[0190]步骤s903对所述视频帧中的手部姿态进行估计,根据估计结果判断所述手部姿态是否符合敲击键盘的姿态,如果符合,执行步骤s904;如果不符合,返回步骤s901,继续接收实时视频帧;[0191]步骤s904对所述视频帧中的手指动作进行识别,根据识别结果分别确定手指敲击虚拟键盘的列和行;[0192]步骤s905根据所述虚拟键盘的列和行确定手指敲击的虚拟键盘的按键。[0193]本实施例先在视频帧中跟踪到手部图像,再判断视频帧中手部姿态是否符合敲击键盘的姿态,如果符合,再对视频帧中的手指动作进行识别,进一步确保了对手指动作进行识别的有效性。[0194]本技术实施例还提供了一种虚拟按键识别方法,如图10所示,所述方法包括:[0195]步骤s1001接收记录手指敲击虚拟键盘的实时视频帧;[0196]步骤s1002在所述视频帧中进行手部检测,如果检测到手部图像,执行步骤s1003;[0197]步骤s1003在所述视频帧中进行手部跟踪,如果跟踪置信度大于预设跟踪置信度阈值,执行步骤s1004;[0198]手部检测通常是在全帧范围内检测手部图像区域;手部跟踪是在检测到的手部图像区域内进行手部定位,相对手部检测,对手部的定位精度更高;[0199]步骤s1004对所述视频帧中的手部姿态进行估计,根据估计结果判断所述手部姿态是否符合敲击键盘的姿态,如果符合,执行步骤s1005;如果不符合,返回步骤s1001,继续接收实时视频帧;[0200]步骤s1005对所述视频帧中的手指动作进行识别,根据识别结果分别确定手指敲击虚拟键盘的列和行;[0201]步骤s1006根据所述虚拟键盘的列和行确定手指敲击的虚拟键盘的按键。[0202]本实施例先在视频帧中检测包含手部的图像区域,再在该图像区域进行手部跟踪,然后判断跟踪到的手部的姿态是否符合敲击键盘的姿态,如果符合,再对视频帧中的手指动作进行识别,进一步确保了对手指动作进行识别的有效性。[0203]在一示例性实施例中,如图11所示,步骤s1003还包括:[0204]如果跟踪置信度小于预设跟踪置信度阈值,停止进行手部跟踪,返回步骤s1002,重新在视频帧中进行手部检测。[0205]跟踪置信度小于预设跟踪置信度阈值,说明跟踪不到手部图像或跟踪不到稳定的手部图像,因此需要重新进行手部检测。[0206]在一示例性实施例中,所述方法还包括:[0207]如果跟踪置信度大于跟踪置信度阈值,统计接收到的视频帧的总数,如果总数达到预设第一总数阈值,返回步骤s1002,重新在视频帧中进行手部检测;如果总数没有达到预设第一总数阈值,再执行步骤s1004。[0208]在一示例性实施例中,所述方法还包括:[0209]如果检测到手部图像,统计接收到的视频帧的总数,如果总数达到预设第二总数阈值,执行步骤s1003;如果总数没有达到预设第二总数阈值,返回步骤s1002,重新在视频帧中进行手部检测。[0210]本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如前任一实施例所述的方法。[0211]本技术实施例还提供了一种虚拟键盘识别装置,如图12,包括存储器1201 和处理器1202,所述存储器1201存储有程序,所述程序在被所述处理器1202 读取执行时,实现如前任一实施例所述的方法。[0212]本技术实施例还提供了一种拍摄设备,所述拍摄设备内置如前所述的虚拟键盘识别装置。所述拍摄设备可以是手机、笔记本电脑、平板电脑、vr/ar 终端、车载系统等可装载摄像头的任意设备,使用方便。[0213]本技术实施例还提供了一种虚拟按键预测方法,所述方法包括:[0214]接收记录手指动作的实时视频帧;[0215]对所述视频帧中的手指动作进行识别,根据识别结果分别预测该手指欲敲击的虚拟键盘的列和行;[0216]根据所述虚拟键盘的列和行预测该手指欲敲击的虚拟键盘的按键。[0217]本实施例中,所述实时视频帧中的手指并没有进行敲击虚拟键盘的动作,因此和前述实施例记载的关于虚拟按键识别方法不同的是,对视频帧中的手指动作进行识别不包含对手指敲击这一动作进行识别。除此之外,前述虚拟按键识别方法的实施例中对所述视频帧中的手指动作(除识别手指敲击动作外)进行识别的方法均可应用于本实施例。[0218]在一示例性实施例中,所述方法还包括:[0219]将预测的虚拟键盘的按键显示在用户界面ui上。[0220]本实施例记载的方案方便用户直观判断预测的按键是否准确,提升了用户的友好度,也方便用户知晓下一步使用该手指敲击的虚拟键盘的具体按键。[0221]本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质) 和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
一种虚拟按键识别方法、装置、存储介质和拍摄设备与流程 专利技术说明
作者:admin
2023-07-19 14:05:06
910
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术