CN114138121A - 用户手势识别方法、装置、***、存储介质及计算设备 - Google Patents
用户手势识别方法、装置、***、存储介质及计算设备 Download PDFInfo
- Publication number
- CN114138121A CN114138121A CN202210117079.0A CN202210117079A CN114138121A CN 114138121 A CN114138121 A CN 114138121A CN 202210117079 A CN202210117079 A CN 202210117079A CN 114138121 A CN114138121 A CN 114138121A
- Authority
- CN
- China
- Prior art keywords
- user
- image information
- depth
- hand
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开一种用户手势识别方法、装置、***、存储介质及计算设备,该方法包括:启动预先架设的一个或一组摄像装置进行图像采集,其中在一个摄像装置的视野范围内或者在一组摄像装置的至少部分重合的视野范围内设置有交互表面;读取一个或一组摄像装置采集得到的图像信息,其中图像信息至少包括视觉图像信息和深度图像信息;根据视觉图像信息判断视野范围内是否包含用户手部图像,若是,则在用户手部图像中定位用户手部的骨骼节点和指尖节点;根据深度图像信息和指尖节点判断用户的手势操作是否针对交互表面,若是,则根据图像信息识别用户手势以执行用户指定操作。本申请解决现有技术中远程触控效果差的技术问题。
Description
技术领域
本申请涉及人机交互技术领域,具体而言,涉及一种用户手势识别方法、装置、***、存储介质及计算设备。
背景技术
常见的触控识别方案是基于红外线和红外摄像头来进行的,通过在平面上发射红外信号,可在用户进行按压等触碰动作时实现对红外线的遮挡;进而红外摄像头便可捕获到当前受到遮挡所产生的红外光斑,对红外光斑进行解析,便得到了用户当前的触控位置,但该技术有诸多限制。
受限于平面,考虑到红外线的投射是需要紧贴触控桌面的,只有这样才能正确的被红外摄像头识别到用户所遮挡的光斑,对于非完全平面,例如球面,容易受到影响。且当交互平面(一般为桌面)上放置有物体时,会导致误触,且该物体会破坏红外光栅层的连续性导致交互面断层。
受限于设备自身,红外触控识别方法需要平面上所安装红外信号发射单元以及用于识别红外线遮挡情况的红外摄像头两部分,不利于设备的转移以及拓展,使用场景容易因此受限。
受限于距离,红外触控由于需要双设备配合,因此如果需要进行较远距离的触控,容易面临两个问题:一是无法安装红外发射单元,二是由于距离过远导致空气对红外摄像头对红外线的识别受到影响,因此无法适用于远控情景。
针对上述现有技术中远程触控效果差的技术问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种用户手势识别方法、装置、***、存储介质及计算设备,以至少解决现有技术中远程触控效果差的技术问题。
根据本申请实施例的一个方面,提供了一种用户手势识别方法,包括:启动预先架设的一个或一组摄像装置进行图像采集,其中在一个摄像装置的视野范围内或者在一组摄像装置的至少部分重合的视野范围内设置有交互表面,以供用户使用手部在该交互表面执行手势操作;读取所述一个或一组摄像装置采集得到的图像信息,其中所述图像信息至少包括视觉图像信息和深度图像信息;根据所述视觉图像信息 判断所述视野范围内是否包含用户手部图像,若是,则在所述用户手部图像中定位用户手部的骨骼节点和指尖节点;根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面,若是,则根据所述图像信息识别用户手势以执行用户指定操作。
根据本申请实施例的另一个方面,提供一种用户手势识别装置,包括:摄像模块,包括预先架设的一个或一组摄像装置,用于进行图像采集,其中在一个摄像装置的视野范围内或者在一组摄像装置的至少部分重合的视野范围内设置有交互表面,以供用户使用手部在该交互表面执行手势操作;读取模块,用于读取所述一个或一组摄像装置采集得到的图像信息,其中所述图像信息至少包括视觉图像信息和深度图像信息;第一判断模块,用于根据所述视觉图像信息判断所述视野范围内是否包含用户手部图像,若是,则在所述用户手部图像中定位用户手部的骨骼节点和指尖节点;第二判断模块,用于根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面,若是,则根据所述图像信息识别用户手势以执行用户指定操作。
根据本申请实施例的另一个方面,提供一种用户手势识别***,其特征在于,该***包括:预先架设的一个或一组摄像装置,用于进行图像采集,其中在一个摄像装置的视野范围内或者在一组摄像装置的至少部分重合的视野范围内设置有交互表面,以供用户使用手部在该交互表面执行手势操作;预先架设的投影装置,用于在所述交互表面上投射一用户交互界面,所述用户交互界面上显示至少一个可供用户操作的目标对象;存储有指令的存储器;处理器,执行所述指令以执行:读取所述一个或一组摄像装置采集得到的图像信息,其中所述图像信息至少包括视觉图像信息和深度图像信息,第一判断模块,用于根据所述视觉图像信息判断所述视野范围内是否包含用户手部图像,若是,则在所述用户手部图像中定位用户手部的骨骼节点和指尖节点,第二判断模块,用于根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面,若是,则根据所述图像信息识别用户手势以执行用户指定操作。
在上述任一实施例的基础上,根据所述手部图像预测针对每一骨骼节点的热力
图,其中所述热力图中像素位置的数据为该像素位置属于某个骨骼节点的概率包括:利用
hourglass得到的标注生成手部关节点k的热力图,其中,所述热力图是一个概率图,和
图片的像素组成一致,每一个像素位置上的数据是当前像素是某个关节的概率:;其中,手部关节点在各个像素区域识别准确度的热
力图示,为一个概率图,已经在文章中进行解释;:利用hourglass框架对图片进行处理得
到的和各像素点对应的数据;P:同样为hourglass框架处理后得出的收官阶段在图像中的
预测位置,Σ为热力图局部作用范围控制参数,参数值设定为高斯核函数中带宽参数的平
方;根据热力图,进一步得到手关节点k在图像中的位置L,基于预测的位置进行进一步的
矫正,已得到更准确的位置信息,L即是基于和通过计算得到的校正后的手关节点在图
像中的位置,。
根据本申请实施例的另一个方面,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任一实施例的方法。
根据本申请实施例的另一个方面,提供了一种计算设备,包括处理器,处理器用于运行程序,其中,程序运行时执行上述任一实施例的方法。
在本申请实施例中,通过启动预先架设的一个或一组摄像装置进行图像采集,其中在一个摄像装置的视野范围内或者在一组摄像装置的至少部分重合的视野范围内设置有交互表面,以供用户使用手部在该交互表面执行手势操作;读取所述一个或一组摄像装置采集得到的图像信息,其中所述图像信息至少包括视觉图像信息和深度图像信息;根据所述视觉图像信息 判断所述视野范围内是否包含用户手部图像,若是,则在所述用户手部图像中定位用户手部的骨骼节点和指尖节点;根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面,若是,则根据所述图像信息识别用户手势以执行用户指定操作,实现了精确远程触控的技术效果,进而解决了现有技术中远程触控效果差的技术问题。
本申请具备如下有益效果:
1、使得触控识别技术可以对更多场景下适用,不再受限于平面,对于曲面,物体分布杂乱的桌面同样可以实现优秀的识别。
2、用户可以在一定程度上自定义交互平面,而不囿于桌面。例如当用户在桌面上放置书本时,以书本平面为交互面进行点击操作也是可行的。
3、优化了触控识别的设备,只需RGB摄像头与深度摄像头(或者一个双目摄像头),进而将算法写入计算板中,便可实现用户触控的识别,更加灵活。
4、可以将触控技术应用到远距离触控的场景中,不再需要其他设备的辅助便可实现用户的远控需求。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现用户手势识别方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种用户手势识别方法的流程图;
图3是根据本申请实施例的投射用户交互界面示意图;
图4是根据本申请实施例的用于识别用户手掌的神经网络基础架构示意图;
图5是根据本申请实施例的预先定义手部区域骨关节点示意图;
图6a是根据本申请实施例的在视觉图像信息检测用户手部图像并标记骨关节点的示意图;
图6b是根据本申请实施例的在深度图像信息标定用户手部骨关节点的示意图;
图7是根据本申请实施例的一种确定交互表面的方法的流程图;
图8是根据本申请实施例的另一种确定交互表面的示意图;
图9是根据本申请实施例的另一种用户手势识别方法的流程图;
图10是根据本申请实施例的一种用户手势识别装置的结构示意图。
具体实施方式
如下所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,还提供了一种用户手势识别方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现用户手势识别方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102a-102n(处理器102a-102n可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
上述一个或多个处理器102a-102n和/或其他数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的用户手势识别确定方法对应的程序指令/数据存储装置,处理器102a-102n通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102a-102n远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处,需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
本申请在上述运行环境下运行如图2所示的一种用户手势识别方法。图2是根据本申请实施例的用户手势识别方法的流程图,该方法应用于移动终端、计算机、投影仪等设备,这些设备均可基于图1所述的计算机终端实现。
参见图2所示,用户手势识别方法可以包括:
步骤S202:启动预先架设的一个或一组摄像装置进行图像采集,其中在一个摄像装置的视野范围内或者在一组摄像装置的至少部分重合的视野范围内设置有交互表面,以供用户使用手部在该交互表面执行手势操作;
在一种可选方案中,摄像装置可以为RGB摄像头,或者RGB摄像头+深度摄像头,或者双目深度摄像头,或者TOF摄像头。本申请摄像装置中所包含的摄像头数量不做限制,只要能采集视觉图像信息+深度图像信息即可,其中视觉图像信息可以是彩色图像信息,也可以是灰度图像信息,甚至可以是红外图像信息。例如,可直接运用RGB、深度摄像头通过三维结构光进行深度的识别,该组合对40cm之内的较近距离能达到很好的识别效果。又例如,可将双目摄像头,通过双目摄像头计算量大的特点,可能在实时性上稍微有些落后,但识别范围不再有着40cm的限制,较近情况下也可实现对深度信息的识别,进而输出RGB图,来结合关节点预测结果共同判断触控行为。且双目摄像头可同时获取RGB与深度图像(深度图像需要通过RGB图像计算得出),在图像匹配上较为简单。
在一种可选方案中,当预先架设一组摄像装置,即包含多个摄像装置或摄像头时,虽然每一摄像装置或许可以单独完成本申请所述的方法,那这种情况就可落入本申请预先架设一个摄像装置的技术方案的范围,预先架设一组摄像装置重点在于一组摄像装置之间的融合联动,这要求这一组摄像装置需有至少一小部分重合视野范围,以便于联动识别用户在重合视野范围的手势动作。
在一种可选方案中,交互表面可以为平面,也可以为任意曲度的曲面,甚至是凹凸不平的表面,交互表面可以指真实物体表面,例如桌面、墙体,还可以指虚拟物体表面,例如桌面上放置任意具有一定高度的物体后该物体表面对应的虚拟表面。
步骤S204:读取所述一个或一组摄像装置采集得到的图像信息,其中所述图像信息至少包括视觉图像信息和深度图像信息;
在一种可选方案中,视觉图像信息和深度图像信息可以由不同的摄像装置采集,并同步进行处理;还可以由同一摄像装置采集。在一种可选实施方式中,视觉图像信息和深度图像信息在时间维度上和空间维度上均对应,简单来说,就是视觉图像信息和深度图像信息是针对同一摄像区域的、同一时刻的图像,如此,可对视觉图像信息和深度图像信息进行深度融合。
在一种可选方案中,视觉图像信息例如是摄像装置采集的原始彩色图像信息或是灰度图像信息,可以是摄像装置原始采集的直观视觉图像,也可以是经过初步处理的直观视觉图像。该视觉图像信息用于通过预设算法进行手部轮廓、手指关节节点、指尖节点的监测,该预设算法可以通过图像识别技术实现。
在一种可选方案中,在一种具体实施方案中,深度图像例如是指将从摄像装置到待采集图像中各点的距离(深度值)作为像素值的图像,即深度图像信息可以是图像中所有点的像素值均为深度值的图像,在另一种具体实施方案中,也深度图像信息可以是视觉图像中局部区域的像素点的深度信息,在这种情况下,可以无需专门的深度摄像装置进行深度图像信息的采集,而只需对视觉图像信息进行处理,识别出其中的手部图像,并据此定位出用户手部的骨骼节点和指尖节点,从而再对视觉图像信息进行处理,获取用户手部图像甚至指尖节点对应区域内的深度信息即可,这种方式因无需专门的深度摄像装置从而可简化***硬件资源,还因无需处理所有图像区域内的深度信息从而可简化***处理器资源。
步骤S206:根据所述视觉图像信息判断所述视野范围内是否包含用户手部图像,若是,则在所述用户手部图像中定位用户手部的骨骼节点和指尖节点;
在一种可选方案中,用户手部例如手掌,对所述视觉图像信息进行分析,判断视觉图像信息中可能包含用户手掌,当检测出用户手掌的概率大于阈值时,判断视野范围内包含用户手部图像。对用户手部图像进行跟踪和处理,确定用户手部的骨骼节点和指尖节点。
在一种可选方案中,使用者的手部进入例如RGB摄像头的视野范围内,RGB摄像头持续获取手部图片,通过***处理解析出手部的21个关键骨关节点,并且对指尖的五个关键骨关节点进行跟踪。
此处需要说明的是,本申请中基于视觉图像信息识别出用户手掌,进而识别出手掌中关键骨关节点影像,利用骨关节点来推算用户触控点。相比于基于图片进行建模、并仅根据图片中用户手部轮廓以及指尖影像来推算用户触控点的方案,本申请的基于骨关节点的识别技术无疑更高效、准确。
步骤S208:根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面,若是,则根据所述图像信息识别用户手势以执行用户指定操作。
在一种可选方案中,用户点击交互表面时,指尖与交互表面的深度差会达到一个设定的阈值(约6-10mm)。深度摄像头持续采集范围内的深度信息,***通过判断指尖节点的坐标对应深度值与交互表面深度值之差,来判定为是否为一次点击事件。
在上述任一实施例的基础上,在步骤S202:启动预先架设的一个或一组摄像装置进行图像采集之前,该方法还包括:初始化一个或一组摄像装置。
在上述任一实施例的基础上,该方法还包括:步骤S201:启动投影装置在所述交互表面上投射一用户交互界面,所述用户交互界面上显示至少一个可供用户操作的目标对象。
图3是根据本申请实施例的投射用户交互界面示意图,如图3所示,投影在桌面上的用户交互界面中包含多个目标对象,例如图片、文本控件、控制按钮、链接、应用图标、网页、程序界面等,并且有多种可选的主主题,例如护眼、夜间这种。本申请不限制用户交互界面所显示的内容,只要当前其他技术的用户交互界面上可以显示,就可应用于本申请的用户交互界面上。
在一种可选方案中,投影装置例如投影仪,对投影仪进行初始化,在对应平面上投影出当前的操作界面信息。RGB摄像头、深度摄像头开始工作,向***持续输入图片信息流。
在上述任一实施例的基础上,步骤S206:根据所述视觉图像信息判断所述视野范围内是否包含用户手部图像包括:
步骤S2062:建立神经网络模型,所述神经网络模型包括特征提取卷积层,候选区提取网络,候选区池化层以及分类器,其中:
将所述视觉图像信息从所述特征提取卷积层输入至所述神经网络模型;
所述特征提取卷积层用于将输入的视觉图像信息中的图片帧处理为特征图;
所述候选区提取网络用于在特征图尺度上设置预设数量的候选区,并利用深度网络判断候选区为正样本或负样本,其中,正样本指示候选区中包含用户手部图像,负样本指示候选区中不包含用户手部图像;具体的,在所述特征图尺度上,针对每个点以多种尺寸和多种长宽比例设置多种候选框,随后,具体的,所述候选区提取网络用于在所述特征图尺度上,针对每个点以三种尺寸和三种长宽比例,共设置9种候选框,分别尺寸为(0.5,0.5)、(1,0.5)、(0.5,1)、(1,1)、(2,1)、(1,2)、(2,2)、(4,2)、(2,4),随后用深度网络判断哪些区域是正样本,哪些区域是负样本。
所述候选区池化层用于将判断为正样本区域的特征图,池化为固定大小的图像;
所述分类器用于将池化后的图像进行分类,以根据分类结果判断输入至所述神经网络模型的视觉图像信息中是否包含用户手部图像。
图4是根据本申请实施例的用于识别用户手掌的神经网络基础架构示意图;如图4所示,手掌检测模型采用了一个基于Faster R-CNN的架构来进行单类检测。该Faster R-CNN的基础架构如图中所示,主要包含4个部分的内容,特征提取卷积层(Conv Layers)、候选区提取网络(Region Proposal Networks)、候选区池化层(ROI Pooling)、分类器(Classifier),其具体功能及作用同上文。检出手掌之后,可以采用一个基于光流的手掌跟踪算法,来提高手掌跟踪的帧率。
在上述任一实施例的基础上,步骤S206:在所述用户手部图像中定位用户手部的骨骼节点和指尖节点包括:
步骤S2065:预先定义手部区域具备预定数量的骨骼节点;
在一种可选方案中,图5是根据本申请实施例的预先定义手部区域骨骼节点示意图,如图5所示,手部区域包含21个骨骼节点,其中节点4,8,12,16,20为指尖节点。在本申请实施例中,骨骼节点包含指尖节点,根据骨骼节点的定义,从图像中标记出所有或大部分的骨骼节点以提高标定准确性,随后将骨骼节点中指尖末端的骨骼节点标记为指尖节点。
步骤S2066:在所述手部图像中标定所述预设数量的每一骨骼节点;
步骤S2067:根据所述手部图像预测针对每一骨骼节点的热力图,其中所述热力图中像素位置的数据为该像素位置属于某个骨骼节点的概率;
步骤S2068:根据所述概率确定每一骨骼节点的位置;
步骤S2069:将手部末端的骨骼节点确定为所述指尖节点。
图6a是根据本申请实施例的在视觉图像信息检测用户手部图像的示意图;如图6a所示,RGB摄像头获取手部图片,通过手掌检测分离处图片中的手掌区域。***通过手部骨关节点标定算法,分析出第一步检测出的手掌的21个关键骨节点,并且存储21个节点的坐标。当用户的手发生移动时,***会对手部指尖的五个关键节点进行跟踪,根据节点的变化情况实时更新节点坐标队列。
在上述任一实施例的基础上,步骤S2067:根据所述手部图像预测针对每一骨骼节点的热力图,其中所述热力图中像素位置的数据为该像素位置属于某个骨骼节点的概率包括:
步骤S20674:基于如下公式生成骨骼节点k的热力图:,其中所述热力图为与所述手部图像对应一致的概率图,
所述概率图中每一个像素位置上的数据是当前像素属于某个骨骼节点的概率,其中,Σ为
热力图局部作用范围控制参数,参数值设定为高斯核函数中带宽参数的平方;
在上述任一实施例的基础上,根据所述手部图像预测针对每一骨骼节点的热力
图,其中所述热力图中像素位置的数据为该像素位置属于某个骨骼节点的概率包括:利用
hourglass得到的标注生成手部关节点k的热力图,其中,所述热力图是一个概率图,和
图片的像素组成一致,每一个像素位置上的数据是当前像素是某个关节的概率:;其中,手部关节点在各个像素区域识别准确度的热
力图示,为一个概率图,已经在文章中进行解释;:利用hourglass框架对图片进行处理得
到的和各像素点对应的数据;P:同样为hourglass框架处理后得出的收官阶段在图像中的
预测位置,Σ为热力图局部作用范围控制参数,参数值设定为高斯核函数中带宽参数的平
方;根据热力图,进一步得到手关节点k在图像中的位置L,基于预测的位置进行进一步的
矫正,已得到更准确的位置信息,L即是基于和通过计算得到的校正后的手关节点在图
像中的位置,。
第二步的骨关节点标定模型需要输出三类数据,第一个是21个关键点的x,y坐标,第二个是标志着手部存在概率的值,第三个是该手部模型是左手或是右手的标识符。
算法使用一个类似CPM(Convolutional Pose Machine)的模型来输出手部的21个关键点的坐标,使用了多尺度的方式来扩大感受野。算法使用一个模型来快速实时地判断,在第一步手掌检测模型所给出的手掌检测框内,是否有一个合理的手部结构存在,并输出一个概率。假如概率小于某个阈值,将会重新启动第一步的手掌检测模型。
这里给出关节点预测的具体公式,通过以下公式处理可以得到用户的手部姿势:
公式一:利用hourglass得到的标注生成手部关节点k的热力图(热力图是一个
概率图,和图片的像素组成一致,不过每一个像素位置上的数据是当前像素是某个关节的
概率,基于概率分析出进一步的关节信息),Σ为热力图局部作用范围控制参数,参数值设
定为高斯核函数中带宽参数的平方:
然后关于如何得到具体的动作,便是首先对姿势进行分类,并对每一类给出每个关节点的位置区域,只要各个关节点在相应取余就判定为当前动作。
在上述任一实施例的基础上,步骤S208:根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面包括:
步骤S2081:根据所述深度图像信息确定所述交互表面的第一深度值;
在一种可选方案中,交互表面可以为真实物理表面,也可以为虚拟表面,可以首先根据图像中各像素点的深度值确定出一交互表面,从而可得知该交互表面的深度值,也可以预先确定出固定位置的交互表面,从而直接根据该固定位置确定交互表面的深度值。
步骤S2082:根据所述深度图像信息和所述指尖节点的坐标,确定所述指尖节点的第二深度值;
在一种可选方案中,深度图像信息与视觉图像信息在物理空间和时间维度上均对应,即二者对应的同一区域的同一时刻的手部动作。当根据视觉图像信息确定出用户手部和骨骼节点后,在深度图像信息中对应标记出用户手部和骨骼节点。图6b是根据本申请实施例的在深度图像信息标定用户手部图像的示意图;标记结果可参见图6b所示。
步骤S2083:当所述第一深度值与所述第二深度值之间的差值小于预设阈值时,确定用户的手势操作针对所述交互表面。
在一种可选方案中,当用户的指尖节点的深度最终与交互表面的深度基本接近时,可以视为用户的手势操作针对该交互表面。具体的,当用户点击交互界面时,指尖与桌面的深度差会达到一个设定的阈值(约5-8mm)。当通过RGB+深度摄像头的方式时,深度摄像头持续采集范围内的深度信息,***通过判断指尖关键骨节点的坐标对应深度值与桌面深度值之差,来判定为是否为一次点击事件。第一步:使用者利用手指或其他遮挡物对需要进行交互的位置进行按压,与交互面的深度差会达到一个阈值,通常是6-10毫米。第二步:***对用户指尖进行跟踪,当***发现用户指尖对应坐标的深度与桌面的深度达到***预定的阈值时,确认这是一次有效的点击事件,并且存储当前的点击坐标。
在一种可选方案中,当采用双目深度摄像头的方式时,利用双目摄像头对当前场景进行拍摄,获取到当前场景的左右图片,并对信息进行预处理以及略微的矫正。获取到处理后的图片后,进一步利用基于卷曲神经网络的手部检测算法和手部骨节点标定算法进行手部各骨关节点位置的预测与跟踪,进而便可得到用户当前的手部姿势,储存后等待下一步使用。通过双目摄像机获取的两张图片实时计算场景物体的深度,如果判断出手部骨关节点与投影平面距离相差小于5mm,则判定用户动作为按压平面。
在一种可选方案中,触摸检测部分定义双手的指尖部分为有效触控部位,将手关键点检测模型输出的5个指尖部分关键点的坐标与深度和触控表面背景的深度图进行比对,深度差在某个阈值内,即视为有效触控。
在上述任一实施例的基础上,步骤S208:若是,则根据所述图像信息识别用户手势以执行用户指定操作包括:
步骤S2084:当确定用户的手势操作是针对所述交互表面时,在所述交互表面上确定用户手势操作所选择的目标对象,并读取用户针对所述交互表面进行手势操作的时刻的前后多帧图像信息;
例如,当用户的手指触及交互表面即用户指尖与交互表面深度差小于阈值时,可视为用户的手势操作针对该交互表面。此时,可以先根据用户的手指触及交互表面的位置,从交互表面上显示的至少一个可供用户操作的目标对象中选择其中一个目标对象。随后,获取用户手指指尖点击交互表面的时刻之前多帧图像信息,并据此判断用户的完整手势。
步骤S2085:根据所述前后多帧图像信息确定用户的完整手势动作;
例如,用户的完整手势动作可以是单个手势,如张开手掌、握拳、比划特定手势如V字形手势,还可以是多种手势的组合,例如先握拳再比划特定手势。
步骤S2086:根据预存的完整手势动作与操作指令的对应关系,确定所述完整手势动作对应的操作指令;
例如,张开手掌即表示拖动动作,握拳表示缩小视图动作,比划V字形手势表示截图动作。
步骤S2087:针对用户手势操作所选择的目标对象执行所述操作指令,以使投影装置更改所述用户交互界面。
通过上述步骤,可以先确定用户点击交互表面即先确定出用户有操作意图,再对用户手势动作进行识别,可以避免用户手势误操作。步骤S2084可确定用户具体要操作的目标对象或显示元素,步骤S2085可确定用户要对该目标对象或显示元素执行什么操作。举例来说,用户先张开手掌即表示要执行拖动动作,随后根据用户的按压位置决定要拖动哪个目标对象,例如哪个图标或哪个窗口;又或者用户先伸出食指表示点击动作,随后根据食指顶端触及交互表面的位置来确定点击位置,随后执行该点击位置对应的目标对象/控件对应的功能;再或者用户比划V字形手势表示截图动作,随后根据食指顶端触及交互表面的位置来确定截图区域。
在一种可选方案中,在判断出为点击事件后,为了分析用户的具体动作,从存储中获取前几帧的点击信息,将这些信息同样也作为下一步分析的源数据。具体的,依据当前用户状态和动作进一步计算,得出当前用户调用的方法,同时将投影仪需要作出的改变传输至投影仪,该方法具体包括:利用多帧状态信息分析出用户的手指动作,进一步得到用户的轨迹信息。
在一种可选方案中,以摄像头帧率为50帧对多帧状态分析方法的具体流程进行简易描述,本发明不以此为限。
(1)当***对当前的图片中用户动作判断为按压行为时,便需要对一个持续时间进行判断,这里假设按压动作持续100ms(即5帧)算是一个真正的按压事件,并进一步去调用相应的处理方法。
(2)当仅检测到某一帧用户为按压行为时,***会开始查询操作,首先会获取前一帧用户的行为类型,如果识别为为同一手部位置的按压行为,则***继续获取前一帧的影响。当遇到非法行为(非同一位置的按压行为或者非按压行为),会进行特殊处理:跳过这一帧再向前读一帧。
(3)此时有两种情况:1.再向前的一帧仍为非法行为则本次查询终止,此时当前帧不能算作真正的按压事件,多帧判断结束,***开始等待下一帧的用户行为并判断。2.再向前的一帧可以识别为同一手部位置的按压行为,那么之前遇到的非法行为被标记为错误数据,并当做一个同一手部位置的按压行为来进行处理。
(4)在经过查询和特殊处理之后,如果计算板判断此时已经有连续五帧同一位置的按压行为,则会将其视为真正的按压事件,多帧判断结束,进行后续具体按压位置的手部关节点识别。
此外需要说明的是,在方法流程中可能还提到了基于其他数据的多帧判断,也是类似,只是获取到用户当前行为类型的过程不同,不过多帧比较的原理都是上述的原理。
在一种可选方案中,获取当前投影仪的投影内容,并结合轨迹信息对按压位置所涉及的功能进行判断,借助点击位置处功能的识别。在了解所涉及、功能后,如果功能是某一事件的调用则进行调用,并记录调用信息,如果是纯粹的标记添加则记录下标记信息。将用户动作所产生的调用信息或者标记信息传输至投影仪。投影仪根据计算板传输的信息对投影内容进行更新,其中,投影仪实时获取计算板的信息,在获取信息后与计算板中对信息的配置进行对比,得出信息的类型,如果是标记信息则直接在投影内容上绘制出相应的内容,如果是调用信息则利用计算板的存储功能,获取需要更新到的投影界面,并将投影界面进行显示。
在上述任一实施例的基础上,所述完整的手势动作至少包括第一手势动作和第二手势动作,所述第一手势动作用于标记所述用户交互界面上显示的目标对象,所述第二手势动作用于更新所述用户交互界面上显示的目标对象,其中步骤S2087:执行所述操作指令,以控制投影装置更改所述用户交互界面上显示的目标对象包括:
步骤S20871:当确定用户的完整手势动作是所述第一手势动作时,执行与所述第一手势动作对应的第一操作指令,在所述用户交互界面上用户指定的目标对象处绘制对应的标记图样;
步骤S20872:当确定用户的完整手势动作是所述第二手势动作时,执行与所述第二手势动作对应的第二操作指令,读取需要更新的用户交互界面数据并将需要更新的用户界面数据进行投射。
在上述任一实施例的基础上,所述交互表面为物理表面,步骤S2081:根据所述深度图像信息确定所述交互表面的第一深度值包括步骤S2081A、S2081B以及S2081C这三种方式,其中S2081A、S2081B的方法可称为整体建模法,该方法针对的是整个接触平面,所以只有当用户接触到桌面这一交互平面时才能有效点击,即交互面固;S2081C的方法可称为局部点集法针对的是一个虚拟的交互面,并不要求一定是桌面。例如用户将书本放在桌面上时,用户可以以书本平面为交互面进行交互,即交互面取决于用户。以下对S2081A、S2081B以及S2081C这三种方式进行详细说明。
在上述任一实施例的基础上,S2081A方式包括:步骤S2081A1:对所述物理表面进行建模,根据所述深度图像信息和建模信息确定所述物理表面的第一深度值。
在一种可选方案中,上述整体建模法关注整个交互平面的建模,进而判断指尖与建模平面的深度差。
在上述任一实施例的基础上,S2081B方式包括:该方式可针对虚拟交互表面,
步骤S2081B1:从所述深度图像信息中提取出一滚动窗口;
步骤S2081B2:根据所述滚动窗口计算每个像素点的深度均值和深度标准差;
步骤S2081B3:判断所述深度标准差是否大于预设阈值;
步骤S2081B4:若是,则返回从所述深度图像信息中提取出一滚动窗口的步骤;
步骤S2081B5:若否,则基于所述深度均值对所述虚拟表面进行建模,将所述每个像素点的深度均值确定为所述虚拟表面的第一深度值。
具体的,上述整体建模法采用动态建模,即当平面上发生变化时(例如平面上放置了物体)应该去更新该平面的模型。图7是根据本申请实施例的确定交互表面的方法的流程图,如图7所示,该方法具体流程如下:
S1:对于每一个深度图的像素,从深度流中取出一个滚动窗口(本算法中使用的滚动窗口长度为3秒),通过滚动窗口计算每个像素点深度的均值和标准差。
S2: 基于第一个滚动窗口进行表面建模时,每个像素的均值构成了背景的深度建模。
S3:之后的滚动窗口将用于背景建模的动态更新,当通过后续滚动窗口计算得出的标准差超过某个阈值时,说明环境正在发生较大的变化,深度图将不会发生更新,直到标准差重新回落到正常范围内时,深度图的更新才会进行。
在上述任一实施例的基础上,所述交互表面为物理表面或虚拟表面,S2081B方式包括:
步骤S2081C1:定位所述用户手部的指尖节点在所述交互表面上的第一位置;
步骤S2081C2:划定包含所述第一位置的第一局部区域;
步骤S2081C3:根据所述深度图像信息确定所述第一局部区域中每个像素点的深度均值;
步骤S2081C4:根据所述每个像素点的深度均值确定所述第一局部区域的深度均值,并作为所述第一深度值。
具体的,不同于整体建模法对整个交互平面的模拟,局部点集法只关注指尖对应的骨节点附近的背景深度。具体流程如下:
S1:从手部骨节点标定算法中获取指尖的骨节点坐标,并根据此时指尖坐标与下节点的长度来动态获取一定区域内的背景。图8是根据本申请实施例的另一种确定交互表面的示意图;如图8所示,此时***会对圆形区域的点集进行均值计算,以当作此时的背景交互面深度。
S2:对背景深度进行排序,选取中间70%的数据点,计算这70%数据点的深度均值,作为当前交互面深度。如图8所示,此时***会对圆形区域的中间70%的点集的深度进行均值计算,以当作此时的背景交互面深度。
在上述任一实施例的基础上,步骤S202:启动预先架设的一个或一组摄像装置进行图像采集包括:
步骤S202A:启动预先架设的一个摄像装置,所述一个摄像装置同时采集视觉图像信息和深度图像信息,其中所述一个摄像装置同时采集视觉图像信息和深度图像信息包括:所述一个摄像装置首先采集视觉图像信息,对所述视觉图像信息进行处理,生成对应的热力图数据,所述热力图数据中像素位置的数据为该像素位置的深度信息的概率,根据所述概率确定所述视觉图像信息对应的深度图像信息;或者
步骤S202B:启动预先架设的一组摄像装置,所述一组摄像装置包括RGB摄像头和深度摄像头,所述RGB摄像头用于采集视觉图像信息,所述深度摄像头用于采集深度图像信息;或者
步骤S202C:启动预先架设的一组摄像装置,所述一组摄像装置包括双目深度摄像头,所述双目深度摄像头同时采集视觉图像信息和深度图像信息。
在一种可选方案中,图9是根据本申请实施例的另一种用户手势识别方法的流程图,该图对应的方案采用视觉信息采集单元(RGB摄像头和3D结构光摄像头的镜头组合或双目摄像头)、投影控制单元(投影仪)、计算分析单元(计算板),如图9所示,该方法包括:
S1:投影仪初始化,在对应平面上投影出当前的操作界面信息。RGB摄像头、深度摄像头开始工作,向***持续输入图片信息流。
S2:使用者的手部进入RGB摄像头的视野范围内,RGB摄像头持续获取手部图片,通过***处理解析出手部的21个关键骨关节点,并且对指尖的五个关键骨关节点进行跟踪。
S3:当用户点击交互界面时,指尖与桌面的深度差会达到一个设定的阈值(约6-10mm)。深度摄像头持续采集范围内的深度信息,***通过判断指尖关键骨节点的坐标对应深度值与桌面深度值之差,来判定为是否为一次点击事件。
S4:计算板分析出某一位置是用户的点击事件,计算板从存储中获取前几帧的点击信息,进一步分析用户动作。
S5:计算板依据当前用户状态和动作进一步计算,得出当前用户调用的方法,同时将投影仪需要作出的改变传输至投影仪。
S6:投影仪根据计算板传输的信息对投影内容进行更新。
在一种可选方案中,用户手势识别方法的流程还可以包括:
S1:投影仪初始化,在对应平面上投影出当前的操作界面信息。RGB摄像头、深度摄像头开始工作,向***持续输入图片信息流。
第一步:投影仪初始化,进行对焦,梯形校正,进行画面信号的重合和校准判断,直到投影清晰,显示加载中的操作界面。
第二步:RGB摄像头、深度摄像头通过分别通过openCV与openNI的调用进行初始化,持续将图像流向***输入。
第三步:投影仪从计算板中获取当前用户的设置,并投影出正确的用户操作界面。
S2:使用者的手部进入RGB摄像头的视野范围内,RGB摄像头持续获取手部图片,通过***处理解析出手部的21个关键骨关节点,并且对指尖的五个关键骨关节点进行跟踪。
第一步:RGB摄像头获取手部图片,通过手掌检测分离处图片中的手掌区域。
第二步:***通过手部骨关节点标定算法,分析出第一步检测出的手掌的21个关键骨节点,并且存储21个节点的坐标。
第三步:当用户的手发生移动时,***会对手部指尖的五个关键节点进行跟踪,根据节点的变化情况实时更新节点坐标队列。
S3:当用户点击交互界面时,指尖与桌面的深度差会达到一个设定的阈值(约5-8mm)。当通过RGB+深度摄像头的方式时,深度摄像头持续采集范围内的深度信息,***通过判断指尖关键骨节点的坐标对应深度值与桌面深度值之差,来判定为是否为一次点击事件。
第一步:使用者利用手指或其他遮挡物对需要进行交互的位置进行按压,与交互面的深度差会达到一个阈值,通常是6-10毫米。
第二步:***对用户指尖进行跟踪,当***发现用户指尖对应坐标的深度与桌面的深度达到***预定的阈值时,确认这是一次有效的点击事件,并且存储当前的点击坐标。
S4:计算板分析出某一位置是用户的点击事件,计算板从存储中获取前几帧的点击信息,进一步分析用户动作。
第一步:在判断出为点击事件后,为了分析用户的具体动作,从存储中获取前几帧的点击信息,将这些信息同样也作为下一步分析的源数据。图8为***判断出点击事件,做出相应的响应。
S5:计算板依据当前用户状态和动作进一步计算,得出当前用户调用的方法,同时将投影仪需要作出的改变传输至投影仪。
第一步:计算板利用多帧状态信息分析出用户的手指动作,进一步得到用户的轨迹信息,关于多帧状态的具体流程,见基础扩展流程——补充流程。
第二步:获取当前投影仪的投影内容,并结合轨迹信息对按压位置所涉及的功能进行判断,借助点击位置处功能的识别。
第三步:在了解所涉及、功能后,如果功能是某一事件的调用则进行调用,并记录调用信息,如果是纯粹的标记添加则记录下标记信息。
第四步:计算板将用户动作所产生的调用信息或者标记信息传输至投影仪。
S6:投影仪根据计算板传输的信息对投影内容进行更新。
第一步:投影仪实时获取计算板的信息,在获取信息后与计算板中对信息的配置进行对比,得出信息的类型。
第二步:如果是标记信息则直接在投影内容上绘制出相应的内容
第三步:如果是调用信息则利用计算板的存储功能,获取需要更新到的投影界面,并将投影界面进行显示。
在一种可选方案中,***的默认实现硬件为RGB摄像头与3D结构光深度摄像头结合。其中RGB摄像头负责拍摄彩色图像,向***提供手部照片以供节点解析。3D结构光深度摄像头目的是实现深度信息的采集,进一步判断用户指尖与交互面的深度差。
在一种可选方案中,采用双目深度摄像头来同时进行RGB和3D结构光摄像头的操作,即同时负责彩色图像与深度图像的获取。优势在于没有离桌面的最低高度(3D结构光摄像头离桌面最少约为40cm),且可以同时获取彩色和深度数据。
具体详细流程:
S1:双目摄像头初始化,实时获取当前用户的手部姿势信息,同时利用计算板进行手部的圈定。
第一步:利用双目摄像头对当前场景进行拍摄,获取到当前场景的左右图片,并对信息进行预处理以及略微的矫正。
第二步:获取到处理后的图片后,进一步利用基于卷曲神经网络的手部检测算法和手部骨节点标定算法进行手部各骨关节点位置的预测与跟踪,进而便可得到用户当前的手部姿势,储存后等待下一步使用。
S2:当计算板分析出某一帧用户动作为按压平面,则计算板从存储中获取前几帧用户的动作信息,进一步分析用户动作。
第一步:通过双目摄像机获取的两张图片实时计算场景物体的深度,如果判断出手部骨关节点与投影平面距离相差小于5mm,则判定用户动作为按压平面。
第二步:在判断出为按压事件后,为了分析用户的具体动作,从存储中获取前几帧的用户动作信息信息,将这些信息同样也作为下一步分析的源数据。
S3:计算板依据当前用户状态和动作进一步计算,得出当前用户调用的方法,同时将投影仪需要作出的改变传输至投影仪。
第一步:计算板利用多帧状态信息分析出用户的具体手部动作,进一步得到用户按压平面部分的轨迹信息。
第二步:获取当前投影仪的投影内容,并结合轨迹信息对同一位置所会涉及的功能进行判断,判断方式为获取计算板判断的按压事件位置(一般为指尖),然后将对当前位置的功能进行识别。
第三步:在了解所涉及的功能后,如果功能是某一事件的调用则进行调用,并记录调用信息,如果是纯粹的标记添加则记录下标记信息。
第四步:计算板将用户动作所产生的调用信息或者标记信息传输至投影仪。
本申请主要解决的技术问题即前面所述的红外触控的缺陷:受限于平面、设备和距离。通过本申请的三维触控技术,可以实现基于RGB摄像头搭配深度摄像头(或者只用一个双目摄像头,本方法主要方法流程基于RGB摄像头与深度摄像头,双目摄像头方案为扩展),便可以靠关节点识别与深度识别等方法的结合,实现原本红外触控技术中需要使用双设备才能实现的触控功能。同时由于深度识别的优越性,在远控情境下也会有优于红外触控的表现,更有利于识别出远距离情况下用户的触控操作,规避了距离对于触控识别的影响。在实现了对用户触控行为的识别后,便可将其运用于投影触控交互、用户动作识别等方法中,实现对该触控识别领域的创新。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的用户手势识别方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述用户手势识别方法的用户手势识别装置,该装置以软件或硬件方式实现于移动终端、计算机,投影仪等设备,这些设备都可基于图1所述的计算机终端实现。
如图10所示,该用户手势识别装置1000包括:
摄像模块1002,包括预先架设的一个或一组摄像装置,用于进行图像采集,其中在一个摄像装置的视野范围内或者在一组摄像装置的至少部分重合的视野范围内设置有交互表面,以供用户使用手部在该交互表面执行手势操作;
读取模块1004,用于读取所述一个或一组摄像装置采集得到的图像信息,其中所述图像信息至少包括视觉图像信息和深度图像信息;
第一判断模块1006,用于根据所述视觉图像信息判断所述视野范围内是否包含用户手部图像,若是,则在所述用户手部图像中定位用户手部的骨骼节点和指尖节点;
第二判断模块1008,用于根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面,若是,则根据所述图像信息识别用户手势以执行用户指定操作。
此处,需要说明的是,上述摄像模块1002,读取模块1004,第一判断模块1006,以及第二判断模块1008对应于实施例1中的步骤S202至步骤S208,上述四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
该装置该包括各种对应的功能模块,用以实现如实施例1中任一实施方式或可选方式中的流程步骤,囿于篇幅不再赘述。
实施例3
本申请的实施例可以提供一种计算设备,该计算设备可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算设备也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述计算设备包括一个或多个处理器、存储器、以及传输装置。其中,存储器可用于存储软件程序以及模块,如本申请实施例中的方法和装置对应的程序指令/模块。处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述方法。
在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备120。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在本实施例中,上述计算设备中的处理器运行存储的程序代码时可以执行以下方法步骤:启动预先架设的一个或一组摄像装置进行图像采集,其中在一个摄像装置的视野范围内或者在一组摄像装置的至少部分重合的视野范围内设置有交互表面,以供用户使用手部在该交互表面执行手势操作;读取所述一个或一组摄像装置采集得到的图像信息,其中所述图像信息至少包括视觉图像信息和深度图像信息;根据所述视觉图像信息 判断所述视野范围内是否包含用户手部图像,若是,则在所述用户手部图像中定位用户手部的骨骼节点和指尖节点;根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面,若是,则根据所述图像信息识别用户手势以执行用户指定操作。
进一步地,在本实施例中,上述计算设备中的处理器运行存储的程序代码时可以执行实施例1中所列举的任一方法步骤,囿于篇幅不再赘述。
实施例4
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述用户手势识别方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:启动预先架设的一个或一组摄像装置进行图像采集,其中在一个摄像装置的视野范围内或者在一组摄像装置的至少部分重合的视野范围内设置有交互表面,以供用户使用手部在该交互表面执行手势操作;读取所述一个或一组摄像装置采集得到的图像信息,其中所述图像信息至少包括视觉图像信息和深度图像信息;根据所述视觉图像信息 判断所述视野范围内是否包含用户手部图像,若是,则在所述用户手部图像中定位用户手部的骨骼节点和指尖节点;根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面,若是,则根据所述图像信息识别用户手势以执行用户指定操作。
进一步地,在本实施例中,存储介质被设置为存储用于执行实施例1中所列举的任一方法步骤的程序代码,囿于篇幅不再赘述。
实施例5
根据本申请实施例,还提供了一种用户手势识别***,该***可执行实施例1所提供的用户手势识别方法,该***包括:预先架设的一个或一组摄像装置,用于进行图像采集,其中在一个摄像装置的视野范围内或者在一组摄像装置的至少部分重合的视野范围内设置有交互表面,以供用户使用手部在该交互表面执行手势操作;预先架设的投影装置,用于在所述交互表面上投射一用户交互界面,所述用户交互界面上显示至少一个可供用户操作的目标对象;存储有指令的存储器;处理器,执行所述指令以执行:读取所述一个或一组摄像装置采集得到的图像信息,其中所述图像信息至少包括视觉图像信息和深度图像信息,第一判断模块,用于根据所述视觉图像信息判断所述视野范围内是否包含用户手部图像,若是,则在所述用户手部图像中定位用户手部的骨骼节点和指尖节点,第二判断模块,用于根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面,若是,则根据所述图像信息识别用户手势以执行用户指定操作。
进一步地,在本实施例中,处理器可执行指令以实现实施例1中所列举的任一方法步骤,囿于篇幅不再赘述。
Claims (16)
1.一种用户手势识别方法,其特征在于,该方法包括:
启动预先架设的一个或一组摄像装置进行图像采集,其中在一个摄像装置的视野范围内或者在一组摄像装置的至少部分重合的视野范围内设置有交互表面,以供用户使用手部在该交互表面执行手势操作;
读取所述一个或一组摄像装置采集得到的图像信息,其中所述图像信息至少包括视觉图像信息和深度图像信息;
根据所述视觉图像信息判断所述视野范围内是否包含用户手部图像,若是,则在所述用户手部图像中定位用户手部的骨骼节点和指尖节点;
根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面,若是,则根据所述图像信息识别用户手势以执行用户指定操作。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
启动投影装置在所述交互表面上投射一用户交互界面,所述用户交互界面上显示至少一个可供用户操作的目标对象。
3.根据权利要求1所述的方法,其特征在于,根据所述视觉图像信息判断所述视野范围内是否包含用户手部图像包括:
建立神经网络模型,其中,所述神经网络模型包括特征提取卷积层,候选区提取网络,候选区池化层以及分类器;
将所述视觉图像信息从所述特征提取卷积层输入至所述神经网络模型;
所述特征提取卷积层用于将输入的视觉图像信息中的图片帧处理为特征图;
所述候选区提取网络用于在特征图上设置预设数量的候选区,并利用深度网络判断候选区为正样本或负样本,其中,正样本指示候选区中包含用户手部图像,负样本指示候选区中不包含用户手部图像;
所述候选区池化层用于将判断为正样本的特征图池化为固定大小的图像;
所述分类器用于将池化后的图像进行分类,以根据分类结果判断输入至所述神经网络模型的视觉图像信息中是否包含用户手部图像。
4.根据权利要求3所述的方法,其特征在于,在所述用户手部图像中定位用户手部的骨骼节点和指尖节点包括:
预先定义手部区域具备预定数量的骨骼节点;
在所述手部图像中标定所述预设数量的每一骨骼节点;
根据所述手部图像预测针对每一骨骼节点的热力图,其中所述热力图中像素位置的数据为该像素位置属于某个骨骼节点的概率;
根据所述概率确定每一骨骼节点的位置;
将手部末端的骨骼节点确定为所述指尖节点。
5.根据权利要求4所述的方法,其特征在于,根据所述手部图像预测针对每一骨骼节点的热力图,其中所述热力图中像素位置的数据为该像素位置属于某个骨骼节点的概率包括:
基于如下公式生成骨骼节点k的热力图:,其中所
述热力图为与所述手部图像对应一致的概率图,所述概率图中每一个像素位置上的数据是
当前像素属于某个骨骼节点的概率,其中,为热力图局部作用范围控制参数,参数值设定
为高斯核函数中带宽参数的平方;
6.根据权利要求1所述的方法,其特征在于,根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面包括:
根据所述深度图像信息确定所述交互表面的第一深度值;
根据所述深度图像信息和所述指尖节点的坐标,确定所述指尖节点的第二深度值;
当所述第一深度值与所述第二深度值之间的差值小于预设阈值时,确定用户的手势操作针对所述交互表面。
7.根据权利要求2所述的方法,其特征在于,若是,则根据所述图像信息识别用户手势以执行用户指定操作包括:
当确定用户的手势操作是针对所述交互表面时,在所述交互表面上确定用户手势操作所选择的目标对象,并读取用户针对所述交互表面进行手势操作的时刻的前后多帧图像信息;
根据所述前后多帧图像信息确定用户的完整手势动作;
根据预存的完整手势动作与操作指令的对应关系,确定所述完整手势动作对应的操作指令;
针对用户手势操作所选择的目标对象执行所述操作指令,以使投影装置更改所述用户交互界面。
8.根据权利要求7所述的方法,其特征在于,所述完整的手势动作至少包括第一手势动作和第二手势动作,所述第一手势动作用于标记所述用户交互界面上显示的目标对象,所述第二手势动作用于更新所述用户交互界面上显示的目标对象,其中执行所述操作指令,以控制投影装置更改所述用户交互界面上显示的目标对象包括:
当确定用户的完整手势动作是所述第一手势动作时,执行与所述第一手势动作对应的第一操作指令,在所述用户交互界面上用户指定的目标对象处绘制对应的标记图样;
当确定用户的完整手势动作是所述第二手势动作时,执行与所述第二手势动作对应的第二操作指令,读取需要更新的用户交互界面数据并将需要更新的用户界面数据进行投射。
9.根据权利要求6-8任一项所述的方法,其特征在于,所述交互表面为物理表面,根据所述深度图像信息确定所述交互表面的第一深度值包括:
对所述物理表面进行建模,根据所述深度图像信息和建模信息确定所述物理表面的第一深度值。
10.根据权利要求6-8任一项所述的方法,其特征在于,所述交互表面为虚拟表面,根据所述深度图像信息确定所述交互表面的第一深度值包括:
从所述深度图像信息中提取出一滚动窗口;
根据所述滚动窗口计算每个像素点的深度均值和深度标准差;
判断所述深度标准差是否大于预设阈值;
若是,则返回从所述深度图像信息中提取出一滚动窗口的步骤;
若否,则基于所述深度均值对所述虚拟表面进行建模,将每个像素点的深度均值确定为所述虚拟表面的第一深度值。
11.根据权利要求6-8任一项所述的方法,其特征在于,所述交互表面为物理表面或虚拟表面,根据所述深度图像信息确定所述交互表面的第一深度值包括:
定位所述用户手部的指尖节点在所述交互表面上的第一位置;
划定包含所述第一位置的第一局部区域;
根据所述深度图像信息确定所述第一局部区域中每个像素点的深度均值;
根据每个像素点的深度均值确定所述第一局部区域的深度均值,并作为所述第一深度值。
12.根据权利要求1所述的方法,其特征在于,启动预先架设的一个或一组摄像装置进行图像采集包括:
启动预先架设的一个摄像装置,所述一个摄像装置同时采集视觉图像信息和深度图像信息,其中所述一个摄像装置同时采集视觉图像信息和深度图像信息包括:所述一个摄像装置首先采集视觉图像信息,对所述视觉图像信息进行处理,生成对应的热力图数据,所述热力图数据中像素位置的数据为该像素位置的深度信息的概率,根据所述概率确定所述视觉图像信息对应的深度图像信息;或者
启动预先架设的一组摄像装置,所述一组摄像装置包括RGB摄像头和深度摄像头,所述RGB摄像头用于采集视觉图像信息,所述深度摄像头用于采集深度图像信息;或者
启动预先架设的一组摄像装置,所述一组摄像装置包括双目深度摄像头,所述双目深度摄像头同时采集视觉图像信息和深度图像信息。
13.一种用户手势识别装置,其特征在于,该装置包括:
摄像模块,包括预先架设的一个或一组摄像装置,用于进行图像采集,其中在一个摄像装置的视野范围内或者在一组摄像装置的至少部分重合的视野范围内设置有交互表面,以供用户使用手部在该交互表面执行手势操作;
读取模块,用于读取所述一个或一组摄像装置采集得到的图像信息,其中所述图像信息至少包括视觉图像信息和深度图像信息;
第一判断模块,用于根据所述视觉图像信息判断所述视野范围内是否包含用户手部图像,若是,则在所述用户手部图像中定位用户手部的骨骼节点和指尖节点;
第二判断模块,用于根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面,若是,则根据所述图像信息识别用户手势以执行用户指定操作。
14.一种用户手势识别***,其特征在于,该***包括:
预先架设的一个或一组摄像装置,用于进行图像采集,其中在一个摄像装置的视野范围内或者在一组摄像装置的至少部分重合的视野范围内设置有交互表面,以供用户使用手部在该交互表面执行手势操作;
预先架设的投影装置,用于在所述交互表面上投射一用户交互界面,所述用户交互界面上显示至少一个可供用户操作的目标对象;
存储有指令的存储器;
处理器,执行所述指令以执行:
读取所述一个或一组摄像装置采集得到的图像信息,其中所述图像信息至少包括视觉图像信息和深度图像信息,
第一判断模块,用于根据所述视觉图像信息判断所述视野范围内是否包含用户手部图像,若是,则在所述用户手部图像中定位用户手部的骨骼节点和指尖节点,
第二判断模块,用于根据所述深度图像信息和所述指尖节点判断用户的手势操作是否针对所述交互表面,若是,则根据所述图像信息识别用户手势以执行用户指定操作。
15.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-12任一项所述的方法。
16.一种计算设备,包括处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210117079.0A CN114138121B (zh) | 2022-02-07 | 2022-02-07 | 用户手势识别方法、装置、***、存储介质及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210117079.0A CN114138121B (zh) | 2022-02-07 | 2022-02-07 | 用户手势识别方法、装置、***、存储介质及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114138121A true CN114138121A (zh) | 2022-03-04 |
CN114138121B CN114138121B (zh) | 2022-04-22 |
Family
ID=80382267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210117079.0A Active CN114138121B (zh) | 2022-02-07 | 2022-02-07 | 用户手势识别方法、装置、***、存储介质及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138121B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190288A (zh) * | 2022-06-23 | 2022-10-14 | 海信电子科技(深圳)有限公司 | 多相机同步采集图像的方法及设备 |
CN115909406A (zh) * | 2022-11-30 | 2023-04-04 | 广东海洋大学 | 一种基于多类分类的手势识别方法 |
CN116330305A (zh) * | 2023-05-30 | 2023-06-27 | 常州旭泰克***科技有限公司 | 多模态人机交互装配方法、***、设备及其介质 |
CN117809380A (zh) * | 2024-02-29 | 2024-04-02 | 万有引力(宁波)电子科技有限公司 | 手势追踪方法、装置、设备、可读存储介质及程序产品 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120307009A1 (en) * | 2011-05-31 | 2012-12-06 | Altek Corporation | Method and apparatus for generating image with shallow depth of field |
US20160357387A1 (en) * | 2015-06-07 | 2016-12-08 | Apple Inc. | Devices and Methods for Capturing and Interacting with Enhanced Digital Images |
CN110209273A (zh) * | 2019-05-23 | 2019-09-06 | Oppo广东移动通信有限公司 | 手势识别方法、交互控制方法、装置、介质与电子设备 |
CN111158489A (zh) * | 2019-12-31 | 2020-05-15 | 上海佑久健康科技有限公司 | 一种基于摄像头的手势交互方法及手势交互*** |
CN111158467A (zh) * | 2019-12-12 | 2020-05-15 | 青岛小鸟看看科技有限公司 | 一种手势交互方法和终端 |
CN111258411A (zh) * | 2020-05-06 | 2020-06-09 | 北京深光科技有限公司 | 一种用户交互方法及设备 |
CN111949134A (zh) * | 2020-08-28 | 2020-11-17 | 深圳Tcl数字技术有限公司 | 人机交互方法、设备及计算机可读存储介质 |
CN112651298A (zh) * | 2020-11-27 | 2021-04-13 | 深圳点猫科技有限公司 | 基于手指关节定位的点读方法、装置、***及介质 |
CN113238650A (zh) * | 2021-04-15 | 2021-08-10 | 青岛小鸟看看科技有限公司 | 手势识别和控制的方法、装置及虚拟现实设备 |
-
2022
- 2022-02-07 CN CN202210117079.0A patent/CN114138121B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120307009A1 (en) * | 2011-05-31 | 2012-12-06 | Altek Corporation | Method and apparatus for generating image with shallow depth of field |
US20160357387A1 (en) * | 2015-06-07 | 2016-12-08 | Apple Inc. | Devices and Methods for Capturing and Interacting with Enhanced Digital Images |
CN110209273A (zh) * | 2019-05-23 | 2019-09-06 | Oppo广东移动通信有限公司 | 手势识别方法、交互控制方法、装置、介质与电子设备 |
CN111158467A (zh) * | 2019-12-12 | 2020-05-15 | 青岛小鸟看看科技有限公司 | 一种手势交互方法和终端 |
CN111158489A (zh) * | 2019-12-31 | 2020-05-15 | 上海佑久健康科技有限公司 | 一种基于摄像头的手势交互方法及手势交互*** |
CN111258411A (zh) * | 2020-05-06 | 2020-06-09 | 北京深光科技有限公司 | 一种用户交互方法及设备 |
CN111949134A (zh) * | 2020-08-28 | 2020-11-17 | 深圳Tcl数字技术有限公司 | 人机交互方法、设备及计算机可读存储介质 |
CN112651298A (zh) * | 2020-11-27 | 2021-04-13 | 深圳点猫科技有限公司 | 基于手指关节定位的点读方法、装置、***及介质 |
CN113238650A (zh) * | 2021-04-15 | 2021-08-10 | 青岛小鸟看看科技有限公司 | 手势识别和控制的方法、装置及虚拟现实设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190288A (zh) * | 2022-06-23 | 2022-10-14 | 海信电子科技(深圳)有限公司 | 多相机同步采集图像的方法及设备 |
CN115190288B (zh) * | 2022-06-23 | 2023-04-25 | 海信电子科技(深圳)有限公司 | 多相机同步采集图像的方法及设备 |
CN115909406A (zh) * | 2022-11-30 | 2023-04-04 | 广东海洋大学 | 一种基于多类分类的手势识别方法 |
CN116330305A (zh) * | 2023-05-30 | 2023-06-27 | 常州旭泰克***科技有限公司 | 多模态人机交互装配方法、***、设备及其介质 |
CN116330305B (zh) * | 2023-05-30 | 2023-10-31 | 常州旭泰克***科技有限公司 | 多模态人机交互装配方法、***、设备及其介质 |
CN117809380A (zh) * | 2024-02-29 | 2024-04-02 | 万有引力(宁波)电子科技有限公司 | 手势追踪方法、装置、设备、可读存储介质及程序产品 |
CN117809380B (zh) * | 2024-02-29 | 2024-05-14 | 万有引力(宁波)电子科技有限公司 | 手势追踪方法、装置、设备、可读存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN114138121B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114138121B (zh) | 用户手势识别方法、装置、***、存储介质及计算设备 | |
US11650659B2 (en) | User input processing with eye tracking | |
CN111062312B (zh) | 手势识别方法、手势控制方法、装置、介质与终端设备 | |
US9465444B1 (en) | Object recognition for gesture tracking | |
EP2790089A1 (en) | Portable device and method for providing non-contact interface | |
CN106774850B (zh) | 一种移动终端及其交互控制方法 | |
US20120326995A1 (en) | Virtual touch panel system and interactive mode auto-switching method | |
CN105229582A (zh) | 基于近距离传感器和图像传感器的手势检测 | |
US20120163661A1 (en) | Apparatus and method for recognizing multi-user interactions | |
CN111401318B (zh) | 动作识别方法及装置 | |
CN112492201B (zh) | 拍照方法、装置及电子设备 | |
CN112486394A (zh) | 信息处理方法、装置、电子设备及可读存储介质 | |
CN107797748B (zh) | 虚拟键盘输入方法和装置及机器人 | |
CN108227923A (zh) | 一种基于体感技术的虚拟触控***和方法 | |
CN106569716B (zh) | 单手操控方法及操控*** | |
CN114581535B (zh) | 图像中用户骨关键点标注方法、装置、存储介质及设备 | |
CN113282164A (zh) | 一种处理方法和装置 | |
CN115061577B (zh) | 手部投影交互方法、***及存储介质 | |
CN110213407B (zh) | 一种电子装置的操作方法、电子装置和计算机存储介质 | |
CN111782041A (zh) | 打字方法及装置、设备、存储介质 | |
CN116301551A (zh) | 触控识别方法、触控识别装置、电子设备及介质 | |
CN109725722B (zh) | 有屏设备的手势控制方法和装置 | |
KR101386655B1 (ko) | 3d 공간 터치 시스템 및 방법 | |
An et al. | Finger gesture estimation for mobile device user interface using a rear-facing camera | |
CN110363161B (zh) | 一种辅助阅读的方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |