用于设备定位的多重集成模型的制作方法

文档序号:32126440发布日期:2022-11-09 08:20阅读:29来源:国知局
用于设备定位的多重集成模型的制作方法
用于设备定位的多重集成模型
1.分案说明
2.本技术是国际申请号为pct/us2019/039606、国际申请日为2019年06月27日、中国国家申请号为201980043077.8的发明专利申请的分案申请。
技术领域
3.本公开一般涉及位置(location)确定,并且更具体地,涉及使用传感器数据来确定设备位置。


背景技术:

4.计算机中介现实(computer-mediated reality)技术允许具有手持式或可穿戴设备的用户改变他们对其环境的可视的感知或者可听的感知,如通过设备所体验的。增强现实(ar)是一种类型的计算机中介现实,其使用在计算设备处生成的感觉数据来特定地改变对物理真实世界环境的感知。ar技术可以提供计算机中介现实,其包括用户的真实世界环境的可视化,该可视化包括一个或多个增强,诸如真实世界环境的可视化内的特定位置处的虚拟对象,以使得该虚拟对象似乎是真实世界的沉浸式方面。


技术实现要素:

5.根据特定的实施例,一种方法包括生成计算机中介现实数据,该方法包括:生成三维(3-d)地图数据和客户端设备处的相机位置数据;向移动服务器传输3-d地图数据和客户端数据;在客户端设备处从远程服务器接收世界地图数据,其中世界地图数据使用3-d地图数据而被生成;以及在客户端设备处生成计算机中介现实图像。
6.根据另一特定的实施例,增强现实引擎包括在便携式计算机上运行的在本地存储的动画引擎,该动画引擎包括:第一输入,该第一输入接收由被集成在便携式计算机中的相机产生的数字图像的流,该数字图像表示由相机所见的环境的近实时视图;第二输入,该第二输入从被集成在便携式计算机中的地理位置定位系统接收地理位置定位(position);3d地图构建(mapping)引擎,该3d地图构建引擎接收第一输入和第二输入,并且估计在特定时间点的相机定位和一个或多个地图构建点之间的距离;输出,该输出包括利用计算机生成的图像重叠的由相机产生的数字图像的流,其中计算机生成的图像位于3d地图中的特定定位,并且随着用户将相机移动到空间中的不同定位,计算机生成的图像保持位于该特定定位;以及非本地存储的对象检测引擎,该非本地存储的对象检测引擎与本地存储的动画引擎联网通信;第一输入从在本地存储的动画引擎被接收,该第一输入包括数字图像,该数字图像来自由相机产生的数字图像的流;第二输入从在本地存储的动画引擎被接收,该第二输入包括地理位置定位,该地理位置定位与从在本地存储的动画引擎所接收的数字图像相关联。
7.在各种实施例中,设备收集传感器数据(例如,图像、音频)、全球定位系统(gps)数据、wi-fi可用性数据、定向和运动数据(例如,经由陀螺仪、加速度计、惯性测量单元(imu)
等)、光级、声级、压力数据等。基于传感器数据,设备选择一个或多个定位(localization)模型用于确定设备的位置。所选择的一个或多个模型被应用到传感器数据,以确定针对设备的一个或多个潜在位置,并且设备的当前位置从该一个或多个潜在位置被确定。在存在多于一个潜在位置的情况下,通过选择潜在位置中的一个或者通过其他适当的技术,当前位置可以被确定为潜在位置的平均或加权平均。在一些实施例中,对一个或多个模型和/或一个或多个潜在位置的选择可以基于哪些一个或多个模型先前在相似的位置中被使用。基于一个或多个传感器数据中的一般地理邻近性和/或相似性、或者基于传感器数据的确定(例如,在室内与在室外,低照明与高照明等),两个或更多个位置可以被认为是相似的。
8.本文中描述了本公开的其他优点。
附图说明
9.图1图示了用于生成和显示增强现实数据的联网的计算环境的实施例。
10.图2图示了根据一个实施例的由图1的计算系统可执行的过程,该过程用于生成和显示增强现实数据。
11.图3图示了根据一个实施例的示例计算机系统的框图,该示例计算机系统适合于在图1的联网的计算环境中使用。
12.图4是图示了根据一个实施例的用于确定设备的位置的方法的流程图。
具体实施方式
13.一种系统和方法创建三维(3-d)地图并且使用3-d地图来启用增强现实(ar)。在一个实施例中,3-d地图具有一厘米的分辨率,但是具有其他分辨率的地图可以被使用,包括具有可变化的分辨率的地图。在各种实施例中,地图创建在客户端上被达成(例如,通过移动电话或头戴式耳机),其被与后端服务器配对,该后端服务器向客户端设备提供先前编译的成像和地图构建信息。
14.在一个实施例中,系统在客户端(例如,在手持式或穿戴的电子计算设备上)选择图像和全球定位系统(gps)坐标,并且将所选择的数据与3-d地图配对。3-d地图从相机记录模块和惯性测量单元(imu)被构建,惯性测量单元可以包括加速度计和/或陀螺仪。所选择的数据被发送到服务器。服务器和客户端计算设备协作地处理所选择的数据,以建立ar的对象和几何形状,以及确定ar中的虚拟的或非虚拟的对象间的潜在交互。例如,增强现实可以是真实世界房间的增强现实,并且可以包括可以彼此交互(例如,为了玩游戏)的一个或多个动画的虚拟对象。
15.通过使用所选择的数据和3-d地图,系统可以使用神经网络达成对象检测和几何形状估计,由此提供ar。神经网络的示例是用于机器学习的计算模型,该计算模型使用连接的单元(人工神经元)的大型集合。这些单元在软件中连接,并且如果到一个单元的组合输入信号足够大,则该单元发射(fire)其自身的输出信号。这样,人工神经网络模仿生物神经网络学习以执行任务。系统使用深度学习(例如,多层神经网络)通过上下文理解ar数据(例如,针对前文提到的对象检测和几何形状估计任务)。
16.在一些实施例中,系统聚合局部3d地图以创建一个或多个全局3-d地图(例如,通过将多个局部3d地图链接到一起)。聚合的3-d地图被组合到服务器上的全局3-d地图中,以
生成环境的单一数字3d地图,或者“世界”。例如,由一个或多个设备针对相似的gps坐标生成的多个局部3-d地图可以被确定重叠,该相似的gps坐标包括在预先确定的阈值内匹配的各部分。这样,重叠的部分可以被用于将两个局部3-d地图缝合到一起。全局3-d地图被用于存储在特定的gps坐标处的虚拟对象的位置,该特定的gps坐标进一步地通过3-d点以及可视图像被向下索引到特定的3d位置(例如,在具有一英尺的误差范围之内)。例如,如果“世界”是房屋,则各种房间的各种局部3-d地图可以被组合到将房屋的内部作为整体表示的单一全局3-d地图中。
17.说明性的过程向服务器和从服务器发送地图数据。如本文中所描述的,3-d地图是空间中的3-d点的集合,这些3-d点以类似于3-d像素(或“体元”)的方式表示世界或者世界的部分。当图像数据可用并且有用时,例如,当其被确定为针对尚未合并到3-d地图中的位置的图像数据时,该图像数据可以与3-d地图一起被发送。某些实施例在没有图像数据的情况下发送3-d地图。
18.在各种实施例中,客户端设备使用由处理器执行的3-d算法来生成3-d地图。客户端设备以有效率的方式发送图像、3-d地图、以及gps数据。例如,图像可以选择性地被发送,以便不会使传输或处理停顿。在一个示例中,当客户端设备的相机具有新颖的视点(例如,由图像捕获的空间还未被包括在服务器处的一个或多个图像中,或者在服务器处的这样的图像旧得超过阈值时间)时,图像可以选择性地被发送,但是当针对当前视点的一个或多个图像已经被提供时,图像不会被发送。例如,当相机的视野具有与以过去或最近的相机姿势的先前图像的最小(例如,比阈值更少)的重叠时,或者当视点已有取决于对象的预期移动的一定量的时间未被观察到时,图像被指定用于由算法发送。作为另一示例,如果自从以当前(或者大致重叠的)视点的先前的图像被提供以来,超过阈值量的时间已经流失,则图像可以被提供。这可以使得所存储的与地图相关联的图像能够被更新,以反映真实世界位置的当前(或者至少最近的)状态。
19.在各种实施例中,服务器设备包括基于3-d数据和图像来检测对象的实时检测系统,并且估计真实世界环境的几何形状。例如,非真实感的房间的3-d地图(例如,半密集和/或密集3-d重建)可以是用由客户端设备捕获的图像可确定的,使得房间以特定的分辨率或细节级别完全地被表示在3-d地图内。
20.服务器使用实时检测系统融合图像、3-d数据、和/或gps数据,以构建世界的一致的且容易被索引的3-d地图,合成的真实世界地图。一旦被存储,真实世界地图就可以被搜索,以将先前所存储的真实对象和/或虚拟对象定位在世界的3-d地图中的特定位置处。
21.在各种实施例中,地图构建(新的3-d地图数据的创建)和跟踪(对象的定位,包括客户端设备)在客户端上完成。真实世界的稀疏数字重建与相机相对于真实世界的位置一起被采集。地图构建包括创建点云,或者3-d点的集合。通过序列化并传输点云信息,系统将稀疏表示与gps数据一起传送回到服务器。云处理启用具有(存储未被在本地存储在设备上的用于未来ar体验的地图和虚拟对象数据的)工作物理存储器的两个或更多个客户端设备间的多玩家能力(在独立的客户端设备之间实时或接近实时地分享地图数据)以及对象检测。例如,
22.服务器包括3-d地图和图像的数据库。服务器使用gps数据来确定针对该坐标的3-d地图先前是否已经被存储。如果被定位,则所存储的3-d数据被传输回到客户端设备。例
如,在家庭位置处的用户可以接受先前存储的与家庭位置相关联的数据,另外,3-d地图和图像数据可以被添加到所存储的合成世界3-d地图。
23.图1是根据一个实施例的ar计算系统的框图,该ar计算系统包括与经由网络104被访问的云端服务器元件合作的客户端设备102。例如,云端服务器元件可以是被配置为产生ar数据的服务器设备的组件。在所示出的实施例中,客户端设备102包括游戏引擎106(例如,unity游戏引擎或另一物理/渲染引擎)以及ar平台108。ar平台108可以执行分割和对象识别。图1中所示出的ar平台108包括复杂计算机视觉模块110,该复杂计算机视觉模块110执行客户端图像处理(包括图像分割以及局部3-d估计等)。
24.复杂计算机视觉模块110摄取来自客户端设备的相机的像素数据以及来自客户端设备的其他传感器(诸如惯性测量单元)的传感器数据。复杂计算机视觉模块110通过在像素数据上执行特征提取、基于传感器数据和/或像素数据对相机的位置和视点进行三角剖分、以及在所提取的特征上执行特征匹配来生成特征向量,由此提供对相机视点、以及视点中有何种对象的n点透视(pnp)估计。如下面所描述的,取决于上下文,不同的模型可以被采用以执行同时的定位和地图构建。
25.ar平台108也包括定位和地图构建模块112。在一个实施例中,定位和地图构建模块112使用来自同时定位与地图构建(slam)软件开发工具包(sdk)的功能。slam sdk功能包括地图构建系统,该地图构建系统构建点云、线云、平面云、或者任何其他几何形状的云用于近似真实世界几何形状,并且提供跟踪功能以发现相机在三维空间中的当前位置。slam过程进一步将动画或增强的值(例如,虚拟对象)投影到ar中,以使得它们似乎是在真实世界中。在其他的实施例中,定位和地图构建模块112可以使用不同的或附加的方法以对客户端设备102周围的环境进行地图构建和/或确定在那个环境中客户端设备的位置。
26.定位和地图构建模块112可以具有多个模型,该多个模型可用于确定客户端设备102的当前位置。在一个实施例中,模型包括基于点云的模型(例如,如由slam提供的模型)、平面匹配模型、线匹配模型、地理信息系统(gis)模型、建筑识别模型、景观识别模型、立方体匹配模型、圆柱体匹配模型、地平线匹配模型、光源匹配模型等,以及对象和/或语义匹配模型,诸如出口匹配模型、路灯匹配模型、树木匹配模型,文本匹配模型(例如,用于广告牌或路标)或者用于将真实世界的对象匹配到虚拟近似的其他模型。在其他实施例中,不同的或附加的模型可以对定位和地图构建模块112可用。
27.点云模型表示将物理空间表示为位于虚拟世界中的定位的点的集合,这些虚拟世界中的定位对应于真实世界中的对象表面的定位。例如,墙可以由分布在墙之上的点的集合表示。给定的点云模型可以包括固定数目的点,这些点动态地被分配以表示物理空间,诸如通过包括大型平坦表面(例如,墙)上的相对较小数目的点,同时包括在更复杂的对象(例如,植物、家具等)周围的点的更密集的集群。在一些实施例中,定位和地图构建模块112具有对其可用的多个点云模型,这些点云模型具有变化的分辨率和比例。因此,例如,比起那些更远的对象,在用户的位置附近的对象可以由更高分辨率的点云表示。点云模型通过将由设备生成的传感器数据(例如,相机图像)匹配到基于点云而被生成的针对不同位置的预期传感器读数,而确定传感器的位置。
28.平面匹配模型将物理空间表示为虚拟中的平面的集合,这些平面在对应于真实世界中大型、相对平坦的表面的位置处。例如,地板、墙以及房间中的桌面中的每个可以由平
面匹配模型中的平面表示。平面匹配模型通过将由设备生成的传感器数据(例如,相机图像)中所标识的平面匹配到模型中的平面,而确定设备的位置。
29.线匹配模型与平面匹配模型相似,除了其在对应于真实世界中的线的位置处定义虚拟世界中的线以外。例如,线可以是一件家具的边缘、两面墙之间的接合处等。线匹配模型通过将由设备生成的传感器数据(例如,相机图像)中所标识的线匹配到模型中的线,而确定设备的位置。
30.地理信息系统(gis)模型将像素数据匹配到卫星成像数据。gis基于在视点的地平线处检测的对象来估计视点。对象在地平线处的尺寸和比例由gis模型基于像素数据(例如,多个像素宽和/或高)估计。gis模型然后将所估计的对象匹配到被包括在卫星成像数据中的对象,该gis模型将被包括在卫星成像数据中的对象投影到视点的地平线处。这可以通过将一个或多个数学变换和/或机器学习的模型(例如,深度神经网络)应用到卫星成像数据和/或像素数据而被执行。基于所匹配的对象,gis模型标识生成了像素数据的相机(以及,扩展到客户端设备102)的可能的视点。
31.建筑识别模型以及其他对象和/或语义匹配模型(如树木匹配模型)将像素数据匹配到其被训练以识别的对象或者语义。例如,建筑识别模型可以是机器学习的模型,该机器学习的模型基于训练数据集被训练以识别建筑,该训练数据集具有被标记为正案例的建筑的图像以及被标记为负案例的其他对象的图像。在训练后,建筑识别模型可以预测像素数据(例如,图像)是否包括建筑。相似地,模型可以被训练以识别可以被呈现在图像中的各种对象,诸如路标、树木、长凳等。
32.无论可用的模型的集合,客户端设备102选择这些模型中的一个或多个模型来基于所收集的原始数据进行定位。例如,平面和线匹配模型可能在室内是最准确的,而景观和建筑模型可能在室外是最准确的。因此,所收集的数据(例如,照明水平和图像)可以由定位和地图构建模块112分析,以确定客户端设备102当前是在室内还是在室外,并且然后选择更有效的模型。
33.在一个实施例中,每个模型被指派得分,该得分指示基于当前情况(例如,如所收集的数据所指示的)模型将为客户端设备生成准确位置的可能性。该得分可以基于决策树,其中决策树的参数是被手动设置的。备选地,得分可以基于用强化学习训练的机器学习模型,该强化学习使用来自不同ar地图类型的不同模型的输入和参数,其中强化“奖励”与模型性能(例如,位置估计准确性)成比例。
34.模型或多个模型基于得分而被选择。例如,客户端设备102可能选择具有最高得分的模型、三个最高评分模型、或者具有高于阈值的所有模型。附加地或备选地,选择可以基于哪些模型先前在相似的位置被选择。例如,如果针对客户端设备102的gps坐标在平面匹配模型先前被成功使用的gps坐标的阈值内,则平面匹配模型的得分可以被提升,或者平面匹配模型可以被选择,除非另一模型的得分超过针对平面匹配模型的得分一个阈值量。相似地,如果特定的模型先前被选择但无法提供准确的位置,则针对那个模型的得分可以被降低。因此,在相似的gps坐标处的模型的成功和失败可以被用于通知客户端设备102选择哪个模型或者哪些模型,以确定比由gps坐标提供的更精确的位置(例如,到一厘米内)。
35.以相似的方式,客户端设备102可以把在所收集的数据指示其与当前位置相似的位置处的模型的成功和失败作为因素。例如,位置可以被分类为在室内或在室外,并且基于
所收集的数据指示客户端设备102是在室内还是在室外,某些模型可以被排除或者被选择(或者对应的得分被提高或者降低)。通过对针对典型地在室内或在室外的对象的模型的采用,所收集的数据可以由一个或多个模型(例如,对象识别模型)分析,以确定其是在室内被收集还是在室外被收集。例如,使用针对树木、天空以及草地的模型确定数据是在外部被收集的,以及针对墙、沙发以及桌子的模型以确定数据是在内部被收集的。
36.相似地,所选择的模型或多个模型可以基于照明水平。例如,相对于其他模型,一个模型(例如,线云)可以在低光条件下尤其有效,并且因此如果由客户端设备102检测到的照明水平低于阈值,则其优先被选择。相似地,其他模型(例如,点地图)可以在低光条件下不太有效,并且因此被避免(假设另一个模型可用)。取决于该实施例,用于所选择的数据的其他技术可以被采用,这些技术用以影响哪个模型或者哪些模型被选择以偏好对在当前条件下最可能产生准确的结果的那些模型的选择。
37.定位和地图构建模块112可以应用所选择的一个或多个模型以生成针对客户端设备102的潜在位置。在仅有单个模型被选择的情况下,所生成的位置可以被使用为客户端设备102的实际位置。然而,在gps坐标可用的情况下,如果使用模型所确定的位置与gps坐标相差多于阈值量,则客户端设备102可以应用附加的模型,或者寻求核实当前位置,诸如通过显示消息请求用户确认位置估计是否准确,并且基于所接收的响应更新位置估计。
38.在多于一个模型被选择的情况下,每个所选择的模型可以产生客户端设备102的潜在位置。定位和地图构建模块112基于所选择的该多于一个模型的累积潜在位置,为客户端设备102确定当前位置。在一个实施例中,当前位置被计算为由所选择的模型生成的潜在位置的均值。在另一实施例中,潜在位置的加权平均被使用。例如,每个模型的贡献可以通过来自模型选择阶段的该模型的得分而被加权。备选地,加权可以被预设置为偏好特定模型超过其他模型,例如,基于历史准确性。在进一步的实施例中,潜在位置可以以其他方式被组合,诸如采取最接近地匹配设备的gps坐标的一个潜在位置。
39.在图1中所示出的实施例中,客户端计算设备102还包括地图取回模块114和深度学习模块116。地图取回模块114取回先前生成的3-d地图(例如,经由网络104)。在一些实施例中,地图取回模块114可以在本地存储一些3-d地图(例如,针对用户的家庭位置的3-d地图)。深度学习模块116将机器学习的算法用于对象识别。深度学习模块116可以经由网络104获取已训练的机器学习的算法。在一些实施例中,深度学习模块116还可以提供对象识别的结果和/或用户反馈,以实现进一步的模型训练。
40.在所示出的实施例中,经由网络104被访问的云端服务器元件(例如,在服务器计算设备处)包括与一个世界地图构建模块120通信的ar后端引擎118、对象识别和语义分割模块122、地图数据库124、对象数据库126以及深度学习训练模块128。在其他实施例中,附加的或者不同的组件可以被包括。此外,功能性可以与本文中所描述的功能性不同地被分发。例如,对象识别功能性中的一些或所有对象识别功能性可以在客户端设备102处被执行。
41.ar后端引擎从客户端设备102接收数据,并且将3-d地图和/或其他数据发送到客户端设备102。ar后端引擎基于所接收的数据的类型,将所接收的数据发送到一个世界地图构建模块120和/或对象识别和语义分割模块122,使得其可以进一步被处理。
42.一个世界地图构建模块120将不同的局部3-d地图融合到一起以创建合成的真实
世界地图。如先前所指出的,初始地生成了地图的、来自客户端设备102的gps定位数据可以被使用,以标识可能毗邻或重叠的局部地图。模式匹配然后可以被使用,以标识地图的重叠部分或者两幅局部地图彼此毗邻(例如,因为它们包括相同对象的相对侧)。如果两幅被确定是重叠或者毗邻的,则指示这两幅地图如何彼此相关的地图构建可以被存储,或者它们可以被组合到一幅3-d地图中。
43.对象识别和语义分割模块122使用图像和/或对象信息以及所收集的3-d数据来标识真实世界中的特征。以这种方式,例如,服务器104确定椅子在一个3-d位置处,并且访问与该位置相关联的对象数据库126。深度学习训练模块128可以被用于将地图信息与对象信息融合,例如,以将对象的表示在如3-d地图中所表示的位置处添加到3-d地图。以这种方式,系统100可以连接3-d信息以用于对象识别和融合回到3-d地图中。备选地或附加地,深度学习模块128可以被用于训练或更新用于对象识别的机器学习的模型。例如,将对象识别和语义分割模块122应用到3-d数据的结果可以被核实(例如,通过人类),使得深度学习训练模块128可以扩展训练数据集或者基于该核实来更新模型。
44.地图数据库124包括一个或多个计算机可读介质,其被配置为存储由客户端设备102生成的地图数据。地图数据可以包括3-d点云的局部地图,该局部地图与由客户端设备102在一个位置处收集的图像和其他传感器数据相关联地被存储。地图数据还可以包括指示不同局部地图之间的地理关系的地图构建信息。相似地,对象数据库126包括被配置为存储关于被识别的对象的信息的一个或多计算机可读介质。例如,对象数据库126可能包括已知对象(例如,椅子、写字桌、树木、建筑等)的列表,这些已知对象具有对应的位置以及那些对象的属性。这些属性可以对对象类型通用或者针对对象的每个实例特定地被定义(例如,所有的椅子可以被认为是家具,但是每个椅子的位置被个体地定义)。尽管地图数据库124以及对象数据库126被示出为单个实体,但是它们可以跨多个设备处的多个存储介质分布(例如,作为分布式数据库),或者可以是一个组合的数据库。
45.图2是根据一个实施例的流程图,其示出由客户端设备102和服务器设备执行的、用以生成并显示ar数据的过程。客户端102和服务器计算设备可以与图1中所示出的那些相似。虚线表示客户端102和服务器之间的数据的通信,而实线指示设备中的一个设备内的数据的通信。在其他实施例中,功能性可以在设备之间不同地被分发和/或不同的设备可以被使用。
46.在202处,原始数据在客户端设备处由一个或多个传感器收集。在一个实施例中,原始数据包括图像和惯性测量信息。图像由一个或多个相机捕获。惯性测量信息可以使用客户端设备上的或者通信地被连接到客户端设备的另一设备上的gps和陀螺仪和/或加速度计组件来收集。在备选的实施例中,附加的原始数据可以被收集,诸如压力水平、照明水平、声级、音频数据等。
47.客户端设备102可以在204处维护本地地图存储装置。本地地图存储装置包括本地点云数据。点云数据包括形成网格表面的空间中的定位,该网格表面可以被构建为使得点云数据表示位置中的一个或多个对象。
48.如果3-d地图在206处被初始化,则客户端设备102可以在208处发起slam功能。slam功能包括构建点云的地图构建系统以及用以在空间中发现相机的位置和/或定向相机的跟踪功能性。slam过程投影虚拟对象,使得它们在ar体验中似乎是在真实世界中。如果在
206处没有3-d地图被初始化,则客户端设备102可以在本地地图存储装置204中标识已存储的3-d地图,或者通过对云端地图存储装置220的查询来标识已存储的3-d地图,并且加载已存储的3-d地图以供使用。如果在210处没有地图被定位,则在212处,系统使用初始化模块来创建地图。
49.在214处,在新颖的视点被检测到的情况下(例如,如果将角落转向到尚未被建图/被成像的区域,或者在存在重叠并且不是所有真实世界的当前可见部分已被建图/成像的情况下),系统可以在216处记录关于本地环境而被采集的或(例如,使用对象识别)被推理的数据。例如,响应于确定客户端设备102当前具有新颖的视点,由相机以那个视点捕获的图像可以由客户端设备102发送到服务器。客户端设备102可以使用新颖视点检测器来确定何时以及如何传输具有3-d数据的图像。本地环境推理可以包括用于本地地图构建系统的更新的关键帧、以及序列化的图像和/或地图数据。
50.在服务器端,新颖视点数据(例如,包括具有网格数据的点云信息)可以在218处被存储在云端地图存储装置中。服务器可以将来自所存储的云端地图存储装置220以及对象数据库222的真实世界地图的不同部分添加到新颖视点数据,诸如,如上文所描述的使用机器学习被识别的对象的标签。云端环境推理224(包括添加的数据,诸如,用于所识别的对象的语义标签)可以被发送回到客户端设备102。所添加的数据可以包括点和网格以及对象数据,并且可以被存储在本地地图存储装置204。
51.图3是图示适合作为客户端设备102或服务器使用的示例计算机300的高级框图。示例计算机300包括被耦合到芯片组304的至少一个处理器302。芯片组304包括存储器控制器集线器320和输入/输出(i/o)控制器集线器322。存储器306和图形适配器312被耦合到存储器控制器集线器320,以及显示器318被耦合到图形适配器312。存储设备308、键盘310、指向设备314、以及网络适配器316被耦合到i/o控制器集线器322。计算机300的其他实施例具有不同的架构。
52.在图3所示出的实施例中,存储设备308是非瞬态计算机可读存储介质,诸如硬盘驱动器、压缩盘只读存储器(cd-rom)、dvd、或固态存储器设备。存储器306保存由处理器302使用的指令和数据。指向设备314是鼠标、跟踪球、触摸屏、或者其他类型的指向设备,并且其被与键盘310(其可以是屏幕上键盘)组合使用以将数据输入到计算机系统300中。图形适配器312在显示器318上显示图像和其他信息。网络适配器316将计算机系统300耦合到一个或多个计算机网络。
53.由图1的实体使用的计算机的类型可以根据实施例、以及实体所要求的处理功率而变化。例如,服务器可以包括分布式数据库系统,该分布式数据库系统包括一起工作以提供所描述的功能性的多个刀片服务器。此外,计算机可以缺少上面所描述的组件中的一些组件,诸如键盘310、图形适配器312以及显示器318。
54.图4图示了用于确定设备的位置的方法400的一个实施例。图4的步骤从客户端设备102执行方法400的角度而被图示。然而,这些步骤中的一些或所有步骤可以由其他实体或组件执行。另外,一些实施例可以并行地执行步骤、以不同的顺序执行这些步骤、或执行不同的步骤。
55.在图4中所示出的实施例中,方法400以客户端设备102使用一个或多个传感器收集(410)传感器数据开始。传感器数据可以包括图像、视频、音频、光级、声级、惯性数据、定
向、压力和/或来自传感器的任何其他可用的数据。基于传感器数据,客户端设备102选择(420)一个或多个定位模型。如先前所描述的,所选择的模型或多个模型可以基于被指派给模型的得分,其中得分基于传感器数据和/或其他因素(诸如在特定位置或环境处的历史性能)。
56.客户端设备102应用(430)所选择的定位模型以生成针对客户端设备的潜在位置。在一个实施例中,每个模型输出潜在位置。潜在位置可以基于局部地图内的坐标系而被定义(例如,基于客户端设备102的gps坐标来选择)。例如,gps坐标可以指示客户端设备102可能在建筑内的某处,因此针对该建筑的局部地图被使用。所选择的模型然后被应用以确定客户端设备102在建筑内的更准确的位置(例如,以一厘米的精度为目标)。
57.客户端设备102基于潜在位置来确定(440)当前位置。在仅有一个模型被选择的情况下,可以假定它生成的潜在位置是正确的。备选地,针对可行性,潜在位置可以基于可用的传感器数据而被检查(例如,在离由gps坐标指示的位置的阈值距离之内,所检测的照明水平与针对潜在位置的期望相一致,由客户端设备102捕获的图像与在相似的位置处被捕获的其他图像一致等)。当多于一个模型被选择时,潜在位置可以被组合以产生当前位置。如先前所描述的,平均、加权组合或其他合适的技术可以被用于从潜在位置生成当前位置。
58.本领域技术人员可以对本文所公开的装置和技术进行多种使用和修改、以及背离这些设备和技术,而不背离所描述的概念。例如,本公开中所图示或描述的组件或特征不限于所图示或描述的位置、设置或上下文。根据本公开的装置的示例可以包括比参考前述附图中的一个或多个附图所描述的组件中的所有、更少或者不同的组件。因此,本公开不限于本文中所描述的特定实现,而是应被给予与所附权利要求以及其等效物一致的可能的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1