CN113614793A - 创建增强现实中的持续的映射的系统和方法 - Google Patents
创建增强现实中的持续的映射的系统和方法 Download PDFInfo
- Publication number
- CN113614793A CN113614793A CN201980094558.1A CN201980094558A CN113614793A CN 113614793 A CN113614793 A CN 113614793A CN 201980094558 A CN201980094558 A CN 201980094558A CN 113614793 A CN113614793 A CN 113614793A
- Authority
- CN
- China
- Prior art keywords
- digital representation
- computing device
- visual
- environment
- mapping
- 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.)
- Granted
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000003190 augmentative effect Effects 0.000 title claims abstract description 15
- 230000002085 persistent effect Effects 0.000 title description 10
- 230000000007 visual effect Effects 0.000 claims abstract description 124
- 230000008859 change Effects 0.000 claims abstract description 35
- 230000004807 localization Effects 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims description 10
- 239000008186 active pharmaceutical agent Substances 0.000 claims 1
- 238000010801 machine learning Methods 0.000 abstract description 33
- 230000033001 locomotion Effects 0.000 description 37
- 230000015654 memory Effects 0.000 description 33
- 238000004891 communication Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 9
- 239000010410 layer Substances 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 239000003638 chemical reducing agent Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002844 melting Methods 0.000 description 1
- 230000008018 melting Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
根据一个方面,一种创建用于增强现实(AR)本地化的三维映射的方法包括获得AR环境的场景的数字表示,其中该数字表示已被计算设备捕获。该方法包括使用机器学习(ML)模型标识具有被标识为可能改变的视觉数据的数字表示的区域,以及移除对应于数字表示的区域的数字表示的一部分以获得缩减数字表示,其中该缩减数字表示被用于生成AR环境的三维(3D)映射。
Description
相关申请的交叉引用
本申请要求于2019年4月26日提交的标题为“SYSTEM AND METHOD FOR CREATINGPERSISTENT MAPPINGS IN AUGMENTED REALITY(创建增强现实中的持续的映射的系统和方法)”的美国非临时专利申请No.16/396,145和于2019年4月26日提交的标题为“MANAGINGCONTENT IN AUGMENTED REALITY(管理增强现实中的内容)”的美国非临时专利申请No.16/395,832的优先权,其公开内容通过引用整体并入本文。
技术领域
本描述一般涉及创建增强现实中的持续的映射。
背景技术
在一些增强现实(AR)系统中,AR服务器可以接收关于第一用户环境的数字信息,并创建表示AR环境的三维(3D)映射。3D映射可以提供视觉信息和AR对象被定位在其中的坐标空间。响应于在第二用户的计算设备上本地化AR环境的尝试,可以将3D映射与关于第二用户的环境的数字信息进行比较。然而,在第二用户尝试本地化AR环境时,物理空间中的一个或多个物理对象可能已经移动。因此,尽管第二用户在同一物理空间中,但是由于3D映射和从第二用户的设备接收到的数字信息之间的视觉差异,比较可能会失败。
发明内容
一个或多个计算机的系统可以被配置成借助于具有在系统上安装的软件、固件、硬件或它们的组合来执行特定操作或动作,该软件、固件、硬件或它们的组合在操作中使该系统执行动作。一个或多个计算机程序可以被配置成借助于包括指令来执行特定的操作或动作,所述指令在由数据处理装置执行时使该装置执行动作。
根据一个方面,一种创建用于增强现实(AR)本地化的三维映射的方法包括获得AR环境的场景的数字表示,其中该数字表示已被计算设备捕获。该方法包括使用机器学习(ML)模型标识具有被标识为可能会改变(例如,从场景中移动、从场景中消失或随时间流逝对场景的变化的其他原因)的视觉数据的数字表示的区域,和移除对应于数字表示的区域的数字表示的一部分以获得缩减数字表示,其中缩减数字表示被用于生成AR环境的三维(3D)映射。根据进一步的方面,可以提供相应的AR系统和存储相应指令的非暂时性计算机可读介质。
根据一些方面,该方法可以包括下述特征中的任意一个(或其任何组合)。该方法可以包括基于缩减数字表示生成3D映射,其中3D映射不包括与具有被标识为可能改变的视觉数据的区域对应的数字表示的部分。标识可以包括使用ML模型检测数字表示中可能改变的视觉对象,其中基于检测的视觉对象标识数字表示的区域。标识可以包括使用ML模型检测数字表示中的视觉对象,将该视觉对象分类为类别,以及基于与该类别相关联的标签将视觉对象标识为可能改变,其中该标签指示属于该类别的对象可能改变,并且数字表示的区域被标识为三维空间,其包括被标识为可能改变的对象。标识可以包括使用ML模型标识数字表示中可能改变的视觉点的图案,其中从3D映射中排除视觉点的图案。数字表示包括从计算设备导出的视觉特征点的集合,并且该方法包括基于数字表示而检测可能改变的视觉对象,标识包括视觉对象的空间的区域,以及从被包括在区域中的集合中移除一个或多个视觉特征点。数字表示是第一数字表示,并且计算设备是第一计算设备,并且该方法包括获得AR环境的场景的至少一部分的第二数字表示,其中第二数字表示已经被第二计算设备捕获,以及将第二数字表示与3D映射进行比较以确定第二数字表示是否来自与3D映射相同的AR环境。该方法可以包括获得AR环境的场景的至少一部分的第二数字表示,使用ML模型标识第二数字表示的辅助区域,其中辅助区域具有被标识为可能改变的视觉数据,移除对应于辅助区域的第二数字表示的一部分,以及将第二数字表示与3D映射进行比较以确定第二数字表示是否来自与3D映射相同的AR环境。
根据一个方面,一种被配置成生成AR环境的三维(3D)映射的增强现实(AR)系统包括可由至少一个服务器执行的AR协同服务和可由计算设备执行的客户端AR应用,其中客户端AR应用被配置成经由一个或多个应用编程接口(API)与AR协同服务进行通信,并且AR协同服务或客户端AR应用被配置成获得AR环境的场景的数字表示,其中数字表示已被计算设备捕获,使用机器学习(ML)模型标识数字表示中具有被标识为可能改变的视觉数据的区域,并移除对应于该区域的数字表示的一部分以获得场景的缩减数字表示,其中缩减数字表示被用于与AR环境的三维(3D)映射的比较。根据另外的方面,可以提供相应的方法和存储相应指令的非暂时性计算机可读介质。
根据一些方面,AR系统可以包括以上/以下特征中的任何一个(或其任何组合)。AR协同服务被配置成响应于在计算设备上本地化AR环境的尝试,将缩减数字表示与3D映射进行比较。客户端AR应用或AR协同服务被配置成使用ML模型检测数字表示中可能移动的对象,其中基于检测的对象标识数字表示的区域。AR协同服务被配置成使用ML模型检测数字表示中的对象,将该对象分类为类别,并基于与该类别相关联的标签将该对象标识为可能移动,其中该标签指示属于该类别的对象可能移动。客户端AR应用被配置成使用ML模型标识数字表示中可能移动的视觉点的图案。数字表示包括由计算设备捕获的视觉特征点的集合,并且客户端AR应用或AR协同服务被配置成基于数字表示检测可能移动的对象,标识包括对象的空间的区域,并且从包括在该区域内的集合中移除一个或多个视觉特征点。
根据一个方面,一种存储可执行指令的非暂时性计算机可读介质在由至少一个处理器执行时被配置成生成增强现实(AR)环境的三维(3D)映射,其中可执行指令包括使至少一个处理器获得AR环境的场景的第一数字表示的指令,其中第一数字表示已被第一计算设备捕获、使用机器学习(ML)模型标识具有被标识为可能改变的视觉数据的第一数字表示的区域,移除对应于该区域的第一数字表示的一部分以获得缩减数字表示,并生成AR环境生成三维(3D)映射用于存储在AR服务器上,并且可选地,响应于在第二计算设备上本地化AR环境的尝试将场景的至少一部分的第二数字表示与3D映射进行比较,其中第二数字表示已被第二计算设备捕获。根据进一步的方面,可以提供相应的AR系统和相应的方法。
根据一些方面,非暂时性计算机可读介质可以包括以上/以下特征中的任何一个(或其任何组合)。操作可以包括使用ML模型检测第一数字表示中可能移动的对象。操作可以包括使用ML模型检测第一数字表示中的对象,将该对象分类为类别,并基于与该类别相关联的标签将对象标识为可能移动,其中该标签指示属于类别的对象可能移动,并且第一数字表示的区域被标识为包括被标识为可能移动的对象的三维空间。操作可以包括使用ML模型标识第一数字表示中可能移动的点的图案,其中从3D映射中移除点的图案。数字表示包括由第一计算设备捕获的视觉特征点的集合,并且操作可以包括基于第一数字表示检测可能移动的对象,标识包括该对象的空间的区域,并且从包括在该区域内的集合中移除一个或多个视觉特征点。操作可以包括使用ML模型检测第二数字表示中可能移动的对象。
在附图和以下描述中阐述一种或多种实现方式的细节。从描述和附图以及从权利要求中,其他特征将是显而易见的。
附图说明
图1A图示根据一个方面的用于创建3D映射的AR系统。
图1B图示根据一个方面的用于检测移动数据的AR系统的移动分析器。
图2图示根据一个方面的具有集成在客户端AR应用上的移动分析器的AR系统。
图3图示根据一个方面的具有集成在AR服务器处的移动分析器的AR系统。
图4图示根据一个方面的用于在没有可移动数据的情况下生成3D映射的AR系统。
图5图示根据一个方面的AR系统的计算设备的示例。
图6A至6C图示根据一个方面的AR环境的场景上的视觉特征点以及具有移动数据的区域的一个或多个点的移除的图形描绘。
图7图示描绘根据一个方面的AR系统的示例操作的流程图。
图8图示根据一个方面的AR系统的示例计算设备。
各种附图中相同的参考符号指示相同的元件。
具体实施方式
实施例提供一种AR系统,该系统被配置成在没有一个或多个被标识为可能改变(例如,从场景中移动、从场景中消失,或引起对场景的变化)的视觉对象(或一个或多个图案化视觉点的集合)的情况下创建AR环境的3D映射。在一些示例中,3D映射包括被标识为可能改变的对象,但是被标识为可能改变的对象在AR系统中被注释。可移动对象的注释可能指示这些对象未被用于AR本地化比较操作。例如,AR系统检测或标识可能从第一用户的计算设备捕获的有关第一用户环境的数字信息中移动的数据,并且然后在更新或生成3D映射之前移除或注释该数据。此外,在第二用户的计算设备上本地化AR环境的尝试中,当将第二用户的数字信息与3D映射进行比较时,AR系统可能会从第二用户的计算设备捕获的数字信息中移除或忽略可移动数据。
在一些示例中,AR环境使用机器学习模型以从语义上理解AR环境的场景中物理对象的类型,并检测该对象是否可能移动。如果确定对象可能会移动,则数字信息的该部分不用于创建/更新3D映射或不用于与3D映射进行比较以进行AR本地化。因此,可以增加AR系统的持续的世界空间映射的质量。此外,因为使用相对静止的对象而不是可能移动的对象,所以可以改善用于AR本地化的比较的准确性。
图1A和1B图示根据一个方面的被配置成存储和共享AR环境101中的数字内容的增强现实(AR)系统100。AR系统100被配置成创建不具有可能改变(例如,从场景移动、从场景中消失或随着时间流逝引起对场景的变化)的一个或多个视觉对象(或一个或多个图案化视觉点的集合)的AR环境101的三维(3D)映射113,从而增加AR系统100的持续的世界空间映射的质量。在一些示例中,3D映射113包括被标识为可能移动的对象,但是被标识为可能移动的对象在AR系统100中被注释。在一些示例中,3D映射113包括坐标空间,来自物理空间和AR内容130的视觉信息被定位在该坐标空间中。在一些示例中,视觉信息和AR内容130位置在3D映射113中从图像帧到图像帧被更新。在一些示例中,3D映射113包括稀疏点映射。3D映射113被用于与加入AR环境101的一个或多个用户共享AR环境101,并计算每个用户的计算设备相对于AR环境101的物理空间所位于的位置,使得多个用户可以查看并与AR环境101交互。
AR系统100包括AR协同服务104,可由一个或多个AR服务器102执行,被配置成创建用户可以共享的多用户或协同AR体验。AR协同服务104通过网络150与包括第一计算设备106和第二计算设备108的多个计算设备通信,其中第一计算设备106的用户和第二计算设备108的用户可以共享相同的AR环境101。第一计算设备106和第二计算设备108中的每一个被配置成执行客户端AR应用110。
在一些示例中,客户端AR应用110是与一个或多个AR应用结合操作的软件开发工具包(SDK)。在一些示例中,结合第一计算设备106或第二计算设备108上的一个或多个传感器,客户端AR应用110被配置成检测和跟踪设备相对于物理空间的位置,检测不同类型的表面(例如,水平、垂直、成角度的)大小和位置,并估计环境的当前光照条件。客户端AR应用110被配置成经由一个或多个应用编程接口(API)与AR协同服务104通信。尽管在图1A中图示两个计算设备,AR协同服务104可以与任意数量的计算设备通信和共享AR环境101。
第一计算设备106可以是例如诸如控制器或移动设备(例如,智能电话、平板计算机、操纵杆或其他便携式控制器)的计算设备。在一些示例中,第一计算设备106包括与移动设备配对或与移动设备通信以在AR环境101中交互的可穿戴设备(例如,头戴式设备)。AR环境101是环境的表示,其可以由第一计算设备106(和/或其他虚拟和/或增强现实硬件和软件)生成。在该示例中,用户正在使用第一计算设备106查看AR环境101。因为第二计算设备108的细节和使用可能相对于第一计算设备106相同,所以为了简洁起见省略第二计算设备108的细节。
AR环境101可以涉及在用户的视野内的物理空间和AR内容130被定位在其中的虚拟空间。如图1A中所示,AR内容130是连同指向椅子131的箭头一起的文本描述(“我的椅子”),其中椅子131是物理空间中的物理对象。然后提供(或渲染)AR环境101可以涉及通过显示AR内容130来更改用户对物理空间的视野,使得它在用户看来呈现在用户的视野中的物理空间中,或者覆盖在物理空间上或之中。因此,AR内容130的这种显示是根据虚拟空间和物理空间之间的映射(例如,3D映射113)。AR内容130的覆盖可以例如通过将AR内容130叠加到物理空间的用户的视野的光场中、通过在一个或多个显示屏上再现物理空间用户的视图,和/或以其他方式,例如通过使用平视显示器、移动设备显示屏等等来实现。
第一计算设备106可以将AR环境101的场景125的数字表示114发送到AR协同服务104。AR协同服务104可以基于来自第一计算设备106的数字表示114来创建3D映射113,并且3D映射113被存储在AR服务器102处。然后,第二计算设备108的用户可能希望加入AR环境101(例如,在第一计算设备106的用户处于AR环境101内或在第一计算设备106的用户已离开会话的后续时间)。为了在第二计算设备108上本地化AR环境101,第二计算设备108可以发送AR环境101的场景125的至少一部分的数字表示114。AR协同服务104可以比较来自于第二计算设备108的数字表示114与3D映射113。如果比较结果匹配(或基本匹配),则在第二计算设备108上本地化AR环境101。
匹配的准确性可以取决于保存的区域(例如,3D映射113)是否包括可能移动(例如,相对于场景中的其他对象)的对象或点。某些环境条件(例如,照明的变化、诸如家具的对象的移动等)可能会导致相机帧出现视觉差异。例如,一些类型的对象更可能长期保持稳定(例如,墙壁、柜台、桌子、架子),而一些类型的对象更可能经常移动(例如,椅子、房间里的人等)。如果3D映射113(例如,当最初创建AR环境101时)和来自第二计算设备108的数字表示114之间的差异高于阈值量,则比较可能不会导致匹配,并且AR环境101可能无法在第二计算设备108上被本地化。
如图1A中所示,AR环境101包括椅子131,并且3D映射113提供包括椅子131的AR环境101的3D映射。然而,在创建3D映射113之后,椅子131可以被移动到AR环境101的场景125中描绘的办公室之外。响应于在第二计算设备108上本地化AR环境101的尝试,从第二计算设备108发送到AR协同服务104的数字表示114可能不具有对应于椅子131的视觉特征。当根据来自第二计算设备108的数字表示114解析3D映射113时,由于最初存储场景125时视觉特征的差异,视觉特征的比较可能失败,并且然后尝试本地化AR环境101。
然而,AR系统100包括移动分析器112,该移动分析器112被配置成检测可能从第一计算设备106或第二计算设备108捕获的图像数据中移动的对象或图案化的点的集合,并且然后在创建3D映射113时移除或注释那些对象或点,或者在尝试匹配3D映射113以在第一计算设备106或第二计算设备108上对AR环境101进行AR本地化时忽略那些对象或点。在一些示例中,移动分析器112的操作由客户端AR应用110执行。在一些示例中,移动分析器112的操作由AR协同服务104执行。在一些示例中,移动分析器112的一个或多个操作由客户端AR应用110执行,并且移动分析器112的一个或多个操作由AR协同服务104执行。
参考图1A和1B,移动分析器112被配置成检测AR环境101的场景125的数字表示114。例如,用户可以使用第一计算设备106上的一个或多个传感器以从AR环境101的物理空间捕获场景125。在一些示例中,数字表示114包括AR环境101的场景125的3D表示。在一些示例中,数字表示114包括具有深度信息的视觉特征。在一些示例中,数字表示114包括由第一计算设备106捕获的一个或多个帧的图像数据。在一些示例中,数字表示114包括具有空间中的深度的视觉特征点的集合。
移动分析器112包括移动检测器116,该移动检测器116被配置成使用一个或多个机器学习(ML)模型115基于对数字表示114的分析来标识具有可移动数据120的区域118,该可移动数据120可以是2D图像数据或具有深度信息的3D图像数据。在一些示例中,可移动数据120包括可能引起对场景的变化的数据(例如,引起诸如冰融化、阴影或光移动的“变化”的任何事物)。可移动数据120可以是被标识为可能移动的一个或多个对象121或图案化的视觉点123的集合,并且区域118可以是包括可移动数据120的空间。在一些示例中,区域118是3D空间,其包括对象121或图案化的视觉点123的集合。在一些示例中,区域118是由环绕对象121或图案化的视觉点123的集合的AR环境101中的区域118的一个或多个坐标和/或维度标识的区域(例如,3D空间)。在一些示例中,区域118是包括对象121或图案化的视觉点123的集合的边界框。
在一些示例中,ML模型115包括一个或多个训练的分类器,其被配置成基于数字表示114检测场景125中的对象121的分类。例如,一个或多个训练的分类器可以检测场景125中的对象121,并将对象121分类为多个类别之一。例如,类别可以包括诸如椅子、膝上型计算机、书桌等的对象的不同特征。一些类别可以与指示属于相应类别的对象可能移动的标签相关联。
在一些示例中,被标记为可能被移动的类别可以由一个或多个ML模型115以编程方式确定。例如,经过训练的分类器可以指示特定类别的对象移出场景125(或场景125中的不同位置)超过阈值量,并且该特定类别可以被编程标记为可能被移动。在一些示例中,被标记为可能被移动的类别可以由人类程序员确定(例如,已知诸如钢笔、膝上型计算机、椅子等的对象可能移动,并且可以被手动标记为可能在不使用ML算法的情况下移动)。如图1A中所示,场景125包括椅子131。移动检测器116可以检测表示椅子131的对象并将椅子131分类为椅子类别,并且椅子类别可被标记为可能被移动。在一些示例中,将椅子131检测为椅子类别与置信水平相关联,并且如果置信水平高于阈值量,则移动检测器116被配置成将椅子131检测为椅子类别。然后移动检测器116可以标识环绕椅子131的区域118。
在一些示例中,移动检测器116使用2D或3D图像信号和诸如与AR内容130相关联的信息的一个或多个其他信号来确定对检测的对象121的类别。AR内容130可以包括描述性信息,其可以帮助对象121的语义理解。在一些示例中,如上所指示的,数字表示114可以是具有空间中的深度信息的视觉特征点的集合,并且一个或者多个视觉特征点的集合可以与AR内容130相关联。如图1A中所示,椅子131与AR内容130(例如,“我的椅子”)相关联。在一些示例中,移动检测器116可以被配置成分析与场景125的对象121相关联的任何AR内容130并且增加或减少与类别相关联的置信水平。在此示例中,因为AR内容130包括单词“椅子”,所以移动检测器116可以增加椅子131是椅子类别的置信水平。
在一些示例中,移动检测器116被配置成使用ML模型115将图案化的视觉点123的集合标识为可能移动。例如,移动检测器116可能不一定检测特定类型的对象,而是移动检测器116可以检测具有其中ML模型115确定为可能移动的一个或多个特性的视觉点的图案。ML模型可以允许特别精确的类别和标识。
在一些示例中,ML模型115包括神经网络。神经网络可以是互连的一组节点,每个节点代表人工神经元。节点按层相互连接,一层的输出成为下一层的输入。神经网络对输入层接收到的输入进行变换,通过一系列隐藏层对其进行变换,并经由输出层产生输出。每层由节点的集合的子集组成。隐藏层中的节点与上一层中的所有节点完全连接,并将其输出提供给下一层中的所有节点。单层中的节点彼此独立运行(即,不共享连接)。输出中的节点向请求的进程提供变换后的输入。
在一些示例中,移动分析器112在对象类别算法中使用卷积神经网络,其是不完全连接的神经网络。因此,卷积神经网络的复杂度低于全连接神经网络。卷积神经网络还可以利用池化或最大池化来减少流经神经网络的数据的维数(并且因此复杂性),从而这可以减少所需的计算水平。这使得卷积神经网络中的输出计算比神经网络中的更快。
移动分析器112包括数字表示缩减器122,该数字表示缩减器122被配置成移除或注释数字表示114的对应于区域118的部分以获得缩减的(或注释的)数字表示124。缩减的(或注释的)数字表示124排除被标识为可能移动或将它们注释为可能移动的对象121或图案化的视觉点123的集合。在一些示例中,如上面所指示的,数字表示114是具有空间中的深度信息的视觉特征点的集合,并且数字表示缩减器122可以移除或注释包含在区域118中的一个或多个视觉特征点,使得对象121或图案化的视觉点123的集合不被包括或注释在缩减(或注释的)数字表示124中。
图2图示用于在没有一个或多个可能移动的对象的情况下创建3D映射213的AR系统200,从而增加AR系统200的持续的世界空间映射的质量。增加的映射质量可以实现某些技术应用或特征,例如,可靠地避免碰撞的精确室内定位和引导。在一些示例中,3D映射213包括被标识为可能移动的对象,但是被标识为可能移动的对象在AR系统200中被注释。图2的AR系统200可以包括图1A和图1B的AR系统100的任何特征。
AR系统200包括AR协同服务204,其可由一个或多个AR服务器202执行,被配置成通过网络250与包括第一计算设备206和第二计算设备208的多个计算设备通信,其中第一计算设备206的用户和第二计算设备208的用户可以共享相同的AR环境(例如,图1的AR环境101)。第一计算设备206和第二计算设备208中的每一个被配置成执行客户端AR应用210。客户端AR应用210被配置成经由一个或多个应用编程接口(API)与AR协同服务204通信。
如图2中所示,AR系统200包括包含在客户端AR应用210内的移动分析器212。移动分析器212可以包括参考图1A和图1B的移动分析器112讨论的任何特征。第一计算设备206的客户端AR应用210获得场景(例如,场景125)的第一数字表示(例如,图1B的数字表示114),并且然后处理第一数字表示(使用移动分析器212的操作)以获得第一缩减(或注释的)数字表示224-1。客户端AR应用210通过网络250向AR协同服务204发送缩减的(或注释的)数字表示224-1。
AR协同服务204使用第一缩减(或注释的)数字表示224-1生成3D映射213。例如,AR协同服务204包括映射生成器226,其被配置成使用第一缩减(或注释的)数字表示224-1生成3D映射213。映射生成器226将3D映射213存储在AR服务器202处的数据库228中。
第二计算设备208的客户端AR应用210获得场景(例如,场景125)的第二数字表示(例如,数字表示114),并且然后处理第二数字表示(使用移动分析器212的操作)以获得第二缩减(或注释的)数字表示224-2。第二计算设备208的客户端AR应用210通过网络250向AR协同服务204发送第二缩减(或注释的)数字表示224-2。
AR协同服务204包括本地化解析器230,该本地化解析器230被配置成当试图在第二计算设备208上本地化AR环境时将第二缩减(或注释的)数字表示224-2与3D映射213进行比较。响应于比较导致匹配(例如,指示3D映射213和第二缩减(或注释的)数字表示224-2来自相同的AR环境),AR协同服务204向第二计算设备208的客户端AR应用210提供AR环境。此外,映射生成器226可以使用第二缩减(或注释的)数字表示224-2更新3D映射213。响应于比较未导致匹配(例如,指示AR本地化失败),不与第二计算设备208的用户共享AR环境。然而,因为3D映射213不包括可移动数据或可移动数据被注释在3D映射213中(并且第二缩减数字表示224-2不包括可移动数据或者可移动数据被注释在第二缩减数字表示224-2中),可以改善比较的准确性。
图3图示用于在没有一个或多个可能移动的对象的情况下创建3D映射313的AR系统300,从而增加AR系统300的持续的世界空间映射的质量。在一些示例中,3D映射313包括被标识为可能移动的对象,但是被标识为可能移动的对象被注释在AR系统300中。图3的AR系统100可以包括图1A和图1B的AR系统100的任何特征。
AR系统300包括AR协同服务304,其可由一个或多个AR服务器302执行,被配置成通过网络350与包括第一计算设备306和第二计算设备308的多个计算设备通信,其中第一计算设备306的用户和第二计算设备308的用户可以共享相同的AR环境(例如,图1的AR环境101)。第一计算设备306和第二计算设备308中的每一个被配置成执行客户端AR应用310。客户端AR应用310被配置成经由一个或多个应用编程接口(API)与AR协同服务304通信。
如图3中所示,AR系统300包括在AR服务器302上执行的AR协同服务304内包括的移动分析器312。移动分析器312可以包括参考图1A和1B的移动分析器112讨论的任何特征。第一计算设备306的客户端AR应用310获得场景(例如,场景125)的第一数字表示314-1(例如,图1B的数字表示114)并且通过网络350将第一数字表示314-1发送到AR协同服务304。移动分析器312被配置成处理第一数字表示314-1(使用移动分析器312)以获得第一缩减(或注释的)数字表示324-1,该数字表示324-1不包括可移动数据,或者可移动数据被注释在数字表示324-1中。AR协同服务304使用第一缩减(或注释的)数字表示324-1生成3D映射313。例如,AR协同服务304包括映射生成器326,其被配置成使用第一缩减数字表示324-1生成3D映射313。映射生成器326将3D映射313存储在AR服务器302处的数据库328中。
第二计算设备308的客户端AR应用310获得场景(例如,场景125)的第二数字表示314-2(例如,数字表示114),并且通过网络350将第二数字表示314-2发送到AR协同服务304。移动分析器312处理第二数字表示314-2以获得第二缩减(或注释的)数字表示324-2,其不包括可移动数据或可移动数据在数字表示324-2中被注释。
AR协同服务304包括本地化解析器330,其被配置成当试图在第二计算设备308上本地化AR环境时将第二缩减(或注释的)数字表示324-2与3D映射313进行比较。响应于比较导致匹配(例如,指示3D映射313和第二缩减数字表示324-2来自相同的AR环境),AR协同服务304将AR环境提供给第二计算设备308的客户端AR应用310。此外,映射生成器326可以使用第二缩减(或注释的)数字表示324-2来更新3D映射313。响应于比较未导致匹配(例如,指示AR本地化失败),不与第二计算设备308的用户共享AR环境。然而,因为3D映射313不包括可移动数据(并且第二缩减数字表示324-2不包括可移动数据),可以改进比较的准确性。
图4图示用于在没有一个或多个可能移动的对象的情况下创建3D映射432的AR系统400,从而增加AR系统400的持续的世界空间映射的质量。图4的AR系统400可以包括之前的附图的任何特征。
AR系统400包括AR协同服务404,其可由一个或多个AR服务器402执行,被配置成通过网络450与包括第一计算设备406和第二计算设备408的多个计算设备通信,其中第一计算设备406的用户和第二计算设备408的用户可以共享相同的AR环境(例如,图1的AR环境101)。第一计算设备406和第二计算设备408中的每一个被配置成执行客户端AR应用410。客户端AR应用410被配置成经由一个或多个应用编程接口(API)与AR协同服务404通信。
第一计算设备406的客户端AR应用410获得场景(例如,场景125)的第一数字表示414-1(例如,图1B的数字表示114)并且通过网络450将第一数字表示414-1发送到AR协同服务404。AR协同服务404包括映射生成器426,其被配置成基于第一数字表示414-1生成第一3D映射413-1。第二计算设备408的客户端AR应用410获得场景(例如,场景125)的第二数字表示414-2(例如,图1B的数字表示114)并且通过网络450将第二数字表示414-2发送到AR协同服务404。映射生成器426被配置成基于第二数字表示414-2生成第二3D映射413-2。
AR协同服务404包括移动分析器412,其被配置成将第一3D映射413-1与第二3D映射413-2进行比较以标识存在于3D映射之一但不存在于其他3D映射中的一个或者多个对象或者一个或者多个图案化的视觉点的集合。移动分析器412可以将这些对象或图案化的视觉点的集合标识为可能移除。移动分析器412可以以不包括可能移动的对象或图案化的视觉点的集合的方式基于第一3D映射413-1和第二3D映射413-2生成和存储3D映射432。
图5图示计算设备506的示例,该计算设备506被配置成与本文公开的任何AR系统进行通信。计算设备506可以是第一计算设备(例如,106、206、306、406)或第二计算设备(例如,108、208、308、408)的示例。计算设备506可以包括参考根据前面的附图的第一计算设备或第二计算设备讨论的任何特征。
计算设备506包括被配置成在计算设备506的操作系统上执行的客户端AR应用510。在一些示例中,客户端AR应用510是软件开发工具包(SDK),其结合一个或多个AR应用558操作。AR应用558可以是在计算设备506上可执行的任何类型的AR应用(例如,游戏、娱乐、医学、教育等)。
客户端AR应用510包括运动跟踪器552,其被配置成允许计算设备506检测和跟踪其相对于物理空间的位置;环境检测器554,其被配置成允许计算设备506检测不同类型的表面(例如,水平的、垂直的、有角度的)的大小和位置;以及光估计器556,其允许计算设备506估计环境的当前光照条件。尽管参考图1和图1B的AR系统100讨论计算设备506,注意的是,计算设备506可以在本文描述的任何AR系统内使用。计算设备506包括显示器560、一个或多个惯性传感器562和相机564。
使用运动跟踪器552、环境检测器554和光估计器556,客户端AR应用510被配置成生成视觉特征点514的集合以发送并存储在AR服务器102上用于未来的AR本地化。用户可以使用计算设备506上的相机564以从物理空间捕获场景(例如,在四周移动相机以捕获特定区域),并且客户端AR应用510被配置成检测视觉特征点514的集合并且跟踪视觉特征点514的集合随时间流逝的移动。例如,通过视觉特征点514的集合的移动和来自计算设备506上的惯性传感器562的读数的组合,客户端AR应用510被配置成当计算设备506通过物理空间移动时确定计算设备506的位置和定向。在一些示例中,客户端AR应用510可以检测平坦表面(例如,桌子或地板)并估计其周围区域中的平均照明。
视觉特征点514的集合可以是数字表示114的示例。在一些示例中,视觉特征点514的集合是表示用户环境的多个点(例如,兴趣点)。在一些示例中,每个视觉特征点514是物理空间中固定位置和定向的近似值,并且视觉特征点514的集合可以随着时间的流逝而被更新。
在一些示例中,该视觉特征点514的集合可以被称为表示物理世界中的物理对象的锚或持续的视觉特征的集合。例如,视觉特征点514的集合可以被用于在后续会话中为二级用户本地化AR环境或为计算设备506本地化AR环境。例如,视觉特征点514可以被用于与二级计算设备捕获的其他视觉特征点514比较和匹配,以便于确定物理空间是否与存储的视觉特征点514的物理空间相同,并计算二级计算设备在AR环境内的与存储的视觉特征点514相关的位置。
在一些示例中,AR内容130被附接到视觉特征点514中的一个或者多个。AR内容130可以包括对象(例如,3D对象)、注释或其他信息。例如,计算设备506的用户可以将正在午睡的小猫放置在咖啡桌的角落或用关于艺术家的传记信息来注释绘画。运动跟踪意味着您可以四处走动并从任何角度查看这些对象,并且即使您转身并离开房间,当您回来时,小猫或注释也将会在您离开的地方。
在一些示例中,客户端AR应用510包括移动分析器512。移动分析器512被配置成处理视觉特征点514的集合以移除被包括在环绕被标识为可能通过ML模型移动的对象或者图案化的视觉点的集合的3D区域内的一个或多个视觉特征点514。客户端AR应用510被配置成向AR协同服务104发送缩减的视觉特征点514的集合以在其上存储和/或生成3D映射113。在一些示例中,客户端AR应用510不包括移动分析器512,而是移动分析器512在如上所述的AR协同服务104上执行。在这种情况下,客户端AR应用510向AR协同服务104发送完整的视觉特征点514的集合。
更详细地,如果移动分析器512确定集合中的一个或多个视觉特征点514对应于可能移动的对象121,则移动分析器512可以移除视觉特征点514的集合中的那些视觉特征点514。在一些示例中,移动分析器512使用ML模型115来标识可能在给定图像中移动的对象121的区域118(例如,边界框),并且移动分析器512被配置成确定哪些视觉特征点514包含在该区域118中,并且然后移除包含在区域118中的那些视觉特征点514。
图6A到6C描绘根据一个方面的AR环境的场景525中的视觉特征点514的集合以及移除对应于被标识为可能移动的对象的一个或多个视觉特征点514的示例。例如,如图6A中所示,客户端AR应用510被配置成生成表示AR环境的场景525的视觉特征点514的集合。如图6B中所示,移动分析器512被配置成检测对象521(例如,椅子)可能以如上所述的方式在场景525中移动并且标识环绕对象521的区域518。如在图6C中所示,移动分析器512从视觉特征点514的集合中移除区域518内包括的视觉特征点514。
图7图示描绘根据一个方面的AR系统的示例操作的流程图700。尽管参考AR系统100描述了操作,但是图7的操作可以适用于这里描述的任何系统。
操作702包括获得AR环境101的场景125的数字表示114,其中数字表示114已被计算设备(例如,第一计算设备106)捕获。操作704包括使用机器学习(ML)模型115标识具有可能移动的数据120的数字表示114的区域118。操作706包括移除对应于数字表示114的区域118的数字表示114的一部分以获得缩减数字表示124,其中缩减数字表示124被用于生成AR环境101的三维(3D)映射113。
图8示出可以与本文描述的技术一起使用的示例计算机设备800和示例移动计算机设备850的示例。计算设备800包括处理器802、存储器804、存储设备806、连接到存储器804和高速扩展端口810的高速接口808,以及连接到低速总线814和存储设备806的低速接口812。部件802、804、806、808、810和812中的每一个都使用各种总线互连,并且可以被安装在通用主板上或视情况以其他方式安装。处理器802可以处理用于在计算设备800内执行的指令,包括存储在存储器804或存储设备806中的指令以在外部输入/输出设备(诸如耦合到高速接口808的显示器816)上显示用于GUI的图形信息。在其他实现方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和存储器类型。另外,可以连接多个计算设备800,每个设备提供部分必要的操作(例如,作为服务器库、一组刀片式服务器或多处理器系统)。
存储器804存储在计算设备800内的信息。在一种实现方式中,存储器804是一个或多个易失性存储器单元。在另一种实现方式中,存储器804是一个或多个非易失性存储器单元。存储器804也可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备806能够为计算设备800提供大容量存储。在一种实现方式中,存储设备806可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其他类似的固态存储器设备、或设备的阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含在被执行时执行一种或多种如上所述的方法的指令。信息载体是计算机可读介质或机器可读介质,诸如存储器804、存储设备806或处理器802上的存储器。
高速控制器808管理计算设备800的带宽密集型操作,而低速控制器812管理较低带宽密集型操作。这种功能分配仅是示例性的。在一种实现方式中,高速控制器808被耦合到存储器804、显示器816(例如,通过图形处理器或加速器),并且被耦合到可以接受各种扩展卡(未示出)的高速扩展端口810。在实现方式中,低速控制器812被耦合到存储设备806和低速扩展端口814。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器被耦合到一个或多个输入/输出设备,诸如键盘、指向设备、扫描仪或诸如交换机或路由器的联网设备。
如图所示,可以以多种不同的形式实现计算设备800。例如,它可以被实现为标准服务器820,或者被多次实现在一组这种服务器中。它也可以被实现为机架服务器系统824的一部分。此外,它还可以在诸如膝上型计算机822的个人计算机中实现。替代地,来自计算设备800的部件可以与移动设备(未示出)中的其他部件进行组合,诸如设备850。每个这种设备可以包含一个或多个计算设备800、850,并且整个系统可以由彼此通信的多个计算设备800、850组成。
除其他部件之外,计算设备850包括处理器852、存储器864、诸如显示器854的输入/输出设备、通信接口866和收发器868。还可以向设备850提供存储设备,诸如微驱动器或其他设备,以提供附加的存储。部件850、852、864、854、866和868中的每个部件均使用各种总线互连,并且多个部件可以被安装在通用主板上或视情况以其他方式安装。
处理器852可以执行计算设备850内的指令,包括存储在存储器864中的指令。处理器可以被实现为包括单独的以及多个模拟和数字处理器的芯片的芯片组。例如,处理器可以提供设备850的其他部件的协调,诸如用户界面的控制、设备850运行的应用程序以及通过设备850的无线通信。
处理器852可以通过控制接口858和耦合到显示器854的显示器接口856与用户进行通信。例如,显示器854可以是TFT LCD(薄膜晶体管液晶显示器)或者OLED(有机发光二极管)显示器,或其他适当的显示技术。显示器接口856可以包括用于驱动显示器854向用户呈现图形和其他信息的适当电路。控制接口858可以从用户接收命令并且将其转换以提交给处理器852。此外,可以提供与处理器852通信的外部接口862,以实现设备850与其他设备的近区通信。例如,外部接口862可以在一些实现方式中提供有线通信,或者在其他实现方式中提供无线通信,并且还可以使用多个接口。
存储器864存储在计算设备850内的信息。存储器864可以被实现为一个或多个计算机可读介质、一个或多个易失性存储器单元或者一个或多个非易失性存储器单元中的一种或多种。还可以提供扩展存储器874并且通过扩展接口872将其连接到设备850,例如,扩展接口872可以包括SIMM(单列直插存储器模块)卡接口。这种扩展存储器874可以为设备850提供额外的存储空间,或者也可以为设备850存储应用或其他信息。具体地,扩展存储器874可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器874可以被提供为用于设备850的安全模块,并且可以用允许安全使用设备850的指令进行编程。此外,可以经由SIMM卡,诸如以不可入侵的方式将标识信息放置在SIMM卡上来提供安全应用以及附加信息。
例如,存储器可以包括闪存和/或NVRAM存储器,如下所述。在一种实现方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含在被执行时执行一种或多种如上所述的方法的指令。信息载体是诸如存储器864、扩展存储器874或处理器852上的存储器的计算机可读介质或机器可读介质,例如,其可以通过收发器868或外部接口862被接收。
设备850可以通过在必要时可以包括数字信号处理电路的通信接口866进行无线通信。通信接口866可以提供各种图案或协议下的通信,诸如GSM语音呼叫、SMS、EMS或MMS消息传递、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等等。例如,这种通信可以通过射频收发器868而发生。此外,可以进行短程通信,诸如使用蓝牙、Wi-Fi或其他这种收发器(未示出)。此外,GPS(全球定位系统)接收器模块870可以向设备850提供附加的导航和与位置有关的无线数据,其可以被设备850上运行的应用适当地使用。
设备850还可以使用可以从用户接收语音信息并将其转换为可用的数字信息的音频编解码器860在听觉上进行通信。音频编解码器860可以同样地为用户生成可听声音,诸如通过扬声器,例如在设备850的听筒中。这种声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括由在设备850上运行的应用生成的声音。
如图所示,计算设备850可以以多种不同的形式实现。例如,它可以实现为蜂窝电话880。它也可以被实现为智能电话882、个人数字助理或另一类似的移动设备的一部分。
可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现本文描述的系统和技术的各种实现方式。这些各种实现方式可以包括在一个或多个计算机程序中的实现方式,该程序可以在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用的或通用的,其被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且被耦合以向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。另外,术语“模块”可以包括软件和/或硬件。
这些计算机程序(也被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”、“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任意计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任意信号。
为了提供与用户的交互,本文描述的系统和技术可以在具有显示器设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以向用户显示信息以及具有用户可以通过其向计算机提供输入的键盘和指向设备(例如鼠标或轨迹球)的计算机上实现。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
本文描述的系统和技术可以在包括后端部件(例如,作为数据服务器),或包括中间件部件(例如,应用服务器)或包括前端部件(例如,具有用户可以通过其与本文描述的系统和技术的实现方式进行交互的图形用户界面或Web浏览器的客户端计算机),或这种后端、中间件或前端部件的任意组合的计算系统中实现。系统的部件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生的。
在一些实现方式中,图8中描绘的计算设备可以包括与虚拟现实(VR头戴式耳机890)接口连接的传感器。例如,包括在图8中描绘的计算设备850或其他计算设备上的一个或多个传感器,可以向VR头戴式耳机890提供输入,或者通常,可以向VR空间提供输入。传感器可以包括但不限于触摸屏、加速度计、陀螺仪、压力传感器、生物特征传感器、温度传感器、湿度传感器和环境光传感器。计算设备850可以使用传感器确定VR空间中计算设备的绝对位置和/或检测的旋转,然后可以将其用作VR空间的输入。例如,计算设备850可以作为诸如控制器、激光指示器、键盘、武器等的虚拟对象被并入VR空间。当用户将计算设备/虚拟对象并入VR空间时其位置可以允许用户定位计算设备以某种方式在VR空间中观看虚拟对象。例如,如果虚拟对象表示激光指示器,用户可以像实际的激光指示器一样操纵计算设备。用户可以左右、上下、圆圈等方式移动计算设备并且以与使用激光指示器类似的方式使用设备。
在一些实现方式中,包括在或连接到计算设备850上的一个或多个输入设备可以被用作VR空间的输入。输入设备可以包括但不限于触摸屏、键盘、一个或多个按钮、轨迹板、触摸板、指向设备、鼠标、轨迹球、操纵杆、相机、麦克风、耳机或具有输入功能的耳塞、游戏控制器或其他可连接的输入设备。当计算设备被合并到VR空间中时,与计算设备850上包括的输入设备进行交互的用户会使特定动作在VR空间中发生。
在一些实现方式中,计算设备850的触摸屏可以被渲染为VR空间中的触摸板。用户可以与计算设备850的触摸屏进行交互。例如,在VR头戴式耳机890中,将交互渲染为在VR空间中所渲染的触摸板上的移动。所渲染的移动可以控制VR空间中的对象。
在一些实现方式中,计算设备850上包括的一个或多个输出设备可以向VR空间中的VR头戴式耳机890的用户提供输出和/或反馈。输出和反馈可以是视觉的、触觉的或音频的。输出和/或反馈可以包括但不限于振动、一个或多个灯或频闪灯的打开及关闭或闪烁和/或闪光、发出警报、播放铃声、播放歌曲以及播放音频文件。输出设备可以包括但不限于振动马达、振动线圈、压电设备、静电设备、发光二极管(LED)、频闪灯和扬声器。
在一些实现方式中,计算设备850可以表现为在计算机生成的3D环境中的另一个对象。用户与计算设备850的交互(例如,旋转、摇动、触摸触摸屏、在触摸屏上滑动手指)可以被解释为与VR空间中的对象的交互。在VR空间中的激光指示器的示例中,计算设备850表现为在计算机生成的3D环境中的虚拟激光指示器。当用户操纵计算设备850时,VR空间中的用户看到激光指示器的移动。用户在计算设备850或VR头戴式耳机890上的VR空间中从与计算设备850的交互中接收反馈。
在一些实现方式中,除了计算设备之外,还可以在计算机生成的3D环境中渲染一个或多个输入设备(例如,鼠标,键盘)。渲染的输入设备(例如,渲染的鼠标、渲染的键盘)可以在VR空间中渲染时使用,以控制VR空间中的对象。
计算设备800旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备850旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。本文所示的部件,它们的连接和关系以及它们的功能仅是示例性的,并不意味着限制本文中描述和/或要求保护的发明的实现方式。
已经描述了多个实施例。然而,将理解的是在不脱离本说明书的精神和范围的情况下可以进行各种修改。
此外,附图中描绘的逻辑流程不需要所示的特定顺序、或连续顺序来实现期望的结果。此外,可以从所述的流程中提供其他步骤或者移除步骤,并且可以向所描述的系统中添加其他部件或从中移除其他部件。因此,其他实施例在所附权利要求的范围内。
Claims (20)
1.一种用于创建用于增强现实AR本地化的三维映射的方法,所述方法包括:
获得AR环境的场景的数字表示,所述数字表示已被计算设备捕获;
使用机器学习ML模型标识具有被标识为可能改变的视觉数据的数字表示的区域;以及
移除对应于所述数字表示的区域的所述数字表示的一部分以获得缩减数字表示,所述缩减数字表示被用于生成所述AR环境的三维3D映射。
2.根据权利要求1所述的方法,进一步包括:
基于所述缩减数字表示生成所述3D映射,所述3D映射不包括与具有被标识为可能改变的所述视觉数据的区域对应的所述数字表示的部分。
3.根据权利要求1或者2所述的方法,其中,所述标识包括:
使用所述ML模型检测所述数字表示中可能从所述场景中移动的视觉对象,其中基于所检测的视觉对象标识所述数字表示的区域。
4.根据权利要求1或者2所述的方法,其中,所述标识包括:
使用所述ML模型检测所述数字表示中的视觉对象;
将所述视觉对象分类为类别;以及
基于与所述类别相关联的标签将所述对象标识为可能改变所述场景,所述标签指示属于所述类别的视觉对象可能移动,
其中,所述数字表示的区域被标识为三维空间,所述三维空间包括被标识为可能改变的所述视觉对象。
5.根据权利要求1至4中的任意一项所述的方法,其中,所述标识包括使用所述ML模型标识所述数字表示中可能改变的视觉点的图案,其中从所述3D映射中排除所述视觉点的图案。
6.根据权利要求1至5中的任意一项所述的方法,其中,所述数字表示包括从所述计算设备导出的视觉特征点的集合,所述方法进一步包括:
基于所述数字表示检测可能改变的视觉对象;
标识包括所述视觉对象的空间的区域;以及
从被包括在所述区域中的集合中移除或者注释一个或多个视觉特征点。
7.根据权利要求1至6中的任意一项所述的方法,其中,所述数字表示是第一数字表示,并且所述计算设备是第一计算设备,所述方法进一步包括:
获得所述AR环境的场景的至少一部分的第二数字表示,所述第二数字表示已经被第二计算设备捕获;以及
将所述第二数字表示与所述3D映射进行比较以确定所述第二数字表示是否来自与所述3D映射相同的AR环境。
8.根据权利要求1至6中的任意一项所述的方法,其中,所述数字表示是第一数字表示,并且所述计算设备是第一计算设备,所述方法进一步包括:
获得所述AR环境的场景的至少一部分的第二数字表示,所述第二数字表示已经被第二计算设备捕获;
使用所述ML模型标识所述第二数字表示的辅助区域,所述辅助区域具有被标识为可能改变的视觉数据;
移除对应于所述辅助区域的所述第二数字表示的一部分;以及
将所述第二数字表示与所述3D映射进行比较以确定所述第二数字表示是否来自与所述3D映射相同的AR环境。
9.一种被配置成生成增强现实AR环境的三维3D映射的AR系统,所述AR系统包括:
AR协同服务,所述AR协同服务可由至少一个服务器执行;以及
客户端AR应用,所述客户端AR应用可由计算设备执行,所述客户端AR应用被配置成经由一个或多个应用编程接口API与AR协同服务进行通信,所述AR协同服务或所述客户端AR应用被配置成:
获得AR环境的场景的数字表示,所述数字表示已被所述计算设备捕获;
使用机器学习ML模型标识所述数字表示中具有被标识为可能改变的视觉数据的区域;并且
移除对应于所述区域的所述数字表示的一部分以获得所述场景的缩减数字表示,所述缩减数字表示被用于与所述AR环境的三维3D映射的比较。
10.根据权利要求9所述的AR系统,其中,所述AR协同服务被配置成响应于在所述计算设备上本地化所述AR环境的尝试,将所述缩减数字表示与所述3D映射进行比较。
11.根据权利要求9或者10所述的AR系统,其中,所述客户端AR应用或所述AR协同服务被配置成使用所述ML模型检测所述数字表示中可能移动的视觉对象,其中基于所检测的视觉对象标识所述数字表示的区域。
12.根据权利要求9或者10所述的AR系统,其中,所述AR协同服务被配置成:
使用所述ML模型检测所述数字表示中的视觉对象;
将所述视觉对象分类为类别;并且
基于与所述类别相关联的标签将所述视觉对象标识为可能改变,所述标签指示属于所述类别的视觉对象可能改变。
13.根据权利要求9至12中的任意一项所述的AR系统,其中,所述客户端AR应用被配置成使用所述ML模型标识所述数字表示中可能改变的视觉点的图案。
14.根据权利要求9至13中的任意一项所述的AR系统,其中,所述数字表示包括由所述计算设备捕获的视觉特征点的集合,所述客户端AR应用或所述AR协同服务被配置成:
基于所述数字表示检测可能改变的视觉对象;
标识包括所述视觉对象的空间的区域;并且
从包括在所述区域内的集合中移除一个或多个视觉特征点。
15.一种存储可执行指令的非暂时性计算机可读介质,所述可执行指令在由至少一个处理器执行时被配置成生成增强现实AR环境的三维3D映射,所述可执行指令包括使所述至少一个处理器执行下述的指令:
获得AR环境的场景的第一数字表示,所述第一数字表示已被第一计算设备捕获;
使用机器学习ML模型标识具有被标识为可能改变的视觉数据的所述第一数字表示的区域;
移除对应于所述区域的所述第一数字表示的一部分以获得缩减数字表示;以及
生成所述AR环境的三维3D映射以便存储在AR服务器上;并且
响应于在第二计算设备上本地化所述AR环境的尝试将所述场景的至少一部分的第二数字表示与所述3D映射进行比较,所述第二数字表示已被所述第二计算设备捕获。
16.根据权利要求15所述的非暂时性计算机可读介质,进一步包括:
使用所述ML模型检测所述第一数字表示中可能改变的视觉对象。
17.根据权利要求15所述的非暂时性计算机可读介质,进一步包括:
使用所述ML模型检测所述第一数字表示中的视觉对象;
将所述视觉对象分类为类别;以及
基于与所述类别相关联的标签将所述视觉对象标识为可能改变,所述标签指示属于所述类别的视觉对象可能改变,
其中,所述第一数字表示的区域被标识为包括被标识为可能改变的所述视觉对象的三维空间。
18.根据权利要求15至17中的任意一项所述的非暂时性计算机可读介质,进一步包括:
使用所述ML模型标识所述第一数字表示中可能改变的点的图案,其中从所述3D映射中移除所述点的图案。
19.根据权利要求15至18中的任意一项所述的非暂时性计算机可读介质,其中所述数字表示包括由所述第一计算设备捕获的视觉特征点的集合,进一步包括:
基于所述第一数字表示检测可能从所述场景移动的视觉对象;
标识包括所述视觉对象的空间的区域;以及
从所述集合中移除包括在所述区域内的一个或多个视觉特征点。
20.根据权利要求15至19中的任意一项所述的非暂时性计算机可读介质,进一步包括:
使用所述ML模型检测所述第二数字表示中可能移动的视觉对象。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/395,832 US11055919B2 (en) | 2019-04-26 | 2019-04-26 | Managing content in augmented reality |
US16/396,145 US11151792B2 (en) | 2019-04-26 | 2019-04-26 | System and method for creating persistent mappings in augmented reality |
US16/395,832 | 2019-04-26 | ||
US16/396,145 | 2019-04-26 | ||
PCT/US2019/065235 WO2020219109A1 (en) | 2019-04-26 | 2019-12-09 | System and method for creating persistent mappings in augmented reality |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113614793A true CN113614793A (zh) | 2021-11-05 |
CN113614793B CN113614793B (zh) | 2024-08-23 |
Family
ID=69138001
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980094560.9A Active CN113614794B (zh) | 2019-04-26 | 2019-12-09 | 管理增强现实中的内容 |
CN201980094558.1A Active CN113614793B (zh) | 2019-04-26 | 2019-12-09 | 创建增强现实中的持续的映射的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980094560.9A Active CN113614794B (zh) | 2019-04-26 | 2019-12-09 | 管理增强现实中的内容 |
Country Status (3)
Country | Link |
---|---|
EP (2) | EP3959691A1 (zh) |
CN (2) | CN113614794B (zh) |
WO (2) | WO2020219110A1 (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190295315A1 (en) * | 2018-03-21 | 2019-09-26 | Zoox, Inc. | Generating maps without shadows using geometry |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120306850A1 (en) * | 2011-06-02 | 2012-12-06 | Microsoft Corporation | Distributed asynchronous localization and mapping for augmented reality |
US9996974B2 (en) * | 2013-08-30 | 2018-06-12 | Qualcomm Incorporated | Method and apparatus for representing a physical scene |
US9791917B2 (en) * | 2015-03-24 | 2017-10-17 | Intel Corporation | Augmentation modification based on user interaction with augmented reality scene |
EP3698233A1 (en) * | 2017-10-20 | 2020-08-26 | Google LLC | Content display property management |
CN108269307B (zh) * | 2018-01-15 | 2023-04-07 | 歌尔科技有限公司 | 一种增强现实交互方法及设备 |
-
2019
- 2019-12-09 WO PCT/US2019/065239 patent/WO2020219110A1/en unknown
- 2019-12-09 CN CN201980094560.9A patent/CN113614794B/zh active Active
- 2019-12-09 WO PCT/US2019/065235 patent/WO2020219109A1/en unknown
- 2019-12-09 CN CN201980094558.1A patent/CN113614793B/zh active Active
- 2019-12-09 EP EP19832503.7A patent/EP3959691A1/en active Pending
- 2019-12-09 EP EP19832782.7A patent/EP3959692A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190295315A1 (en) * | 2018-03-21 | 2019-09-26 | Zoox, Inc. | Generating maps without shadows using geometry |
Non-Patent Citations (1)
Title |
---|
SMOKIAT WANGSIRIPITAK等: "Avoiding moving outliers in visual SLAM by tracking moving objects", 《2009 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION》, pages 1 - 6 * |
Also Published As
Publication number | Publication date |
---|---|
EP3959692A1 (en) | 2022-03-02 |
EP3959691A1 (en) | 2022-03-02 |
WO2020219109A1 (en) | 2020-10-29 |
CN113614794A (zh) | 2021-11-05 |
WO2020219110A1 (en) | 2020-10-29 |
CN113614794B (zh) | 2024-06-04 |
CN113614793B (zh) | 2024-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11151792B2 (en) | System and method for creating persistent mappings in augmented reality | |
US11055919B2 (en) | Managing content in augmented reality | |
US11908092B2 (en) | Collaborative augmented reality | |
JP6782846B2 (ja) | 仮想現実におけるオブジェクトの共同操作 | |
US20200273250A1 (en) | Positional recognition for augmented reality environment | |
US9390561B2 (en) | Personal holographic billboard | |
KR101784328B1 (ko) | 증강 현실 표면 디스플레잉 | |
CN108697935B (zh) | 虚拟环境中的化身 | |
US20170329503A1 (en) | Editing animations using a virtual reality controller | |
JP7008730B2 (ja) | 画像に挿入される画像コンテンツについての影生成 | |
CN111902794A (zh) | 增强现实对象的交互系统 | |
US11475662B2 (en) | Real time object surface identification for augmented reality environments | |
US11640700B2 (en) | Methods and systems for rendering virtual objects in user-defined spatial boundary in extended reality environment | |
US10586106B2 (en) | Responsive spatial audio cloud | |
JP2015179490A (ja) | 映像を取得するシステム、方法及びプログラム | |
CN105190469A (zh) | 使对象的指定位置被提供给设备 | |
CN113614793B (zh) | 创建增强现实中的持续的映射的系统和方法 | |
CN115500083A (zh) | 使用神经网络的深度估计 | |
KR20230070308A (ko) | 웨어러블 장치를 이용한 제어가능한 장치의 위치 식별 | |
US20240282058A1 (en) | Generating user interfaces displaying augmented reality graphics | |
US20220334674A1 (en) | Information processing apparatus, information processing method, and program |
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 | ||
GR01 | Patent grant |