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

用于生成增强现实图像的方法

文献发布时间:2023-06-19 11:54:11


用于生成增强现实图像的方法

技术领域

本发明涉及一种用于生成增强现实图像的方法、执行所述方法的程序、存储设备及装置。

背景技术

移动(mobile)增强现实

近年来,通过安卓(Android)的被成为“ARCore”的AR体验构建平台和苹果移动操作系统(iOS)的被称为“ARKit”的AR开发平台的发布,移动增强现实已经广泛应用。这使得仅使用大多数用户已经随身携带的硬件就可以开发基于真实世界的AR游戏和其它体验。然而,当前的AR平台理解其环境的能力非常有限,导致例如虚拟对象未能被正确地遮挡以及偏离与真实世界的对准等问题。

避免此问题的一种方法是采用环境的现有模型。采用这样的模型还允许动态虚拟对象与真实世界的表面正确地交互且虚拟角色在环境中智能地移动。

这种模型对于地点特定的体验(包括商业促销、主题公园和古迹)可能是实用的。

采用这样的真实世界的模型还允许艺术家和设计师利用环境的特定的几何结构来创建体验。

增强建筑物(Augmented Buildings)

建筑物通常共有使其成为适合AR体验的环境的许多属性:建筑物的几何结构是静态的且是简单的,通常是与公共垂直轴对齐的矩形特征的立方体。另外,由于建筑物的竖直性和较大的规模,所以许多建筑物能够在他人遮挡最小的情况下同时被大量的用户观看。这种大的规模还意味着GPS数据(与罗盘航向和IMU数据结合使用)对于在环境中配准设备的姿态变得是有用的。但是,GPS和罗盘数据都不精确。由于受阻的卫星信号和多径误差,GPS在城市环境中尤其受挫。这种错误引起的视觉错位是非常大的,以至于以前的仅依靠这些数据进行的工作要求用户从预定义的角度查看体验,然后手动调整偏航对准。

相机姿态配准

许多以前的工作已经使用各种计算机视觉技术来获得更精确的相机姿态。丰德(Fond)等(2017)开发了一种系统,使用神经网络而产生有关能与立面(facade)数据库匹配的候选立面区域的各种提示。然而,他们承认,由于卷积神经网络(CNN)描述子(descriptor)对于小的平移的不变性,他们的方法不适用于精确的姿态估计。

发明内容

本文公开的本发明的一目的在于提供一种用于生成增强现实图像的方法,该图像不会偏离与真实世界的对准。

本文公开的其中一个发明涉及一种用于生成增强现实图像的方法。

所述方法包括以下步骤。

借助一便携式计算机终端中的一GPS单元、一罗盘和一惯性测量单元,通过估计所述便携式计算机终端的位置和三维方向,所述便携式计算机终端获取一第一场景的一第一估计的位置和一第一估计的方向。

所述便携式计算机终端利用所述第一估计的位置和所述第一估计的方向而生成所述第一场景的一第一估计的图像。

借助所述便携式计算机终端中的一相机,所述便携式计算机终端获去所述第一场景的一第一相机图片。

所述便携式计算机终端执行所述第一估计的图像与所述第一相机图片之间的一第一图案匹配,以获取所述便携式计算机终端的近似的位置和方向。

所述便携式计算机终端通过偏移至所述便携式计算机终端的一新的可能的位置和方向,来调整所述便携式计算机终端的所述近似的位置和/或方向。

所述便携式计算机终端执行一第二相机图片和一第二场景的一图像之间的一第二图案匹配,以获取所述便携式计算机终端的一当前位置和方向的信息,所述第二相机图片借助所述相机拍摄,而所述第二场景的图像考虑所述便携式计算机终端的所述新的可能的位置和方向来生成。

然后考虑所述便携式计算机终端的所述当前位置和方向,所述便携式计算机终端生成一增强现实图像。

优选地,所述第一图案匹配是关于所述第一场景中的一建筑物来执行的,而所述第二图案匹配是关于所述第二场景中的一建筑物来执行的

本文公开的另一发明涉及一种程序。所述程序具有用于由一处理器执行的执行本文公开的所述的方法的指令。

本文公开的又一发明涉及一种非暂态计算机可读取存储设备。所述非暂态计算机可读取存储设备具有用于由一处理器执行的执行本文所述的方法的指令。

本文公开的再一发明涉及一种用于生成增强现实图像的便携式计算机终端。所述终端包括一处理器、一GPS单元、一罗盘、一惯性测量单元、一相机、一显示器以及一存储设备,所述存储设备具有存储在其上的由所述处理器执行本文所述的方法的一程序。所述GPS单元、所述罗盘、所述惯性测量单元、所述相机、所述显示器以及所述存储设备连结(couple)于所述处理器。

能够基于来自GPS、罗盘和VIO系统(IMU)的不充分精确但可靠的输入数据、相机帧以及当地环境的部分3D模型来提供真实世界空间中的移动设备的位置和方向的实时计算。所述系统然后允许将虚拟内容精确的渲染到直播视频中。

附图说明

图1示出一增强现实(AR)系统的一方框图。

图2是示出涉及一增强现实(AR)系统的一服务器系统的图。

图3是用于示出一计算机的一配置示例的一方框图。

图4是示出用于生成增强现实图像的一方法的一流程图。

图5是实现AR的数据流的一示例的图。

图6是示出一图案匹配的一示例的图。

图7是示出俯视图(Overhead view)的一示例的图。

图8是示出AR图像的一示例的图。

具体实施方式

在下面的说明中,参照了形成说明书的一部分的附图,且在附图中通过图示的方式示出了可以实施的具体实施例。这些实施例足够详细地被说明,以使本领域技术人员能够实施本发明,而且应理解的是,在不脱离本发明的范围的情况下,其它实施例也可以被采用,并且可以进行结构、逻辑和电气上的改变。因此,以下的示例性的实施例的说明不应被认为是限制性的,并且本发明的范围由随附的权利要求书限定。

在一个实施例中,本文说明的功能或算法可以以软件或软件与人工实施的过程的组合来实现。所述软件可由计算机可执行指令构成,且该计算机可执行指令存储在计算机可读介质或者计算机可读存储设备上,该计算机可读存储设备例如是本地或联网的一个或多个存储器或其它类型的基于硬件的存储设备。此外,这样的功能对应于模块,该模块是软件、硬件、固件或它们的任意组合。多种功能可以根据需要在一个或多个模块中执行,并且所说明的实施例仅仅是示例。所述软件可以在数字信号处理器、ASIC、微处理器或者在诸如个人计算机、服务器或其它计算机系统的计算机系统上运行的其它类型的处理器上执行。

图1示出一增强现实(AR)系统的一方框图。图1给人们提供了快速识别哪种设备属于所述系统的一方法。这样一种AR系统为一便携式计算机终端且可为一智能手机(smartphone)、一移动电话(mobile phone)、一平板电脑或一头戴式可穿戴设备。便携式计算机终端包括实施一AR方法的一计算机系统。

如图1所示,系统1的一示例包括一处理器3、一GPS单元5、一罗盘7、一惯性测量单元(IMU)9、一相机11、一显示器13及一存储设备15。所有的部件例如经由总线17连接于处理器且能经由总线17交换信息。该系统1可在一便携式计算机终端19中实现。所述系统还可包含一通常的便携式计算机终端可包含的部件或设备。存储设备15可包含各种应用和各种程序。这样的部件的示例为一通信工具、一扬声器、一麦克风及GPU。惯性测量单元(IMU)9可以是采用加速度计、陀螺仪以及有时还有磁力计的组合来测量所述终端的角速率和方向(orientation)的一电子设备。IMU有时称为INU(惯性导航单元)、IGU(惯性制导单元)以及IRU(惯性参考单元)。罗盘7和惯性测量单元(IMU)9可由能提供所述终端的方向的一程序来实现。

