首页 / 专利库 / 显示技术 / 介导现实 / 增强现实 / 数据处理方法、装置、电子设备及存储介质

数据处理方法、装置、电子设备及存储介质

阅读:458发布:2020-05-08

专利汇可以提供数据处理方法、装置、电子设备及存储介质专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种 数据处理 方法、装置、 电子 设备及存储介质,该数据处理方法应用于第一设备,所述方法包括:获取包含第一目标物的图像,所述第一目标物处于所述第一设备所处的第一现实场景中;根据所述图像,构建与所述第一现实场景对应的地图,获得地图数据;将所述地图数据传输至所述第二设备,所述地图数据用于指示所述第二设备根据所述地图数据以及第二目标物进行重 定位 ,所述第一目标物与所述第二目标物具有至少两个以上相同的特征点,所述第二目标物处于所述第二设备所处的第二现实场景中,第二现实场景与第一现实场景不同。本方法可以实现不同现实场景下的重定位,便于实现 增强现实 中的多人交互。,下面是数据处理方法、装置、电子设备及存储介质专利的具体信息内容。

1.一种数据处理方法,其特征在于,应用于第一设备,所述方法包括:
获取包含第一目标物的图像,所述第一目标物处于所述第一设备所处的第一现实场景中;
根据所述图像,构建与所述第一现实场景对应的地图,获得地图数据;
将所述地图数据传输至第二设备,所述地图数据用于指示所述第二设备根据所述地图数据以及第二目标物进行重定位,所述第一目标物与所述第二目标物具有至少两个以上相同的特征点,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第二现实场景与所述第一现实场景不同。
2.根据权利要求1所述的方法,其特征在于,在所述将所述地图发送至所述第二设备之后,所述方法还包括:
当接收到所述第二设备发送的指示信息时,控制所述第一设备在所述第一现实场景中叠加虚拟物体,其中,所述指示信息用于指示所述第二设备重定位成功;
显示所述虚拟物体。
3.根据权利要求2所述的方法,其特征在于,所述控制所述第一设备在所述第一现实场景中叠加虚拟物体,包括:
获取所述第一现实场景的场景图像;
获取虚拟物体需要叠加于所述第一现实场景的叠加位置
根据所述叠加位置,确定所述虚拟物体的像素坐标;
根据所述像素坐标,将所述虚拟物体与所述场景图像合成,得到合成图像;
所述显示虚拟物体,包括:
将所述合成图像进行显示。
4.根据权利要求2所述的方法,其特征在于,所述控制所述第一设备在所述第一现实场景中叠加虚拟物体,包括:
获取虚拟物体需要叠加于所述第一现实场景的叠加位置;
根据所述叠加位置以及所述虚拟物体的内容数据,生成所述虚拟物体。
5.根据权利要求3或4所述的方法,其特征在于,所述获取虚拟物体需要叠加于所述第一现实场景的叠加位置,包括:
根据检测到的添加操作,虚拟物体需要叠加于所述第一现实场景的叠加位置。
6.根据权利要求2所述的方法,其特征在于,在所述生成并显示虚拟物体之后,所述方法还包括:
获取所述虚拟物体的位姿数据以及显示数据;
将所述显示数据以及所述位姿数据发送至所述第二设备,所述显示数据以及所述位姿数据用于所述第二设备同步显示所述虚拟物体。
7.根据权利要求1所述的方法,其特征在于,所述第一目标物上包括预先根据所述第一现实场景生成的图案,所述根据所述图像,构建与所述第一现实场景对应的地图,获得地图数据,包括:
识别所述图像中的所述图案,获得所述图案中的特征信息,所述特征信息与所述第一现实场景对应;
获取所述第一设备的位姿数据;
根据所述特征信息以及所述位姿数据,生成与所述第一现实场景对应的地图,获得地图数据。
8.根据权利要求1所述的方法,其特征在于,所述将所述地图数据传输至所述第二设备,包括:
将所述地图数据传输至服务器,所述服务器用于将所述地图数据传输至所述第二设备。
9.一种数据处理方法,其特征在于,应用于第二设备,所述方法包括:
获取所述第一设备传输的地图数据,所述地图数据为所述第一设备根据获取的包含第一目标物的图像,构建与所述第一设备所处的第一现实场景对应的地图获得,所述第一目标物处于所述第一现实场景;
获取包含第二目标物的图像,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第一目标物与所述第二目标物具有至少两个以上相同的特征点,所述第二现实场景与所述第一现实场景不同;
根据所述地图数据以及所述包含第二目标物的图像进行重定位。
10.根据权利要求9所述的方法,其特征在于,所述根据所述地图数据以及所述包含第二目标物的图像进行重定位,包括:
根据所述包含第二目标物的图像以及所述地图数据,确定所述第二设备于第一空间坐标系中的第一位姿数据,所述第一空间坐标系为所述第一设备对应的空间坐标系;
获取所述第二设备于第二空间坐标系中的第二位姿数据,所述第二空间坐标系为所述第二设备对应的空间坐标系;
根据所述第一位姿数据以及所述第二位姿数据,获取所述第一空间坐标系与所述第二空间坐标系之间的坐标系转换关系。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
获取所述第一设备显示的虚拟物体的显示数据以及第三位姿数据;
根据所述坐标系转换关系,将所述第三位姿数据转换为所述第二空间坐标系中的第四位姿数据;
根据所述显示数据以及所述第四位姿数据,在所述第二现实场景中叠加所述虚拟物体。
12.根据权利要求9所述的方法,其特征在于,在所述根据所述地图数据以及所述图像进行重定位之后,所述方法还包括:
生成指示信息,并将所述指示信息传输至所述第一设备,所述指示信息用于指示所述第二设备重定位成功。
13.一种数据处理装置,其特征在于,应用于第一设备,所述装置包括:第一图像获取模、地图构建模块以及地图传输模块,其中,
所述第一图像获取模块用于获取包含第一目标物的图像,所述第一目标物处于所述第一设备所处的第一现实场景中;
所述地图构建模块用于根据所述图像,构建与所述第一现实场景对应的地图,获得地图数据;
所述地图传输模块用于将所述地图数据传输至所述第二设备,所述地图数据用于指示所述第二设备根据所述地图数据以及第二目标物进行重定位,所述第一目标物与所述第二目标物具有至少两个以上相同的特征点,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第二现实场景与所述第一现实场景不同。
14.一种数据处理装置,其特征在于,应用于第二设备,所述装置包括:地图获取模块、第二图像获取模块以及重定位模块,其中,
所述地图获取模块用于获取所述第一设备传输的地图数据,所述地图数据为所述第一设备根据获取的包含第一目标物的图像,构建与所述第一设备所处的第一现实场景对应的地图获得,所述第一目标物处于所述第一现实场景;
所述第二图像获取模块用于获取包含第二目标物的图像,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第一目标物与所述第二目标物具有至少两个以上相同的特征点,所述第二现实场景与所述第一现实场景不同;
所述重定位模块用于根据所述地图数据以及所述图像进行重定位。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-8任一项所述的方法、或者执行如权利要求9-12任一项所述的方法。
16.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-8任一项所述的方法、或者执行如权利要求9-12任一项所述的方法。

说明书全文

数据处理方法、装置、电子设备及存储介质

技术领域

[0001] 本申请涉及技术领域,更具体地,涉及一种数据处理方法、装置、电子设备及存储介质。

背景技术

[0002] 随着科技的进步,增强现实(AR,Augmented Reality)等技术已逐渐成为国内外研究的热点。增强现实是通过计算机系统提供的信息增加用户对现实世界感知的技术,已经广泛应用到教育、游戏、医疗等各个领域中,随之,多人AR的方案也开始出现。在传统的多人AR的方案中,利用重定位将各自的虚拟物体显示在对方的虚拟场景中,但是通常需要设备在相同的场景中才能完成重定位,使得重定位的难度较高。发明内容
[0003] 鉴于上述问题,本申请提出了一种数据处理方法、装置、电子设备及存储介质。
[0004] 第一方面,本申请实施例提供了一种数据处理方法,应用于第一设备,所述方法包括:获取包含第一目标物的图像,所述第一目标物处于所述第一设备所处的第一现实场景中;根据所述图像,构建与所述第一现实场景对应的地图,获得地图数据;将所述地图数据传输至第二设备,所述地图数据用于指示所述第二设备根据所述地图数据以及第二目标物进行重定位,所述第一目标物与所述第二目标物具有至少两个以上相同的特征点,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第二现实场景与所述第一现实场景不同。。
[0005] 第二方面,本申请实施例提供了一种数据处理方法,应用于第二设备,所述方法包括:获取所述第一设备传输的地图数据,所述地图数据为所述第一设备根据获取的包含第一目标物的图像,构建与所述第一设备所处的第一现实场景对应的地图获得,所述第一目标物处于所述第一现实场景;获取包含第二目标物的图像,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第一目标物与所述第二目标物具有至少两个以上相同的特征点,所述第二现实场景与所述第一现实场景不同;根据所述地图数据以及所述包含第二目标物的图像进行重定位。
[0006] 第三方面,本申请实施例提供了一种数据处理装置,应用于第一设备,所述装置包括:第一图像获取模、地图构建模块以及地图传输模块,其中,所述第一图像获取模块用于获取包含第一目标物的图像,所述第一目标物处于所述第一设备所处的第一现实场景中;所述地图构建模块用于根据所述图像,构建与所述第一现实场景对应的地图,获得地图数据;所述地图传输模块用于将所述地图数据传输至所述第二设备,所述地图数据用于指示所述第二设备根据所述地图数据以及第二目标物进行重定位,所述第一目标物与所述第二目标物具有至少两个以上相同的特征点,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第二现实场景与所述第一现实场景不同。
[0007] 第四方面,本申请实施例提供了一种数据处理装置,应用于第二设备,所述装置包括:地图获取模块、第二图像获取模块以及重定位模块,其中,所述地图获取模块用于获取所述第一设备传输的地图数据,所述地图数据为所述第一设备根据获取的包含第一目标物的图像,构建与所述第一设备所处的第一现实场景对应的地图获得,所述第一目标物处于所述第一现实场景;所述第二图像获取模块用于获取包含第二目标物的图像,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第一目标物与所述第二目标物具有至少两个以上相同的特征点,所述第二现实场景与所述第一现实场景不同;所述重定位模块用于根据所述地图数据以及所述图像进行重定位。
[0008] 第五方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的数据处理方法、或者执行上述第二方面提供的数据处理方法。
[0009] 第六方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的数据处理方法、或者执行上述第二方面提供的数据处理方法。
[0010] 本申请提供的方案,通过获取包含第一目标物的图像,该第一目标物处于第一设备所处的第一现实场景中,根据该图像,构建与第一现实场景对应的地图,获得地图数据,然后将地图数据发送至第二设备,该地图数据用于指示第二设备根据地图数据以及第二目标物进行重定位,且第一目标物与第二目标物具有至少两个以上相同的特征点,第二目标物处于第二设备所处的第二现实场景中,且第二显示场景与第一现实场景不同,从而可以根据不同现实场景中具有对应关系的目标物,实现重定位,方便增强现实中多人AR方案的实现,提升用户体验。附图说明
[0011] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0012] 图1示出了适用于本申请实施例的应用场景的一种示意图。
[0013] 图2示出了适用于本申请实施例的应用场景的另一种示意图。
[0014] 图3示出了根据本申请一个实施例的数据处理方法流程图
[0015] 图4示出了根据本申请另一个实施例的数据处理方法流程图。
[0016] 图5示出了本申请另一个实施例提供的一种显示效果示意图。
[0017] 图6示出了本申请另一个实施例提供的另一种显示效果示意图。
[0018] 图7示出了根据本申请又一个实施例的数据处理方法流程图。
[0019] 图8示出了根据本申请再一个实施例的数据处理方法流程图。
[0020] 图9示出了本申请再一个实施例提供的一种显示效果示意图。
[0021] 图10示出了本申请再一个实施例提供的另一种显示效果示意图。
[0022] 图11示出了本申请再一个实施例提供的又一种显示效果示意图。
[0023] 图12示出了根据本申请又另一个实施例的数据处理方法流程图。
[0024] 图13示出了根据本申请一个实施例的数据处理装置的一种框图
[0025] 图14示出了根据本申请另一个实施例的数据处理装置的一种框图。
[0026] 图15是本申请实施例的用于执行根据本申请实施例的数据处理方法的电子设备的框图。
[0027] 图16是本申请实施例的用于保存或者携带实现根据本申请实施例的数据处理方法的程序代码的存储单元。

具体实施方式

[0028] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0029] 增强现实(AR,Augmented Reality)是通过计算机系统提供的信息增加用户对现实世界感知的技术,其将计算机生成的虚拟对象、场景或系统提示信息等内容对象叠加到真实场景中,来增强或修改对现实世界环境或表示现实世界环境的数据的感知。
[0030] 在传统的多人AR的技术方案中,一般分为主机和从机,主机和从机基于同步定位与地图构建(simultaneous localization and mapping,slam)技术添加和显示各自的虚拟物体,然后利用重定位将各自的虚拟物体显示在对方的虚拟场景中,并且可以各自操作虚拟物体进行互动,例如,两个游戏模型进行比赛。其中,重定位主要是使得主机与从机之间相互了解对方的位置,也就是需要共享一个共同的坐标系,坐标系可以是世界坐标系,也可以是主机的坐标系。
[0031] 发明人经过长时间的研究发现,传统的多人AR的技术方案中,虽然能够通过重定位将各个设备间的虚拟物体同步到对方的场景中,但一般需要两台设备在同一地方且相似的度进行重定位操作,才能完成重定位操作,这会使得用户无使用经验或没有指导的情况下很难完成重定位,造成用户体验不佳。
[0032] 针对上述问题,发明人提出了本申请实施例提供的数据处理方法、装置、电子设备以及存储介质,可以根据不同现实场景中具有对应关系的目标物,实现重定位,方便增强现实中多人AR方案的实现,提升用户体验。其中,具体的数据处理方法在后续的实施例中进行详细的说明。
[0033] 下面对本申请实施例提供的数据处理方法的应用场景进行介绍。
[0034] 请参阅图1,示出了本申请实施例提供的数据处理方法的应用场景的一种示意图,该应用场景包括数据处理系统10,数据处理系统10可以用于多人AR的场景,该数据处理系统10可以包括多个电子设备,例如图1中示例性地示出了第一设备100以及第二设备200。
[0035] 在一些实施方式中,电子设备可以是头戴显示装置,也可以是手机、平板电脑等移动设备。电子设备为头戴显示装置时,头戴显示装置可以为一体式头戴显示装置。电子设备也可以是与外接式/接入式头戴显示装置连接的手机等智能终端,即电子设备可作为头戴显示装置的处理和存储设备,插入或者接入外接式头戴显示装置,在头戴显示装置中对虚拟内容进行显示。电子设备也可以是单独的手机等移动终端,移动终端可以生成虚拟场景并于屏幕中进行显示。
[0036] 在一些实施方式中,不同的电子设备可以处于不同的现实场景中,且电子设备之间可相互通信。每个电子设备所处的现实场景可以设置有目标物,目标物可以用于电子设备进行构建地图或者重定位,不同电子设备所处现实场景的目标物可以相同,也可以相互之间进行绑定。例如,图1中的第一设备100所处的现实场景可以设置有第一目标物,第一设备100可以扫描第一目标物并构建地图,在构建地图后,可以将地图数据发送至第二设备200,第二设备200可以根据其所处现实场景中的第二目标物进行重定位,后续第一设备100以及第二设备200则可以根据重定位的结果进行虚拟内容的同步。
[0037] 请参阅图2,示出了本申请实施例提供的数据处理方法的应用场景的另一种示意图,该应用场景包括数据处理系统10,数据处理系统10可以用于多人AR的场景,该数据处理系统10可以包括多个电子设备以及服务器,多个电子设备与服务器可以通信。例如图2中示例性地示出了第一设备100、第二设备200以及服务器300。服务器300可以为传统服务器,也可以为服务器等。
[0038] 在一些实施方式中,电子设备之间可以通过服务器进行数据传输,也就是电子设备可以将数据传输至服务器,再由服务器将数据传输至其他电子设备。例如,第一设备100可以根据扫描第一目标物,构建地图,并将地图数据发送至服务器300,之后再由服务器300将地图数据传输至第二设备200,第二设备200可以据其所处现实场景中的第二目标物进行重定位,后续第一设备100以及第二设备200则可以根据重定位的结果进行虚拟内容的同步。
[0039] 下面结合附图在实施例中对具体的数据处理方法进行介绍。
[0040] 请参阅图3,图3示出了本申请一个实施例提供的数据处理方法的流程示意图。该数据处理方法应用于上述数据处理系统中的第一设备,数据处理系统还包括第二设备。下面将针对图3所示的流程进行详细的阐述,该数据处理方法具体可以包括以下步骤:
[0041] 步骤S110:获取包含第一目标物的图像,所述第一目标物处于所述第一设备所处的第一现实场景中。
[0042] 在本申请实施例中,第一设备所处的现实场景中可以设置有第一目标物,第一目标物可以为具有一定纹理特征的实体对象。第一目标物用于第一设备对第一目标物进行扫描,以构建地图。
[0043] 在一些实施方式中,第一目标物上可以包括具有设定的纹理的图案,以便第一设备可以对图像中的图案进行识别,从而识别出图案中的特征点,进而根据特征点构建地图。第一目标物的具体形状和大小可以不作为限定,例如目标物的轮廓可以为矩形,大小可以为1平方米,当然,目标物的形状也可以是其他形状,大小也可以为其他大小。
[0044] 在一些实施方式中,第一设备可以包括图像采集装置,图像采集装置用于采集现实场景的图像等。图像采集装置可以为红外相机,也可以是可见光相机,图像采集装置的具体类型在本申请实施例中并不作为限定。第一设备可以通过该图像采集装置,对第一目标物进行图像采集,以获得包含第一目标物的图像。
[0045] 在另一些实施方式中,也可以设置图像采集设备与设备连接,从而设备可以通过外接的图像采集设备对第一目标物进行图像采集,获得包含第一目标物的图像。在该方式中,图像采集设备还可以与设备的位姿保持一致,以便设备可以根据外接的图像采集设备采集的图像,进行位姿的识别等。
[0046] 步骤S120:根据所述图像,构建与所述第一现实场景对应的地图,获得地图数据。
[0047] 在本申请实施例中,第一设备在获得包含第一目标物的图像之后,则可以根据该包含第一目标物的图像,构建地图。其中,第一设备还可以获取第一设备获取该图像时的位姿数据,并根据第一设备的位姿数据以及该包含第一目标物的图像,构建地图。
[0048] 在一些实施方式中,第一设备可以识别第一目标物的图像中的特征点。其中,第一目标物的特征点的信息可以预先存储与第一设备,并且这些特征点与地图的内容相关联。第一设备可以根据预先存储的特征点的特征信息,对第一目标物的特征点进行识别,以识别出第一目标物的各个特征点。第一设备在识别获得第一目标物的各个特征点之后,则可以根据各个特征点,确定对应的地图内容。然后第一设备根据第一设备的位姿数据,确定各个地图内容于第一设备所对应的空间坐标系中的位置,根据各个地图内容及其对应的位置,构建出地图。构建出的地图可以作为与第一设备所处的第一现实场景所对应的地图。可以理解的,构建地图,也可以获得地图的内容数据、各个内容的位置、设备的位姿数据、第一目标物的各个特征点的信息等,这些数据可以被携带于地图中,当然,地图中具体的数据可以不作为限定。
[0049] 步骤S130:将所述地图数据传输至所述第二设备,所述地图数据用于指示所述第二设备根据所述地图数据以及第二目标物进行重定位,所述第一目标物与所述第二目标物具有至少两个相同的特征点,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第二现实场景与所述第一现实场景不同。
[0050] 在本申请实施例中,第一设备在根据包含第一目标物的图像,生成地图得到地图数据以后,第一设备可以将地图数据传输至第二设备。第二设备在获得地图数据之后,则可以根据地图数据以及第二设备所处的第二现实场景中的第二目标物,进行重定位,以获得第一设备与第二设备之间的位置关系,实现第一设备对应的空间坐标系与第二设备对应的空间坐标系的对齐,从而第一设备以及第二设备可以根据对齐后的空间坐标系,进行虚拟内容的显示和交互。
[0051] 其中,第一目标物与第二目标物具有至少两个相同的特征点。例如,第一目标物可以与第二目标物相同,也就是所有特征点是相同的,第一设备可以通过第一目标物识别得到的特征点,并根据特征点构建地图,第二设备可以通过第二目标物识别的特征点,识别出地图,并且第一设备构建的地图内容与第二设备识别出的地图内容相同,从而第二设备后续可以根据第二目标物识别出的地图,以及第一设备构建的地图,进行重定位。又例如,第一目标物与第二目标物具有部分相同的特征点,且部分相同的特征点的数量为至少两个,第一目标物的其他不同的特征点对应的地图内容可以与第二目标物的其他不同的特征点对应的地图内容对应,因此,第一设备根据第一目标物构建出的地图内容与第二设备根据第二目标物识别出的地图内容之间,具有部分相同的地图内容,而其他不同的地图内容之间相互对应,第二设备根据相同的地图内容以及相互对应的地图内容,也可以实现重定位。第二设备进行重定位的操作在后续的实施例进行介绍。
[0052] 本申请实施例提供的数据处理方法,通过获取包含第一目标物的图像,该第一目标物处于第一设备所处的第一现实场景中,根据该图像,构建与第一现实场景对应的地图,获得地图数据,然后将地图数据发送至第二设备,该地图数据用于指示第二设备根据地图数据以及第二目标物进行重定位,且第一目标物与第二目标物具有至少两个相同的特征点,第二目标物处于第二设备所处的第二现实场景中,并且第一现实场景与第二现实场景不同,从而可以根据不同现实场景中的目标物,实现重定位,进而便于了多人AR方案的实现,提升了用户体验。
[0053] 请参阅图4,图4示出了本申请另一个实施例提供的数据处理方法的流程示意图。该数据处理方法应用于上述数据处理系统中的第一设备,数据处理系统还包括第二设备。
下面将针对图4所示的流程进行详细的阐述,该数据处理方法具体可以包括以下步骤:
[0054] 步骤S210:获取包含第一目标物的图像,所述第一目标物处于所述第一设备所处的第一现实场景中,所述第一目标物上包括预先根据所述第一现实场景生成的图案。
[0055] 在本申请实施例中,第一目标物上可以包括预先生成的图案,该图案可以预先根据第一现实场景生成,也就是说,该图案中的特征点与第一现实场景对应。具体地,该图案可以是具有纹理特征的图案,图案中的多个特征点可以与第一现实场景中的实体内容相对应,从而后续第一设备根据包含第一目标物的图像,构建的地图可以与第一现实场景相对应。
[0056] 在一些实施方式中,上述图案可以为贴图的形式设置于第一现实场景中,例如通过将预先生成的图案进行打印,并将打印出的图案贴设于第一现实场景。在另一些实施方式中,上述图案也可以为贴图的形式设置于一个实体对象(例如木板等),并将贴设有该贴图的实体对象放置于第一现实场景。当然,具体第一目标物的具体形式可以不作为限定。
[0057] 在一些实施方式中,第一设备在获取包含第一目标物的图像时,可以获取仅包含第一目标物的图像,以提升构建地图成功的概率。可以理解的,由于仅预先建立有以上图案中的特征信息所对应的地图内容,如果识别到其他的特征点,则无法将地图内容与其他的特征点对应,可能导致构建的地图的过程出现中断,或者构建出的地图中存在非地图区域等。
[0058] 在一些实施方式中,第一设备还可以获取多张包含第一目标物的图像,多张包含第一目标物的图像可以是在多个拍摄角度,对第一目标物进行图像采集而获得的图像。其中,多个拍摄角度可以是沿第一目标物的中心进行360度的旋转过程中的多个拍摄角度。
[0059] 另外,在获取包含第一目标物的图像时,还可以对第一现实场景中的环境光的亮度进行检测,如果环境光的亮度低于预设亮度时,还可以进行补光等,以提升建图的效率和质量
[0060] 步骤S220:识别所述图像中的所述图案,获得所述图案中的特征信息,所述特征信息与所述第一现实场景对应。
[0061] 在本申请实施例中,第一设备在获取到包含第一目标物的图像之后,第一设备可以识别图像中的图案,从而获得图案中的特征信息。贴图是预先根据第一现实场景生成的,第一设备识别图像中的图案,获得的图案的特征信息可以与第一现实场景对应。具体的,图案中的特征信息可以与图案中的多个特征点可以与第一现实场景中的实体内容相对应,从而后续第一设备根据包含第一目标物的图像,构建的地图可以与第一现实场景相对应。
[0062] 步骤S230:获取所述第一设备的位姿数据。
[0063] 在本申请实施例中,由于要实现利用构建的地图,用于第二设备进行重定位,因此,构建的地图中应当携带第一设备的位姿数据。作为一种具体的实施方式,第一设备可以根据采集到的包含第一目标物的图像,以及惯性测量单元(Inertial measurement unit,IMU)采集的数据(运动数据),计算第一设备的位姿数据。其中,位姿数据用于表征第一设备在第一设备所对应的空间坐标系中的位置和姿态,例如位置可以以空间坐标来表示,姿态可以利用旋转角度来表示。当然,第一终端具体获取位姿数据的方式可以不作为限定,例如,第一设备也可以利用与位置和姿态有关的定位模块来实现获取位姿数据。
[0064] 步骤S240:根据所述特征信息以及所述位姿数据,生成与所述第一现实场景对应的地图,获得地图数据。
[0065] 在本申请实施例中,第一设备在识别获得第一目标物的图案的特征信息,以及在获得第一设备的位姿数据之后,则可以根据特征信息以及位姿数据,生成与第一现实场景对应的地图。
[0066] 在一些实施方式中,第一设备可以根据特征信息,确定与第一现实场景对应的地图内容,然后再根据第一设备的位姿数据,确定各个地图内容于第一设备所对应的空间坐标系中的位置,根据各个地图内容及其对应的位置,构建出地图,并得到地图数据。地图数据中可以携带有上述图案中的特征信息、第一设备的位姿数据、地图的内容数据、各个地图内容的位置等,具体携带的数据可以不作为限定。第一设备所对应的空间坐标系可以为以第一设备为原点的世界坐标系,也可以为第一设备的相机坐标系等,在此不做限定。
[0067] 在一些实施方式中,第一设备可以按照以上方式,建立多个地图,并从多个地图中选择满足指定条件的地图,作为需要传输至第二设备的地图。其中,指定条件可以为地图中的内容与第一现实场景的匹配度高于设定阈值,该阈值可以为90%,也可以为95%等,具体数值可以不作为限定。可以理解的,当地图中的内容与第一现实场景的匹配度越高,则表示构建的地图能与第一现实场景越匹配,构建的地图的质量也越好,通过以上方式可以筛选掉质量不佳的地图,以避免后续传输至第二设备的地图数据,导致重定位失败。
[0068] 步骤S250:将所述地图数据传输至服务器,所述服务器用于将所述地图数据传输至所述第二设备,所述地图数据用于指示所述第二设备根据所述地图数据以及第二目标物进行重定位,所述第一目标物与所述第二目标物具有至少两个相同的特征点,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第二现实场景与所述第一现实场景不同。
[0069] 在本申请实施例中,步骤S250可以参阅前述实施例的内容,在此不再赘述。
[0070] 步骤S260:当获取到指示信息时,控制所述第一设备在所述第一现实场景中叠加虚拟物体,其中,所述指示信息用于指示所述第二设备重定位成功。
[0071] 在本申请实施例中,第一设备可以对接收到的信息进行监测,当监测到用于指示第二设备重定位成功的指示信息时,则表示第一设备以及第二设备可以显示和操作虚拟物体,并且能够对显示的虚拟物体进行同步。因此,第一设备可以生成并显示虚拟物体。
[0072] 在一些实施方式中,当获取到用于指示第二设备重定位成功的指示信息时,第一设备还可以生成虚拟的提示内容,并将提示内容进行显示,该提示内容可以用于提示第一设备对应的用户,可以添加或者显示虚拟物体,从而便于用户知晓当前可用进行多人AR。
[0073] 在一些实施方式中,第一设备可以对用户的操作进行检测,当监测到用于添加虚拟物体的添加操作时,第一设备根据添加操作,将虚拟物体叠加到第一现实场景中。其中,添加操作可以为用户于显示屏上的触控操作,具体可以通过设定的滑动手势、滑动轨迹等触发;添加操作也可以为根据拍摄的手势图像,根据手势图像确定出手势为设定的手势后,触发添加操作,具体的添加操作的形式可以不做限定。第一设备将虚拟物体叠加到第一现实场景中,可以是根据虚拟空间与现实空间的变换关系,将虚拟物体需要叠加到第一现实场景的位置,映射到虚拟空间中,并生成虚拟物体,从而实现在第一现实场景中叠加虚拟物体。
[0074] 在另一些实施方式中,第一设备也可以在获取到用于指示第二设备重定位成功的指示信息时,将预先设定的虚拟物体叠加至第一现实场景中。例如,在游戏场景中,在第二设备重定位完成之后,第一设备则可以将预先设定的第一设备所对应的虚拟游戏角色叠加到第一现实场景中。在一种实施方式中,第一设备可以为移动终端,例如手机、平板电脑等,虚拟物体可以于移动终端的显示屏上进行显示。该实施方式下,第一设备可以获取第一现实场景的场景图像,例如,通过第一设备上的图像采集装置采集场景图像,第一设备还可以获取虚拟物体需要叠加于第一现实场景的叠加位置,然后第一设备可以根据该叠加位置,确定虚拟物体的像素坐标,最后根据像素坐标,将虚拟物体与场景图像进行合成,得到合成图像。
[0075] 其中,第一设备根据叠加位置,确定虚拟物体的像素坐标,可以是,第一设备对现实空间中的空间坐标系与虚拟空间中的空间坐标系进行对齐后,也就是获知两者的转换关系之后,根据叠加位置确定虚拟物体融合到场景图像中的像素坐标。第一设备在将虚拟物体与场景图像进行合成时,可以根据像素坐标,将虚拟物体融合到场景图像中,获得到合成图像中,虚拟物体与场景图像中的实体物体融合到一起,后续进行显示的图像,可以使用户观察到增强现实的显示效果。
[0076] 在另一种实施方式中,第一设备可以为头戴显示装置,也可以为与外接式头戴显示装置连接的移动终端,也就是说虚拟物体是通过头戴显示装置进行显示。在该实施方式下,第一设备可以获取虚拟物体需要叠加到第一现实场景中的叠加位置,以及虚拟物体的内容数据,生成虚拟物体,实现虚拟物体叠加到第一现实场景。其中,第一设备可以根据该叠加位置,以及现实空间中的空间坐标系与虚拟空间中的空间坐标系的转换关系,将叠加位置转换为虚拟空间中的空间位置,也就获得了虚拟物体在虚拟空间中所需要显示的空间位置。再根据该空间位置以及虚拟物体的内容数据,对虚拟物体进行渲染,从而完成了虚拟物体的生成。
[0077] 以上两种实施方式中,虚拟物体需要叠加于第一现实场景的叠加位置,可以根据检测到的添加操作进行确定。例如,第一设备为移动终端,虚拟物体需要于移动终端的显示屏上进行显示时,移动终端可以于显示屏上显示场景图像,以便用户根据场景图像确定叠加位置,然后根据用户于屏幕上的触控操作,可以确定虚拟物体的叠加位置。又例如,第一设备为头戴显示装置时,可以检测用户在第一现实场景中的手势动作,根据手势动作的位置,确定虚拟物体的叠加位置。当然,具体确定虚拟物体需要叠加于第一现实场景的叠加位置的方式可以不作为限定,例如,叠加位置也可以是预先设定。
[0078] 步骤S270:显示所述虚拟物体。
[0079] 在本申请实施例中,第一设备在将虚拟物体叠加到第一现实场景中之后,则可以将虚拟物体进行显示,以便用户察看到虚拟物体叠加到真实世界的效果,即实现增强现实的显示效果。
[0080] 在一种实施方式中,当第一设备为移动终端,虚拟物体需要于移动终端的显示屏上进行显示时。第一设备则可以根据将虚拟物体与场景图像进行合成后获得的合成图像,显示于显示屏上,从而实现增强现实的显示效果。
[0081] 在另一种实施方式中,当第一设备为头戴显示装置,虚拟物体通头戴显示装置进行显示时。在渲染虚拟物体之后,可以获取虚拟物体的画面显示数据,该画面显示数据可以包括显示画面中各个像素点的RGB值以及对应的像素点坐标等,第一设备可以根据画面显示数据生成虚拟画面,并将将生成的虚拟画面通过投射模组投射到显示镜片上,进行显示出虚拟物体,用户可以通过显示镜片,看到虚拟画面叠加显示于第一现实场景中的相应位置处,实现增强现实的显示效果,例如,请参阅图5,在上述举例的打斗类游戏的场景中,在添加虚拟游戏人物A后,用户可以通过显示镜片观察到处于第一现实场景中的虚拟游戏人物A,还可以观察到第一现实场景中处于当前视野范围内的第一目标物11,实现增强现实的显示效果。
[0082] 步骤S280:获取所述虚拟物体的位姿数据以及显示数据。
[0083] 在本申请实施例中,第一设备在生成并显示虚拟物体之后,需要第二设备也同步显示该虚拟物体。因此,第一设备还可以根据生成的虚拟物体,确定虚拟物体的位姿数据以及显示数据,其中,位姿数据可以为虚拟物体于虚拟空间中的位置和姿态,显示数据可以为用于渲染该虚拟物体的内容数据,例如顶点坐标、颜色等。
[0084] 步骤S290:将所述显示数据以及所述位姿数据发送至所述第二设备,所述显示数据以及所述位姿数据用于所述第二设备同步显示所述虚拟物体。
[0085] 在本申请实施例中,第一设备在获取到生成的虚拟物体的显示数据以及位姿数据之后,则可以将显示数据以及位姿数据发送至第二设备。第二设备可以根据第一终端发送的位姿数据,确定出该虚拟物体在其对应的空间坐标系中的位置,并根据显示数据对该虚拟物体进行渲染后,将该虚拟物体进行显示,实现第一设备生成和显示的虚拟物体同步到第二设备进行显示。
[0086] 在一些实施方式中,第一设备也可以接收第二设备传输的目标虚拟物体的显示数据及位姿数据,该目标虚拟物体为第二设备在重定位后,生成和显示的虚拟物体,目标物体的位姿数据可以为第二设备经过对齐后的空间坐标系,换算到第一设备对应的空间坐标系中获得,从而第一设备可以直接根据目标虚拟物的位姿数据,确定目标虚拟物的显示位置,并生成目标虚拟物,将目标虚拟物进行显示,使第一设备生成的虚拟物以及第二设备生成的虚拟物同步进行显示。例如,请同时参阅图5及图6,在上述举例的打斗类游戏的场景中,第一设备在显示虚拟游戏人物A之后,接收到第二设备生成和显示的虚拟游戏人物B的显示数据和位姿数据,生成虚拟游戏人物B,并将虚拟游戏人物B进行显示,实现第二设备添加的虚拟游戏人物B同步到第一设备进行显示,并且可以控制虚拟游戏人物A与虚拟游戏人物B进行打斗等动作交互,实现打斗类游戏的交互。
[0087] 在一些实施方式中,第一设备还可以检测对添加的虚拟物体的操作数据,并对操作数据进行响应,并将响应结果同步到第二设备。例如,在移动添加的虚拟物体后,可以将新的位姿数据同步到第二设备。
[0088] 本申请实施例提供的数据处理方法,通过获取包含第一目标物的图像,该第一目标物处于第一设备所处的第一现实场景中,且第一目标物上包括预先根据第一现实场景生成的图案,通过识别该图案中的特征信息,并获取第一设备的位姿数据,根据特征信息和位姿数据构建地图,获得地图数据,然后将地图数据发送至第二设备,该地图数据用于指示第二设备根据地图数据以及第二目标物进行重定位,且第一目标物与第二目标物具有至少两个相同的特征点,第二目标物处于第二设备所处的第二现实场景中,第一现实场景与第二现实场景不同。从而可以根据不同现实场景中具有对应关系的目标物,实现重定位,进而便于了多人AR方案的实现,提升了用户体验。另外,当获取到用于指示第二设备重定位成功的指示信息时,生成虚拟物体并进行显示,然后将虚拟物体的位姿数据以及显示数据传输至第二设备,以便第二设备对该虚拟物体进行同步显示,实现了多人AR中的同步显示。
[0089] 请参阅图7,图7示出了本申请又一个实施例提供的数据处理方法的流程示意图。该数据处理方法应用于上述数据处理系统中的第二设备,数据处理系统还包括第一设备。
下面将针对图7所示的流程进行详细的阐述,所述数据处理方法具体可以包括以下步骤:
[0090] 步骤S310:获取所述第一设备传输的地图数据,所述地图数据为所述第一设备根据获取的包含第一目标物的图像,构建与所述第一设备所处的第一现实场景对应的地图获得,所述第一目标物处于所述第一现实场景。
[0091] 在一些实施方式中,第一设备与第二设备之间通过服务器进行数据传输时,第一设备传输的地图数据可以传输至服务器,再由第二设备接收服务器传输的地图数据。因此,第一设备与第二设备相距较远时,可以实现多人AR中的远程交互方案。
[0092] 步骤S320:获取包含第二目标物的图像,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第一目标物与所述第二目标物具有至少两个相同的特征点,所述第二现实场景与所述第一现实场景不同。
[0093] 在本申请实施例中,第二设备在接收到地图数据之后,在进行重定位时,可以获取包含其所处的第二现实场景中的第二目标物的图像,以便后续根据地图数据和包含第二目标物的图像,进行重定位。
[0094] 在一些实施方式中,第一目标物与第二目标物具有至少两个相同的特征点。例如,第一目标物可以与第二目标物相同,也就是所有特征点是相同的,第一设备可以通过第一目标物识别得到的特征点,并根据特征点构建地图,第二设备可以通过第二目标物识别的特征点,识别出地图,并且第一设备构建的地图内容与第二设备识别出的地图内容相同,从而第二设备后续可以根据第二目标物识别出的地图,以及第一设备构建的地图,进行重定位。又例如,第一目标物与第二目标物具有部分相同的特征点,且部分相同的特征点的数量为至少两个,第一目标物的其他不同的特征点对应的地图内容可以与第二目标物的其他不同的特征点对应的地图内容对应,因此,第一设备根据第一目标物构建出的地图内容与第二设备根据第二目标物识别出的地图内容之间,具有部分相同的地图内容,而其他不同的地图内容之间相互对应,第二设备根据相同的地图内容以及相互对应的地图内容,也可以实现重定位。
[0095] 作为一种可选的实施方式,第一目标物以及第二目标物可以均是贴图,并且贴图上的图案为预先根据第一设备所处的第一现实场景生成,以方便利用地图数据进行重定位。
[0096] 在一些实施方式中,第二设备在获取包含第二目标物的图像时,也可以获取仅包含第二目标物的图像,以提升重定位的成功概率。另外,在获取包含第二目标物的图像时,第二设备也可以对第二现实场景中的环境光的亮度进行检测,如果环境光的亮度低于预设亮度时,还可以利用补光模块(例如补光灯等)进行补光等,以提升建图的效率和质量。
[0097] 步骤S330:根据所述地图数据以及所述包含第二目标物的图像进行重定位。
[0098] 在本申请实施例中,第二设备在获取到地图数据,以及包含第二目标物的图像之后,则可以根据地图数据以及包含第二目标物的图像进行重定位。
[0099] 在一些实施方式中,第二设备可以识别第二目标物中的特征信息,例如识别贴图的图案中的特征信息。第二设备还可以根据地图数据,确定第一目标物中的特征信息,并将根据第一目标物的特征信息,以及第二目标物的特征信息,进行第一目标物与第二目标物的匹配,如果两者的相似度大于设定相似度时,再根据地图数据以及包含第二目标物的图像,确定第一设备与第二设备之间的位置关系,并将第一设备对应的空间坐标系与第二设备对应的空间坐标系的对齐,从而完成重定位,后续第一设备以及第二设备可以根据对齐后的空间坐标系,进行虚拟内容的显示和交互。
[0100] 在一种具体的实施方式中,第二设备可以根据包含第二目标物的图像,识别出特征信息,并确定与特征信息对应的地图内容,然后获取第二设备的位姿数据,再根据第二设备的位姿数据,确定各个地图内容于第二设备所对应的空间坐标系中的位置,根据各个地图内容及其对应的位置,确定出当前识别到的地图。由于第一目标物以及第二目标物为相同,或者其对应的地图内容是对应的,因此第二设备可以根据第一设备构建的地图,以及第二目标物识别到的地图,将两者进行匹配,可以分析出第一设备与第二设备之间的位置关系,进而根据该位置关系,可以确定第一设备对应的空间坐标系与第二设备对应的空间坐标系之间的转换关系,从而实现了坐标系的对齐,也就完成了重定位。在重定位完成后,第一设备以及第二设备则可以利用根据对齐后的空间坐标系,实现虚拟内容的同步。第一设备对应的空间坐标系可以为以第一设备为原点的世界坐标系,也可以为第一设备的相机坐标系,在此不做限定。同样的,第二设备对应的空间坐标系可以为以第二设备为原点的世界坐标系,也可以为第二设备的相机坐标系,在此不做限定。
[0101] 本申请实施例提供的数据处理方法,第二设备通过获取传输的地图数据,且该地图数据为第一设备根据获取的包含第一目标物的图像,构建与第一设备所处的第一现实场景对应的地图获得,第一目标物处于第一现实场景,然后获取包含第二目标物的图像,第二目标物处于第二设备所处的第二现实场景中,第一目标物与第二目标物具有对应关系,再根据地图数据以及包含第二目标物的图像进行重定位,从而可以根据不同现实场景中的目标物,实现重定位,进而便于了多人AR方案的实现,提升了用户体验。
[0102] 请参阅图8,图8示出了本申请又一个实施例提供的数据处理方法的流程示意图。该数据处理方法应用于上述数据处理系统中的第二设备,数据处理系统还包括第一设备。
下面将针对图8所示的流程进行详细的阐述,所述数据处理方法具体可以包括以下步骤:
[0103] 步骤S410:获取所述第一设备传输的地图数据,所述地图数据为所述第一设备根据获取的包含第一目标物的图像,构建与所述第一设备所处的第一现实场景对应的地图获得,所述第一目标物处于所述第一现实场景。
[0104] 步骤S420:获取包含第二目标物的图像,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第一目标物与所述第二目标物具有至少两个以上相同的特征点,所述第二现实场景与所述第一现实场景不同。
[0105] 在本申请实施例中,步骤S410以及步骤S420可以参阅前述实施例的内容,在此不再赘述。
[0106] 步骤S430:根据所述包含第二目标物的图像以及所述地图数据,确定所述第二终端于第一空间坐标系中的第一位姿数据,所述第一空间坐标系为所述第一设备对应的空间坐标系。
[0107] 在一些实施方式中,第二设备可以根据包含第二目标物的图像,确定图像中的特征信息对应的各个地图内容,以及第二设备的位姿数据,确定各个地图内容于第二设备所对应的空间坐标系中的位置,根据各个地图内容及其对应的位置,确定出当前识别到的地图。第二设备可以根据识别到的地图,以及接收到的地图进行特征匹配,分别提取两者相同的图像特征,输出点匹配集合,进而估计第二设备相对于第一设备对应的第一空间坐标系的位姿数据,其中位姿估计算法可以是PNP算法,具体的位姿估计算法可以不做限定。第一设备对应的空间坐标系可以为以第一设备为原点的世界坐标系,也可以为第一设备的相机坐标系,在此不做限定。
[0108] 在一种实施方式中,当第一目标物的特征点与第二目标物的特征点全部相同时,则可以直接将识别出的地图与接收到的地图进行特征匹配,从而后续根据匹配结果确定第二设备在第一空间坐标系的位姿数据。
[0109] 在另一种实施方式中,当第一目标物的特征点与第二目标物的特征点部分相同时,而第一目标物与第二目标物之间的不同特征点对应的地图内容是相对应的。则可以将识别出的地图内容中,部分地图内容与接收的地图内容进行匹配,而其余地图内容则与第一目标物的不同特征点所对应的地图内容进行匹配,从而后续根据匹配结果确定第二设备在第一空间坐标系的位姿数据。
[0110] 步骤S440:获取所述第二终端于第二空间坐标系中的第二位姿数据,所述第二空间坐标系为所述第二设备对应的空间坐标系。
[0111] 其中,第二终端可以根据获取的包含第二目标物的图像,以及IMU采集到的数据,确定第二终端于第二空间坐标系中的第二位姿数据。第二设备对应的空间坐标系可以为以第二设备为原点的世界坐标系,也可以为第二设备的相机坐标系,在此不做限定。
[0112] 步骤S450:根据所述第一位姿数据以及所述第二位姿数据,获取所述第一空间坐标系与所述第二空间坐标系之间的坐标系转换关系。
[0113] 在一些实施方式中,第二设备可以根据第一位姿数据以及第二位姿数据,获得第一空间坐标系与第二空间坐标系之间的坐标系变换数据,例如获得坐标系变换矩阵等,并将坐标系变换数据作为第一空间坐标系与第二空间坐标系之间的坐标系转换关系。后续则可以利用该坐标系变换数据,实现第一设备生成的虚拟物体的位姿数据的转换,以同步显示第一设备生成和显示的虚拟物体。
[0114] 在本申请实施例中,第二设备在完成重定位之后,还可以生成指示信息,并将该指示信息传输至第一设备,指示信息用于指示第二设备重定位成功,以便第一设备的用户可以获知可以添加虚拟物体,或者第一设备可以生成预先设定的虚拟物体。
[0115] 步骤S460:获取所述第一设备显示的虚拟物体的显示数据以及第三位姿数据。
[0116] 可以理解的,第一设备在发送其生成和显示的虚拟物体的显示数据以及第三位姿数据之后,第二设备可以对应接收到该显示数据和第三位姿数据。
[0117] 步骤S470:根据所述坐标系转换关系,将所述第三位姿数据转换为所述第二空间坐标系中的第四位姿数据。
[0118] 在一些实施方式中,第二设备可以根据以上获取的坐标系转换关系,将第三位姿数据转换为第二空间坐标系中的第四位姿数据,也就实现了虚拟物体的位姿数据从第一设备对应的第一空间坐标系,到第二设备对应的第二空间坐标系的转换。
[0119] 步骤S480:根据所述显示数据以及所述第四位姿数据,在所述第二现实场景中叠加所述虚拟物体。
[0120] 在一些实施方式中,第二设备则可以根据转换后获得的第四位姿数据,确定虚拟物体在第二空间坐标系中的位置,并根据该位置和显示数据生成该虚拟物体,以将虚拟物体叠加至第二现实场景中。具体将虚拟物体叠加至第二现实场景的方式,可以参阅前述实施例中第一设备将虚拟物体叠加至第一现实场景的方式,在此不再赘述。
[0121] 在一些实施方式中,第二设备在重定位后,也可以根据用户的添加操作或者按照预设的规则,生成和显示目标虚拟物体。例如,请参阅图9,在添加虚拟人物B后,第二设备对应的用户可以通过显示镜片观察到处于第一现实场景中的虚拟人物B,还可以观察到第二现实场景中处于当前视野范围内的第二目标物11,实现增强现实的显示效果。另外,如果第二设备在生成和显示目标虚拟物体之后,如果此时已经接收到第一设备发生的虚拟物体和显示数据,则可以同步显示第一设备生成和显示的虚拟物体。
[0122] 例如,请同时参阅图9及图10,第二设备在显示虚拟游戏人物B之后,接收到第一设备生成和显示的虚拟游戏人物A的显示数据和位姿数据,生成虚拟游戏人物A,并将虚拟游戏人物A进行显示,实现第一设备添加的虚拟游戏人物A同步到第二设备进行显示,并且可以控制虚拟游戏人物B与虚拟游戏人物A进行打斗等动作交互,实现打斗类游戏的交互。
[0123] 在以上打斗类游戏的场景中,可以看出虚拟物体(例如以上虚拟人物等)可以叠加至现实场景中第一目标物及第二目标物所在区域以外的位置处,使用户察看到虚拟物体叠加至第一目标物及第二目标物所在区域以外的显示效果。
[0124] 在一些场景中,虚拟物体也可以叠加于第一目标物以及第二目标物所在的位置区域。当通过移动终端的显示屏显示虚拟物体时,则显示屏上显示的内容可以为虚拟物体叠加到第一目标物的图像,或者虚拟物体叠加到第二目标物的图像。
[0125] 例如,在棋类游戏的场景中,移动终端的显示屏上可以仅显示叠加到第一目标物或者第二目标物上的棋盘、棋子等内容,以较好地实现游戏显示效果。具体的,第一设备与第二设备均为移动终端,在第一设备根据第一目标物构建地图,第二设备根据第二目标物以及构建的地图进行重定位后,第一设备可以显示叠加于第一目标物的棋盘,第二设备也可以同步显示叠加于第二目标物的棋盘,当第一设备添加有“黑色棋子”到棋盘后,第一设备可以将添加的“黑色棋子”的显示数据和位姿数据发送至第二设备,第二设备根据显示数据和位姿数据,在棋盘上相同的位置处显示该“黑色棋子”。同理,当第二设备添加有“白色棋子”到棋盘后,第二设备可以将添加的“白色棋子”的显示数据和位姿数据发送至第一设备,第一设备根据“白色棋子”的显示数据和位姿数据,在棋盘上相同的位置处显示该“白色棋子”。另外,当第一设备显示有游戏提示内容时,第二设备也可以同步显示游戏提示内容。
[0126] 同样的,第二设备可以将目标虚拟物体的显示数据和位姿数据发送至第一设备,从而实现第二设备生成和显示的虚拟物体同步到第一设备进行显示。需要说明的是,由于第二设备显示的目标虚拟物体是根据第二空间坐标系中的位置生成,因此可以根据坐标系转换关系,将目标虚拟物体的位姿数据转换为第一空间坐标系中的位姿数据后,发送至第一设备,以便第一设备可以根据第二设备发送的位姿数据生成目标虚拟物体。
[0127] 在一些实施方式中,第二设备还可以检测对添加的虚拟物体的操作数据,并对操作数据进行响应,并将响应结果同步到第一设备。例如,在移动添加的虚拟物体后,可以将新的位姿数据同步到第一设备。又例如,请参阅图11,在上述举例的打斗类游戏的场景中,可以将虚拟人物进行切换,以丰富打斗类型游戏的玩法。
[0128] 本申请实施例提供的数据处理方法,通过获取传输的地图数据,且该地图数据为第一设备根据获取的包含第一目标物的图像,构建与第一设备所处的第一现实场景对应的地图获得,第一目标物处于第一现实场景,然后获取包含第二目标物的图像,第二目标物处于第二设备所处的第二现实场景中,第一目标物与第二目标物具有对应关系,然后根据包含第二目标物的图像以及地图数据,确定第二设备在第一设备对应的第一空间坐标系中的第一位姿数据,再获取第二设备在其对应的第二空间坐标系中的第二位姿数据,再根据第一位姿数据以及第二位姿数据,确定第一空间坐标系与第二空间坐标系之间的坐标系转换关系,从而实现重定位。在获得到坐标系转换关系之后,则可以根据坐标系转换关系,进行虚拟物体的同步,进而实现多人AR中的同步显示和交互。
[0129] 请参阅图12,图12示出了本申请又另一个实施例提供的数据处理方法的流程示意图。该数据处理方法应用于数据处理系统,数据处理系统包括第一设备、第二设备以及服务器,第一设备以及第二设备均与该服务器通信连接。下面将针对图12所示的流程进行详细的阐述,所述数据处理方法具体可以包括以下步骤:
[0130] 步骤S501:构建地图。
[0131] 在本申请实施例中,第一设备构建地图的方式,可以参阅前述实施例的内容,在此不再赘述。
[0132] 步骤S502:上传地图至服务器。
[0133] 在本申请实施例中,第一设备在构建地图之后,则可以上传地图至服务器。
[0134] 步骤S503:传输地图数据至第二设备。
[0135] 在本申请实施例中,服务器在接收到第一设备上传的地图之后,可以将地图数据传输至第二设备。
[0136] 步骤S504:进行重定位。
[0137] 在本申请实施例中,第二设备可以根据地图数据以及包含第二目标物的图像,进行重定位,具体重定位方式可以参阅前述实施例的内容,在此不再赘述。
[0138] 步骤S505:重定位成功。
[0139] 步骤S506:发送指示信息至服务器。
[0140] 在本申请实施例中,该指示信息用于指示第二设备重定位成功。
[0141] 步骤S507:传输指示信息至第一设备。
[0142] 在本申请实施例中,服务器接收到指示信息之后,则可以将该指示信息传输至第一设备,以便第一设备获知第二设备重定位成功。
[0143] 步骤S508:接收到指示信息。
[0144] 相应的,第一设备可以接收到该指示信息。
[0145] 步骤S509:添加虚拟物体。
[0146] 在本申请实施例中,在第二设备重定位成功,第一设备获知第二设备重定位成功后,则可以第一设备以及第二设备均可以各自添加虚拟物体至虚拟场景中。
[0147] 步骤S510:传输添加的虚拟物体。
[0148] 在本申请实施例中,第一设备在添加虚拟物体后,可以将添加的虚拟物体的显示数据以及位姿数据传输至服务器,服务器可以将第一设备添加的虚拟物体的显示数据以及位姿数据转发至第二设备,以便第二设备同步显示第一设备添加的虚拟物体。同理,第二设备也在添加虚拟物体后,可以将添加的虚拟物体的显示数据以及位姿数据传输至服务器,服务器可以将第二设备添加的虚拟物体的显示数据以及位姿数据转发至第一设备,以便第一设备同步显示第二设备添加的虚拟物体。从而在互相同步显示添加的虚拟物体之后,则可以实现虚拟物体的同步显示,并且后续可以根据显示的虚拟物体进行交互。
[0149] 步骤S511:操作虚拟物体。
[0150] 在本申请实施例中,第一设备可以根据用户的操作,对第一设备对应的虚拟物体进行操作。同样的,第二设备可以根据用户的操作,对第二设备对应的虚拟物体进行操作。
[0151] 步骤S512:传输虚拟物体的当前位姿数据。
[0152] 在本申请实施例中,在对虚拟物体进行操作后,可能导致虚拟物体的位姿的变化,因此可以传输虚拟物体的当前位姿数据,以便同步虚拟物体的位姿变化。
[0153] 请参阅图13,其示出了本申请一个实施例提供的一种数据处理装置400的结构框图。该数据处理装置400应用上述的数据处理系统中的第一设备,该数据处理系统还包括第二设备。该数据处理装置400包括:第一图像获取模块410、地图构建模块420以及地图传输模块430。其中,所述第一图像获取模块410用于获取包含第一目标物的图像,所述第一目标物处于所述第一设备所处的第一现实场景中;所述地图构建模块420用于根据所述图像,构建与所述第一现实场景对应的地图,获得地图数据;所述地图传输模块430用于将所述地图数据传输至所述第二设备,所述地图数据用于指示所述第二设备根据所述地图数据以及第二目标物进行重定位,所述第一目标物与所述第二目标物具有至少两个以上相同的特征点,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第二现实场景与所述第一现实场景不同。
[0154] 在一些实施方式中,该数据处理装置400还可以包括:内容叠加模块,用于在所述将所述地图发送至所述第二设备之后,当接收到所述第二设备发送的指示信息时,控制所述第一设备在所述第一现实场景中叠加虚拟物体,其中,所述指示信息用于指示所述第二设备重定位成功;内容显示模块,用于显示所述虚拟物体。
[0155] 在该实施方式下,内容叠加模块可以具体用于:获取所述第一现实场景的场景图像;获取虚拟物体需要叠加于所述第一现实场景的叠加位置;根据所述叠加位置,确定所述虚拟物体的像素坐标;根据所述像素坐标,将所述虚拟物体与所述场景图像合成,得到合成图像。内容显示模块可以具体用于:将所述合成图像进行显示。
[0156] 在该实施方式下,内容叠加模块可以具体用于:获取虚拟物体需要叠加于所述第一现实场景的叠加位置;根据所述叠加位置以及所述虚拟物体的内容数据,生成所述虚拟物体。
[0157] 进一步的,内容生成模块获取虚拟物体需要叠加于所述第一现实场景的叠加位置可以包括:根据检测到的添加操作,虚拟物体需要叠加于所述第一现实场景的叠加位置。
[0158] 在一些实施方式中,该数据处理装置400还可以包括:数据获取模块,用于在所述生成并显示虚拟物体之后,获取所述虚拟物体的位姿数据以及显示数据;数据发送模块,用于将所述显示数据以及所述位姿数据发送至所述第二设备,所述显示数据以及所述位姿数据用于所述第二设备同步显示所述虚拟物体。
[0159] 在一些实施方式中,地图构建模块420可以包括:图案识别单元,用于识别所述图像中的所述图案,获得所述图案中的特征信息,所述特征信息与所述第一现实场景对应;数据获取单元,用于获取所述第一设备的位姿数据;地图生成单元,用于根据所述特征信息以及所述位姿数据,生成与所述第一现实场景对应的地图,获得地图数据。
[0160] 在一些实施方式中,地图传输模块可以具体用于:将所述地图数据传输至服务器,所述服务器用于将所述地图数据传输至所述第二设备。
[0161] 请参阅图14,其示出了本申请另一个实施例提供的一种数据处理装置500的结构框图。该数据处理装置500应用上述的数据处理系统中的第二设备,该数据处理系统还包括第一设备。该数据处理装置500包括:地图获取模块510、第二图像获取模块520以及重定位模块530。其中,所述地图获取模块510用于获取所述第一设备传输的地图数据,所述地图数据为所述第一设备根据获取的包含第一目标物的图像,构建与所述第一设备所处的第一现实场景对应的地图获得,所述第一目标物处于所述第一现实场景;所述第二图像获取模块520用于获取包含第二目标物的图像,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第一目标物与所述第二目标物具有至少两个以上相同的特征点,所述第二现实场景与所述第一现实场景不同;所述重定位模块530用于根据所述地图数据以及所述图像进行重定位。
[0162] 在一些实施方式中,重定位模块530可以包括:第一位姿确定单元,用于根据所述包含第二目标物的图像以及所述地图数据,确定所述第二终端于第一空间坐标系中的第一位姿数据,所述第一空间坐标系为所述第一设备对应的空间坐标系;第二位姿确定单元,用于获取所述第二终端于第二空间坐标系中的第二位姿数据,所述第二空间坐标系为所述第二设备对应的空间坐标系;关系确定单元,用于根据所述第一位姿数据以及所述第二位姿数据,获取所述第一空间坐标系与所述第二空间坐标系之间的坐标系转换关系。
[0163] 在一些实施方式中,该数据处理装置500还可以包括:位姿数据获取模块,用于获取所述第一设备显示的虚拟物体的显示数据以及第三位姿数据;位姿数据转换模块,用于根据所述坐标系转换关系,将所述第三位姿数据转换为所述第二空间坐标系中的第四位姿数据;虚拟物体叠加模块,用于根据所述显示数据以及所述第四位姿数据,在所述第二现实场景中叠加所述虚拟物体。
[0164] 在一些实施方式中,该数据处理装置500还可以包括:指示信息生成模块。指示信息生成模块用于在所述根据所述地图数据以及所述图像进行重定位之后,成指示信息,并将所述指示信息传输至所述第一设备,所述指示信息用于指示所述第二设备重定位成功。
[0165] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0166] 在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
[0167] 另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0168] 本申请实施例还提供了一种数据处理系统,该数据处理系统包括第一设备以及第二设备。第一设备与第二设备可进行数据传输。其中,第一设备用于:获取包含第一目标物的图像,所述第一目标物处于所述第一设备所处的第一现实场景中;根据所述图像,构建与所述第一现实场景对应的地图,获得地图数据;将所述地图数据传输至所述第二设备,所述地图数据用于指示所述第二设备根据所述地图数据以及第二目标物进行重定位,所述第一目标物与所述第二目标物具有对应关系,所述第二目标物处于所述第二设备所处的第二现实场景中。第二设备用于:获取所述第一设备传输的地图数据,所述地图数据为所述第一设备根据获取的包含第一目标物的图像,构建与所述第一设备所处的第一现实场景对应的地图获得,所述第一目标物处于所述第一现实场景;获取包含第二目标物的图像,所述第二目标物处于所述第二设备所处的第二现实场景中,所述第一目标物与所述第二目标物具有对应关系;根据所述地图数据以及所述包含第二目标物的图像进行重定位。
[0169] 综上所述,本申请提供的方案,通过获取包含第一目标物的图像,该第一目标物处于第一设备所处的第一现实场景中,根据该图像,构建与第一现实场景对应的地图,获得地图数据,然后将地图数据发送至第二设备,该地图数据用于指示第二设备根据地图数据以及第二目标物进行重定位,且第一目标物与第二目标物具有至少两个以上相同的特征点,第二目标物处于第二设备所处的第二现实场景中,且第二显示场景与第一现实场景不同,从而可以根据不同现实场景中具有对应关系的目标物,实现重定位,方便增强现实中多人AR方案的实现,提升用户体验。
[0170] 请参考图15,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备100可以是智能手机、平板电脑、智能手表、头戴显示装置等能够运行应用程序的电子设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
[0171] 处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
[0172] 存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
[0173] 请参考图16,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
[0174] 计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
[0175] 最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