AR交互方法、装置、电子设备及存储介质与流程

文档序号:25278835发布日期:2021-06-01 17:24阅读:94来源:国知局
AR交互方法、装置、电子设备及存储介质与流程

本公开涉及增强现实(augmentedreality,ar)技术领域,具体而言,涉及一种ar交互方法、装置、电子设备和存储介质。



背景技术:

ar技术是一种将虚拟信息与真实世界巧妙融合的技术,该技术可以将虚拟信息与真实环境实时地叠加到一个画面。目前,ar技术已经被广泛的应用于各个领域,比如,可以将ar技术应用于游戏互动上,以丰富用户不同的游戏体验。

然而,目前的ar游戏通常是单人在同一场景下的互动,例如,单人基于对ar设备的操作实现游戏的互动,该方式虽然给用户带来了不同的用户体验,但缺少团队作战的趣味性。



技术实现要素:

本公开实施例至少提供一种ar交互方法、装置、电子设备及存储介质。

第一方面,本公开实施例提供了一种ar交互方法,包括:

识别多个位于目标ar场景下的ar设备,多个所述ar设备分别展示包含所述目标ar场景中虚拟对象的ar画面;

响应于多个所述ar设备中至少一个目标ar设备对所述虚拟对象的触发操作,更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态,所述展示状态与所述触发操作相匹配。

本公开实施例中,可以识别多个位于目标ar场景下的ar设备,多个所述ar设备分别展示包含所述目标ar场景中虚拟对象的ar画面;然后响应于多个所述ar设备中至少一个目标ar设备对所述虚拟对象的触发操作,更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态,如此,实现了目标ar场景下的多人交互,提升了用户的交互体验。

根据第一方面,在一种可能的实施方式中,所述虚拟对象包括多个;所述响应于多个所述ar设备中至少一个目标ar设备对所述虚拟对象的触发操作,包括:

响应于多个所述ar设备中多个目标ar设备对所述多个虚拟对象中的同一虚拟对象的触发操作;或者,

响应于多个所述ar设备中多个目标ar设备对所述多个虚拟对象中的不同虚拟对象的触发操作。

本公开实施例中,由于虚拟对象包括多个,且不同的用户可以选择针对同一虚拟对象或者不同的虚拟对象进行操作,提高了交互的趣味性。

根据第一方面,在一种可能的实施方式中,所述更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态,包括:

基于所述至少一个目标ar设备对所述虚拟对象的触发操作信息,确定与所述触发操作信息对应的所述虚拟对象在虚拟世界坐标系下的特效数据;

基于所述多个ar设备分别对应的位姿信息,以及所述虚拟对象在所述虚拟世界坐标系下的特效数据,更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态。

本公开实施例中,由于多个ar设备在世界坐标系下的位姿信息不同,使得每个ar设备所展示的ar画面中虚拟对象的展示状态并不相同,因此,需要结合每个ar设备所对应的位姿信息,展示相应的ar画面以及相应的虚拟对象的展示状态,如此,可以提高每个ar设备所展示的虚拟对象与现实场景结合的真实性,提升了虚拟对象的展示效果。

根据第一方面,在一种可能的实施方式中,所述基于所述至少一个目标ar设备对所述虚拟对象的触发操作信息,确定与所述触发操作信息对应的所述虚拟对象在虚拟世界坐标系下的特效数据,包括:

将所述至少一个目标ar设备的屏幕上的触发操作位置,转换为在所述虚拟世界坐标系下的虚拟世界坐标位置;

基于所述虚拟世界坐标位置,以及所述虚拟对象在所述虚拟世界坐标系下的坐标位置,确定所述目标ar场景中被触发的虚拟对象;

确定所述被触发的虚拟对象在所述虚拟世界坐标系下的特效数据。

本公开实施例中,将所述至少一个目标ar设备的屏幕上的触发操作位置,转换为在所述虚拟世界坐标系下的虚拟世界坐标位置,再基于所述虚拟世界坐标位置,以及所述虚拟对象在所述虚拟世界坐标系下的坐标位置,确定所述目标ar场景中被触发的虚拟对象,可以将作用在ar设备屏幕上的操作与现实场景相结合,提升交互的真实性。

根据第一方面,在一种可能的实施方式中,所述基于所述虚拟世界坐标位置,以及所述虚拟对象在所述虚拟世界坐标系下的坐标位置,确定所述目标ar场景中被触发的虚拟对象,包括:

在所述虚拟世界坐标位置与所述目标ar场景中任一虚拟对象在所述虚拟世界坐标系下的坐标位置满足预设的关联关系的情况下,确定所述任一虚拟对象为所述被触发的虚拟对象。

本公开实施例中,基于虚拟世界坐标系下的坐标位置,以及预设的关联关系来确定被触发的虚拟对象,可以提高触发操作的响应速度,以及避免对触发操作误判的情况。

根据第一方面,在一种可能的实施方式中,所述基于所述多个ar设备分别对应的位姿信息,以及所述虚拟对象在所述虚拟世界坐标系下的特效数据,更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态,包括:

基于所述虚拟对象在所述虚拟世界坐标系下的特效数据,以及所述多个ar设备分别对应的位姿信息,确定所述虚拟对象分别在每个ar设备的设备坐标系下的特效数据;

基于所述每个ar设备的设备坐标系与对应的每个ar设备的屏幕坐标系之间的转换关系,确定所述虚拟对象在所述每个ar设备的屏幕坐标系下的特效数据;

基于所述虚拟对象在所述每个ar设备的屏幕坐标系下的特效数据,更新所述每个ar设备所展示的所述ar画面中所述虚拟对象的展示状态。

本公开实施例中,由于多个ar设备的位姿信息不同,不同ar设备所展示的同一虚拟对象的展示状态不同,因此,通过上述步骤对该虚拟世界坐标系下的特效数据进行相应的转换,可以提高虚拟对象展示状态的契合度,进而提高展示效果。

根据第一方面,在一种可能的实施方式中,所述识别多个位于目标ar场景下的ar设备,包括:

基于所述多个ar设备分别拍摄的现实场景图像,以及预先构建的三维虚拟场景地图,识别多个位于目标ar场景下的ar设备。

本公开实施例中,基于所述多个ar设备分别拍摄的现实场景图像,以及预先构建的三维虚拟场景地图,识别多个位于目标ar场景下的ar设备,可以保证多个目标ar设备位于同一目标ar场景下,提高了交互的互动性。

根据第一方面,在一种可能的实施方式中,所述基于所述多个ar设备分别拍摄的现实场景图像,以及预先构建的三维虚拟场景地图,识别多个位于目标ar场景下的ar设备,包括:

获取所述多个ar设备分别拍摄的现实场景图像;

提取所述现实场景图像包含的特征点,以及提取所述预先构建三维虚拟场景地图时的每张现实场景样本图像的特征点;

在所述现实场景图像对应的特征点与所述每张现实场景样本图像对应的特征点的相似度大于预设阈值的情况下,确定当前ar设备为目标场景下的ar设备。

本公开实施例中,通过将现实场景图像包含的特征点,以及提取所述预先构建三维虚拟场景地图时的每张现实场景样本图像的特征点进行对比,来确定目标ar设备,提高了目标ar设备的定位精度。

第二方面,本公开实施例提供了一种ar交互装置,包括:

设备识别模块,用于识别多个位于目标ar场景下的ar设备,多个所述ar设备分别展示包含所述目标ar场景中虚拟对象的ar画面;

特效更新模块,用于响应于多个所述ar设备中至少一个目标ar设备对所述虚拟对象的触发操作,更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态,所述展示状态与所述触发操作相匹配。

根据第二方面,在一种可能的实施方式中,特效展示模块具体用于:

响应于多个所述ar设备中多个目标ar设备对所述多个虚拟对象中的同一虚拟对象的触发操作;或者,

响应于多个所述ar设备中多个目标ar设备对所述多个虚拟对象中的不同虚拟对象的触发操作。

根据第二方面,在一种可能的实施方式中,特效展示模块具体用于:

基于所述至少一个目标ar设备对所述虚拟对象的触发操作信息,确定与所述触发操作信息对应的所述虚拟对象在虚拟世界坐标系下的特效数据;

基于所述多个ar设备分别对应的位姿信息,以及所述虚拟对象在所述虚拟世界坐标系下的特效数据,更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态。

根据第二方面,在一种可能的实施方式中,特效展示模块具体用于:

将所述至少一个目标ar设备的屏幕上的触发操作位置,转换为在所述虚拟世界坐标系下的虚拟世界坐标位置;

基于所述虚拟世界坐标位置,以及所述虚拟对象在所述虚拟世界坐标系下的坐标位置,确定所述目标ar场景中被触发的虚拟对象;

确定所述被触发的虚拟对象在所述虚拟世界坐标系下的特效数据。

根据第二方面,在一种可能的实施方式中,特效展示模块具体用于:

在所述虚拟世界坐标位置与所述目标ar场景中任一虚拟对象在所述虚拟世界坐标系下的坐标位置满足预设的关联关系的情况下,确定所述任一虚拟对象为所述被触发的虚拟对象。

根据第二方面,在一种可能的实施方式中,特效展示模块具体用于:

基于所述虚拟对象在所述虚拟世界坐标系下的特效数据,以及所述多个ar设备分别对应的位姿信息,确定所述虚拟对象分别在每个ar设备的设备坐标系下的特效数据;

基于所述每个ar设备的设备坐标系与对应的每个ar设备的屏幕坐标系之间的转换关系,确定所述虚拟对象在所述每个ar设备的屏幕坐标系下的特效数据;

基于所述虚拟对象在所述每个ar设备的屏幕坐标系下的特效数据,更新所述每个ar设备所展示的所述ar画面中所述虚拟对象的展示状态。

根据第二方面,在一种可能的实施方式中,设备识别模块具体用于:

基于所述多个ar设备分别拍摄的现实场景图像,以及预先构建的三维虚拟场景地图,识别多个位于目标ar场景下的ar设备。

根据第二方面,在一种可能的实施方式中,设备识别模块具体用于:

获取所述多个ar设备分别拍摄的现实场景图像;

提取所述现实场景图像包含的特征点,以及提取所述预先构建三维虚拟场景地图时的每张现实场景样本图像的特征点;

在所述现实场景图像对应的特征点与所述每张现实场景样本图像对应的特征点的相似度大于预设阈值的情况下,确定当前ar设备为目标场景下的ar设备。

第三方面,本公开实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面所述的ar交互方法的步骤。

第四方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面所述的ar交互方法的步骤。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种ar交互方法的流程图;

图2示出了本公开实施例所提供的一种虚拟对象的示意图;

图3示出了本公开实施例所提供的一种基于触发操作更新多个ar设备分别展示的虚拟对象的展示状态的方法流程图;

图4示出了本公开实施例所提供的一种确虚拟对象在所述虚拟世界坐标系下的特效数据的方法流程图;

图5示出了本公开实施例所提供的一种基于虚拟世界坐标系下的特效数据更新多个ar设备分别展示的虚拟对象的展示状态的方法流程图;

图6a-图6c分别示出了本公开实施例所提供的一种在不同的ar设备中所展示的同一虚拟对象的示意图。

图7示出了本公开实施例所提供的一种生成三维虚拟场景地图的方法流程图;

图8示出了本公开实施例所提供的一种识别多个位于目标ar场景下的ar设备的方法流程图;

图9示出了本公开实施例所提供的一种ar交互装置的结构示意图;

图10示出了本公开实施例所提供的一种电子设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。

增强现实(augmentedreality,ar)技术是一种将虚拟信息与真实世界巧妙融合的技术,该技术可以将虚拟信息与真实环境实时地叠加到一个画面。目前,ar技术已经被广泛的应用于各个领域,比如,可以将ar技术应用于游戏互动上,以丰富用户不同的游戏体验。

经研究发现,目前的ar游戏通常是单人在同一场景下的互动,例如,单人基于对ar设备的操作实现游戏的互动,该方式虽然给用户带来了不同的用户体验,但缺少团队作战的趣味性。因此,如何提升用户的交互体验,为本公开要解决的技术问题。

