掌桥专利:专业的专利平台
掌桥专利
首页

用于增强现实中的锚点的辅助数据

文献发布时间:2024-04-18 20:01:23


用于增强现实中的锚点的辅助数据

技术领域

本发明实施方案中的至少一个实施方案整体涉及增强现实,并且更具体地涉及用于在虚拟环境中进行定位的锚点。

背景技术

增强现实(AR)是用于合并真实元素和虚拟元素以进行显现的概念和一组技术,其中,物理对象和数字对象共存并且实时交互。AR显现需要将增强的虚拟元素看作物理视图的一部分的装置。这可使用配备有相机和显示器的增强现实终端(AR终端)来实现,该增强现实终端捕获用户环境的视频并且将该捕获到的信息与显示器上的虚拟元素相组合。此类设备的示例是诸如智能电话、平板计算机或头戴式显示器。3D模型和动画是要在AR中显现的最明显的虚拟元素。然而更一般地,AR对象可以是空间性(空间中的3D位置和取向)提供附加值的任何数字信息,例如图片、视频、图形、文本和音频。能够从不同视点正确地看到AR显现,使得当用户改变视点时,虚拟元素停留或表现得好像是物理场景的一部分。这就需要跟踪技术,以用于导出环境的3D属性以产生AR内容,以及在观看内容时用于跟踪AR终端相对于环境的位置。例如,AR终端的位置可通过跟踪AR终端的视频流中的已知对象或视觉特征和/或使用一个或多个传感器进行跟踪。在能够将AR对象增强到物理现实中之前,必须限定它们相对于物理环境的位置。增强现实的特定挑战是多名用户访问相同的AR场景并因此可通过该虚拟环境进行交互。精确且可靠地定位AR终端是AR系统的关键方面,因为此类特征是享受AR体验所必需的。

发明内容

在至少一个实施方案中,在增强现实系统中,辅助数据与增强现实锚点相关联以描述真实环境中的锚点的周围环境。这允许验证位置跟踪是正确的,换言之,增强现实终端被定位在增强现实场景中的正确位置处。可应请求显示该辅助数据。辅助数据的典型示例是裁剪的2D图像或3D网格。

至少一个实施方案的第一方面涉及一种用于创建用于增强现实场景的锚点的方法,该方法包括:显示在显示增强现实场景时检测到的特征点;获得对至少一个特征点的选择;捕获辅助数据;以及创建新的锚点并且将其与所选择的至少一个特征点的参数和所捕获的辅助数据相关联。

至少一个实施方案的第二方面涉及一种用于在增强现实终端上显示增强现实场景的方法,该方法包括:当激活辅助数据的显示并且检测到增强现实锚点时,获得与检测到的增强现实锚点相关联的辅助数据以及显示辅助数据的图形表示。

至少一个实施方案的第三方面涉及一种用于在增强现实终端上验证增强现实场景中的增强现实锚点的方法,该方法包括:确定与在显示增强现实场景时检测到的至少一个特征点相对应的增强现实锚点;获得与检测到的增强现实锚点相关联的辅助数据;获得表示真实世界场景的所捕获的数据;将辅助数据与所捕获的数据进行比较并响应地触发恢复。

至少一个实施方案的第四方面涉及一种用于创建用于增强现实场景的锚点的装置,该装置包括处理器,该处理器被配置为:显示在显示增强现实场景时检测到的特征点;获得对至少一个特征点的选择;捕获辅助数据;以及创建新的锚点并且将其与所选择的至少一个特征点的参数和所捕获的辅助数据相关联。

至少一个实施方案的第五方面涉及一种用于在增强现实终端上显示增强现实场景的装置,该装置包括处理器,该处理器被配置为当激活辅助数据的显示并且检测到增强现实锚点时,获得与检测到的增强现实锚点相关联的辅助数据以及显示辅助数据的图形表示。

至少一个实施方案的第六方面涉及一种用于在增强现实终端上验证增强现实场景中的增强现实锚点的装置,该装置包括处理器,该处理器被配置为:确定与在显示增强现实场景时检测到的至少一个特征点相对应的增强现实锚点;获得与检测到的增强现实锚点相关联的辅助数据;获得表示真实世界场景的所捕获的数据;将辅助数据与所捕获的数据进行比较并响应地触发恢复。

至少一个实施方案的第七方面涉及一种增强现实系统,该增强现实系统包括增强现实场景、增强现实控制器和增强现实终端,其中,增强现实场景包括与增强现实场景的表示的特征点的参数相关联的增强现实锚点以及表示增强现实锚点的周围环境的辅助数据。

根据这七个实施方案的变型,辅助数据基于创建锚点时捕获到的图片,或者是创建锚点时捕获到的图片的裁剪版本,或者基于创建锚点时捕获到的三维网格。

根据至少一个实施方案的第八方面,一种计算机程序包括程序代码指令,当由处理器执行时,能够执行该程序代码指令以用于实现至少根据前三个方面中的一方面的方法的步骤。

根据至少一个实施方案的第九方面,一种非暂态计算机可读介质包括程序代码指令,当由处理器执行时,能够执行该程序代码指令以用于实现至少根据前三个方面中的一方面的方法的步骤。

附图说明

图1示出了在其中实现各种方面和实施方案的增强现实系统的示例的框图。

图2A、图2B、图2C示出了两名用户使用AR场景的示例。

图3示出了根据至少一个实施方案的用户操作的验证过程的示例性流程图。

图4示出了根据至少一个实施方案的用于创建锚点的过程的示例性流程图。

图5A至图5F示出了根据验证过程300的由AR终端显示的屏幕的各种示例。

图6A、图6B、图6C示出了根据锚点创建过程400的由AR终端显示的屏幕的各种示例。

图7示出了根据至少一个实施方案的自动验证过程的示例性流程图。

图8示出了根据一个实施方案的增强现实终端的示例性具体实施的框图。

图9示出了根据一个实施方案的增强现实控制器的示例性具体实施的框图。

图10示出了根据至少一个实施方案的锚点创建的序列图。

图11示出了根据至少一个实施方案的手动验证的序列图。

具体实施方式

图1例示了在其中实现各种方面和实施方案的系统的示例的框图。此类系统被设计成允许共享(即,协作)增强现实体验,这是AR应用的下一挑战。多名用户(在这里是爱丽丝、鲍勃和查理)可从他们在AR场景中的位置同时查看虚拟对象并与其交互,该AR场景是发生在真实世界3D环境中的共享增强场景。AR场景中的修改可实时对每名用户可见。AR场景120的数字表示由AR控制器110处理,该AR控制器还管理虚拟环境中的用户之间的交互的协调。为了享受AR场景,用户将使用AR终端(100A,100B,100C)加入共享增强空间中的其他用户。AR终端显示叠加到真实世界环境的视图的AR场景的虚拟对象。为了确保与AR场景进行一致交互,所有AR终端必须连续地定位在相同的世界坐标系中。AR终端和AR控制器通过通信网络150联接在一起。该网络优选地为无线网络以向AR终端提供移动性。

在使用图1的系统的协作体验中,所有用户之间共享虚拟对象。每一名用户可使用自己的AR终端来显示AR场景。每一名用户可与表示虚拟环境中的用户的AR代理相关联。AR代理的位置与用户的AR终端的位置相关联。AR代理可采用看似人类的3D模型或任何其他虚拟对象的形式。用户将移动到AR场景中,与共享AR场景的虚拟对象交互或通过AR代理与其他用户交互。例如,当爱丽丝向右移动时,AR终端100A将向右移动,并且因此对应的AR代理在AR场景内的位置将由AR控制器110更新并且将被提供给其他AR终端100B和100C以反映到使鲍勃和查理可以看到爱丽丝的移动的这些设备中。稳定性对于体验的整体成功至关重要,并且更具体地涉及不同AR终端的定位和它们的移动的跟踪。

定义真实对象在空间中的位置和取向被称为位置跟踪并且可借助于传感器进行确定。当真实对象移动或被移动时,传感器记录来自真实对象的信号,并且关于整个真实环境分析对应信息以确定位置。不同机制可用于AR终端的位置跟踪,包括无线跟踪、带有标记或不带有标记的光学跟踪、惯性跟踪、传感器融合、声学跟踪等。

在消费者环境中,光学跟踪是传统上用于位置跟踪的技术之一。实际上,典型的具有增强现实功能的设备(诸如智能电话、平板计算机或头戴式显示器)包括能够提供面向设备的场景的图像的相机。一些AR系统使用类似QR码的可见标记,其以物理的方式印刷并且定位在真实场景和AR场景两者中的已知位置处,因此使得当检测到这些QR码时能够执行虚拟世界与真实世界之间的对应关系。

侵入性较小的无标记AR系统可使用两步骤方法,其中,首先对AR场景建模以在第二步骤中实现定位。可以例如通过捕获真实环境来完成建模。从对应于真实环境的所捕获的数据中检测特征点。特征点是可跟踪的3D点,因此可以强制性地使其与其在当前图像中的最近点区分开。利用该要求,可以将其与对应于所捕获的环境的视频序列中的对应点唯一地匹配。因此,特征的邻域应当充分不同于在进行较小位移之后获得的邻域。通常,它是类似于拐角的高频点。此类点的典型示例是桌子的拐角、地板和墙壁之间的接合处、家具设备上的旋钮、墙壁上的框架的边缘等。也可以对AR场景进行建模而不是捕获。在这种情况下,锚点关联到虚拟环境中的所选择的不同点。然后,当使用此类AR系统时,连续地分析从AR终端捕获到的图像以识别先前确定的不同点并且因此使用它们在虚拟环境中的位置进行对应,从而允许确定AR终端的位置。

此外,一些AR系统将所捕获的图像的2D特征点与例如通过渡越时间传感器获得的深度信息或与例如从加速度计、陀螺仪或基于微机械系统的惯性测量单元获得的运动信息组合。

根据图1中所描述的系统,可完全在AR终端中完成该分析,完全在AR控制器中完成该分析,或者可在这些设备之间共享计算。实际上,不同点的检测通常对应于2D图像中的特征点的检测,例如,使用SIFT描述符识别特征点。这可能是相当耗费资源的任务,尤其是对于电池电量有限的移动设备而言。因此,AR系统可通过在AR控制器(通常是计算机或服务器)中执行其中一些计算来平衡计算工作负荷。这需要将从AR终端传感器采集到的信息传输到AR控制器,并且整个计算时间必须不超过两个连续帧的显示之间的持续时间。该步骤包括向服务器发送数据和检索计算结果。此类解决方案仅可以用于低延迟的网络。

为了使位置跟踪计算工作负荷最小化,一些AR系统使用被称为锚点的所选择的特征点的子集。虽然典型的虚拟环境可包括数百个或数千个特征点,但是通常在AR场景内预先确定锚点,例如,在构建AR场景时手动选择锚点。典型的AR场景可包括大约六个锚点,因此尽最大程度地减少了位置跟踪所需的计算资源。锚点是由世界坐标系中的姿态(位置和旋转)限定的虚拟对象。锚点与限定唯一签名的一组特征点相关联。因此,锚点位置非常稳定和稳健。当已经将锚点放置在AR场景的区域中时,当由AR终端的相机捕获时所述区域的显现将导致定位的更新。这样做是为了校正任何漂移。此外,AR场景的虚拟对象通常附接到锚点以固定它们在世界坐标系中的空间位置。

可使用光线投射来限定锚点。将特征点显示为虚拟3D粒子。用户将确保选择属于稠密集的对象,这将赋予区域更强的签名。被射线击中的特征点的姿态将赋予锚点的姿态。

图2A、图2B、图2C示出了两名用户使用AR场景的示例。AR场景、所描述的情况以及对应的附图显然是非常简化的示例。如图1A中所示,爱丽丝和鲍勃在同一房间200中,该房间配备有桌子210,马克杯220被定位在桌子上并靠近其中一个拐角。环境对应于两个AR终端共享的AR场景。爱丽丝和鲍勃操纵各自的AR终端100A和AR终端100B并且通过他们的设备的屏幕显现AR场景。爱丽丝将AR终端100A指向桌子200的方向,看着桌子的拐角230。鲍勃也将他的AR终端100B指向桌子210的方向,但是因为他位于爱丽丝的相对侧上,所以他正看着桌子的拐角240。桌子的所有拐角是相同的。

图2B和图2C中分别示出的元素250A和元素250B表示AR终端100A和AR终端100B的屏幕,并且因此示出了两名用户正在从AR场景看到的内容。如图2B中所示,爱丽丝看到桌子210的一小部分的表示210A、拐角230的表示230A和马克杯220的表示220A。此外,虚拟对象270A插入到图片中,表示在桌子上弹跳的甜甜圈的动画3D模型(显示它遇到马克杯的快乐!)。如图2C中所示,鲍勃在他的一侧上看到桌子210的一小部分的表示210B、拐角240的表示240B以及表示在桌子上弹跳的甜甜圈的相同动画3D模型的虚拟对象270B。然而,鲍勃在他的屏幕上看不到真正的马克杯220,因为该对象在他的视野之外。因此,该上下文中的动画具有较少的意义,并且更重要的是不对应于在AR场景中定义的预期增强现实体验。

用户A和用户B之间的区别在于,爱丽丝很好地定位在AR场景内。更确切地说,AR终端100A的位置是正确的,而AR终端100B的位置是不正确的。实际上,拐角230对应于由爱丽丝在AR场景中限定且用于定位虚拟对象270的锚点。鲍勃正在尝试显现由爱丽丝设置的锚点。然而,由于拐角230和拐角240在形状和纹理上非常相似,所以它们包括非常相似的特征点,并且位置跟踪难以区分它们。因此,认为鲍勃在与爱丽丝相同的位置,即,在马克杯所在的桌子的拐角处。然而,向鲍勃示出的动画并非如AR场景设计者所期望的,并且应当仅在拐角230的附近示出。

尽管为了实现相关附图的可绘制性,本示例是玩具示例,但是其示出了当使用锚点时出现错误定位的问题。在AR场景包括数十个虚拟对象并且真实环境包括许多物理元素(诸如家具)的更真实的情况下,情况可能复杂得多。

下文描述的实施方案在设计时考虑了前述内容。

在至少一个实施方案中,提出将辅助数据与增强现实锚点相关联。辅助数据可描述真实环境中的锚点的周围环境,并且可允许验证位置跟踪是正确的,换言之,AR终端被定位在AR场景中的正确位置处。可应用户或AR终端或AR控制器的请求显示该辅助数据,以便执行验证。本公开使用2D图像的示例作为辅助数据,但是可根据相同的原理使用其他类型的辅助数据,诸如示出锚点在环境内的位置的3D网格或标测图。

在至少一个实施方案中,由用户完成验证。这要求用户可理解辅助数据。在至少一个实施方案中,辅助数据是创建锚点时捕获到的真实环境的图像。实际上,这是易于捕获且用户易于理解的数据:用户可以仅将辅助图像与真实环境进行视觉比较,并且决定位置跟踪是否正确。在另一个实施方案中,由AR系统自动完成验证,如以下相对于图7进一步描述。

图3示出了根据至少一个实施方案的用户操作的验证过程的示例性流程图。验证过程300可由AR终端单独执行或与AR控制器联合执行。在步骤310中,检测针对激活辅助数据的显示的请求。然后,在步骤320中,检测AR锚点。当检测到至少一个锚点时,在步骤330中,可显示表示锚点的图形元素。在实施方案中,可省略该步骤。然后,在步骤340中,获得与检测到的锚点相关联的辅助数据,并且在步骤350中,显示辅助数据的图形表示。在至少一个实施方案中,颠倒步骤310和步骤320的顺序,使得当检测到锚点时可触发激活辅助数据的显示。

此类验证过程300可由用户自己、由AR终端或由AR控制器请求。请求验证的第一原因是当AR场景内的某物出现错误时或者当虚拟对象未与真实环境良好地混合时。第二原因是当附加到真实环境的虚拟对象的位置不符合所捕获的环境时。第三原因是当AR终端的位置不相干时,例如,多个AR终端被检测到在真实环境中具有相同位置,AR终端被检测为在对象内部(例如,在网格的表面后面)。

图4示出了根据至少一个实施方案的用于创建锚点的过程的示例性流程图。过程400可由AR终端单独执行或与AR控制器联合执行。在步骤410中,检测场景的特征点并且将其显示在AR终端的屏幕上。在步骤420中,选择其中一个特征点作为锚点。在步骤430中,捕获辅助数据,并且在步骤440中创建新的锚点。辅助数据以及表示所选择的特征点的参数(诸如其位置和签名)的数据与锚点相关联。然后,可由AR控制器将锚点与AR场景一起存储。

图5A至图5E示出了根据验证过程300的由AR终端显示的屏幕的各种示例。在图5A中,AR终端示出了如由爱丽丝的AR终端100A捕获到的桌子210A的表示和马克杯220A的表示。图5B示出了当已经激活辅助数据的显示的激活时(过程300的步骤310)以及当检测到锚点时(过程320的步骤320)显示的屏幕。这里的白色十字500表示对应于桌子210A的拐角230的锚点。在语言滥用的情况下,该锚点将在下文中被标识为锚点500。如前所述,该显示步骤是可选的。图5C以辅助图像501的形式示出了辅助数据的显示。

在至少一个实施方案中,辅助数据是锚点500的周围环境的2D图像。由于AR终端具有内置相机,在创建锚点时就捕获到该2D图像。因此,辅助图像501包括桌子210的表示510和马克杯220的表示520。这些表示允许用户容易地进行验证:爱丽丝可仅检查辅助图像501对应于真实环境的捕获(如图5A所示)。可选地,按钮或图标允许爱丽丝在显示辅助图像的状态和不显示辅助图像的另一种状态之间非常快速地切换(因此作用于过程300的步骤310的测试)。可执行一些图像处理以将所捕获的图像变换成辅助数据。第一示例是对图像进行裁剪以将图像内容限制为锚点的周围环境而不是整个场景。裁剪也允许显现锚点的周围环境,并且因此允许进行定位。优选地以共同的预定尺寸进行裁剪,使得所有辅助图像具有相同的尺寸以确保用户体验的一致性。图像处理的其他示例包括降低分辨率(例如,使用众所周知的子采样技术降低所捕获的图像的空间分辨率)或缩减色彩空间(例如,对所捕获的图像使用众所周知的色彩空间缩减技术将24位色彩空间图像变换成色彩空间更小的图像)以便降低针对存储辅助数据的存储器要求。所有这些图像处理技术可一起应用于所捕获的图像以生成辅助图像。

在未示出的另一个示例性实施方案中,辅助数据是锚点的周围环境的3D网格。可通过使用由集成到AR终端中的深度传感器捕获的深度信息或通过使用例如基于运动恢复结构(SFM)或多视角立体视觉(MVS)的其他3D重建技术来重建此类网格。此外,网格还可使用由相机捕获的2D图像的信息进行纹理化并且因此表示锚点的虚拟3D周围环境。在这种情况下,辅助数据是3D纹理网格。

图5C示出了爱丽丝的AR终端的屏幕,而图5D示出了鲍勃的AR终端的屏幕。由于桌子的对角非常相似,因此检测到的靠近拐角240的特征点的签名与锚点500的特征点的签名匹配。因此,AR终端判定已经检测到该锚点,并且当验证被激活时,显示与锚点500相关联的辅助图像501。在这种情况下,鲍勃立即理解他没有位于真实环境的正确位置处,并且必须移动到附近有马克杯的拐角。

在此类情况下,鲍勃可简单地四处移动,希望AR系统将会正确地检测到他的位置。在一些情况下,他可能被迫手动地强制重置他的定位或者甚至重新启动AR应用程序。

图5C示出了当创建锚点时爱丽丝的AR终端在相同位置处的屏幕,而图5E示出了在爱丽丝沿逆时针方向在桌子周围移动之后的相同的屏幕。因此,由于检测到锚点500,因此示出其相关联的辅助图像。尽管爱丽丝的当前视角不同于在捕获辅助图像501时使用的视角,但是她容易理解她被定位在正确的位置。图5F示出了在爱丽丝向后移动几英尺以使得她看到几乎整个桌子之后的类似情况。同样,在此类情况下,非常容易进行验证。

图6A、图6B、图6C示出了根据锚点创建过程400的由AR终端显示的屏幕的各种示例。在这些附图之前,AR终端被设置为用于创建锚点的模式。在图6A中,在过程400的步骤410中,AR终端显示由AR系统检测到的特征点。在这里由黑色十字表示特征点。一旦用户选择它们中的一个作为锚点(过程400的步骤420),AR终端就在所选择的特征点的位置处显示锚点500,如图6B中所示。然后,AR终端捕获辅助数据(过程400的步骤430),在一个示例性实施方案中,该辅助数据是由相机捕获的图像的裁剪版本。然后显示与锚点500相关联的辅助图像501,如图6C中所示。

在至少一个实施方案中,由AR系统通过计算真实环境与辅助图像之间的距离来自动完成验证。当距离小于阈值时,AR系统确定位置是正确的并且不中断用户体验。可以例如使用常规的图像处理技术和算法在2D图像级别进行比较。当深度信息可用,并且辅助数据包含此类信息时,也可以在3D空间中进行比较。

图7示出了根据至少一个实施方案的自动验证过程的示例性流程图。验证过程可由AR终端单独执行或与AR控制器联合执行。该验证是由用户操作的验证过程300的另选方案并且可在用户正在显示AR场景时无声地进行。首先,在显示AR场景时检测特征点,并且当锚点对应于其中一个特征点时在步骤710中检测锚点。在这种情况下,在步骤720中,将与检测到的锚点相关联的辅助数据与表示真实环境的捕获数据进行比较。例如,可计算辅助数据和所捕获的数据之间的距离。当距离低于某个值时,发现相似性。当未发现相似性时,则在步骤730中触发恢复。此类恢复可包括通过消息警告用户,警告AR控制器以使得AR应用程序可适于这种不良定位,请求重置位置跟踪系统或将锚点重新定位到在步骤710中检测到的位置。也可以向用户提供所有这些另选方案,从而允许根据在AR场景中的当前体验到的情况来选择最佳恢复。

当辅助数据是2D图像时,可使用众所周知的算法计算距离。一个实施方案使用“特征检测”算法,如由OpenCv(例如SURF)提供的算法。针对提供有锚点的图像以及针对当前帧计算特征。进行检测之后是匹配过程。为了检查操作是否成功,将描述符之间的距离标准应用于所匹配的元素以对结果进行过滤。在具体实施中,当在AR设备的视野中检测到锚点时,启动上述过程。根据它们的值来评估精度和调用参数,可在第一步骤中验证锚点的存在。

在第二步骤中,在一组所匹配的点中寻找最靠近中心的点,获得当前帧中的对应关系并且使用该点作为射线投射的结果。计算由射线击中的特征点与锚点之间的距离。在这种情况下,不评估旋转。将接受几厘米的偏差。

当辅助数据是3D纹理网格时,将有可能计算3D空间中的距离,但是尽管这是可行的,将需要进行繁重的计算。另一种更有效的方式是通过2D渲染的中间步骤。由于网格的姿态是已知的(与锚点相同),因此可从用户的视点来渲染网格。结果是2D图片。可再次使用上述过程。

可使用用于实现自动验证过程的其他技术。例如,深度学习技术可用于实现该目的,因此直接对2D图像进行操作而不需要特征提取步骤。

在至少一个实施方案中,当所选择的恢复用于重新定位AR锚点时,也通过计算变换以将原始锚点位置重新定位到其新的位置并且将该变换应用于其他AR锚点来重新定位其他AR锚点。由于此类修改可能产生巨大的影响,尤其是在多用户的场景下,因此优选地,此类操作必须由用户通过验证进行确认。

图8示出了根据一个实施方案的增强现实终端的示例性具体实施的框图。此类装置对应于AR终端100A、100B和100C。AR终端800可包括处理器801。处理器801可以是通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路、任何其他类型的集成电路(IC)、状态机等。处理器可执行信号解码、数据处理、功率控制、输入/输出处理和/或使AR终端能够在增强现实环境中工作的任何其他功能。

处理器801可联接到输入单元802,该输入单元被配置为传达用户交互。多种类型的输入和模态可用于实现该目的。物理小键盘或触敏表面是适于该用途的输入的典型示例,但是也可采用语音控制。此外,输入单元也可包括能够捕获AR体验所必需的静态图片或视频的数字相机。

处理器801可联接到显示单元803,该显示单元被配置为输出待显示在屏幕上的视觉数据。多种类型的显示器可用于实现该目的,诸如液晶显示器(LCD)或有机发光二极管(OLED)显示单元。处理器801也可联接到音频单元804,该音频单元被配置为呈现要通过诸如扬声器等经调适的换能器转换为音频波的声音数据。

处理器801可联接到通信接口805,该通信接口被配置为与外部设备交换数据。通信优选地使用无线通信标准提供AR终端的移动性,诸如LTE通信、Wi-Fi通信等。

处理器801可联接到定位单元806,该定位单元被配置为定位在其环境内的AR终端。定位单元可集成提供关于AR终端的当前位置的经度和纬度位置的GPS芯片组,以及提供定位服务的其他运动传感器,诸如加速度计和/或电子罗盘。应当理解,在与实施方案保持一致的同时,AR终端可通过任何合适的位置确定方法获取位置信息。

处理器801可访问存储器807中的信息,并且将数据存储在该存储器中,该存储器可包括多种类型的存储器,包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘、用户身份模块(SIM)卡、记忆棒、安全数字(SD)存储卡、任何其他类型的存储器存储设备。在其他实施方案中,处理器801可访问在物理上未定位在AR终端上(诸如,在服务器、家用计算机或另一个设备上)的存储器中的信息,并且将数据存储在该存储器中。

处理器801可从电源210接收电力,并且可被配置为向AR终端800中的其他部件分配和/或控制电力。电源210可以是用于为AR终端供电的任何合适的设备。例如,电源210可包括一个或多个干电池组(例如,镍镉(NiCd)、镍锌(NiZn)、镍金属氢化物(NiMH)、锂离子(Li-ion)等)、太阳能电池、燃料电池等。

虽然图8将处理器801和其他元件802至808示出为单独的部件,但是应当理解,这些元件可一起集成在电子封装件或芯片中。应当理解,在与实施方案保持一致的同时,AR终端200可包括本文所述元件的任何子组合。

处理器801还可联接到图2中未示出的其他外围设备或单元,该其他外围设备或单元可包括提供附加特征、功能和/或有线或无线连接的一个或多个软件模块和/或硬件模块。例如,外围设备可包括传感器,诸如通用串行总线(USB)端口、振动设备、电视收发器、免提耳机、

如上所述,AR终端的典型示例是智能电话、平板计算机或透视眼镜。然而,提供类似功能的任何设备或设备的组合可用作AR终端。

图9示出了根据一个实施方案的增强现实控制器的示例性具体实施的框图。此类装置对应于AR控制器110。AR控制器900可包括处理器901。处理器901可以是通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路、任何其他类型的集成电路(IC)、状态机等。处理器可执行信号解码、数据处理、功率控制、输入/输出处理和/或使AR终端能够在增强现实环境中工作的任何其他功能。

处理器901可联接到通信接口902,该通信接口被配置为与外部设备交换数据。通信优选地使用无线通信标准提供AR控制器的移动性,诸如LTE通信、Wi-Fi通信等。

处理器901可访问存储器903中的信息,并且将数据存储在该存储器中,该存储器可包括多种类型的存储器,包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘、用户身份模块(SIM)卡、记忆棒、安全数字(SD)存储卡、任何其他类型的存储器存储设备。在其他实施方案中,处理器901可访问在物理上未定位在AR控制器上(诸如,在服务器、家用计算机或另一个设备上)的存储器中的信息,并且将数据存储在该存储器中。存储器903可存储AR场景。

处理器901还可联接到图9中未示出的其他外围设备或单元,该其他外围设备或单元可包括提供附加特征、功能和/或有线或无线连接的一个或多个软件模块和/或硬件模块。例如,外围设备可包括键盘、显示器、诸如通用串行总线(USB)端口之类的各种接口、

应当理解,在与实施方案保持一致的同时,AR控制器110可包括本文所述元件的任何子组合。

图10示出了根据至少一个实施方案的锚点创建的序列图。该序列图涉及用户爱丽丝操作其与AR控制器110交互的AR终端100A。序列图未示出与AR场景加载、AR终端的位置跟踪、AR场景内的导航有关的先前交互,因为所有这些交互是常规交互并且是本领域的技术人员所熟知的。在步骤1010中,爱丽丝选择特征点并且请求在所选择的特征点处添加锚点。在步骤1020中,AR终端100A捕获数据。如上所述,类型数据可以是各种各样的。在该示例中,所考虑的辅助数据是由AR终端的相机捕获的2D图像。在步骤1030中,确定辅助数据。在至少一个实施方案中,通过裁剪所捕获的图像来获得辅助数据,例如,通过提取以所选择的特征点的位置为中心的尺寸较小(例如,捕获图像的尺寸的20%)的矩形图像。此外,可应用其他图像处理技术,诸如降低图像分辨率或缩减色彩空间。这允许减少待存储的数据的量。可向AR控制器提供辅助数据和锚点参数以与AR场景一起存储。在实施方案中,裁剪图像的尺寸包括在所捕获的图像的尺寸的5%至35%的范围内。在一个实施方案中,辅助图像的尺寸是固定的并且被确定为AR场景的参数,使得所有AR终端生成相同尺寸的辅助图像,而与AR终端的相机的功能无关。在这种情况下,该参数由AR终端在前一步骤中从AR控制器获得。在另一个实施方案中,AR终端提供所捕获的全尺寸图像,使得辅助图像由AR控制器完成。

然后,在步骤1040中,基于针孔相机模型计算图像中的锚点的2D位置。为了将3D点映射到图像平面,按如下使用相机投影模型:

其中:

在等号右侧的元素对应于图像平面上的像素坐标形式的投影点,具有控制像素随着焦距改变而沿x方向和y方向缩放的方式的纵横比缩放

在等号右侧的第一矩阵是相机内参矩阵K

在等号右侧的第二矩阵是描述世界坐标系中的点到相机坐标系的相对变换的外部参数[R|t]

在等号右侧上第三矩阵表示在欧几里得坐标系中表示的3D点

在步骤1050中,锚点数据由AR终端提供给AR控制器。该数据包括锚点姿态、所确定的2D锚点位置、可选地AR终端的姿态以及辅助数据(例如,辅助图像)。在一个变型实施方案中,锚点使用形成签名的一组特征点。在此类实施方案中,还提供该数据。然后,在步骤1060中,由AR控制器将锚点存储在AR场景120中。

图11示出了根据至少一个实施方案的手动验证的序列图。该序列图涉及用户爱丽丝操作其在AR场景120中与AR控制器110交互的AR终端100A。在步骤1110中,爱丽丝请求开始AR体验。在步骤1115中,AR终端请求加载AR场景120。作为响应,AR控制器在步骤1120中提供AR场景数据,使得AR终端可在步骤1125中更新显示。爱丽丝想要验证她在AR场景内的定位。因此,她在步骤1130中请求显示辅助图像。AR终端在步骤1135中设置能够实现此类显示的标记。爱丽丝在步骤1140中在AR场景内导航并且在步骤1145中由AR终端向AR控制器提供她的移动,该AR控制器因此在步骤1150中更新AR场景并且在步骤1155中发回更新后的AR场景数据。AR终端在步骤1160中根据更新后的AR场景数据来更新显示。当在步骤1165中检测到锚点时,在步骤1170中显示辅助图像(因为设置了标记),使得爱丽丝能够在步骤1180中验证辅助图像对应于她当前观看的场景的当前部分。

在至少一个实施方案中,当对应锚点可用时,通过使用对应锚点的姿态来增强辅助数据的显示。在这种情况下,根据锚点的姿态将辅助数据定位在3D空间中。当辅助数据是3D元素(诸如3D网格或全3D模型)时,该3D元素的取向将被设置为使得其匹配锚点的姿态。当辅助数据是2D图像时,扭曲对应于2D图像的2D矩形,使得其定位在由锚点的姿态限定的平面中。

在至少一个实施方案中,根据观看者的取向来显示辅助图像,使得其面向相机。

在至少一个实施方案中,将辅助图像显示为半透明(使用阿尔法通道),以便“看穿”辅助以更容易地进行比较。

在至少一个实施方案中,AR终端也包括AR控制器的功能并且因此允许AR场景的独立操作,同时仍与本文所述的实施方案相容。

一些AR系统通过在AR控制器(通常是计算机或服务器)中执行其中一些计算来平衡计算工作负荷。这需要将从AR终端传感器采集到的信息传输到AR控制器。

在至少一个实施方案中,也使用由服务器提供的AR终端的姿态(当捕获与锚点相关联的图片时的设备的姿态)。用户将其相机定位成尽可能靠近所提供的姿态,但是这仅在没有出现错误的情况下才有意义。

可向用户提供关于锚点的位置的指示,使得用户在其视野中没有锚点时向正确方向移动。

在至少一个实施方案中,当检测到多个锚点时,显示它们中的两者。在另一个实施方案中,当检测到多个锚点时,仅显示它们中的一者。可根据诸如最短距离、最佳匹配视角之类的多个标准完成对要显示的锚点的选择。

提及“一个实施方案”或“实施方案”或“一个具体实施”或“具体实施”以及它们的其他变型,意味着结合实施方案描述的特定的特征、结构、特性等包括在至少一个实施方案中。因此,短语“在一个实施方案中”或“在实施方案中”或“在一个具体实施中”或“在具体实施中”的出现以及出现在本说明书通篇的各个地方的任何其他变型不一定都是指相同的实施方案。

另外,本申请或其权利要求书可涉及“确定”各种信息。确定信息可包括例如估计信息、计算信息、预测信息或从存储器检索信息中的一者或多者。

此外,本申请或其权利要求书可涉及“访问”各种信息。访问信息可包括例如接收信息、(例如,从存储器)检索信息、存储信息、移动信息、复制信息、计算信息、预测信息或估计信息中的一者或多者。

另外,本申请或其权利要求书可涉及“接收”各种信息。与“访问”一样,接收旨在为广义的术语。接收信息可包括例如(例如,从存储器或光学介质存储装置)访问信息或检索信息中的一者或多者。此外,在诸如例如存储信息、处理信息、发射信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息的操作期间,“接收”通常以一种方式或另一种方式参与。

应当理解,例如,在“A/B”、“A和/或B”以及“A和B中的至少一者”的情况下,使用以下“/”、“和/或”和“至少一种”中的任一种旨在涵盖仅选择第一列出的选项(A),或仅选择第二列出的选项(B),或选择两个选项(A和B)。作为进一步的示例,在“A、B和/或C”和“A、B和C中的至少一者”的情况下,此类短语旨在涵盖仅选择第一列出的选项(A),或仅选择第二列出的选项(B),或仅选择第三列出的选项(C),或仅选择第一列出的选项和第二列出的选项(A和B),或仅选择第一列出的选项和第三列出的选项(A和C),或仅选择第二列出的选项和第三列出的选项(B和C),或选择所有三个选项(A和B和C)。如对于本领域和相关领域的普通技术人员显而易见的是,这可扩展到所列出的尽可能多的项目。

相关技术
  • 弯梁顶升移动装置、调整系统及调整方法
  • 起重千斤顶的负荷平衡调整方法、调整装置及顶升装置
技术分类

06120116552734