CN116309850B - 一种虚拟触控识别方法、设备及存储介质 - Google Patents
一种虚拟触控识别方法、设备及存储介质 Download PDFInfo
- Publication number
- CN116309850B CN116309850B CN202310555188.5A CN202310555188A CN116309850B CN 116309850 B CN116309850 B CN 116309850B CN 202310555188 A CN202310555188 A CN 202310555188A CN 116309850 B CN116309850 B CN 116309850B
- Authority
- CN
- China
- Prior art keywords
- hand
- key point
- user
- position information
- intelligent device
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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
-
- 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/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
- G06V40/11—Hand-related biometrics; Hand pose recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Abstract
本申请实施例提供一种虚拟触控识别方法、设备及存储介质。在该方法中,可在用户与智能设备展示的虚拟界面进行触控交互时,获取智能设备在交互时刻拍摄用户手部得到的深度图像;基于深度图像,识别用户的第一手部关键点以及第一手部关键点的位置信息。获取用户的第二手部关键点以及第二手部关键点的位置信息;第二手部关键点以及第二手部关键点的位置信息,根据另一智能设备在交互时刻拍摄用户手部得到的深度图像确定。根据第一手部关键点的位置信息以及第二手部关键点的位置信息,确定用户的虚拟触控位置。通过这种方式,智能设备可在手部关键点被遮挡的情况下,结合其他智能设备在各自视角下获取的位置信息,较为准确地确定用户的虚拟触控位置。
Description
技术领域
本申请涉及智能可穿戴技术领域,尤其涉及一种虚拟触控识别方法、设备及存储介质。
背景技术
随着虚拟现实、增强现实和混合现实等相关技术的高速发展,头戴式智能设备不断推陈出新且使用体验逐渐提高,如头戴式虚拟现实眼镜、头戴式混合现实眼镜等智能眼镜。
在现有技术中,可利用智能眼镜在虚拟场景中生成虚拟界面,并基于虚拟触控的方式与虚拟界面进行交互。在一种虚拟触控的识别方法中,可基于图像采集传感器确定真实场景中用户的手部关键点位置,以根据手部关键点位置判断真实场景中的用户是否与虚拟场景中的虚拟界面进行了交互。
但是,用户与虚拟界面进行交互时,其手部的关键点可能会被其他物体或者手部其他部位遮挡,导致图像采集传感器无法对这些被遮挡的关键点进行图像采集,从而导致智能眼镜无法较为准确地确定用户的虚拟触控位置。因此,一种解决方案亟待被提出。
发明内容
本申请的多个方面提供一种虚拟触控识别方法、设备及存储介质,用以较为准确地确定用户的虚拟触控位置。
本申请提供一种虚拟触控识别方法,包括:在用户与第一智能设备展示的虚拟界面进行触控交互时,获取所述第一智能设备在任一交互时刻拍摄所述用户的手部得到的第一深度图像;基于所述第一深度图像,识别所述用户的第一手部关键点以及所述第一手部关键点的第一位置信息;获取所述用户的第二手部关键点以及所述第二手部关键点的第二位置信息;所述第二手部关键点以及所述第二手部关键点的第二位置信息,根据第二智能设备在所述交互时刻拍摄所述用户的手部得到的第二深度图像确定;根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定所述用户的虚拟触控位置。
可选地,基于所述第一深度图像,识别所述用户的第一手部关键点以及所述第一手部关键点的第一位置信息,包括:利用计算机视觉算法,从所述第一深度图像中识别所述用户的第一手部关键点;利用双目定位算法,确定所述第一手部关键点在第一设备坐标系中的坐标以及坐标可信度,作为所述第一位置信息;所述第一设备坐标系为所述第一智能设备所在的坐标系。
可选地,所述第二手部关键点的第二位置信息包括:所述第二手部关键点在第二设备坐标系中的坐标以及坐标可信度;所述第二设备坐标系为所述第二智能设备所在的坐标系。
可选地,根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定所述用户的虚拟触控位置之前,还包括:根据所述第一设备坐标系和所述第二设备坐标系之间的坐标系转换关系,将所述第二手部关键点在所述第二设备坐标系中的位置信息转换到所述第一设备坐标系中,得到所述第二手部关键点的第二位置信息。
可选地,根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定所述用户的虚拟触控位置,包括:根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定目标手部关键点的坐标;所述目标手部关键点为所述第一手部关键点以及所述第二手部关键点的并集;根据所述目标手部关键点的坐标,计算所述手部的指尖坐标,作为虚拟触控位置。
可选地,根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定目标手部关键点的坐标,包括:从所述第一手部关键点以及所述第二手部关键点中,确定至少一组重复关键点;任一组重复关键点包含具有相同关节标识的多个关键点;针对任一组重复关键点中的多个关键点,根据所述多个关键点各自的坐标以及坐标可信度,从所述多个关键点中选择坐标可信度较高的关键点添加到所述目标关键点中。
可选地,还包括:获取所述第一手部关键点和所述第二手部关键点各自的环境可信度;根据所述第一手部关键点和所述第二手部关键点各自的环境可信度和坐标可信度,计算所述第一手部关键点和所述第二手部关键点各自的综合坐标可信度;根据所述多个关键点各自的坐标以及坐标可信度,从所述多个关键点中选择坐标可信度较高的关键点添加到所述目标关键点中,包括:根据所述多个关键点各自的综合坐标可信度,从所述多个关键点中选择综合坐标可信度较高的关键点添加到所述目标关键点中。
可选地,获取所述第一手部关键点和所述第二手部关键点各自的环境可信度,包括:分别获取所述第一深度图像和所述第二深度图像的手部背景信息,所述手部背景信息至少包括:背景纹理复杂度和/或背景亮度;根据所述第一深度图像和所述第二深度图像的手部背景信息,分别确定所述第一手部关键点和所述第二手部关键点的环境可信度。
可选地,还包括:响应于所述第一智能设备的运动操作,对所处环境中的静止参照物进行不同角度的拍摄,并基于拍摄到的多张参照物图像,确定所述第一智能设备的第一移动参数;根据所述第一移动参数,对所述第一智能设备的第一陀螺仪进行参数修正;基于修正后的参数,建立所述第一智能设备的第一设备坐标系。
可选地,还包括:对所述第二智能设备进行拍摄,基于拍摄到的设备图像确定所述第二智能设备的第二移动参数;将所述第二移动参数发送至所述第二智能设备,以供根据所述第二移动参数对所述第二智能设备的第二陀螺仪进行参数修正并基于修正后的参数建立所述第二智能设备的第二设备坐标系。
本申请实施例还提供一种虚拟触控识别方法,包括:在用户与第一智能设备展示的虚拟界面进行触控交互时,拍摄所述用户的手部,得到深度图像;根据所述深度图像,确定所述用户的手部关键点的位置信息;将所述位置信息发送至所述第一智能设备,以供根据所述手部关键点的位置信息以及所述第一智能设备从拍摄到的深度图像中识别到的手部关键点的位置信息,确定所述用户的虚拟触控位置。
可选地,还包括:对所处的环境进行拍摄,得到环境图像;所述环境图像包括:多个用户以及所述多个用户各自佩戴的智能设备;基于所述环境图像,建立所述多个用户各自佩戴的智能设备与所述多个用户的匹配关系;将所述位置信息发送至所述第一智能设备,包括:根据所述匹配关系,将所述位置信息发送至与所述用户匹配的第一智能设备。
可选地,还包括:接收所述第一智能设备发送的移动参数;所述移动参数基于第一智能设备拍摄到的第二智能设备的设备图像确定;根据所述移动参数对所述第二智能设备的陀螺仪进行参数修正;基于修正后的参数,建立所述第二智能设备的设备坐标系;根据所述深度图像,确定所述用户的手部关键点的位置信息,包括:根据所述深度图像,确定所述用户的手部关键点在所述设备坐标系中各自的坐标以及坐标可信度。
本申请实施例还提供一种智能设备,包括:存储器、处理器;其中,所述存储器用于:存储一个或多个计算机指令;所述处理器用于执行所述一个或多个计算机指令,以用于:执行虚拟触控识别方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器能够实现虚拟触控识别方法中的步骤。
在本实施例中,可在用户与智能设备展示的虚拟界面进行触控交互时,获取智能设备在交互时刻拍摄用户的手部得到的深度图像;基于该深度图像,识别用户的第一手部关键点以及第一手部关键点的位置信息。获取用户的第二手部关键点以及第二手部关键点的位置信息;第二手部关键点以及第二手部关键点的位置信息,根据另一智能设备在交互时刻拍摄用户的手部得到的深度图像确定。根据第一手部关键点的位置信息以及第二手部关键点的位置信息,确定用户的虚拟触控位置。通过这种方式,可在手部的关键点被遮挡的情况下,结合多个智能设备在各自视角下获取的位置信息,较为准确地确定用户的虚拟触控位置。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的虚拟触控识别系统的示意图;
图2为本申请一示例性实施例提供的人体手部关键点的示意图;
图3为本申请一示例性实施例提供的手部区域检测的示意图;
图4为本申请一示例性实施例提供的分割手部区域对应的前景图像的示意图;
图5为本申请一示例性实施例提供的双目定位算法的示意图;
图6为本申请一示例性实施例提供的平视双目立体成像原理图;
图7为本申请一示例性实施例提供的虚拟触控识别方法的流程示意图;
图8为本申请一示例性实施例提供的另一虚拟触控识别方法的流程示意图;
图9为本申请一示例性实施例提供的智能设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,可利用智能眼镜在虚拟场景中生成虚拟界面,并基于虚拟触控的方式与虚拟界面进行交互。在一种虚拟触控的识别方法中,可基于图像采集传感器确定真实场景中用户的手部关键点位置,以根据手部关键点位置判断真实场景中的用户是否与虚拟场景中的虚拟界面进行了交互。然而,用户与虚拟界面进行交互时,其手部的关键点可能会被其他物体或者手部其他部位遮挡,导致图像采集传感器无法对这些被遮挡的关键点进行图像采集,从而导致智能眼镜无法较为准确地确定用户的虚拟触控位置。
针对上述技术问题,在本申请一些实施例中,提供了一种解决方案,以下将结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的虚拟触控识别系统的示意图,如图1所示,该系统包括:多个智能设备。智能设备的数量可为两个或两个以上。其中,智能设备可实现为可穿戴设备,比如VR(Virtual Reality,虚拟现实)眼镜、MR(Mixed Reality,混合现实)眼镜、VR头戴显示设备(Head-Mounted Display,HMD)等等,本实施例不做限制。以VR眼镜为例,VR眼镜在展示虚拟场景时,可在虚拟场景中生成至少一个虚拟界面,虚拟界面可包括虚拟键盘和虚拟屏幕中的至少一个,用户可在虚拟场景中与第一智能设备展示的虚拟界面进行触控交互。
该系统可适用于多智能设备的交互场景,以下对多智能设备的交互场景进行举例说明:在一些多用户-多智能设备的交互场景中,可存在多个用户,且多个用户可对各自的智能设备进行交互(输入或者滑动等操作),且任一智能设备可在其他智能设备的图像采集范围内;在另一些单用户-多智能设备交互场景中,任一用户可对自己持有的智能设备进行交互,且该智能设备处在其他智能设备的图像采集范围内。
以下将多个智能设备中的任意两个智能设备简称为第一智能设备和第二智能设备,并以这两个智能设备为例,对虚拟触控识别系统进行说明。
在本实施例中,在用户与虚拟界面进行触控交互时,第一智能设备可在任一交互时刻,利用自身的双目摄像头拍摄用户手部,得到第一深度图像。其中,交互时刻即为用户与第一智能设备展示的虚拟界面进行触控交互的时刻。与此同时,第二智能设备可在同一交互时刻利用自身的双目摄像头拍摄用户的手部,得到第二深度图像。其中,双目摄像头包括:两个单目摄像头,利用双目摄像头拍摄得到的深度图像包括:两个单目图像。其中,使用“第一”和“第二”对深度图像进行限定,仅用于对不同智能设备拍到的不同深度图像进行区分。
第一智能设备可基于获取的第一深度图像,识别用户的第一手部关键点以及第一手部关键点的第一位置信息。其中,第一手部关键点为第一智能设备的拍摄视角下的可见关键点,可包括至少一个手部关键点。其中,人体手部关键点的示意图如图2所示,可包括用户的各个指关节、指尖或手上的任何位置。
其中,第一智能设备可基于双目识别算法,识别第一手部关键点的第一位置信息。其中,双目识别算法也叫双目视觉算法,是一种模拟人类视觉原理并使用计算机被动感知距离的算法,主要原理为:从两个点观察一个物体,获取在不同视角下的图像,通过图像之间像素的匹配关系以及三角测量原理,从而对物体的位置进行计算。
可选地,第一智能设备可利用预设的关键点位置识别模型识别第一手部关键点以及第一手部关键点的第一位置信息。需要说明的是,该关键点位置识别模型可预先进行模型训练,比如,将一张深度图像输入到模型中,模型可基于双目识别算法,得到手部关键点位置的模型识别结果,并根据该模型识别结果与预期结果之间的误差,对模型的参数进行进一步调整,并使用经过参数调整后的模型再次进行手部关键点位置的识别。通过这种不断迭代的方式,使关键点位置识别模型可对手部关键点的位置进行较为准确地识别。
对应地,第二智能设备也可采用前述的“手部关键点以及手部关键点的位置信息的识别方法”,基于第二深度图像,识别用户的第二手部关键点以及第二手部关键点的第二位置信息,在此不再赘述。其中,第二手部关键点为第二智能设备的拍摄视角下的可见关键点,可包括至少一个手部关键点。之后,第二智能设备可将第二手部关键点以及第二手部关键点的第二位置信息发送至第一智能设备。
第一智能设备可获取用户的第二手部关键点以及第二手部关键点的第二位置信息,并根据第一手部关键点的第一位置信息以及第二手部关键点的第二位置信息,确定用户的虚拟触控位置。
其中,第一智能设备在拍摄用户手部时,可能由于用户自身或者其他物体遮挡了部分手部关键点,导致拍摄到的第一深度图像中丢失了部分手部关键点,进而使得识别到的用户的手部关键点以及手部关键点的位置信息的准确度较低。由于第二智能设备可在另一视角下拍摄相同交互时刻的用户的手部得到第二深度图像,基于第二深度图像得到的手部关键点以及手部关键点的位置信息可用于:辅助第一智能设备对自身识别到的手部关键点以及手部关键点的位置进行完善或补充。
其中,第一智能设备可根据第一手部关键点的第一位置信息以及第二手部关键点的第二位置信息,对第一手部关键点和第二手部关键点进行去重操作(即删除第一手部关键点和第二手部关键点中的重复关键点),以筛选得到目标手部关键点,进而确定目标手部关键点的位置。从目标手部关键点的位置中选取指尖位置,并将指尖位置确定为用户的虚拟触控位置。通过这种方式,第一智能设备可在手部的关键点被遮挡的情况下,结合其他智能设备在其视角下获取的位置信息,较为准确地确定用户的虚拟触控位置。
在本实施例中,可在用户与智能设备展示的虚拟界面进行触控交互时,获取智能设备在交互时刻拍摄用户的手部得到的深度图像;基于该深度图像,识别用户的第一手部关键点以及第一手部关键点的位置信息。获取用户的第二手部关键点以及第二手部关键点的位置信息;第二手部关键点以及第二手部关键点的位置信息,根据另一智能设备在交互时刻拍摄用户的手部得到的深度图像确定。根据第一手部关键点的位置信息以及第二手部关键点的位置信息,确定用户的虚拟触控位置。通过这种方式,智能设备可在手部的关键点被遮挡的情况下,结合其他智能设备在各自视角下获取的位置信息,较为准确地确定用户的虚拟触控位置。
在一些可选的实施例中,第一智能设备基于第一深度图像,识别用户的第一手部关键点以及第一手部关键点的第一位置信息时,可基于以下步骤实现:
步骤121、利用计算机视觉算法,从第一深度图像中识别用户的第一手部关键点。其中,计算机视觉算法用于:利用计算机及相关设备对生物视觉进行模拟,该算法可通过对采集的图像进行处理以获得图像中物体的三维信息。
步骤122、利用双目定位算法,确定第一手部关键点在第一设备坐标系中的坐标以及坐标可信度,作为第一位置信息。其中,第一设备坐标系为第一智能设备所在的坐标系。
以下将对第一手部关键点的识别过程进一步说明。如图3所示,针对第一深度图像中的任一单目图像,第一智能设备可通过目标检测算法(Object Detection),从单目图像中,检测出手部区域。其中,该目标检测算法可基于R-CNN(Region- Convolutional NeuralNetwork,区域卷积神经网络)实现。其中,对于一张图片,该目标检测算法可根据图片生成大约2000个候选区域,然后将每个候选区域更改为固定大小,并将更改之后的候选区域发送至CNN(Convolutional Neural Networks,卷积神经网络)模型中,进而通过该模型可得到每个候选区域对应的特征向量。然后,可将特征向量发送至包含了多个类别的分类器中,以预测候选区域中的图像的属于每个类的概率值。比如,分类器预测出候选区域1-10共十个候选区域中的图像属于手部区域的概率为95%,属于背景的概率为20%,进而可检测出候选区域1-10为手部区域。通过这种方式,智能设备可对任一单目图像中的手部区域进行较为准确的检测。
在实际场景下,用户在使用智能设备与虚拟场景进行交互时,用户的手通常是距离用户最近的物体,故,任一摄像头拍摄的单目图像中的前景图像通常为用户的手部区域。基于此,智能设备可从单目图像中,分割出手部区域对应的前景图像,如图4所示。通过这种实施方式,智能设备可将手部区域分割出来,降低其他区域对后续识别造成的干扰,进而可针对性的对手部区域进行识别,从而提升了识别效率。
之后,第一智能设备可利用预设的手部关键点识别模型,对前景图像进行识别,得到单目图像中的手部关键点。需要说明的是,该手部关键点识别模型可预先进行模型训练,比如,将一张深度图像输入到模型中,得到手部关键点的模型识别结果,并根据该模型识别结果与预期结果之间的误差,对模型的参数进行进一步调整,并使用经过参数调整后的模型再次进行手部关键点的识别。通过这种不断迭代的方式,使手部关键点识别模型可对手部区域对应的前景图像进行较为准确地识别,以得到单目图像中的手部关键点。
之后,第一智能设备可利用双目定位算法,确定第一手部关键点在第一设备坐标系中的坐标以及坐标可信度,作为第一位置信息。
其中,第一智能设备可利用前文中的关键点位置识别模型确定第一手部关键点在第一设备坐标系中的坐标以及坐标可信度,举例说明,第一智能设备可利用关键点位置识别模型确定手部关键点C1在第一设备坐标系中的坐标为L1,坐标可信度为80%;确定手部关键点C2在第一设备坐标系中的坐标为L2,坐标可信度为70%;确定手部关键点C3在第一设备坐标系中的坐标为L3,坐标可信度为95%。
以下将结合图5和图6对双目定位算法进行详细说明。
图5中的左边和右边两个四边形分别表示左边和右边两个摄像机的相机平面,P点表示任一手部关键点,P1和P2分别为P点在两个相机平面上的投影,世界空间中一点P(X,Y,Z)在左右两个摄像机的成像面上的像点分别为P1(ul,vl)和P2(ur,vr)。这两个像点是世界空间(世界坐标系)中同一个对象点P的像,称为“共轭点”。两个共轭像点分别作它们与各自相机的光心Ol和Or的连线,即投影线PlOl和P2Or,它们的交点即为世界空间(世界坐标系)中的对象点P(X,Y,Z)。
具体而言,图6为简单的平视双目立体成像原理图,两个摄像机的投影中心的连线的距离,即基线距为T。摄像机坐标系的原点在摄像机镜头的光心处,坐标系如图6所示,摄像机的成像平面在镜头的光心后,将左右成像平面绘制在镜头的光心前f处,这个虚拟的图像平面坐标系O1uv的u轴和v轴与和摄像机坐标系的x轴和y轴方向一致,这样可以简化计算过程。左右图像坐标系的原点在摄像机光轴与平面的焦点O1和O2,点P在左图像和右图像中相应的坐标分别为xl(u1,v1)和xr(u2,v2)。假设两个摄像机的图像在同一个平面上,则点P图像坐标的Y坐标相同,即v1=v2,由三角几何关系得到:
上述的(x,y,z)为点P在左摄像机坐标系中的坐标,T为基线距,f为两个摄像机的焦距,(u1,v1)和(u1,v2)分别为点P在左图像和右图像中的坐标。
视差定义为某一点在两幅图像中相应点的位置差d:
由此可以计算出点P在左摄像机坐标系中的坐标为:
基于上述过程,若能找到该手部关键点(P点)在左右两个摄像机成像平面上的相应点(即该手部关键点在双目图像中的位置),并通过摄像机标定获得摄像机的内外参数,即可基于上述公式确定该手部关键点在第一设备坐标系中的三维坐标。
通过这种方式,第一智能设备可基于第一深度图像,较为准确地识别用户的第一手部关键点以及第一手部关键点的第一位置信息。
对应地,第二手部关键点的第二位置信息包括:第二手部关键点在第二设备坐标系中的坐标以及坐标可信度。第二设备坐标系为第二智能设备所在的坐标系。具体地,第二手部关键点的第二位置信息的识别方式,与前述的第一手部关键点的第一位置信息的识别方式相似,在此不再赘述。
在一些可选的实施例中,由于环境内可存在多个智能设备,因此,第二智能设备可通过以下方式从多个智能设备中确定第一智能设备:第二智能设备可对所处的环境进行拍摄,得到环境图像。其中,环境图像包括:多个用户以及多个用户各自佩戴的智能设备。第二智能设备可基于环境图像,建立多个用户各自佩戴的智能设备与多个用户的匹配关系。其中,第二智能设备可将距离小于预设距离阈值的智能设备和用户建立匹配关系。比如,第二智能设备可将距离小于预设距离阈值的智能设备G1和用户E1建立匹配关系;将距离小于预设距离阈值的智能设备G2和用户E2建立匹配关系。
基于此,第二智能设备将位置信息发送至第一智能设备时,可根据匹配关系,从多个智能设备中确定与用户匹配的第一智能设备,并将位置信息发送至第一智能设备。
通过这种方式,第二智能设备可准确地从多个智能设备中确定与用户匹配的第一智能设备,并将第二手部关键点以及第二位置信息发送至第一智能设备,从而降低错误发送信息的概率。
如前文所述,第一手部关键点的第一位置信息对应第一设备坐标系,第二手部关键点的第二位置信息对应第二设备坐标系,由于两个位置信息分别对应不同的坐标系,因此,第一智能设备根据第一手部关键点的第一位置信息以及第二手部关键点的第二位置信息确定用户的虚拟触控位置之前,需要统一第一位置信息和第二位置信息的坐标系。以下将进一步说明。
第一智能设备可根据第一设备坐标系和第二设备坐标系之间的坐标系转换关系,将第二手部关键点在第二设备坐标系中的位置信息转换到第一设备坐标系中,得到第二手部关键点的第二位置信息。
其中,第一智能设备可计算并存储从第一设备坐标系到公共坐标系的第一旋转矩阵和第一平移矩阵,并获取第二设备坐标系到公共坐标系的第二旋转矩阵和第二平移矩阵。基于第一旋转矩阵和第一平移矩阵,以及,第二旋转矩阵和第二平移矩阵,第一智能设备可计算得到第一设备坐标系和第二设备坐标系之间的坐标系转换关系。进而,第一智能设备可根据该坐标系转换关系,统一第一位置信息和第二位置信息的坐标系。
在一些可选的实施例中,第一智能设备根据第一手部关键点的第一位置信息以及第二手部关键点的第二位置信息,确定用户的虚拟触控位置,可基于以下步骤实现:
步骤141、根据第一手部关键点的第一位置信息以及第二手部关键点的第二位置信息,确定目标手部关键点的坐标。
步骤142、根据目标手部关键点的坐标,计算手部的指尖坐标,作为虚拟触控位置。
其中,目标手部关键点为第一手部关键点以及第二手部关键点的并集。比如,第一手部关键点包括:关键点L0、关键点L1、关键点L3、关键点L4和关键点L5;第二手部关键点包括:关键点L0、关键点L1、关键点L2和关键点L6;目标手部关键点为第一手部关键点以及第二手部关键点的并集:关键点L0、关键点L1、关键点L2、关键点L3、关键点L4、关键点L5和关键点L6。
其中,第一智能设备可从第一手部关键点以及第二手部关键点中,确定至少一组重复关键点。其中,任一组重复关键点包含具有相同关节标识的多个关键点。其中,如图2所示,手部关键点可各自具有标识,比如图2中的标号。沿用前述例子进行举例,第一智能设备可从第一手部关键点以及第二手部关键点中,确定两组重复关键点,分别为两个关键点L0和两个关键点L1。
针对任一组重复关键点中的多个关键点,第一智能设备可根据多个关键点各自的坐标以及坐标可信度,从多个关键点中选择坐标可信度较高的关键点添加到目标关键点中。比如,针对两个关键点L0,第一个关键点L0的坐标为V1,坐标可信度为80%,第二个关键点L0的坐标为V2,坐标可信度为90%,第一智能设备可从这两个关键点L0中选择坐标可信度较高的第二个关键点L0添加到目标关键点中。再比如,针对两个关键点L1,第一个关键点L1的坐标为V3,坐标可信度为70%,第二个关键点L1的坐标为V4,坐标可信度为90%,第一智能设备可从这两个关键点L1中选择坐标可信度较高的第二个关键点L1添加到目标关键点中。
通过这种方式,第一智能设备可根据第一手部关键点的第一位置信息以及第二手部关键点的第二位置信息,确定目标手部关键点的坐标。
进而,第一智能设备可根据目标手部关键点的坐标,计算手部的指尖坐标,作为虚拟触控位置。其中,若目标手部关键点包含指尖关键点,第一智能设备可直接从目标手部关键点的坐标中获取指尖关键点的指尖坐标。若目标手部关键点不包含指尖关键点,第一智能设备可根据目标手部关键点的关键点关联特征以及目标手部关键点的坐标,衍生计算指尖坐标。其中,人类手指的各个手指节(即手部关键点)在弯曲时会存在一定的弯曲规律,比如,大部分人通常不能在第二指节和第一指节不动的情况下弯曲指尖节,再比如,当指尖节逐渐向下弯曲20°时,第二指节通常会随着指尖节的弯曲而弯曲一定的角度。之所以出现上述弯曲规律,是因为人类手指的各个手指节之间存在关联,即关键点关联特征。因此,第一智能设备可根据目标手部关键点的关键点关联特征以及目标手部关键点的坐标,衍生计算指尖坐标。其中,衍生计算也可理解为一种推理过程。
可选地,确定目标手部关键点的坐标之后,第一智能设备还可根据目标手部关键点的坐标,建立用户手部的最优稀疏重建模型,并从最优稀疏重建模型中选取手部的指尖坐标,作为虚拟触控位置。
通过这种方式,第一智能设备可根据第一手部关键点的第一位置信息以及第二手部关键点的第二位置信息,较为准确地确定用户的虚拟触控位置。
在前述实施例的基础上,第一智能设备还可获取第一手部关键点和第二手部关键点各自的环境可信度。其中,环境可信度用于描述对用户手部进行拍摄时的背景环境的适配性。环境可信度越高,则适配性越高。需要说明的是,背景环境不同,对用户手部进行拍摄的效果也不同,拍摄到的深度图像的准确度也不同。比如,当背景环境中的光照强度过大,可能会导致智能设备拍摄到的用户手部的深度图像出现过曝的现象,影响后续深度图像的识别效果。
第一智能设备可根据第一手部关键点和第二手部关键点各自的环境可信度和坐标可信度,计算第一手部关键点和第二手部关键点各自的综合坐标可信度。其中,第一智能设备可采用加权求和的方式或者直接相加的方式,计算第一手部关键点和第二手部关键点各自的综合坐标可信度,本实施例不做限制。
对应地,第一智能设备根据多个关键点各自的坐标以及坐标可信度,从多个关键点中选择坐标可信度较高的关键点添加到目标关键点中时,可根据多个关键点各自的综合坐标可信度,从多个关键点中选择综合坐标可信度较高的关键点添加到目标关键点中。
通过这种方式,综合考虑了背景环境的适配性,进一步提升了第三手部关键点的坐标的准确度。
在一些可选的实施例中,第一智能设备获取第一手部关键点和第二手部关键点各自的环境可信度时,可分别获取第一深度图像的手部背景信息和第二深度图像的手部背景信息。其中,手部背景信息包括背景纹理复杂度和背景亮度中的至少一种。其中,背景纹理复杂度越高,则说明背景环境的适配性越高。
第一智能设备根据第一深度图像和第二深度图像的手部背景信息,分别确定第一手部关键点和第二手部关键点的环境可信度。其中,第一智能设备上可预设有环境可信度的确定规则,比如,背景纹理复杂度越高,环境可信度越高;背景亮度越高,环境可信度越低。再比如,确定规则可包括不同背景纹理复杂度和背景亮度对应的不同的环境可信度。
通过这种方式,可综合背景纹理复杂度和背景亮度多个元素,较为准确地确定环境可信度。
在一些可选的实施例中,第一智能设备还可响应于自身的运动操作,对所处环境中的静止参照物进行不同角度的拍摄。比如,T0时刻可在R1位置拍摄所处环境中的静止参照物,T1时刻可在R2位置拍摄该静止参照物,T2时刻可在R3位置拍摄该静止参照物。
进而,第一智能设备可基于拍摄到的多张参照物图像确定第一智能设备的第一移动参数。其中,第一智能设备可利用计算机视觉算法对比多张参照物图像中的参照物深度信息,从而根据深度信息的变化确定第一智能设备相对于参照物的第一移动参数。
当第一智能设备响应于自身的运动操作而移动时,第一陀螺仪可根据存储的初始设备参数计算出第一陀螺仪的初始移动参数。基于此,第一智能设备可基于第一移动参数,对第一陀螺仪的初始设备参数进行参数修正,以使初始移动参数逐渐逼近第一移动参数。
基于上述步骤,第一智能设备可基于修正后的参数建立第一智能设备的第一设备坐标系。其中,由于参数已得到修正,第一陀螺仪的测量准确度更高,在此基础上,第一智能设备可通过第一陀螺仪获取第一智能设备在空间中的位姿数据,并基于第一位姿数据建立第一设备坐标系。其中,第一位姿数据包括第一位置数据以及第一朝向数据。
通过这种方式,第一智能设备可基于对环境中的静止参照物进行不同角度的拍摄得到的多张参照物图像,对第一智能设备的第一陀螺仪进行参数修正,并利用参数修正后的第一陀螺仪,更加准确地建立第一设备坐标系。
在另一些可选的实施例中,第一智能设备可对第二智能设备进行拍摄,基于拍摄到的设备图像确定第二智能设备的第二移动参数。
其中,第二智能设备响应于运动操作而移动时,第一智能设备可对第二智能设备进行拍摄,并利用计算机视觉算法,识别拍摄到的设备图像中的第二智能设备的深度信息。之后,第一智能设备可基于第二智能设备的深度信息变化,确定第二智能设备的第二移动参数,并将第二移动参数发送至第二智能设备。
对应地,第二智能设备可接收第二移动参数,并根据第二移动参数对第二智能设备的陀螺仪进行参数修正。其中,当第二智能设备响应于自身的运动操作而移动时,第二陀螺仪可根据存储的初始设备参数计算出第二陀螺仪的初始移动参数。基于此,第二智能设备可基于第二移动参数,对第二陀螺仪的初始设备参数进行参数修正,以使初始移动参数越来越贴近第二移动参数。之后,第二智能设备可基于修正后的参数,建立第二智能设备的设备坐标系。其中,由于参数已得到修正,第二陀螺仪的测量准确度更高,在此基础上,第二智能设备可通过第二陀螺仪获取第二智能设备在空间中的第二位姿数据,并基于第二位姿数据建立第二设备坐标系。其中,第二位姿数据包括第二位置数据以及第二朝向数据。
在此基础上,第二智能设备根据第二深度图像确定用户的手部关键点的位置信息时,可根据第二深度图像确定用户的手部关键点在第二设备坐标系中各自的坐标以及坐标可信度。
通过这种方式,第二智能设备可在第一智能设备的辅助下,对第二智能设备的第二陀螺仪进行参数修正,并利用参数修正后的第二陀螺仪,更加准确地建立第二设备坐标系。
图7为本申请一示例性实施例提供的虚拟触控识别方法的流程示意图,如图7所示,该方法包括:
步骤71、在用户与第一智能设备展示的虚拟界面进行触控交互时,获取第一智能设备在任一交互时刻拍摄用户的手部得到的第一深度图像。
步骤72、基于第一深度图像,识别用户的第一手部关键点以及第一手部关键点的第一位置信息。
步骤73、获取用户的第二手部关键点以及第二手部关键点的第二位置信息。第二手部关键点以及第二手部关键点的第二位置信息,根据第二智能设备在交互时刻拍摄用户的手部得到的第二深度图像确定。
步骤74、根据第一手部关键点的第一位置信息以及第二手部关键点的第二位置信息,确定用户的虚拟触控位置。
可选地,基于第一深度图像,识别用户的第一手部关键点以及第一手部关键点的第一位置信息,包括:利用计算机视觉算法,从第一深度图像中识别用户的第一手部关键点;利用双目定位算法,确定第一手部关键点在第一设备坐标系中的坐标以及坐标可信度,作为第一位置信息;第一设备坐标系为第一智能设备所在的坐标系。
可选地,第二手部关键点的第二位置信息包括:第二手部关键点在第二设备坐标系中的坐标以及坐标可信度;第二设备坐标系为第二智能设备所在的坐标系。
可选地,根据第一手部关键点的第一位置信息以及第二手部关键点的第二位置信息,确定用户的虚拟触控位置之前,还包括:根据第一设备坐标系和第二设备坐标系之间的坐标系转换关系,将第二手部关键点在第二设备坐标系中的位置信息转换到第一设备坐标系中,得到第二手部关键点的第二位置信息。
可选地,根据第一手部关键点的第一位置信息以及第二手部关键点的第二位置信息,确定用户的虚拟触控位置,包括:根据第一手部关键点的第一位置信息以及第二手部关键点的第二位置信息,确定目标手部关键点的坐标;目标手部关键点为第一手部关键点以及第二手部关键点的并集;根据目标手部关键点的坐标,计算手部的指尖坐标,作为虚拟触控位置。
可选地,根据第一手部关键点的第一位置信息以及第二手部关键点的第二位置信息,确定目标手部关键点的坐标,包括:从第一手部关键点以及第二手部关键点中,确定至少一组重复关键点;任一组重复关键点包含具有相同关节标识的多个关键点;针对任一组重复关键点中的多个关键点,根据多个关键点各自的坐标以及坐标可信度,从多个关键点中选择坐标可信度较高的关键点添加到目标关键点中。
可选地,还包括:获取第一手部关键点和第二手部关键点各自的环境可信度;根据第一手部关键点和第二手部关键点各自的环境可信度和坐标可信度,计算第一手部关键点和第二手部关键点各自的综合坐标可信度;根据多个关键点各自的坐标以及坐标可信度,从多个关键点中选择坐标可信度较高的关键点添加到目标关键点中,包括:根据多个关键点各自的综合坐标可信度,从多个关键点中选择综合坐标可信度较高的关键点添加到目标关键点中。
可选地,获取第一手部关键点和第二手部关键点各自的环境可信度,包括:分别获取第一深度图像和第二深度图像的手部背景信息,手部背景信息至少包括:背景纹理复杂度和/或背景亮度;根据第一深度图像和第二深度图像的手部背景信息,分别确定第一手部关键点和第二手部关键点的环境可信度。
可选地,还包括:响应于第一智能设备的运动操作,对所处环境中的静止参照物进行不同角度的拍摄,并基于拍摄到的多张参照物图像,确定第一智能设备的第一移动参数;根据第一移动参数,对第一智能设备的第一陀螺仪进行参数修正;基于修正后的参数,建立第一智能设备的第一设备坐标系。
可选地,还包括:对第二智能设备进行拍摄,基于拍摄到的设备图像确定第二智能设备的第二移动参数;将第二移动参数发送至第二智能设备,以供根据第二移动参数对第二智能设备的第二陀螺仪进行参数修正并基于修正后的参数建立第二智能设备的第二设备坐标系。
在本实施例中,可在用户与智能设备展示的虚拟界面进行触控交互时,获取智能设备在交互时刻拍摄用户的手部得到的深度图像;基于该深度图像,识别用户的第一手部关键点以及第一手部关键点的位置信息。获取用户的第二手部关键点以及第二手部关键点的位置信息;第二手部关键点以及第二手部关键点的位置信息,根据另一智能设备在交互时刻拍摄用户的手部得到的深度图像确定。根据第一手部关键点的位置信息以及第二手部关键点的位置信息,确定用户的虚拟触控位置。通过这种方式,智能设备可在手部的关键点被遮挡的情况下,结合其他智能设备在各自视角下获取的位置信息,较为准确地确定用户的虚拟触控位置。
图8为本申请另一示例性实施例提供的虚拟触控识别方法的流程示意图,如图8所示,该方法包括:
步骤81、在用户与第一智能设备展示的虚拟界面进行触控交互时,拍摄用户的手部,得到深度图像。
步骤82、根据深度图像,确定用户的手部关键点的位置信息。
步骤83、将位置信息发送至第一智能设备,以供根据手部关键点的位置信息以及第一智能设备从拍摄到的深度图像中识别到的手部关键点的位置信息,确定用户的虚拟触控位置。
可选地,还包括:对所处的环境进行拍摄,得到环境图像;环境图像包括:多个用户以及多个用户各自佩戴的智能设备;基于环境图像,建立多个用户各自佩戴的智能设备与多个用户的匹配关系;将位置信息发送至第一智能设备,包括:根据匹配关系,将位置信息发送至与用户匹配的第一智能设备。
可选地,还包括:接收第一智能设备发送的移动参数;移动参数基于第一智能设备拍摄到的第二智能设备的设备图像确定;根据移动参数对第二智能设备的陀螺仪进行参数修正;基于修正后的参数,建立第二智能设备的设备坐标系;根据深度图像,确定用户的手部关键点的位置信息,包括:根据深度图像,确定用户的手部关键点在设备坐标系中各自的坐标以及坐标可信度。
在本实施例中,可在用户与第一智能设备展示的虚拟界面进行触控交互时,拍摄所述用户的手部,得到深度图像。根据所述深度图像,确定所述用户的手部关键点的位置信息。将所述位置信息发送至所述第一智能设备,以供根据所述手部关键点的位置信息以及所述第一智能设备从拍摄到的深度图像中识别到的手部关键点的位置信息,确定所述用户的虚拟触控位置。通过这种方式,智能设备可在手部的关键点被遮挡的情况下,结合其他智能设备在各自视角下获取的位置信息,较为准确地确定用户的虚拟触控位置。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤81至步骤83的执行主体可以为设备A;又比如,步骤81和82的执行主体可以为设备A,步骤83的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如81、82等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图9是本申请一示例性实施例提供的智能设备的结构示意图,如图9所示,该电子设备包括:存储器901和处理器902。
存储器901,用于存储计算机程序,并可被配置为存储其它各种数据以支持在终端设备上的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
在一些实施例中,处理器902,与存储器901耦合,用于执行存储器901中的计算机程序,以用于:在用户与第一智能设备展示的虚拟界面进行触控交互时,获取所述第一智能设备在任一交互时刻拍摄所述用户的手部得到的第一深度图像;基于所述第一深度图像,识别所述用户的第一手部关键点以及所述第一手部关键点的第一位置信息;获取所述用户的第二手部关键点以及所述第二手部关键点的第二位置信息;所述第二手部关键点以及所述第二手部关键点的第二位置信息,根据第二智能设备在所述交互时刻拍摄所述用户的手部得到的第二深度图像确定;根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定所述用户的虚拟触控位置。
可选地,处理器902基于所述第一深度图像,识别所述用户的第一手部关键点以及所述第一手部关键点的第一位置信息时,具体用于:利用计算机视觉算法,从所述第一深度图像中识别所述用户的第一手部关键点;利用双目定位算法,确定所述第一手部关键点在第一设备坐标系中的坐标以及坐标可信度,作为所述第一位置信息;所述第一设备坐标系为所述第一智能设备所在的坐标系。
可选地,所述第二手部关键点的第二位置信息包括:所述第二手部关键点在第二设备坐标系中的坐标以及坐标可信度;所述第二设备坐标系为所述第二智能设备所在的坐标系。
可选地,处理器902根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定所述用户的虚拟触控位置之前,还用于:根据所述第一设备坐标系和所述第二设备坐标系之间的坐标系转换关系,将所述第二手部关键点在所述第二设备坐标系中的位置信息转换到所述第一设备坐标系中,得到所述第二手部关键点的第二位置信息。
可选地,处理器902根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定所述用户的虚拟触控位置时,具体用于:根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定目标手部关键点的坐标;所述目标手部关键点为所述第一手部关键点以及所述第二手部关键点的并集;根据所述目标手部关键点的坐标,计算所述手部的指尖坐标,作为虚拟触控位置。
可选地,处理器902根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定目标手部关键点的坐标时,具体用于:从所述第一手部关键点以及所述第二手部关键点中,确定至少一组重复关键点;任一组重复关键点包含具有相同关节标识的多个关键点;针对任一组重复关键点中的多个关键点,根据所述多个关键点各自的坐标以及坐标可信度,从所述多个关键点中选择坐标可信度较高的关键点添加到所述目标关键点中。
可选地,处理器902还用于:获取所述第一手部关键点和所述第二手部关键点各自的环境可信度;根据所述第一手部关键点和所述第二手部关键点各自的环境可信度和坐标可信度,计算所述第一手部关键点和所述第二手部关键点各自的综合坐标可信度;根据所述多个关键点各自的坐标以及坐标可信度,从所述多个关键点中选择坐标可信度较高的关键点添加到所述目标关键点中,包括:根据所述多个关键点各自的综合坐标可信度,从所述多个关键点中选择综合坐标可信度较高的关键点添加到所述目标关键点中。
可选地,处理器902获取所述第一手部关键点和所述第二手部关键点各自的环境可信度时,具体用于:分别获取所述第一深度图像和所述第二深度图像的手部背景信息,所述手部背景信息至少包括:背景纹理复杂度和/或背景亮度;根据所述第一深度图像和所述第二深度图像的手部背景信息,分别确定所述第一手部关键点和所述第二手部关键点的环境可信度。
可选地,处理器902还用于:响应于所述第一智能设备的运动操作,对所处环境中的静止参照物进行不同角度的拍摄,并基于拍摄到的多张参照物图像,确定所述第一智能设备的第一移动参数;根据所述第一移动参数,对所述第一智能设备的第一陀螺仪进行参数修正;基于修正后的参数,建立所述第一智能设备的第一设备坐标系。
可选地,处理器902还用于:对所述第二智能设备进行拍摄,基于拍摄到的设备图像确定所述第二智能设备的第二移动参数;将所述第二移动参数发送至所述第二智能设备,以供根据所述第二移动参数对所述第二智能设备的第二陀螺仪进行参数修正并基于修正后的参数建立所述第二智能设备的第二设备坐标系。
在另一些实施例中,处理器902,与存储器901耦合,用于执行存储器901中的计算机程序,以用于:在用户与第一智能设备展示的虚拟界面进行触控交互时,拍摄所述用户的手部,得到深度图像;根据所述深度图像,确定所述用户的手部关键点的位置信息;将所述位置信息发送至所述第一智能设备,以供根据所述手部关键点的位置信息以及所述第一智能设备从拍摄到的深度图像中识别到的手部关键点的位置信息,确定所述用户的虚拟触控位置。
可选地,处理器902还用于:对所处的环境进行拍摄,得到环境图像;所述环境图像包括:多个用户以及所述多个用户各自佩戴的智能设备;基于所述环境图像,建立所述多个用户各自佩戴的智能设备与所述多个用户的匹配关系;将所述位置信息发送至所述第一智能设备,包括:根据所述匹配关系,将所述位置信息发送至与所述用户匹配的第一智能设备。
可选地,处理器902还用于:接收所述第一智能设备发送的移动参数;所述移动参数基于第一智能设备拍摄到的第二智能设备的设备图像确定;根据所述移动参数对所述第二智能设备的陀螺仪进行参数修正;基于修正后的参数,建立所述第二智能设备的设备坐标系;根据所述深度图像,确定所述用户的手部关键点的位置信息,包括:根据所述深度图像,确定所述用户的手部关键点在所述设备坐标系中各自的坐标以及坐标可信度。
进一步,如图9所示,该智能设备还包括:通信组件903和电源组件904等其它组件。图9中仅示意性给出部分组件,并不意味着智能设备只包括图9所示组件。
上述图9中的存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述图9中的通信组件903被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
上述图9中的电源组件904,为电源组件904所在设备的各种组件提供电力。电源组件904可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
在本实施例中,可在用户与智能设备展示的虚拟界面进行触控交互时,获取智能设备在交互时刻拍摄用户的手部得到的深度图像;基于该深度图像,识别用户的第一手部关键点以及第一手部关键点的位置信息。获取用户的第二手部关键点以及第二手部关键点的位置信息;第二手部关键点以及第二手部关键点的位置信息,根据另一智能设备在交互时刻拍摄用户的手部得到的深度图像确定。根据第一手部关键点的位置信息以及第二手部关键点的位置信息,确定用户的虚拟触控位置。通过这种方式,智能设备可在手部的关键点被遮挡的情况下,结合其他智能设备在各自视角下获取的位置信息,较为准确地确定用户的虚拟触控位置。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由智能设备执行的各步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种虚拟触控识别方法,其特征在于,适用于第一智能设备,所述方法包括:
在用户与所述第一智能设备展示的虚拟界面进行触控交互时,获取所述第一智能设备在任一交互时刻拍摄所述用户的手部得到的第一深度图像;
基于所述第一深度图像,识别所述用户的第一手部关键点以及所述第一手部关键点的第一位置信息;
获取所述用户的第二手部关键点以及所述第二手部关键点的第二位置信息;所述第二手部关键点以及所述第二手部关键点的第二位置信息,根据第二智能设备在所述交互时刻拍摄所述用户的手部得到的第二深度图像确定;
根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定所述用户的虚拟触控位置;
根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定所述用户的虚拟触控位置,包括:根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定目标手部关键点的坐标;所述目标手部关键点为所述第一手部关键点以及所述第二手部关键点的并集;根据所述目标手部关键点的坐标,计算所述手部的指尖坐标,作为虚拟触控位置。
2.根据权利要求1所述的方法,其特征在于,基于所述第一深度图像,识别所述用户的第一手部关键点以及所述第一手部关键点的第一位置信息,包括:
利用计算机视觉算法,从所述第一深度图像中识别所述用户的第一手部关键点;
利用双目定位算法,确定所述第一手部关键点在第一设备坐标系中的坐标以及坐标可信度,作为所述第一位置信息;所述第一设备坐标系为所述第一智能设备所在的坐标系。
3.根据权利要求2所述的方法,其特征在于,所述第二手部关键点的第二位置信息包括:所述第二手部关键点在第二设备坐标系中的坐标以及坐标可信度;所述第二设备坐标系为所述第二智能设备所在的坐标系。
4.根据权利要求3所述的方法,其特征在于,根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定所述用户的虚拟触控位置之前,还包括:
根据所述第一设备坐标系和所述第二设备坐标系之间的坐标系转换关系,将所述第二手部关键点在所述第二设备坐标系中的第二位置信息转换到所述第一设备坐标系中。
5.根据权利要求1所述的方法,其特征在于,根据所述第一手部关键点的第一位置信息以及所述第二手部关键点的第二位置信息,确定目标手部关键点的坐标,包括:
从所述第一手部关键点以及所述第二手部关键点中,确定至少一组重复关键点;任一组重复关键点包含具有相同关节标识的多个关键点;
针对任一组重复关键点中的多个关键点,根据所述多个关键点各自的坐标以及坐标可信度,从所述多个关键点中选择坐标可信度较高的关键点添加到所述目标手部关键点中。
6.根据权利要求5所述的方法,其特征在于,还包括:
获取所述第一手部关键点和所述第二手部关键点各自的环境可信度;
根据所述第一手部关键点和所述第二手部关键点各自的环境可信度和坐标可信度,计算所述第一手部关键点和所述第二手部关键点各自的综合坐标可信度;
根据所述多个关键点各自的坐标以及坐标可信度,从所述多个关键点中选择坐标可信度较高的关键点添加到所述目标手部关键点中,包括:
根据所述多个关键点各自的综合坐标可信度,从所述多个关键点中选择综合坐标可信度较高的关键点添加到所述目标手部关键点中。
7.根据权利要求6所述的方法,其特征在于,获取所述第一手部关键点和所述第二手部关键点各自的环境可信度,包括:
分别获取所述第一深度图像和所述第二深度图像的手部背景信息,所述手部背景信息至少包括:背景纹理复杂度和/或背景亮度;
根据所述第一深度图像和所述第二深度图像的手部背景信息,分别确定所述第一手部关键点和所述第二手部关键点的环境可信度。
8.根据权利要求2-4任一项所述的方法,其特征在于,还包括:
响应于所述第一智能设备的运动操作,对所处环境中的静止参照物进行不同角度的拍摄,并基于拍摄到的多张参照物图像,确定所述第一智能设备的第一移动参数;
根据所述第一移动参数,对所述第一智能设备的第一陀螺仪进行参数修正;
基于修正后的参数,建立所述第一智能设备的第一设备坐标系。
9.根据权利要求3-4任一项所述的方法,其特征在于,还包括:
对所述第二智能设备进行拍摄,基于拍摄到的设备图像确定所述第二智能设备的第二移动参数;
将所述第二移动参数发送至所述第二智能设备,以供根据所述第二移动参数对所述第二智能设备的第二陀螺仪进行参数修正并基于修正后的参数建立所述第二智能设备的第二设备坐标系。
10.一种虚拟触控识别方法,其特征在于,适用于第二智能设备,所述方法包括:
在用户与第一智能设备展示的虚拟界面进行触控交互时,所述第二智能设备拍摄所述用户的手部,得到第二深度图像;
根据所述第二深度图像,确定所述用户的第二手部关键点的第二位置信息;
将所述第二位置信息发送至所述第一智能设备,以供根据所述第二手部关键点的第二位置信息以及所述第一智能设备从拍摄到的第一深度图像中识别到的第一手部关键点的第一位置信息确定目标手部关键点的坐标并根据所述目标手部关键点的坐标计算所述手部的指尖坐标作为虚拟触控位置;所述目标手部关键点为所述第二手部关键点以及所述第一手部关键点的并集。
11.根据权利要求10所述的方法,其特征在于,还包括:
对所处的环境进行拍摄,得到环境图像;所述环境图像包括:多个用户以及所述多个用户各自佩戴的智能设备;
基于所述环境图像,建立所述多个用户各自佩戴的智能设备与所述多个用户的匹配关系;
将所述第二位置信息发送至所述第一智能设备,包括:
根据所述匹配关系,将所述第二位置信息发送至与所述用户匹配的第一智能设备。
12.根据权利要求10所述的方法,其特征在于,还包括:
接收所述第一智能设备发送的所述第二智能设备的移动参数;所述移动参数基于所述第一智能设备拍摄到的所述第二智能设备的设备图像确定;
根据所述移动参数对所述第二智能设备的陀螺仪进行参数修正;
基于修正后的参数,建立所述第二智能设备的设备坐标系;
根据所述第二深度图像,确定所述用户的第二手部关键点的第二位置信息,包括:
根据所述第二深度图像,确定所述用户的第二手部关键点在所述设备坐标系中各自的坐标以及坐标可信度。
13.一种智能设备,其特征在于,包括:存储器、处理器;其中,所述存储器用于:存储一个或多个计算机指令;所述处理器用于执行所述一个或多个计算机指令,以用于:执行权利要求1-9或者权利要求10-12任一项所述方法中的步骤。
14.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求1-9或者权利要求10-12任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310555188.5A CN116309850B (zh) | 2023-05-17 | 2023-05-17 | 一种虚拟触控识别方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310555188.5A CN116309850B (zh) | 2023-05-17 | 2023-05-17 | 一种虚拟触控识别方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116309850A CN116309850A (zh) | 2023-06-23 |
CN116309850B true CN116309850B (zh) | 2023-08-08 |
Family
ID=86781860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310555188.5A Active CN116309850B (zh) | 2023-05-17 | 2023-05-17 | 一种虚拟触控识别方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116309850B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018076912A1 (zh) * | 2016-10-28 | 2018-05-03 | 捷开通讯(深圳)有限公司 | 一种虚拟场景调整方法及头戴式智能设备 |
US10403050B1 (en) * | 2017-04-10 | 2019-09-03 | WorldViz, Inc. | Multi-user virtual and augmented reality tracking systems |
CN110832441A (zh) * | 2017-05-19 | 2020-02-21 | 奇跃公司 | 用于虚拟、增强和混合现实显示系统的键盘 |
CN111176442A (zh) * | 2019-11-29 | 2020-05-19 | 广东鼎义互联科技股份有限公司 | 一种基于vr虚拟现实技术的交互式政务服务系统及方法 |
CN111369685A (zh) * | 2020-03-03 | 2020-07-03 | 西南交通大学 | 一种事故救援虚拟演练交互系统及方法 |
CN111949111A (zh) * | 2019-05-14 | 2020-11-17 | Oppo广东移动通信有限公司 | 交互控制方法、装置、电子设备及存储介质 |
EP3745237A1 (en) * | 2019-05-31 | 2020-12-02 | Koninklijke Philips N.V. | Rendering an image on a virtual user interface of an augmented or virtual reality device |
WO2022021980A1 (zh) * | 2020-07-30 | 2022-02-03 | 北京市商汤科技开发有限公司 | 虚拟对象的控制方法、装置、电子设备及存储介质 |
CN114625251A (zh) * | 2022-03-11 | 2022-06-14 | 平安普惠企业管理有限公司 | 基于vr的交互方法、装置、计算机设备及存储介质 |
CN114690900A (zh) * | 2022-03-16 | 2022-07-01 | 中数元宇数字科技(上海)有限公司 | 一种虚拟场景中的输入识别方法、设备及存储介质 |
CN115576426A (zh) * | 2022-10-26 | 2023-01-06 | 北京航空航天大学江西研究院 | 一种针对混合现实飞行模拟器的手部交互方法 |
CN115761190A (zh) * | 2022-11-25 | 2023-03-07 | 广东工业大学 | 基于场景映射的多用户增强现实相片浏览方法及系统 |
CN115956259A (zh) * | 2020-06-30 | 2023-04-11 | 美国斯耐普公司 | 生成用于虚拟现实体验的基础真实数据集 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10852838B2 (en) * | 2014-06-14 | 2020-12-01 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
-
2023
- 2023-05-17 CN CN202310555188.5A patent/CN116309850B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018076912A1 (zh) * | 2016-10-28 | 2018-05-03 | 捷开通讯(深圳)有限公司 | 一种虚拟场景调整方法及头戴式智能设备 |
US10403050B1 (en) * | 2017-04-10 | 2019-09-03 | WorldViz, Inc. | Multi-user virtual and augmented reality tracking systems |
CN110832441A (zh) * | 2017-05-19 | 2020-02-21 | 奇跃公司 | 用于虚拟、增强和混合现实显示系统的键盘 |
CN111949111A (zh) * | 2019-05-14 | 2020-11-17 | Oppo广东移动通信有限公司 | 交互控制方法、装置、电子设备及存储介质 |
EP3745237A1 (en) * | 2019-05-31 | 2020-12-02 | Koninklijke Philips N.V. | Rendering an image on a virtual user interface of an augmented or virtual reality device |
CN111176442A (zh) * | 2019-11-29 | 2020-05-19 | 广东鼎义互联科技股份有限公司 | 一种基于vr虚拟现实技术的交互式政务服务系统及方法 |
CN111369685A (zh) * | 2020-03-03 | 2020-07-03 | 西南交通大学 | 一种事故救援虚拟演练交互系统及方法 |
CN115956259A (zh) * | 2020-06-30 | 2023-04-11 | 美国斯耐普公司 | 生成用于虚拟现实体验的基础真实数据集 |
WO2022021980A1 (zh) * | 2020-07-30 | 2022-02-03 | 北京市商汤科技开发有限公司 | 虚拟对象的控制方法、装置、电子设备及存储介质 |
CN114625251A (zh) * | 2022-03-11 | 2022-06-14 | 平安普惠企业管理有限公司 | 基于vr的交互方法、装置、计算机设备及存储介质 |
CN114690900A (zh) * | 2022-03-16 | 2022-07-01 | 中数元宇数字科技(上海)有限公司 | 一种虚拟场景中的输入识别方法、设备及存储介质 |
CN115576426A (zh) * | 2022-10-26 | 2023-01-06 | 北京航空航天大学江西研究院 | 一种针对混合现实飞行模拟器的手部交互方法 |
CN115761190A (zh) * | 2022-11-25 | 2023-03-07 | 广东工业大学 | 基于场景映射的多用户增强现实相片浏览方法及系统 |
Non-Patent Citations (1)
Title |
---|
姚保岐.面向虚拟互动系统的多视角动作捕捉方法研究.《中国优秀硕士学位论文全文数据库 (信息科技辑)》.2022,(第1期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN116309850A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11756223B2 (en) | Depth-aware photo editing | |
EP3557377B1 (en) | Neural network training for three dimensional (3d) gaze prediction with calibration parameters | |
EP3547216B1 (en) | Deep learning for three dimensional (3d) gaze prediction | |
US11301677B2 (en) | Deep learning for three dimensional (3D) gaze prediction | |
KR20200101206A (ko) | 가상 캐릭터 기반 촬영 모드를 제공하는 전자 장치 및 이의 동작 방법 | |
CN111340766A (zh) | 目标对象的检测方法、装置、设备和存储介质 | |
US10671890B2 (en) | Training of a neural network for three dimensional (3D) gaze prediction | |
CN111462311A (zh) | 全景图生成方法及装置、存储介质 | |
CN110033423B (zh) | 用于处理图像的方法和装置 | |
CN114690900B (zh) | 一种虚拟场景中的输入识别方法、设备及存储介质 | |
CN113424228A (zh) | 用于提供化身动画的电子装置及其方法 | |
CN112669381B (zh) | 一种位姿确定方法、装置、电子设备及存储介质 | |
US20200380723A1 (en) | Online learning for 3d pose estimation | |
CN111589138B (zh) | 动作预测方法、装置、设备及存储介质 | |
CN114140536A (zh) | 位姿数据处理方法、装置、电子设备及存储介质 | |
CN116309850B (zh) | 一种虚拟触控识别方法、设备及存储介质 | |
CN109842791B (zh) | 一种图像处理方法及装置 | |
CN115278084A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN115393182A (zh) | 图像处理方法、装置、处理器、终端及存储介质 | |
CN113342157B (zh) | 眼球追踪处理方法及相关装置 | |
US20200334910A1 (en) | Ar space image projecting system, ar space image projecting method, and user terminal | |
CN113010009A (zh) | 对象共享方法及装置 | |
KR20210048798A (ko) | 단말에 구비된 카메라의 포즈를 결정하는 방법 및 이를 수행하는 위치 계산 서버 | |
CN112767484B (zh) | 定位模型的融合方法、定位方法、电子装置 | |
JP7261889B2 (ja) | 共有地図に基づいた測位方法及び装置、電子機器並びに記憶媒体 |
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 |