虚实叠加应用的相机世界坐标位置获取方法、装置和系统与流程

文档序号:21369397发布日期:2020-07-04 04:45阅读:427来源:国知局
虚实叠加应用的相机世界坐标位置获取方法、装置和系统与流程

本申请涉及增强现实技术(augmentedreality,ar)、混合现实(mixedreality,mr)应用技术领域,主要是涉及一种虚实叠加应用的相机世界坐标位置获取方法、装置和系统,更具体地,涉及一种在虚实叠加场景中跟踪定位相机以持续获得相机位置和姿态的方法、装置和系统。



背景技术:

增强现实是在观察到的真实场景中叠加虚拟物体,利用虚拟物体“增强”真实世界:比如在空屋子里“摆放”虚拟家具。发明所来源的增强现实应用是一个环境感知应用,其目标是利用增强现实技术为使用者以所见即所得的方式提供周边环境信息,其中最重要的是提供视野内所见物体、设施的相关信息。例如,对于建筑,提供其名称和功用;进一步地,可以提供其轮廓尺寸;更进一步地,可以将其内部结构信息与视野内影像叠加,实现“透视”显示。

从具体的使用场景看,ar包括以下几种情况:一种是用于户外导航,例如,通过gps等对建筑物或者街道进行定位,根据用户的位置对用户周围的地标、道路等等进行位置提示。但是该方法的缺点在于,定位精度低,当用户在建筑物非常集中的区域或者在某个建筑物内时,很难准确判断用户的相对位置,进而难以实现精确地定位和现实增强;另一种是用于室内应用,例如,展馆、科技馆等,ar技术能够对特定展品呈现其相关信息,例如,在虚拟的桌面或橱窗内显示虚拟物品或者虚拟装饰等。但是该方法的缺点在于,用户无法获得准确的绝对位置,从而无法将基于绝对位置记录、表达的信息,例如,某个经纬度坐标对应的兴趣目标名称等与现实场景进行增强。



技术实现要素:

本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。

根据本申请的第一个方面,提供了一种相机世界坐标位置获取方法,该方法包括:

概略位置获取步骤:获取相机在世界坐标系中的概略位置;

待校准位置确定步骤:基于相机的已知精确位置和该相机拍摄的图片,确定该相机的待校准位置;

精确位置确定步骤:基于所述概略位置和所述待校准位置中的一个以及相机视野内的视觉标志物在所述世界坐标系中的世界坐标,确定该相机的所述精确位置。

该方法采用世界坐标和同步跟踪定位相结合的方式,能够获得相机的绝对位置,弥补了两种方法的不足,计算实时快捷,定位结果准确,从而为后续的位置数据的应用提供了很好的数据基础和来源。

可选地,所述待校准位置确定步骤包括:

初始化步骤:在存在所述精确位置的情况下,将该精确位置作为初始化位置。

可选地,所述待校准位置确定步骤还包括:

位姿计算步骤:以相机连续拍摄的图片作为数据输入,控制视觉里程计持续输出位移信息和姿态信息;

待校准位置转换步骤:将所述视觉里程计的输出转换为待校准位置。

可选地,所述精确位置确定步骤包括:

视觉标志物筛选步骤:基于所述概略位置、所述待校准位置或前次的精确位置在筛选范围内确定候选视觉标志物集合;

视觉标志物匹配步骤:基于所述候选视觉标志物集合确定相机视野内的视觉标志物;

精确位置计算步骤:根据该相机与该视觉标志物之间的空间关系确定该相机的所述精确位置。

可选地,所述视觉标志物匹配步骤包括:对该相机拍摄的图片进行特征提取,并且与所述视觉标志物集合中的视觉标志物进行相似度比较,从而确定相机视野内的视觉标志物。

根据本申请的第二个方面,提供了一种虚实叠加应用的相机位置获取装置,包括:

概略位置获取模块,其配置成用于获取相机在世界坐标系中的概略位置;

待校准位置确定模块,其配置成用于基于相机的已知精确位置和该相机拍摄的图片,确定该相机的待校准位置;

精确位置确定模块,其配置成用于基于所述概略位置和所述待校准位置中的一个以及相机视野内的视觉标志物在所述世界坐标系中的世界坐标,确定该相机的所述精确位置。

