本发明涉及虚拟现实技术领域,尤其涉及一种虚拟现实交互部件的定位方法和装置。
背景技术:
虚拟现实和增强现实是近年来出现的高新技术,其原理是利用电脑模拟产生一个三维空间的虚拟世界,向使用者提供关于视觉、听觉、触觉等感官的模拟,让使用者如同身临其境一般,可以及时、没有限制地观察三维空间内的事物。
例如,当用户在使用虚拟现实设备玩网络游戏时,常常需要配合使用虚拟现实交互部件进行移动、射击、跳跃等人机交互,因此需要对虚拟现实交互部件进行定位。现有技术中,虚拟现实交互部件可以通过其内置的重力加速度传感器(如陀螺仪)或者通过红外线空间监测技术监测虚拟现实交互部件的定位参数。
由此可知,为了获取虚拟现实交互部件的定位参数,必须在虚拟现实交互部件中安装重力加速度传感器或红外线接收器等硬件设备,毫无疑问增加了虚拟现实交互部件的实现成本。而且当虚拟现实交互部件的定位硬件出现故障的时候,就不能与虚拟现实设备进行人机交互了,用户只能重新置换虚拟现实交互部件,增加用户的硬件成本。
技术实现要素:
本发明提供一种虚拟现实交互部件的定位方法和系统,可以减小虚拟现实交互部件的实现成本,在虚拟现实交互部件的定位硬件出现故障时也不妨碍虚拟现实交互部件进行人机交互的使用功能,因此可以减小用户的硬件成本。
本发明提供一种虚拟现实交互部件的定位方法,包括:
监测到虚拟现实交互部件标识在三维空间中的位置发生了变换,获取虚拟现实交互部件标识在三维空间中的位置变换信息,所述虚拟现实交互部件标识为虚拟现实设备对位于虚拟现实交互部件上的图片进行训练后得到的,所述图片包括用户自定义用以识别虚拟现实交互部件的任一图片;
根据虚拟现实交互部件标识在三维空间中的位置变换信息,确定虚拟现实交互部件标识在虚拟现实中的位置变换信息。
可选地,监测到虚拟现实交互部件标识在三维空间中的位置发生了变换之前还包括:
建立虚拟现实交互部件标识数据库,所述虚拟现实交互部件标识数据库中包括采用标识识别算法对图片进行识别训练后得到的虚拟现实交互部件标识与图片之间的对应关系,所述识别训练后得到的虚拟现实交互部件标识具有旋转不变性和尺度空间不变性;
获取虚拟现实交互部件上的图片;
将所述获取的图片与虚拟现实交互部件标识数据库中的图片进行匹配,识别所述图片对应的虚拟现实交互部件标识。
可选地,监测到虚拟现实交互部件标识在三维空间中的位置发生了变换,获取虚拟现实交互部件标识在三维空间中的位置变换信息,包括:
监测到虚拟现实交互部件上的图片在三维空间中的位置变化,获得所述图片在三维空间中的位置变换信息;
根据虚拟现实交互部件标识与图片之间的对应关系,将所述图片在三维空间中的位置变换信息确定为虚拟现实交互部件标识在三维空间中的位置变换信息。
可选地,获取虚拟现实交互部件标识在三维空间中位置变换信息之后还包括:
根据预设的误差阈值,对虚拟现实交互部件标识在三维空间中位置变换信息进行异常值判断,若是异常值则去除所述位置变换信息。
可选地,根据虚拟现实交互部件标识在三维空间中位置变换信息,确定虚拟现实交互部件标识在虚拟现实中的位置变换信息,包括:
根据建立的虚拟现实交互部件标识在三维空间中的位置与虚拟现实交互部件标识在虚拟现实中的位置之间的映射关系,对虚拟现实交互部件标识在三维空间中位置变换信息进行矩阵坐标变换,得到虚拟现实交互部件标识在虚拟现实中的位置变换信息。
本发明还提供一种虚拟现实交互部件的定位装置,位于虚拟现实设备侧,包括:
监测模块,用于监测到虚拟现实交互部件标识在三维空间中的位置发生了变换,获取虚拟现实交互部件标识在三维空间中的位置变换信息,所述虚拟现实交互部件标识为虚拟现实设备对位于虚拟现实交互部件上的图片进行训练后得到的,所述图片包括用户自定义用以识别虚拟现实交互部件的任一图片;
映射模块,用于根据虚拟现实交互部件标识在三维空间中的位置变换信息,确定虚拟现实交互部件标识在虚拟现实中的位置变换信息。
可选地,所述的装置还包括:
训练模块,用于建立虚拟现实交互部件标识数据库,所述虚拟现实交互部件标识数据库中包括采用标识识别算法对图片进行识别训练后得到的虚拟现实交互部件标识与图片之间的对应关系,所述识别训练后得到的虚拟现实交互部件标识具有旋转不变性和尺度空间不变性;
获取模块,用于获取虚拟现实交互部件上的图片;
匹配模块,用于将所述获取的图片与虚拟现实交互部件标识数据库中的图片进行匹配,识别所述图片对应的虚拟现实交互部件标识。
可选地,所述监测模块,具体用于监测到虚拟现实交互部件上的图片在三维空间中的位置变化,获得所述图片在三维空间中的位置变换信息;根据虚拟现实交互部件标识与图片之间的对应关系,将所述图片在三维空间中的位置变换信息确定为虚拟现实交互部件标识在三维空间中的位置变换信息。
可选地,所述的装置还包括:
异常判断模块,用于根据预设的误差阈值,对虚拟现实交互部件标识在三维空间中位置变换信息进行异常值判断,若是异常值则去除所述位置变换信息。
可选地,所述映射模块具体用于:根据建立的虚拟现实交互部件标识在三维空间中的位置与虚拟现实交互部件标识在虚拟现实中的位置之间的映射关系,对虚拟现实交互部件标识在三维空间中位置变换信息进行矩阵坐标变换,得到虚拟现实交互部件标识在虚拟现实中的位置变换信息。
本发明实施例通过设置在虚拟现实设备侧的拍照部件识别虚拟现实交互部件标识并追踪虚拟现实交互部件标识在三维空间中的位置变换信息,并将虚拟现实交互部件标识在三维空间中的位置变换信息发送给虚拟现实设备侧的处理器进行虚拟现实交互部件标识在虚拟空间中的位置变换信息的映射,从而可以实现三维空间(现实世界)中移动旋转带有虚拟现实交互部件标识的虚拟现实交互部件时,虚拟空间中的虚拟现实交互部件也会进行相应的移动旋转。因此,只要贴有图片的物体都可以成为虚拟现实交互部件进行人机交互,省去用户购买虚拟现实交互部件的硬件成本,减少人机交互的实现成本。进一步地,本发明实施例还提供一个图片识别模板,用户可以自定义图片标识,经过图片识别训练即可将自定义的图片作为虚拟现实交互部件标识进行使用,大大提高了用户体验度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的虚拟现实交互部件的定位方法流程示意图;
图2为一种拍照部件在虚拟现实设备中的位置设置示意图;
图3为本发明实施例的一种自定义虚拟现实交互部件的图片示意图;
图4为图2所示图片变小后的一种变形示意图;
图5为图2所示图片旋转后的又一种变形示意图;
图6为本发明实施例中虚拟现实交互部件在三维空间和虚拟空间中的位置映射关系示意图;
图7为本发明一实施例提供的虚拟现实交互部件的定位装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述xxx,但这些xxx不应限于这些术语。这些术语仅用来将xxx彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一xxx也可以被称为第二xxx,类似地,第二xxx也可以被称为第一xxx。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
本发明的发明思想是:通过设置在虚拟现实设备侧的拍照部件识别虚拟现实交互部件标识并追踪虚拟现实交互部件标识在三维空间中的位置变换信息,并将虚拟现实交互部件标识在三维空间中的位置变换信息发送给虚拟现实设备侧的处理器进行虚拟现实交互部件标识在虚拟空间中的位置变换信息的映射,从而可以实现三维空间(现实世界)中移动旋转带有虚拟现实交互部件标识的虚拟现实交互部件时,虚拟空间中的虚拟现实交互部件也会进行相应的移动旋转。
由于本发明是通过虚拟现实设备侧来获取虚拟现实交互部件的位置变换信息,只要添加有虚拟现实交互部件标识的任何物体都可以成为虚拟现实交互部件,如在用户的手上贴有虚拟现实交互部件标识,用户的手即可成为虚拟现实交互部件与虚拟现实设备进行人机交互,省去用户购买虚拟现实交互部件的硬件成本,大大减少了人机交互的实现成本。
图1为本发明一实施例提供的虚拟现实交互部件的定位方法流程示意图,如图1所示,包括:
101、监测到虚拟现实交互部件标识在三维空间中的位置发生了变换,获取虚拟现实交互部件标识在三维空间中的位置变换信息;
其中,所述虚拟现实交互部件标识为虚拟现实设备对位于虚拟现实交互部件上的图片进行训练后得到的,所述图片包括用户自定义用以识别虚拟现实交互部件的任一图片。
在一种可选的实现方式中,监测到虚拟现实交互部件标识在三维空间中的位置发生了变换之前还包括:
获取虚拟现实交互部件上的图片;将所述获取的图片与虚拟现实交互部件标识数据库中的图片进行匹配,识别所述图片对应的虚拟现实交互部件标识。
在一种可选的实现方式中,将所述获取的图片与虚拟现实交互部件标识数据库中的图片进行匹配之前还包括:
采用标识识别算法对虚拟现实交互部件上的图片进行虚拟现实交互部件标识的识别训练,建立虚拟现实交互部件标识数据库,使得所述虚拟现实交互部件标识数据库中的虚拟现实交互部件标识具有旋转不变性和尺度空间不变性,所述虚拟现实交互部件标识数据库中包括虚拟现实交互部件标识与图片之间的对应关系。
因此,当监测到虚拟现实交互部件上的图片在三维空间中的位置变化时,获得所述图片在三维空间中的位置变换信息;然后根据上述得到的虚拟现实交互部件标识与图片之间的对应关系,将所述图片在三维空间中的位置变换信息确定为虚拟现实交互部件标识在三维空间中的位置变换信息。举例来说,当监测到手柄上的图片在三维空间中的姿态或位置变化。所述图片在三维空间中的姿态或位置变化包括图片在三维空间中朝某个方向转动的位移变换信息和角度旋转信息。例如以手柄纵轴或横轴为中心轴向左、向右、向前、向后翻转,或者以垂直于手柄操作面的z轴为中心轴进行左右转动。
本发明实施例在具体实现时,还可以在虚拟现实设备上安装有拍照部件(相机)用于获取虚拟现实交互部件上的图片,且在虚拟现实设备的处理器上植入有实现本发明实施例所述的实现虚拟现实交互部件的定位方法的程序。
图2为一种拍照部件在虚拟现实设备中的位置设置示意图,如图2所示,可以将拍照部件(camera)设置在虚拟现实设备前面中间位置,这样可以使camera的朝向与虚拟现实设备运动的朝向总是保持一致。即当用户使用虚拟现实设备进行观察的时候,camera总是会检测用户面向的区域进行图片拍摄。
拍照部件追踪(连续拍摄)虚拟现实交互部件上的图片,当追踪(连续拍摄)的图片在三维空间中发生了变化,例如图片的大小或者姿态发生了变化即可认为虚拟现实交互部件标识在三维空间中的位置发生了变换,此时处理器可以根据拍照部件追踪(连续拍摄)的图片计算出虚拟现实交互部件标识在三维空间中的位置变换信息。
需要说明的是,本发明实施例中,用户可以自定义虚拟现实交互部件的图片,因为本发明实施例可以采用标识识别算法(如连通域识别算法或自然特征类的识别算法)对虚拟现实交互部件上的图片进行虚拟现实交互部件标识的识别训练,使得训练后的虚拟现实交互部件标识旋转不变性和尺度空间不变性,然后建立训练得到的虚拟现实交互部件标识与图片之间的对应关系,并将对应关系保存到虚拟现实交互部件标识数据库中。
图3为本发明实施例的一种自定义虚拟现实交互部件的图片示意图,如图3所示,图片是一个黑色大正方形中间有一个白色小正方形,在白色小正方形的右下角有一字母k。将图2所示的图片进行各种变形(如大小变化或旋转变化),图4为图2所示图片变小后的一种变形示意图,图5为图2所示图片旋转后的又一种变形示意图,然后采用标识识别算法对各种远近大小变化和旋转变化后的图片进行识别模板训练,建立图片识别模板,使得图片中的标识(字母k)具有旋转不变性和尺度空间不变性。也就是说,图片识别模板中有图2所示的图片各种变形(如大小变化或旋转变化)后的图片,根据图片识别模板中的各种图片均能识别出对应的标识为字母k。此时,将图片识别模板与对应标识字母k之间的对应关系保存到虚拟现实交互部件标识数据库中。
当用户自定义的虚拟现实交互部件的图片经过训练且保存到虚拟现实交互部件标识数据库中之后,用户可以将该图片粘贴到用户的手上,这样用户的手即可作为人机交互的手柄。只要用户的手不要移出虚拟现实设备拍照部件拍摄视野,当用户的手在空间位置变化时,拍照部件对用户的手上图片进行追踪拍摄,并将追踪拍摄的图片发送给处理器,处理器采用标识识别算法对追踪拍摄的图片进行识别并确定手的空间位置变换信息。为此,在拍照部件追踪到图片时,该图片所处的位置以及旋转的姿态都会有一个对应的位置变换信息,该位置变换信息包括位移变换信息和角度旋转信息。其中,位移变换信息为在拍照部件与图片的位置之间进行的平移信息,角度旋转信息为图片自身的旋转状态信息。
需要说明的是,在实际应用中,可能会出现误识别的情况,如果获取的虚拟现实交互部件标识在三维空间中位置变换信息是错误的话,可能会出现虚拟现实交互部件对应的虚拟物体的位置变换信息的错误。为此,本发明实施例中预设有误差阈值,该误差阈值可以根据经验值设置,根据预设的误差阈值,对虚拟现实交互部件标识在三维空间中位置变换信息进行异常值判断,若是异常值则去除所述位置变换信息。例如当虚拟现实交互部件标识在三维空间中位置变换信息大于误差阈值时,进行过滤排除,当虚拟现实交互部件标识在三维空间中位置变换信息小于等于误差阈值则视为有效值。这样可以排除差距非常大的错误值,能够保证虚拟现实交互部件的位置数据的合理性同时保证用户使用时的体验流畅性。
102、根据虚拟现实交互部件标识在三维空间中位置变换信息,确定虚拟现实交互部件标识在虚拟现实中的位置变换信息。
可选地,在步骤102之前还包括:
建立虚拟现实交互部件标识在三维空间中位置变换信息与虚拟现实交互部件标识在虚拟现实中的位置变换信息之间的映射关系。
之后基于上述建立的虚拟现实交互部件标识在三维空间中的位置与虚拟现实交互部件标识在虚拟现实中的位置之间的映射关系,对虚拟现实交互部件标识在三维空间中位置变换信息进行矩阵坐标变换,得到虚拟现实交互部件标识在虚拟现实中的位置变换信息。
下面以虚拟现实交互部件为手柄做平移操作为例对矩阵坐标变换进行说明:
当手柄从三维空间中的坐标系(1,2,3)平移到坐标系(2,5,8)的位置,手柄在三维空间中的起始坐标在坐标系位置(1,2,3)。当手柄平移至坐标系位置(2,5,8)时,手柄在虚拟现实中的三维模型(虚拟手柄)的坐标中心需要经过(2-1,5-2,8-3)即三维矢量(1,3,5)的数学变换,即在x轴方向沿正方向移动1,y轴方向沿正方向移动3,z轴方向沿正方向移动5。具体操作是首先对矩阵变换经过三维矢量(1,3,5)的数学变换,即在x轴方向沿正方向移动1,y轴方向沿正方向移动3,z轴方向沿正方向移动5,即所进行的变换矩阵向量即为三维矢量(1,3,5),将手柄从三维空间中上的所有坐标点的坐标值与该变换矩阵向量相乘,获得矩阵变换后虚拟手柄在虚拟实现中的三维模型上所有坐标点的坐标值,从而实现虚拟实现中虚拟手柄的三维模型的矩阵变换。
图6为本发明实施例中虚拟现实交互部件在三维空间和虚拟空间中的位置映射关系示意图,如图6所示,左图为通过拍照部件所拍到的手柄(虚拟现实交互部件)在三维空间(现实世界)中的位置,右图为手柄(虚拟现实交互部件)在虚拟现实设备所构建的虚拟世界中的对位位置,即将拍照部件中观察到的手柄位置映射至当前虚拟世界视角中所对应的位置。
本发明实施例通过设置在虚拟现实设备侧的拍照部件识别虚拟现实交互部件标识并追踪虚拟现实交互部件标识在三维空间中的位置变换信息,并将虚拟现实交互部件标识在三维空间中的位置变换信息发送给虚拟现实设备侧的处理器进行虚拟现实交互部件标识在虚拟空间中的位置变换信息的映射,从而可以实现三维空间(现实世界)中移动旋转带有虚拟现实交互部件标识的虚拟现实交互部件时,虚拟空间中的虚拟现实交互部件也会进行相应的移动旋转。因此,只要贴有图片的物体都可以成为虚拟现实交互部件进行人机交互,省去用户购买虚拟现实交互部件的硬件成本,减少人机交互的实现成本。进一步地,本发明实施例还提供一个图片识别模板,用户可以自定义图片标识,经过图片识别训练即可将自定义的图片作为虚拟现实交互部件标识进行使用,大大提高了用户体验度。
图7为本发明一实施例提供的虚拟现实交互部件的定位装置结构示意图,如图7所示包括:
监测模块71,用于监测到虚拟现实交互部件标识在三维空间中的位置发生了变换,获取虚拟现实交互部件标识在三维空间中的位置变换信息,所述虚拟现实交互部件标识为虚拟现实设备对虚拟现实交互部件上的图片进行训练后得到的,所述图片包括用户自定义用以识别虚拟现实交互部件的图片;
映射模块72,用于根据虚拟现实交互部件标识在三维空间中的位置变换信息,确定虚拟现实交互部件标识在虚拟现实中的位置变换信息。
可选地,所述装置还包括:
训练模块73,用于建立虚拟现实交互部件标识数据库,所述虚拟现实交互部件标识数据库中包括采用标识识别算法对图片进行识别训练后得到的虚拟现实交互部件标识与图片之间的对应关系,所述识别训练后得到的虚拟现实交互部件标识具有旋转不变性和尺度空间不变性;
获取模块74,用于获取虚拟现实交互部件上的图片;
匹配模块75,用于将所述获取的图片与虚拟现实交互部件标识数据库中的图片进行匹配,识别所述图片对应的虚拟现实交互部件标识。
可选地,所述监测模块71,具体用于监测到虚拟现实交互部件上的图片在三维空间中的位置变化,获得所述图片在三维空间中的位置变换信息;根据虚拟现实交互部件标识与图片之间的对应关系,将所述图片在三维空间中的位置变换信息确定为虚拟现实交互部件标识在三维空间中的位置变换信息。
可选地,所述的装置还包括:
异常判断模块76,用于根据预设的误差阈值,对虚拟现实交互部件标识在三维空间中位置变换信息进行异常值判断,若是异常值则去除所述位置变换信息。
可选地,所述映射模块72具体用于:
根据建立的虚拟现实交互部件标识在三维空间中的位置与虚拟现实交互部件标识在虚拟现实中的位置之间的映射关系,对虚拟现实交互部件标识在三维空间中位置变换信息进行矩阵坐标变换,得到虚拟现实交互部件标识在虚拟现实中的位置变换信息。
图7所示装置可以执行图1所示方法,其实现原理和技术效果不再赘述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。