CN110892410B - 启用云的增强现实 - Google Patents

启用云的增强现实 Download PDF

Info

Publication number
CN110892410B
CN110892410B CN201880045330.9A CN201880045330A CN110892410B CN 110892410 B CN110892410 B CN 110892410B CN 201880045330 A CN201880045330 A CN 201880045330A CN 110892410 B CN110892410 B CN 110892410B
Authority
CN
China
Prior art keywords
data
client device
image
location
map data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880045330.9A
Other languages
English (en)
Other versions
CN110892410A (zh
Inventor
R·E·芬曼
S·y·D·胡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Niantic Inc
Original Assignee
Niantic Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Niantic Inc filed Critical Niantic Inc
Priority to CN202410633859.XA priority Critical patent/CN118587373A/zh
Publication of CN110892410A publication Critical patent/CN110892410A/zh
Application granted granted Critical
Publication of CN110892410B publication Critical patent/CN110892410B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

一种增强现实系统在客户端设备上生成计算机介导的现实。客户端设备具有传感器,其包括被配置为捕获环境的图像数据的相机和用于捕获描述客户端设备的定位的位置数据的位置传感器。客户端设备利用图像数据和位置数据创建三维(3D)地图,以用于生成虚拟对象来增强现实。客户端设备将所创建的3D地图传输到外部服务器,该外部服务器可以利用3D地图来更新被存储在外部服务器上的世界地图。外部服务器将世界地图的本地部分发送到客户端设备。客户端设备确定客户端设备与映射点之间的距离,以在映射点处生成要在客户端设备上显示的计算机介导的现实图像。

Description

启用云的增强现实
相关申请的交叉引用
本申请要求于2017年7月7日提交的美国临时申请No.62/529,492和于2018年7月6日提交的美国非临时申请No.16/029,530的权益,这两个申请均通过引用整体并入本文。
技术领域
本公开总体上涉及计算机介导的现实系统,并且更具体地涉及从由客户端设备收集的数据生成3D地图的增强现实(AR)系统。
背景技术
计算机介导的现实技术允许具有手持式设备或可穿戴设备的用户添加、减去或以其他方式改变其对通过该设备查看的其环境的视觉或听觉感知。增强现实(AR)是一种类型的计算机介导的现实,它使用在计算设备处生成的感官输入来专门改变对物理真实世界环境的实时感知。
发明内容
根据特定实施例,一种方法生成计算机介导的现实数据。该方法包括在客户端设备处生成三维(3D)地图数据和相机位置数据。该方法还包括:向外部服务器传输3D地图数据和客户端数据;在客户端设备处从外部服务器接收世界地图数据;以及在客户端设备处生成计算机介导的现实图像。世界地图数据可以使用3D地图数据而被生成。
根据另一特定实施例,一种在便携式计算机上执行的增强现实引擎,其包括本地存储的动画引擎。动画引擎包括第一输入,其接收由集成在便携式计算机中的相机产生的数字图像流。数字图像可以表示由相机看到的环境的近实时视图。动画引擎还包括:第二输入,其从被集成在便携式计算机中的地理位置定位系统接收定位(geolocation)位置的;3D映射引擎,其接收第一输入和第二输入并且估计相机在特定时间点的位置与一个或多个映射点之间的距离;以及输出,其包括覆盖有计算机生成的图像的由相机产生的数字图像流。计算机生成的图像可以位于3D地图中的特定位置,并且随着用户将相机移动到空间中的不同位置而保持定位在该特定位置。与本地存储的动画引擎进行网络通信的非本地存储的对象检测引擎可以用于检测3D地图中的对象,并且将检测到的对象的指示(例如,位置和标识,诸如类型)返回给便携式计算机。对象检测引擎可以使用从本地存储的动画引擎接收的第一输入以及从本地存储的动画引擎接收的第二输入,第一输入包括来自由相机产生的数字图像流的数字图像,第二输入包括与从本地存储的动画引擎接收的数字图像相关联的地理位置。
下面描述本公开的其他特征和优点。
附图说明
图1示出了根据一个实施例的用于生成和显示增强现实数据的联网计算环境。
图2是示出根据一个实施例的由图1的计算系统可执行以生成和显示增强现实数据的过程的流程图;
图3是示出适合用作客户端设备或服务器的示例计算机的高级框图;以及
图4是示出根据实施例的由客户端设备捕获的图像的增强的流程图。
具体实施方式
一种系统和方法创建三维(3D)地图(例如,分辨率在厘米量级),并且然后使用该3D地图来支持与真实世界的交互。在各种实施例中,该映射是在客户端侧(例如,电话或头戴式耳机)完成的,并且与后端服务器配对,该后端服务器提供先前编译的图像并且将其映射回到客户端设备。
在一个实施例中,系统在客户端侧(例如,在手持或穿戴的电子设备上)选择图像和全球定位系统(GPS)坐标,并且将所选择的数据与3D地图配对。3D地图是由相机记录模块和惯性测量单元(IMU)(诸如加速度计或陀螺仪)所构建的。客户端数据被发送到服务器。服务器和客户端侧计算设备一起处理数据,以建立对象和几何形状,并且确定潜在的交互。潜在交互的示例包括在带有AR动画的房间中进行的交互。
通过一起使用图像和3D地图,系统可以使用神经网络或其他类型的模型来完成对象检测和几何形状估计。神经网络的一个示例是在机器学习中使用的计算模型,该模型使用大量连接的简单单元(人工神经元)。这些单元通过软件而连接在一起,并且如果组合的输入信号足够大,则这些单元会触发其自己的输出信号。该系统可以使用深度学习(例如,多层神经网络)来上下文地理解AR数据。其他类型的模型可以包括其他统计模型或其他机器学习模型
在一些实施例中,系统聚合本地地图以创建一个或多个全局地图(例如,通过将本地地图链接在一起)。聚合的地图在服务器上一起组合成全局地图,以生成环境或“世界”的数字地图。例如,由一个或多个设备针对包括在预定阈值内相匹配的部分的相似GPS坐标、相似图像和相似传感器数据的任何组合而生成的两个本地地图可以被确定为是交叠的。因此,交叠部分可以用于将两个本地地图缝合(stich)在一起,这可以有助于获取与世界地图和本地地图(例如,作为生成全局地图的一部分)具有一致性的全局坐标系。世界地图用于记住先前被存储在地图中的动画,该地图被存储在特定GPS坐标处并且通过3D点和视觉图像进一步索引到世界上的特定位置(例如,分辨率在1英尺量级)。
说明性过程将数据映射到云或者从云映射数据。如本文所述,地图是以类似于3D像素的方式表示世界的3D空间点的集合。在可用并且有用时,图像数据将与3D地图一起被发送。某些示例发送3D地图数据而没有图像数据。
在各个实施例中,客户端设备使用由处理器执行的3D算法来生成3D地图。客户端设备以有效的方式发送图像、3D地图、GPS数据和任何其他传感器数据(例如,IMU数据、任何其他位置数据)。例如,可以选择性地发送图像,以便不影响传输或处理。在一个示例中,当存在新颖视点时可以选择性地发送图像,但是当已经为当前视点提供了图像时则不用发送。例如,当相机的视场与过去或最近的相机姿势的先前图像具有最小交叠时,或者当在取决于对象的预期运动的时间量内未观察到视点时,通过算法来指定用于发送的图像。作为另一示例,如果自从当前(或基本上交叠的)视点的先前图像被提供起已经经过了超过阈值的时间量,则可以提供图像。这可以使得与地图相关联的所存储的图像能够被更新以反映真实世界位置的更多当前(或至少近期)状态。
在各个实施例中,云侧设备包括实时检测系统,其基于3D数据和图像来检测对象并且估计真实世界环境的几何形状。例如,可以利用图像来确定非照片真实感(photorealistic)的房间的3D地图(例如,半密集和/或密集的3D重建)。
服务器将图像和3D数据与检测系统融合在一起以使用GPS数据建立一致且易于索引的3D世界地图或者合成的真实世界地图。在存储之后,真实世界地图被搜索以定位先前存储的真实世界地图和相关联的动画。
在各种实施例中,映射和跟踪在客户端侧进行。收集对真实世界的稀疏重建(数字化该世界)以及相机相对于真实世界的位置。映射包括创建点云或3D点的集合。该系统通过序列化和传输点云信息以及GPS数据来将稀疏表示传送回服务器。云处理支持多玩家功能(在独立设备之间实时或接近实时地共享地图数据)具有有效的物理储存器(存储地图和动画数据以供未本地存储在设备上的未来体验)和对象检测。
服务器包括地图和图像的数据库。服务器使用GPS数据确定先前是否已经为坐标存储了真实世界地图。如果找到,则将所存储的地图传输回客户端设备。例如,位于家庭位置的用户可以接收先前存储的、与该家庭位置相关联的数据。此外,可以将地图和图像数据添加到所存储的复合真实世界。
图1是根据一个实施例的AR计算系统100的框图,该AR计算系统100包括客户端设备102,其与经由网络104访问的元件协作。例如,这些元件可以是用于产生AR数据的服务器设备的组件。客户端设备102包括例如游戏引擎106(例如,Unity游戏引擎或另一物理/渲染引擎)和AR平台108。AR平台108可以执行分段和对象识别。图1所示的AR平台108包括复杂计算机视觉模块110,其执行客户端侧图像处理(包括图像分割和局部3D估计等)。
AR平台108还包括同时定位和映射(例如,SLAM)模块112。在一个实施例中,SLAM112功能包括映射系统,其建立点云和跟踪以找到相机在空间中的位置。该示例的SLAM处理进一步将动画或增强值重新投影回真实世界。在其他实施例中,SLAM 112可以使用不同或附加的方法来映射客户端设备102周围的环境和/或确定客户端设备102在该环境中的位置。
在图1的实施例中,AR平台108还包括地图取回模块114和用于对象识别的深度学习模块116。地图取回模块114检索先前生成的地图(例如,经由网络104)。在一些实施例中,地图取回模块114可以在本地存储一些地图(例如,用户的家庭位置的地图)。深度学习模块116将机器学习的算法应用于对象识别。深度学习模块116可以在外部系统上训练(例如,经由网络104)之后获取机器学习的算法。在一些实施例中,深度学习模块116还可以提供对象识别和/或用户反馈的结果以支持进一步的模型训练。
在所示的实施例中,经由网络104(例如,在服务器计算设备处)访问的组件包括AR后端引擎118,其与一个世界映射模块120、对象识别模块122、地图数据库124、对象数据库126和深度学习训练模块128通信。在其他实施例中,可以包括附加的或不同的组件。此外,功能可以与本文所述不同地分布。例如,一些或所有对象识别功能可以在客户端设备102处执行。
一个世界映射模块120将不同的本地地图融合在一起以创建合成的真实世界地图。如前所述,来自客户端设备102的最初生成地图的GPS位置数据可以用于标识可能相邻或交叠的本地地图。然后可以使用模式匹配来标识地图的交叠部分或者两个本地地图彼此相邻(例如,因为它们包括同一对象的相对侧的表示)。如果确定两个本地地图交叠或相邻,则可以(例如,在地图数据库中)存储映射,该映射指示两个地图如何彼此相关。一个世界映射模块120可以继续将从一个或多个客户端设备102接收的本地地图融合在一起,以继续改善合成的真实世界地图。在一些实施例中,由一个世界映射模块120进行的改进可以包括:扩展合成的真实世界地图;填充合成的真实世界地图的缺失部分;更新合成的真实世界地图的部分;聚集从多个客户端设备102接收的本地地图的交叠部分;等等。一个世界映射模块120还可以处理合成的真实世界地图,以通过各种客户端设备102的地图取回模块114进行更有效的取回。在一些实施例中,合成的真实世界地图的处理可以包括将合成的真实世界地图细分为一个或多个图块层,并且对合成的真实世界地图的各个部分进行标记。这些层可以与不同的缩放相关,使得与较高的级别相比,在较低的级别可以存储合成的真实世界地图的更多细节。
对象识别模块122使用来自所捕获的图像和所收集的3D数据的对象信息来标识真实世界中在数据中表示的特征。以这种方式,网络104确定例如椅子在3D位置处,并且访问与该位置相关联的对象数据库126。深度学习模块128可以用于将地图信息与对象信息融合。以这种方式,AR计算系统100可以连接3D信息以用于对象识别以及用于融合回到地图中。对象识别模块122可以从来自各种客户端设备102的捕获图像中连续地接收对象信息,以添加在所捕获的图像中标识的各种对象以添加到对象数据库126。在一些实施例中,对象识别模块122还可以将所捕获的对象中的检测到的对象区分为各种类别。在一个实施例中,对象识别模块122可以将所捕获的图像中的对象标识为静止或临时的。例如,对象识别模块122将树确定为静止对象。在后续实例中,与可能被确定为临时的对象相比,对象识别模块122可以更不频繁地更新静止对象。例如,对象识别模块122确定所捕获的图像中的动物是临时的,并且如果在后续图像中该动物不再存在于环境中,则可以移除该对象。
地图数据库124包括被配置为存储由客户端设备102生成的地图数据的一种或多种计算机可读介质。地图数据可以包括与由客户端设备102在某个位置收集的图像和其他传感器数据相关联地存储的3D点云的本地地图。地图数据还可以包括映射信息,其指示不同本地地图之间的地理关系。类似地,对象数据库126包括被配置为存储关于识别出的对象的信息的一种或多种计算机可读介质。例如,对象数据库126可以包括具有相应位置以及这些对象的属性的已知对象(例如,椅子、桌子、树木、建筑物等)的列表。这些属性可以是对象类型的通用属性,也可以是针对对象的每个实例所专门定义的属性(例如,所有椅子都可以视为家具,但每个椅子的位置可以被单独地定义)。对象数据库126还可以基于每个对象的对象类型来区分对象。对象类型可以基于相似特性来对对象数据库126中的所有对象进行分组。例如,植物对象类型的所有对象可以是由对象识别模块122或深度学习模块128标识为植物(诸如树木、灌木、草、藤蔓等)的对象。尽管地图数据库124和对象数据库126被示出为单个实体,但是它们可以被分布在多个设备处的多个存储介质之间(例如,作为分布式数据库)。
图2是示出根据实施例的由客户端设备102和服务器设备执行以生成和显示AR数据的过程的流程图。客户端设备102和服务器计算设备可以类似于图1所示的那些。虚线表示客户端设备102与服务器之间的数据通信,而实线表示单个设备内(例如,客户端设备102内或服务器内)的数据通信。在其他实施例中,功能可以在设备之间不同地分布,和/或可以使用不同的设备。
在202处,在客户端设备102处通过一个或多个传感器收集原始数据。在一个实施例中,原始数据包括图像数据、惯性测量数据和位置数据。图像数据可以由物理地或无线地链接到客户端设备102的一个或多个相机所捕获。惯性测量数据可以使用陀螺仪、加速度计或其组合来收集,并且可以包括高达六个自由度(即,三个度的平移运动和三个度的旋转运动)的惯性测量数据。位置数据可以利用全球定位系统(GPS)接收器来收集。可以由各种其他传感器收集其他原始数据,诸如压力水平、照度水平、湿度水平、高度水平、声音水平、音频数据等。原始数据可以被存储在客户端设备102中的一个或多个存储模块中,这些模块它可以记录历史上由客户端设备102的各个传感器获取的原始数据。
在204处,客户端设备102可以维护本地地图存储。本地地图存储包括本地点云数据。点云数据包括空间中的位置,这些位置形成可以被构建的网格表面。在204处的本地地图存储可以包括本地点云数据的分层高速缓存,以易于取回以供客户端设备102使用。在204处的本地地图存储可以另外包括融合到本地点云数据中的对象信息。对象信息可以指定本地点云数据中的各种对象。
一旦在202处收集了原始数据,客户端设备102在206处检查地图是否被初始化。如果在206处地图被初始化,则客户端设备102可以在208处启动SLAM功能。SLAM功能包括映射系统,该系统建立点云并且进行跟踪以在初始化的地图上找到相机在空间中的位置。该示例的SLAM过程进一步将动画或增强值重新投影回真实世界。如果在210处没有初始化地图,则客户端设备102可以在204处在本地地图存储中搜索已经本地存储的地图。如果在204处在本地地图存储中找到地图,则客户端设备102可以取回该地图以供SLAM功能使用。如果在210处没有找到地图,则客户端设备102可以在212处使用初始化模块来创建新的地图。
一旦创建了新的地图,初始化模块可以在204处将新创建的地图存储在本地地图存储中。在220处,客户端设备102可以例行地将本地地图存储204中的地图数据与220处在服务器侧的云地图存储进行同步。当同步地图数据时,客户端设备102上的本地地图存储204可以向服务器发送任何新创建的地图。服务器侧在226处检查云地图存储220以确定从客户端设备102接收的地图是否先前已经被存储在云地图存储220中。如果没有,则服务器侧在228处生成新的地图以存储云地图存储220中。服务器可以并行地在228处将新的地图附加到云地图存储220中的现有地图。
回到客户端侧,客户端设备102在214处确定是否检测到新的视点。在一些实施例中,客户端设备102确定所捕获的图像流中的每个视点是否与被存储在客户端设备102上的预先存在的视点具有小于阈值的交叠(例如,本地地图存储204可以存储由客户端设备102获取或从云地图存储220取回的视点)。在其他实施例中,客户端设备102在多步骤确定中确定是否检测到214新颖视点。在较高级别,客户端设备102可以取回客户端设备102的地理位置的局部半径内的任何先前存在的视点。从预先存在的视点,客户端设备102可以开始标识所考虑的视点中与预先存在的视点相比相似的对象或特征。例如,客户端设备102在所考虑的视点中标识树,并且可以从局部半径内的先前存在的视点进一步减少也具有可见树的所有先前存在的视点。客户端设备102可以使用附加的过滤层,其在将所考虑的视点与已经过滤的先前存在的视点集合进行匹配时更加鲁棒(robust)。在一个示例中,客户端设备102使用机器学习模型来确定所考虑的视点是否与过滤后的集合中的另一视点相匹配(即,所考虑的视点不是新颖的,因为它与现有视点相匹配)。如果在214处检测到新颖视点,则客户端设备102在216处记录由本地环境推断所收集的数据。例如,在确定客户端设备102当前具有新颖视点时,可以将利用新颖视点捕获的图像发送到服务器(例如,发送到服务器侧的地图/图像数据库218)。新颖视点检测器模块可以用于确定何时以及如何传输具有3D数据的图像。本地环境推断可以包括用于本地映射系统的更新后的关键帧以及序列化的图像和/或地图数据。服务器可以使用本地环境推断来相对于地图中的给定位置的其他视点来拟合新颖视点。
在服务器侧,新颖视点数据(例如,包括顶部具有网格数据的点云信息)可以在218处被存储在服务器侧的地图/图像数据库中。服务器可以从所存储的云地图存储220和对象数据库222添加真实世界地图的不同部分。云环境推断224(包括所添加的组件数据)可以被发送回客户端设备。所添加的数据可以包括点和网格以及对象数据,对象数据具有要被存储在本地地图存储204处的语义标签(例如,墙壁或床)。
图3是示出适合用作客户端设备102或服务器的示例计算机300的高级框图。示例计算机300包括至少一个处理器302,其被耦合到芯片组304。芯片组304包括存储器控制器集线器320和输入/输出(I/O)控制器集线器322。存储器306和图形适配器312被耦合到存储器控制器集线器320,并且显示器318被耦合到图形适配器312。存储设备308、键盘310、指示设备314和网络适配器316被耦合到I/O控制器集线器322。计算机300的其他实施例具有不同的架构。
在图3所示的实施例中,存储设备308是非暂态计算机可读存储介质,诸如硬盘驱动器、光盘只读存储器(CD-ROM)、DVD或固态存储器设备。存储器306保存由处理器302使用的指令和数据。指示设备314是鼠标、跟踪球、触摸屏或其他类型的指点设备,并且与键盘310(可以是屏幕上键盘)结合使用以将数据输入到计算机系统300中。在其他实施例中,计算机300具有各种其他输入机制,诸如触摸屏、操纵杆、按钮、滚轮等、或其任何组合。图形适配器312在显示器318上显示图像和其他信息。网络适配器316将计算机系统300耦合到一个或多个计算机网络(例如,网络适配器316可以经由网络104将客户端设备102耦合到服务器)。
由图1的实体使用的计算机的类型可以根据实施例和实体所需要的处理能力而变化。例如,服务器可以包括分布式数据库系统,该分布式数据库系统包括一起工作以提供所描述的功能的多个刀片式(blade)服务器。此外,计算机可能缺少上述某些组件,诸如键盘310、图形适配器312和显示器318。
图4是示出根据实施例的由客户端设备(例如,客户端设备102)捕获的图像的增强400的流程图。客户端设备包括用于记录图像数据和位置数据的一个或多个传感器、以及用于显示增强图像的一个或多个显示设备。
客户端设备利用客户端设备上的一个或多个传感器来收集(410)图像数据和位置数据。在一个实施例中,客户端设备可以利用与客户端设备相关联的一个或多个相机(例如,作为组件的相机、物理地链接到客户端设备的相机或者无线地链接到客户端设备的相机)。图像数据还可以包括被存储为视频文件或被存储为来自视频文件的个体帧的视频数据。在另一实施例中,客户端设备可以利用GPS接收器、惯性测量单元(IMU)、加速度计、陀螺仪、高度计、用于确定客户端设备的空间位置的另一传感器、或者其某种组合来记录客户端设备的位置数据。
客户端设备确定(420)客户端设备在环境的3D地图中的位置。在一个实施例中,客户端设备基于所收集的图像数据或位置数据来生成环境的3D地图。在另一实施例中,客户端设备取回被存储在外部系统上的3D地图的一部分。例如,客户端设备经由网络(例如,网络104)从服务器取回所合成的真实世界3D地图的一部分。经取回的3D地图包括点云数据,该点云数据将真实世界中的对象映射到3D地图中的空间坐标。客户端设备然后利用位置数据来确定客户端设备在3D地图内的空间位置。在另外的实施例中,客户端设备还利用图像数据来帮助确定客户端设备在3D地图内的空间位置。
客户端设备确定(430)环境的3D地图中的映射点到客户端设备的距离。客户端设备标识3D地图内的映射点和该映射点的对应坐标。例如,客户端设备在3D地图中标识对象,例如树、标牌、长凳、喷泉等。然后,客户端设备利用所标识的映射点的坐标以及客户端设备的位置来确定客户端设备与映射点之间的距离。
客户端设备以基于映射点到客户端设备的距离的尺寸在映射点处生成(440)虚拟对象。虚拟对象可以由被存储在客户端设备上的可执行应用的应用编程接口来生成。虚拟对象还可以由外部服务器传输,以被定位在3D地图中的映射点处。在一些实施例中,虚拟对象可以由客户端设备基于由客户端设备的其他传感器收集的其他感测数据来选择。虚拟对象的大小可以基于客户端设备到映射点的距离而变化。
客户端设备利用虚拟对象增强(450)图像数据。图像数据中的虚拟对象的大小取决于所确定的客户端设备到映射点的距离。图像数据中的虚拟对象的外观还可以基于由客户端设备收集的其他感官数据而变化。在一些实施例中,当客户端设备接收到与虚拟对象相对应的输入(例如,与虚拟对象交互的用户输入)时,或者当感官数据改变时(例如,客户端设备旋转或平移的运动、一天中的时间的变化等),客户端设备周期性地利用虚拟对象来更新图像数据。
客户端设备显示(460)增强的图像数据以及虚拟对象。客户端设备可以在一个或多个显示器上显示虚拟对象。在客户端设备连续地更新增强的图像数据的实施例中,客户端设备还更新显示以反映对图像数据的增强的更新。
本领域技术人员可以在不脱离所描述的概念的情况下,对本文中公开的装置和技术进行多种使用和修改,并且可以与之背离。例如,本公开中示出或描述的组件或特征不限于所示出或描述的位置、设置或上下文。根据本公开的装置的示例可以包括比参考一个或多个前述附图描述的组件更多、更少或不同的组件。因此,本公开不限于本文中描述的特定实现,而是应当被赋予与所附权利要求及其等同物相一致的可能的最广范围。

Claims (19)

1.一种在客户端设备上生成计算机介导的现实数据的方法,所述方法包括:
利用被集成在所述客户端设备中的相机捕获图像数据,所述图像数据表示所述客户端设备周围的环境的近实时视图;
利用被集成在所述客户端设备中的位置传感器捕获位置数据,所述位置数据描述所述客户端设备在所述环境中的空间位置;
基于所述图像数据和所述位置数据生成本地地图数据,所述本地地图数据包括一个或多个三维3D点云,所述一个或多个3D点云在空间上描述所述客户端设备周围的所述环境中的一个或多个对象;
基于所述客户端设备的所述空间位置,访问视点集合;
至少部分地基于所述图像数据中的第一图像具有与所述视点集合中的每个视点在视场中的小于阈值的交叠,将所述图像数据中的所述第一图像标识为新颖视点;
向外部服务器传输所述本地地图数据和作为所述新颖视点的所述第一图像;
在所述客户端设备处从所述外部服务器接收世界地图数据的本地部分,其中所述世界地图数据是通过融合由一个或多个客户端设备生成的多个本地地图和由一个或多个客户端设备捕获的视点而被生成的,其中所述本地部分基于传输的所述本地地图数据而被选择;
基于位置数据,确定所述世界地图数据的本地部分中的映射点与所述世界地图数据的本地部分中所述客户端设备的所述空间位置之间的距离;
基于所述图像数据,所述位置数据以及所述映射点和所述客户端设备的所述空间位置之间的所述距离,在所述世界地图数据的本地部分中的所述映射点处生成计算机介导的现实图像;以及
在所述映射点处显示所述计算机介导的现实图像。
2.根据权利要求1所述的方法,还包括向所述外部服务器传输所述图像数据,其中所述世界地图数据的本地部分还基于所述图像数据而被选择。
3.根据权利要求1所述的方法,还包括:
至少部分地基于所述图像数据中的第二图像具有第一视点集合和所述第一图像在视场中的小于最小交叠的交叠,标识所述图像数据中的所述第二图像作为第二新颖视点。
4.根据权利要求1所述的方法,其中所述计算机介导的现实图像包括虚拟对象,所述虚拟对象被固定在所述世界地图数据的本地部分中的所述映射点处。
5.根据权利要求4所述的方法,还包括:基于所述图像数据和所述位置数据,从所述外部服务器接收虚拟对象,其中所述计算机介导的现实图像包括所接收的所述虚拟对象。
6.根据权利要求1所述的方法,其中基于所述图像数据和所述位置数据生成本地地图数据还包括:
基于所述图像数据,标识所述环境中的一个或多个对象;
基于所述图像数据和所述位置数据,确定针对所述对象中的每个对象的一个或多个空间位置;以及
针对所述对象中的每个对象,生成包括3D点集合的3D点云。
7.根据权利要求6所述的方法,其中基于所述图像数据和所述位置数据生成本地地图数据还包括:
将每个对象分类为多个对象类型中的一个对象类型,所述多个对象类型包括描述被预期保留在基本相同的空间位置中的对象的固定类型。
8.根据权利要求1所述的方法,还包括:
利用所述位置传感器捕获后续位置数据,所述后续位置数据描述所述客户端设备在所述环境中的后续空间位置;
基于位置数据和所述世界地图数据的本地部分,确定所述世界地图数据的本地部分中的所述映射点与所述客户端设备的所述后续空间位置之间的后续距离;
基于所述后续位置数据,调节在所述世界地图数据的本地部分中的所述映射点处的所述计算机介导的现实图像;以及
在所述映射点处显示经调节的所述计算机介导的现实图像。
9.一种在外部服务器上生成计算机介导的现实数据的方法,所述方法包括:
存储世界地图数据和视点数据,所述世界地图数据描述多个地理位置处的多个环境的集合,所述视点数据描述在所述多个环境处捕获的图像;
从客户端设备接收本地地图数据、由所述客户端设备上的相机捕获的环境的图像数据、利用位置传感器捕获的描述所述客户端设备的空间位置的位置数据、以及一个或多个新颖视点,其中所述本地地图数据是由所述客户端设备基于所述图像数据和所述位置数据而生成的,并且包括在空间上描述所述客户端设备周围的所述环境中的一个或多个对象的一个或多个3D点云;
基于所述位置数据从所述视点数据中标识视点集合;
针对每个新颖视点,确定每个新颖视点是否具有与所述视点集合中的每个视点在视场中的小于阈值的交叠;
响应于确定第一新颖视点与所述视点集合中的每个视点具有与所述视点集合中的每个视点在视场中的小于阈值的交叠,将所述第一新颖视点添加到所述视点集合中;
基于所述位置数据和所述本地地图数据,取回世界地图数据的本地部分;
通过将所述本地地图数据中的所述3D点云中的一个或多个3D点云添加到所述世界地图数据中,利用所述本地地图数据来更新所述世界地图数据的本地部分;以及
向所述客户端设备传输所述世界地图数据的所述本地部分。
10.根据权利要求9所述的方法,还包括:基于所述图像数据和所述位置数据,生成要由所述客户端设备在所述环境中显示的虚拟对象;以及
向所述客户端设备传输所述虚拟对象。
11.根据权利要求9所述的方法,还包括:
针对每个新颖视点,确定在来自所述新颖视点的阈值时间间隔内,是否具有大于在所述新颖视点的视场中的最小交叠的所述视点集合的子集被捕获;以及
响应于确定在来自第二新颖视点的所述阈值时间间隔内,具有大于在所述第二新颖视点的视场中的所述最小交叠的所述视点集合的第一子集被捕获,将所述第二新颖视点添加到所述视点集合。
12.一种非瞬态计算机可读存储介质,其上存储有用于在客户端设备上生成计算机介导的现实数据的指令,所述指令在由处理器执行时,使所述处理器执行操作,所述操作包括:
利用被集成在所述客户端设备中的相机捕获图像数据,所述图像数据表示所述客户端设备周围的环境的近实时视图;
利用被集成在所述客户端设备中的位置传感器捕获位置数据,所述位置数据描述所述客户端设备在所述环境中的空间位置;
基于所述图像数据和所述位置数据生成本地地图数据,所述本地地图数据包括一个或多个三维3D点云,所述一个或多个3D点云在空间上描述所述客户端设备周围的所述环境中的一个或多个对象;
基于所述客户端设备的所述空间位置,访问视点集合;
至少部分地基于所述图像数据中的第一图像具有与所述视点集合中的每个视点在视场中的小于阈值的交叠,将所述图像数据中的所述第一图像标识为新颖视点;
向外部服务器传输所述本地地图数据和作为所述新颖视点的所述第一图像;
在所述客户端设备处从所述外部服务器接收世界地图数据的本地部分,其中所述世界地图数据是通过融合由一个或多个客户端设备生成的多个本地地图和由一个或多个客户端设备捕获的视点而被生成的,其中所述本地部分基于传输的所述本地地图数据而被选择;
基于位置数据,确定所述世界地图数据的本地部分中的映射点与所述世界地图数据的本地部分中所述客户端设备的所述空间位置之间的距离;
基于所述图像数据,所述位置数据以及所述映射点和所述客户端设备的所述空间位置之间的所述距离,在所述世界地图数据的本地部分中的所述映射点处生成计算机介导的现实图像;以及
在所述映射点处显示所述计算机介导的现实图像。
13.根据权利要求12所述的非瞬态计算机可读存储介质,还包括向所述外部服务器传输所述图像数据,其中所述世界地图数据的本地部分还基于所述图像数据而被选择。
14.根据权利要求12所述的非瞬态计算机可读存储介质,还包括:
至少部分地基于所述图像数据中的第二图像具有第一视点集合和所述第一图像在视场中的小于最小交叠的交叠,标识所述图像数据中的所述第二图像作为第二新颖视点。
15.根据权利要求12所述的非瞬态计算机可读存储介质,其中所述计算机介导的现实图像包括虚拟对象,所述虚拟对象被固定在所述世界地图数据的本地部分中的所述映射点处。
16.根据权利要求15所述的非瞬态计算机可读存储介质,还包括:基于所述图像数据和所述位置数据,从所述外部服务器接收虚拟对象,其中所述计算机介导的现实图像包括所接收的所述虚拟对象。
17.根据权利要求12所述的非瞬态计算机可读存储介质,其中基于所述图像数据和所述位置数据生成本地地图数据还包括:
基于所述图像数据,标识所述环境中的一个或多个对象;
基于所述图像数据和所述位置数据,确定针对所述对象中的每个对象的一个或多个空间位置;以及
针对所述对象中的每个对象,生成包括3D点集合的3D点云。
18.根据权利要求17所述的非瞬态计算机可读存储介质,其中基于所述图像数据和所述位置数据生成本地地图数据还包括:
将每个对象分类为多个对象类型中的一个对象类型,所述多个对象类型包括描述被预期保留在基本相同的空间位置中的对象的固定类型。
19.根据权利要求12所述的非瞬态计算机可读存储介质,还包括:
利用所述位置传感器捕获后续位置数据,所述后续位置数据描述所述客户端设备在所述环境中的后续空间位置;
基于位置数据和所述世界地图数据的本地部分,确定所述世界地图数据的本地部分中的所述映射点与所述客户端设备的所述后续空间位置之间的后续距离;
基于所述后续位置数据,调节在所述世界地图数据的本地部分中的所述映射点处的所述计算机介导的现实图像;以及
在所述映射点处显示经调节的所述计算机介导的现实图像。
CN201880045330.9A 2017-07-07 2018-07-07 启用云的增强现实 Active CN110892410B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410633859.XA CN118587373A (zh) 2017-07-07 2018-07-07 启用云的增强现实

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762529492P 2017-07-07 2017-07-07
US62/529,492 2017-07-07
US16/029,530 US10885714B2 (en) 2017-07-07 2018-07-06 Cloud enabled augmented reality
US16/029,530 2018-07-06
PCT/US2018/041164 WO2019010466A1 (en) 2017-07-07 2018-07-07 INCREASED REALITY THAT CAN USE THE CLOUD

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410633859.XA Division CN118587373A (zh) 2017-07-07 2018-07-07 启用云的增强现实

Publications (2)

Publication Number Publication Date
CN110892410A CN110892410A (zh) 2020-03-17
CN110892410B true CN110892410B (zh) 2024-06-07

Family

ID=64903345

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880045330.9A Active CN110892410B (zh) 2017-07-07 2018-07-07 启用云的增强现实
CN202410633859.XA Pending CN118587373A (zh) 2017-07-07 2018-07-07 启用云的增强现实

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202410633859.XA Pending CN118587373A (zh) 2017-07-07 2018-07-07 启用云的增强现实

Country Status (8)

Country Link
US (3) US10885714B2 (zh)
EP (1) EP3649576A4 (zh)
JP (3) JP7179819B2 (zh)
KR (2) KR102480362B1 (zh)
CN (2) CN110892410B (zh)
AU (2) AU2018297358B2 (zh)
CA (1) CA3068645C (zh)
WO (1) WO2019010466A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11077365B2 (en) 2018-06-27 2021-08-03 Niantic, Inc. Low latency datagram-responsive computer network protocol
US10600230B2 (en) * 2018-08-10 2020-03-24 Sheng-Yen Lin Mesh rendering system, mesh rendering method and non-transitory computer readable medium
US20210319591A1 (en) * 2018-09-13 2021-10-14 Sony Corporation Information processing device, terminal device, information processing system, information processing method, and program
US11922489B2 (en) 2019-02-11 2024-03-05 A9.Com, Inc. Curated environments for augmented reality applications
US11288842B2 (en) 2019-02-15 2022-03-29 Interaptix Inc. Method and system for re-projecting and combining sensor data for visualization
CA3130880C (en) 2019-02-25 2024-01-02 Niantic, Inc. Augmented reality mobile edge computing
US11461586B2 (en) * 2019-06-25 2022-10-04 International Business Machines Corporation Learned interaction with a virtual scenario
CN112785700B (zh) * 2019-11-08 2024-09-24 华为技术有限公司 虚拟物体显示方法、全局地图更新方法以及设备
WO2021124289A1 (en) * 2019-12-20 2021-06-24 Niantic, Inc. Merging local maps from mapping devices
AU2020409015A1 (en) 2019-12-20 2022-08-25 Niantic, Inc. Data hierarchy protocol for data transmission pathway selection
KR20220119664A (ko) * 2019-12-20 2022-08-30 나이앤틱, 인크. 3d 라인 정션을 통한 위치 판정 및 매핑
KR102346090B1 (ko) * 2020-05-06 2021-12-31 광운대학교 산학협력단 체적 3d 비디오 데이터의 실시간 혼합 현실 서비스를 위해 증강 현실 원격 렌더링 방법
US11972576B2 (en) * 2020-06-30 2024-04-30 Lyft, Inc. Generating and fusing reconstructions using overlapping map segments
KR102449031B1 (ko) * 2020-10-26 2022-09-29 주식회사 쓰리아이 딥러닝을 이용한 실내 위치 측위 방법
JP7336653B2 (ja) 2020-10-26 2023-09-01 3アイ インコーポレイテッド ディープラーニングを利用した屋内位置測位方法
CN112699884A (zh) * 2021-01-29 2021-04-23 深圳市慧鲤科技有限公司 定位方法、装置、电子设备及存储介质
CN113398577B (zh) * 2021-05-13 2024-04-09 杭州易现先进科技有限公司 一种线下空间的多人ar互动方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003141569A (ja) * 2001-10-31 2003-05-16 Canon Inc 情報処理方法および映像合成装置
CN102681661A (zh) * 2011-01-31 2012-09-19 微软公司 在玩游戏中使用三维环境模型

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7324687B2 (en) 2004-06-28 2008-01-29 Microsoft Corporation Color segmentation-based stereo 3D reconstruction system and process
US9024972B1 (en) 2009-04-01 2015-05-05 Microsoft Technology Licensing, Llc Augmented reality computing with inertial sensors
JP5422735B2 (ja) * 2009-05-11 2014-02-19 ウニヴェルシテート ツ リューベック 可変姿勢を含む画像シーケンスのリアルタイム利用可能なコンピュータ支援分析方法
JP5471626B2 (ja) * 2010-03-09 2014-04-16 ソニー株式会社 情報処理装置、マップ更新方法、プログラム及び情報処理システム
US20120019522A1 (en) * 2010-07-25 2012-01-26 Raytheon Company ENHANCED SITUATIONAL AWARENESS AND TARGETING (eSAT) SYSTEM
US9429438B2 (en) * 2010-12-23 2016-08-30 Blackberry Limited Updating map data from camera images
JP5960796B2 (ja) 2011-03-29 2016-08-02 クアルコム,インコーポレイテッド ローカルマルチユーザ共同作業のためのモジュール式のモバイル接続ピコプロジェクタ
US20120306850A1 (en) 2011-06-02 2012-12-06 Microsoft Corporation Distributed asynchronous localization and mapping for augmented reality
US20130249947A1 (en) * 2011-08-26 2013-09-26 Reincloud Corporation Communication using augmented reality
US8798840B2 (en) * 2011-09-30 2014-08-05 Irobot Corporation Adaptive mapping with spatial summaries of sensor data
US9064337B2 (en) * 2012-06-05 2015-06-23 Apple Inc. Method, system and apparatus for rendering a map with adaptive textures for map features
US10115202B2 (en) * 2012-12-27 2018-10-30 Arria Data2Text Limited Method and apparatus for motion detection
JP6281496B2 (ja) * 2013-02-01 2018-02-21 ソニー株式会社 情報処理装置、端末装置、情報処理方法及びプログラム
US20140267234A1 (en) * 2013-03-15 2014-09-18 Anselm Hook Generation and Sharing Coordinate System Between Users on Mobile
US20140323148A1 (en) * 2013-04-30 2014-10-30 Qualcomm Incorporated Wide area localization from slam maps
CN104616278B (zh) * 2013-11-05 2020-03-17 北京三星通信技术研究有限公司 三维点云兴趣点检测方法和系统
US20150206343A1 (en) * 2014-01-17 2015-07-23 Nokia Corporation Method and apparatus for evaluating environmental structures for in-situ content augmentation
US9582888B2 (en) 2014-06-19 2017-02-28 Qualcomm Incorporated Structured light three-dimensional (3D) depth map based on content filtering
US20170243403A1 (en) * 2014-11-11 2017-08-24 Bent Image Lab, Llc Real-time shared augmented reality experience
US10133947B2 (en) 2015-01-16 2018-11-20 Qualcomm Incorporated Object detection using location data and scale space representations of image data
US10185463B2 (en) * 2015-02-13 2019-01-22 Nokia Technologies Oy Method and apparatus for providing model-centered rotation in a three-dimensional user interface
US9652896B1 (en) * 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US9984499B1 (en) * 2015-11-30 2018-05-29 Snap Inc. Image and point cloud based tracking and in augmented reality systems
US9934587B2 (en) * 2016-06-30 2018-04-03 Daqri, Llc Deep image localization
US10685489B2 (en) * 2017-03-02 2020-06-16 Daqri, Llc System and method for authoring and sharing content in augmented reality

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003141569A (ja) * 2001-10-31 2003-05-16 Canon Inc 情報処理方法および映像合成装置
CN102681661A (zh) * 2011-01-31 2012-09-19 微软公司 在玩游戏中使用三维环境模型

Also Published As

Publication number Publication date
CA3068645A1 (en) 2019-01-10
US10885714B2 (en) 2021-01-05
JP2020526829A (ja) 2020-08-31
KR102480362B1 (ko) 2022-12-22
US11430189B2 (en) 2022-08-30
JP2024110426A (ja) 2024-08-15
KR20230003646A (ko) 2023-01-06
US20220351476A1 (en) 2022-11-03
AU2022268310B2 (en) 2024-06-13
US20190012840A1 (en) 2019-01-10
JP7179819B2 (ja) 2022-11-29
CN118587373A (zh) 2024-09-03
AU2018297358A1 (en) 2020-02-20
CN110892410A (zh) 2020-03-17
JP7486565B2 (ja) 2024-05-17
JP2023022841A (ja) 2023-02-15
EP3649576A1 (en) 2020-05-13
KR20200020937A (ko) 2020-02-26
CA3068645C (en) 2024-01-02
US20210082202A1 (en) 2021-03-18
KR102689634B1 (ko) 2024-07-30
AU2018297358B2 (en) 2022-09-15
EP3649576A4 (en) 2020-11-04
WO2019010466A1 (en) 2019-01-10
AU2022268310A1 (en) 2022-12-15

Similar Documents

Publication Publication Date Title
CN110892410B (zh) 启用云的增强现实
AU2022256192B2 (en) Multi-sync ensemble model for device localization
US11969651B2 (en) Merging local maps from mapping devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant