CN113711166B - 语义增强的人工现实体验 - Google Patents
语义增强的人工现实体验 Download PDFInfo
- Publication number
- CN113711166B CN113711166B CN202080029793.3A CN202080029793A CN113711166B CN 113711166 B CN113711166 B CN 113711166B CN 202080029793 A CN202080029793 A CN 202080029793A CN 113711166 B CN113711166 B CN 113711166B
- Authority
- CN
- China
- Prior art keywords
- artificial reality
- computing device
- digital map
- anchor point
- location
- 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
Links
- 230000003190 augmentative effect Effects 0.000 title claims description 11
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000004044 response Effects 0.000 claims description 33
- 230000015654 memory Effects 0.000 claims description 32
- 238000009877 rendering Methods 0.000 claims description 27
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/438—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/587—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- 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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- 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/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/273—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion removing elements interfering with the pattern to be recognised
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Remote Sensing (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
在一个实施例中,一种方法包括访问现实世界区域的数字地图,其中,数字地图包括对应于现实世界区域内的一个或更多个三维对象的一个或更多个三维网格;接收对象查询,该对象查询包括数字地图中锚点的标识符、相对于锚点的位置信息以及与方向向量相关联的信息;基于锚点的标识符和相对于锚点的位置信息确定数字地图内的位置;确定数字地图中与从所确定的数字地图内的位置开始的方向向量的投影相交的三维网格;识别与三维网格相关联的元数据;以及将元数据发送到第二计算设备。
Description
技术领域
本公开总体涉及人工现实系统,且尤其涉及提供语义增强的人工现实体验。
背景
本发明的实施例可以包括人工现实系统或者结合人工现实系统来实现。人工现实是一种在呈现给用户之前已经以某种方式进行了调整的现实形式,其可以包括例如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、混杂现实或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或与捕获的内容(例如,现实世界的照片)相结合的生成的内容。人工现实内容可以包括视频、音频、触觉反馈或它们的某种组合,并且它们中的任何一个都可以在单个通道或更多个通道中呈现(例如向观看者产生三维效果的立体视频)。另外,在一些实施例中,人工现实可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合例如用于在人工现实中创建内容和/或在人工现实中被使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,这些平台包括连接到主计算机系统的头戴式显示器(HMD)、独立的HMD、移动设备或计算系统、或者能够向一个或更多个观看者提供人工现实内容的任何其他硬件平台。
特定实施例的概述
在特定实施例中,人工现实系统可以通过轻量级客户端设备向用户提供持久的语义增强的现实体验。人工现实系统可能不需要客户端设备存储当前环境的数字地图。相反,服务器可以维护现实世界环境的三维(3D)表示,包括稀疏3D点特征层、密集三角形网格层和语义层。客户端设备可以通过与服务器交换消息来获得其周围的重新定位和语义信息。
服务器可以基于收集的视频序列并使用任何合适的3D重建技术生成现实世界区域的数字地图。数字地图可以包括该区域内的3D对象的3D网格(mesh)、纹理信息和语义信息。服务器还可以将用户创建的人工现实对象添加到数字地图。人工现实对象可以与它们相应的位置相关联。服务器可以响应于来自客户端设备的查询而提供存储的信息。查询可以包括语义查询和人工现实查询。
当在客户端设备上启动人工现实服务时,客户端设备可以向服务器发送从当前位置捕获的图像。服务器可以基于从客户端设备接收的图像来确定客户端设备的当前位置。服务器可以向客户端设备发回客户端设备的位置信息。位置信息可以包括根据来自一个或更多个可用锚点中的一个锚点的3D坐标的相对位置信息。一个或更多个可用锚点中的一个锚点可以是最接近客户端设备的当前位置的锚点。客户端设备可能能够基于其自身的传感器通过计算客户端设备的移动来跟踪其自身相对于锚点的位置。传感器可以包括陀螺仪或加速度计。客户端设备可以定期向服务器报告其当前位置信息。
客户端设备可以通过3D射线向服务器发送语义查询。3D射线可以由锚点的标识符表示,3个数字表示客户端设备相对于锚点的坐标,并且3个数字表示源自客户端设备的当前位置的向量。在接收到语义查询时,服务器可以确定数字地图中与射线相交的3D网格,并识别该网格所属于的对象。服务器可以用关于所识别的对象的信息来响应,该信息包括交叉点和与所识别的对象相关联的元数据。元数据可以包括与所识别的对象相关联的语义信息。
客户端设备可以将人工现实对象附加到真实对象,并将事件报告给服务器。服务器可以将创建的人工现实对象记录到数字地图上。当客户端设备采用3D射线发送查询时,服务器可以基于所存储的关于人工现实对象的信息进行响应。因此,任何客户端设备可能都能够在创建者放置的位置渲染(render)人工现实对象。当人工现实对象被放置在物理对象后面时,客户端设备需要根据人工现实对象被物理对象阻挡的部分来完全或部分遮挡人工现实对象。客户端设备可以通过向场景中的多个栅格(grids)发送射线来确定人工现实对象的哪个部分在物理对象后面。为了提高精度,客户端设备可以向其中物理对象阻挡人工现实对象的栅格内的子栅格发送射线。
在特定实施例中,服务器可以访问现实世界区域的数字地图。数字地图可以包括对应于现实世界区域内的一个或更多个三维对象的一个或更多个三维网格。服务器可以从客户端设备接收对象查询,该对象查询包括数字地图中锚点的标识符、相对于锚点的位置信息以及与方向向量相关联的信息。服务器可以基于锚点的标识符和相对于锚点的位置信息,确定数字地图内的位置。服务器可以确定数字地图中的三维网格,该网格与从所确定的数字地图内的位置开始的方向向量的投影相交。服务器可以识别与三维网格相关联的元数据。服务器可以向客户端设备发送元数据。
在特定实施例中,客户端设备可以确定第二计算设备相对于现实世界区域的数字地图中的锚点的当前位置。客户端设备可以向服务器发送对象查询,该对象查询包括锚点的标识符、相对于锚点的位置信息以及与方向向量相关联的信息。方向向量的方向可以由与第二计算设备相关联的照相机当前捕获的图像中的点来确定。该图像可以在与第二计算设备相关联的显示器上显示。客户端设备可以从服务器接收响应,该响应包括与数字地图中的三维网格相关联的元数据,该三维网格与从客户端设备的当前位置开始的方向向量的投影相交。基于接收到的与三维网格相关联的元数据,客户端设备可以在离图像中的交叉点的预定距离内渲染人工现实对象。方向向量可以在交叉点处与三维网格相交。
本文公开的实施例仅仅是示例,并且本公开的范围不限于它们。特定实施例可以包括本文公开的实施例的组件、元件、特征、功能、操作或步骤中的全部、一些,或不包括这些组件、元件、特征、功能、操作或步骤。根据本发明的实施例在所附权利要求中具体公开,涉及方法、存储介质、系统和计算机程序产品,其中在一个权利要求类别(例如方法)中提到的任何特征,也可以在另一个权利要求类别(例如系统)中要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何先前权利要求的有意往回引用(特别是多个从属关系)而产生的任何主题,从而权利要求及其特征的任何组合被公开了并且可以被要求保护,而不管所附权利要求中选择的从属关系如何。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。
附图简述
图1示出了提供语义增强的人工现实体验的人工现实系统的示例架构。
图2示出了重新定位的示例场景。
图3示出了具有多个锚点的示例三维空间。
图4示出了向用户呈现语义信息的示例情况。
图5示出了基于来自服务器的渲染指令渲染人工现实对象的示例情况。
图6示出了用于在接收到对象查询时识别与三维网格相关联的元数据的示例方法。
图7示出了用于基于接收到的元数据渲染人工现实对象的示例方法。
图8示出了示例计算机系统。
示例实施例的描述
图1示出了提供语义增强的人工现实体验的人工现实系统100的示例架构。服务器110可以包括多个功能实体,包括重新定位器111、客户端轨迹113、语义提供方115和人工现实对象管理器117。客户端设备120可以包括多个功能实体,包括重新定位查询121、位置更新123、对象查询125和人工现实查询127。客户端设备120的重新定位查询121可以与服务器110的重新定位器111交互。客户端设备120的位置更新123可以与服务器110的客户端轨迹113交互。客户端设备120的对象查询125可以与服务器110的语义提供方115和人工现实对象管理器117交互。客户端设备120的人工现实查询127可以与服务器的人工现实对象管理器117交互。服务器111可以访问现实世界区域的数字地图140。可以使用一种或更多种三维重建技术,基于图像的集合生成数字地图140。人工现实系统100可以包括人工现实管理模块130。人工现实管理模块130可以包括多个功能实体,包括可视化131和人工现实对象操纵133。可视化131可以在数字地图140中可视地呈现人工现实对象、对象的语义信息和客户端设备。可视化131可以与服务器110的客户端轨迹113、语义提供方115和人工现实对象管理器117交互。人工现实管理模块130的人工现实对象操纵133可以允许用户在数字地图140中添加、修改或删除人工现实对象。人工现实管理模块130的人工现实对象操纵133可以与服务器110的人工现实对象管理器117交互。虽然本公开描述了人工现实系统100的特定架构,但是本公开设想了人工现实系统100的任何合适的架构。
在特定实施例中,服务器110可以访问现实世界区域的数字地图140。数字地图140可以包括对应于现实世界区域内的一个或更多个三维对象的一个或更多个三维网格。数字地图140还可以包括3D点特征层或语义层。在特定实施例中,可以使用一种或更多种三维重建技术,基于图像的集合生成数字地图140。集合中的每个图像可以捕捉现实世界区域的一部分。
在特定实施例中,服务器110可以生成数字地图140。在特定实施例中,数字地图140可以由一个或更多个其他计算设备生成。作为示例而非限制,可以基于多个视频序列生成室内区域的数字地图140。视频序列可以包括捕捉室内区域的一部分的一系列图像。一个或更多个计算设备可以使用一种或更多种三维重建技术来生成数字地图140。虽然本公开描述了以特定方式生成数字地图,但是本公开设想了以任何合适的方式生成数字地图。
在特定实施例中,客户端设备120可以通过与服务器110交换消息,确定客户端设备120在现实世界区域中的重新定位的位置。客户端设备120可以向服务器110发送重新定位请求。重新定位请求可以包括来自客户端设备120的当前位置的图像。图2示出了用于重新定位的示例场景。作为示例而非限制,如图2所示,与客户端设备120相关联的用户可以进入室内区域,其中已经生成了室内区域的数字地图140。客户端设备120可以是移动电话、膝上型计算机、平板电脑、连接到头戴式显示器的计算设备或任何合适的计算设备。客户端设备120可以包括照相机、显示器和一个或更多个传感器。人工现实系统的应用可以安装在客户端设备120上。客户端设备120可以使用照相机从当前位置捕获图像225,并且向服务器110发送重新定位请求,其中重新定位请求包括捕获的图像225。虽然本公开描述了以特定方式启动重新定位过程,但是本公开设想以任何合适的方式启动重新定位过程。
在特定实施例中,服务器110可以从客户端设备120接收重新定位请求。重新定位请求可以包括从客户端设备120在该区域内的当前位置拍摄的图像225。服务器110可以基于接收到的图像来计算客户端设备120的当前位置。服务器110可以识别接收到的图像225中的对象,并确定所识别的对象在数字地图140中的位置。基于所确定的所识别的对象在数字地图140中的位置,服务器110可以确定客户端设备120在数字地图140中的当前位置。更具体地,服务器110可以确定捕获图像225的相机的当前位置。服务器110可以向客户端设备120发送包括计算出的客户端设备120的当前位置的响应。客户端设备120的当前位置可以由数字地图140中的一个或更多个锚点中的第一锚点以及客户端设备120相对于第一锚点的相对坐标来表示。该响应可以包括第一锚点的标识符和与第一锚点相关联的坐标。第一锚点可以是该区域中的一个或更多个锚点中离客户端设备120最近的锚点。图3示出了具有多个锚点的示例三维空间300。作为示例而非限制,如图3所示,可以在三维区域中存在四个锚点305A、305B、305C和305D。服务器110可以基于重新定位过程来确定客户端设备120的当前位置是在位置313。因为在该区域中,锚点305C是现有锚点305A-305D中离位置313最近的锚点,所以服务器120可以准备响应,该响应包括锚点305C的标识符和点313相对于锚点305C的相对坐标。服务器120可以向客户端设备120发送所准备的响应。虽然本公开描述了以特定方式确定客户端设备相对于锚点的当前位置,但是本公开设想了以任何合适的方式确定客户端设备相对于锚点的当前位置。
在特定实施例中,客户端设备120可以从服务器110接收包括客户端设备120的重新定位的位置的响应。重新定位的位置可以由数字地图140中的锚点和客户端设备120相对于该锚点的相对坐标来表示。通过基于来自与客户端设备120相关联的一个或更多个传感器的数据计算客户端设备120的移动,客户端设备120可以计算客户端设备120的当前位置。一个或更多个传感器可以包括陀螺仪或加速度计。作为示例而非限制,继续先前的示例,客户端设备120基于重新定位过程确定位置313是客户端设备120的当前位置。客户端设备120可以基于来自与客户端设备120相关联的陀螺仪或加速度计的数据来检测客户端设备120已经移动。通过处理从与客户端设备120相关联的陀螺仪或加速度计接收的数据,客户端设备可以计算新位置315。新位置315可以由锚点305C和位置315相对于锚点305C的相对坐标来表示。客户端设备120可以向服务器110发送位置更新123,以报告客户端设备120的当前位置。虽然本公开描述了以特定方式基于重新定位的位置和来自与客户端设备相关联的一个或更多个传感器的数据来计算客户端设备的当前位置,但是本公开设想了以任何合适的方式基于重新定位的位置和来自与客户端设备相关联的一个或更多个传感器的数据来计算客户端设备的当前位置。
在特定实施例中,客户端设备120可以向服务器110发送对象查询,该对象查询包括锚点的标识符、相对于锚点的位置信息以及与方向向量相关联的信息。相对于锚点的位置信息可以包括客户端设备120的当前位置的相对坐标。方向向量的方向可以由与客户端设备120相关联的相机当前捕获的图像中的点来确定。在特定实施例中,该点可以是图像的中心点。在特定实施例中,该点可以是由与客户端设备120相关联的用户选择的点。在特定实施例中,该点可以是由客户端设备120为特定目的而选择的点。图像可以显示在与客户端设备120相关联的显示器上。虽然本公开描述了以特定方式向服务器发送对象查询,但是本公开设想了以任何合适的方式向服务器发送对象查询。
在特定实施例中,服务器110可以从客户端设备120接收对象查询,该对象查询包括数字地图140中锚点的标识符、相对于锚点的位置信息以及与方向向量相关联的信息。相对于锚点的位置信息可以包括相对于锚点来说客户端设备120的当前位置的相对坐标。与方向向量相关联的信息可以包括表示从所确定的位置开始的向量的方向的坐标。服务器110可以基于锚点的标识符和相对于锚点的位置信息,确定客户端设备120在数字地图140内的位置。服务器110可以确定数字地图140中的三维网格,该网格与从所确定的数字地图140内的位置开始的方向向量的投影相交。服务器110可以识别在数字地图140中所确定的三维网格所属于的对象。在特定实施例中,对象可以是物理对象。在特定实施例中,对象可以是人工现实对象。服务器110可以识别与三维网格相关联的元数据。元数据可以与所识别的对象相关联。服务器110可以向客户端设备120发送元数据。虽然本公开以特定方式描述了在接收到对象查询时识别与三维网格相关联的元数据,但是本公开设想了以任何合适的方式在接收到对象查询时识别与三维网格相关联的元数据。
在特定实施例中,客户端设备120可以从服务器110接收响应,该响应包括与数字地图140中的三维网格相关联的元数据,该三维网格与从客户端设备120的当前位置开始的方向向量的投影相交。基于接收到的与三维网格相关联的元数据,客户端设备120可以在离图像中的交叉点的预定距离内渲染人工现实对象。方向向量可以在交叉点处与三维网格相交。在特定实施例中,响应可以包括与交叉点相关联的信息。在特定实施例中,数字地图140中的三维网格可以不与任何元数据相关联。在这种情况下,来自服务器110的响应可能不包括元数据。客户端设备120可以不渲染任何人工现实对象。虽然本公开描述了以特定方式在接收到对对象查询的响应时渲染人工现实对象,但是本公开设想了以任何合适的方式在接收到对对象查询的响应时渲染人工现实对象。
在特定实施例中,在响应上接收的元数据可以包括与所识别的对象相关联的语义信息。所识别的对象可以是物理对象。在这种情况下,客户端设备120可以渲染包括语义信息的文本框。图4示出了向用户呈现语义信息的示例情况。作为示例而非限制,如图4所示,客户端设备120发送对象查询,该对象查询具有朝向客户端设备120捕获的图像中的沙发的方向向量。客户端设备120可以从服务器110接收包括与沙发相关联的语义信息的响应,该语义信息是“灰色沙发”。客户端设备120可以在图像中渲染带有文本“灰色沙发”的文本框425。文本框425的位置与响应中接收的交叉点的距离在阈值距离内。虽然本公开描述了以特定方式在从服务器接收语义信息时渲染与对象相关联的语义信息,但是本公开设想了以任何合适的方式在从服务器接收语义信息时渲染与对象相关联的语义信息。
在特定实施例中,三维网格可以属于人工现实对象。在这种情况下,与三维网格相关联的元数据可以包括人工现实对象的渲染指令。客户端设备120可以基于人工现实对象的渲染指令,渲染人工现实对象。图5示出了基于来自服务器的渲染指令渲染人工现实对象的示例情况。作为示例而非限制,如图5所示,客户端设备120发送对象查询,该对象查询具有朝向客户端设备120捕获的图像中的沙发后面的桌子上方的空间的方向向量。客户端设备可以接收带有笑脸图标525的渲染指令的响应。客户端设备可以基于在响应中接收的渲染指令,渲染笑脸图标525。虽然本公开描述了以特定方式在从服务器接收渲染指令时渲染人工现实对象,但是本公开设想以任何合适的方式在从服务器接收渲染指令时渲染人工现实对象。
在特定实施例中,客户端设备120可以发送人工现实对象查询。人工现实对象查询可以包括与客户端设备120的当前位置相关联的信息。客户端设备120可以接收人工现实对象响应,该人工现实对象响应包括与客户端设备周围的可用人工现实对象相关联的元数据。客户端设备120可以基于元数据中的渲染指令来渲染人工现实对象。虽然本公开描述了特定的人工现实对象查询和人工现实对象响应,但是本公开设想了任何合适的人工现实对象查询和人工现实对象响应。
在特定实施例中,客户端设备120可能需要确定人工现实对象是否被放置在一个或更多个物理对象后面。客户端设备120可以发送对象查询,该对象查询具有从客户端设备120的当前位置到人工现实对象中心的方向向量。一旦接收到对象响应,如果对象响应包括与物理对象相关联的元数据,则客户端设备120可以确定人工现实对象被放置在物理对象后面。客户端设备120可以遮挡物理对象后面的人工现实对象。虽然本公开描述了以特定方式确定人工现实对象是否放置在物理对象后面,但是本公开设想了以任何合适的方式确定人工现实对象是否放置在物理对象后面。
在特定实施例中,客户端设备120可能需要确定人工现实对象是否被放置在一个或更多个物理对象后面。客户端设备120可以将人工现实对象被渲染的图像的区域分割成多个栅格。客户端设备120可以向服务器110发送每个栅格的对象查询。对于每个栅格,客户端设备120可以从服务器110接收与该栅格相关联的响应。对于每个栅格,如果与栅格相关联的响应包括与物理对象相关联的元数据,则客户端设备120可以确定人工现实对象被放置在栅格中的一个或更多个物理对象后面。基于位于一个或更多个物理对象后面的人工现实对象的部分,客户端设备120可以遮挡人工现实对象。为了提高精度,如果人工现实对象被确定放置在栅格中的一个或更多个物理对象后面,则客户端设备120可以将栅格分割成多个子栅格,并且向服务器110发送每个子栅格的对象查询。虽然本公开描述了以特定方式确定人工现实对象是否放置在一个或更多个物理对象后面,但是本公开设想了以任何合适的方式确定人工现实对象是否放置在一个或更多个物理对象后面。
在特定实施例中,服务器110可以从客户端设备120接收在区域中的位置创建人工现实对象的请求。该请求可以包括人工现实对象的类型、人工现实对象的标识符、人工现实对象的渲染指令、与人工现实对象相关联的语义信息或位置的坐标。服务器110可以检查客户端设备120是否具有足够的权限来将人工现实对象添加到数字地图140。服务器110可以将接收到的与人工现实对象相关联的信息添加到数字地图140。作为示例而非限制,与客户端设备120相关联的用户可能想要在该区域的特定位置添加笑脸图标。用户可以从客户端设备120上的用户界面中的可用图标列表中选择图标。用户可以将所选图标拖放到与客户端设备120相关联的显示器上显示的图像中的位置。客户端设备可以向服务器120发送请求,以在用户将图标放置到的位置处创建所选笑脸图标。该请求可以包括与所选图标相关联的信息,包括类型、标识符、大小和渲染指令以及图标应该渲染在的位置信息。该请求还可以包括与笑脸图标相关联的语义信息,诸如图标的名称,或者用户添加到图标的文本。虽然本公开描述了以特定方式向数字地图添加人工现实对象,但是本公开设想了以任何合适的方式向数字地图添加人工现实对象。
在特定实施例中,服务器110可以从客户端设备120接收修改数字地图140中的人工现实对象的请求。该请求可以包括数字地图140中的人工现实对象的标识符,以及修改人工现实对象的指令。服务器110可以检查客户端设备120是否具有足够的权限来修改数字地图140中的人工现实对象。服务器110可以基于接收到的指令,修改与数字地图140中的人工现实对象相关联的信息。虽然本公开描述了以特定方式修改数字地图中的人工现实对象,但是本公开设想以任何合适的方式修改数字地图中的人工现实对象。
在特定实施例中,服务器110可以从客户端设备120接收从数字地图140删除人工现实对象的请求。该请求可以包括人工现实对象的标识符,该人工现实对象的标识符唯一地标识数字地图140中的人工现实对象。服务器110可以检查客户端设备120是否具有足够的权限从数字地图140中删除人工现实对象。服务器110可以从数字地图140中删除与人工现实对象相关联的信息。虽然本公开描述了以特定方式从数字地图中删除人工现实对象,但是本公开设想了以任何合适的方式从数字地图中删除人工现实对象。
在特定实施例中,服务器110可以与人工现实管理模块130相关联。数字地图140中的一个或更多个人工现实对象可以在人工现实管理模块130的显示器上查看。人工现实管理模块130的可视化功能实体131可以向用户呈现人工现实对象、人工现实对象或物理对象的语义信息或活动的(active)客户端设备。一个或更多个人工现实对象可以由人工现实管理模块130添加、修改或删除。人工现实管理模块130的人工现实对象操纵功能实体133可以基于用户输入在数字地图140中添加、修改或删除人工现实对象。虽然本公开以特定方式描述了人工现实管理模块的功能,但是本公开设想了以任何合适的方式的人工现实管理模块的功能。
图6示出了用于在接收到对象查询时识别与三维网格相关联的元数据的示例方法600。该方法可以在步骤610开始,其中服务器可以访问现实世界区域的数字地图。数字地图可以包括对应于现实世界区域内的一个或更多个三维对象的一个或更多个三维网格。在步骤620,服务器可以从客户端设备接收对象查询,该对象查询包括数字地图中锚点的标识符、相对于锚点的位置信息以及与方向向量相关联的信息。在步骤630,服务器可以基于锚点的标识符和相对于锚点的位置信息,确定数字地图内的位置。在步骤640,服务器可以确定数字地图中的三维网格,该网格与从所确定的数字地图内的位置开始的方向向量的投影相交。在步骤650,服务器可以识别与三维网格相关联的元数据。在步骤660,服务器可以向第二计算设备发送元数据。在适当的情况下,特定实施例可以重复图6的方法的一个或更多个步骤。虽然本公开描述并且示出了图6的方法的特定步骤以特定顺序出现,但是本公开设想到图6的方法的任何合适的步骤以任何合适的顺序出现。此外,虽然本公开描述并示出了包括图6的方法的特定步骤的用于在接收到对象查询时识别与三维网格相关联的元数据的示例方法,但是本公开设想了包括任何合适步骤的用于在接收到对象查询时识别与三维网格相关联的元数据的任何合适的方法,在适当的情况下,该方法可以包括图6的方法的所有步骤、一些步骤或不包括图6的方法的步骤。此外,虽然本公开描述并且示出了执行图6的方法的特定步骤的特定部件、设备或系统,但是本公开设想到执行图6的方法的任何合适步骤的任何合适的部件、设备或系统的任何合适的组合。
图7示出了用于基于接收到的元数据渲染人工现实对象的示例方法700。该方法可以在步骤710开始,其中客户端设备可以确定相对于现实世界区域的数字地图中的锚点来说第二计算设备的当前位置。在步骤720,客户端设备可以向服务器发送对象查询,该对象查询包括锚点的标识符、相对于锚点的位置信息以及与方向向量相关联的信息。方向向量的方向可以由与第二计算设备相关联的照相机当前捕获的图像中的点来确定。该图像可以在与第二计算设备相关联的显示器上显示。在步骤730,客户端设备可以从服务器接收响应,该响应包括与数字地图中的三维网格相关联的元数据,该三维网格与从客户端设备的当前位置开始的方向向量的投影相交。在步骤740,基于接收到的与三维网格相关联的元数据,客户端设备可以在离图像中的交叉点的预定距离内渲染人工现实对象。方向向量可以在交叉点处与三维网格相交。在适当的情况下,特定实施例可以重复图7的方法的一个或更多个步骤。虽然本公开描述并且示出了图7的方法的特定步骤以特定顺序出现,但是本公开设想到图7的方法的任何合适的步骤以任何合适的顺序出现。此外,虽然本公开描述并示出了包括图7的方法的特定步骤的用于基于接收到的元数据渲染人工现实对象的示例方法,但是本公开设想了包括任何合适的步骤的用于基于接收到的元数据渲染人工现实对象的任何合适的方法,在适当的情况下,该方法可以包括图7的方法的所有步骤、一些步骤或不包括图7的方法的步骤。此外,虽然本公开描述并且示出了执行图7的方法的特定步骤的特定部件、设备或系统,但是本公开设想到执行图7的方法的任何合适步骤的任何合适的部件、设备或系统的任何合适的组合。
系统和方法
图8示出了示例计算机系统800。在特定实施例中,一个或更多个计算机系统800执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在特定实施例中,一个或更多个计算机系统800提供本文描述或示出的功能。在特定实施例中,在一个或更多个计算机系统800上运行的软件执行本文描述或示出的一个或更多个方法的一个或更多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或更多个计算机系统800的一个或更多个部分。在本文,在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或更多个计算机系统。
本公开设想了任何合适数量的计算机系统800。本公开设想了计算机系统800采取任何合适的物理形式。作为示例而不是作为限制,计算机系统800可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(例如,模块上计算机(COM)或模块上系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网状网、移动电话、个人数字助理(PDA)、服务器、平板计算机系统、增强/虚拟现实设备、或者这些系统的两个或更多个的组合。在适当的情况下,计算机系统800可以包括一个或更多个计算机系统800;是整体式的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,云可以包括在一个或更多个网络中的一个或更多个云组件。在适当的情况下,一个或更多个计算机系统800可以在没有实质性空间或时间限制的情况下执行本文描述或示出的一个或更多个方法的一个或更多个步骤。作为示例而不是作为限制,一个或更多个计算机系统800可以实时地或以批处理模式来执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在适当的情况下,一个或更多个计算机系统800可以在不同的时间或在不同的位置处执行本文描述或示出的一个或更多个方法的一个或更多个步骤。
在特定实施例中,计算机系统800包括处理器802、存储器804、存储装置806、输入/输出(I/O)接口808、通信接口810和总线812。尽管本公开描述并示出了具有在特定布置中的特定数量的特定组件的特定计算机系统,但是本公开设想了具有在任何合适布置中的任何合适数量的任何合适组件的任何合适的计算机系统。
在特定实施例中,处理器802包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而不是作为限制,为了执行指令,处理器802可以从内部寄存器、内部高速缓存、存储器804或存储装置806中检索(或取回)指令;将他们解码并执行它们;以及然后将一个或更多个结果写到内部寄存器、内部高速缓存、存储器804或存储装置806。在特定实施例中,处理器802可以包括用于数据、指令或地址的一个或更多个内部高速缓存。在适当的情况下,本公开设想了处理器802包括任何合适数量的任何合适的内部高速缓存。作为示例而不是作为限制,处理器802可以包括一个或更多个指令高速缓存、一个或更多个数据高速缓存、以及一个或更多个转译后备缓冲区(TLB)。在指令高速缓存中的指令可以是在存储器804或存储装置806中的指令的副本,并且指令高速缓存可以加速处理器802对那些指令的检索。在数据高速缓存中的数据可以是:在存储器804或存储装置806中的数据的副本,用于使在处理器802处执行的指令进行操作;在处理器802处执行的先前指令的结果,用于由在处理器802处执行的后续指令访问或者用于写到存储器804或存储装置806;或其他合适的数据。数据高速缓存可以加速由处理器802进行的读或写操作。TLB可以加速关于处理器802的虚拟地址转译。在特定实施例中,处理器802可以包括用于数据、指令或地址的一个或更多个内部寄存器。在适当的情况下,本公开设想了处理器802包括任何合适数量的任何合适的内部寄存器。在适当的情况下,处理器802可以包括一个或更多个算术逻辑单元(ALU);是多核处理器;或者包括一个或更多个处理器802。尽管本公开描述并示出了特定的处理器,但是本公开设想了任何合适的处理器。
在特定实施例中,存储器804包括用于存储用于使处理器802执行的指令或用于使处理器802操作的数据的主存储器。作为示例而不是作为限制,计算机系统800可以将指令从存储装置806或另一个源(例如,另一个计算机系统800)加载到存储器804。处理器802然后可以将指令从存储器804加载到内部寄存器或内部高速缓存。为了执行指令,处理器802可以从内部寄存器或内部高速缓存中检索指令并将它们解码。在指令的执行期间或之后,处理器802可以将一个或更多个结果(其可以是中间结果或最终结果)写到内部寄存器或内部高速缓存。处理器802然后可以将这些结果中的一个或更多个写到存储器804。在特定实施例中,处理器802仅执行在一个或更多个内部寄存器或内部高速缓存中或在存储器804(而不是存储装置806或其他地方)中的指令,并且仅对在一个或更多个内部寄存器或内部高速缓存中或在存储器804(而不是存储装置806或其他地方)中的数据进行操作。一个或更多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器802耦合到存储器804。如下所述,总线812可以包括一个或更多个存储器总线。在特定实施例中,一个或更多个存储器管理单元(MMU)驻留在处理器802和存储器804之间,并且便于由处理器802请求的对存储器804的访问。在特定实施例中,存储器804包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口RAM或多端口RAM。本公开设想了任何合适的RAM。在适当的情况下,存储器804可以包括一个或更多个存储器804。尽管本公开描述并示出了特定的存储器,但是本公开设想了任何合适的存储器。
在特定实施例中,存储装置806包括用于数据或指令的大容量存储装置。作为示例而不是作为限制,存储装置806可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器、或这些中的两个或更多个的组合。在适当的情况下,存储装置806可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储装置806可以在计算机系统800的内部或外部。在特定实施例中,存储装置806是非易失性固态存储器。在特定实施例中,存储装置806包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可变ROM(EAROM)、或闪存、或这些中的两个或更多个的组合。本公开设想了采用任何合适的物理形式的大容量存储装置806。在适当的情况下,存储装置806可以包括便于在处理器802和存储装置806之间的通信的一个或更多个存储装置控制单元。在适当的情况下,存储装置806可以包括一个或更多个存储装置806。尽管本公开描述并示出了特定的存储装置,但是本公开设想了任何合适的存储装置。
在特定实施例中,I/O接口808包括为在计算机系统800和一个或更多个I/O设备之间的通信提供一个或更多个接口的硬件、软件或两者。在适当的情况下,计算机系统800可以包括这些I/O设备中的一个或更多个。这些I/O设备中的一个或更多个可以实现在人和计算机系统800之间的通信。作为示例而不是作为限制,I/O设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态摄像机、触笔、平板计算机、触摸屏、跟踪球、视频摄像机、另一个合适的I/O设备、或这些中的两个或更多个的组合。I/O设备可以包括一个或更多个传感器。本公开设想了任何合适的I/O设备以及用于它们的任何合适的I/O接口808。在适当的情况下,I/O接口808可以包括使处理器802能够驱动这些I/O设备中的一个或更多个的一个或更多个设备或软件驱动器。在适当的情况下,I/O接口808可以包括一个或更多个I/O接口808。尽管本公开描述并示出了特定的I/O接口,但是本公开设想了任何合适的I/O接口。
在特定实施例中,通信接口810包括提供用于在计算机系统800和一个或更多个其他计算机系统800或一个或更多个网络之间的通信(例如,基于包的通信)的一个或更多个接口的硬件、软件或两者。作为示例而不是作为限制,通信接口810可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器,或用于与无线网络(例如Wi-Fi网络)进行通信的无线NIC(WNIC)或无线适配器。本公开设想了任何合适的网络和用于它的任何合适的通信接口810。作为示例而不是作为限制,计算机系统800可以与自组织网络、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或互联网的一个或更多个部分、或这些中的两个或更多个的组合进行通信。这些网络中的一个或更多个的一个或更多个部分可以是有线的或无线的。作为示例,计算机系统800可以与无线PAN(WPAN)(例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(GSM)网络)、或其他合适的无线网络、或这些中的两个或更多个的组合进行通信。在适当的情况下,计算机系统800可以包括用于这些网络中的任一个的任何合适的通信接口810。在适当的情况下,通信接口810可以包括一个或更多个通信接口810。尽管本公开描述并示出了特定的通信接口,但是本公开设想了任何合适的通信接口。
在特定实施例中,总线812包括将计算机系统800的组件耦合到彼此的硬件、软件或两者。作为示例而不是作为限制,总线812可以包括加速图形端口(AGP)或其他图形总线、扩展工业标准体系结构(EISA)总线、前端总线(FSB)、HYPERTRANSPORT(HT)互连、工业标准体系结构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线,微通道体系结构(MCA)总线、外围部件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线、或任何其他合适的总线、或这些中的两个或更多个的组合。在适当的情况下,总线812可以包括一个或更多个总线812。尽管本公开描述并示出了特定总线,但是本公开设想了任何合适的总线或互连。
在本文,在适当的情况下,一个或更多个计算机可读非暂时性存储介质可以包括一个或更多个基于半导体的或其他集成电路(IC)(例如,现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字(SECURE DIGITAL)卡或驱动器、任何其他合适的计算机可读非暂时性存储介质、或这些中的两个或更多个的任何合适组合。在适当的情况下,计算机可读非暂时性存储介质可以是易失性的、非易失性的或者易失性和非易失性的组合。
本文中,除非另有明确指示或通过上下文另有指示,否则“或”是包括一切的而非排他性的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A或B”意指“A、B、或两者”。此外,除非另有明确指示或通过上下文另有指示,否则“和”既是联合的又是各自的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A和B”意指“A和B,联合地或各自地”。
本公开的范围包括本领域中的普通技术人员将理解的对本文描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,尽管本公开将本文的相应实施例描述并示为包括特定的组件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可以包括本领域中的普通技术人员将理解的在本文任何地方描述或示出的任何组件、元件、特征、功能、操作或步骤的任何组合或置换。此外,在所附权利要求中对适合于、被布置成、能够、被配置成、实现来、可操作来、或操作来执行特定功能的装置或系统或装置或系统的组件的引用包括该装置、系统、组件,无论它或那个特定功能是否被激活、开启或解锁,只要该装置、系统或组件是这样被调整、被布置、使能够、被配置、被实现、可操作的、或操作的。此外,尽管本公开将特定实施例描述或示为提供特定优点,但是特定实施例可以提供这些优点中的一些、全部或不提供这些优点。
Claims (19)
1.一种提供语义增强的人工现实体验的方法,包括由第一计算设备:
访问现实世界区域的数字地图,其中,所述数字地图包括对应于所述现实世界区域内的一个或更多个三维对象的一个或更多个三维网格;
从第二计算设备接收对象查询,所述对象查询包括所述数字地图中锚点的标识符、相对于所述锚点的位置信息以及与方向向量相关联的信息;
基于所述锚点的标识符和相对于所述锚点的所述位置信息,确定所述数字地图内的位置;
确定所述数字地图中的三维网格,所述三维网格与由所述第二计算设备发送的从所确定的所述数字地图内的位置开始的方向向量相交;
识别与所述三维网格相关联的元数据;以及
将所述元数据发送到所述第二计算设备;
其中,与所述方向向量相关联的信息包括表示从所确定的位置开始的向量的方向的坐标。
2.根据权利要求1所述的方法,其中,所述数字地图是基于图像的集合使用一种或更多种三维重建技术生成的,其中,所述集合中的每个图像捕获所述现实世界区域的一部分。
3.根据权利要求1所述的方法,其中,所述元数据包括与所识别的对象相关联的语义信息。
4.根据权利要求1所述的方法,其中,所述三维网格属于人工现实对象。
5.根据权利要求4所述的方法,其中,与所述三维网格相关联的所述元数据包括用于所述人工现实对象的渲染指令。
6.根据权利要求1所述的方法,还包括:
从第二计算设备接收在所述区域中的位置创建人工现实对象的请求,其中,所述请求包括所述人工现实对象的类型、所述人工现实对象的标识符、所述人工现实对象的渲染指令、与所述人工现实对象相关联的语义信息或所述位置的坐标;以及
将接收到的与所述人工现实对象相关联的信息添加到所述数字地图。
7.根据权利要求1所述的方法,还包括:
从第三计算设备接收重新定位请求,所述重新定位请求包括从所述第三计算设备在所述区域内的当前位置拍摄的图像;
基于所接收的图像,计算所述第三计算设备的当前位置;以及
向所述第三计算设备发送包括所计算的所述第三计算设备的当前位置的响应,其中,所述第三计算设备的当前位置由所述数字地图中的一个或更多个锚点中的第一锚点以及所述第三计算设备相对于所述第一锚点的相对坐标来表示。
8.根据权利要求7所述的方法,其中,响应包括所述第一锚点的标识符和与所述第一锚点相关联的坐标。
9.根据权利要求7所述的方法,其中,所述第一锚点是所述区域中的所述一个或更多个锚点中离所述第三计算设备最近的锚点。
10.根据权利要求1所述的方法,其中,所述第一计算设备与人工现实管理模块相关联,其中,由所述人工现实管理模块添加、修改或删除一个或更多个人工现实对象。
11.一种提供语义增强的人工现实体验的方法,包括由第二计算设备:
确定所述第二计算设备相对于现实世界区域的数字地图中的锚点的当前位置;
向第一计算设备发送对象查询,所述对象查询包括所述锚点的标识符、相对于所述锚点的位置信息以及与方向向量相关联的信息,其中,所述方向向量的方向由与所述第二计算设备相关联的照相机当前捕获的图像中的点来确定,并且其中所述图像在与所述第二计算设备相关联的显示器上显示;
从所述第一计算设备接收响应,所述响应包括与所述数字地图中的三维网格相关联的元数据,所述三维网格与从所述第二计算设备的当前位置开始的所述方向向量的投影相交;并且
基于所接收的与所述三维网格相关联的元数据,在离所述图像中的交叉点的预定距离内渲染人工现实对象,其中,所述方向向量在所述交叉点处与所述三维网格相交;
其中,与所述方向向量相关联的信息包括表示从所述第二计算设备的当前位置开始的向量的方向的坐标。
12.根据权利要求11所述的方法,其中,确定所述第二计算设备的当前位置包括:
通过与所述第一计算设备交换消息来确定所述第二计算设备在所述区域中的重新定位的位置,其中,所述重新定位的位置由所述数字地图中的锚点和所述第二计算设备相对于所述锚点的相对坐标来表示;以及
由所述第二计算设备,通过基于来自与所述第二计算设备相关联的一个或更多个传感器的数据计算所述第二计算设备的移动,计算所述第二计算设备的当前位置。
13.根据权利要求12所述的方法,其中,所述一个或更多个传感器包括陀螺仪或加速度计。
14.根据权利要求11所述的方法,其中,与所述三维网格相关联的所述元数据包括与所述三维网格所属于的对象相关联的语义信息,并且其中所述人工现实对象是包括所述语义信息的文本框。
15.根据权利要求11所述的方法,其中,与所述三维网格相关联的所述元数据包括针对所述三维网格所属于的人工现实对象的渲染指令。
16.根据权利要求15所述的方法,还包括:
确定所述人工现实对象是否被放置在一个或更多个物理对象后面;和
基于所述人工现实对象的位于所述一个或更多个物理对象后面的部分,遮挡所述人工现实对象。
17.根据权利要求16所述的方法,其中,确定所述人工现实对象是否被放置在所述一个或更多个物理对象后面包括:
将渲染了所述人工现实对象的所述图像的区域分割成多个栅格;
针对每个栅格,向所述第一计算设备发送对象查询;
针对每个栅格,从所述第一计算设备接收与所述栅格相关联的响应;以及
针对每个栅格,如果与所述栅格相关联的所述响应包括与物理对象相关联的元数据,则确定所述人工现实对象被放置在所述网格中的一个或更多个物理对象后面。
18.根据权利要求17所述的方法,其中,如果所述人工现实对象被确定为放置在所述网格中的一个或更多个物理对象后面,则栅格被分割成多个子栅格。
19.一种提供语义增强的人工现实体验的系统,包括:一个或更多个处理器;和耦合到所述处理器的非暂时性存储器,所述非暂时性存储器包括所述处理器能够执行的指令,所述处理器在执行所述指令时能够操作来:
访问现实世界区域的数字地图,其中,所述数字地图包括对应于所述现实世界区域内的一个或更多个三维对象的一个或更多个三维网格;
从第二计算设备接收对象查询,所述对象查询包括所述数字地图中锚点的标识符、相对于所述锚点的位置信息以及与方向向量相关联的信息;
基于所述锚点的标识符和相对于所述锚点的所述位置信息,确定所述数字地图内的位置;
确定所述数字地图中的三维网格,所述三维网格与由所述第二计算设备发送的从所确定的所述数字地图内的位置开始的方向向量相交;
识别与所述三维网格相关联的元数据;并且
将所述元数据发送到所述第二计算设备;
其中,与所述方向向量相关联的信息包括表示从所确定的位置开始的向量的方向的坐标。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/389,882 | 2019-04-19 | ||
US16/389,882 US11217011B2 (en) | 2019-04-19 | 2019-04-19 | Providing semantic-augmented artificial-reality experience |
PCT/US2020/027763 WO2020214505A1 (en) | 2019-04-19 | 2020-04-10 | Semantic-augmented artificial-reality experience |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113711166A CN113711166A (zh) | 2021-11-26 |
CN113711166B true CN113711166B (zh) | 2024-04-09 |
Family
ID=70476551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080029793.3A Active CN113711166B (zh) | 2019-04-19 | 2020-04-10 | 语义增强的人工现实体验 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11217011B2 (zh) |
EP (1) | EP3956752B1 (zh) |
JP (1) | JP2022529201A (zh) |
KR (1) | KR20210154828A (zh) |
CN (1) | CN113711166B (zh) |
WO (1) | WO2020214505A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10958959B1 (en) | 2019-09-13 | 2021-03-23 | At&T Intellectual Property I, L.P. | Automatic generation of augmented reality media |
KR20220152736A (ko) * | 2021-05-10 | 2022-11-17 | 삼성전자주식회사 | 시청자 환경 기반 ar 서비스 제공 방법 및 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013155217A1 (en) * | 2012-04-10 | 2013-10-17 | Geisner Kevin A | Realistic occlusion for a head mounted augmented reality display |
CN105359140A (zh) * | 2013-04-25 | 2016-02-24 | 脸谱公司 | 可变搜索查询垂直访问 |
CN105378801A (zh) * | 2013-04-12 | 2016-03-02 | 微软技术许可有限责任公司 | 全息图快照网格 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7616782B2 (en) * | 2004-05-07 | 2009-11-10 | Intelliview Technologies Inc. | Mesh based frame processing and applications |
US10127722B2 (en) * | 2015-06-30 | 2018-11-13 | Matterport, Inc. | Mobile capture visualization incorporating three-dimensional and two-dimensional imagery |
US20170243403A1 (en) * | 2014-11-11 | 2017-08-24 | Bent Image Lab, Llc | Real-time shared augmented reality experience |
KR102317247B1 (ko) | 2015-06-15 | 2021-10-26 | 한국전자통신연구원 | 영상정보를 이용한 증강현실 기반 손 인터랙션 장치 및 방법 |
US10217231B2 (en) | 2016-05-31 | 2019-02-26 | Microsoft Technology Licensing, Llc | Systems and methods for utilizing anchor graphs in mixed reality environments |
US10338392B2 (en) * | 2016-06-13 | 2019-07-02 | Microsoft Technology Licensing, Llc | Identification of augmented reality image display position |
US10657701B2 (en) * | 2016-06-30 | 2020-05-19 | Sony Interactive Entertainment Inc. | Dynamic entering and leaving of virtual-reality environments navigated by different HMD users |
US10019824B2 (en) * | 2016-08-16 | 2018-07-10 | Lawrence Livermore National Security, Llc | Annotation of images based on a 3D model of objects |
US10453253B2 (en) | 2016-11-01 | 2019-10-22 | Dg Holdings, Inc. | Virtual asset map and index generation systems and methods |
EP3419286A1 (en) | 2017-06-23 | 2018-12-26 | Koninklijke Philips N.V. | Processing of 3d image information based on texture maps and meshes |
US10438414B2 (en) * | 2018-01-26 | 2019-10-08 | Microsoft Technology Licensing, Llc | Authoring and presenting 3D presentations in augmented reality |
US11109065B2 (en) * | 2018-09-26 | 2021-08-31 | Google Llc | Video encoding by providing geometric proxies |
US11132841B2 (en) * | 2018-11-30 | 2021-09-28 | Facebook Technologies, Llc | Systems and methods for presenting digital assets within artificial environments via a loosely coupled relocalization service and asset management service |
US10872459B2 (en) * | 2019-02-05 | 2020-12-22 | X Development Llc | Scene recognition using volumetric substitution of real world objects |
-
2019
- 2019-04-19 US US16/389,882 patent/US11217011B2/en active Active
-
2020
- 2020-04-10 JP JP2021540494A patent/JP2022529201A/ja active Pending
- 2020-04-10 EP EP20722941.0A patent/EP3956752B1/en active Active
- 2020-04-10 WO PCT/US2020/027763 patent/WO2020214505A1/en active Application Filing
- 2020-04-10 CN CN202080029793.3A patent/CN113711166B/zh active Active
- 2020-04-10 KR KR1020217037524A patent/KR20210154828A/ko not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013155217A1 (en) * | 2012-04-10 | 2013-10-17 | Geisner Kevin A | Realistic occlusion for a head mounted augmented reality display |
CN103472909A (zh) * | 2012-04-10 | 2013-12-25 | 微软公司 | 用于头戴式、增强现实显示器的逼真遮挡 |
CN105378801A (zh) * | 2013-04-12 | 2016-03-02 | 微软技术许可有限责任公司 | 全息图快照网格 |
CN105359140A (zh) * | 2013-04-25 | 2016-02-24 | 脸谱公司 | 可变搜索查询垂直访问 |
Also Published As
Publication number | Publication date |
---|---|
EP3956752B1 (en) | 2024-02-28 |
US11217011B2 (en) | 2022-01-04 |
CN113711166A (zh) | 2021-11-26 |
KR20210154828A (ko) | 2021-12-21 |
EP3956752A1 (en) | 2022-02-23 |
JP2022529201A (ja) | 2022-06-20 |
US20200334902A1 (en) | 2020-10-22 |
WO2020214505A1 (en) | 2020-10-22 |
WO2020214505A8 (en) | 2021-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647238A (zh) | 人工现实交互平面 | |
CN111882634B (zh) | 一种图像渲染方法、装置、设备及存储介质 | |
JP2020507853A (ja) | 3次元点群の再構成のための方法および装置 | |
CN113711166B (zh) | 语义增强的人工现实体验 | |
US12106440B2 (en) | Environment model with surfaces and per-surface volumes | |
JP7282175B2 (ja) | 人工現実システムにおいて平面を識別すること | |
US20210233313A1 (en) | Systems, Methods, and Media for Visualizing Occluded Physical Objects Reconstructed in Artificial Reality | |
CN114546558B (zh) | 图纸处理方法、装置、计算机设备和存储介质 | |
WO2013097565A1 (en) | Method and apparatus for processing three-dimensional model data | |
US20210049036A1 (en) | Capability Space | |
US11615594B2 (en) | Systems and methods for reconstruction of dense depth maps | |
CN112116719B (zh) | 三维场景中对象的确定方法、装置、存储介质和电子设备 | |
JP2023547838A (ja) | 待ち時間復元クラウドレンダリング | |
KR20210110164A (ko) | 전자 장치 및 전자 장치에서 깊이 맵의 재-투사 방법 | |
US20220122285A1 (en) | Visual inertial odometry localization using sparse sensors | |
US11580703B1 (en) | Adaptive model updates for dynamic and static scenes | |
US20230127307A1 (en) | Scene Capture via Artificial Reality Systems | |
US11366720B2 (en) | Building a resilient operating system based on durable services with kernel support | |
WO2023076368A1 (en) | Scene capture and localization failure handling on artificial reality systems | |
WO2022173600A1 (en) | Mixed reality object detection | |
CN116310227A (zh) | 三维稠密重建方法、装置、电子设备及介质 | |
US9159160B1 (en) | Texture sharing between application modules | |
CN116368522A (zh) | 使用稀疏传感器采集的对象追踪 | |
CN117999583A (zh) | 数字服装生成 |
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 | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Yuan Platform Technology Co.,Ltd. Address before: California, USA Applicant before: Facebook Technologies, LLC |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |