CN116433752A - 检测手柄图像中光斑标识的方法及电子设备 - Google Patents
检测手柄图像中光斑标识的方法及电子设备 Download PDFInfo
- Publication number
- CN116433752A CN116433752A CN202211390797.1A CN202211390797A CN116433752A CN 116433752 A CN116433752 A CN 116433752A CN 202211390797 A CN202211390797 A CN 202211390797A CN 116433752 A CN116433752 A CN 116433752A
- Authority
- CN
- China
- Prior art keywords
- light spot
- adjacent
- actual
- image
- handle
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000001514 detection method Methods 0.000 claims abstract description 23
- 230000005484 gravity Effects 0.000 claims description 27
- 238000012216 screening Methods 0.000 claims description 22
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012163 sequencing technique Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
-
- 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/10004—Still image; Photographic image
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本申请提供检测手柄图像中光斑标识的方法及电子设备,用于提高光斑标识的检测效率。包括:将目标手柄图像中的各光斑分别与其相邻的各目标光斑连接得到各平面图形;将任一平面图形中各相邻光斑分别和手柄的各实际相邻光斑集合中各实际光斑匹配,得到各相邻光斑匹配对;基于各相邻光斑匹配对中各相邻光斑的位置和各实际光斑的位置,得到手柄的多个预测位置;基于各预测位置和各实际光斑的位置分别将手柄中的各实际光斑投影到指定图像中,得到各投影光斑的位置;通过各投影光斑的位置对投影光斑与指定图像中其他各光斑匹配,得到各其他光斑匹配对;基于各其他光斑匹配对和各光斑匹配对,确定各光斑标识。
Description
技术领域
本申请涉及虚拟现实设备图像处理技术领域,尤其涉及一种检测手柄图像中光斑标识的方法及电子设备。
背景技术
VR(Virtual Reality,虚拟现实技术)设备的手柄的位置主要是根据视觉来进行计算,手柄本身安装有红外LED(light-emitting diode,发光二极管),当打开手柄的LED时,就会出现光斑。具体的如图1所示。其中,手柄中的每个光斑有唯一的标识,并且已知每个光斑在手柄坐标系下的3D(3-dimension,三维)坐标,这个坐标是预先设计好的、固定不变的(因为LED灯相对于手柄的位置不变)。若想要计算手柄的位置,需要确定图像中各光斑的标识。
现有技术中,通过暴力匹配的方式来检测手柄图像中光斑标识的。暴力匹配是通过对各光斑进行所有可能的标识组合进行尝试,选择最优匹配来确定光斑标识。所以,现有技术中暴力匹配的方式是比较耗时的,导致对光斑标识的检测效率较低。
发明内容
本申请提供了一种检测手柄图像中光斑标识的方法及电子设备,提高检测手柄图像中的光斑标识的效率。
第一方面,本申请实施例提供一种检测手柄图像中光斑标识的方法,包括:
针对当前时刻的目标手柄图像中的任意一个光斑,根据所述光斑的位置,从所述目标手柄图像中除所述光斑之外的其他各光斑中筛选出与所述光斑相邻的第一指定数量的目标光斑;并,
将所述光斑与所述第一指定数量的目标光斑进行连接,得到平面图形;并,
针对任意一个预设的手柄的实际相邻光斑集合,将所述平面图形中的各相邻光斑和所述实际相邻光斑集合中的各实际光斑分别进行匹配,得到各相邻光斑匹配对,其中,所述相邻光斑匹配对中包括相邻光斑的图像光斑索引和与所述相邻光斑相匹配的实际光斑的标识;
针对任意一个相邻光斑匹配对,基于所述相邻光斑匹配对中各相邻光斑的位置和所述各实际光斑的位置,得到与所述相邻光斑匹配对相对应的所述手柄的多个预测位置;
针对任意一个预测位置,基于所述预测位置和所述手柄的各实际光斑的位置将所述手柄中的各实际光斑投影到指定图像中,得到各投影光斑的位置;并,
通过所述各投影光斑的位置和所述指定图像中各光斑的位置,对所述投影光斑与所述指定图像中除所述平面图形中的各相邻光斑之外的其他各光斑进行匹配,得到各其他光斑匹配对;
基于所述各其他光斑匹配对的数量对光斑匹配对进行筛选,得到筛选后的各光斑匹配对,其中,所述光斑匹配对包括所述相邻光斑匹配对和所述其他光斑匹配对;
根据所述筛选后的光斑匹配对的数量,得到所述目标手柄图像中各光斑的标识。
本申请第二方面提供一种电子设备,包括处理器和存储器,所述处理器和所述存储器通过总线连接;
所述存储器中存储有计算机程序,所述处理器被配置为基于所述计算机程序执行以下操作:
针对当前时刻的目标手柄图像中的任意一个光斑,根据所述光斑的位置,从所述目标手柄图像中除所述光斑之外的其他各光斑中筛选出与所述光斑相邻的第一指定数量的目标光斑;并,
将所述光斑与所述第一指定数量的目标光斑进行连接,得到平面图形;并,
针对任意一个预设的手柄的实际相邻光斑集合,将所述平面图形中的各相邻光斑和所述实际相邻光斑集合中的各实际光斑分别进行匹配,得到各相邻光斑匹配对,其中,所述相邻光斑匹配对中包括相邻光斑的图像光斑索引和与所述相邻光斑相匹配的实际光斑的标识;
针对任意一个相邻光斑匹配对,基于所述相邻光斑匹配对中各相邻光斑的位置和所述各实际光斑的位置,得到与所述相邻光斑匹配对相对应的所述手柄的多个预测位置;
针对任意一个预测位置,基于所述预测位置和所述手柄的各实际光斑的位置将所述手柄中的各实际光斑投影到指定图像中,得到各投影光斑的位置;并,
通过所述各投影光斑的位置和所述指定图像中各光斑的位置,对所述投影光斑与所述指定图像中除所述平面图形中的各相邻光斑之外的其他各光斑进行匹配,得到各其他光斑匹配对;
基于所述各其他光斑匹配对的数量对光斑匹配对进行筛选,得到筛选后的各光斑匹配对,其中,所述光斑匹配对包括所述相邻光斑匹配对和所述其他光斑匹配对;
根据所述筛选后的光斑匹配对的数量,得到所述目标手柄图像中各光斑的标识。
根据本发明实施例提供的第三方面,提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序用于执行如第一方面所述的方法。
本申请的上述实施例中,针对当前时刻的目标手柄图像中的任意一个光斑,通过将该光斑和与该光斑相邻的各目标光斑相连接,得到平面图形,然后将所述平面图形中的各相邻光斑分别和预设的手柄的实际相邻光斑集合中的各实际光斑进行匹配,得到各相邻光斑匹配对,然后基于各相邻光斑匹配对得到手柄的多个预测位置,并基于手柄的多个预测位置得到各其他光斑匹配对,然后基于其他光斑匹配对的数量对各光斑匹配对进行筛选,最后基于筛选后的光斑匹配对的数量确定各光斑标识。由此,本申请中先确定出图像中各相邻的光班连接成平面图形,然后将各平面图形中的光斑与预设的实际相邻光斑集合中的光斑进行匹配,以确定出手柄图像中各光斑的标识。所以,本申请中是通过图像相邻光斑与实际相邻光斑进行匹配,这样就过滤掉一些不相邻的光斑组合的匹配,并不需要所有的组合都匹配一遍,所以,节省了时间和计算资源,提高了光斑标识检测的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示例性示出了本申请实施例提供的手柄的光斑示意图;
图2示例性示出了本申请实施例提供的应用场景示意图之一;
图3示例性示出了本申请实施例提供的应用场景示意图之二;
图4示例性示出了本申请实施例提供的应用场景示意图之三;
图5示例性示出了本申请实施例提供的检测手柄图像中光斑标识的方法的流程图之一;
图6示例性示出了本申请实施例提供的平面图形示意图;
图7示例性示出了本申请实施例提供的为确定各相邻光斑匹配对的流程示意图;
图8示例性示出了本申请实施例提供的对相邻光斑匹配对进行筛选的流程示意图;
图9示例性示出了本申请实施例提供的为确定其他光斑匹配对的流程示意图;
图10示例性示出了本申请实施例提供的检测手柄图像中光斑标识的方法的流程图之二;
图11示例性示出了本申请实施例提供的检测手柄图像中光斑标识的装置结构示意图;
图12示例性示出了本申请实施例提供的电子设备的硬件结构图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请的说明书和权利要求书及上述附图中的术语″第一″、″第二″等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语″包括″和″具有″以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语″模块″,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
下面对本申请实施例的思想进行概述。
目前的检测手柄图像中光斑标识的技术中,通过暴力匹配的方式来检测手柄图像中光斑标识的。但是暴力匹配是通过对所有可能的标识组合进行尝试,选择最优匹配来确定光斑标识。所以,现有技术中暴力匹配的方式比较耗时,导致对光斑标识的检测效率较低。
基于现有技术中存在对光斑标识的检测效率较低的问题,本申请实施例提供了一种检测手柄图像中光斑标识的方法,针对当前时刻的目标手柄图像中的任意一个光斑,通过将该光斑和与该光斑相邻的各目标光斑相连接,得到平面图形,然后将所述平面图形中的各相邻光斑分别和预设的手柄的实际相邻光斑集合中的各实际光斑进行匹配,得到各相邻光斑匹配对,然后基于各相邻光斑匹配对得到手柄的多个预测位置,并基于手柄的多个预测位置得到各其他光斑匹配对,然后基于其他光斑匹配对的数量对各光斑匹配对进行筛选,最后基于筛选后的光斑匹配对的数量确定各光斑标识。由此,本申请中先确定出图像中各相邻的光班连接成平面图形,然后将各平面图形中的光斑与预设的实际相邻光斑集合中的光斑进行匹配,以确定出手柄图像中各光斑的标识。所以,本申请中是通过图像相邻光斑与实际相邻光斑进行匹配,这样就过滤掉一些不相邻的光斑组合的匹配,并不需要所有的组合都匹配一遍,所以,节省了时间和计算资源,提高了光斑标识检测的效率。
下面结合附图详细描述本申请的实施例。
图2示例性示出了本申请实施例提供的应用场景示意图;如图2所示,该应用场景中是以电子设备为服务器为例进行说明的。该应用场景中包括VR设备210和服务器220。服务器220可以通过单个服务器实现,也可以通过多个服务器实现。服务器220可以通过实体服务器实现,也可以通过虚拟服务器实现。
在一种可能的应用场景中,针对VR设备210获取的当前时刻的目标手柄图像中的任意一个光斑,服务器220根据所述光斑的位置,从所述目标手柄图像中除所述光斑之外的其他各光斑中筛选出与所述光斑相邻的第一指定数量的目标光斑;并将所述光斑与所述第一指定数量的目标光斑进行连接,得到平面图形;然后服务器220针对任意一个预设的手柄的实际相邻光斑集合,将所述平面图形中的各相邻光斑和所述实际相邻光斑集合中的各实际光斑分别进行匹配,得到各相邻光斑匹配对,其中,所述相邻光斑匹配对中包括相邻光斑的图像光斑索引和与所述相邻光斑相匹配的实际光斑的标识;并针对任意一个相邻光斑匹配对,基于所述相邻光斑匹配对中各相邻光斑的位置和所述各实际光斑的位置,得到与所述相邻光斑匹配对相对应的所述手柄的多个预测位置;然后服务器220针对任意一个预测位置,基于所述预测位置和所述手柄的各实际光斑的位置将所述手柄中的各实际光斑投影到指定图像中,得到各投影光斑的位置;通过所述各投影光斑的位置和所述指定图像中各光斑的位置,对所述投影光斑与所述指定图像中除所述平面图形中的各相邻光斑之外的其他各光斑进行匹配,得到各其他光斑匹配对;以及服务器220基于所述各其他光斑匹配对的数量对各光斑匹配对进行筛选,得到筛选后的各光斑匹配对,其中,所述光斑匹配对包括所述相邻光斑匹配对和所述其他光斑匹配对;最后服务器220根据所述筛选后的光斑匹配对的数量,得到所述目标手柄图像中各光斑的标识。
如图3所示,为另一应用场景示意图,该应用场景包括VR设备210、服务器220和存储器230。针对VR设备210获取的当前时刻的目标手柄图像中的任意一个光斑,服务器220根据所述光斑的位置,从所述目标手柄图像中除所述光斑之外的其他各光斑中筛选出与所述光斑相邻的第一指定数量的目标光斑;并将所述光斑与所述第一指定数量的目标光斑进行连接,得到平面图形;然后服务器220针对任意一个预设的手柄的实际相邻光斑集合,将所述平面图形中的各相邻光斑和所述实际相邻光斑集合中的各实际光斑分别进行匹配,得到各相邻光斑匹配对,其中,所述相邻光斑匹配对中包括相邻光斑的图像光斑索引和与所述相邻光斑相匹配的实际光斑的标识;并针对任意一个相邻光斑匹配对,基于所述相邻光斑匹配对中各相邻光斑的位置和所述各实际光斑的位置,得到与所述相邻光斑匹配对相对应的所述手柄的多个预测位置;然后服务器220针对任意一个预测位置,基于所述预测位置和所述手柄的各实际光斑的位置将所述手柄中的各实际光斑投影到指定图像中,得到各投影光斑的位置;通过所述各投影光斑的位置和所述指定图像中各光斑的位置,对所述投影光斑与所述指定图像中除所述平面图形中的各相邻光斑之外的其他各光斑进行匹配,得到各其他光斑匹配对;以及服务器220基于所述各其他光斑匹配对的数量对各光斑匹配对进行筛选,得到筛选后的各光斑匹配对,其中,所述光斑匹配对包括所述相邻光斑匹配对和所述其他光斑匹配对;最后服务器220根据所述筛选后的光斑匹配对的数量,得到所述目标手柄图像中各光斑的标识,并将所述各光斑的标识存储至存储器230中。
如图4所示,为另一应用场景示意图,该应用场景包括VR设备210和存储器230。该应用场景中是以电子设备为VR设备为例进行说明的。针对获取的当前时刻的目标手柄图像中的任意一个光斑,VR设备210根据所述光斑的位置,从所述目标手柄图像中除所述光斑之外的其他各光斑中筛选出与所述光斑相邻的第一指定数量的目标光斑;并将所述光斑与所述第一指定数量的目标光斑进行连接,得到平面图形;然后VR设备210针对任意一个预设的手柄的实际相邻光斑集合,将所述平面图形中的各相邻光斑和所述实际相邻光斑集合中的各实际光斑分别进行匹配,得到各相邻光斑匹配对,其中,所述相邻光斑匹配对中包括相邻光斑的图像光斑索引和与所述相邻光斑相匹配的实际光斑的标识;并针对任意一个相邻光斑匹配对,基于所述相邻光斑匹配对中各相邻光斑的位置和所述各实际光斑的位置,得到与所述相邻光斑匹配对相对应的所述手柄的多个预测位置;然后VR设备210针对任意一个预测位置,基于所述预测位置和所述手柄的各实际光斑的位置将所述手柄中的各实际光斑投影到指定图像中,得到各投影光斑的位置;通过所述各投影光斑的位置和所述指定图像中各光斑的位置,对所述投影光斑与所述指定图像中除所述平面图形中的各相邻光斑之外的其他各光斑进行匹配,得到各其他光斑匹配对;以及VR设备210基于所述各其他光斑匹配对的数量对各光斑匹配对进行筛选,得到筛选后的各光斑匹配对,其中,所述光斑匹配对包括所述相邻光斑匹配对和所述其他光斑匹配对;最后VR设备210根据所述筛选后的光斑匹配对的数量,得到所述目标手柄图像中各光斑的标识,并将所述各光斑的标识存储至存储器230中。
其中,本申请中的描述中仅就单个VR设备210,单个服务器220以及单个存储器230加以详述,但是本领域技术人员应当理解的是,示出的VR设备210,服务器220以及存储器230旨在表示本申请的技术方案涉及的VR设备210,服务器220以及存储器230的操作。而非暗示对VR设备210,服务器220以及存储器230的数量、类型或是位置等具有限制。应当注意,如果向图示环境中添加附加模块或从其中去除个别模块,不会改变本申请的示例实施例的底层概念。
需要说明的是,本申请提出的检测手柄图像中光斑标识的方法不仅适用于图2、图3和图4所示的应用场景,还适用于任何有检测手柄图像中光斑标识的装置。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式检测手柄图像中光斑标识的方法,需要注意的是,上述应用场景仅是为了便于理解本申请的方法和原理而示出,本申请的实施方式在此方面不受任何限制。
如图5所示,为检测手柄图像中光斑标识的方法的流程示意图,可包括以下步骤:
步骤501:针对当前时刻的目标手柄图像中的任意一个光斑,根据所述光斑的位置,从所述目标手柄图像中除所述光斑之外的其他各光斑中筛选出与所述光斑相邻的第一指定数量的目标光斑;
在一个实施例中,通过以下方式确定当前时刻的目标手柄图像:
利用目标检测算法对VR设备在当前时刻获取的各手柄图像进行光斑检测,分别得到各手柄图像中的各光斑;将光斑数量最多的手柄图像确定为所述目标手柄图像。
其中,本实施例中的目标检测算法包括手柄检测算法和光斑检测算法,先利用手柄检测算法确定各手柄图像中各手柄的位置,然后利用光斑检测算法分别对各图像中手柄的位置进行检测,得到各光斑的位置。本实施例中的手柄检测算法以及光斑检测算法均属于目标检测算法,具体的目标检测算法可根据实际情况来进行设置,本实施例在此并不对目标检测算法进行限定。
在一个实施例中,步骤501可实施为:基于所述光斑的位置以及所述从所述目标手柄图像中除所述光斑之外的其他各光斑的位置,得到所述光斑与所述其他各光斑之间的距离;将所述光斑与所述其他各光斑之间的距离按照从小到大的顺序进行排序,将与前第一指定数量的距离对应的其他光斑确定为所述目标光斑。其中,可通过公式(1)得到所述光斑与任意一个其他光斑之间的距离:
其中,d为所述光斑与任意一个其他光斑之间的距离,x1为所述光斑的位置的横坐标,y1为所述光斑的位置的纵坐标,x2为所述其他光斑的位置的横坐标,y2为所述其他光斑的位置的纵坐标。
需要说明的是:本实施例中的第一指定数量为2,但是并不对本实施例中的第一指定数量进行限定,本实施例中的第一指定数量可根据实际情况来进行设置。其中,第一指定数量与平面图形是相对应的,若平面图形是三角形,则第一指定数量为2,若平面图形是四面形,则第一指定数量为3。
步骤502:将所述光斑与所述第一指定数量的目标光斑进行连接,得到平面图形;
其中,本实施例中的平面图形为三角形,但是并不对本实施例中的平面图形进行限定,本实施例中的平面图形可根据实际情况来进行设置。例如,如图6所示,为将目标手柄图像中的各相邻光斑进行连接得到多个三角形。
步骤503:针对任意一个预设的手柄的实际相邻光斑集合,将所述平面图形中的各相邻光斑和所述实际相邻光斑集合中的各实际光斑分别进行匹配,得到各相邻光斑匹配对,其中,所述相邻光斑匹配对中包括相邻光斑的图像光斑索引和与所述相邻光斑相匹配的实际光斑的标识;
如图7所示,为确定各相邻光斑匹配对的流程示意图,包括以下步骤:
步骤701:将所述平面图形中的各相邻光斑按照图像光斑索引从小到大的顺序进行排列,得到光斑列表;
步骤702:按照指定顺序对所述实际相邻光斑集合中的各实际光斑进行遍历,针对任意一个遍历到的实际光斑,以所述实际光斑作为初始位置,并将其他光斑按照所述指定顺序进行排序,得到排序列表;
其中,本实施例中的指定顺序包括顺时针方向顺序和逆时针方向顺序,但是并不对本实施例中的指定顺序进行限定,本实施例中的指定顺序可根据实际情况来进行设置。
例如,实际相邻光斑集合1中包括实际光斑1、实际光斑2和实际光斑3。若本实施中的指定顺序为逆时针方向,则对实际相邻光斑集合中各光斑的遍历顺序依次为实际光斑3、实际光斑2和实际光斑1。当遍历到实际光斑3时,对应排序列表为:实际光斑3、实际光斑2、实际光斑1。当遍历到实际光斑2时,则对应的排序列表为实际光斑2、实际光斑1、实际光斑3。当遍历到实际光斑1时,对应的排序列表为实际光斑1、实际光斑3、实际光斑2。
步骤703:针对所述排序列中的任意一个光斑,将所述实际光斑的标识与所述光斑列表中位置与所述实际光斑在所述排序列表中的位置相同的相邻光斑的图像光斑索引添加到同一相邻光斑匹配对中;
例如,光斑列表中的顺序依稀为:光斑A、光斑B、光斑C。以排序列表为:实际光斑3、实际光斑2、实际光斑1为例进行说明。则得到的相邻光斑匹配度分别为:光斑A-实际光斑3,光斑B-实际光斑2,光斑C-实际光斑1。
步骤704:判断所述实际相邻光斑集合中是否存在未进行遍历的实际光斑,若是,则返回执行步骤702,若否,则结束。
步骤504:针对任意一个相邻光斑匹配对,基于所述相邻光斑匹配对中各相邻光斑的位置和所述各实际光斑的位置,得到与所述相邻光斑匹配对相对应的所述手柄的多个预测位置;
在一个实施例中,针对任意一个相邻光斑匹配对,将所述相邻光斑匹配对中各相邻光斑的位置和所述各实际光斑的位置输入至p3p算法中,得到与所述相邻光斑匹配对相对应的所述手柄的多个预测位置。
其中,本实施例中的一个相邻光斑匹配对中得到对应的四个预测位置。本实施例中的p3p算法为现有技术中的算法,本实施例在此不再进行赘述。
步骤505:针对任意一个预测位置,基于所述预测位置和所述手柄的各实际光斑的位置将所述手柄中的各实际光斑投影到指定图像中,得到各投影光斑的位置;
其中,本实施例中的指定图像为当前时刻获取的各手柄图像中的至少一个图像。该指定图像可为一个,也可为多个,本实施例在此并不对指定图像的数量以及具体图像进行限定,指定图像的数量以及具体使用哪一张图像可根据实际情况来进行设置。
在一个实施例中,利用预设的重投影算法、所述预测位置和所述手柄的各实际光斑的位置将所述手柄中的各实际光斑投影到所述指定图像中,得到各投影光斑的位置。
需要说明的是:本实施例中的重投影算法为现有技术中的算法,本实施例在此不再进行赘述。
为了进一步提高手柄图像中的光斑标识的检测效率,在一个实施例中,在执行步骤505之前,需要对相邻光斑匹配对进行筛选,如图8所示,为对相邻光斑匹配对进行筛选的流程示意图,包括以下步骤:
步骤801:针对任意一组与所述相邻光斑匹配对相对应的所述手柄的多个预测位置,基于所述各预测位置,得到与相邻光斑匹配对相对应的手柄的预测重力方向向量;
在一个实施例中,步骤801可实施为:将与所述相邻光斑匹配对相对应的所述手柄的多个预测位置输入至预设的imu积分算法中,得到与所述相邻光斑匹配对相对应的手柄的预测重力方向向量。
需要说明的是:imu积分算法为现有技术中的方法,本实施例在此不再进行赘述。
步骤802:根据拍摄所述目标手柄图像的电子设备的当前位置,得到所述手柄的实际重力方向向量;
在一个实施例中,步骤802可实施为:将VR设备的位姿输入至p3p算法中,得到所述手柄的实际位姿,其中,所述手柄的实际位姿中包括所述手柄的实际重力方向向量。
步骤803:通过与各相邻光斑匹配对相对应的预测重力方向向量和所述实际方向向量,确定需要删除的相邻光斑匹配对,并将所述需要删除的相邻光斑匹配对进行删除。
在一个实施例中,步骤803可实施为:针对任意一个相邻光斑匹配对,根据与所述相邻光斑匹配对对应的预测重力方向向量与所述实际方向向量,得到重力方向向量夹角;若所述重力方向向量夹角大于指定夹角,则确定所述相邻光斑匹配对为所述需要删除的相邻光斑匹配对。其中,可通过公式(2)得到所述重力方向向量夹角:
例如,若指定夹角为10°,若相邻光斑匹配对1对应的重力方向向量夹角为4°,则确定相邻光斑匹配对1不需要进行删除。若相邻光斑匹配对2对应的重力方向向量夹角为12°,则确定相邻光斑匹配对2需要进行删除。
需要说明的是:本实施例中的指定夹角可根据实际情况来进行设置,本实施例在此并不对指定夹角的具体值进行限定。
步骤506:通过所述各投影光斑的位置和所述指定图像中各光斑的位置,对所述投影光斑与所述指定图像中除所述平面图形中的各相邻光斑之外的其他各光斑进行匹配,得到各其他光斑匹配对;
如图9所示,为确定其他光斑匹配对的流程示意图,包括以下步骤:
步骤901:针对所述指定图像中任意一个其他光斑,根据所述其他光斑的位置和所述各投影光斑的位置,得到所述其他光斑分别与所述各投影光斑之间的各距离;
其中,其他光斑与投影光斑之间的距离可通过公式(1)中的距离公式来确定,本实施例在此不再进行赘述。
步骤902:若所述各距离中的最短距离小于指定距离,则将所述其他光斑的图像光斑索引以及与所述最短距离对应的投影光斑的标识添加到同一光斑匹配对,并将所述光斑匹配对确定为所述其他光斑匹配对。
例如,指定图像中包括其他光斑A和其他光斑B,若其他光斑A与投影光斑1之间的距离为m,与投影光斑2之间的距离为n。若m>n,则确定n是最短距离,若n小于指定距离,则确定光斑匹配对为(A,2)。若其他光斑B与投影光斑1之间的距离为p,与投影光斑2之间的距离为q,若p<q,则确定p是最短距离,若p大于指定距离,则确定所述其他光斑不存在对应的投影光斑。
需要说明的是:本实施例中的指定距离可根据实际情况来进行设置,本实施例在此并不对指定距离进行限定。
步骤507:基于所述各其他光斑匹配对的数量对各光斑匹配对进行筛选,得到筛选后的各光斑匹配对,其中,所述光斑匹配对包括所述相邻光斑匹配对和所述其他光斑匹配对;
在一个实施例中,步骤507可具体实施为:针对任意一个手柄的预测位置,若所述预测位置对应的其他光斑匹配对的数量小于第二指定数量,则删除所述预测位置以及与所述预测位置相对应的其他光斑匹配对;针对任意一个相邻光斑匹配对,若与所述相邻光斑匹配对相应的多个预测位置均已被删除,则删除所述相邻光斑匹配对。
如前文所述,本实施例中的每个相邻光斑匹配存在对应的4个预测位置,若任意一个相邻光斑匹配对相对应的4个预测位置均已经被删除,则将该相邻光斑匹配对进行删除。
需要说明的是:本实施例中的第二指定数量可根据实际情况来进行设置,本实施例在此并不对第二指定数量的具体值进行限定。
步骤508:根据所述筛选后的光斑匹配对的数量,得到所述目标手柄图像中各光斑的标识。
在一个实施例中,步骤508可具体实施为:统计筛选后的各光斑匹配对的数量;针对存在同一图像光斑索引的各光斑匹配对,将所述各光斑匹配对中数量最多的光斑匹配对确定为与所述图像光斑索引相对应的目标光斑匹配对,并将所述目标光斑匹配对中的实际光斑的标识确定为与所述图像光斑索引相对应的光斑的标识。
例如:筛选后的光斑匹配对分别为:(A,1)、(A,2)、(A,2)、(A,2)、(A,1)、(B,3)、(B,1)、(B,3)、(B,3)、(B,1),从筛选后的各光斑匹配对中可以得到光斑匹配对(A,1)的数量为2,光斑匹配对(A,2)的数量为3,光斑匹配对(B,1)的数量为2,光斑匹配对(B,3)的数量为3。则确定图像光斑索引为A的目标光斑匹配对为(A,2),所以,确定出图像光斑索引为A的光斑的标识为2。则确定图像光斑索引为B的目标光斑匹配对为(B,3),所以,确定出图像光斑索引为B的光斑的标识为3。
为了进一步连接本申请中的技术方案,下面结合图10进行详细的说明,可包括以下步骤:
步骤1001:针对当前时刻的目标手柄图像中的任意一个光斑,基于所述光斑的位置以及所述从所述目标手柄图像中除所述光斑之外的其他各光斑的位置,得到所述光斑与所述其他各光斑之间的距离;
步骤1002:将所述光斑与所述其他各光斑之间的距离按照从小到大的顺序进行排序,将与前第一指定数量的距离对应的其他光斑确定为所述目标光斑;
步骤1003:将所述光斑与所述第一指定数量的目标光斑进行连接,得到平面图形;
步骤1004:针对任意一个预设的手柄的实际相邻光斑集合,将所述平面图形中的各相邻光斑按照图像光斑索引从小到大的顺序进行排列,得到光斑列表;
步骤1005:按照指定顺序对所述实际相邻光斑集合中的各实际光斑进行遍历,针对任意一个遍历到的实际光斑,以所述实际光斑作为初始位置,并将其他光斑按照指定顺序进行排序,得到排序列表;
步骤1006:针对所述排序列中的任意一个光斑,将所述实际光斑的标识与所述光斑列表中位置与所述实际光斑在所述排序列表中的位置相同的相邻光斑的图像光斑索引添加到同一相邻光斑匹配对中;
步骤1007:判断所述实际相邻光斑集合中是否存在未进行遍历的实际光斑,若是,则返回执行步骤1005,若否,则执行步骤1008;
步骤1008:针对任意一个相邻光斑匹配对,基于所述相邻光斑匹配对中各相邻光斑的位置和所述各实际光斑的位置,得到与所述相邻光斑匹配对相对应的所述手柄的多个预测位置;
步骤1009:针对任意一个预测位置,基于所述预测位置和所述手柄的各实际光斑的位置将所述手柄中的各实际光斑投影到指定图像中,得到各投影光斑的位置;
步骤1010:针对所述指定图像中任意一个其他光斑,根据所述其他光斑的位置和所述各投影光斑的位置,得到所述其他光斑分别与所述各投影光斑之间的各距离;
步骤1011:若所述各距离中的最短距离小于指定距离,则将所述其他光斑的图像光斑索引以及与所述最短距离对应的投影光斑的标识添加到同一光斑匹配对,并将所述光斑匹配对确定为所述其他光斑匹配对;
步骤1012:针对任意一个手柄的预测位置,若所述预测位置对应的其他光斑匹配对的数量小于第二指定数量,则删除所述预测位置以及与所述预测位置相对应的其他光斑匹配对;
步骤1013:针对任意一个相邻光斑匹配对,若与所述相邻光斑匹配对相应的多个预测位置均已被删除,则删除所述相邻光斑匹配对;
步骤1014:统计筛选后的各光斑匹配对的数量;
步骤1015:针对存在同一图像光斑索引的各光斑匹配对,将所述各光斑匹配对中数量最多的光斑匹配对确定为与所述图像光斑索引相对应的目标光斑匹配对,并将所述目标光斑匹配对中的实际光斑的标识确定为与所述图像光斑索引相对应的光斑的标识。
基于相同的发明构思,本公开如上所述的检测手柄图像中光斑标识方法还可以由一种检测手柄图像中光斑标识装置实现。该检测手柄图像中光斑标识装置的效果与前述方法的效果相似,在此不再赘述。
图11为根据本公开一个实施例的检测手柄图像中光斑标识的装置的结构示意图。
如图11所示,本公开的检测手柄图像中光斑标识的装置1100可以包括目标光斑确定模块1110、连接模块1120、第一匹配模块1130、预测位置确定模块1140、投影模块1150、第二匹配模块1160、第一筛选模块1170和标识确定模块1180。
目标光斑确定模块1110,用于针对当前时刻的目标手柄图像中的任意一个光斑,根据所述光斑的位置,从所述目标手柄图像中除所述光斑之外的其他各光斑中筛选出与所述光斑相邻的第一指定数量的目标光斑;并,
连接模块1120,用于将所述光斑与所述第一指定数量的目标光斑进行连接,得到平面图形;并,
第一匹配模块1130,用于针对任意一个预设的手柄的实际相邻光斑集合,将所述平面图形中的各相邻光斑和所述实际相邻光斑集合中的各实际光斑分别进行匹配,得到各相邻光斑匹配对,其中,所述相邻光斑匹配对中包括相邻光斑的图像光斑索引和与所述相邻光斑相匹配的实际光斑的标识;
预测位置确定模块1140,用于针对任意一个相邻光斑匹配对,基于所述相邻光斑匹配对中各相邻光斑的位置和所述各实际光斑的位置,得到与所述相邻光斑匹配对相对应的所述手柄的多个预测位置;
投影模块1150,用于针对任意一个预测位置,基于所述预测位置和所述手柄的各实际光斑的位置将所述手柄中的各实际光斑投影到指定图像中,得到各投影光斑的位置;并,
第二匹配模块1160,用于通过所述各投影光斑的位置和所述指定图像中各光斑的位置,对所述投影光斑与所述指定图像中除所述平面图形中的各相邻光斑之外的其他各光斑进行匹配,得到各其他光斑匹配对;
第一筛选模块1170,用于基于所述各其他光斑匹配对的数量对各光斑匹配对进行筛选,得到筛选后的各光斑匹配对,其中,所述光斑匹配对包括所述相邻光斑匹配对和所述其他光斑匹配对;
标识确定模块1180,用于根据所述筛选后的光斑匹配对的数量,得到所述目标手柄图像中各光斑的标识。
在一个实施例中,所述装置还包括:
目标手柄图像确定模块1190,用于通过以下方式确定当前时刻的目标手柄图像:
利用目标检测算法对当前时刻获取的各手柄图像进行光斑检测,分别得到各手柄图像中的各光斑;
将光斑数量最多的手柄图像确定为所述目标手柄图像。
在一个实施例中,所述目标光斑确定模块1110,具体用于:
基于所述光斑的位置以及所述从所述目标手柄图像中除所述光斑之外的其他各光斑的位置,得到所述光斑与所述其他各光斑之间的距离;
将所述光斑与所述其他各光斑之间的距离按照从小到大的顺序进行排序,将与前第一指定数量的距离对应的其他光斑确定为所述目标光斑。
在一个实施例中,所述第一匹配模块1130,具体用于:
将所述平面图形中的各相邻光斑按照图像光斑索引从小到大的顺序进行排列,得到光斑列表;并,
按照指定顺序对所述实际相邻光斑集合中的各实际光斑进行遍历,针对任意一个遍历到的实际光斑,以所述实际光斑作为初始位置,并将其他光斑按照指定顺序进行排序,得到排序列表;并,
针对所述排序列中的任意一个光斑,将所述实际光斑的标识与所述光斑列表中位置与所述实际光斑在所述排序列表中的位置相同的相邻光斑的图像光斑索引添加到同一相邻光斑匹配对中;
判断所述实际相邻光斑集合中是否存在未进行遍历的实际光斑;
若是,则返回按照指定顺序对所述实际相邻光斑集合中的各实际光斑进行遍历的步骤,直至所述实际相邻光斑集合中不存在未进行遍历的实际光斑。
在一个实施例中,所述装置还包括:
第二筛选模块1191,用于所述基于所述预测位置和所述手柄的各光斑的实际位置将所述手柄中的各实际光斑投影到指定图像中,得到各投影光斑的位置之前,针对任意一组与所述相邻光斑匹配对相对应的所述手柄的多个预测位置,基于所述各预测位置,得到与相邻光斑匹配对相对应的手柄的预测重力方向向量;以及,
根据拍摄所述目标手柄图像的电子设备的当前位置,得到所述手柄的实际重力方向向量;
通过与各相邻光斑匹配对相对应的预测重力方向向量和所述实际方向向量,确定需要删除的相邻光斑匹配对,并将所述需要删除的相邻光斑匹配对进行删除。
在一个实施例中,所述第二筛选模块1191执行所述通过与各相邻光斑匹配对相对应的预测重力方向向量和所述实际方向向量,确定需要删除的相邻光斑匹配对,具体用于:
针对任意一个相邻光斑匹配对,根据与所述相邻光斑匹配对对应的预测重力方向向量与所述实际方向向量,得到重力方向向量夹角;
若所述重力方向向量夹角大于指定夹角,则确定所述相邻光斑匹配对为所述需要删除的相邻光斑匹配对。
在一个实施例中,所述第二匹配模块1160,具体用于:
针对所述指定图像中任意一个其他光斑,根据所述其他光斑的位置和所述各投影光斑的位置,得到所述其他光斑分别与所述各投影光斑之间的各距离;
若所述各距离中的最短距离小于指定距离,则将所述其他光斑的图像光斑索引以及与所述最短距离对应的投影光斑的标识添加到同一光斑匹配对,并将所述光斑匹配对确定为所述其他光斑匹配对。
在一个实施例中,所述标识确定模块1180,具体用于:
统计筛选后的各光斑匹配对的数量;
针对存在同一图像光斑索引的各光斑匹配对,将所述各光斑匹配对中数量最多的光斑匹配对确定为与所述图像光斑索引相对应的目标光斑匹配对,并将所述目标光斑匹配对中的实际光斑的标识确定为与所述图像光斑索引相对应的光斑的标识。
在一个实施例中,所述第一筛选模块1170,具体用于:
针对任意一个手柄的预测位置,若所述预测位置对应的其他光斑匹配对的数量小于第二指定数量,则删除所述预测位置以及与所述预测位置相对应的其他光斑匹配对;
针对任意一个相邻光斑匹配对,若与所述相邻光斑匹配对相应的多个预测位置均已被删除,则删除所述相邻光斑匹配对。
在介绍了本发明示例性实施方式的一种检测手柄图像中光斑标识的方法及装置之后,接下来,介绍根据本发明的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为″电路″、″模块″或″系统″。
在一些可能的实施方式中,根据本发明的电子设备可以至少包括至少一个处理器、以及至少一个计算机存储介质。其中,计算机存储介质存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本发明各种示例性实施方式的检测手柄图像中光斑标识的方法中的步骤。例如,处理器可以执行如图5中所示的步骤501-508。
下面参照图12来描述根据本发明的这种实施方式的电子设备1200。图12显示的电子设备1200仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图12所示,电子设备1200以通用电子设备的形式表现。电子设备1200的组件可以包括但不限于:上述至少一个处理器1201、上述至少一个计算机存储介质1202、连接不同系统组件(包括计算机存储介质1202和处理器1201)的总线1203。
总线1203表示几类总线结构中的一种或多种,包括计算机存储介质总线或者计算机存储介质控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
计算机存储介质1202可以包括易失性计算机存储介质形式的可读介质,例如随机存取计算机存储介质(RAM)1221和/或高速缓存存储介质1222,还可以进一步包括只读计算机存储介质(ROM)1223。
计算机存储介质1202还可以包括具有一组(至少一个)程序模块1224的程序/实用工具1225,这样的程序模块1224包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备1200也可以与一个或多个外部设备1204(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备1200交互的设备通信,和/或与使得该电子设备1200能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1205进行。并且,电子设备1200还可以通过网络适配器1206与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1206通过总线1203与用于电子设备1200的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备1200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本发明提供的一种检测手柄图像中光斑标识的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本发明各种示例性实施方式的检测手柄图像中光斑标识的方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取计算机存储介质(RAM)、只读计算机存储介质(ROM)、可擦式可编程只读计算机存储介质(EPROM或闪存)、光纤、便携式紧凑盘只读计算机存储介质(CD-ROM)、光计算机存储介质件、磁计算机存储介质件、或者上述的任意合适的组合。
本发明的实施方式的检测手柄图像中光斑标识的程序产品可以采用便携式紧凑盘只读计算机存储介质(CD-ROM)并包括程序代码,并可以在电子设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言一诸如Java、C++等,还包括常规的过程式程序设计语言一诸如″C″语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘计算机存储介质、CD-ROM、光学计算机存储介质等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读计算机存储介质中,使得存储在该计算机可读计算机存储介质中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种检测手柄图像中光斑标识的方法,其特征在于,包括:
针对当前时刻的目标手柄图像中的任意一个光斑,根据所述光斑的位置,从所述目标手柄图像中除所述光斑之外的其他各光斑中筛选出与所述光斑相邻的第一指定数量的目标光斑;并,
将所述光斑与所述第一指定数量的目标光斑进行连接,得到平面图形;并,
针对任意一个预设的手柄的实际相邻光斑集合,将所述平面图形中的各相邻光斑和所述实际相邻光斑集合中的各实际光斑分别进行匹配,得到各相邻光斑匹配对,其中,所述相邻光斑匹配对中包括相邻光斑的图像光斑索引和与所述相邻光斑相匹配的实际光斑的标识;
针对任意一个相邻光斑匹配对,基于所述相邻光斑匹配对中各相邻光斑的位置和所述各实际光斑的位置,得到与所述相邻光斑匹配对相对应的所述手柄的多个预测位置;
针对任意一个预测位置,基于所述预测位置和所述手柄的各实际光斑的位置将所述手柄中的各实际光斑投影到指定图像中,得到各投影光斑的位置;并,
通过所述各投影光斑的位置和所述指定图像中各光斑的位置,对所述投影光斑与所述指定图像中除所述平面图形中的各相邻光斑之外的其他各光斑进行匹配,得到各其他光斑匹配对;
基于所述各其他光斑匹配对的数量对各光斑匹配对进行筛选,得到筛选后的各光斑匹配对,其中,所述光斑匹配对包括所述相邻光斑匹配对和所述其他光斑匹配对;
根据所述筛选后的光斑匹配对的数量,得到所述目标手柄图像中各光斑的标识。
2.根据权利要求1所述的方法,其特征在于,通过以下方式确定当前时刻的目标手柄图像:
利用目标检测算法对当前时刻获取的各手柄图像进行光斑检测,分别得到各手柄图像中的各光斑;
将光斑数量最多的手柄图像确定为所述目标手柄图像。
3.根据权利要求1所述的方法,其特征在于,所述根据所述光斑的位置,从所述目标手柄图像中除所述光斑之外的其他各光斑中筛选出与所述光斑相邻的第一指定数量的目标光斑,包括:
基于所述光斑的位置以及所述从所述目标手柄图像中除所述光斑之外的其他各光斑的位置,得到所述光斑与所述其他各光斑之间的距离;
将所述光斑与所述其他各光斑之间的距离按照从小到大的顺序进行排序,将与前第一指定数量的距离对应的其他光斑确定为所述目标光斑。
4.根据权利要求1所述的方法,其特征在于,所述将所述平面图形中的各相邻光斑和所述实际相邻光斑集合中的各实际光斑分别进行匹配,得到各相邻光斑匹配对,包括:
将所述平面图形中的各相邻光斑按照图像光斑索引从小到大的顺序进行排列,得到光斑列表;并,
按照指定顺序对所述实际相邻光斑集合中的各实际光斑进行遍历,针对任意一个遍历到的实际光斑,以所述实际光斑作为初始位置,并将其他光斑按照指定顺序进行排序,得到排序列表;并,
针对所述排序列中的任意一个光斑,将所述实际光斑的标识与所述光斑列表中位置与所述实际光斑在所述排序列表中的位置相同的相邻光斑的图像光斑索引添加到同一相邻光斑匹配对中;
判断所述实际相邻光斑集合中是否存在未进行遍历的实际光斑;
若是,则返回按照指定顺序对所述实际相邻光斑集合中的各实际光斑进行遍历的步骤,直至所述实际相邻光斑集合中不存在未进行遍历的实际光斑。
5.根据权利要求1所述的方法,其特征在于,所述基于所述预测位置和所述手柄的各光斑的实际位置将所述手柄中的各实际光斑投影到指定图像中,得到各投影光斑的位置之前,所述方法还包括:
针对任意一组与所述相邻光斑匹配对相对应的所述手柄的多个预测位置,基于所述各预测位置,得到与相邻光斑匹配对相对应的手柄的预测重力方向向量;以及,
根据拍摄所述目标手柄图像的电子设备的当前位置,得到所述手柄的实际重力方向向量;
通过与各相邻光斑匹配对相对应的预测重力方向向量和所述实际方向向量,确定需要删除的相邻光斑匹配对,并将所述需要删除的相邻光斑匹配对进行删除。
6.根据权利要求5所述的方法,其特征在于,所述通过与各相邻光斑匹配对相对应的预测重力方向向量和所述实际方向向量,确定需要删除的相邻光斑匹配对,包括:
针对任意一个相邻光斑匹配对,根据与所述相邻光斑匹配对对应的预测重力方向向量与所述实际方向向量,得到重力方向向量夹角;
若所述重力方向向量夹角大于指定夹角,则确定所述相邻光斑匹配对为所述需要删除的相邻光斑匹配对。
7.根据权利要求1所述的方法,其特征在于,所述通过所述各投影光斑的位置和所述指定图像中各光斑的位置,对所述投影光斑与所述指定图像中除所述平面图形中的各相邻光斑之外的其他各光斑进行匹配,得到各其他光斑匹配对,包括:
针对所述指定图像中任意一个其他光斑,根据所述其他光斑的位置和所述各投影光斑的位置,得到所述其他光斑分别与所述各投影光斑之间的各距离;
若所述各距离中的最短距离小于指定距离,则将所述其他光斑的图像光斑索引以及与所述最短距离对应的投影光斑的标识添加到同一光斑匹配对,并将所述光斑匹配对确定为所述其他光斑匹配对。
8.根据权利要求1所述的方法,其特征在于,所述根据所述筛选后的光斑匹配对的数量,得到所述目标手柄图像中各光斑的标识,包括:
统计筛选后的各光斑匹配对的数量;
针对存在同一图像光斑索引的各光斑匹配对,将所述各光斑匹配对中数量最多的光斑匹配对确定为与所述图像光斑索引相对应的目标光斑匹配对,并将所述目标光斑匹配对中的实际光斑的标识确定为与所述图像光斑索引相对应的光斑的标识。
9.根据权利要求1所述的方法,其特征在于,所述基于所述各其他光斑匹配对的数量对光斑匹配对进行筛选,得到筛选后的各光斑匹配对,包括:
针对任意一个手柄的预测位置,若所述预测位置对应的其他光斑匹配对的数量小于第二指定数量,则删除所述预测位置以及与所述预测位置相对应的其他光斑匹配对;
针对任意一个相邻光斑匹配对,若与所述相邻光斑匹配对相应的多个预测位置均已被删除,则删除所述相邻光斑匹配对。
10.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和所述存储器通过总线连接;
所述存储器中存储有计算机程序,所述处理器被配置为基于所述计算机程序执行以下操作:
针对当前时刻的目标手柄图像中的任意一个光斑,根据所述光斑的位置,从所述目标手柄图像中除所述光斑之外的其他各光斑中筛选出与所述光斑相邻的第一指定数量的目标光斑;并,
将所述光斑与所述第一指定数量的目标光斑进行连接,得到平面图形;并,
针对任意一个预设的手柄的实际相邻光斑集合,将所述平面图形中的各相邻光斑和所述实际相邻光斑集合中的各实际光斑分别进行匹配,得到各相邻光斑匹配对,其中,所述相邻光斑匹配对中包括相邻光斑的图像光斑索引和与所述相邻光斑相匹配的实际光斑的标识;
针对任意一个相邻光斑匹配对,基于所述相邻光斑匹配对中各相邻光斑的位置和所述各实际光斑的位置,得到与所述相邻光斑匹配对相对应的所述手柄的多个预测位置;
针对任意一个预测位置,基于所述预测位置和所述手柄的各实际光斑的位置将所述手柄中的各实际光斑投影到指定图像中,得到各投影光斑的位置;并,
通过所述各投影光斑的位置和所述指定图像中各光斑的位置,对所述投影光斑与所述指定图像中除所述平面图形中的各相邻光斑之外的其他各光斑进行匹配,得到各其他光斑匹配对;
基于所述各其他光斑匹配对的数量对各光斑匹配对进行筛选,得到筛选后的各光斑匹配对,其中,所述光斑匹配对包括所述相邻光斑匹配对和所述其他光斑匹配对;
根据所述筛选后的光斑匹配对的数量,得到所述目标手柄图像中各光斑的标识。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211390797.1A CN116433752A (zh) | 2022-11-07 | 2022-11-07 | 检测手柄图像中光斑标识的方法及电子设备 |
PCT/CN2023/119844 WO2024061238A1 (zh) | 2022-09-21 | 2023-09-19 | 一种估计手柄位姿的方法及虚拟显示设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211390797.1A CN116433752A (zh) | 2022-11-07 | 2022-11-07 | 检测手柄图像中光斑标识的方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116433752A true CN116433752A (zh) | 2023-07-14 |
Family
ID=87093157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211390797.1A Pending CN116433752A (zh) | 2022-09-21 | 2022-11-07 | 检测手柄图像中光斑标识的方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116433752A (zh) |
-
2022
- 2022-11-07 CN CN202211390797.1A patent/CN116433752A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108537876A (zh) | 基于深度相机的三维重建方法、装置、设备及存储介质 | |
CN109737974A (zh) | 一种3d导航语义地图更新方法、装置及设备 | |
US20200213562A1 (en) | Monitoring target object by multiple cameras | |
CN106204522A (zh) | 对单个图像的联合深度估计和语义标注 | |
CN107203756A (zh) | 一种识别手势的方法与设备 | |
CN112199189A (zh) | 深度学习模型对资源受限边缘设备的适应 | |
CN109710708A (zh) | 一种电子地图映射方法及装置 | |
KR102378887B1 (ko) | 객체 탐지에서의 둘레기반 IoU 손실함수를 통한 효율적인 바운딩 박스 회귀 학습 방법 및 장치 | |
CN106709503A (zh) | 一种基于密度的大型空间数据聚类算法k‑dbscan | |
Flint et al. | A dynamic programming approach to reconstructing building interiors | |
CN106034236A (zh) | 一种hevc编码最佳参考帧的选择方法、装置及编码器 | |
JP7202410B2 (ja) | 画像処理方法と装置、電子機器、コンピュータ記憶媒体及びコンピュータプログラム | |
CN110399972A (zh) | 数据处理方法、装置及电子设备 | |
US11526791B2 (en) | Methods and systems for diverse instance generation in artificial intelligence planning | |
KR20190105147A (ko) | 반딧불 알고리즘을 이용한 데이터 클러스터링 방법 및 시스템 | |
CN116433752A (zh) | 检测手柄图像中光斑标识的方法及电子设备 | |
CN110211197A (zh) | 一种基于多边形空间划分的光子映射优化方法、装置及系统 | |
CN114329058B (zh) | 图像聚档方法、装置和电子设备 | |
CN109861863A (zh) | 数据中心的连接故障确定方法、装置、电子设备和介质 | |
CN115565030A (zh) | 训练样本的筛选方法、装置、设备及存储介质 | |
Zhang et al. | Exploring Semantic Information Extraction from Different Data Forms in 3D Point Cloud Semantic Segmentation | |
CN112996009B (zh) | 无线设备的部署方法、装置、电子设备及存储介质 | |
US10902662B2 (en) | Storing and comparing three-dimensional objects in three-dimensional storage | |
CN117370472B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN114339155B (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 |