该装置采用世界坐标和同步跟踪定位相结合的方式,能够获得相机的世界坐标绝对位置,弥补了两种方法的不足,计算实时快捷,定位结果准确,从而为后续的位置数据的应用提供了很好的数据基础和来源。

可选地,所述精确位置确定模块包括:

视觉标志物筛选模块,其配置成用于基于所述概略位置、所述待校准位置或前次的精确位置在筛选范围内确定候选视觉标志物集合;

视觉标志物匹配模块,其配置成用于基于所述候选视觉标志物集合确定相机视野内的视觉标志物;

精确位置计算模块,其配置成用于根据该相机与该视觉标志物之间的空间关系确定该相机的所述精确位置。

根据本申请的第三个方面,提供了一种虚实叠加应用的相机位置获取系统,包括:

世界坐标定位模块,其配置成用于获取相机在世界坐标系中的概略位置;

同步跟踪定位模块,其配置成用于根据相机的已知精确位置和所拍摄图片确定待校准位置;

视觉标志物定位模块,其配置成用于根据所述世界坐标定位模块输出的所述概略位置和所述同步跟踪定位模块输出的待校准位置中的一个以及相机视野内的视觉标志物在所述世界坐标系中的世界坐标确定所述精确位置;

位姿管理模块,分别与所述世界坐标定位模块、所述同步跟踪定位模块和所述视觉标志物定位模块连接,其配置成用于保存所述概略位置、所述待校准位置和所述精确位置以供调用。

该系统在实现上具有易实施、可扩展的优点,在使用上具有通用性强、适应性强的优点,在性能上有精度够高,运行稳定、鲁棒性高的优点。该方案能够实现更为通用、适应性更强的大场景、小尺度相机定位方法,改善和解决现有跟踪定位系统中移动定位困难、户外小尺度定位困难、无绝对位置记录的问题。

根据本申请的第四个方面,提供了一种计算设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述的方法。

根据本申请的第五个方面,提供了一种计算机可读存储介质,优选为非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现如上所述的方法。

根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解的是,这些附图未必是按比例绘制的。在附图中:

图1是运行根据本申请一个实施例的计算机装置硬件结构示意图;

图2是根据本申请的一个实施例的虚实叠加应用的相机位置获取系统的示意性框图;

图3是根据本申请的一个实施例的虚实叠加应用的相机位置获取方法的示意性流程图;

图4是根据本申请的一个实施例的方法的待校准位置确定步骤的示意性流程图;

图5是根据本申请的一个实施例的方法的精确位置确定步骤的示意性流程图;

图6是根据本申请的一个实施例的虚实叠加应用的相机位置获取装置的示意性框图;

图7是本申请的计算设备的一个实施例的框图;