基于上述研究,本公开提供了一种ar交互方法,可以识别多个位于目标ar场景下的ar设备,多个所述ar设备分别展示包含所述目标ar场景中虚拟对象的ar画面;然后响应于多个所述ar设备中至少一个目标ar设备对所述虚拟对象的触发操作,更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态。如此,实现了多人在同一场景下的游戏互动,增加了交互的趣味性,提升了用户的交互体验。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种ar交互方法进行详细介绍,本公开实施例所提供的ar交互方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为移动设备、用户终端、终端、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该ar交互方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

参见图1所示,为本公开实施例提供的ar交互方法的流程图,该ar交互方法包括以下s101~s102:

s101,识别多个位于目标ar场景下的ar设备,多个所述ar设备分别展示包含所述目标ar场景中虚拟对象的ar画面。

示例性地,目标ar场景可以是预先设定的任一场景,比如可以是某一房间、某一体育场馆、某一街道等,在此不做限定。

示例性地,可以基于所述多个ar设备分别拍摄的现实场景图像,以及预先构建的三维虚拟场景地图,识别多个位于目标ar场景下的ar设备。

示例性地,可以通过预先拍摄目标ar场景的现实场景得到的视频或者图像数据,生成表征目标ar场景的现实场景的三维虚拟场景地图,具体生成方式详见后文,该三维虚拟场景地图基于现实场景对应的视频数据生成,可以构建与现实场景在相同坐标系下完全重合的三维虚拟场景地图,因此可以将该三维虚拟场景地图作为现实场景的高精度地图使用。

其中,ar设备具体可以包括智能手机、平板电脑和ar眼镜等,也即,该ar设备可以是前述具有一定计算能力的计算机设备中的终端设备。ar设备可以内置图像采集部件也可以外接图像采集部件,在ar设备进入工作状态后,可以通过图像采集部件实时拍摄现实场景图像。

示例性地,该ar画面中可包括多个虚拟对象,也可以只包括一个虚拟对象,在此不做限定。虚拟对象具体指由计算机模拟产生的虚拟信息,可以为虚拟三维物体,比如虚拟动物、虚拟植物、虚拟其他物体等,或者虚拟平面物体,比如虚拟的指示箭头、虚拟文字和虚拟画面等。

s102,响应于多个所述ar设备中至少一个目标ar设备对所述虚拟对象的触发操作,更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态,所述展示状态与所述触发操作相匹配。

示例性地,在所述目标ar场景下存在多个虚拟对象的情况下,如图2所示,包括虚拟对象a和虚拟对象b的情况下,可以响应于多个ar设备中多个目标ar设备对所述多个虚拟对象中的同一虚拟对象(虚拟对象a或者虚拟对象b)的触发操作;也可以是,响应于多个ar设备中多个目标ar设备对所述多个虚拟对象中的不同虚拟对象(如虚拟对象a和虚拟对象b)的触发操作。

例如,在一种游戏场景下,该目标ar场景下的多个ar设备可以进行分组作战,其中多个ar设备中的一部分目标ar设备用于对虚拟对象a进行操作,而另一部分目标ar设备用于对虚拟对象b进行操作,以实现虚拟对象a和虚拟对象b对打的局面,此时,也即响应于多个ar设备中多个目标ar设备对所述多个虚拟对象中的不同虚拟对象的触发操作。

又例如,在另一种游戏场景下,该目标ar场景下的多个ar设备可以进行共同作战,所有的ar设备均对虚拟对象a进行操作,以控制虚拟对象a攻击虚拟对象b,此时,也即响应于多个ar设备中多个目标ar设备对所述多个虚拟对象中的同一虚拟对象的触发操作。

本公开实施例中,可以识别多个位于目标ar场景下的ar设备,多个所述ar设备分别展示包含所述目标ar场景中虚拟对象的ar画面;然后响应于多个所述ar设备中至少一个目标ar设备对所述虚拟对象的触发操作,更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态,如此,实现了目标ar场景下的多人交互,提升了用户的交互体验。