图2示出涉及一增强现实(AR)系统的一服务器系统。如图1所示,所述系统可实施于一便携式计算机终端19中。此外,所述系统可实施于如图2所示的一服务器-客户端系统中。所述系统可为一云系统。在图2中,便携式计算机终端19经由网络22连接于服务器20。本文解释的算术处理的一部分可在云中的服务器上执行。云处理可包括后述的估计的图像的生成和第一及第二阶段的图案匹配(pattern matching)。

图3是用于示出一计算机的一配置示例的一方框图。置于系统1内的电路可包括一控制单元21、一RAM 23、一硬盘驱动器(HDD)25、一声音处理部27、一图形处理部29、存储一程序或多个程序的一存储器37、通信接口31、一接口部33、一帧存储器35。当一程序存储在一卡形式的存储器中时,所述系统可具有一卡槽。控制单元21、RAM 23、硬盘驱动器(HDD)25、声音处理部27、图形处理部29、通信接口31以及接口部33分别连接于一内部总线41。

包括一CPU、一ROM等的控制单元21根据存储在HDD 25或存储器37中的控制程序来控制整个AR系统。控制单元21设有一内部计时器,内部计时器例如用于产生定时器中断(timer interrupt)。RAM 23还用作控制单元21用的一工作区。

设有用于执行声音信号的D/A和A/D转换的一声音输入/输出接口功能的声音处理部27连接于例如由一扬声器构成的一声音输出设备43。声音处理部27根据来自依据各种控制程序而执行处理的控制单元21的声音输出指令将声音信号输出至声音输出设备43。

图形处理部29连接于显示设备49,显示设备49具有第一图像显示部51。图形处理部29根据来自控制单元21的绘图(drawing)指令将图像分配给帧存储器35并且还将用于在图像显示部51显示图像的视频信号输出给显示设备49。

通信接口31可有线或无线地连接于另一系统,并且还能够连接于诸如因特网的一通信网络。系统1利用通信接口31的通信功能而能与另一游戏机通信。

操作输入部39、存储器37以及触摸屏45连接于接口部33。接口部33将来自基于用户的操作的操作输入部39的指令数据和基于用户使用一手指或一触控笔47等对触摸屏45的操作的指令数据存储在RAM 23上。然后,控制单元21根据RAM 23中存储的指令数据来执行一算术处理。

触摸屏45堆叠(stacked)在图像显示部51的两个或其中任一个的显示器屏幕的侧方。由此,控制单元21根据由一玩家进行的操作输入,通过管理/控制在触摸屏45被堆叠的两个或其中任一个的图像显示部51的该侧方显示的定时(timing),利用触控笔47等的对触摸屏45的操作的定时以及位置坐标,来识别输入信息。显示设备49可以用一个图像显示部来配置显示器屏幕,来代替具有多个诸如图像显示部51的图像显示部。

接口部33根据来自控制单元21的指令来执行处理,例如将存储在RAM 23中的示出游戏的进程(progress)的数据存储在插入到卡槽37中的记录介质70中,或者读取在中断时存储在记录介质70中的游戏数据并将数据传送给RAM 23。

控制单元21根据加载到RAM 23中的控制程序来执行各种处理,例如将绘图指令输出给图形处理部29,或者将声音输出指令输出给声音处理部27。当控制单元21正在执行处理时,根据游戏进程而在中间(intermediately)产生的数据存储于用作工作存储器的RAM23中。

图4是示出用于生成增强现实图像的方法的流程图。图5是实现AR的数据流的一示例。图5中的罗盘可包含IMU。如图5所示,系统可包含虚拟输入/输出(VIO)系统。

该过程粗估计一便携式终端的位置和方向且包括步骤1和步骤2。

步骤1

作为一终端的一便携式计算机终端通过利用便携式计算机终端中的一GPS单元、一罗盘以及一惯性测量单元(IMU)来估计便携式计算机终端的位置和三维方向(three-dimensional orientation),从而获得一第一场景的一第一估计的位置和一第一估计的方向(orientation)。GPU单元能够获得所述终端的粗位置。罗盘和IMU能够获得三维方向。即,位置来自GPS单元。俯仰和滚转方向来自加速度计(在IMU中),而偏航来自罗盘。