图8是本申请的计算机可读存储介质的一个实施例的框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请提供了一种虚实叠加应用的相机世界坐标位置获取方法、装置和系统的实施例。需要说明的是,在附图的框图或者流程图示出的模块或步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请所提供的方法、装置和系统的实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于本申请系统、方法和装置的计算机装置(或移动设备)的硬件结构框图。如图1所示,计算机装置10(或移动设备10)可以包括一个或多个处理器(图中采用102a、102b,……,102n来示出,处理器可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机装置10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机装置10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。

存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的装置和方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机装置10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机装置10的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机装置10(或移动设备)的用户界面进行交互。

在一个可选的实施方案中,本申请提供了一种虚实叠加应用的相机世界坐标位置获取系统,该系统可以在上述计算机装置的运行环境下,通过软件模块实现,也可以基于该计算机装置通过硬件模块的搭建实现。图2是根据本申请的一个实施例的虚实叠加应用的相机世界坐标位置获取系统的示意性框图。该系统可以包括以下模块:

世界坐标定位模块12,其配置成用于获取相机在世界坐标系中的概略位置;

同步跟踪定位模块13,其配置成用于根据相机的已知精确位置确定待校准位置;

视觉标志物定位模块14,其配置成用于根据所述世界坐标定位模块输出的所述概略位置和所述同步跟踪定位模块输出的待校准位置中的一个以及相机视野内的视觉标志物在所述世界坐标系中的世界坐标确定所述精确位置;

位姿管理模块11,分别与所述世界坐标定位模块12、所述同步跟踪定位模块13和所述视觉标志物定位模块14连接,其配置成用于保存所述概略位置、所述待校准位置和所述精确位置以供调用。

其中,世界坐标定位模块12可以包括依次连接的以下模块:

定位请求模块,用于向定位系统发送相机的定位请求;

概略位置获取模块,用于接收定位系统发回该相机的概略位置;

位置信息输出模块,用于将所述概略位置输出给位姿管理模块。

在该模块中,世界坐标定位作为全局初始化过程,以及特殊情况的后备过程提供低精度、大尺度连续的位置输出,即概略位置;世界坐标定位提供冗余的、大尺度的定位,第一个作用是为视觉标志物的筛选提供支持:通过世界坐标定位,更大范围内的绝大多数标志物剔除,有效降低匹配的计算量。和视觉里程计位置的筛选不同,后者确定的是更小尺度,通常视距范围内、全球定位精度范围外的尺度。第二个作用用于在提高定位过程的鲁棒性:在户外大场景的连续运动中,可能无法获得足够的视觉标志物;同时同步跟踪定位的视觉里程计依托的视觉处理算法在剧烈运动等情况下可能失效,依托世界坐标定位在这些情况下维持系统的输出,其他时候世界坐标定位系统的结果不参与定位过程。

其中,同步跟踪定位模块13可以包括依次连接的以下模块:

初始化与修正模块,用于根据位姿管理模块输出的相机的已知精确位置进行相机位置的初始化与修正;

视觉里程计,根据相机连续拍摄的图片计算相机位移信息和姿态信息,其中,视觉里程计可以是视觉slam里程计,位移信息和姿态信息可称为视觉里程;

待校准位置输出模块,用于根据相机的视觉里程计输出的视觉里程数据,计算世界坐标系下的待校准位置,并输出给位姿管理模块。

在该模块中,同步跟踪定位是一个迭代过程,通过当前及历史连续的位置计算相机的下一个位置。计算结果是相对于初始值的位置改变。因此需要输入一个通过视觉标志物获得的初始值。在迭代中,误差逐渐累积,以不断更新的视觉标志物空间方位信息作为理论值,修正视觉里程计的计算值,重新启动迭代过程。同步跟踪定位的主要作用是保证定位连续性,基于一定频率的动态画面,能够在步行等小尺度的场景变化条件下持续获得精确、基本连续的相机姿态数据。单独的同步跟踪定位模块由于只能提供小尺度的相对位置,无法在所要求的场景中提供位姿,不能为系统提供有效输出。

其中,视觉标志物定位模块14可以包括依次连接的以下模块:

视觉标志物筛选模块,用于根据位姿管理模块输出的相机的概略位置和待校准位置中的一个或者精确位置输出模块输出的精确位置对相机周围的视觉标志物进行筛选;

视觉标志物匹配模块,用于根据相机拍摄的图片进行视觉标志物匹配;

精确位置输出模块,用于确定相机的精确位置并输出给位姿管理模块。

在该模块中,视觉标志物的搜索和匹配也是一个迭代过程。视觉标志物是一个空间物体,其世界坐标位置经过测量并被认可(认为是准确的),其尺度(长宽高)已知,并有视觉数据(图像)作为附加属性。根据当前位置,按照一定范围搜索筛选已知的视觉标志物,建立候选集合;根据当前相机位置和候选标志物的世界坐标位置,结合相机参数能够确定当前场景中哪些标志物“可见”,计算其位于场景(照片)的位置。出现在当前场景中的标志物的已知世界坐标位置和场景位置,作为锚点(视觉控制点)提供给同步跟踪定位模块,用于修正计算过程,世界坐标位置作为理论精确值为同步跟踪定位计算提供迭代的新起点(位置初始值)。通过视觉标志物匹配,提升了定位过程的精度和稳定性。如果没有更新的基准位置,视觉标志物的匹配可能基于初始值或者最近匹配的标志物来确定基准搜索位置。最坏的情况是在全部标志物集合中搜索。

标志物需要预先采集制作,包含所在位置的精确坐标,且需要满足如下特征:

(1)可辨别性:标志物的目标作用是区别周边物体又便于识别。

(2)平移旋转和尺度不变性:所提取目标的形状描述不受自身所处位置、角度和尺度变化影响。

(3)仿射不变性:仿射变换实现的是一个二维坐标与另外一个二维坐标之间的映射,并保留映射连线。标志物所提取的特征需要在仿射变换的情况下尽可能保持不变。

(4)抗噪声性:具备对噪声的抗干扰鲁棒性。

标志物的特征包括颜色特征、纹理特征、形状特征、空间关系特征。标志的匹配可以通过多种方式实现,如平均哈希值算法、感知哈希算法、基于opencv的图像识别算法等等。可利用现成的(开源或商业)软件获得此功能。

其中,位姿管理模块11用于保存上述各个模块的计算结果以供各个模块调用,并且输出相机的精确位置,以便进行虚实匹配。

该系统通过视觉里程计迭代、视觉标志物定位迭代以及二者的循环,能够持续输出小尺度的精确位置。同步跟踪定位和视觉标志物定位两个过程不断循环,实现了持续的精确定位:同步跟踪定位依靠视觉里程计持续计算当前相机位姿,并依靠视觉标志物提供的世界坐标位置进行世界坐标的配准,获得精确坐标定位;视觉标志物也是同步跟踪定位修正累积误差的控制点:基于视觉标志物的位置,同步跟踪定位可以重置迭代计算的初始值;同步跟踪定位输出的当前位置(世界坐标)又反过来为视觉标志物的搜索提供视野的基准位置,以同步跟踪定位输出的当前位置作为中心位置,确定搜索视觉标志物的范围。三者输出有效性对于系统输出的影响见如表一所示:

表一

该系统在实现上具有易实施、可扩展的优点,在使用上具有通用性强、适应性强的优点,在性能上有精度够高,运行稳定、鲁棒性高的优点。该方案能够实现更为通用、适应性更强的大场景、小尺度相机定位方法,改善和解决现有跟踪定位系统中移动定位困难、户外小尺度定位困难、无绝对位置记录的问题。

本申请采用世界坐标进行定位,符合应用系统中对于位置信息的使用要求;采用基于视觉里程计的同步定位跟踪作为小尺度精确定位方法,可以提供无源定位,不会受到基站信号强弱影响、运动范围大、设备要求简单,目前在短距离、小范围内提供有效输出的视觉里程计方法多种多样,移动设备上的运行效率也满足要求;采用视觉标志物进行初始化和修正,有效利用业务场景中可采集的空间对象信息,形成世界坐标空间的“控制点”,既能够充分利用视觉里程计小范围内相对定位的精确性,也能够及时消除视觉里程计的累积误差,保证定位精度的连续;同时能够在视觉里程计失捕时快速恢复系统能力,保证位置输出的稳定性。在大范围的应用场景中,为保证视觉定位的精确度,需要设置相当数量的视觉标志物。但是随着视觉标志物数量的上升,视觉特征匹配的复杂度也会相应增大。为降低视觉匹配复杂度,提高计算性能,全球卫星导航系统作为筛选参数引入。该方案对硬件设备要求低,在目前主流的移动终端,例如智能手机上即可使用。其中,视觉里程计方法可选用不同传感器,适应多种场景的不同需要形成不同精度等级和性能的具体实现,使得方案整体适应性提高;同时在系统设计时能够做到保持输入输出不变进行算法实现的替换,因此能够随着算法改进和传感器发展动态升级。视觉标志物利用指定位置的精确坐标,散布在环境中形成了“控制点”的作用,提供了一种大、中尺度的离散定位能力。

第一方面,本申请解决了相机的世界坐标定位问题。在很多实际应用中,对于客观世界的位置表述都是通过世界坐标的,只有世界坐标才能唯一标识一个位置。ar应用如果要对客观世界物体进行信息增强,使用已知的信息作为虚拟信息叠加到场景中,都需要支持世界坐标的使用。另外,如果是对于特定客观物体进行增强,也必须是在基于真实客观世界位置的前提下才能发现并确定物体。虚拟场景和真实场景没有关联的ar应用,才能够使用相对位置:比如可以在找到的桌面、墙面上布放虚拟物体,不关心这个桌面、墙面甚至房间的具体位置,最多关注内部空间关系。本申请的方案也能够解决在建筑物等小范围区域内获得真实世界位置的问题。

第二方面,本申请解决大场景中多尺度连续相机定位问题。在真实场景中,如果在室内外混合的较大范围运动的情况下,需要在较长距离移动中保持连续的相机位姿输出能力。目前典型的深度感知设备(如kinect)可以在3m至12m之间实现精度约3cm的定位,本申请的方案具备在500米,甚至更远的距离上得以保持定位精度的效果。

本发明提供的多尺度融合跟踪定位方法,通过世界坐标定位系统获得概略位置,通过同步跟踪定位系统获取连续位姿,实现小尺度的定位;通过时空标志物建立定位锚点,在大场景和长距离中保持小尺度精确定位的连续性,同时提供中尺度的精确定位。通过三种方式的融合实现世界坐标下连续稳定的精确相机世界坐标位置获取。

在另一个可选的实施方案中,本申请还提供了一种相机世界坐标位置获取方法。该方法可以应用于虚实叠加。该方法可以表现为上述系统的运行逻辑,也可以是独立运行在计算机装置10环境下的方法。图3是根据本申请的一个实施例的虚实叠加应用的相机世界坐标位置获取方法的示意性流程图。该方法可以包括以下步骤:

s100概略位置获取步骤:获取相机在世界坐标系中的概略位置;

s200待校准位置确定步骤:基于相机的已知精确位置和该相机拍摄的图片,确定该相机的待校准位置;

s300精确位置确定步骤:基于所述概略位置和所述待校准位置中的一个以及相机视野内的视觉标志物在所述世界坐标系中的世界坐标,确定该相机的所述精确位置。

该方法采用世界坐标和同步跟踪定位相结合的方式,能够获得相机的世界坐标绝对位置,弥补了两种方法的不足,计算实时快捷,定位结果准确,从而为后续的位置数据的应用提供了很好的数据基础和来源。

可选地,在s100概略位置获取步骤中,可以调用全球定位系统功能,利用,通过调用定位系统的接口实现相机的世界坐标的获取,定位系统包括但不限于:gps、北斗、glonass、galileo、gnss等定位系统;世界坐标可以包括经度、纬度,也可以包括高度。通过配置相关硬件部件并且安装相关的驱动程序,按照一定频率,例如fg,读取相机在定位系统中的位置坐标,fg通常为低频。例如,pg(lat,lon,alt),可以将该位置坐标作为概略位置,其中,lat、lon、alt分别表示纬度、经度、高度。可以设相机的世界坐标位置参数为pdx,pdx中可以包括以下数据中的一个或多个:lat、lon、alt、source、timestamp、偏转角等。其中,偏转角可以用欧拉角rot(x,y,z)表示;source表示数据来源,在本文中,source=1,表示数据来源于世界坐标定位模块,source=2,表示数据来源于同步跟踪定位模块,source=3,表示数据来源于视觉标志物定位模块;timestamp表示时间戳。

在获得概略位置pg后,可以将pg赋值给pdx,并且pdx的参数可以设置如下:pdx.source=1,pdx.loc=pg,时间戳为当前时间,偏转角pdx.rot为零;其中,loc表示位置坐标。pdx可以存储在位姿管理模块中。

图4是根据本申请的一个实施例的方法的待校准位置确定步骤的示意性流程图。参照图4,可选地,s200待校准位置确定步骤可以包括:

s210初始化步骤:在存在所述精确位置的情况下,将该精确位置作为初始化位置。

在一个可选实施方案中,该初始化步骤可以具体包括以下步骤。可以理解的是,下面的步骤可以由同步跟踪定位模块执行,也可以称为同步跟踪模块的初始化与修正步骤。

(1)根据频率fs调用位姿管理模块提供的pdx对象查询输出接口,查询并获得限定条件的对象pdx,例如,查询并调用source=3,timestamp为最新,即最大值时的对象pdx,fs通常为高频;

(2)可以进行状态判断;在尚未初始化且成功调取pdx的情况下,则执行(3);在尚未初始化且不存在该pdx(未成功调取或者没有最新的pdx)则跳过接下来的步骤直接转(1);如果已经初始化完成且成功调取pdx,则执行(4);

(3)初始化步骤:设地理位置坐标为p0,偏转角为r0,令p0=pdx.loc,r0=pdx.rot,初始化完成。可选地,可以将同步跟踪定位模块的位置描述pd0设置为pdx,记pd0的相对位置坐标loc0=(0,0,0),相对旋转角rot0=(0,0,0),执行s220视觉里程计算步骤;

(4)同步修正步骤:比较pdx与pd0的时间戳大小,在pdx.timestamp>pd0.timestamp的情况下,将pd0设置为pdx。否则,采用pd0的值。该步骤是判断相机视野中是否存在最新的视觉标志物,存在的情况下,采用视觉标志物的精确位置修正同步跟踪定位模块,这样会使得同步跟踪定位模块的定位结果更加准确。参照图4,可选地,s200待校准位置确定步骤还可以包括:

s220视觉里程计算步骤:视觉里程计基于相机拍摄到的一帧或几帧图片进行计算,得到视觉里程数据。可选地,该视觉里程计算步骤可以采用同步定位与地图构建(simultaneouslocalizationandmapping,slam)里程计进行计算。视觉里程可以包括位移信息和姿态信息。

可选地,s200待校准位置确定步骤还可以包括:

s230待校准位置转换步骤:将所述视觉里程转换为待校准位置。

该步骤能够将相对空间关系数据转换为世界坐标,从而统一各个步骤得到的数据的格式,便于数据之间的调用和直接计算。在该步骤中,将loc0中的相对距离数据转换为相对经纬度数据δp,经纬度坐标p=p0+δp,旋转角r=r0+rotx,进而生成pd,设置pd.loc=p,pd.rot=r。调用位姿管理模块提供的pd对象储存接口存储该pd。

在该s200待校准位置确定步骤的迭代过程中,在位姿管理模块存在最新的精确位置的情况下,则采用该精确位置作为初始化位置,否则,在上一次计算的待校准位置的基础上结合视觉里程计的输出得到本次的待校准位置。

图5是根据本申请的一个实施例的方法的精确位置确定步骤的示意性流程图。可选地,所述s300精确位置确定步骤可以包括以下步骤,可以理解的是,下面的步骤也可以由视觉标志物定位模块执行:

s310视觉标志物筛选步骤:基于所述概略位置、所述待校准位置或前次的精确位置在筛选范围内确定候选视觉标志物集合。在该步骤中,按指定频率ft调用位姿管理模块提供的pd对象查询输出接口,查询并获得限定条件为source=1或2,timestamp为最大值时的对象pdx。ft通常为低频。优选地,选取source=2时的对象pdx。将pdx.loc作为取经纬度坐标,依据临近关系计算当前候选视觉标志物集合s={ti,distance(ti,p)<d};其中,d为指定的距离;ti为视觉标志物描述对象,ti可以包含:视觉描述信息、经纬度坐标信息pt等。该步骤中在没得到待校准位置的情况下,可以采用概略位置作为中心位置进行视觉标志物的筛选,在通过s330精确位置计算步骤得到精确位置的情况下,可以根据该精确位置重新进行筛选和匹配,进一步提高精确位置的计算准确度。

s320视觉标志物匹配步骤:基于所述候选视觉标志物集合确定相机视野内的视觉标志物。可选地,该步骤包括:对该相机拍摄的图片进行特征提取,并且与所述视觉标志物集合中的视觉标志物逐一进行相似度比较,从而确定相机视野内的视觉标志物。在该步骤中,在候选视觉标志物集合内采用视觉方法进行标志物匹配,设tx为匹配成功的视觉标志物,获取tx经纬度坐标信息p,计算相机相对于tx的坐标loc,相对旋转角rot。

s330精确位置计算步骤:根据该相机与该视觉标志物之间的空间关系sr(loc,rot)确定该相机的所述精确位置。该步骤能够将计算出的相对距离值转换成经纬度差。将loc的相对距离数据转换为相对经纬度数据δp,记pdx为当前相机位置描述,计算pdx.loc=p+δp,pdx.rot=rot,调用位姿管理模块提供的pd对象储存接口,存储该pdx,以供其他模块调用。

视觉标志物定位能够发挥“位置锚点”的作用,起到定点增强的效果,本申请中的视觉标志物可以提前采集或设置并确定绝对坐标。

该方法能够利用视觉标志物的坐标对相机进行定位和位置修正,大大提高了世界坐标位置的定位精度。

本发明要解决的技术问题是针对大场景多尺度定位需求,提供一种跟踪定位方法,解决大场景相机精确位姿连续稳定输出问题,实现基于世界坐标的,大场景、多尺度虚拟物体坐标定位和虚实配准,支持户外环境感知ar应用。本申请的方法将里程计、世界坐标定位系统和标志物配合使用,实现了扬长避短的效果:通过视觉标志物将连续场景“切割”为定位区间,及时归零累积误差,同时能够降低对视觉标志物的数量要求,提高实际使用的可行性。其中,采用gps等世界坐标定位系统一方面能够提升视觉标志物使用的效率,一方面也作为大、中尺度的连续定位,为其他两种方案提供辅助支撑。同时世界坐标定位系统是应用中广泛使用的定位手段,能够使不同精度的定位功能基于一致的表达形成关联,有利于应用功能的实现。提供三种尺度和精度的方法实施定位可是实现冗余效果,从而能够在更为复杂的环境下保持连续输出,使得应用平稳运行。

在另一个可选的实施方案中,本申请还提供了一种相机世界坐标位置获取装置。图6是根据本申请的一个实施例的虚实叠加应用的相机位置获取装置的示意性框图。该装置可以包括:

概略位置获取模块100,其配置成用于获取相机在世界坐标系中的概略位置;

待校准位置确定模块200,其配置成用于基于相机的已知精确位置和该相机拍摄的图片,确定该相机的待校准位置;

精确位置确定模块300,其配置成用于基于所述概略位置和所述待校准位置中的一个以及相机视野内的视觉标志物在所述世界坐标系中的世界坐标,确定该相机的所述精确位置。

该装置采用世界坐标和同步跟踪定位相结合的方式,能够获得相机的绝对位置,弥补了两种方法的不足,计算实时快捷,定位结果准确,从而为后续的位置数据的应用提供了很好的数据基础和来源。

可选地,待校准位置确定模块200可以包括:

初始化模块,其配置成用于在存在所述精确位置的情况下,将该精确位置作为初始化位置。

位姿计算模块,其配置成用于以相机连续拍摄的图片作为数据输入,控制视觉里程计持续输出位移信息和姿态信息。

待校准位置转换模块,其配置成用于将所述视觉里程计的输出转换为待校准位置。

可选地,所述精确位置确定模块300可以包括:

视觉标志物筛选模块,其配置成用于基于所述概略位置、所述待校准位置或前次的精确位置在筛选范围内确定候选视觉标志物集合。

视觉标志物匹配模块,其配置成用于基于所述候选视觉标志物集合确定相机视野内的视觉标志物。可选地,该步骤包括:对该相机拍摄的图片进行特征提取,并且与所述视觉标志物集合中的视觉标志物进行相似度比较,从而确定相机视野内的视觉标志物。

精确位置计算模块,其配置成用于根据该相机与该视觉标志物之间的空间关系确定该相机的所述精确位置。

该装置能够利用视觉标志物的坐标对相机进行定位和位置修正,大大提高了绝对位置的定位精度。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

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

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

在另一个可选的实施方案中,本申请还提供了一种计算设备,参照图7,该计算设备包括存储器1120、处理器1110和存储在所述存储器1120内并能由所述处理器1110运行的计算机程序,该计算机程序存储于存储器1120中的用于程序代码的空间1130,该计算机程序在由处理器1110执行时实现用于执行任一项根据本申请的方法步骤1131。

在另一个可选的实施方案中,本申请还提供了一种计算机可读存储介质。参照图8,该计算机可读存储介质包括用于程序代码的存储单元,该存储单元设置有用于执行根据本申请的方法步骤的程序1131’,该程序被处理器执行。

在另一个可选的实施方案中,本申请还提供了一种包含指令的计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算设备执行时,导致所述计算设备执行如上所述的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、获取其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetictape),软盘(英文:floppydisk),光盘(英文:opticaldisc)及其任意组合。

以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

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