下面将结合具体实施例对上述s102进行详细介绍。

针对上述s102,在更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态时,如图3所示,可以包括以下s1021~1022:

s1021,基于所述至少一个目标ar设备对所述虚拟对象的触发操作信息,确定与所述触发操作信息对应的所述虚拟对象在虚拟世界坐标系下的特效数据。

示例性地,虽然触发操作是不同的目标ar设备所接收到的,但都是针对虚拟对象的触发操作,因此,需要结合不同的目标ar设备对所述虚拟对象的触发操作信息,来确定虚拟对象在虚拟世界坐标系下的特效数据。

例如,再次参见图2所示,在其中一个目标ar设备接收到了针对虚拟对象a的触发操作时,若另一个目标ar设备也接收到了针对虚拟对象a的触发操作,此时,则需要将该两个目标ar设备所接收到的触发操作结合,来确定虚拟对象a在虚拟世界坐标系下的特效数据。

s1022,基于所述多个ar设备分别对应的位姿信息,以及所述虚拟对象在所述虚拟世界坐标系下的特效数据,更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态。

示例性地,由于多个ar设备在世界坐标系下的位姿信息不同,使得每个ar设备所展示的ar画面中虚拟对象的展示状态并不相同,因此,需要结合每个ar设备所对应的位姿信息,展示相应的ar画面以及相应的虚拟对象的展示状态,如此,可以提高每个ar设备所展示的虚拟对象与现实场景结合的真实性,提升了虚拟对象的展示效果。

示例性地,三维虚拟场景地图是基于该目标ar场景的现实场景的视频数据构成的,现实场景图像为该现实场景的图像,因此可以基于该现实场景图像和三维虚拟场景地图,来确定图像采集部件的当前位姿数据,因为图像采集部件位于ar设备上,且ar设备的屏幕展示的现实场景图像是由图像采集部件采集到的,因此可以将图像采集部件的当前位姿数据作为ar设备在现实场所中的位姿数据。

示例性地,ar设备的位姿数据包括ar设备在现实场所对应的世界坐标系下的当前位置坐标和当前姿态数据,其中当前姿态数据可以包括该ar设备的当前朝向,ar设备的当前朝向可以通过ar设备中的图像采集部件的光轴与世界坐标系中的x轴、y轴和z轴的当前夹角来表示。

针对上述s1021,在基于所述至少一个目标ar设备对所述虚拟对象的触发操作信息,确定与所述触发操作信息对应的所述虚拟对象在虚拟世界坐标系下的特效数据时,如图4所示,可以包括以下s10211~10213:

s1021,将所述至少一个目标ar设备的屏幕上的触发操作位置,转换为在所述虚拟世界坐标系下的虚拟世界坐标位置。

示例性地,可以基于在所述ar设备屏幕上的触发操作位置,以及屏幕坐标系与实时定位与地图构建slam坐标系之间的转换关系,确定与所述触发操作位置对应的slam坐标位置;然后基于所述slam坐标位置,以及所述slam坐标系与所述虚拟世界坐标系之间的转换关系,确定slam坐标位置在所述虚拟世界坐标系下的虚拟世界坐标位置。

其中,slam是指设备在未知环境中从一个未知位置(初始定位位置)开始移动,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现设备的自主定位和导航。

可以理解,ar设备在slam坐标系中的位置,为ar设备上某一参考点(比如摄像头所在的位置)在slam坐标系中的位置,而屏幕相对于该参考点的相对坐标是固定的,也即,屏幕坐标系与slam坐标系之间存在一个固定的转换关系,因此,基于屏幕坐标系中某一点的坐标以及该点相对于参考点的相对坐标,可确定与屏幕坐标位置对应的slam坐标位置。

示例性地,ar设备将该初始定位位姿中的位置作为该slam地图的坐标原点,并以该坐标原点为基础建立slam坐标系,在ar设备移动过程中可以确定ar设备在该slam坐标系中的位姿,再结合该坐标原点在三维虚拟场景地图中的位姿,可确定ar设备在三维虚拟场景地图中的实时定位位姿。

s1022,基于所述虚拟世界坐标位置,以及所述虚拟对象在所述虚拟世界坐标系下的坐标位置,确定所述目标ar场景中被触发的虚拟对象。

示例性地,在所述虚拟世界坐标位置与所述目标ar场景中任一虚拟对象在所述虚拟世界坐标系下的坐标位置满足预设的关联关系的情况下,确定所述任一虚拟对象为所述被触发的虚拟对象。

示例性地,请再次参阅图2,将至少一个目标ar设备的屏幕上的触发操作位置转换到虚拟世界坐标系下,得到虚拟世界坐标位置c,虚拟世界坐标位置c位于同在虚拟世界坐标系下的虚拟对象a和虚拟对象b之间,此时,则需要根据预设的关联关系确定该虚拟世界坐标位置c是对应虚拟对象a的操作还是虚拟对象b的操作。

示例性地,在存在多个虚拟对象的情况下,可以根据具体的虚拟对象之间的关系分别确定虚拟世界坐标位置与每个虚拟对象之间的关系,比如,将距离虚拟世界坐标位置c最近的虚拟对象,作为被触发的虚拟对象。又例如,在虚拟世界坐标位置c与虚拟对象a之间的距离小于预设阈值时,确定虚拟世界坐标位置c与虚拟对象a满足预设的关联关系。

s1023,确定所述被触发的虚拟对象在所述虚拟世界坐标系下的特效数据。

示例性地,可以根据世界坐标位置,以及世界坐标位置与特效数据之间的对应关系表,确定所述被触发的虚拟对象在所述虚拟世界坐标系下的特效数据。例如,可以预先建立不同世界坐标位置与对应的特效数据之间的关系表,比如,若该世界坐标位置位于该触发的虚拟对象的左侧,则对应的特效数据可以是控制该虚拟对象向左蹦跳。

需要理解的是,不同的应用场景下的世界坐标位置和特效数据的对关系也不同,具体可以根据实际需求而设定,在此不做限定。

本公开实施例中,将所述至少一个目标ar设备的屏幕上的触发操作位置,转换为在所述虚拟世界坐标系下的虚拟世界坐标位置,再基于所述虚拟世界坐标位置,以及所述虚拟对象在所述虚拟世界坐标系下的坐标位置,确定所述目标ar场景中被触发的虚拟对象,可以将作用在ar设备屏幕上的操作与现实场景相结合,提升交互的真实性。

针对上述s1022,在基于所述多个ar设备分别对应的位姿信息,以及所述虚拟对象在所述虚拟世界坐标系下的特效数据,更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态时,如图5所示,可以包括以下s10221~10223:

s10221,基于所述虚拟对象在所述虚拟世界坐标系下的特效数据,以及所述多个ar设备分别对应的位姿信息,确定所述虚拟对象分别在每个ar设备的设备坐标系下的特效数据。

s10222,基于所述每个ar设备的设备坐标系与对应的每个ar设备的屏幕坐标系之间的转换关系,确定所述虚拟对象在所述每个ar设备的屏幕坐标系下的特效数据。

s10223,基于所述虚拟对象在所述每个ar设备的屏幕坐标系下的特效数据,更新所述每个ar设备所展示的所述ar画面中所述虚拟对象的展示状态。

参见图6a-图6c所示,为同一虚拟对象分别在不同ar设备(比如e设备、f设备、g设备)中的展示状态,从图6a-图6c中可以看出,由于多个ar设备的位姿信息不同,不同ar设备所展示的同一虚拟对象的展示状态不同,因此,对于同一虚拟对象的特效数据在不同ar设备中的展示状态也不同,因此,为了提高展示效果,需要通过上述步骤对该虚拟世界坐标系下的特效数据进行相应的转换。

针对上述多次提到的三维虚拟场景地图,如图7所示,具体可以按照以下方式预先构建,包括s601~s603:

s601,获取多张现实场景样本图像。

示例性地,可以预先通过ar设备对该目标ar场景(比如客厅)的现实场景,进行多角度拍摄,得到该现实场景对应的大量现实场景样本图像。

