CN116348919A - 用于面部的摄像头重投影 - Google Patents
用于面部的摄像头重投影 Download PDFInfo
- Publication number
- CN116348919A CN116348919A CN202180064993.7A CN202180064993A CN116348919A CN 116348919 A CN116348919 A CN 116348919A CN 202180064993 A CN202180064993 A CN 202180064993A CN 116348919 A CN116348919 A CN 116348919A
- Authority
- CN
- China
- Prior art keywords
- user
- image
- face
- face model
- model
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/165—Detection; Localisation; Normalisation using facial parts and geometric relationships
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- 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/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- 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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
在一个实施例中,一个或多个计算系统可以接收第一用户的面部的一部分的图像。该一个或多个计算系统可以访问表示第一用户的面部的三维(3D)面部模型。该一个或多个计算系统可以识别图像中描绘的一个或多个面部特征,并且基于所识别的在图像中的一个或多个面部特征和3D面部模型上的预定特征位置,来确定相对于3D面部模型的摄像头位姿。该一个或多个计算系统可以通过将第一用户的面部的该一部分的图像从摄像头位姿投影到3D面部模型上,来确定图像与3D面部模型之间的映射关系并且使得第一用户的面部表示的输出图像被渲染。
Description
技术领域
本公开总体上涉及用于虚拟现实环境中的用户交互和体验的控件和界面。
背景技术
虚拟现实是计算机生成的对环境(例如,3D环境)的模拟,用户可以以看似真实的或物理的方式与该模拟交互。虚拟现实系统可以是单个设备或设备组,该虚拟现实系统可以生成这种模拟以显示给用户,例如,在虚拟现实头戴式设备(headset)或某种其它显示设备上显示给用户。该模拟可以包括图像、声音、触觉反馈和/或其它感知,以模仿真实的或虚构的环境。随着虚拟现实变得越来越重要,虚拟现实的有用应用范围正在迅速扩大。虚拟现实最常见的应用涉及游戏或其它交互式内容,但是诸如观看用于娱乐或训练目的的可视媒体项目(例如,照片,视频)等其它应用也紧随其后。使用虚拟现实来模拟现实对话和其他用户交互的可行性也正在探索之中。
发明内容
本文公开了渲染虚拟(或增强)现实环境并与该虚拟(或增强)现实环境进行交互的多种不同方式。人工现实系统可以渲染人工环境,该人工环境可以包括虚拟空间,该虚拟空间被渲染以显示给一个或多个用户。例如,可以渲染虚拟现实环境,或者可以渲染增强现实环境。用户可以通过任何合适的方式在该虚拟空间和更广阔的虚拟环境内进行观看和交互。所公开的方法的一个目标是在人工现实环境内重投影(reproject)用户的面部表示。在特定实施例中,一个或多个计算系统可以提供一种在人工现实环境内重投影用户的面部表示的方法。首先,该一个或多个计算系统可以接收一幅或多幅采集到的用户面部的一部分的图像。可以由耦接到用户所佩戴的人工现实系统的由内向外的摄像头拍摄这些采集到的图像。该一个或多个计算系统可以访问表示用户面部的三维(three-dimensional,3D)面部模型。该一个或多个计算系统可以识别该一幅或多幅图像中描绘的面部特征。该一个或多个计算系统可以基于所识别的面部特征和预定特征位置,来确定与该一幅或多幅采集到的图像相关联的每个摄像头相对于3D面部模型的摄像头位姿。在确定一个或多个摄像头位姿之后,该一个或多个计算系统可以确定该一幅或多幅采集到的图像与3D面部模型之间的映射关系。为了确定该映射关系,该一个或多个计算系统可以将该一幅或多幅采集到的用户面部的所述部分的图像从所确定的摄像头位姿投影到该3D面部模型上。该一个或多个计算系统可以使得用户的面部表示的输出图像通过如下方式被渲染:使用3D面部模型以及该一幅或多幅采集到的图像与该3D面部模型之间的映射关系。例如,该一个或多个计算系统可以向另一用户的人工现实系统发送指令,以在人工现实环境中渲染该用户的面部表示。
本发明的各实施例可以包括人工现实系统或结合人工现实系统而实现。人工现实是在呈现给用户之前已经以某种方式进行了调整的现实形式,该人工现实例如可以包括,虚拟现实(virtual reality,VR)、增强现实(augmented reality,AR)、混合现实(mixedreality,MR)、混合现实(hybrid reality),或它们的某种组合和/或派生物。人工现实内容可以包括完全生成的内容或与采集到的内容(例如,真实世界的照片)相结合的生成内容。人工现实内容可以包括视频、音频、触觉反馈或它们的某种组合,以上任何一种都可以以单通道或多通道(例如,为观看者带来三维效果的立体视频)呈现。此外,在一些实施例中,人工现实还可以与应用程序、产品、附件、服务或它们的某种组合相关联,这些应用程序、产品、附件、服务或它们的某种组合例如用于在人工现实中创建内容,和/或在人工现实中使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,这些平台包括连接到主控计算机系统的头戴式显示器(head-mounted display,HMD)、独立HMD、移动设备或计算系统、或能够向一位或多位观看者提供人工现实内容的任何其他硬件平台。
根据本公开的一个方面,提供了一种方法,该方法包括:由一个或多个计算系统:接收第一用户的面部的一部分的图像,其中,该图像是由耦接到第一用户所佩戴的人工现实头戴式设备的摄像头采集到的;访问表示第一用户的面部的三维(3D)面部模型;识别在图像中描绘的一个或多个面部特征;基于所识别的在图像中的一个或多个面部特征和3D面部模型上的预定特征位置,确定相对于3D面部模型的摄像头位姿;通过将第一用户的面部的该一部分的图像从该摄像头位姿投影到3D面部模型上,来确定该图像与3D面部模型之间的映射关系;以及使得至少使用3D面部模型以及图像与该3D面部模型之间的映射关系,来渲染第一用户的面部表示的输出图像。
在一些实施例中,该方法还可以包括:接收与第一用户的面部的第二部分对应的多幅图像,其中,该多幅图像是由耦接到第一用户所佩戴的人工现实头戴式设备的多个摄像头采集到的;使用机器学习模型进行合成,以生成与第一用户的面部的第二部分对应的合成图像;以及通过将第一用户的面部的第二部分的合成图像从预定摄像头位姿投影到3D面部模型上,来确定合成图像与3D面部模型之间的第二映射关系。
在一些实施例中,3D面部模型可以是表示多个用户的多个面部的预定3D面部模型。
在一些实施例中,3D面部模型可以通过以下方式来生成:至少基于所识别的在图像中的一个或多个面部特征,来对表示多个用户的多个面部的预定3D面部模型进行变形。
在一些实施例中,确定摄像头位姿可以包括:将所识别的在图像中描绘的一个或多个面部特征的位置与预定特征位置进行比较。
在一些实施例中,第一用户的面部表示的输出图像可以具有真实感(photorealistic)。
在一些实施例中,该方法还可以包括:接收第一用户的面部的第二部分的第二图像,其中,该图像是由耦接到第一用户所佩戴的人工现实头戴式设备的第二摄像头采集到的;识别第二图像中描绘的一个或多个第二面部特征;基于所识别的在第二图像中的一个或多个第二面部特征和3D面部模型上的预定特征位置,确定相对于3D面部模型的第二摄像头位姿;以及通过将第一用户的面部的第二部分的第二图像从第二摄像头位姿投影到3D面部模型上,来确定第二图像与3D面部模型之间的映射关系,其中,输出图像还至少使用3D面部模型以及第二图像与3D面部模型之间的映射关系。
在一些实施例中,映射关系可以是第一用户的面部的该一部分的纹理图像,并且其中,该纹理图像和与第一用户的面部的其它部分对应的预定纹理混合,以生成第一用户的面部表示的输出图像。
在一些实施例中,映射关系可以是第一用户的面部的该一部分的纹理图像,并且其中,渲染第一用户的面部表示包括:对与第一用户的面部表示对应的预定纹理上的第一点进行采样,以识别与该第一点相关联的第一颜色;对该纹理图像上与预定纹理上的第一点对应的第二点进行采样,以识别与该第二点相关联的第二颜色;以及将第一点的第一颜色与第二点的第二颜色混合,以生成与对应于第一点和第二点的位置相关联的最终颜色。
在一些实施例中,使得第一用户的面部表示的输出图像被渲染可以包括:将3D面部模型以及图像与3D面部模型之间的映射关系发送给与第二用户相关联的计算系统;以及基于第二用户相对于第一用户的视点来渲染该输出图像。
根据本公开的另一方面,提供了一种或多种计算机可读非暂态存储介质,该一种或多种计算机可读非暂态存储介质包含软件,该软件在被执行时可操作以:接收第一用户的面部的一部分的图像,其中,该图像是由耦接到第一用户所佩戴的人工现实头戴式设备的摄像头采集到的;访问表示第一用户的面部的三维(3D)面部模型;识别在图像描绘的一个或多个面部特征;基于所识别的在图像中的一个或多个面部特征和3D面部模型上的多个预定特征位置,来确定相对于3D面部模型的摄像头位姿;通过将第一用户的面部的该一部分的图像从该摄像头位姿投影到3D面部模型上,来确定该图像与该3D面部模型之间的映射关系;以及使得至少使用3D面部模型以及图像与该3D面部模型之间的映射关系,来渲染第一用户的面部表示的输出图像。
在一些实施例中,该软件在被执行时还可以可操作以:接收与第一用户的面部的第二部分对应的多个图像,其中,该多个图像是由耦接到第一用户所佩戴的人工现实头戴式设备的多个摄像头采集到的;使用机器学习模型进行合成,以生成与第一用户的面部的第二部分对应的合成图像;以及通过将第一用户的面部的第二部分的合成图像从预定摄像头位姿投影到3D面部模型上,来确定该合成图像与该3D面部模型之间的第二映射关系。
在一些实施例中,3D面部模型可以是表示多个用户的多个面部的预定3D面部模型。
在一些实施例中,该软件在被执行时还可以可操作以:至少基于所识别的在图像中的一个或多个面部特征,来对表示多个用户的多个面部的预定3D面部模型进行变形。
在一些实施例中,确定摄像头位姿可以包括:将所识别的在图像中描绘的一个或多个面部特征的位置与多个预定特征位置进行比较。
根据本公开的另一方面,提供了一种系统,该系统包括:一个或多个处理器;以及一个或多个计算机可读非暂态存储介质,该一个或多个计算机可读非暂态存储介质耦接到该一个或多个处理器中的一者或多者,并且包括多个指令,这些指令在由该一个或多个处理器中的一者或多者执行时,可操作以使该系统:接收第一用户的面部的一部分的图像,其中,该图像是由耦接到第一用户所佩戴的人工现实头戴式设备的摄像头采集到的;访问表示第一用户的面部的三维(3D)面部模型;识别图像中描绘到的一个或多个面部特征;基于所识别的在图像中的一个或多个面部特征和3D面部模型上的多个预定特征位置,来确定相对于3D面部模型的摄像头位姿;通过将第一用户的面部的该一部分的图像从该摄像头位姿投影到3D面部模型上,来确定该图像与该3D面部模型之间的映射关系;以及使得至少使用3D面部模型以及图像与该3D面部模型之间的映射关系,来渲染第一用户的面部表示的输出图像。
在一些实施例中,多个处理器可以在执行指令时还可操作以:接收与第一用户的面部的第二部分对应的多个图像,其中,该多个图像是由耦接到第一用户佩戴的人工现实头戴式设备的多个摄像头采集到的;使用机器学习模型合成,以生成与第一用户的面部的第二部分对应的合成图像;以及通过将第一用户的面部的第二部分的合成图像从预定摄像头位姿投影到3D面部模上型,来确定该合成图像与该3D面部模型之间的第二映射关系。
在一些实施例中,3D面部模型可以是表示多个用户的多个面部的预定3D面部模型。
在一些实施例中,多个处理器可以在执行指令时还可操作以:至少基于所识别的在图像中的一个或多个面部特征,来对表示多个用户的多个面部的预定3D面部模型进行变形。
在一些实施例中,确定摄像头位姿可以包括:将所识别的在图像中描绘的一个或多个面部特征的位置与多个预定特征位置进行比较。
本文中所公开的各个实施例仅是示例,并且本公开的范围不限于这些实施例。特定实施例可以包括本文中所公开的这些实施例中的所有或一些部件、元件、特征、功能、操作或步骤,或者不包括这些部件、元件、特征、功能、操作或步骤。针对方法、存储介质、系统和计算机程序产品的所附权利要求中特别披露了根据本发明的实施例,其中,在一个权利要求类别(例如,方法)中提到的任何特征也可以主张在另一个权利要求类别(例如,系统)中得到保护。所附权利要求中的从属关系或引用关系仅仅是出于形式上的原因而选择的。然而,也可以主张保护通过对任何多项先前权利要求的有意引用(特别是多个从属关系)而产生的任何主题,从而披露了多项权利要求及其特征的任何组合,并且不管所附权利要求中选择的从属关系如何,都可以主张保护该多项权利要求及其特征的任何组合。可主张保护的主题不仅包括所附多项权利要求中阐述的多个特征的多种组合,还包括该多项权利要求中的多个特征的任何其他组合,其中,该多项权利要求中提到的每个特征可以与该多项权利要求中的任何其他特征相组合、或者与多个其他特征的组合相组合。此外,可以在单个权利要求中主张保护本文中所描述或描绘的多个实施例和多个特征中的任何实施例和特征,和/或可以主张保护本文所描述或描绘的多个实施例和多个特征中的任何实施例和特征与本文所描述或描绘的任何实施例或特征的任何组合、或可以主张保护本文所描述或描绘的多个实施例和多个特征中的任何实施例和特征与所附权利要求的任何特征的任何组合。
附图说明
该专利或申请文件包含至少一幅彩色附图。在请求并支付必要的费用后,专利局将提供具有一幅或多幅彩色附图的本专利或专利申请出版物的副本。
图1示出了示例人工现实系统。
图2示出了另一示例人工现实系统。
图3示出了人工现实系统中的与用户相关的多个示例摄像头位置。
图4示出了由人工现实系统的多个摄像头采集到的多幅示例图像。
图5A和图5B示出了来自人工现实系统中摄像头的示例重投影区域。
图6示出了从不同视角来看的三维模型的示例渲染二维图像。
图7A和图7B示出了将面部表示重投影到三维模型上的示例过程。
图8示出了人工现实环境中的示例计算系统。
图9示出了用于将面部表示重投影到面部模型上的示例方法。
图10示出了与虚拟现实系统相关联的示例网络环境。
图11示出了示例计算机系统。
具体实施方式
随着越来越多的人采用人工现实系统,更多的人将会因为各种原因而开始使用人工现实系统。一种用例通常可以包括面对面交互。这些面对面交互可以处于增强现实环境内、虚拟现实环境内和/或这两种环境的组合内。例如,(真实感或非真实感的)化身或视觉表示可以用于在面对面交互(例如,虚拟会议)中表示每个用户。可以向每个用户呈现一个环境,在该环境中,用户可以在面对面交互时看到其他用户。然而,目前用户之间的这些人工环境可能无法采集到用户的这样的面部表情:即在典型的面对面交互中人们习惯于看到的面部表情。就这一点而言,在与人工现实环境中的其他用户交互时,虚拟现实环境内的面部重投影可以改善用户体验。然而,当用户佩戴着虚拟现实头戴式设备(该虚拟现实头戴式设备遮挡了用户面部的一部分)并且用户面部的图像是从极端视点采集的时,这可能不是一个待解决的简单问题。就这一点而言,面部模型可以用于结合机器学习模型来改善虚拟现实环境内对面部的摄像头重投影。
在特定实施例中,人工现实系统可以具有正采集用户的面部特征的一个或多个摄像头。作为示例而非限制,虚拟现实头戴式设备可以具有正采集用户的面部特征的多个由内向外的摄像头。这些由内向外的摄像头可以用于采集用户的面部特征(例如,用户嘴部的一部分、眼睛的一部分等)。图像中的特征点(landmark)可以用于对面部模型进行变形,以便为用户定制该面部模型,并且所述图像可以用于为面部模型的相应部分创建纹理。作为示例而非限制,可以存在表示人的面部的平均面部模型。当用户戴上头戴式设备时,该头戴式设备的摄像头可以采集用户的嘴部区域的图像。可以检测采集到的嘴部区域的特征点,并将所述特征点与面部模型进行匹配,以确定摄像头相对于面部模型的位姿(位置和方位)。可以将采集到的图像从摄像头重投影到面部模型上,以确定所述图像与面部模型的几何结构之间的映射(例如,所述图像可以用作面部模型的纹理)。利用面部模型、用户的整个面部的静态纹理以及基于采集到的图像而生成的动态纹理,人工现实系统可以从期望的视点渲染化身的图像或真实感表示的图像,以在虚拟现实环境中呈现用户的面部。
在特定实施例中,可以使用机器学习模型来合成用户面部的一部分的图像。尽管人工现实头戴式设备中的一些摄像头可以能够清楚地采集面部的多个部分,但是人工现实头戴式设备的其它摄像头可能无法清楚且准确地采集面部的该部分。这对于具有复杂几何细节(例如,眼睛)的面部特征尤其如此,并且因为摄像头的视点可能与期望的渲染视点显著不同。使用人工现实头戴式设备的摄像头,可以通过这些摄像头中的每个摄像头采集图像,并且将这些图像输入到机器学习模型中,以生成表示面部部分的图像。作为示例而非限制,一个摄像头可以从一个角度采集用户的眼睛,而另一个摄像头可以从不同角度采集用户的眼睛。这些单独的图像可以被组合以生成看上去就像是从眼睛的正面看到的合成图像。可以使用从期望的正面视点拍摄到的地面真值图像来该训练机器学习模型。可以将合成图像从所述地面真值图像所使用的摄像头位姿重投影到网格或三维(three-dimensional,3D)面部模型上(例如,如果所述地面真值图像是由位于用户面部正前方6英寸处的、在双眼之间居中的摄像头拍摄到的,则该合成图像将从这样的摄像头被重投影,而不是从用于采集图像的真实摄像头被重投影)。
在特定实施例中,一个或多个计算系统可以执行如本文所述的处理。该一个或多个计算系统可以被实施为社交网络系统、第三方系统、人工现实系统、另一个计算系统和/或这些计算系统的组合。该一个或多个计算系统可以耦接到多个人工现实系统。该多个人工现实系统可以被实施为增强现实头戴式设备、虚拟现实头戴式设备或混合现实头戴式设备等。在特定实施例中,该一个或多个计算系统可以接收来自该多个人工现实系统的输入数据。在特定实施例中,该输入数据可以包括通过耦接到人工现实系统的一个或多个摄像头采集的图像。
在特定实施例中,该一个或多个计算系统可以接收用户面部的一部分的图像。在特定实施例中,该一个或多个计算系统可以接收来自人工现实系统的、用户面部的一部分的图像。该图像可以是由耦接到人工现实系统中的摄像头采集到的。作为示例而非限制,该图像可以是由用户所佩戴的人工现实头戴式设备中的由内向外的摄像头采集到的,其中该图像可以描绘用户嘴部的一部分。基于摄像头的摄像头位姿,该图像可以对应于用户面部的其它部分。在特定实施例中,该一个或多个计算系统可以接收来自多个摄像头的多幅图像,该多幅图像对应于用户面部的一个或多个部分。作为示例而非限制,该一个或多个计算系统可以从耦接到人工现实头戴式设备的几个由内向的外摄像头接收到对应于用户嘴部的两幅图像和对应于用户右眼的一幅图像。在特定实施例中,多个摄像头可以相对于人工现实系统以各种摄像头位姿耦接到该人工现实系统。作为示例而非限制,一摄像头可以放置在人工现实系统的顶部部分,而另一摄像头可以放置在该人工现实系统的底部部分。尽管本公开描述了以特定方式接收用户面部的一部分的图像,但本公开考虑了以任何合适的方式接收用户面部的一部分的图像。
在特定实施例中,该一个或多个计算系统可以访问表示用户面部的三维(3D)面部模型。在特定实施例中,该一个或多个计算系统可以从存储装置(storage)中检索3D面部模型,或向另一计算系统请求3D面部模型。在特定实施例中,该一个或多个计算系统可以基于用户,选择3D面部模型。作为示例而非限制,该一个或多个计算系统可以识别用户的特性,例如,请求用户输入并基于该用户输入选择最佳地表示该用户的3D面部模型。例如,如果用户输入了他是六英尺高、非裔美国人并且身材苗条,则该一个或多个计算系统随后可以基于这些用户输入来检索最准确地表示该用户的3D面部模型。该一个或多个计算系统可以使用其它因素来访问合适的表示用户面部的3D面部模型。在特定实施例中,3D面部模型可以是表示多个用户的多个面部的预定3D面部模型。作为示例而非限制,通用3D面部模型可以用于所有用户、仅用于男性或仅用于女性。在特定实施例中,3D面部模型可以表示用户头部将在人工现实环境内占据的3D空间。作为示例而非限制,3D面部模型可以是网格,可以将纹理应用于该网格来表示用户面部。尽管本公开描述了以特定方式访问表示用户面部的3D面部模型,但是本公开考虑了以任何合适的方式访问表示用户面部的3D面部模型。
在特定实施例中,该一个或多个计算系统可以识别图像中描绘的一个或多个面部特征。在特定实施例中,该一个或多个计算系统可以执行面部特征检测过程,以识别图像中描绘的面部特征。作为示例而非限制,该一个或多个计算系统可以使用机器学习模型来识别图像内描绘的脸颊和鼻子。在特定实施例中,人工现实系统中的特定摄像头可以被指定为仅采集用户面部的某些特征。作为示例而非限制,耦接到虚拟现实头戴式设备的下部的由内向外的摄像头将仅采集位于用户面部下部的面部特征,因此该特定的由内向外的摄像头可以仅识别嘴部或下巴。例如,特定的由内向外的摄像头可能无法识别眼睛。这可以减少特定的由内向外的摄像头试图基于其在虚拟现实头戴式设备上的位置而识别的特征的数量。在特定实施例中,该一个或多个计算系统可以至少基于所识别的图像中的一个或多个面部特征,来对表示多个用户的多个面部的预定3D面部模型进行变形。作为示例而非限制,该一个或多个计算系统可以基于所识别的面部特征,识别出用户面部比表示多个用户的多个面部的预定3D面部模型略窄,并且可以相应地对该3D面部模型进行变形,使得3D面部模型表示适于该用户的面部模型。在特定实施例中,该一个或多个计算系统可以请求用户面部的图像。在特定实施例中,该一个或多个计算系统可以识别用户的隐私设置,以确定该一个或多个计算系统是否可以访问该用户面部的图像。作为示例而非限制,如果该用户向该一个或多个计算系统给予许可,则该一个或多个计算系统可以通过在线社交网络访问与该用户相关联的照片,以检索表示该用户的面部的图像。可以对检索到的一幅或多幅图像进行分析,以确定表示该用户面部的静态纹理。作为示例而非限制,可以对检索到的一幅或多幅图像进行分析,以确定面部特征通常位于用户面部的位置。可以将经分析的图像与3D面部模型进行比较,并且可以基于经分析的图像来对3D面部模型进行变形。尽管本公开描述了以特定方式识别图像中描绘的一个或多个面部特征,但是本公开考虑了以任何合适的方式识别图像中描绘的一个或多个面部特征。
在特定实施例中,该一个或多个计算系统可以确定相对于3D面部模型的摄像头位姿。在特定实施例中,该一个或多个计算系统可以使用所识别的在采集到的图像中的一个或多个面部特征以及3D面部模型上的预定特征位置,以便确定摄像头位姿。在特定实施例中,该一个或多个计算系统可以将所识别的在图像中描绘的面部特征的位置与预定特征位置进行比较。作为示例而非限制,该一个或多个计算系统可以识别出用户的下巴的位置和嘴部的位置。所识别出的下巴和嘴部相对于摄像头的位置以及相对于彼此的位置可以用于与3D面部模型的多个预定特征位置进行比较。例如,对于给定的摄像头位姿,下巴和嘴部可以位于采集到的图像中的特定位置。考虑到所识别的、这些面部特征在采集到的图像中的位置,该一个或多个计算系统可以基于这些所识别的位置与多个预定特征位置的比较情况,来确定摄像头位姿的位置。作为示例而非限制,如果采集到的图像包含:下巴的来自采集到的图像的下部的30个像素和来自该采集到的图像的左侧的50个像素、以及嘴部的来自该采集到的图像的上部的60个像素和来自该采集到的图像的右侧的40个像素,则该一个或多个计算系统随后可以确定:采集到该图像的摄像头可以相对于用户的面部和3D面部模型处于特定的摄像头位姿。考虑到用户的头部将因人而异,所识别的面部特征与3D面部模型的比较可以允许该一个或多个计算系统大致地确定采集该图像的摄像头相对于3D面部模型的摄像头位姿。尽管本公开描述了以特定方式确定相对于3D面部模型的摄像头位姿,但本公开考虑了以任何合适的方式确定相对于3D面部模型的摄像头位姿。
在特定实施例中,该一个或多个计算系统可以确定采集到的图像与3D面部模型之间的映射关系。在特定实施例中,该一个或多个计算系统可以通过将用户面部的一部分的图像从所确定的摄像头位姿投影到3D面部模型上,来确定该图像与3D面部模型之间的映射关系。作为示例而非限制,该一个或多个计算系统可以获取用户面部的一部分,该一部分例如为用户的嘴部。由于采集到该图像的摄像头(例如,采集用户嘴部的图像的由内向外的摄像头)的摄像头位姿是不容易知道的,因此该一个或多个计算系统可以如本文所述来确定摄像头位姿。通过使用摄像头位姿,该一个或多个计算系统可以将采集到的图像投影到3D面部模型上,以便确定映射关系。例如,采集到的用户嘴部的图像的哪个像素属于3D面部模型中的特定位置。将3D面部模型用作网格,以将用户嘴部的图像投影到3D面部模型上。在特定实施例中,该映射关系可以是用户面部的该一部分的纹理图像。尽管本公开描述了以特定方式确定采集到的图像与3D面部模型之间的映射关系,但本公开考虑了以任何合适的方式确定采集到的图像与3D面部模型之间的映射关系。
在特定实施例中,计算系统可以使得用户的面部表示的输出图像被渲染。在特定实施例中,计算系统可以至少使用3D面部模型以及采集到的图像与3D面部模型之间的映射关系,来实现对用户的面部表示的输出图像的渲染。在特定实施例中,该一个或多个计算系统可以向另一个计算系统发送对用户的面部表示的输出图像进行渲染的指令。作为示例而非限制,该一个或多个计算系统可以向第一用户的人工现实系统发送对第二用户的面部表示的输出图像进行渲染的指令。该一个或多个计算系统最初可以接收来自第二用户的人工现实系统的、采集到的第二用户的面部的一幅或多幅图像。如本文所述的,该一个或多个计算系统可以确定该图像与表示第二用户的面部的3D面部模型之间的映射关系。该一个或多个计算系统可以将采集到的该一幅或多幅图像与3D面部模型之间的映射关系发送给第一用户的人工现实系统。第一用户的人工现实系统可以基于接收到的、采集到的该一幅或多幅图像与3D面部模型之间的映射关系,来渲染第二用户的面部表示。在特定实施例中,可以将渲染包发送到人工现实系统以渲染用户的面部表示。该渲染包可以包含所使用的3D面部模型、以及采集到的图像与所使用的3D面部模型之间的映射关系。作为示例而非限制,如果该渲染包用于渲染第二用户的面部表示,则该渲染包可以包括第二用户的3D面部模型和第二用户的面部的纹理图像。尽管关于用户面部的一部分讨论了对用户面部进行重投影的一般过程,但是该一个或多个计算系统可以接收与用户面部的各个部分对应的多幅图像,以便创建用户的整个面部的纹理图像。作为示例而非限制,该一个或多个计算系统可以接收用户双眼、用户嘴部、用户鼻子、用户双侧脸颊、用户前额、用户下巴等的图像。这些图像中的每幅图像可以用于识别用户面部的多种面部特征,并确定对应于该图像和用户的3D面部模型的映射关系。该映射关系可以用于将用户的整个面部投影到3D面部模型上。在特定实施例中,用户的面部表示的输出图像可以具有真实感,使得看起来用户正在看另一个用户的面部。在特定实施例中,用户的面部表示的输出图像可以是化身,该化身是根据映射关系和3D面部模型而被映射的。作为示例而非限制,映射关系可以用于确定用户面部的当前状态(例如,用户是否正在微笑、皱眉、以某种方式移动其面部等),并将该用户面部重投影到化身上以呈现用户的面部表示。在特定实施例中,对输出图像的渲染可以基于人工现实系统的用户的视点,该人工现实系统正在相对于面部正被渲染的用户来渲染该面部表示。作为示例而非限制,用户的面部表示可以考虑在人工现实系统中另一用户正在看向另一用户的方向。当用户正直视另一用户时,所渲染的输出图像可以是该用户的面向该另一用户的面部表示。然而,如果用户间接地(例如,从侧面)看向另一个用户,则所渲染的输出图像可以是该用户的侧面轮廓的面部表示。尽管本公开描述了以特定方式使得用户的面部表示的输出图像被渲染,但是本公开考虑了以任何合适的方式使得用户的面部表示的输出图像被渲染。
在特定实施例中,该一个或多个计算系统可以生成与用户面部的一部分对应的合成图像。在特定实施例中,该一个或多个计算系统可以接收与用户面部的一部分对应的多幅图像。作为示例而非限制,该一个或多个计算系统可以接收与用户双眼对应的多幅图像。在特定实施例中,摄像头采集用户面部的一部分的图像的角度可以相对于用户的面部处于极端角度。作为示例而非限制,摄像头可以被定位成靠近用户面部。考虑到该极端角度,映射到3D面部模型的采集到的图像的直接重投影可能不是准确的面部表示,并且可能会在重投影过程期间引入伪像。关于这一点,在特定实施例中,可以使用机器学习模型来生成与用户面部的一个或多个部分对应的合成图像。作为示例而非限制,考虑到用户面部的双眼部分通常被人工现实系统(例如,虚拟现实头戴式设备)所遮挡,因此可以汇集用户双眼的不同角度的多幅图像,以生成用户双眼的合成图像。在特定实施例中,可以基于地面真值图像,来训练机器学习模型,所述地面真值图像是由相对于用户面部而处于预定摄像头位姿处的摄像头采集到的。作为示例而非限制,在训练机器学习模型对多幅图像进行合成以生成纹理或确定合成图像与3D面部模型之间的映射关系的过程中,可以由人工现实系统采集(例如,由人工现实系统的由内向外的摄像头采集)用户双眼的图像。在单独的过程中,处于预定摄像头位姿的摄像头可以以无阻碍的方式(例如,用户未佩戴人工现实系统)采集用户双眼的图像,这将呈现用于机器学习模型的、待与渲染图像进行比较的地面真值图像。机器学习模型可以将(基于采集到的图像的)用户面部的一部分的渲染尝试(即,合成图像)与地面真值图像进行比较。通过训练机器学习模型,该一个或多个计算系统可以使用该机器学习模型来合成多幅图像,以生成与用户面部的一部分(其与该多幅图像相关联)对应的合成图像。当对与合成图像相关联的纹理进行重投影时,可以在与采集到该地面真值图像的摄像头相同的摄像头位姿处,将纹理投影到3D面部模型上。作为示例而非限制,该一个或多个计算系统可以至少通过将合成图像从预定摄像头位姿投影到3D面部模型上,来使得用户的面部表示的输出被渲染。尽管本公开描述了以特定方式生成与用户面部的一部分对应的合成图像,但本公开考虑了以任何合适的方式生成与用户面部的一部分对应的合成图像。
在特定实施例中,该一个或多个计算系统可以将纹理图像与预定纹理混合。在特定实施例中,该纹理图像可以是采集到的用户面部的一部分的图像与该用户的3D面部模型之间的映射关系。该纹理图像可以由图像表示以投影到3D面部模型上,从而呈现用户面部的对应于该纹理图像的部分。作为示例而非限制,如果采集到的图像是用户嘴部的右侧的图像,则纹理图像可以呈现用户嘴部的右侧,以投影到3D面部模型上。所投影的纹理图像将是对用户的整个面部进行重投影的过程的一部分。例如,该一个或多个计算系统将接收采集到的用户嘴部的左侧的图像、用户右脸颊的图像、用户左脸颊的图像等,以确定采集到的这些图像与3D面部模型之间的映射关系,以将采集到的这些图像中的每一幅图像投影到3D面部模型上。在特定实施例中,预定纹理可以基于如下被访问的图像:该一个或多个计算系统可以基于用户的隐私设置来访问所述被访问的图像。该预定纹理可以表示用户面部的静态纹理。作为示例而非限制,该一个或多个计算系统可以检索用户面部的一幅或多幅图像,并且生成和/或确定用户面部的静态纹理。预定纹理可以表示用户的面部通常看起来是什么样子,例如面部特征所处的位置等。在特定实施例中,该一个或多个计算系统可以将该纹理图像与预定纹理混合。作为示例而非限制,给定一预定纹理,该一个或多个计算系统可以使纹理图像与预定纹理投影到3D面部模型上,以准确地反映当前时间的用户面部。例如,如果用户当前正在微笑,则纹理图像可以对应于用户嘴部和用户双眼,并且可以与用户面部的预定纹理混合。具有预定图像的混合后的纹理图像可以用于渲染正在人工现实环境中微笑的用户的面部表示。在特定实施例中,在渲染过程期间,该一个或多个计算系统可以对预定纹理上与用户的面部表示对应的一点进行采样,以识别与该点相关联的第一颜色。作为示例而非限制,该一个或多个计算系统可以对与用户鼻子对应的像素进行采样,以识别与鼻子对应的像素的颜色。在特定实施例中,该一个或多个计算系统可以对纹理图像上与预定纹理上的该点对应的另一点进行采样,以识别与该点相关联的另一颜色。作为示例而非限制,该一个或多个计算系统可以对纹理图像上与预定纹理对应的相同点进行采样。例如,如果在预定纹理上对与鼻子的一像素对应的点进行采样,则在纹理图像上对与该鼻子的相同像素对应的点进行采样。与预定纹理对应的样本的颜色和与纹理图像对应的样本的颜色可以不同。在特定实施例中,该一个或多个计算系统可以将与来自预定纹理的样本对应的颜色和与来自纹理图像的样本对应的颜色混合,以生成与对应于该样本的位置相关联的最终颜色。作为示例而非限制,如果预定纹理的样本是棕色的,并且纹理图像的样本是深棕色的,则该一个或多个计算系统可以混合这些颜色并生成介于棕色和深棕色之间的最终颜色。
图1示出了示例人工现实系统100。在特定实施例中,人工现实系统100可以包括头戴式设备104、控制器106和计算系统108。用户102可以佩戴头戴式设备104,该头戴式设备可以向用户102显示视觉人工现实内容。头戴式设备104可以包括音频设备,该音频设备可以向用户102提供音频人工现实内容。作为示例而非限制,头戴式设备104可以显示对应于虚拟会议的视觉人工内容和音频人工现实内容。头戴式设备104可以包括一个或多个摄像头,该一个或多个摄像头可以采集环境的图像和视频。头戴式设备104可以包括多个传感器,以确定用户102的头部姿势。头戴式设备104可以包括传声器,以接收来自用户102的音频输入。头戴式设备104可以被称为头戴式显示器(head-mounted display,HMD)。控制器106可以包括触控板和一个或多个按钮。控制器106可以接收来自用户102的输入,并将这些输入转发到计算系统108。控制器106也可以向用户102提供触觉反馈。计算系统108可以通过电缆或无线连接连接到头戴式设备104和控制器106。计算系统108可以控制头戴式设备104和控制器106来向用户102提供人工现实内容以及接收来自用户102的输入。计算系统108可以是独立主控计算机系统、与头戴式设备104集成的机载计算机系统、移动设备或能够向用户102提供人工现实内容及接收来自用户102的输入的任何其它硬件平台。
图2示出了示例人工现实系统200。人工现实系统200可以由用户佩戴,以向用户显示人工现实环境。人工现实系统可以包括显示器202a和202b,以向用户显示内容。作为示例而非限制,人工现实系统可以生成办公室空间的人工现实环境,并且渲染用户的化身,该化身包括该用户的面部表示。在特定实施例中,人工现实系统可以包括多个摄像头204、206a和206b。作为示例而非限制,人工现实系统200可以包括耦接到该人工现实系统200的多个由内向外的摄像头,以采集用户面部的各个部分的图像。作为示例而非限制,摄像头204可以采集用户面部的顶部部分和用户双眼的一部分。在特定实施例中,人工现实系统200可以将来自多个摄像头204、206a和206b的采集到的图像发送到另一计算系统。该另一计算系统可以对采集到的图像进行处理,以将数据(例如,映射关系、3D面部模型等)发送到另一人工现实系统200,以渲染用户的面部表示。尽管示出了人工现实系统200的特定数量的部件,但是人工现实系统200可以包括更多或更少的部件和/或处于不同的配置。作为示例而非限制,人工现实系统200可以包括附加的摄像头,并且所有摄像头204、206a和206b的配置可以变化以容纳该额外的摄像头。例如,可以存在两个附加的摄像头,并且摄像头206a和206b可以被定位为更加靠近显示器202a和202b。
图3示出了表示与用户面部相关的多个摄像头(例如,人工现实系统200的摄像头204、206a和206b)的环境300。在特定实施例中,几个角度302a至302c显示了与用户面部相关的多个摄像头304、306a和306b之间的距离。在特定实施例中,摄像头304、306a和306b可以耦接到未示出的人工现实系统。在特定实施例中,各个角度302a至302c显示了以特定的摄像头位姿距离用户面部特定距离处的摄像头304、306a和306b。在特定实施例中,该几个角度302a至302c描绘了与用户面部相关的摄像头304、306a和306b之间的大概距离。尽管摄像头304、306a和306b被示出为以特定方式被配置,但是摄像头304、306a和306b可以以不同的方式被重新配置。作为示例而非限制,摄像头306a和306b可以关于用户的面部被定位地更低,并且更靠近用户的面部。作为另一示例而非限制,可以存在附加的摄像头,并且摄像头304、306a和306b可以被重新定位以容纳所述附加的摄像头。
图4示出了由人工现实系统的多个摄像头采集到的多幅示例图像。作为示例而非限制,这些示例图像可以是由图3的摄像头304、306a和306b采集到的。在特定实施例中,摄像头304可以采集用户面部的一部分的图像402。在特定实施例中,图像402可以对应于用户面部的顶部部分。在特定实施例中,摄像头306a可以采集用户面部的一部分的图像404。在特定实施例中,图像404可以对应于用户的右眼。在特定实施例中,摄像头306b可以采集用户面部的一部分的图像406。在特定实施例中,图像406可以对应于用户的左眼。尽管图像402、404和406被示出为对应于用户面部的特定部分,但是基于与图像402、404和406相关联的相应摄像头,图像402、404和406可以对应于用户面部的不同部分。在特定实施例中,可以存在对应于用户面部的一部分的任何数量的图像。作为示例而非限制,可以存在被定位于用户面部的右侧的三个摄像头,以采集对应于用户面部的右侧的三幅图像。
图5A至图5C示出了来自人工现实系统的摄像头的示例重投影区域。在特定实施例中,示出了表示与用户面部相关的多个摄像头(例如,人工现实系统200的摄像头204、206a和206b)的环境500。参考图5A,来自摄像头(例如,摄像头204)的多个示例重投影区域被示出在表示与用户面部相关的多个摄像头的环境500a内。在特定实施例中,示出了几个角度502a至502c的重投影区域。在特定实施例中,在给定角度502a处,摄像头(例如,摄像头204)的重投影区域504可以包括用户的双侧脸颊之间的区域。在特定实施例中,在给定角度502b处,摄像头(例如,摄像头204)的重投影区域506可以包括小幅包围用户的鼻子的区域。在特定实施例中,在给定角度502c处,摄像头(例如,摄像头204)的重投影区域508可以包括从用户的前额到用户的鼻尖的区域。在特定实施例中,除了以不同角度502a至502c示出重投影区域之外,重投影区域504、506和508可以全部对应于同一重投影区域。在特定实施例中,在该一个或多个计算系统确定了采集到的图像之间的映射关系(例如,图像402与图5A所示的3D面部模型或网格之间的映射关系)之后,则该一个或多个计算系统可以通过将纹理图像投影到与采集到图像的摄像头对应的重投影区域504、506和508上,来使得人工现实系统渲染用户面部的面部表示。尽管针对特定摄像头示出了示例重投影区域504、506和508,但是该摄像头可以具有不同的重投影区域。作为示例而非限制,摄像头可以具有更宽的视场并且包括更大的重投影区域。作为另一示例而非限制,如果存在附加的摄像头,则该重投影区域可以更小。
参考图5B,来自多个摄像头(例如,摄像头206a和206b)的示例重投影区域被示出在环境500b内,该环境表示与用户面部相关的多个摄像头。在特定实施例中,示出了几个角度502a至502c的重投影区域。在特定实施例中,在给定角度502a处,多个摄像头(例如,摄像头206a和206b)的重投影区域510a和510b可以包括对应于用户双眼的区域。在特定实施例中,在给定角度502b处,多个摄像头(例如,摄像头206a和206b)的重投影区域512a和512b可以包括用户鼻子与用户双眼之间的区域。在特定实施例中,在给定角度502c处,多个摄像头(例如,摄像头206a和206b)的重投影区域514a和514b(仅示出了重投影区域514a)可以包括从用户双眼的顶部到用户双眼的底部的区域。在特定实施例中,除了以不同角度502a至502c示出重投影区域之外,重投影区域510a、510b、512a、512b、514a和514b可以全部对应于相同的重投影区域。在特定实施例中,在该一个或多个计算系统确定了采集到的图像之间的映射关系(例如,图像404和406与如图5B所示的3D面部模型或网格之间的映射关系)之后,则该一个或多个计算系统可以通过将纹理图像投影到与采集到该图像的摄像头对应的重投影区域510a、510b、512a、512b、514a和514b上,来使人工现实系统渲染用户面部的面部表示。尽管针对特定摄像头示出了示例重投影区域510a、510b、512a、512b、514a和514b,但是该摄像头可以具有不同的重投影区域。作为示例而非限制,摄像头可以具有更宽的视场并且包括更大的重投影区域。作为另一示例而非限制,如果存在附加的摄像头,则该重投影的区域可以更小。
图6示出了从不同视角来看的3D模型的示例二维(two-dimensional,2D)图像。在特定实施例中,图像602可以表示用户面部的真实世界视图。在特定实施例中,图像604可以表示基于图像602中所示的面部并且使用具有窄视场的摄像头的示例2D渲染图像。作为示例而非限制,多个摄像头可以采集用户面部的各个部分的图像。这些采集到的图像可以用于确定映射关系或图像604中所示的纹理图像。在特定实施例中,图像606可以表示基于图像602中所示的面部并且使用具有更宽视场的摄像头的示例2D渲染图像。在特定实施例中,图像608可以表示用户面部的另一真实世界视图。在特定实施例中,图像610可以表示基于图像608中所示的面部并且使用具有窄视场的摄像头的示例2D渲染图像。在特定实施例中,图像612可以表示基于图像608中所示的面部并且使用具有更宽视场的摄像头的示例2D渲染图像。
图7A和图7B示出了将面部表示重投影到3D模型上的示例过程700。参考图7A,在特定实施例中,该过程700可以从纹理图像702或纹理图像704开始,该纹理图像702或纹理图像704是如本文所述的根据采集到的图像和3D面部模型710而确定的。在特定实施例中,纹理图像702或704可以与预定纹理706混合。如本文所述的,可以基于用户面部的多个图像来生成该预定纹理706。在特定实施例中,纹理图像702或704与预定纹理706的混合可以生成新纹理708。参考图7B,可以通过将新纹理708投影到3D面部模型710上来继续过程700。在特定实施例中,将新纹理708投影到3D面部模型710上的结果可以是图像712,在该图像712中示出了用户的面部表示,该面部表示具有被投影到3D面部模型710上的新纹理708。在特定实施例中,纹理图像702或704与预定纹理706之间的混合是明显的。在特定实施例中,在重投影过程700期间,渲染面部表示的人工现实系统可以将纹理图像702或704与预定纹理706以如下的方式混合:消除两种纹理之间的鲜明对比。
图8示出了人工现实环境800中的示例计算系统802。在特定实施例中,计算系统802可以被实现为增强现实头戴式设备、虚拟现实头戴式设备、服务器、社交网络系统、第三方系统或它们的组合。尽管被示出为单独的计算系统802,但是计算系统802可以由如本文所述的一个或多个计算系统来表示。在特定实施例中,计算系统802可以与一个或多个人工现实系统(例如,增强现实头戴式设备、虚拟现实头戴式设备等)连接。在特定实施例中,计算系统802可以包括输入模块804、特征识别模块806、摄像头位姿确定模块808、映射模块810、合成模块812、变形模块814和重投影模块816。
在特定实施例中,输入模块804可以与人工现实环境800中的一个或多个人工现实系统连接,以接收输入数据。在特定实施例中,输入数据可以被实现为来自一个或多个人工现实系统的采集到的图像。作为示例而非限制,人工现实系统可以采集来自由内向外的摄像头的、用户面部的多个部分的图像,并且将采集到的图像发送到如本文所述的计算系统802。输入模块804可以将采集到的图像发送到计算系统802的其它模块。作为示例而非限制,输入模块804可以将输入数据发送到特征识别模块806、映射模块810和/或合成模块812。
在特定实施例中,特征识别模块806可以根据从输入模块804接收到的输入数据,来识别一个或多个面部特征。在特定实施例中,特征识别模块806可以执行面部特征识别过程。在特定实施例中,特征识别模块806可以使用机器学习模型来识别采集到的图像内的一个或多个面部特征。在特定实施例中,采集到的图像可与特定摄像头相关联。作为示例而非限制,采集到的图像可以与耦接到人工现实系统的顶部摄像头相关联(例如,由该顶部摄像头采集到)。特征识别模块806可以使用该信息来减少要识别的面部特征的数量。作为示例而非限制,如果采集到的图像来自顶部摄像头,则特征识别模块806将尝试识别与用户双眼、用户鼻子和位于用户面部的上半部分上的其它面部特征对应的面部特征。在特定实施例中,特征识别模块可以识别与所识别的面部特征相关联的位置。在特定实施例中,特征识别模块806可以将特征识别过程的结果发送到计算系统802的其它模块。作为示例而非限制,特征识别模块806可以将结果发送到摄像头位姿确定模块808和/或变形模块814。
在特定实施例中,摄像头位姿确定模块808可以确定采集到如下图像的摄像头的摄像头位姿:该图像与特征识别模块806所发送的所识别的面部特征结果相关联。在特定实施例中,如本文所述的,摄像头位姿确定模块808可以访问用户的3D面部模型。摄像头位姿确定模块808可以将所识别的采集到的图像中的面部特征的位置与3D面部模型中的预定特征位置进行比较,以便确定与采集到的图像对应的摄像头位姿。在特定实施例中,如果摄像头位姿确定模块808接收到对应于多个摄像头的多个面部特征结果,则摄像头位姿确定模块808可以确定采集到被发送至计算系统的图像的每个摄像头的摄像头位姿。在确定了一个或多个摄像头位姿之后,摄像头位姿确定模块808可以将所确定的与一幅或多幅采集到的图像相关联的一个或多个摄像头位姿发送到计算系统802的其它模块。作为示例而非限制,摄像头位姿确定模块808可以将所确定的一个或多个摄像头位姿发送到映射模块810。
在特定实施例中,映射模块810可以通过将来自输入模块804的采集到的图像从与该采集到的图像对应的所确定的摄像头位姿投影到3D面部模型上,来确定采集到的图像与用户面部的3D面部模型之间的映射关系。在特定实施例中,映射模块810可以将多幅采集到的图像投影到3D面部模型上,以确定多幅采集到的图像与3D面部模型之间的映射关系。在特定实施例中,映射模块810可以将所确定的映射关系发送到计算系统802的其它模块。作为示例而非限制,映射模块810可以将映射关系发送到重投影模块816。
在特定实施例中,合成模块812可以接收来自输入模块804的、与用户面部的一部分的多幅图像对应的输入数据。作为示例而非限制,合成模块812可以接收用户双眼的多个图像。在特定实施例中,如本文所述的,合成模块812可以将多幅图像合成为合成图像。合成模块812可将合成图像发送到计算系统802的其它模块。作为示例而非限制,合成模块812可以将合成图像发送到重投影模块816和/或映射模块810。在特定实施例中,如本文所述的,映射模块810可以确定合成图像与3D面部模型之间的映射关系。
在特定实施例中,变形模块814可以接收来自特征识别模块806的所识别的面部特征结果。在特定实施例中,变形模块814可以访问表示用户面部的3D面部模型。在特定实施例中,如本文所述的,变形模块814可以对3D面部模型进行变形。作为示例而非限制,变形模块814可以使用与3D面部模型相比较的所识别的面部特征,来确定该3D面部模型是否需要变形。例如,如果变形模块814确定用户鼻子距离下巴3英寸,并且3D面部模型在该鼻子和该下巴之间具有2.7英寸的距离,则变形模块814可以对3D面部模型进行变形,以将3D面部模型的鼻子和下巴之间的距离改变为3英寸。在特定实施例中,变形模块814可以将变形后的3D面部模型的结果发送到计算系统802的其它模块。作为示例而非限制,变形模块814可以将变形后的3D面部模型发送到映射模块810和/或重投影模块816。在特定实施例中,映射模块810可以使用变形后的3D面部模型来确定采集到的图像与变形后的3D面部模型(而不是原始3D面部模型)之间的映射关系。
在特定实施例中,重投影模块816可以接收来自映射模块的映射关系。在特定实施例中,重投影模块816可以与一个或多个人工现实系统连接。在特定实施例中,重投影模块816可以生成如下的指令:所述指令使人工现实系统基于采集到的图像与3D面部模型(变形后的或未变形的)之间的映射关系,来渲染用户的面部表示的输出图像。在特定实施例中,重投影模块816可以生成重投影包以发送给人工现实系统,该重投影包可以包括映射关系、用户的3D面部模型以及基于映射关系和3D面部模型来渲染用户的面部表示的指令。
图9示出了用于将面部表示重投影到面部模型上的示例方法900。方法900可以从步骤910处开始,在该步骤910中,一个或多个计算系统可以接收第一用户的面部的一部分的图像。在特定实施例中,该图像可以是由耦接到第一用户所佩戴的人工现实头戴式设备的摄像头采集到的。在步骤920处,该一个或多个计算系统可以访问表示第一用户的面部的三维(3D)面部模型。在步骤930处,该一个或多个计算系统可以识别图像中描绘的一个或多个面部特征。在步骤940处,该一个或多个计算系统可以基于所识别的在图像中的一个或多个面部特征和3D面部模型上的预定特征位置,来确定相对于3D面部模型的摄像头位姿。在步骤950处,该一个或多个计算系统可以通过将第一用户的面部的该一部分的图像从该摄像头位姿投影到3D面部模型上,来确定该图像与该3D面部模型之间的映射关系。在步骤960处,该一个或多个计算系统可以至少使用3D面部模型以及图像与该3D面部模型之间的映射关系,来渲染第一用户的面部表示的输出图像。在适当的情况下,特定实施例可以重复图9的方法中的一个或多个步骤。尽管本公开将图9的方法中的特定步骤描述和示出为以特定顺序发生,但是本公开考虑了图9的方法中以任何合适的顺序发生的任何合适的步骤。此外,尽管本公开描述并示出了用于将面部表示重投影到面部模型上的示例方法(包括图9的方法中的具体步骤),但是本公开考虑了将面部表示重投影到面部模型上的、包括任何合适的步骤的任何合适的方法,在适当的情况下,该方法可以包括图9的方法中的所有步骤、一些步骤或者可以不包括图9的方法中的任何步骤。此外,尽管本公开描述并示出了执行图9的方法中的特定步骤的特定部件、设备或系统,但是本公开考虑了执行图9的方法中的任何合适的步骤的任何合适的部件、设备或系统的任何合适的组合。
图10示出了与虚拟现实系统相关联的示例网络环境1000。网络环境1000包括正与客户端系统1030交互的用户1001、社交网络系统1060和第三方系统1070,该客户端系统1030、社交网络系统1060和第三方系统1070通过网络1010彼此连接。尽管图10示出了用户1001、客户端系统1030、社交网络系统1060、第三方系统1070和网络1010的特定布置,但是本公开考虑了用户1001、客户端系统1030、社交网络系统1060、第三方系统1070和网络1010的任何合适的布置。作为示例而非限制,用户1001、客户端系统1030、社交网络系统1060和第三方系统1070中的两者或更多者可以绕过网络1010而彼此直接连接。作为另一示例,客户端系统1030、社交网络系统1060和第三方系统1070中的两者或更多者可以在物理上或逻辑上整体或部分地彼此位于一处。此外,尽管图10示出了特定数量的用户1001、客户端系统1030、社交网络系统1060、第三方系统1070和网络1010,但是本公开考虑了任何合适数量的客户端系统1030、社交网络系统1060、第三方系统1070和网络1010。作为示例而非限制,网络环境1000可以包括多个用户1001、多个客户端系统1030、多个社交网络系统1060、多个第三方系统1070以及多个网络1010。
本公开考虑了任何合适的网络1010。作为示例而非限制,网络1010的一个或多个部分可以包括自组网、内联网、外联网、虚拟专用网络(virtual private network,VPN)、局域网(local area network,LAN)、无线局域网(wireless LAN,WLAN)、广域网(wide areanetwork,WAN)、无线广域网(wireless WAN,WWAN)、城域网(metropolitan area network,MAN)、因特网的一部分、公共交换电话网络(Public Switched Telephone Network,PSTN)的一部分、蜂窝电话网络或这些网络中的两者或更多者的组合。网络1010可以包括一个或多个网络1010。
多条链路1050可以将客户端系统1030、社交网络系统1060和第三方系统1070连接到通信网络1010或使客户端系统1030、社交网络系统1060和第三方系统1070彼此连接。本公开考虑了任何合适的链接1050。在特定实施例中,一条或多条链路1050包括一条或多条有线(例如,数字用户线路(Digital Subscriber Line,DSL)或电缆数据服务接口规范(Data Over Cable Service Interface Specification,DOCSIS))链路、一条或多条无线(例如,Wi-Fi或全球微波互联接入(Worldwide Interoperability for MicrowaveAccess,WiMAX))链路、或一条或多条光学(例如,同步光网络(Synchronous OpticalNetwork,SONET)或同步数字体系(Synchronous Digital Hierarchy,SDH)))链路。在特定实施例中,一条或多条链路1050各自包括自组网、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、因特网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一条链路1050、或两条或更多条此类链路1050的组合。在整个网络环境1000中,多条链路1050不必都是相同的。一条或多条第一链路1050在一个或多个方面可以不同于一条或多条第二链路1050。
在特定实施例中,客户端系统1030可以是如下的电子设备:该电子设备包括硬件、软件或嵌入式逻辑部件或两个或更多个此类部件的组合,并且能够执行客户端系统1030所实现或支持的适当功能。作为示例而非限制,客户端系统1030可以包括计算机系统,该计算机系统例如为,台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、GPS设备、摄像头、个人数字助理(personal digital assistant,PDA)、手持电子设备、蜂窝电话、智能电话、虚拟现实头戴式设备和控制器、其它合适的电子设备或它们的任何合适的组合。本公开考虑了任何合适的客户端系统1030。客户端系统1030可以使客户端系统1030处的网络用户能够访问网络1010。客户端系统1030可以使其用户能够与其它客户端系统1030处的其他用户通信。客户端系统1030可以生成虚拟现实环境以供用户与内容交互。
在特定实施例中,客户端系统1030可以包括虚拟现实(或增强现实)头戴式设备1032、以及一个或多个虚拟现实输入设备1034(例如,虚拟现实控制器)。客户端系统1030处的用户可以佩戴虚拟现实头戴式设备1032,并使用该一个或多个虚拟现实输入设备来与虚拟现实头戴式设备1032生成的虚拟现实环境1036进行交互。尽管未示出,但是客户端系统1030还可以包括单独的处理计算机、和/或虚拟现实系统的任何其它部件。虚拟现实头戴式设备1032可以生成虚拟现实环境1036,该虚拟现实环境可以包括系统内容1038(包括但不限于操作系统),该系统内容例如为,软件或固件更新,并且该虚拟现实环境还包括第三方内容1040,该第三方内容例如为,来自应用程序的内容或从因特网动态下载的内容(例如,网页内容)。虚拟现实头戴式设备1032可以包括一个或多个传感器1042(例如,加速度计、陀螺仪、磁力计)以生成追踪头戴式视图器设备1032的位置的传感器数据。头戴式设备1032还可以包括眼动追踪器,该眼动追踪器用于追踪用户的眼睛的位置或用户的观看方向。客户端系统可以使用来自该一个或多个传感器1042的数据,来确定相对于头戴式设备的速度、方位和重力。一个或多个虚拟现实输入设备1034可以包括一个或多个传感器1044(例如,加速度计、陀螺仪、磁力计和触摸传感器)以生成追踪输入设备1034的位置和用户手指的位置的传感器数据。客户端系统1030可以使用由外向内的追踪,在该由外向内的追踪中,追踪摄像头(未示出)被放置在虚拟现实头戴式设备1032的外部并且处于虚拟现实头戴式设备1032的视线内。在由外向内的追踪中,追踪摄像头可以追踪虚拟现实头戴式设备1032的位置(例如,通过追踪虚拟现实头戴式设备1032上的一个或多个红外发光二极管(LED)标记)。替代地或附加地,客户端系统1030可以利用由内向外的追踪,在该由内向外的追踪中,追踪摄像头(未示出)可以被放置在虚拟现实头戴式设备1032上或虚拟现实头戴式设备1032自身的内部。在由内向外的追踪中,追踪摄像头可以采集真实世界中在该追踪摄像头周围的图像,并且可以使用真实世界的变化的视角来确定该追踪摄像头自身在空间中的位置。
第三方内容1040可以包括网页(web)浏览器并且可以具有一个或多个附加组件、插件或其它扩展。客户端系统1030处的用户可以输入统一资源定位符(Uniform ResourceLocator,URL)或将web浏览器引导到特定服务器(例如,服务器1062或与第三方系统1070相关联的服务器)的其它地址,并且web浏览器可以生成超文本传输协议(Hyper TextTransfer Protocol,HTTP)请求,并将该HTTP请求传送到服务器。服务器可以接受该HTTP请求,并且响应于该HTTP请求向客户端系统1030传送一个或多个超文本标记语言(HyperText Markup Language,HTML)文件。客户端系统1030可以基于来自服务器的HTML文件来渲染网络界面(例如,网页)以供呈现给用户。本公开考虑了任何合适的源文件。作为示例而非限制,根据特定需要,网络界面可以是根据HTML文件、可扩展超文本标记语言(ExtensibleHyper Text Markup Language,XHTML)文件、或可扩展标记语言(Extensible MarkupLanguage,XML)文件而渲染的。此类界面还可以执行脚本、标记语言和脚本的组合等。本文中,在适当的情况下,对网络界面的引用涵盖一个或多个对应的源文件(浏览器可以使用该一个或多个对应的源文件来渲染网络界面),反之亦然。
在特定实施例中,社交网络系统1060可以是可控制在线社交网络的网络可寻址计算系统。社交网络系统1060可以生成、存储、接收和发送社交网络数据,该社交网络数据例如为,用户简档数据、概念简档数据、社交图谱信息、或与在线社交网络相关的其它合适的数据。社交网络系统1060可以由网络环境1000中的其它部件直接地访问或经由网络1010访问。作为示例而非限制,客户端系统1030可以使用第三方内容1040中的web浏览器或与社交网络系统1060相关联的本地应用程序(例如,移动社交网络应用程序、消息传送应用程序、另一合适的应用程序或它们的任何组合),来直接地或经由网络1010访问社交网络系统1060。在特定实施例中,社交网络系统1060可以包括一个或多个服务器1062。每个服务器1062可以是单一服务器或跨多个计算机或多个数据中心的分布式服务器。服务器1062可以是多种多样的,例如但不限于,web服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适合于执行本文中所描述的功能或过程的另一服务器、或它们的任何组合。在特定实施例中,每个服务器1062可以包括用于执行由服务器1062实现或支持的适当功能的硬件、软件或嵌入式逻辑部件、或者两个或更多个此类部件的组合。在特定实施例中,社交网络系统1060可以包括一个或多个数据存储区1064。数据存储区1064可以用于存储各种类型的信息。在特定实施例中,可以根据特定的数据结构来组织存储在数据存储区1064中的信息。在特定实施例中,每个数据存储区1064可以是关系数据库、列式数据库、关联数据库(correlation database)或其它合适的数据库。尽管本公开描述或示出了特定类型的数据库,但是本公开考虑了任何合适类型的数据库。特定实施例可以提供多个接口,该多个接口使客户端系统1030、社交网络系统1060或第三方系统1070能够对存储在数据存储区1064中的信息进行管理、检索、修改、添加或删除。
在特定实施例中,社交网络系统1060可以在一个或多个数据存储区1064中存储一个或多个社交图谱。在特定实施例中,社交图谱可以包括多个节点——这些节点可以包括多个用户节点(每个用户节点对应于一特定用户)或多个概念节点(每个概念节点对应于一特定概念)—以及连接这些节点的多条边。社交网络系统1060可以向在线社交网络的用户提供与其他用户通信和交互的能力。在特定实施例中,用户可以经由社交网络系统1060加入在线社交网络,然后向社交网络系统760中他们想要联系的一些其他用户添加联系(例如,关系)。本文中,术语“朋友”可以指社交网络系统1060中用户已经经由社交网络系统1060与其形成了联系、关联或关系的任何其他用户。
在特定实施例中,社交网络系统1060可以向用户提供在社交网络系统1060支持的各种类型的项目或对象采取行动的能力。作为示例而非限制,这些项目和对象可以包括社交网络系统1060的用户可能所属的群组或社交网络、用户可能感兴趣的事件或日历条目、用户可能使用的基于计算机的应用程序、允许用户经由服务购买或出售项目的交易、用户可能执行的与广告的交互、或其它合适的项目或对象。用户可以与能够在社交网络系统1060中表示的任何事物交互、或者与能够由第三方系统1070的外部系统表示的任何事物交互,该第三方系统1070与社交网络系统1060分离,并经由网络1010耦接到社交网络系统1060。
在特定实施例中,社交网络系统1060可以能够链接各种实体。作为示例而非限制,社交网络系统1060可以使多个用户能够彼此交互以及从第三方系统1070或其它实体接收内容,或者允许用户通过应用赓续编程接口(application programming interface,API)或其它通信信道与这些实体交互。
在特定实施例中,第三方系统1070可以包括一种或多种类型的服务器、一个或多个数据存储区、一个或多个接口(包括但不限于API)、一个或多个web服务、一个或多个内容源、一个或多个网络、或任何其它合适的部件(例如,服务器可以与这些部件通信)。可以由与操作社交网络系统1060的实体不同的实体来操作第三方系统1070。然而,在特定实施例中,社交网络系统1060和第三方系统1070可以彼此协同运行,以向社交网络系统1060的用户或第三方系统1070提供社交网络服务。在这个意义上,社交网络系统1060可以提供平台或主干网络,其它系统(例如,第三方系统1070)可以使用该平台或主干网络来向因特网上的用户提供社交网络服务和功能。
在特定实施例中,第三方系统1070可以包括第三方内容对象提供者。第三方内容对象提供者可以包括一个或多个内容对象源,该一个或多个内容对象源可以被传送到客户端系统1030。作为示例而非限制,内容对象可以包括关于用户感兴趣的事物或活动的信息,这些信息例如为,电影放映时间、电影评论、餐厅评论、餐厅菜单、产品信息和评论、或其它合适的信息。作为另一示例而非限制,内容对象可以包括激励内容对象,这些激励内容对象例如为,优惠券、折扣券、礼品券、或其它合适的激励对象。
在特定实施例中,社交网络系统1060还包括用户生成的内容对象,这可以增强用户与社交网络系统1060的交互。用户生成的内容可以包括用户可以添加、上传、发送、或“发布”到社交网络系统1060的任何内容。作为示例而非限制,用户将帖子从客户端系统1030传送到社交网络系统1060。帖子可以包括诸如状态更新或其它文本数据、位置信息、照片、视频、链接、音乐或其它类似数据或媒体等数据。也可以由第三方通过诸如新闻推送或流等“通信信道”将内容添加到社交网络系统1060。
在特定实施例中,社交网络系统1060可以包括各种服务器、子系统、程序、模块、日志和数据存储区。在特定实施例中,社交网络系统1060可以包括以下各项中的一项或多项:web服务器、动作记录器(action logger)、API请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象曝光日志、推断模块、授权/隐私服务器、搜索模块、广告定向模块、用户界面模块、用户简档存储区、联系存储区、第三方内容存储区或位置存储区。社交网络系统1060还可以包括合适的部件,这些合适的部件例如为,网络界面、安全机制、负载平衡器、故障转移服务器、管理和网络操作控制台、其它合适的部件、或它们的任何合适的组合。在特定实施例中,社交网络系统1060可以包括用于存储用户简档的一个或多个用户简档存储区。用户简档可以包括例如生物信息、人口统计信息、行为信息、社交信息、或其它类型的描述性信息(例如,工作经历、教育历史、爱好或偏好、兴趣、密切关系、或位置)。兴趣信息可以包括与一个或多个类别相关的兴趣。这些类别可以是通用的或特定的。作为示例而非限制,如果用户“喜欢”关于一鞋品牌的文章,则类别可以是该品牌,或通用类别“鞋”或“衣服”。联系存储区可以用于存储关于用户的联系信息。联系信息可以指示具有相似或共同工作经历、组成员资格、爱好、教育历史、或以任何方式与共同属性相关或共享共同属性的用户。联系信息还可以包括不同用户和内容(内部和外部两者)之间的用户定义的联系。web服务器可以用于经由网络1010将社交网络系统1060链接至一个或多个客户端系统1030或一个或多个第三方系统1070。web服务器可以包括邮件服务器或用于在社交网络系统1060与一个或多个客户端系统1030之间接收和发送消息的其它消息传递功能。API请求服务器可以允许第三方系统1070通过调用一个或多个API来从社交网络系统1060访问信息。动作记录器可以用于接收来自web服务器的关于用户在社交网络系统1060上或在社交网络系统1060外的动作的通信。结合动作日志,可以维护关于用户暴露于第三方内容对象的第三方内容对象日志。通知控制器可以向客户端系统1030提供关于内容对象的信息。可以将信息作为通知推送到客户端系统1030,或者可以响应于接收到的来自客户端系统1030的请求而从客户端系统1030拉取信息。授权服务器可以用于执行社交网络系统1060的用户的一个或多个隐私设置。用户的隐私设置确定了如何可以共享与用户相关联的特定信息。授权服务器可以允许用户例如通过设置适当的隐私设置,选择让或不让他们的动作被社交网络系统1060记录或与其它系统(例如,第三方系统1070)共享。第三方内容对象存储区可以用于存储从第三方(诸如第三方系统1070)接收到的内容对象。位置存储区可以用于存储从与用户相关联的客户端系统1030接收到的位置信息。广告定价模块可以将社交信息、当前时间、位置信息或其它合适的信息组合,以便以通知形式向用户提供相关广告。
图11示出了示例计算机系统1100。在特定实施例中,一个或多个计算机系统1100执行本文所描述或示出的一种或多种方法种的一个或多个步骤。在特定实施例中,一个或多个计算机系统1100提供本文所描述或示出的功能。在特定实施例中,在一个或多个计算机系统1100上运行的软件执行本文所描述或示出的一种或多种方法中的一个或多个步骤,或者提供本文所描述或示出的功能。特定实施例包括一个或多个计算机系统1100的一个或多个部分。在本文中,在适当情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或多个计算机系统。
本公开考虑了任何合适数量的计算机系统1100。本公开考虑了采用任何合适的物理形式的计算机系统1100。作为示例而非限制,计算机系统1100可以是嵌入式计算机系统、片上系统(system-on-chip,SOC)、单板计算机系统(single-board computer system,SBC)(例如,计算机模块(computer-on-module,COM)或系统模块(system-on-module,SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式自助服务机、大型机、计算机系统组网、移动电话、个人数字助理(personal digital assistant,PDA)、服务器、平板计算机系统、或这些计算机系统中的两者或两者以上的组合。在适当的情况下,计算机系统1100可以包括一个或多个计算机系统1100;计算机系统1100可以是单一的或分布式的;跨多个位置的;跨多台机器的;跨多个数据中心的;或者位于云端(该云端可以包括一个或多个网络中的一个或多个云端组件)中。在适当的情况下,一个或多个计算机系统1100可以在没有大量的空间或时间限制的情况下,执行本文所描述或示出的一种或多种方法中的一个或多个步骤。作为示例而非限制,一个或多个计算机系统1100可以实时或以批处理模式执行本文所描述或示出的一种或多种方法中的一个或多个步骤。在适当的情况下,一个或多个计算机系统1100可以在不同的时间或在不同的位置执行本文所描述或示出的一种或多种方法中的一个或多个步骤。
在特定实施例中,计算机系统1100包括处理器1102、存储器(memory)1104、存储装置(storage)1106、输入/输出(input/output,I/O)接口1108、通信接口1110和总线1112。尽管本公开描述并示出了具有处于特定布置的特定数量的特定部件的特定计算机系统,但本公开考虑了具有处于任何合适的布置的任何合适数量的任何合适部件的任何合适的计算机系统。
在特定实施例中,处理器1102包括用于执行多个指令的硬件,这些指令例如为,构成计算机程序的那些指令。作为示例而非限制,为了执行多个指令,处理器1102可以从内部寄存器、内部高速缓冲存储器、存储器1104或存储装置1106检索(或读取)这些指令;解码并执行这些指令;然后将一个或多个结果写入内部寄存器、内部高速缓冲存储器、存储器1104或存储装置1106。在特定实施例中,处理器1102可以包括用于数据、指令或地址的一个或多个内部高速缓冲存储器。在适当的情况下,本公开考虑了包括任何合适数量的任何合适的内部高速缓冲存储器的处理器1102。作为示例而非限制,处理器1102可以包括一个或多个指令高速缓冲存储器、一个或多个数据高速缓冲存储器、和一个或多个转译后备缓冲器(translation lookaside buffer,TLB)。指令高速缓冲存储器中的多个指令可以是存储器1104或存储装置1106中的多个指令的副本,并且指令高速缓冲存储器可以加速处理器1102对那些指令的检索。数据高速缓冲存储器中的数据可以是存储器1104或存储装置1106中的数据的副本,以供在处理器1102处执行的指令对其进行操作;在处理器1102处执行的先前指令的结果,用于供在处理器1102处执行的后续指令访问、或用于写入存储器1104或存储装置1106;或者数据高速缓冲存储器中的数据可以是其它合适的数据。数据高速缓冲存储器可以加速处理器1102的读取操作或写入操作。多个TLB可以加速处理器1102的虚拟地址转换。在特定实施例中,处理器1102可以包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开考虑了包括任何合适数量的任何合适的内部寄存器的处理器1102。在适当的情况下,处理器1102可以包括一个或多个算术逻辑单元(arithmetic logicunit,ALU);处理器1102可以是多核处理器、或包括一个或多个处理器1102。尽管本公开描述和示出了特定的处理器,但本公开考虑了任何合适的处理器。
在特定实施例中,存储器1104包括主存储器,该主存储器用于存储供处理器1102执行的指令或供处理器1102操作的数据。作为示例而非限制,计算机系统1100可以将多个指令从存储装置1106或另一个源(例如,另一个计算机系统1100)加载到存储器1104。然后,处理器1102可以将这些指令从存储器1104加载到内部寄存器或内部高速缓冲存储器。为了执行这些指令,处理器1102可以从内部寄存器或内部高速缓冲存储器中检索这些指令并对它们进行解码。在这些指令的执行期间或之后,处理器1102可以将一个或多个结果(该一个或多个结果可以使中间结果或最终结果)写入到内部寄存器或内部高速缓冲存储器。然后,处理器1102可以将那些结果中的一个或多个结果写入存储器1104。在特定实施例中,处理器1102仅执行一个或多个内部寄存器或一个或多个内部高速缓冲存储器中的、或存储器1104(与存储装置1106不同或其它位置)中的指令,并且仅对一个或多个内部寄存器或一个或多个内部高速缓冲存储器中的、或存储器1104(与存储装置1106不同或其它位置)中的数据进行操作。一条或多条存储器总线(每条存储器总线可以包括地址总线和数据总线)可以将处理器1102耦接到存储器1104。如下所述,总线1112可以包括一条或多条存储器总线。在特定实施例中,一个或多个存储器管理单元(memory management unit,MMU)位于处理器1102和存储器1104之间,并且促进处理器1102所请求的对存储器1104的访问。在特定实施例中,存储器1104包括随机存取存储器(random access memory,RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(dynamic RAM,DRAM)或静态RAM(static RAM,SRAM)。此外,在适当的情况下,该RAM可以是单端口RAM或多端口RAM。本公开考虑了任何合适的RAM。在适当的情况下,存储器1104可以包括一个或多个存储器1104。尽管本公开描述和示出了特定的存储器,但本公开考虑了任何合适的存储器。
在特定实施例中,存储装置1106包括用于数据或指令的大容量存储装置。作为示例而非限制,存储装置1106可以包括硬盘驱动器(hard disk drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带、或通用串行总线(Universal Serial Bus,USB)驱动器、或这些存储装置中的两者或两者以上的组合。在适当的情况下,存储装置1106可以包括可移动介质或不可移动(或固定)介质。在适当的情况下,存储装置1106可以在计算机系统1100的内部或外部。在特定实施例中,存储装置1106是非易失性固态存储器。在特定实施例中,存储装置1106包括只读存储器(read-only memory,ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、电可擦除PROM(electrically erasable PROM,EEPROM)、电可改写ROM(electrically alterableROM,EAROM)或闪存,或这些ROM中的两者或更多者的组合。本公开考虑了采用任何合适的物理形式的大容量的存储装置1106。在适当的情况下,存储装置1106可以包括促进处理器1102和存储装置1106之间的通信的一个或多个存储控制单元。在适当的情况下,存储装置1106可以包括一个或多个存储装置1106。尽管本公开描述和示出了特定的存储装置,但是本公开考虑了任何合适的存储装置。
在特定实施例中,I/O接口1108包括硬件、软件或硬件和软件这两者,该硬件、软件或硬件和软件这两者提供用于计算机系统1100与一个或多个I/O装置之间的通信的一个或多个接口。在适当的情况下,计算机系统1100可以包括这些I/O装置中的一个或多个I/O装置。这些I/O装置中的一个或多个I/O装置可以实现个人和计算机系统1100之间的通信。作为示例而非限制,I/O装置可以包括键盘、小键盘、传声器、监视器、鼠标、打印机、扫描仪、扬声器、静态摄像头、触控笔、输入板、触摸屏、跟踪球、摄像机、另一合适的I/O装置、或这些I/O装置中的两者或两者以上的组合。I/O装置可以包括一个或多个传感器。本公开考虑了任何合适的I/O装置和用于这些I/O装置的任何合适的I/O接口1108。在适当的情况下,I/O接口1108可以包括使处理器1102能够驱动这些I/O装置中的一个或多个I/O装置的一个或多个装置或软件驱动器。在适当的情况下,I/O接口1108可以包括一个或多个I/O接口1108。尽管本公开描述和示出了特定的I/O接口,但是本公开考虑了任何合适的I/O接口。
在特定实施例中,通信接口1110包括硬件、软件、或硬件和软件这两者,该硬件、软件、或硬件和软件这两者提供一个或多个接口,该一个或多个接口用于计算机系统1100与一个或多个其它计算机系统1100或一个或多个网络之间的通信(例如,基于数据包的通信)。作为示例而非限制,通信接口1110可以包括用于与以太网或其他基于线路的网络通信的网络接口控制器(network interface controller,NIC)或网络适配器,或用于与诸如WI-FI网络等无线网络通信的无线NIC(wireless NIC,WNIC)或无线适配器。本公开考虑了任何合适的网络和用于该网络的任何合适的通信接口1110。作为示例而非限制,计算机系统1100可以与自组网、个人区域网(personal area network,PAN)、局域网(local areanetwork,LAN)、广域网(wide area network,WAN)、城域网(metropolitan area network,MAN)、或因特网的一个或多个部分、或这些网络中的两者或两者以上的组合进行通信。这些网络中的一个或多个网络的一个或多个部分可以是有线或无线的。作为示例,计算机系统1100可以与无线PAN(wireless PAN,WPAN)(例如,蓝牙(BLUETOOTH)WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(Global System for MobileCommunication,GSM)网络)、或其他合适的无线网络、或这些网络中的两者或两者以上的组合进行通信。在适当的情况下,计算机系统1100可以包括用于这些网络中的任一者的任何合适的通信接口1110。在适当的情况下,通信接口1110可以包括一个或多个通信接口1110。尽管本公开描述和示出了特定的通信接口,但本公开考虑了任何合适的通信接口。
在特定实施例中,总线1112包括硬件、软件或硬件和软件这两者,该硬件、软件或硬件和软件这两者将计算机系统1100的多个部件彼此耦接。作为示例而非限制,总线1112可以包括加速图形端口(Accelerated Graphics Port,AGP)或其它图形总线、扩展工业标准结构(Enhanced Industry Standard Architecture,EISA)总线、前端总线(front-sidebus,FSB)、超传输(HYPERTRANSPORT,HT)互连、工业标准结构(Industry StandardArchitecture,ISA)总线、无线带宽(INFINIBAND)互连、低引脚计数(low-pin-count,LPC)总线、存储器总线、微通道结构(Micro Channel Architecture,MCA)总线、外围组件互连(Peripheral Component Interconnect,PCI)总线、高速外围组件互联(PCI-Express,PCIe)总线、串行高级技术附件(serial advanced technology attachment,SATA)总线、视频电子标准协会局域(Video Electronics Standards Association local,VLB)总线、或另一合适的总线、或这些总线中的两者或两者以上的组合。在适当的情况下,总线1112可以包括一条或多条总线1112。尽管本公开描述和示出了特定的总线,但是本公开考虑了任何合适的总线或互连件。
在本文中,在适当的情况下,计算机可读非暂态存储介质可以包括一个或多个基于半导体的集成电路(integrated circuit,IC)或其他集成电路(例如,现场可编程门阵列(field-programmable gate array,FPGA)或专用IC(application-specific IC,ASIC))、硬盘驱动器(hard disk drive,HDD)、混合硬盘驱动器(hybrid hard drive,HHD)、光盘、光盘驱动器(optical disc drive,ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(floppydisk drive,FDD)、磁带、固态驱动器(solid-state drive,SSD)、RAM驱动器、安全数字卡(SECURE DIGITAL card)或安全数字驱动器、任何其它合适的计算机可读非暂态存储介质、或这些存储介质中的两者或两者以上的任何合适的组合。在适当的情况下,计算机可读非暂态存储介质可以是易失性的、非易失性的、或易失性和非易失性计算机可读非暂态存储介质的组合。
在本文中,除非另有明确地指示或上下文另有指示,否则“或”是包括性的而非排他性的。因此,在本文中,除非另有明确地指示或上下文另有指示,否则“A或B”是指“A、B、或A和B这两者”。此外,除非另有明确地指示或上下文另有指示,否则“和”既是共同的又是各自的。因此,在本文中,除非另有明确地指示或上下文另有指示,否则“A和B”是指“A和B,共同地或各自地”。
本公开的范围涵盖:本领域的普通技术人员将理解的、对本文所描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文所描述或示出的示例实施例。此外,尽管本公开将本文中的各个实施例描述和示出为包括特定部件、元件、特征、功能、操作或步骤,但是本领域的普通技术人员将理解的是,这些实施例中的任何实施例可以包括本文中任何地方描述或示出的任何部件、元件、特征、功能、操作或步骤的任何组合或排列。此外,在所附权利要求中对装置或系统、或装置或系统中的部件(这些装置、系统、部件适于、被布置为、能够、被配置为、被实现为、可操作地或可使用以执行特定功能)的引用涵盖了该装置、系统、部件(无论该装置、系统、部件或者该特定功能是否被激活、开启或解锁),只要该装置、系统或部件是如此适于、被布置为、能够、被配置为、被实现为、可操作地或可使用。另外,尽管本公开将特定实施例描述或示出为提供特定优点,但是特定实施例可以不提供这些优点、提供这些优点中的一些或全部优点。
Claims (15)
1.一种方法,所述方法包括:由一个或多个计算系统:
接收第一用户的面部的一部分的图像,其中,所述图像是由耦接到所述第一用户所佩戴的人工现实头戴式设备的摄像头采集到的;
访问表示所述第一用户的所述面部的三维(3D)面部模型;
识别所述图像中描绘的一个或多个面部特征;
基于所识别的在所述图像中的所述一个或多个面部特征和所述3D面部模型上的预定特征位置,确定相对于所述3D面部模型的摄像头位姿;
通过将所述第一用户的所述面部的所述一部分的所述图像从所述摄像头位姿投影到所述3D面部模型上,来确定所述图像与所述3D面部模型之间的映射关系;以及
使得至少使用所述3D面部模型以及所述图像与所述3D面部模型之间的所述映射关系,来渲染所述第一用户的面部表示的输出图像。
2.根据权利要求1所述的方法,还包括:
接收与所述第一用户的所述面部的第二部分对应的多个图像,其中,所述多个图像是由耦接到所述第一用户所佩戴的所述人工现实头戴式设备的多个摄像头采集到的;
使用机器学习模型进行合成,以生成与所述第一用户的所述面部的所述第二部分对应的合成图像;以及
通过将所述第一用户的所述面部的所述第二部分的所述合成图像从预定摄像头位姿投影到所述3D面部模型上,来确定所述合成图像与所述3D面部模型之间的第二映射关系。
3.根据权利要求1或2所述的方法,其中,所述3D面部模型是表示多个用户的多个面部的预定3D面部模型。
4.根据权利要求1、2或3所述的方法,其中,所述3D面部模型通过以下方式生成:
至少基于所识别的在所述图像中的所述一个或多个面部特征,来对表示多个用户的多个面部的预定3D面部模型进行变形。
5.根据权利要求1至4中任一项所述的方法,其中,确定所述摄像头位姿包括:将所识别的在所述图像中描绘的所述一个或多个面部特征的位置与所述预定特征位置进行比较。
6.根据前述权利要求中任一项所述的方法,其中,所述第一用户的所述面部表示的所述输出图像具有真实感。
7.根据前述权利要求中任一项所述的方法,还包括:
接收所述第一用户的所述面部的第二部分的第二图像,其中,所述图像是由耦接到所述第一用户所佩戴的所述人工现实头戴式设备的第二摄像头采集到的;
识别所述第二图像中描绘的一个或多个第二面部特征;
基于所识别的在所述第二图像中的所述一个或多个第二面部特征和所述3D面部模型上的所述预定特征位置,确定相对于所述3D面部模型的第二摄像头位姿;以及
通过将所述第一用户的所述面部的所述第二部分的第二图像从所述第二摄像头位姿投影到所述3D面部模型上,来确定所述第二图像与所述3D面部模型之间的映射关系,其中,所述输出图像还至少使用所述3D面部模型以及所述第二图像与所述3D面部模型之间的映射关系。
8.根据前述权利要求中任一项所述的方法,其中,所述映射关系是所述第一用户的所述面部的所述一部分的纹理图像,并且其中:
i.所述纹理图像和与所述第一用户的所述面部的其它部分对应的预定纹理混合,以生成所述第一用户的所述面部表示的所述输出图像;和/或
ii.所述渲染所述第一用户的所述面部表示,包括:
对与所述第一用户的所述面部表示对应的预定纹理上的第一点进行采样,以识别与所述第一点相关联的第一颜色;
对所述纹理图像上与所述预定纹理上的所述第一点对应的第二点进行采样,以识别与所述第二点相关联的第二颜色;以及
将所述第一点的所述第一颜色与所述第二点的所述第二颜色混合,以生成与对应于所述第一点和所述第二点的位置相关联的最终颜色。
9.根据前述权利要求中任一项所述的方法,其中,使得所述第一用户的所述面部表示的所述输出图像被渲染包括:
将所述3D面部模型以及所述图像与所述3D面部模型之间的所述映射关系发送给与第二用户相关联的计算系统;以及
基于所述第二用户相对于所述第一用户的视点来渲染所述输出图像。
10.一种或多种计算机可读非暂态存储介质,所述一种或多种计算机可读非暂态存储介质包含软件,所述软件在被执行时能够操作以:
接收第一用户的面部的一部分的图像,其中,所述图像是由耦接到所述第一用户所佩戴的人工现实头戴式设备的摄像头采集到的;
访问表示所述第一用户的所述面部的三维(3D)面部模型;
识别所述图像中描绘的一个或多个面部特征;
基于所识别的在所述图像中的所述一个或多个面部特征和所述3D面部模型上的预定特征位置,来确定相对于所述3D面部模型的摄像头位姿;
通过将所述第一用户的所述面部的所述一部分的图像从所述摄像头位姿投影到所述3D面部模型上,来确定所述图像与所述3D面部模型之间的映射关系;以及
使得至少使用所述3D面部模型以及所述图像与所述3D面部模型之间的所述映射关系,来渲染所述第一用户的面部表示的输出图像。
11.根据权利要求10所述的介质,其中,所述软件在被执行时还能够操作以:
接收与所述第一用户的所述面部的第二部分对应的多个图像,其中,所述多个图像是由耦接到所述第一用户所佩戴的所述人工现实头戴式设备的多个摄像头采集到的;
使用机器学习模型进行合成,以生成与所述第一用户的所述面部的所述第二部分对应的合成图像;以及
通过将所述第一用户的所述面部的所述第二部分的所述合成图像从预定摄像头位姿投影到所述3D面部模型上,来确定所述合成图像与所述3D面部模型之间的第二映射关系。
12.根据权利要求10或11所述的介质,其中,所述3D面部模型是表示多个用户的多个面部的预定3D面部模型;和/或优选地,其中,所述软件在被执行时还能够操作以:
至少基于所识别的在所述图像中的所述一个或多个面部特征,对表示多个用户的多个面部的预定3D面部模型进行变形;和/或
优选地,确定所述摄像头位姿包括:将所识别的在所述图像中描绘的所述一个或多个面部特征的位置与所述预定特征位置进行比较。
13.一种系统,包括:
一个或多个处理器;以及
一个或多个计算机可读非暂态存储介质,所述一个或多个计算机可读非暂态存储介质耦接到所述一个或多个处理器中的一者或多者,并且包括指令,所述指令在由所述一个或多个处理器中的一者或多者执行时,能够操作以使所述系统:
接收第一用户的面部的一部分的图像,其中,所述图像是由耦接到所述第一用户所佩戴的人工现实头戴式设备的摄像头采集到的;
访问表示所述第一用户的所述面部的三维(3D)面部模型;
识别所述图像中描绘的一个或多个面部特征;
基于所识别的在所述图像中的所述一个或多个面部特征和所述3D面部模型上的预定特征位置,来确定相对于所述3D面部模型的摄像头位姿;
通过将所述第一用户的所述面部的所述一部分的所述图像从所述摄像头位姿投影到所述3D面部模型上,来确定所述图像与所述3D面部模型之间的映射关系;以及
使得至少使用所述3D面部模型以及所述图像与所述3D面部模型之间的所述映射关系,来渲染所述第一用户的面部表示的输出图像。
14.根据权利要求13所述的系统,其中,所述一个或多个处理器在执行所述指令时还能够操作以:
接收与所述第一用户的所述面部的第二部分对应的多个图像,其中,所述多个图像是由耦接到所述第一用户所佩戴的所述人工现实头戴式设备的多个摄像头采集到的;
使用机器学习模型进行合成,以生成与所述第一用户的所述面部的所述第二部分对应的合成图像;以及
通过将所述第一用户的所述面部的所述第二部分的所述合成图像从预定摄像头位姿投影到所述3D面部模型上,来确定所述合成图像与所述3D面部模型之间的第二映射关系。
15.根据权利要求13或14所述的系统,其中,所述3D面部模型是表示多个用户的多个面部的预定3D面部模型;和/或优选地,其中,所述一个或多个处理器在执行所述指令时还能够操作以:
至少基于所识别的在所述图像中的所述一个或多个面部特征,对表示多个用户的多个面部的预定3D面部模型进行变形;和/或优选地,其中,确定所述摄像头位姿包括:将所识别的在所述图像中描绘的所述一个或多个面部特征的位置与所述预定特征位置进行比较。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/028,927 | 2020-09-22 | ||
US17/028,927 US11562535B2 (en) | 2020-09-22 | 2020-09-22 | Camera reprojection for faces |
PCT/US2021/046060 WO2022066315A1 (en) | 2020-09-22 | 2021-08-16 | Camera reprojection for faces |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116348919A true CN116348919A (zh) | 2023-06-27 |
Family
ID=77693598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180064993.7A Pending CN116348919A (zh) | 2020-09-22 | 2021-08-16 | 用于面部的摄像头重投影 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11562535B2 (zh) |
EP (1) | EP4217914A1 (zh) |
CN (1) | CN116348919A (zh) |
WO (1) | WO2022066315A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220172431A1 (en) * | 2020-11-30 | 2022-06-02 | Sony Interactive Entertainment LLC | Simulated face generation for rendering 3-d models of people that do not exist |
US20230410447A1 (en) * | 2022-06-21 | 2023-12-21 | Qualcomm Incorporated | View dependent three-dimensional morphable models |
US20240029354A1 (en) * | 2022-07-19 | 2024-01-25 | Qualcomm Incorporated | Facial texture synthesis for three-dimensional morphable models |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160070952A1 (en) * | 2014-09-05 | 2016-03-10 | Samsung Electronics Co., Ltd. | Method and apparatus for facial recognition |
US10813559B2 (en) * | 2015-06-14 | 2020-10-27 | Facense Ltd. | Detecting respiratory tract infection based on changes in coughing sounds |
US20180158246A1 (en) | 2016-12-07 | 2018-06-07 | Intel IP Corporation | Method and system of providing user facial displays in virtual or augmented reality for face occluding head mounted displays |
US10777018B2 (en) * | 2017-05-17 | 2020-09-15 | Bespoke, Inc. | Systems and methods for determining the scale of human anatomy from images |
-
2020
- 2020-09-22 US US17/028,927 patent/US11562535B2/en active Active
-
2021
- 2021-08-16 EP EP21766760.9A patent/EP4217914A1/en active Pending
- 2021-08-16 WO PCT/US2021/046060 patent/WO2022066315A1/en unknown
- 2021-08-16 CN CN202180064993.7A patent/CN116348919A/zh active Pending
-
2022
- 2022-12-22 US US18/145,592 patent/US11842442B2/en active Active
-
2023
- 2023-10-31 US US18/498,919 patent/US20240078754A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022066315A1 (en) | 2022-03-31 |
EP4217914A1 (en) | 2023-08-02 |
US11562535B2 (en) | 2023-01-24 |
US20240078754A1 (en) | 2024-03-07 |
US20220092853A1 (en) | 2022-03-24 |
US20230206560A1 (en) | 2023-06-29 |
US11842442B2 (en) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190228580A1 (en) | Dynamic Creation of Augmented Reality Effects | |
US11842442B2 (en) | Camera reprojection for faces | |
US11113891B2 (en) | Systems, methods, and media for displaying real-time visualization of physical environment in artificial reality | |
US11308698B2 (en) | Using deep learning to determine gaze | |
US11914836B2 (en) | Hand presence over keyboard inclusiveness | |
US11335077B1 (en) | Generating and modifying representations of dynamic objects in an artificial reality environment | |
KR20220125353A (ko) | 인공 현실에서 물리적 환경의 실시간 시각화를 자동으로 트리거하기 위한 시스템, 방법 및 매체 | |
CN116964542A (zh) | 用于在虚拟现实中提供空间感知的系统和方法 | |
US20230037750A1 (en) | Systems and methods for generating stabilized images of a real environment in artificial reality | |
CN117425870A (zh) | 虚拟现实中的动态混合现实内容 | |
US11410387B1 (en) | Systems, methods, and media for generating visualization of physical environment in artificial reality | |
CN116075848A (zh) | 对图像的自适应采样 | |
US20240078745A1 (en) | Generation of a virtual viewpoint image of a person from a single captured image | |
US20240062425A1 (en) | Automatic Colorization of Grayscale Stereo Images | |
US20230221797A1 (en) | Ephemeral Artificial Reality Experiences | |
US11818474B1 (en) | Sparse RGB cameras for image capture | |
US11651625B2 (en) | Systems and methods for predicting elbow joint poses | |
TW202334905A (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 |