步骤2

便携式计算机终端利用第一估计的位置和第一估计的方向而生成第一场景的一第一估计的图像。所述终端的存储器存储取自各个方向的所述场景的各种三维模型的图像。三维模型可以是包括一个或多个建筑物的一渲染图像。所述终端利用第一估计的位置和第一估计的方向来读取在所述存储器中存储的图像的候选者。然后,所述终端利用第一估计的位置及方向来投影所述场景的一3D模型投影而生成所述场景的一估计的图片。所述终端可以从所述存储器读取各种候选者来作为估计的图像,而可以在下面的步骤4中使用。

该过程获得所述终端的相对精确的近似的位置和方向且包括步骤3和步骤4(或步骤3至步骤5)。

步骤3

便携式计算机终端通过相机来获得所述第一场景的一第一相机图片。第一相机图片可以是存储在所述终端中的存储器中。所述终端可连续地拍照且可连续地存储图片。

步骤4

便携式计算机终端执行第一估计的图像和第一相机图片之间的一第一图案匹配,以获得便携式计算机终端的近似的位置和方向。该步骤涉及宽基线图案匹配。优选地,第一图案匹配是关于第一场景中的一建筑物而被执行。用于匹配两个图像的方法是公知的。用于图案匹配的一个示例是将图像和/或图片转换成3D点且匹配利用转换后的3D点来执行。在执行匹配时,图像、图片以及3D点的聚集的大小和角度采用常规的方法来调整。如果匹配未找到,则可返回步骤1,以获得所述终端的近似的位置和方向。当过了预定的时间但未找到匹配时,处理器可确定匹配未找到。进一步地,当匹配失败连续预定的次数时,处理器可确定匹配未找到。

图6示出一图案匹配的一示例。左侧的图为相机拍摄的图片。右侧的图是用于匹配的作为估计的图像和候选者的三维模型。上方的图像即第一估计的图像不匹配该图片。然后,终端执行第一相机图片和第二估计的图像(图6的右侧中间的图像)之间的图案匹配。终端执行图案匹配并认识到(realizes)第二估计的图像不匹配该图片。然后,终端执行第一相机图片和第三估计的图像(图6的右侧最下面的图像)之间的图案匹配。在这种情况下,匹配被找到。

步骤5

便携式计算机终端通过偏移至便携式计算机终端的一新的可能的位置和方向来调整便携式计算机终端的近似的位置(和/或方向)。例如,考虑所述场景的三维模型和相机拍摄的图片来调整位置。

在图6的情况下,第一相机图片和第三估计的图像是匹配的,因为3D点及其关系匹配。然而,图片和图像的大小不相同。考虑大小、与建筑物的距离(即终端的位置)而被调整。

如果第一估计的图像和第一相机图片被评估为相同,那么在步骤4中采用的位置和方向是正确的。由此,可以跳过步骤5。如果在步骤5的初始图案匹配不成功,则终端可返回到步骤4。

该过程是即使终端的位置和方向变化也维持位置和方向估计随时间的准确性(accuracy),且包括步骤6。

步骤6

步骤6涉及如果步骤5是成功的那么就执行窄基线图案匹配并设定估计的设备位置和方向。便携式计算机终端执行第二场景的一第二相机图片和第二场景的一图像之间的一第二图案匹配,以获得便携式计算机终端的一当前位置和方向的信息,第二相机图片由相机拍摄,而第二场景的图像考虑便携式计算机终端的新的可能的位置和方向来生成。优选地,第二图案匹配是关于第二场景中的一建筑物而被执行。便携式计算机终端的新的可能的位置和方向借助新的图案匹配而无需利用GPS单元、罗盘和IMU来计算。当过了预定的时间但未找到匹配时,处理器可确定匹配未找到。进一步地,当匹配失败连续预定的次数时,处理器可确定匹配未找到。

该过程创建一AR图像且包括步骤7。

步骤7

然后便携式计算机终端考虑便携式计算机终端的当前位置和方向而产生一增强现实图像。

增强现实图像在便携式计算机终端的显示器上显示。如果自最后一次的成功匹配过了一定的时间,就返回步骤1;否则返回步骤6。

图7示出俯视图的一示例。图7示出罗盘航向(Compass Heading)、GPS位置、变化的相机位置、相机视角(Camera View)(在近配准状态下)、校正的(corrected)VIO位置(在校正时)以及VIO原点(Origin)的一示例。

在上述方法中,当存在相对较大的相机姿态不确定性时,执行远配准。在该状态下,虚拟对象不被渲染。这作为特征点匹配来实现。

当假定相对较小的相机姿态不确定性时,执行近配准。在该状态下,虚拟对象被渲染。这适合于将虚拟几何结构保持锁定于真实世界的图像帧。该状态可以作为两个边缘图像之间的光流(optical flow)来实现。

本文公开的另一发明涉及一种程序。所述程序具有由一处理器执行的指令,以执行本文公开的所述的方法。本文公开的又一发明涉及一种非暂态计算机可读取存储设备。该设备具有用于由一处理器执行的指令以执行本文所述的方法。

本文公开的再一发明涉及一种用于生成增强现实图像的便携式计算机终端。所述终端包括一处理器、一GPS单元、一罗盘、一惯性测量单元、一相机、一显示器以及一存储设备,该存储设备具有存储在其上的程序,以便由所述处理器执行本文所述的方法。所述GPS单元、所述罗盘、所述惯性测量单元、所述相机、所述显示器以及所述存储器连结于所述处理器。

本说明书还提供一种用于生成增强现实图像的系统,包括:

位置方向获取单元,其借助一便携式计算机终端中的一GPS单元、一罗盘和一惯性测量单元,通过估计所述便携式计算机终端的位置和三维方向,而获得一第一场景的一第一估计的位置和一第一估计的方向;

估计图像生成单元,其利用所述第一估计的位置和所述第一估计的方向,生成所述第一场景的一第一估计的图像;

第一相机图片获取单元,其借助所述便携式计算机终端的一相机而获取所述第一场景的一第一相机图片;

第一图案匹配单元,其执行所述第一估计的图像和所述第一相机图片之间的一第一图案匹配,以获得所述便携式计算机终端的近似的位置和方向;

调整单元,其通过偏移至所述便携式计算机终端的一新的可能的位置和方向,来调整所述便携式计算机终端的所述近似的位置和/或方向;

第二图案匹配单元,其执行一第二相机图片和一第二场景的一图像之间的一第二图案匹配,以获得所述便携式计算机终端的一当前位置和方向的信息,所述第二相机图片借助所述相机拍摄,而所述第二场景的图像考虑所述便携式计算机终端的所述新的可能的位置和方向而生成;以及

增强现实图像生成单元,其考虑所述便携式计算机终端的所述当前位置和方向,生成一增强现实图像。各单元可由一设备或一部件来替代。所述程序可具有用于使计算机用作上述系统的指令。

1、方法

尽管出于其它原因选择了用于开发和测试的建筑物,但它代表了现代城市建筑中出现的许多具有挑战性的属性。一些立面部分主要由砖块构成,但是建筑物的大部分表面积是由不规则的窗户组构成的,窗户以不同的水平和竖直角度伸出。在没有直射阳光的情况下,建筑物的砖面之间的边缘并不明显,并且窗面常相对(against)其反射的天空没有一致或强(strong)的边缘。建筑物的表面还具有大量的具有强竖直对齐斜度(gradient)的组成部分。因此,阿尔特(Arth)等人的方法(2015)被认为是不合适的。更一般地说,被认为可能的是,用户离建筑物足够近,以致不能假设多个立面边缘会同时可见的。

1.1建筑物模型

一3D模型利用卫星图像的测量为目标建筑物创建,并利用从地面拍摄的照片进行纹理处理。这些照片是在强阴天的天气条件期间拍摄的,以避免强烈的定向光照(lighting)效果并简化天空的反射的结构。尽管保留靠近建筑物的一些小树,但所述纹理大范围无遮挡物。模型几何结构使用少量的大面(large faces)创建,这些大面不包括在独立的砖之间的起伏和不规则的窗段之间的方向上的低层次(lower-level)差异;但是,该建筑物的形状和尺寸在高层次(higher-level)上得以保留。除了标准的漫反射纹理外,还创建了代表模型窗口区域的二进制纹理。这样做的目的是允许将简单的虚拟光照效果精确地渲染到建筑物上。例如,虚拟光应仅在窗户上被反射,而仅在非窗口区域上投射阴影。对于因反射使对应关系不可靠的区域,此纹理也可合适地用作遮罩,尽管这不在本工作的范围之内。

1.2系统设计

系统的核心设计涉及从初始的相机姿态渲染建筑物的3D模型的图像(以及相应的深度图)。该姿态的位置来自设备的GPS数据。俯仰和滚转方向来自设备的加速度计(通过ARCore)而偏航来自设备的罗盘。然后使用BRISK特征在该渲染图像和当前相机帧之间执行特征检测和匹配。然后利用深度纹理中编码的深度将模型上的特征点转换为相机空间中的3D点,并使用RANSAC方法查找图像之间的平移和旋转。尽管在某些条件下是成功的,但由于多种原因,该技术常会失败。其中一些与建筑物的特性有关。表示砖拐角的特征在匹配上大都失败,这可能是由于在规则的重复图案中缺少特征。图案中的间隙的拐角在检测和匹配上更为成功。但是,它们的三维性质意味着,由于3D模型的几何简单性,从锐度(acute)的角度来看,它们无法准确地表示。

一般而言,光照是另一个主要问题。由于环境在户外,所以光照取决于一年中的时间、一天中的时间和当地的天气状况;然而,与例如视觉里程计或立体深度感测等特征匹配的其它应用不同,在两组特征之间不存在时间上的接近。另一个问题是由于初始姿态估计与真实姿态之间的差异而导致的特征的仿射扭曲(affine warping)。扭曲严重降低了两帧匹配的可能性。这个问题的程度可以认为与GPS的误差的尺度成正比,而和设备与建筑物之间的距离成反比。事实上,在许多测试情况下,前者要明显大于后者,并且GPS位置被报道为位于建筑物内部。为了缓解这个问题,开发了一种启发式(heuristic)方案,将相机约束到距建筑物一定距离更远的视点,然后在每次失败的匹配尝试之后改变相机姿态估计,直到成功为止。这种改变是通过从初始的约束位置经过一组位置偏移的循环来实现的。出于实施原因以及避免在建筑物的覆盖区(footprint)的凹的部分(concave section)周围的某些边缘情况,距离约束定义为与建筑物模型的凸包(convex hull)的距离。

除了位置偏移之外,方向也改变,以确保在严重的罗盘误差的情况下真实区域的覆盖。虽然此特征匹配能够检测和匹配砖立面的特征,但是由于多种原因,它在开窗的立面上是很困难的。首先,窗户反射了该建筑物的其它部分以及附近建筑物的部分。甚至云的移动也足以改变特征的相对强度。其次,多个窗户本身的参差不齐的布置不仅使这些反射更加不连续且难以预测,而且使它们的到平面纹理的映射的精确性降低。此外,窗户内最强的特征通常是建筑物内的办公室中的天花板灯的阵列。这些在常规办公时间以外捕获的纹理图像中是不存在的。尽管这些灯的静态的规则的和发射的性质使其成为进一步研究时令人感兴趣的候选对象(尤其是在一天中的较暗的时候),但依赖它们会增加建模过程的复杂性,而且不可能一周中的所有天数都是如此。为了解决这些问题,调查研究了其它解决方案。一第二种技术被识别出具有某些互补特性。首先,获得针对两个图像的拉普拉斯过滤器(Laplacian filter)的绝对输出。然后,假定表观平移(apparent translation)因立面的平面性质而非常平滑,采用稠密逆搜索光流算法(dense inverse search optical flowalgorithm)快速查找两个图像之间的对应关系。稠密逆搜索光流算法的示例可以在文献(Kroeger,T.,Timofte,R.,Dai,D.and Van Gool,L.,2016,October.Fast optical flowusing dense inverse search.In European Conference on Computer Vision(pp.471-488).Springer,Cham.)中找到,该出版物出于任何目的通过援引其整体上在此并入本文。

在跨越整个相机图像的一网格图案中的像素子集连同它们在模型图像中的对应像素位置被选择。未落在模型上的那些将从集合中去除。与基于特征的方法一样,剩余的模型点不投影回到3D,并且基于RANSAC的算法用于在两个图像之间找到3D变换。该光流方法最终证明是在匹配多个窗口区域方面比特征匹配更加成功且更快。但是,它还需要更精确的初始相机姿态估计并且对大型遮挡物的鲁棒性(robust)较差。

双模配准(bimodal registration)

为了平衡这两种方法的优缺点,采用了混合方法。最初,系统处于不确定(non-confident)状态,在这种状态下,无法确信从GPS和罗盘输入导出的相机姿态的精确性,并且因此不会将任何虚拟内容显示给用户。由于它对于初始位置误差具有更好的鲁棒性,所以采用特征匹配例程来尝试精确(refine)相机姿态。一旦实现这一点,配准的相机姿态与VIO姿态之间的转换就被计算出并用于将VIO系统的坐标空间的原点定位并定向在绝对世界坐标中。一旦以这种方式建立基础(grounded),VIO系统就充分顺利且快速地进行跟踪,以在逐帧的基础上将虚拟几何结构锁定于建筑物。但是,VIO也可能会缓慢偏离对准,因此有必要继续定期执行配准。然而,此时系统会切换到光流配准,因为它具有足够精确的姿态估计,并且当用户在窗户立面上摇摄(pan)时,这种模式允许更频繁地且更可靠地进行校正。在这种模式下,不执行姿态变化。尽管如此,还有某些情况会导致光流配准失败。最常见的是,用户仅仅将电话确定在远离建筑物的方位。如果这只是暂时的,则系统可以恢复跟踪。然而,如果用户漫游得足够远或者VIO系统失去跟踪(例如,当相机被遮盖时),则相对VIO姿态的误差可能太大而无法成功配准。考虑到这一点,如果经过了一定数量的连续的帧或秒而配准都失败,则系统将切换回基于特征的匹配。如果VIO姿态仍然有效,则将其保留为额外的姿态变化以进行测试。该系统还包含许多其它启发式方法(heuristics)来提高性能和鲁棒性。一种只是在相机的俯仰低于某个阈值时不试图进行任何配准。这是因为从用户的视点看,建筑物几乎完全在地平线之上,并且因诸如灌木和人的遮挡物,较低角度的视觉信息不太可靠。另一个是拒绝决定距离GPS预测超过某个阈值的姿态的配准。这避免了某些变质(degenerate)情况造成的偶然性的大的误差。

图8示出了AR图像的一示例。如图所示,一飞机在建筑物周围飞行,一龙在建筑物的顶部,一气球漂浮在建筑物的周围,且气球的阴影显示在建筑物的侧壁上。

实施

系统的更高阶(higher level)是通过Unity利用ARCore进行底层VIO跟踪来实施的。更低阶(lower level)的图像处理组件是在C++下采用OpenCV编写的。

尽管上面已经详细说明了一些实施例,但是其它修改也是可能的。例如,附图中示出的逻辑流程不要求所示的特定顺序或依次顺序来实现所需的结果。可以在所说明的流程中提供其它步骤,或者可以去除步骤,并且可以向所说明的系统添加其它组件或从所说明的系统中删除其它组件。其它实施例可以处于后面的权利要求的范围内。

工业实用性

本文所述的方法和系统的示例性的实施可在娱乐行业中有用。

相关技术
  • 增强现实图像的生成方法、装置、增强现实眼镜及终端
  • 图像检索数据库生成方法、增强现实的方法及装置
技术分类

06120113097655