s602,基于多张现实场景样本图像,构建表征现实场景的初始三维场景虚拟模型。

针对s602,在基于多张现实场景样本图像,生成现实场景对应的初始三维场景虚拟模型时,可以包括:

(1)从获取的每张现实场景样本图像中提取多个特征点;

(2)基于提取的多个特征点,以及预存的与现实场景匹配的三维样本图,生成初始三维场景虚拟模型;其中,三维样本图为预存储的表征现实场景形貌特征的三维图。

具体地,针对每张现实场景样本图像提取的特征点可以为能够表征该张现实场景样本图像关键信息的点,比如针对包含目标物(比如桌子)的现实场景样本图像,这里的特征点可以表示该目标物轮廓信息的特征点。

示例性地,这里预存的与现实场景的三维样本图可以包括提前设置好的能够表征该现实场景形貌特征、且带有尺寸标注的三维图,比如可以是表征该现实场景形貌特征的计算机辅助设计(computeraideddesign,cad)三维图。

针对该现实场景,当提取的特征点足够多时,特征点构成的特征点云,可以构成表征该现实场景的三维模型,这里的特征点云中的特征点是没有单位的,特征点云构成的三维模型也是没有单位的,然后将该特征点云与带有尺度标注的且能够表征该现实场景形貌特征的三维图对齐后,即得到该现实场景对应的初始三维场景虚拟模型。

s603,将构建的初始三维场景虚拟模型上的标定特征点与现实场景对应的标定特征点进行对齐,生成三维虚拟场景地图。

生成的初始三维模型可能会存在失真现象,然后可以通过现实场景对应的二维地图对其进行调整,可以得到准确度较高的三维场景虚拟模型。

针对s603,在将构建的初始三维场景模型上的标定特征点与现实场景对应的标定特征点进行对齐,生成三维虚拟场景地图时,包括:

(1)在现实场景对应的初始三维场景模型中提取用于表征现实场景多个空间位置点的标定特征点;

(2)确定标定特征点在现实场景对应的真实二维地图中的真实坐标数据,并基于每个标定特征点对应的真实坐标数据,调整初始三维场景模型中各个特征点的坐标数据。

示例性地,可以选择一些表征目标物边缘、角落的空间位置点的特征点作为这里的标定特征点,然后基于标定特征点对应的真实坐标数据以及该标定特征点在初始三维场景虚拟模型中的坐标数据,确定坐标数据调整量,然后基于该坐标数据调整量对初始三维模型中各个特征点的坐标数据进行修正,即可以得到准确度较高的三维场景虚拟模型。

针对上述s101,在基于所述多个ar设备分别拍摄的现实场景图像,以及预先构建的三维虚拟场景地图,识别多个位于目标ar场景下的ar设备时,如图8所示,可以包括以下s1011~s1013:

s1011,获取所述多个ar设备分别拍摄的现实场景图像。

s1012,提取所述现实场景图像包含的特征点,以及提取所述预先构建三维虚拟场景地图时的每张现实场景样本图像的特征点。

s1013,在所述现实场景图像对应的特征点与所述每张现实场景样本图像对应的特征点的相似度大于预设阈值的情况下,确定当前ar设备为目标场景下的ar设备。

本公开实施例中,在获取到ar设备拍摄的现实场景图像后,提取所述现实场景图像包含的特征点,以及提取所述预先构建三维虚拟场景地图时的每张现实场景样本图像的特征点,然后通过将现实场景图像对应的特征点与所述每张现实场景样本图像对应的特征点进行比对,来确定当前ar设备是否为目标ar设备,如此可以提高目标ar设备的定位精度。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一技术构思,本公开实施例中还提供了与增强现实ar交互方法对应的增强现实ar交互装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述增强现实ar交互方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参照图9所示,为本公开实施例提供的一种ar交互装置500的示意图,该增强现实ar交互装置包括:

设备识别模块501,用于识别多个位于目标ar场景下的ar设备,多个所述ar设备分别展示包含所述目标ar场景中虚拟对象的ar画面;

特效更新模块502,用于响应于多个所述ar设备中至少一个目标ar设备对所述虚拟对象的触发操作,更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态,所述展示状态与所述触发操作相匹配。

在一种可能的实施方式中,特效展示模块502具体用于:

响应于多个所述ar设备中多个目标ar设备对所述多个虚拟对象中的同一虚拟对象的触发操作;或者,

响应于多个所述ar设备中多个目标ar设备对所述多个虚拟对象中的不同虚拟对象的触发操作。

在一种可能的实施方式中,特效展示模块502具体用于:

基于所述至少一个目标ar设备对所述虚拟对象的触发操作信息,确定与所述触发操作信息对应的所述虚拟对象在虚拟世界坐标系下的特效数据;

基于所述多个ar设备分别对应的位姿信息,以及所述虚拟对象在所述虚拟世界坐标系下的特效数据,更新所述多个ar设备分别展示的所述ar画面中所述虚拟对象的展示状态。

在一种可能的实施方式中,特效展示模块502具体用于:

将所述至少一个目标ar设备的屏幕上的触发操作位置,转换为在所述虚拟世界坐标系下的虚拟世界坐标位置;

基于所述虚拟世界坐标位置,以及所述虚拟对象在所述虚拟世界坐标系下的坐标位置,确定所述目标ar场景中被触发的虚拟对象;

确定所述被触发的虚拟对象在所述虚拟世界坐标系下的特效数据。

在一种可能的实施方式中,特效展示模块502具体用于:

在所述虚拟世界坐标位置与所述目标ar场景中任一虚拟对象在所述虚拟世界坐标系下的坐标位置满足预设的关联关系的情况下,确定所述任一虚拟对象为所述被触发的虚拟对象。

在一种可能的实施方式中,特效展示模块502具体用于:

基于所述虚拟对象在所述虚拟世界坐标系下的特效数据,以及所述多个ar设备分别对应的位姿信息,确定所述虚拟对象分别在每个ar设备的设备坐标系下的特效数据;

基于所述每个ar设备的设备坐标系与对应的每个ar设备的屏幕坐标系之间的转换关系,确定所述虚拟对象在所述每个ar设备的屏幕坐标系下的特效数据;

基于所述虚拟对象在所述每个ar设备的屏幕坐标系下的特效数据,更新所述每个ar设备所展示的所述ar画面中所述虚拟对象的展示状态。

在一种可能的实施方式中,设备识别模块501具体用于:

基于所述多个ar设备分别拍摄的现实场景图像,以及预先构建的三维虚拟场景地图,识别多个位于目标ar场景下的ar设备。

在一种可能的实施方式中,设备识别模块501具体用于:

获取所述多个ar设备分别拍摄的现实场景图像;

提取所述现实场景图像包含的特征点,以及提取所述预先构建三维虚拟场景地图时的每张现实场景样本图像的特征点;

在所述现实场景图像对应的特征点与所述每张现实场景样本图像对应的特征点的相似度大于预设阈值的情况下,确定当前ar设备为目标场景下的ar设备。

关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

基于同一技术构思,本公开实施例还提供了一种电子设备。参照图10所示,为本公开实施例提供的电子设备700的结构示意图,包括处理器701、存储器702、和总线703。其中,存储器702用于存储执行指令,包括内存7021和外部存储器7022;这里的内存7021也称内存储器,用于暂时存放处理器701中的运算数据,以及与硬盘等外部存储器7022交换的数据,处理器701通过内存7021与外部存储器7022进行数据交换。

本申请实施例中,存储器702具体用于存储执行本申请方案的应用程序代码,并由处理器701来控制执行。也即,当电子设备700运行时,处理器701与存储器702之间通过总线703通信,使得处理器701执行存储器702中存储的应用程序代码,进而执行前述任一实施例中所述的方法。

其中,存储器702可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。

处理器701可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

可以理解的是,本申请实施例示意的结构并不构成对电子设备700的具体限定。在本申请另一些实施例中,电子设备700可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中的ar交互方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中的ar交互方法的步骤,具体可参见上述方法实施例,在此不再赘述。

其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(softwaredevelopmentkit,sdk)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1