增强现实展示处理方法、装置及电子设备与流程

文档序号:33506783发布日期:2023-03-18 02:27阅读:78来源:国知局
增强现实展示处理方法、装置及电子设备与流程

1.本技术涉及增强现实技术领域,特别是涉及增强现实展示处理方法、装置及电子设备。


背景技术:

2.ar(augmented reality,增强现实)是一种将真实世界信息和虚拟世界信息相结合的技术,这种技术的目标是在屏幕上把虚拟世界中的信息映射到现实世界中并以此进行互动。ar技术在很多场景中都得到了有效的应用,例如,在商品信息服务系统中,可以为商品生产3d模型,用户在浏览商品详情内容的过程中,可以通过ar展示入口,如果用户通过该入口发起对商品的展示,则可以将商品的3d模型投射到现实世界图像中的某个平面(如地面、墙面、桌面等)上进行展示,让用户获得将该商品实物放置到了其所在的现实世界空间中的视觉体验,从而便于帮助用户进行购买决策。
3.在实现上述ar展示的过程中,通常需要依赖于终端设备侧从现实世界图像中进行平面检测的能力。但是,在实际应用中,不同的设备型号间平面检测的能力相差巨大,型号越旧的设备检测平面能力越弱,尤其是一些单摄像头的设备,其检测能力可能会更弱。另外,即使是一些双摄像头或者三摄像头的设备,在检测和构建平面时所需要花费的时间可能也会比较长,且很容易丢失,对于一些实时交互等场景而言,可能会出现响应延迟等情况。另外,可能仅能检测到很小的一块平面,使得商品只能在该检测到的一小块平面范围内进行放置,等等。以上这些情况的存在会影响ar展示的效果,也影响用户的使用体验。另外,设备能力的参差不齐,也会对ar应用的开发造成巨大的适配成本,开发者不得不抛弃部分表现不好的机型,这样也会损失了一部分的用户。


技术实现要素:

4.本技术提供了增强现实展示处理方法、装置及电子设备,能够提升用户体验的同时,降低对终端设备的平面检测能力的依赖,降低ar应用开发过程中在不同终端设备之间进行适配的成本。
5.本技术提供了如下方案:
6.一种增强现实展示处理方法,包括:
7.在通过增强现实ar方式将虚拟物体投射到现实世界图像流中的目标平面进行展示的过程中,如果当前时刻的目标投射位置超出终端设备的检测平面边缘,则确定当前时刻的投射射线与所述检测平面的延伸平面的交点位置;
8.将所述交点位置确定为目标投射位置,并将所述虚拟物体投射到所述目标投射位置处进行展示。
9.其中,还包括:
10.确定出所述当前时刻的投射射线的起点及方向信息后,判断所述当前时刻的投射射线与所述终端设备当前时刻的检测平面之间是否存在交点,如果不存在所述交点,则确
定当前时刻的所述目标投射位置超出所述终端设备的检测平面边缘。
11.其中,所述确定所述投射射线与所述检测平面的延伸平面的交点位置,包括:
12.获取当前ar展示过程中的历史投射位置的信息;
13.根据所述检测平面的法向量方向及所述历史投射位置,以及当前时刻的投射射线的起点及方向信息,确定所述投射射线与所述检测平面的延伸平面的交点位置。
14.其中,所述确定所述投射射线与所述检测平面的延伸平面的交点位置,包括:
15.设所述当前时刻的投射射线与所述检测平面的延伸平面之间的交点为p,所述当前时刻的投射射线的起点与该交点p之间的距离为d;
16.根据所述检测平面的法向量方向、所述历史投射位置以及所述当前时刻的投射射线的起点及方向信息,确定所述当前时刻的投射射线的起点与所述交点p之间的距离d;
17.根据所述当前时刻的投射射线的起点、方向信息以及所述距离d,计算出所述交点p的位置,并将该交点p的位置确定为所述目标投射位置。
18.其中,所述确定所述投射射线与所述检测平面的延伸平面的交点位置,包括:
19.将所述检测平面向多个方向进行扩展延伸,以构建出面积大于所述检测平面的虚拟平面;
20.计算所述投射射线与所述虚拟平面之间的交点位置,并以此作为所述投射射线与所述检测平面的延伸平面的交点位置。
21.其中,所述当前时刻的投射射线的起点及方向信息通过以下方式确定:
22.在通过移动所述终端设备进行交互的状态下,以所述终端设备的屏幕中心点作为所述投射射线的起点,并根据当前时刻所述终端设备的位姿信息确定所述投射射线的方向。
23.其中,所述当前时刻的投射射线的起点及方向信息通过以下方式确定:
24.在通过在所述终端设备的屏幕上执行拖动所述虚拟物体的操作进行交互的状态下,以所述屏幕上当前时刻的触摸点作为所述投射射线的起点,并根据当前时刻所述终端设备的位姿信息确定所述投射射线的方向。
25.其中,所述虚拟物体包括:目标商品对象的3d模型。
26.一种增强现实展示处理方法,包括:
27.在通过增强现实ar方式将虚拟物体投射到现实世界图像流中的目标平面进行展示的过程中,如果当前时刻终端设备未检测到平面,则确定所述终端设备在历史时刻检测到的历史检测平面;
28.确定当前时刻的投射射线与所述历史检测平面的延伸平面的交点位置;
29.将所述交点位置确定为目标投射位置,并将所述虚拟物体投射到所述目标投射位置处进行展示。
30.其中,所述确定当前时刻的投射射线与所述历史检测平面的延伸平面的交点位置,包括:
31.获取当前ar展示过程中的历史投射位置的信息;
32.根据所述历史检测平面的法向量方向及所述历史投射位置,以及当前时刻的投射射线的起点及方向信息,确定所述投射射线与所述历史检测平面的延伸平面的交点位置。
33.一种增强现实展示处理装置,包括:
34.交点位置确定单元,用于在通过增强现实ar方式将虚拟物体投射到现实世界图像流中的目标平面进行展示的过程中,如果当前时刻的目标投射位置超出终端设备的检测平面边缘,则确定当前时刻的投射射线与所述检测平面的延伸平面的交点位置;
35.展示单元,用于将所述交点位置确定为目标投射位置,并将所述虚拟物体投射到所述目标投射位置处进行展示。
36.一种增强现实展示处理装置法,包括:
37.历史检测平面确定单元,用于在通过增强现实ar方式将虚拟物体投射到现实世界图像流中的目标平面进行展示的过程中,如果当前时刻终端设备未检测到平面,则确定所述终端设备在历史时刻检测到的历史检测平面;
38.交点位置确定单元,用于确定当前时刻的投射射线与所述历史检测平面的延伸平面的交点位置;
39.展示单元,用于将所述交点位置确定为目标投射位置,并将所述虚拟物体投射到所述目标投射位置处进行展示。
40.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一项所述的方法的步骤。
41.一种电子设备,包括:
42.一个或多个处理器;以及
43.与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述任一项所述的方法的步骤。
44.根据本技术提供的具体实施例,本技术公开了以下技术效果:
45.通过本技术实施例,在通过增强现实ar方式将虚拟物体投射到现实世界图像流中的目标平面进行展示的过程中,如果当前时刻的目标投射位置超出终端设备的检测平面边缘,则可以确定当前时刻的投射射线与所述检测平面的延伸平面的交点位置,进而,可以将所述投射射线与所述检测平面的延伸平面的交点位置确定为目标投射位置,并将所述虚拟物体投射到所述目标投射位置处进行展示。通过这种方式,即使在终端设备的检测平面比较小时,也可以将虚拟物体放置到该检测平面的延伸平面上进行展示,因此,可以在提升用户体验的同时,降低对终端设备的平面检测能力的依赖,进而,也可以降低ar应用开发过程中在不同终端设备之间进行适配的成本。
46.其中,在优选的实施方式下,具体在确定当前时刻的投射射线与所述检测平面的延伸平面的交点位置时,可以获取当前ar展示过程中的历史投射位置的信息,然后,可以根据检测平面的法向量方向及所述历史投射位置,以及当前时刻的投射射线的起点及方向信息,确定所述投射射线与所述检测平面的延伸平面的交点位置。例如,首先可以求解出所述当前时刻的投射射线的起点与交点p(也即,假设的投射射线与所述检测平面的延伸平面的交点位置)之间的距离d,然后,根据所述当前时刻的投射射线的起点、方向信息以及所述距离d,计算出所述交点p的位置。通过这种方式,不需要实际构建并表达出对检测平面进行延伸扩展后的虚拟平面,即可计算出交点p的位置,因此更高效,更节省客户端的计算资源。同时由于不需要考虑构造出的虚拟平面的面积是否足够大的问题,也不存在由于构造出的虚拟平面仍然不够大,导致仍然无法找到当前时刻的投射射线与该虚拟平面之间的交点的问题,因此更灵活。
47.当然,实施本技术的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
48.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
49.图1是本技术实施例提供的方案原理示意图;
50.图2是本技术实施例提供的系统架构的示意图;
51.图3是本技术实施例提供的第一方法的流程图;
52.图4是本技术实施例提供的第二方法的流程图;
53.图5是本技术实施例提供的第一装置的示意图;
54.图6是本技术实施例提供的第二装置的示意图;
55.图7是本技术实施例提供的电子设备的示意图。
具体实施方式
56.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本技术保护的范围。
57.首先,为了便于理解本技术实施例提供的方案,下面对通过ar方式将虚拟物体放置在现实世界图像流中某个平面上进行展示的实现原理进行简单介绍。
58.在通过ar方式将虚拟物体放置在现实世界图像流中某个平面上进行展示时,可以实时确定投射射线,并寻找该投射射线与检测平面之间的交点,然后,将虚拟物体放置到该交点所在的位置处进行展示。其中,投射射线是由起点+方向来进行确定,关于投射射线的起点,与用户当前的交互方式有关,例如,用户是在通过移动具体的终端设备的方式进行交互,则可以将终端设备的屏幕中心点作为射线的起点,并根据终端设备的位姿(包括位置、姿态)、摄像头设备的拍摄方向等,确定出射线的方向。或者,在ar交互过程中,用户还可能通过在终端设备屏幕上对虚拟物体执行拖动操作的方式进行交互,此时,也可以将用户在屏幕上的实时触摸点,确定射线的起点,同样可以根据终端设备的位姿、摄像头设备的拍摄方向等,确定射线的方向。在确定出射线的起点以及方向之后,就可以形成一条投射射线,当然,该投射射线并不是真实存在的,而是为了计算具体的虚拟物体在现实世界中的投射位置而虚拟出的射线。
59.由于在ar展示过程中,用户执行的交互操作可能在不断进行,因此,上述确定投射射线的过程也可以是随着交互操作的执行而实时进行的。其中,每次确定出一条投射射线,都可以计算该投射射线与终端设备检测到的平面之间的交点,该交点位置就可以作为当前时刻的目标投射位置,也即将虚拟物体展示到该交点位置处。
60.另一方面,终端设备检测平面的任务也是在实时不断进行的,在理想状态下,如果在确定出一条投射射线时,终端设备也及时检测到了的足够大的平面(为便于描述,可以简
称为检测平面),则可以计算出该投射射线与该检测平面之间的交点。例如,如图1所示,假设11处所示为终端设备在a时刻所在的位置,12处所示为该a时刻确定出的投射射线;同时,假设21所示的实线框所在的区域为该a时刻终端设备检测出的平面,则可以计算出该投射射线12与该检测平面21之间的交点p0,相应的,该p0点所在的位置就可以作为虚拟物体的目标投射位置。之后,在b时刻,终端设备移动到了13所示的位置处,相应的,14所示为该b时刻确定出的投射射线,但此时,如果终端设备检测到的平面仍然如21所示,则会发现该射线14与平面21之间无交点。此时,证明目标投射位置超出了终端设备检测到的平面边缘。或者,另一种情况下,在终端设备移动到13处时,终端设备可能出现了平面丢失的情况,此时,由于不存在检测平面,自然也无法直接确定出该射线14与检测平面之间的交点。
61.可见,当出现上述目标投射位置超出了终端设备检测到的平面边缘,或者平面丢失等情况时,虚拟物体处于无平面可放置的状态。此时,在现有技术中,通常只能保留虚拟物体的原始大小以及与终端设备屏幕的距离,但视觉上可能会产生一种虚拟物体“升高”的感觉,也即,虚拟物体悬浮在平面上方,这势必会影响ar放置的体验。
62.针对上述情况,在本技术实施例中,为了能够提升用户体验,降低ar应用开发过程中的适配成本,提供了相应的解决方案。在该方案中,可以在终端设备的平面检测能力基础上,提供了对终端设备检测到的平面基础上进行扩展,以构建出虚拟平面的能力。这样,一旦终端设备从现实世界图像中检测到一个平面,无论检测到的平面的面积多大,都可以运算出当前时刻的投射射线与这个平面的无限延伸平面上的交点,且永远不会丢失。这样就脱离了对终端设备持续构建更新平面能力的依赖,即使出现检测平面丢失或者超出检测平面边缘的情况,也可以让ar放置获得更好的体验。另外,也可以降低ar应用开发过程中的适配成本。
63.从系统架构角度而言,参见图2,本技术实施例可以涉及到ar应用的客户端,其中,ar应用可以是用于提供ar展示相关的独立应用程序,或者也可以是内嵌于某主应用程序中的小程序、轻应用、功能模块,等等。例如,具体可以在商品信息服务系统的相关应用中,提供ar展示商品的功能,该功能就可以属于商品信息服务系统的应用程序中的功能模块,等等。具体的,可以通过在ar应用的客户端中提供平面扩展能力,以降低ar展示过程中对终端设备的平面检测能力的依赖。当然,具体实现时,该ar应用也可以包括服务端,主要用于提供虚拟物体信息,例如,包括商品的3d模型,等等。
64.下面对本技术实施例提供的具体实现方案进行详细介绍。
65.实施例一
66.首先,该实施例一从前述ar应用客户端的角度,提供了一种增强现实展示处理方法,参见图3,包括:
67.s301:在通过增强现实ar方式将虚拟物体投射到现实世界图像流中的目标平面进行展示的过程中,如果当前时刻的目标投射位置超出终端设备的检测平面边缘,则确定当前时刻的投射射线与所述检测平面的延伸平面的交点位置。
68.其中,虚拟物体具体可以有多种形式,例如,在对商品信息进行ar展示的情况下,具体的虚拟物体可以是商品的3d(three dimensions,三维)模型。这里商品的3d模型可以是由商家提供,并发布到商品信息服务系统中,或者,还可以由商品信息服务系统为商家提供生成3d模型的服务,商家可以向商品信息服务系统提供商品的实物,或者对商品实物进
行360度拍摄的视频等,由商品信息服务系统创建生成具体的3d模型并进行发布,等等。或者,除了上述商品3d模型,还可以是其他场景下的虚拟物体,这里不再一一列举。
69.具体的,用户可以通过多种方式发起具体的ar展示过程中,例如,以商品的ar展示为例,具体可以为家具等类目的商品提供这种ar展示服务,并且,可以在商品详情页等页面中提供ar展示入口,用户可以通过这种入口触发对具体商品的ar展示。之后,客户端可以加载商品的3d模型,并启动终端设备的摄像头以采集现实世界图像,并调用终端设备的平面检测能力,以便从采集到的现实世界图像流中进行平面检测,进而可以将商品3d模型投射到检测平面上进行展示。
70.如前文所述,在上述投射过程中,需要首先确定投射射线,并寻找该投射射线与检测平面之间的交点,其中,本技术实施例中所述的目标投射位置,就是期望计算出的该投射射线与检测平面之间的交点。但是,如果终端设备检测到的平面比较小,就可能出现该目标投射位置超出检测平面的边缘的情况,此时,该投射射线与检测平面之间不存在交点。因此,在一种具体的实现方式下,可以首先确定出所述当前时刻的投射射线的起点及方向信息,然后,判断所述当前时刻的投射射线与终端设备当前时刻的检测平面之间是否存在交点,如果不存在,则可以确定当前时刻的目标投射位置超出终端设备当前时刻的检测平面边缘。
71.其中,具体在确定当前时刻的投射射线的起点及方向信息时,如前文所述,可以根据当前时刻具体的交互状态来进行确定。例如,在通过移动所述终端设备进行交互的状态下(例如,在通过ar方式将虚拟物体放置到现实世界图像流中某个平面上进行展示后,可以移动终端设备,以从其他角度查看当前虚拟物体),可以以所述终端设备的屏幕中心点作为当前时刻的投射射线的起点,并根据当前时刻所述终端设备的位姿信息确定所述投射射线的方向。
72.或者,在通过在所述终端设备的屏幕上执行拖动所述虚拟物体的操作进行交互的状态下(例如,在通过ar方式将虚拟物体放置到现实世界图像流中某个平面上进行展示后,可以在屏幕上执行拖动操作,以便将虚拟物体拖动到平面中的其他位置处进行展示,等等),则可以以所述屏幕上当前时刻的触摸点作为所述投射射线的起点,并同样可以根据当前时刻所述终端设备的位姿信息确定所述投射射线的方向。
73.这里需要说明的是,具体确定出的检测平面的位置信息,投射射线的起点、方向,目标投射位置等信息,都可以是以世界坐标系作为参考进行表达,也即,在同一坐标系下进行表达,使得不同时刻确定出的检测平面的位置、投射射线的起点、方向等之间是具有可比性的。
74.在确定出目标投射位置超出终端设备检测到的平面边缘的情况下,在本技术实施例中,并不是直接保留虚拟物体的原始大小以及与终端设备屏幕的距离,而是可以确定出投射射线与所述检测平面的延伸平面的交点位置。也就是说,虽然当前时刻的投射射线无法直接与当前的检测平面相交,但是,该投射射线与该检测平面的延伸平面之间是可以存在交点的,并且,该检测平面的延伸平面实际上也就是终端设备所未能检测到的部分,因此,可以在确定出投射射线与该检测平面的延伸平面之间是可以存在交点后,就可以将该交点确定为当前时刻的目标投射位置,从而仍然可以将虚拟物体投射到当前检测平面所在的延伸平面上。
75.其中,具体在确定所述投射射线与所述检测平面的延伸平面的交点位置时,可以有多种方式,例如,一种方式下,首先可以确定出当前ar展示过程中的历史投射位置,然后,可以根据检测平面的法向量方向及所述历史投射位置,以及当前时刻的投射射线的起点及方向信息,确定所述投射射线与所述检测平面的延伸平面的交点位置。
76.也就是说,虽然终端设备在不断地进行平面检测,但是,由于现实世界环境中的地面、桌面、墙面等通常都是比较大的面积,因此,在相邻或者相近时刻检测到的通常都是同一个平面。这样,虽然当前时刻的目标投射位置超出检测平面边缘,但是前一时刻,或者其他的某个历史时刻,是能够找到当时的投射射线与该检测平面(或者与该检测平面共面的其他检测平面)之间的交点的,也即,存在具体的历史投射位置。
77.例如,如图1所示的例子中,其中的p0点,就属于一个历史投射位置。而这种历史投射位置信息,可以参与到对当前的检测平面进行扩展的运算中,以便计算出p点的位置,因此,可以获取到这种历史投射位置的信息。也就是说,虽然b时刻无法找到射线14与检测平面的交点,但是,在a时刻的投射射线12与该检测平面是存在交点p0的,并且能够直接基于检测平面实现投射,因此,该交点p0位置作为历史投射位置,可以辅助计算出当前时刻应该在该检测平面的延伸平面上的目标投射位置,也即p点的位置。
78.之所以历史投射位置可以用于辅助计算当前时刻的目标投射位置,是因为,历史时刻的检测平面与当前时刻的检测平面可能是相同的,或者,不是完全相同,不完全相同的原因在于,具体的检测平面可以是根据终端设备的平面检测模块返回的坐标矩阵等进行构建得到的,平面检测模块每次返回的坐标矩阵可能不完全相同,相应的,每个时刻构建出的检测平面可能不尽相同。但是这种不同,通常是体现在平面的中心点位置、边界位置、面积等方面,但是,由于这些不同时刻的检测平面通常对应着现实世界中的同一个平面,因此,这些检测平面实际上是在同一个平面上,只是不同时刻可能是平面的不同区域被检测到,且被检测到的区域大小可能不同。而本技术实施例的目的,是计算出当前时刻的投射射线与当前检测平面的延伸平面的交点位置,以便将其作为目标投射位置,而该当前时刻检测平面实际上与历史时刻的检测平面,也即当前时刻检测平面的延伸平面,实际上都在同一平面上,因此,从历史投射位置到本技术实施例中所需要计算出的目标投射位置之间的向量,与检测平面(当前时刻或者历史时刻均可,因为都属于同一平面)的法向量之间是垂直的,这两个向量之间的叉乘结果为0。
79.例如,如图1所示,假设检测平面的法向量方向为normal,则基于上述特性,可以得出以下公式:
80.(p-p0)
×
normal=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
81.其中,在上述公式(1)中,p与p0分别为两个点在世界坐标系下的坐标,p-p0就表示从p点到p0点的向量。其中,p0、normal为已知量,p为未知量。但是,由于该公式(1)有无限多个解,也即,检测平面所在平面上的任意一点,都可以满足上述公式(1)的条件。因此,还需要构造另一个方程式。
82.在构造另一个方程式时,就可以使用到当前时刻的投射射线的起点及方向信息,如图1所示,假设当前时刻的投射射线的起点坐标为l1,投射射线的方向向量为forward,则可以有以下公式:
83.l0+d
×
forward=p
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
84.其中,d为从l0到p的距离。
85.这样,结合公式(1)、(2)可以先将p消掉,得到以下公式:
86.(l0-p0)
×
normal+d
×
forward
×
normal=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
87.在以上公式(3)中,由于l0、p0、normal、forward都是已知的,而d表示距离,是一个标量,因此,可以从中计算出d的值。
88.在计算出d的值之后,便可以将其带入公式(2)中,从而计算出p的坐标值。
89.也就是说,在一种具体的实现方式下,可以首先假设当前时刻的投射射线与所述检测平面的延伸平面之间的交点为p,同时假设当前时刻的投射射线的起点与该交点p之间的距离为d。然后,可以根据所述检测平面的法向量方向,历史投射位置,以及当前时刻的投射射线的起点及方向信息,求解出所述当前时刻的投射射线的起点与所述交点p之间的距离d,之后,再根据所述当前时刻的投射射线的起点、方向信息以及所述距离d,计算出所述交点p的位置,并将该交点p的位置确定为所述目标投射位置。
90.在上述实现方式中,不需要直接构建或者表达出检测平面的延伸平面,而是在假设该延伸平面存在的情况下,可以直接计算出当前时刻的投射射线与该延伸平面之间的交点位置,以此作为当前时刻的目标投射位置。
91.当然,在具体实现时,还可以有其他的计算上述交点p的位置的实现方式,例如,首先可以将当前检测平面向多个方向进行扩展,构建出一个更大面积的虚拟平面,并表达出该虚拟平面的位置、边界等。之后,再计算当前时刻的投射射线与该更大面积的虚拟平面之间的交点。其中,在构建上述虚拟平面时,可以从当前时刻检测平面上取任意一点作为中心点,再在该中心点周围取多个点,然后,确定中心点分别与周围各个点组成的线段的延长线,再分别在各延长线上超出当前虚拟平面边界的部分取扩展点,依次连接各条延长线上的扩展点,可以组成一个更大范围的虚拟平面,该虚拟平面与当前检测平面也是在同一平面上,但是面积更大,因此,也属于当前检测平面的延伸平面。
92.s302:将所述交点位置确定为目标投射位置,并将所述虚拟物体投射到所述目标投射位置处进行展示。
93.在确定出当前时刻的投射射线与检测平面的延伸平面的交点位置之后,可以将该交点位置确定为目标投射位置,从而可以将具体的虚拟物体投射到该目标投射位置处进行展示。也就是说,即使在终端设备检测到的平面面积比较小时,也可以将虚拟物体放置到该检测平面的延伸平面上进行展示。
94.总之,通过本技术实施例,在通过增强现实ar方式将虚拟物体投射到现实世界图像流中的目标平面进行展示的过程中,如果当前时刻的目标投射位置超出终端设备的检测平面边缘,则可以确定当前时刻的投射射线与所述检测平面的延伸平面的交点位置,进而,可以将所述投射射线与所述检测平面的延伸平面的交点位置确定为目标投射位置,并将所述虚拟物体投射到所述目标投射位置处进行展示。通过这种方式,即使在终端设备的检测平面比较小时,也可以将虚拟物体放置到该检测平面的延伸平面上进行展示,因此,可以在提升用户体验的同时,降低对终端设备的平面检测能力的依赖,进而,也可以降低ar应用开发过程中在不同终端设备之间进行适配的成本。
95.其中,在优选的实施方式下,具体在确定当前时刻的投射射线与所述检测平面的延伸平面的交点位置时,可以获取当前ar展示过程中的历史投射位置的信息,然后,可以根
据检测平面的法向量方向及所述历史投射位置,以及当前时刻的投射射线的起点及方向信息,确定所述投射射线与所述检测平面的延伸平面的交点位置。例如,首先可以求解出所述当前时刻的投射射线的起点与交点p(也即,假设的投射射线与所述检测平面的延伸平面的交点位置)之间的距离d,然后,根据所述当前时刻的投射射线的起点、方向信息以及所述距离d,计算出所述交点p的位置。通过这种方式,不需要实际构建并表达出对检测平面进行延伸扩展后的虚拟平面,即可计算出交点p的位置,因此更高效,更节省客户端的计算资源。同时由于不需要考虑构造出的虚拟平面的面积是否足够大的问题,也不存在由于构造出的虚拟平面仍然不够大,导致仍然无法找到当前时刻的投射射线与该虚拟平面之间的交点的问题,因此更灵活。
96.实施例二
97.前述实施例一主要针对终端设备检测到平面,但是由于检测平面比较小导致的虚拟物体无处放置的问题,提供了解决方案。如前文所述,在实际应用中,还可能会存在平面丢失的情况,也即,终端设备可能在某时刻未能检测到平面,针对该情况,该实施例二提供了另一种增强现实展示处理方法,参见图4,该方法可以包括:
98.s401:在通过增强现实ar方式将虚拟物体投射到现实世界图像流中的目标平面进行展示的过程中,如果当前时刻终端设备未检测到平面,则确定所述终端设备在历史时刻检测到的历史检测平面;
99.s402:确定当前时刻的投射射线与所述历史检测平面的延伸平面的交点位置;
100.具体的,可以获取当前ar展示过程中的历史投射位置的信息,然后,根据所述历史检测平面的法向量方向及所述历史投射位置,以及当前时刻的投射射线的起点及方向信息,确定所述投射射线与所述历史检测平面的延伸平面的交点位置。
101.s403:将所述交点位置确定为目标投射位置,并将所述虚拟物体投射到所述目标投射位置处进行展示。
102.关于该实施例二中的未详述部分,可以参见前述实施例一以及本技术说明书中其他部分的记载,这里不再赘述。
103.需要说明的是,本技术实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
104.与实施例一相对应,本技术实施例还提供了一种增强现实展示处理装置,参见图5,该装置可以包括:
105.交点位置确定单元501,用于在通过增强现实ar方式将虚拟物体投射到现实世界图像流中的目标平面进行展示的过程中,如果当前时刻的目标投射位置超出终端设备的检测平面边缘,则确定当前时刻的投射射线与所述检测平面的延伸平面的交点位置;
106.展示单元502,用于将所述交点位置确定为目标投射位置,并将所述虚拟物体投射到所述目标投射位置处进行展示。
107.具体实现时,该装置还可以包括:
108.判断单元,用于确定出所述当前时刻的投射射线的起点及方向信息后,判断所述当前时刻的投射射线与终端设备当前时刻的检测平面之间是否存在交点,如果不存在,则确定当前时刻的目标投射位置超出终端设备的检测平面边缘。
109.具体的,所述交点位置确定单元具体可以用于:
110.获取当前ar展示过程中的历史投射位置的信息;
111.根据所述检测平面的法向量方向及所述历史投射位置,以及当前时刻的投射射线的起点及方向信息,确定所述投射射线与所述检测平面的延伸平面的交点位置。
112.更为具体的,所述交点位置确定单元具体可以用于:
113.设所述当前时刻的投射射线与所述检测平面的延伸平面之间的交点为p,所述当前时刻的投射射线的起点与该交点p之间的距离为d;
114.根据所述检测平面的法向量方向,历史投射位置,以及当前时刻的投射射线的起点及方向信息,求解出所述当前时刻的投射射线的起点与所述交点p之间的距离d;
115.根据所述当前时刻的投射射线的起点、方向信息以及所述距离d,计算出所述交点p的位置,并将该交点p的位置确定为所述目标投射位置。
116.或者,另一种方式下,所述交点位置确定单元具体可以用于:
117.将所述检测平面向多个方向进行扩展延伸,以构建出面积大于所述检测平面的虚拟平面;
118.计算所述投射射线与所述虚拟平面之间的交点位置,并以此作为所述投射射线与所述检测平面的延伸平面的交点位置。
119.其中,所述当前时刻的投射射线的起点及方向信息可以通过以下方式确定:
120.在通过移动所述终端设备进行交互的状态下,以所述终端设备的屏幕中心点作为所述投射射线的起点,并根据当前时刻所述终端设备的位姿信息确定所述投射射线的方向。
121.或者,所述当前时刻的投射射线的起点及方向信息可以通过以下方式确定:
122.在通过在所述终端设备的屏幕上执行拖动所述虚拟物体的操作进行交互的状态下,以所述屏幕上当前时刻的触摸点作为所述投射射线的起点,并根据当前时刻所述终端设备的位姿信息确定所述投射射线的方向。
123.其中,所述虚拟物体包括:目标商品对象的3d模型。
124.与实施例二相对应,本技术实施例还提供了一种增强现实展示处理装置,参见图6,该装置可以包括:
125.历史检测平面确定单元601,用于在通过增强现实ar方式将虚拟物体投射到现实世界图像流中的目标平面进行展示的过程中,如果当前时刻终端设备未检测到平面,则确定所述终端设备在历史时刻检测到的历史检测平面;
126.交点位置确定单元602,用于确定当前时刻的投射射线与所述历史检测平面的延伸平面的交点位置;
127.展示单元603,用于将所述交点位置确定为目标投射位置,并将所述虚拟物体投射到所述目标投射位置处进行展示。
128.具体的,所述交点位置确定单元具体可以用于:
129.获取当前ar展示过程中的历史投射位置的信息;
130.根据所述历史检测平面的法向量方向及所述历史投射位置,以及当前时刻的投射射线的起点及方向信息,确定所述投射射线与所述历史检测平面的延伸平面的交点位置。
131.另外,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,
该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
132.以及一种电子设备,包括:
133.一个或多个处理器;以及
134.与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法的步骤。
135.其中,图7示例性的展示出了电子设备的架构,例如,设备700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理,飞行器等。
136.参照图7,设备700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(i/o)的接口712,传感器组件714,以及通信组件716。
137.处理组件702通常控制设备700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件702可以包括一个或多个处理器720来执行指令,以完成本公开技术方案提供的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理部件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
138.存储器704被配置为存储各种类型的数据以支持在设备700的操作。这些数据的示例包括用于在设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
139.电源组件706为设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为设备700生成、管理和分配电力相关联的组件。
140.多媒体组件708包括在设备700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
141.音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(mic),当设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
142.i/o接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁
定按钮。
143.传感器组件714包括一个或多个传感器,用于为设备700提供各个方面的状态评估。例如,传感器组件714可以检测到设备700的打开/关闭状态,组件的相对定位,例如所述组件为设备700的显示器和小键盘,传感器组件714还可以检测设备700或设备700一个组件的位置改变,用户与设备700接触的存在或不存在,设备700方位或加速/减速和设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
144.通信组件716被配置为便于设备700和其他设备之间有线或无线方式的通信。设备700可以接入基于通信标准的无线网络,如wifi,或2g、3g、4g/lte、5g等移动通信网络。在一个示例性实施例中,通信部件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件716还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
145.在示例性实施例中,设备700可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
146.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由设备700的处理器720执行以完成本公开技术方案提供的方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
147.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
148.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
149.以上对本技术所提供的增强现实展示处理方法、装置及电子设备,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申
请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1