CN117765049A - 对齐用户表示 - Google Patents

对齐用户表示 Download PDF

Info

Publication number
CN117765049A
CN117765049A CN202311230102.8A CN202311230102A CN117765049A CN 117765049 A CN117765049 A CN 117765049A CN 202311230102 A CN202311230102 A CN 202311230102A CN 117765049 A CN117765049 A CN 117765049A
Authority
CN
China
Prior art keywords
representation
user
data
frame
specific
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
Application number
CN202311230102.8A
Other languages
English (en)
Inventor
M·S·哈驰因森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN117765049A publication Critical patent/CN117765049A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/54Extraction of image or video features relating to texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/19Sensors therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Ophthalmology & Optometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开涉及用户表示。对齐本文所公开的各种具体实施包括根据基于3D参考点进行的对齐来生成用户的组合3D表示的设备、系统和方法。例如,过程可包括获得与相对于该用户的骨骼表示而定义的3D参考点相关联的预定三维(3D)表示。该过程还可包括获得对应于一个时间段内的多个时刻的帧特定3D表示的序列,这些帧特定3D表示中的每个帧特定3D表示表示在该时间段内的该多个时刻中的相应时刻处该用户的第二部分。该过程还可包括生成该用户的组合3D表示,该组合3D表示是通过基于对齐将该预定3D表示与相应帧特定3D表示组合来生成的,该对齐基于该3D参考点。

Description

对齐用户表示
技术领域
本公开整体涉及电子设备,并且具体地涉及用于在计算机生成的内容中表示用户的系统、方法和设备。
背景技术
现有技术可能无法准确地或如实地呈现电子设备的用户的外观的当前(例如,实时)表示。例如,设备可基于数分钟、数小时、数天或甚至数年前获得的用户的面部的图像来提供用户的头像表示。这种表示可能无法准确地表示用户的当前(例如,实时)外观,例如在用户微笑时未将用户的头像示出为微笑或未示出用户的当前胡须。因此,可能期望提供能有效提供用户的更准确、如实和/或当前的表示的装置。
发明内容
本文所公开的各种具体实施包括生成一组值的设备、系统和方法,该组值表示用户面部在时间点处的三维(3D)形状和外观以用于生成用户表示(例如,头像)。在一些具体实施中,该组值可相对于具有非平面形状(例如,曲线平面形状)的表面来定义。该组值可包括限定面部的部分相对于这个表面上的多个点(例如,部分圆柱形表面上的网格中的点)的深度的深度值。例如,一个点的深度值可限定面部的一部分处于该点在表面上的位置之后的深度D1处,例如,沿着在该点处开始的正交射线处于深度D1处。本文所述的技术使用与现有RGBDA图像(例如,红-绿-蓝-深度α图像)中的深度值不同的深度值,因为现有RGBDA图像限定相对于单个相机位置的内容深度,而本文所述的技术限定相对于具有平面形状(例如,曲线平面形状)的表面上的多个点的深度。
可使用具有相对于表面上的多个点限定的深度值的相对简单的该组值来实现若干优点。该组值可能需要比使用3D网格或3D点云更少的计算和带宽,同时实现比RGBDA图像更准确的用户表示。此外,该组值可以类似于现有格式(例如,RGBDA图像)的方式被格式化/封装,这可实现与基于此类格式的系统更高效地集成。
本文所公开的各种具体实施包括通过将用户的第一部分的相同预定3D数据与在多个时刻捕获的用户的第二部分的帧特定3D数据组合来针对多个时刻中的每个时刻生成用户的3D表示的设备、系统和方法。预定3D数据可以是从登记数据(例如,一次性像素对齐隐式函数(PIFu)数据)生成的用户的上身和头部的网格。预定3D数据(诸如PIFu数据)可包括高度有效的隐式表示,该隐式表示将2D图像的像素与其对应的3D对象的全局背景局部对齐。帧特定数据可表示在多个时间点中的每个时间点处的用户面部,例如,帧特定3D表示数据的实况序列,诸如表示如本文所述的用户面部在某个时间点的3D形状和外观的该组值。来自这两个不同源的3D数据(例如,PIFu数据和帧特定3D数据)可通过使用与这两个数据集相关联的3D参考点(例如,相对于骨架表示定义的点)在空间上对齐数据来针对每个时刻进行组合。可在观看设备上生成用户在多个时刻的3D表示,该观看设备组合数据并使用组合数据来例如在实况通信(例如,共存)会话期间呈现视图。
本文所公开的各种具体实施包括调整经由第一技术(例如,PIFu)确定的用户的第一部分(例如,头部、头发、上身、衣服等)的第一3D表示的颜色的设备、系统和方法。使用经由第二不同技术确定的用户的第二部分(例如,例如先前在登记过程期间先前捕获的样本中的面部/毛发)的样本3D表示来调整颜色。这种调整在通过将第一3D表示与经由第二技术生成的一个或多个第二3D表示(例如,帧特定3D表示)组合而生成的组合3D表示中提供更好的颜色匹配(例如,帧特定3D表示数据的实况序列,诸如表示如本文所述的用户面部在某个时间点的3D形状和外观的该组值)。例如,第一表示可以是基于PIFu的,并且可被调整使得颈部颜色更好地匹配帧特定3D面部的面部颜色。可使用变换来调整颜色(例如,使用Monge-Kanorovich颜色转移技术等来确定)。可通过将第一表示重建到与样本3D表示相同的空间中(例如,在UV空间中重建PIFu表示)来促进确定这样的变换。这使得能够基于对应用户部分的颜色的比较来进行更准确的变换。
本文所公开的各种具体实施包括调整用户的第一部分(例如,手)的第一3D表示的颜色的设备、系统和方法。使用用户的第二部分(例如,面部/头发)的样本3D表示来调整颜色。在一些具体实施中,在第一3D表示与用户的第二部分的样本3D表示之间不存在重叠(例如,一个表示示出面部而另一个表示示出手)。可通过过滤掉非皮肤数据(例如,头发、衣服等)来改进颜色调整准确度。可使用变换来调整颜色(例如,使用Monge-Kanorovich颜色转移技术来确定)。在一些具体实施中,样本表示中的阴影可产生太暗的颜色调整,这可通过仅取数据的子集(例如,数据中最亮的25%)来解决。
一般来讲,本说明书中所描述的主题的一个创新方面可体现在包括以下动作的方法中:在设备的处理器处,获得用户的至少第一部分的预定三维(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表示指定的该高度值混合。在一些方面,调整该顶点包括使用该指定α值将与该顶点相关联的至少一些纹理值与针对该相应的帧特定表示指定的纹理值混合。在一些方面,由该预定3D表示所表示的该第一部分表示该用户的上身和头部。
在一些方面,使用像素对齐隐式函数(PIFu)技术来生成该预定3D表示,该PIFu技术将2D登记图像的像素与全局背景局部对齐以形成该预定3D表示。
在一些方面,基于来自面向内或面向下相机的传感器数据并基于登记数据生成这些帧特定3D表示中的每个帧特定3D表示,其中该登记数据包括该用户的该第二部分的表现出多个不同面部表情的图像。
在一些方面,这些帧特定3D表示中的每个帧特定3D表示包括在该时间段中的该多个时刻中的相应时刻处该用户的骨骼表示的配置,其中基于该骨骼表示的节点来定义该3D参考点。
在一些方面,该动作还包括呈现该组合3D表示的视图。在一些方面,该呈现在通信会话期间发生,在该通信会话中,第二设备捕获传感器数据并基于该传感器数据提供对应于该时间段中的该多个时刻的帧特定3D表示的序列。
在一些方面,该第二设备在该通信会话期间提供该用户的该预定3D表示。在一些方面,该第二设备生成该用户的该组合3D表示并在该通信会话期间将该组合3D表示提供给该设备。
在一些方面,该组合3D表示的视图相对于该时间段中的该多个时刻实时显示在该设备上。在一些方面,该设备为头戴式设备(HMD)。
这些实施方案和其他实施方案均可任选地包括以下特征中的一个或多个特征。
根据一些具体实施中,非暂态计算机可读存储介质中存储有指令,所述指令是计算机可执行的以执行或使得执行本文所述的任何方法。根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使执行本文所述方法中的任一种的指令。
附图说明
因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。
图1示出了根据一些具体实施的从用户获得传感器数据的设备。
图2示出了根据一些具体实施的用户的至少一部分的三维(3D)表示的示例。
图3A和图3B示出了根据一些具体实施的作为面部的高度场表示的可视化而提供的二维(2D)流形的表面的示例。
图4示出了根据一些具体实施的更新用户的面部表示的部分的示例。
图5A和图5B示出了根据一些具体实施的相对于用户的骨骼表示而定义的3D参考点的示例。
图6示出了根据一些具体实施的其中预定3D表示和参数化网格被组合以基于3D参考点生成用户的一部分的表示的示例。
图7示出了根据一些具体实施的生成并显示用户的面部表示的部分的示例。
图8示出了根据一些具体实施的可基于预定表示数据和帧特定表示数据生成用户的组合表示的系统流程图。
图9示出了根据一些具体实施的在第一设备处的第一用户和第二设备处的第二用户的通信会话期间在不同物理环境中操作的示例性电子设备,以及第一设备的第二用户的3D表示的视图。
图10是根据一些具体实施的用于根据基于3D参考点进行的对齐来针对一个时间段内的多个时刻生成用户的组合3D表示的方法的流程图表示。
图11示出了基于第一3D表示中的颜色和样本3D表示中的颜色来调整第一3D表示的一个或多个颜色的示例。
图12示出了根据一些具体实施的基于对图10的3D表示的一个或多个颜色的调整来生成用户的3D表示的示例。
图13是根据一些具体实施的用于调整3D表示中的一个或多个颜色以生成组合3D表示的方法的流程图表示。
图14是根据一些具体实施的用于基于过滤所识别部分来调整3D表示中的一个或多个颜色以生成组合3D表示的方法的流程图表示。
图15是示出根据一些具体实施的示例性设备的设备部件的框图。
图16是根据一些具体实施的示例性头戴式设备(HMD)的框图。
根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的系统、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。
具体实施方式
描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将会知道,其他有效方面或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。
图1示出了现实世界环境105(例如,房间)的示例性环境100,该现实世界环境包括具有显示器15的设备10。在一些具体实施中,设备10向用户25显示内容20。例如,内容20可以是按钮、用户界面图标、文本框、图形、用户或另一个用户的头像等。在一些具体实施中,内容20可占据显示器15的整个显示区域。
设备10经由多个传感器(例如,传感器35a、35b和35c)从用户25获得图像数据、运动数据和/或生理数据(例如,瞳孔数据、面部特征数据等)。例如,设备10经由传感器35b获得眼睛注视特性数据40b,经由传感器35a获得上部面部特征特性数据40a,并且经由传感器35c获得下部面部特征特性数据40c。
尽管本文讨论的该示例和其他示例示出了现实世界环境105中的单个设备10,但是本文公开的技术适用于多个设备以及其他现实世界环境。例如,设备10的功能可由多个设备执行,其中传感器35a、35b和35c位于每个相应设备上,或以任何组合分散在它们之间。
在一些具体实施中,所述多个传感器(例如,传感器35a、35b和35c)可包括采集与用户25的外观相关的数据的任何数量的传感器。例如,当穿戴头戴式设备(HMD)时,一个传感器(例如,HMD内的相机)可采集瞳孔数据以用于眼睛跟踪,并且单独设备上的一个传感器(例如,一个相机,诸如广角视图)可能能够捕获用户的所有面部特征数据。另选地,如果设备10是HMD,则单独设备可能不必要。例如,如果设备10是HMD,则在一个具体实施中,传感器35b可位于HMD内以捕获瞳孔数据(例如,眼睛注视特性数据40b),并且附加传感器(例如,传感器35a和35c)可位于HMD上但位于面向用户头部/面部的HMD的外表面上以捕获面部特征数据(例如,经由传感器35a捕获上部面部特征特性数据40a,并且经由传感器35c捕获下部面部特征特性数据40c)。例如,用户25可将HMD保持在他或她的面部前面,将HMD面向用户,并且HMD上的外部相机可捕获用户的面部的图像以用于登记。
在一些具体实施中,如图1所示,设备10是手持电子设备(例如,智能手机或平板电脑)。在一些具体实施中,设备10是膝上型计算机或台式计算机。在一些具体实施中,设备10具有触控板,并且在一些具体实施中,设备10具有触敏显示器(也称为“触摸屏”或“触摸屏显示器”)。在一些具体实施中,设备10是可穿戴设备,诸如HMD。
在一些具体实施中,设备10包括用于经由眼睛注视特性数据40b检测眼睛位置和眼睛移动的眼睛跟踪系统。例如,眼睛跟踪系统可包括一个或多个红外(IR)发光二极管(LED)、眼睛跟踪相机(例如,近红外(NIR)照相机)和向用户25的眼睛发射光(例如,NIR光)的照明源(例如,NIR光源)。此外,设备10的照明源可发射NIR光以照明用户25的眼睛,并且NIR相机可捕获用户25的眼睛的图像。在一些具体实施中,可分析由眼睛跟踪系统捕获的图像以检测用户25的眼睛的位置和移动,或检测关于眼睛的其他信息诸如颜色、形状、状态(例如,睁得大大的、斜视等)、瞳孔扩张或瞳孔直径。此外,从眼睛跟踪图像估计的注视点可使得能够与设备10的近眼显示器上示出的内容进行基于注视的交互。
在一些具体实施中,设备10具有图形用户界面(GUI)、一个或多个处理器、存储器以及存储在存储器中的用于执行多个功能的一个或多个模块、程序或指令集。在一些具体实施中,用户25通过触敏表面上的手指接触和手势与GUI进行交互。在一些具体实施中,这些功能包括图像编辑、绘图、呈现、文字处理、网页创建、盘编辑、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时消息通信、健身支持、数字摄影、数字视频录制、网页浏览、数字音乐播放和/或数字视频播放。用于执行这些功能的可执行指令可被包括在被配置用于由一个或多个处理器执行的计算机可读存储介质或其他计算机程序产品中。
在一些具体实施中,设备10采用各种生理传感器、检测或测量系统。检测的生理数据可包括但不限于:脑电图(EEG)、心电图(ECG)、肌电图(EMG)、功能近红外光谱信号(fNIRS)、血压、皮肤电导或瞳孔响应。此外,设备10可同时检测多种形式的生理数据,以便受益于生理数据的同步采集。此外,在一些具体实施中,生理数据表示非自愿数据,即,不受意识控制的响应。例如,瞳孔响应可表示非自愿移动。
在一些具体实施中,用户25的一只或两只眼睛45(包括用户25的一个或两个瞳孔50)以瞳孔响应的形式呈现生理数据(例如,眼睛注视特性数据40b)。用户25的瞳孔响应经由视神经和动眼神经颅神经导致瞳孔50的尺寸或直径的变化。例如,瞳孔响应可包括收缩响应(瞳孔缩小),即,瞳孔变窄,或扩张响应(瞳孔散大),即,瞳孔加宽。在一些具体实施中,设备10可检测表示时变瞳孔直径的生理数据的图案。
用户数据(例如,上部面部特征特性数据40a、下部面部特征特性数据40c和眼睛注视特性数据40b)可随时间变化并且设备10可使用用户数据来生成和/或提供用户的表示。
在一些具体实施中,用户数据(例如,上部面部特征特性数据40a和下部面部特征特性数据40c)包括面部特征的纹理数据,诸如眉毛运动、下颌运动、鼻部运动、面颊运动等。例如,当人(例如,用户25)微笑时,上部面部特征和下部面部特征(例如,上部面部特征特性数据40a和下部面部特征特性数据40c)可包括可由用户的表示(例如,头像)基于来自传感器35的捕获数据来重复的大量肌肉运动。
根据一些具体实施,电子设备(例如,设备10)可在通信会话期间生成扩展现实(XR)环境并向一个或多个用户呈现该XR环境。与人们可在不具有电子设备的帮助的情况下感测和/或交互的物理环境相比,扩展现实(XR)环境是指人们经由电子设备感测和/或交互的完全或部分模拟的环境。例如,XR环境可包括增强现实(AR)内容、混合现实(MR)内容、虚拟现实(VR)内容等。在XR系统的情况下,跟踪人的物理运动的一个子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在XR环境中模拟的一个或多个虚拟对象的一个或多个特征。如一个示例,XR系统可以检测头部移动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。如另一示例,XR系统可以检测呈现XR环境的电子设备(例如,移动电话、平板电脑、膝上型电脑等)的移动,并且作为响应,以类似于此类视图和声音在物理环境中将如何改变的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),XR系统可响应于物理运动的表示(例如,声音命令)来调节XR环境中图形内容的特征。
有许多不同类型的电子系统使人能够感测和/或与各种XR环境交互。示例包括头戴式系统、基于投影的系统、平视显示器(HUD)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为设计用于放置在人的眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入系统(例如,具有或不具有触觉反馈的可穿戴或手持式控制器)、智能电话、平板电脑、以及台式/膝上型计算机。头戴式系统可具有集成不透明显示器和一个或多个扬声器。另选地,头戴式系统可被配置为接受外部不透明显示器(例如,智能电话)。头戴式系统可结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过该媒介被引导到人的眼睛。显示器可以利用数字光投影、OLED、LED、uLED、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一些具体实施中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统也可以被配置为将虚拟对象投影到物理环境中,例如作为全息图或在物理表面上。
图2示出了根据一些具体实施的用户的至少一部分的3D表示200的示例。例如,3D表示200可表示在被设备10的一个或多个传感器扫描之后(例如,在登记过程期间)用户25的一部分。在示例性具体实施中,可使用像素对齐隐式函数(PIFu)技术来生成3D表示200,该技术将2D登记图像的像素与全局背景局部对齐以形成3D表示200(也称为PIFu网格)。3D表示200包括可基于图像数据(诸如RGB数据和深度数据)在登记过程确定的多个顶点和多边形。例如,如扩展区域202中所示,顶点204被圈出作为两个或更多个多边形之间的点,该两个或更多个多边形是3D PIFu网格的一部分。
图3A和图3B示出了根据一些具体实施的作为面部的高度场表示的可视化而提供的二维(2D)流形的表面的示例。“高度场表示”在本文中也可被称为参数化网格。具体地,图3A示出了面部的高度场表示的示例性环境300A,其组合三种不同类型的数据以提供如面部表示网格308所示的面部的高度场表示。这些不同类型的数据包括RGB数据302、α数据304和深度数据306。对于获得的图像数据的每一帧,本文所述的技术确定RGB数据302、α数据304和深度数据306,并提供如面部表示网格308所示的这种非常规“RGBDA”数据。例如,面部表示网格308基于射线原点和射线方向提供到2D流形上的位置的映射。面部表示网格308或射线网格提供深度数据以生成和/或更新面部的3D重建(例如,当用户移动他或她的面部时,诸如当在通信会话中说话时)。图3B和图4进一步描述了应用面部表示网格308的应用。
图3B示出了根据一些具体实施的作为用户的面部表示的可视化而提供的二维流形的表面的示例性环境300B。具体地,环境300B示出了用户(例如,图1的用户25)的面部表示的参数化图像320。参数化图像320示出了图3A的面部表示网格308的更详细图示。例如,帧特定表示指令集可获得用户面部的实况图像数据(例如,图像310)并基于形状(诸如,曲线平面形状315)的表面来参数化面部上的不同点。换句话讲,帧特定表示指令集可生成一组值,该组值表示用户面部在时间点处的3D形状和外观以用于生成用户表示(例如,头像)。在一些具体实施中,使用具有非平面形状(例如,曲线平面形状315)的表面提供比使用平坦/平面表面或使用单个点更小的失真。该组值包括限定面部的部分相对于表面上的多个点(例如,部分圆柱形表面上的网格中的点,诸如点阵列325)的深度的深度值(例如,指向用户的表示的面部以表示深度值的向量箭头,类似于高度场或高度图或参数化网格)。参数化值可包括固定参数诸如射线位置、端点、方向等,并且参数化值可包括利用实况图像数据更新的变化参数诸如深度、颜色、纹理、不透明度等。例如,如用户鼻部的扩展区域330中所示,一个点(例如,在用户鼻尖处的点332)的深度值可限定面部的一部分处于该点在表面上的位置之后的深度D1处,例如,沿着在该点处开始并且正交于该点的正交射线处于深度D1处。
本文所述的技术使用与现有RGBDA图像(例如,红-绿-蓝-深度α图像)中的深度值不同的深度值,因为现有RGBDA图像限定相对于单个相机位置/点的内容深度,而本文所述的技术将深度限定为面部的部分相对于具有平面形状(例如,曲线平面形状)的表面上的多个点。为参数化图像320实现的曲面(诸如曲线平面形状315)用于减少用户表示(例如,头像)在用户表示的从平坦投影表面不可见的区域处的失真。在一些具体实施中,具有平面形状的投影表面可以任何方式弯折和成形以基于参数化的应用来减轻期望区域中的失真。使用不同的弯折/弯曲形状允许从更多视点清楚地呈现用户表示。
图3B将表面(例如,2D流形表面)的点示出为沿着表面上的竖直线和水平线以规则间隔而间隔开(例如,指向用户的表示的面部的均匀间隔开的向量箭头)。在一些具体实施中,这些点可跨2D流形表面不均匀地分布,诸如围绕表面沿着竖直和水平网格线不规则地间隔开,但可聚焦在用户面部的特定区域上。例如,在面部结构中可能存在较多细节/运动的一些区域可具有较多点,并且一些点可在可能存在较少细节/运动的区域中具有较少点,如前额(较少细节)和鼻部(运动不多)。在一些具体实施中,当在通信会话期间生成用户的表示(例如,生成头像)时,本文所述的技术可选择性地更多地聚焦于在对话期间将可能更多地运动的眼睛和嘴部的区域,因此在通信会话期间产生人的更准确表示。例如,本文所述的技术可以比面部的在对话期间不那么多地运动的其他部分(例如,前额、耳朵等)更快的帧速率来呈现对围绕嘴部和眼睛的用户表示的更新。
图4示出了根据一些具体实施的更新用户的面部表示的部分的示例性环境400。具体地,图4示出了利用面部表示网格410(例如,面部表示网格308)和更新的深度数据420并将更新的面部表示网格410映射到如映射图像430中所示的用户的面部的应用。然后,可利用更新的映射图像430来实时更新用户的表示440(例如,当获得RGBDA数据的附加帧时)。在示例性具体实施中,映射数据基于诸如基于用户的定义寰椎关节相对于骨骼表示而定义的3D参考点,如本文参考图5A、图5B和图6进一步描述的。
图5A和图5B示出了根据一些具体实施的相对于用户的骨骼表示而定义的3D参考点的示例。图5A和图5B示出了处于不同头部位置和取向的用户(例如,图1中的用户25)以示出不同的骨骼位置。具体地,图5A和图5B各自示出了基于与所确定的寰椎关节520的偏移515所确定的3D参考点510。可利用3D参考点510来通过跟踪相对于寰椎关节的骨骼运动来跟踪用户的运动学运动(例如,提供在与耳道对齐的X轴和相对于法兰克福平面的z轴上的跟踪)。在一些具体实施中,3D参考点510与用户的眼睛的中心相关联,该中心限定在与寰椎关节偏移的位置处。例如,在登记过程期间,可确定为参数化网格(例如,高度场表示)提供中瞳孔原点的偏移。在一些具体实施中,3D参考点可以是基于骨骼的寰椎关节和用户特定的头部形状特性(例如,与基于图中的偏移515确定的寰椎关节520的位置相关联的3D参考点510的偏移位置)在用户的眼睛之间居中的点。本文参考图6进一步描述了利用3D参考点510组合预定3D表示和参数化网格以生成用户的一部分的表示的示例。
图6示出了根据一些具体实施的其中预定3D表示和参数化网格被组合以基于3D参考点生成用户的一部分的表示的示例性环境600。在示例性具体实施中,在步骤610处,(例如,从登记过程)获得预定3D表示612(例如,3D表示200),该预定3D表示包括3D参考点602的位置(例如,与用户的眼睛的中心相关联的3D参考点510,该中心限定在与寰椎关节偏移的位置处以跟踪骨骼运动)。然后在步骤620处,获得参数化网格622的帧,并且已发起与预定3D表示612相关联的深度匹配过程。例如,参数化网格622(例如,PIFu网格)的面部点被向外投影以找到预定3D表示612(例如,弯曲投影平面)上的对应点。参数化网格622还包括3D参考点624的位置(例如,与用户的眼睛的中心相关联的3D参考点510,该中心限定在与寰椎关节偏移的位置处以跟踪骨骼运动),该3D参考点被用来初始化预定3D表示612与参数化网格622之间的映射。然后在步骤630处,基于3D参考点602、624将参数化网格622的帧组合在预定3D表示612上。在步骤640处,基于预定3D表示612和参数化网格622的帧的映射组合,确定用户的更新的表示642。在使用参数化网格622(例如,高度场)定义帧特定3D表示的一些具体实施中,可通过基于3D参考点(例如,3D参考点602、624)将预定3D表示的顶点映射到参数化网格622上的位置来促进数据的组合。使用3D参考点进行的映射使得在参数化网格622上指定的帧特定面部数据能够直接用于调整预定3D表示612的顶点的位置。在一些具体实施中,可通过将顶点的预定顶点位置与其帧特定数据顶点位置混合来调整顶点的位置(例如,使用指定的α值)。换句话讲,可将预定3D表示顶点映射到参数化网格622上,使用对应于用户的头部/面部的实时数据来调整参数化网格622,并且经调整参数化网格622表示将预定3D表示与帧特定3D表示中的一个帧特定3D表示组合的用户的组合3D表示。
在一些具体实施中,将预定3D表示612与参数化网格622的相应帧特定3D表示组合包括调整预定3D表示612的子部分(例如,面部部分)。在一些具体实施中,调整预定3D表示612的子部分包括调整预定3D表示612(例如,PIFu网格,诸如图2的3D表示200)的顶点的位置以及基于帧特定3D表示中的每个帧特定3D表示来应用纹理(例如,参数化网格622)。例如,调整可对预定子部分(例如,面部)进行变形和着色,以对应于在每个时刻用户的该部分(例如,面部)的实时形状和颜色。
图7示出了根据一些具体实施的生成并显示用户的面部表示的部分的示例。具体地,图7示出了用于组合登记数据710(例如,登记图像数据712和生成的预定3D表示714)和实况数据720(例如,实况图像数据722和生成的帧特定3D表示724)以生成用户表示数据730(例如,头像735)的过程的示例性环境700。登记图像数据712示出了用户(例如,图1的用户25)在登记过程期间的图像。例如,当在用户提供不同面部表情时该系统获得用户的面部的图像数据(例如,RGB图像)的时候,可生成登记化身。例如,可告知用户“扬起您的眉毛”、“微笑”、“皱眉”等以便为该系统提供用于登记过程的一系列面部特征。可在用户提供登记图像时向用户示出登记化身预览以获得登记过程的状态的可视化。在该示例中,登记图像数据710显示具有四个不同用户表情的登记化身,然而,可利用更多或更少的不同表情来采集用于登记过程的足够数据。预定3D表示714(例如,3D表示200)包括可基于图像数据(诸如RGB数据和深度数据)在登记过程中确定的多个顶点和多边形。
实况图像数据722表示在使用设备时(诸如,在XR体验期间)采集的用户图像的示例(例如,在使用图1的设备10(诸如,HMD)时的实况图像数据)。例如,实况图像数据722表示在用户将图1的设备10作为HMD穿戴时采集的图像。例如,如果设备10是HMD,则在一个具体实施中,传感器35b可位于HMD内以捕获瞳孔数据(例如,眼睛注视特性数据40b),并且附加传感器(例如,传感器35a和35c)可位于HMD上但位于面向用户头部/面部的HMD的外表面上以捕获面部特征数据(例如,经由传感器35a捕获上部面部特征特性数据40a,并且经由传感器35c捕获下部面部特征特性数据40c)。生成的帧特定3D表示724可基于获得的实况图像数据722来生成。
用户表示数据730是在头像显示过程期间用户的示例性图示。例如,头像735A(面向侧面)和头像735B(面向前面)基于所采集的登记数据710生成,并且在系统获得并分析实况数据720的实时图像数据和更新针对平面表面的不同值(例如,针对每个所采集的实况图像数据来针对帧特定3D表示724更新阵列的向量点的值)时被更新。
图8是根据一些具体实施的系统可基于预定表示数据和帧特定表示数据生成用户的组合表示的示例性环境800的系统流程图。在一些具体实施中,示例性环境800的系统流程可在两个或更多个设备(例如,图1的设备10)诸如移动设备、台式计算机、膝上型电脑或服务器设备之间执行。示例性环境800的图像可显示在具有用于显示图像的屏幕和/或用于观看立体图像的屏幕的设备(例如,图1的设备10)上,诸如头戴式设备(HMD)。在一些具体实施中,示例性环境800的系统流程在处理逻辑部件(包括硬件、固件、软件或它们的组合)上执行。在一些具体实施中,在执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器上执行示例性环境800的系统流程。
在一些具体实施中,示例性环境800的系统流程包括登记过程、预定表示过程、帧特定表示过程以及基于组合表示的头像显示过程。另选地,示例性环境800可仅包括预定表示过程、帧特定表示过程和头像显示过程,并且从另一源(例如,先前存储的登记数据)获得登记数据。换句话讲,可能已发生登记过程,使得已提供用户的登记数据,因为登记过程已完成。在示例性具体实施中,用于头像显示过程的示例性环境800的系统流程在用于显示头像的接收设备处执行,并从发送设备获得数据,其中发送设备包括登记过程、预定表示过程和帧特定表示过程。
示例性环境800的登记过程的系统流程从物理环境(例如,图1的物理环境105)的传感器采集图像数据(例如,RGB数据),并且生成登记数据。登记数据可包括大部分(如果不是所有的话)的用户面部的纹理、肌肉激活等。在一些具体实施中,可在向用户提供用于采集用户面部的不同姿势的不同指令时捕获登记数据。例如,可告知用户“扬起您的眉毛”、“微笑”、“皱眉”等以便为该系统提供用于登记过程的一系列面部特征。
示例性环境800的头像显示过程的系统流程从物理环境(例如,图1的物理环境105)的传感器采集图像数据(例如,RGB、深度、IR等),确定面部特征的参数化数据,获得并评估登记数据,并且基于参数化值来生成并显示用户的面部表示(例如,3D头像)的部分。例如,本文所述的生成并显示用户的面部表示的部分的技术可在流式传输到最终用户的实时传感器数据上实现(例如,覆盖到CGR环境内的物理环境的图像上的3D头像)。在一个示例性具体实施中,在实时显示期间发生头像显示过程(例如,当用户作出面部姿势及对他或她的面部特征作出改变时,实时更新头像)。另选地,可在分析流式图像数据(例如,由视频生成人的3D头像)时发生头像显示过程。
在一个示例性具体实施中,环境800包括采集或获得物理环境的数据(例如,来自图像源诸如传感器812A–812N的图像数据)的图像合成流水线。示例性环境800是为登记过程采集图像传感器数据(例如,光强度数据-RGB)以生成登记数据824(例如,不同头部姿势和/或不同面部表情的图像数据)、利用登记数据824进行预定表示过程、以及为多个图像帧的帧特定表示过程采集图像传感器数据815(例如,光强度数据、深度数据和位置信息)的示例。例如,图示806(例如,图1的示例性环境100)表示当用户在登记过程期间在物理环境(例如,图1的物理环境105)中扫描他或她的面部和面部特征时采集图像数据的用户(例如,用户25)。图像816表示当用户实时(例如,在通信会话期间)扫描他或她的面部和面部特征时采集图像数据的用户。图像传感器812A、812B至812N(下文称为传感器812)可包括采集深度数据的一个或多个深度相机、采集光强度图像数据(例如,RGB图像帧序列)的一个或多个光强度相机(例如,RGB相机)以及用于采集定位信息的一个或多个位置传感器。
对于定位信息,一些具体实施包括视觉惯性测距(VIO)系统,以通过使用相机序列图像(例如,光强度数据)确定等效测距信息来估计行进的距离。另选地,本公开的一些具体实施可包括SLAM系统(例如,位置传感器)。该SLAM系统可包括独立于GPS并且提供实时同时定位与映射的多维(例如,3D)激光扫描和范围测量系统。该SLAM系统可生成并管理由来自环境中对象的激光扫描的反射而产生的非常准确的点云数据。随着时间推移,准确地跟踪点云中的任何点的移动,使得SLAM系统可使用点云中的点作为位置的参考点,在其行进通过环境时保持对其位置和取向的精确理解。该SLAM系统还可以是依赖于光强度图像数据来估计相机和/或设备的位置和取向的可视SLAM系统。
在示例性具体实施中,环境800包括登记指令集820,该登记指令集配置有指令,该指令能够由处理器执行以从传感器数据生成登记数据。例如,登记指令集820从传感器采集图示806的图像数据诸如光强度图像数据(例如,来自光强度相机的RGB图像),并且生成用户的登记数据822(例如,面部特征数据诸如纹理、肌肉激活等)。例如,登记指令集生成登记图像数据824(例如,图7的登记图像数据710)。
在示例性具体实施中,环境800还包括预定表示指令集830,该预定表示指令集配置有指令,该指令能够由处理器执行以生成3D表示836(例如,PIFu网格),该3D表示表示来自登记信息824(例如,登记图像826)的登记过程期间多个时间点的用户的上身躯干、头部和面部的3D形状和外观。例如,预定表示指令集830采集登记数据824诸如光强度图像数据(例如,来自光强度相机的RGB数据)、深度图像数据(例如,来自深度相机诸如红外或飞行时间传感器的深度图像数据)以及物理环境中的用户(例如,图1的物理环境105中的用户25)的其他物理环境信息源(例如,相机定位信息,诸如来自位置传感器的位置和取向数据,例如姿势数据),并且生成表示数据832(例如,肌肉激活、几何形状、面部表情的潜在空间等)。附加地,预定表示指令集830确定将表示数据832与相对于用户的骨骼表示而定义的3D参考点(例如,图5的3D参考点510)相关联的参考数据834。例如,可使用PIFu技术来生成3D表示836,该PIFu技术将2D登记图像826的像素与全局背景局部对齐以形成3D表示836(也被称为PIFu网格)。3D表示836(例如,图2的表示200)包括可基于图像数据(诸如RGB数据和深度数据)在登记过程中确定的多个顶点和多边形。
在示例性具体实施中,环境800包括帧特定表示指令集840,该帧特定表示指令集被配置有指令,该指令能够由处理器执行以从实况图像数据(例如,传感器数据815)生成表示数据842,该表示数据可包括表示用户面部在某个时间点处的3D形状和外观的一组值(例如,外观值、深度值等)。例如,帧特定表示指令集840从传感器812采集传感器数据815,诸如光强度图像数据(例如,来自光强度相机的RGB数据)、深度图像数据(例如,来自深度相机诸如红外或飞行时间传感器的深度图像数据)以及物理环境中的用户(例如,图1的物理环境105中的用户25)的其他物理环境信息源(例如,相机定位信息,诸如来自位置传感器的位置和取向数据,例如姿势数据),并且生成用于表示数据842的面部参数化的参数化数据(例如,肌肉激活、几何形状、面部表情的潜在空间等)。例如,参数化数据可通过基于传感器数据815改变参数诸如外观值(诸如纹理数据、颜色数据、不透明度等)和面部的不同点的深度值来由参数化图像846(例如,本文相对于图3B讨论的参数化图像320)表示。用于帧特定表示指令集840的面部参数化技术可包括获取从传感器数据815采集的局部视图以及由几何模型确定小参数集(例如,面部的肌肉)以更新用户表示。例如,几何模型可包括用于眉毛、眼睛、眼睛下方的面颊、嘴部区域、下颌区域等的数据集。帧特定表示指令集840的参数化跟踪可提供用户的面部特征的几何形状。附加地,帧特定表示指令集840确定将表示数据842与相对于用户的骨骼表示而定义的3D参考点(例如,图5的3D参考点510)相关联的参考数据844。
在示例性具体实施中,环境800还包括组合表示指令集850。在示例性具体实施中,组合表示指令集850位于用于显示组合表示的接收设备处,并且传感器812和其他指令集(例如,登记指令集820、预定表示指令集830、以及帧特定表示指令集840)位于另一设备处(例如,将在组合表示数据的接收设备处生成其头像的用户的设备)。另选地,在一些具体实施中,组合表示指令集850、传感器812和其他指令集(例如,登记指令集820、预定表示指令集830和帧特定表示指令集840)位于另一设备(例如,发送设备)处,使得接收设备将从另一设备接收用于组合表示的数据以供显示。
组合表示指令集850配置有指令,该指令能够由处理器执行,以根据基于对齐(例如,经由对齐模块852)由参考数据834、844提供的3D参考点而组合表示数据832和参考数据834来生成用户的表示(例如,3D头像)。对齐模块852提供指令以识别参考数据834和参考数据844两者中的3D参考点以便对齐数据集。附加地,组合表示指令集850被配置有指令,该指令能够由处理器执行,以在用表示数据842更新这些指令时(例如,在由帧特定表示指令集840从另一设备采集并处理实况图像数据时)基于对应的对齐数据来显示表示的部分。例如,组合表示指令集850从预定表示指令集830采集表示信息832(例如,PIFu网格),从帧特定表示指令集840采集表示信息842(例如,来自实况图像信息的更新的外观值和深度值),并生成组合表示信息854(例如,用户的实时表示,诸如3D头像)。例如,帧特定表示指令集840可生成表示数据842并生成参数化图像846(例如,图7的头像735)。
在一些具体实施中,可为在实况通信会话或其他体验的每个时刻/帧期间捕获的每个帧重复组合表示指令集850。例如,对于每次迭代,在用户正使用该设备(例如,穿戴HMD)时,示例性环境800可涉及连续地获得表示数据842(例如,外观值和深度值),并且对于每个帧,基于更新值来更新3D表示856的显示的部分。例如,对于参数化数据的每个新帧,该系统可基于新数据来更新3D头像的显示。
图9示出了根据一些具体实施的在第一设备处的第一用户和第二设备处的第二用户的通信会话期间在不同物理环境中操作的示例性电子设备,以及第一设备的第二用户的3D表示的视图。具体地,图9示出了在通信会话期间(例如,当电子设备910、965彼此共享信息或与中间设备(诸如通信会话服务器)共享信息时)分别在不同物理环境902、950中操作的电子设备910、965的示例性操作环境900。在图9的该示例中,物理环境902是包括挂墙装饰物912、植物914和桌子916的房间。电子设备910包括一个或多个相机、麦克风、深度传感器或可用于捕获关于物理环境902及其内的对象的信息和关于电子设备910的用户925的信息以及评估该物理环境及其内的对象的其他传感器。关于物理环境902和/或用户925的信息可用于在通信会话期间提供视觉内容(例如,用于用户表示)和音频内容(例如,用于文本转录)。例如,通信会话可向一个或多个参与者(例如,用户925、960)提供以下的视图:基于物理环境902的相机图像和/或深度相机图像生成的3D环境、基于用户925的相机图像和/或深度相机图像的用户925的表示和/或由用户说出的音频的文本转录(例如,转录泡)。如图9所示,用户925正在向用户960说话,如说出词语915所示。
在该示例中,物理环境950是包括挂墙装饰物952、沙发954和咖啡桌956的房间。电子设备965包括一个或多个相机、麦克风、深度传感器或可用于捕获关于物理环境950及其内的对象的信息和关于电子设备965的用户960的信息以及评估该物理环境及其内的对象的其他传感器。关于物理环境950和/或用户960的信息可用于在通信会话期间提供视觉和音频内容。例如,通信会话可提供基于物理环境950的相机图像和/或深度相机图像(来自电子设备965)生成的3D环境的视图以及基于用户960的相机图像和/或深度相机图像(来自电子设备965)的用户960的表示。例如,在通过通信会话指令集990的与设备965的通信中,3D环境可由设备910通过通信会话指令集980来发送(例如,经由网络连接985)。如图9所示,由用户925说出的音频(例如,说出词语915)在设备965处(或经由远程服务器)被转录(例如,经由通信指令集990),并且视图966向用户960提供经由转录泡976的由讲话者(用户925)说出的音频的文本转录(例如,“好看的头像!”)。
图9示出了设备910处的虚拟环境(例如,3D环境930)的视图905的示例,其中提供挂墙装饰物952的表示932和用户表示940(例如,用户960的头像),前提是同意在特定通信会话期间观看每个用户的用户表示。具体地,用户960的用户表示940是基于本文所述的组合用户表示技术生成的(例如,用于实时生成的更逼真的头像)。附加地,物理环境950内的电子设备965提供视图966,该视图使得用户960能够在3D环境970内观看用户925的至少一部分的表示975(例如,头像)(例如,从躯干中部向上)以及经由转录泡976的由用户925说出的词语的转录(例如,“好看的头像!”)。换句话讲,在设备910处,通过基于从设备965获得的数据(例如,用户960的预定3D表示和用户960的相应帧特定3D表示)针对某个时间段中的多个时刻生成用户960的组合3D表示,生成看起来更逼真的头像(例如,用户960的用户表示940)。另选地,在一些实施方案中,在设备965(例如,讲话者的发送设备)处生成用户960的用户表示940并将用户表示发送到设备910(例如,观看讲话者的头像的观看设备)。具体地,通过根据本文所述的技术,基于对齐(例如,对齐3D参考点)将用户960的预定3D表示与用户960的相应帧特定3D表示组合来生成用户960的组合的3D表示940中的每个3D表示。
在图9的示例中,电子设备910和965被示为手持式设备。电子设备910和965可以是移动电话、平板电脑、膝上型电脑等。在一些具体实施中,电子设备910和965可由用户穿戴。例如,电子设备910和965可以是手表、头戴式设备(HMD)、头戴设备(眼镜)、耳机、耳挂式设备等。在一些具体实施中,设备910和965的功能经由两个或更多个设备来实现,例如移动设备和基站或头戴式设备和耳挂式设备。各种功能可以分布在多个设备中,包括但不限于功率功能、CPU功能、GPU功能、存储功能、存储器功能、视觉内容显示功能、音频内容生产功能等。可用于实现电子设备910和965的功能的多个设备可经由有线或无线通信彼此通信。在一些具体实施中,每个设备与单独的控制器或服务器通信以管理和协调用户的体验(例如,通信会话服务器)。这样的控制器或服务器可位于物理环境902和/或物理环境950中或者可相对于该物理环境位于远程。
附加地,在图9的示例中,3D环境930和970是基于可与其他用户共享的公共坐标系的XR环境(例如,用于多人通信会话的头像的虚拟房间)。换句话讲,3D环境930和970的公共坐标系分别不同于物理环境902和950的坐标系。例如,可使用公共参考点来对齐坐标系。在一些具体实施中,公共参考点可以是每个用户可在其相应视图内可视化的3D环境内的虚拟对象。例如,用户表示(例如,用户的化身)在3D环境内围绕其定位的公共中心件桌子。另选地,公共参考点在每个视图内不可见。例如,3D环境的公共坐标系可使用公共参考点来定位每个相应用户表示(例如,围绕桌子/书桌)。因此,如果公共参考点是可见的,则当观看其他用户表示时,设备的每个视图将能够可视化3D环境的“中心”以用于透视。公共参考点的可视化可变得与多用户通信会话更相关,使得每个用户的视图可在通信会话期间向每个其他用户的位置添加透视。
在一些具体实施中,每个用户的表示可以是真实的或不真实的和/或可表示用户的当前和/或先前的外观。例如,可基于用户的实况图像和先前图像的组合来生成用户925或960的照片般逼真表示。先前图像可用于生成表示的不可获得其实况图像数据的部分(例如,用户面部的不在电子设备910或965的相机或传感器的视野中或可例如由头戴式装置或其他方式遮蔽的部分)。在一个示例中,电子设备910和965是头戴式设备(HMD),并且用户面部的实况图像数据包括用户的脸颊和嘴的面向下相机图像和用户的眼睛的面向内相机图像,其可与当前不能从设备的传感器观察到的用户面部、头部和躯干的用户其他部分的先前图像数据组合。关于用户外观的先前数据可在通信会话期间的较早时间、在电子设备的先前使用期间、在用于从多个观点及/或条件获得用户外观的传感器数据的登记过程期间或以其他方式获得。
一些具体实施提供了在通信会话期间在除用户的物理环境之外的3D环境内用户的至少一部分的表示,并且基于检测到条件,提供用户的物理环境的另一个对象的表示以提供上下文。例如,在通信会话期间,物理环境的一个或多个其他对象的表示可被显示在视图中。例如,基于确定用户925正与物理环境902中的物理对象交互,可在视图中显示表示(例如,真实或代理)以提供用于用户925的交互的上下文。例如,如果第一用户925拾取诸如家庭相框的对象以向另一个用户示出,则视图可包括相框的真实视图(例如,实况视频)。因此,在显示XR环境时,视图可呈现表示拾取通用对象的用户的虚拟对象,显示类似于相框的虚拟对象、显示来自所获得的3D扫描的实际相框的先前采集的图像等。
图10是示出示例性方法1000的流程图。在一些具体实施中,设备(例如,图1的设备10或图9的设备965)执行方法1000的技术以根据基于3D参考点进行的对齐针对某个时间段中的多个时刻生成用户的组合3D表示。在一些具体实施中,在移动设备、台式计算机、膝上型电脑、HMD或服务器设备上执行方法1000的技术。在一些具体实施中,在处理逻辑部件(包括硬件、固件、软件或它们的组合)上执行方法1000。在一些具体实施中,在执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器上执行方法1000。
在一些具体实施中,方法1000在设备(诸如观看设备)的处理器处实现,该设备呈现组合3D表示(例如,图9的设备910根据从设备965获得的时间呈现用户960的3D表示940(头像))。
在框1002处,方法1000获得用户的至少第一部分的预定三维(3D)表示,其中预定3D表示与相对于用户的骨骼表示而定义的3D参考点相关联。例如,预定3D表示可表示用户的上身和头部。可使用像素对齐隐式函数(PIFu)技术来生成预定3D表示,该PIFu技术将2D登记图像的像素与全局背景局部对齐以形成预定3D表示(例如,图2的表示200)。
在一些具体实施中,3D参考点与用户的骨骼表示的寰椎关节的3D位置相关联。例如,3D参考点可以是头部/寰椎关节,其可通过跟踪与耳道对齐的x轴和/或法兰克福平面上的z轴来确定。在一些具体实施中,3D参考点与用户的眼睛的中心相关联,该中心限定在与寰椎关节偏移的位置处。例如,在登记过程期间,可确定为参数化网格提供中瞳孔原点的偏移。在一些具体实施中,3D参考点可以是基于骨骼的寰椎关节和用户特定的头部形状特性(例如,与基于图5A和图5B中的偏移515确定的寰椎关节520的位置相关联的3D参考点510的偏移位置)在用户的眼睛之间居中的点。
在框1004处,方法1000获得对应于一个时间段内的多个时刻的帧特定3D表示的序列,这些帧特定3D表示中的每个帧特定3D表示表示在时间段内的多个时刻中的相应时刻处用户的第二部分,并且这些帧特定3D表示中的每个帧特定3D表示与3D参考点相关联。例如,每个帧特定3D表示可表示用户的面部,因此第一部分和第二部分可重叠并表示用户的一些公共区域。
在一些具体实施中,用户的第二部分是第一部分(例如,已表示面部)的子部分(例如,仅面部)。在一些具体实施中,用户的第一部分包括面部部分和用户的附加部分,并且用户的第二部分包括面部部分而无用户的附加部分。
在一些具体实施中,每个帧特定3D表示可基于由发送设备在通信(例如,共存)会话期间捕获的传感器数据来生成。在一些具体实施中,每个帧特定3D表示可使用来自面向内/面向下相机的传感器数据并使用登记数据(例如,不同表情的面部的图像、在用户穿戴HMD时不能捕获到的面部部分的图像或者在实际使用期间不能以其他方式捕获到的部分的图像)来生成。在一些具体实施中,每个帧特定3D表示可使用相对于3D参考点定位的弯曲参数化网格来表示用户面部。
在一些具体实施中,对应于某个时间段中的多个时刻的帧特定3D表示的序列是根据基于传感器数据生成表示用户的一组值,其中该组值(例如,参数化值)可包括:i)相对于投影表面的点的多个3D位置限定用户的部分的3D位置的深度值,和ii)限定用户的这些部分的外观的外观值。例如,基于传感器数据来生成表示用户的一组值(例如,RGB值、α值和深度值-RGBDA)可涉及使用来自面向内/面向下的相机的实况传感器数据并使用登记数据,例如,在不穿戴HMD的情况下处于不同表情中的面部的图像。在一些具体实施中,生成该组值可涉及使用经训练成产生该组值的机器学习模型。
该组值可包括相对于投影表面的点的多个3D位置限定用户的部分的3D位置的深度值。例如,一个点的深度值可限定面部的一部分处于该点在表面上的位置之后的深度D1处,例如,沿着在该点处开始的正交射线(例如,图3B的射线332)处于深度D1处。在一些具体实施中,深度值限定用户的一部分与投影表面的对应点之间的距离,该对应点沿着垂直于投影表面的正交射线定位于该对应点的位置处。本文所述的技术使用与现有RGBDA图像中的深度值不同的深度值,这些深度值定义相对于单个相机位置的内容深度。外观值可包括限定用户的部分的外观的值,诸如RGB数据和α数据。例如,外观值可包括颜色、纹理、不透明度等。
在一些具体实施中,术语“表面”是指可以是平面或非平面的2D流形。在一些具体实施中,表面(例如,2D流形表面)的这些点沿着表面上的竖直线和水平线以规则间隔而间隔开。在一些具体实施中,这些点沿着部分圆柱形表面上的竖直网格线和水平网格线规则地间隔开,如图3A和图3B所示。另选地,可利用其他平面表面和非平面表面。例如,圆柱形表面的平坦表面可围绕不同的轴线取向/弯曲。附加地或领先地,平坦表面可以是半球形流形。在一些具体实施中,这些点可跨2D流形表面不均匀地分布,诸如围绕表面沿着竖直和水平网格线不规则地间隔开,但是可聚焦在用户面部的特定区域上。例如,在面部结构中可能存在较多细节/运动的一些区域可具有较多点,并且一些点可在可能存在较少细节/运动的区域中具有较少点,如前额(较少细节)和鼻部(运动不多)。例如,较高密度的点可在眼睛和嘴周围。
在一些具体实施中,基于对齐来生成该组值,使得这些点在表面的中心区域上的子集对应于用户的面部的中心部分。例如,如图3B所示,用户的鼻部的聚焦区域在区域330处,射线332的特征点是人的鼻尖。
在一些具体实施中,生成该组值进一步基于以不同姿势、和/或在用户正表达多个不同面部表情时捕获的用户的面部的图像。例如,该组值基于在用户面向相机、相机左侧和相机右侧时、和/或在用户微笑、扬起眉毛、鼓起面颊等时面部的登记图像来确定。在一些具体实施中,传感器数据仅对应于用户的第一区域(例如,未被设备(诸如HMD)遮蔽的部分),并且该组图像数据(例如,登记数据)对应于第二区域,该第二区域包括不同于第一区域的第三区域。例如,第二区域可包括当HMD由用户穿戴时被HMD遮蔽的部分中的一些部分。
在一些具体实施中,确定特定于用户的参数化(例如,生成该组值)可适于每个特定用户。例如,参数化可以是基于登记身份固定的(例如,以更好地覆盖人的头部尺寸或鼻部形状),或者参数化可以基于当前表情(例如,当嘴部张开时,参数化可以变得更长)。在示例性具体实施中,方法1000还可包括:获得与第二时间段相关联的用户的附加传感器数据;基于针对第二时间段的附加传感器数据来更新表示用户的该组值;以及提供经更新的该组值,其中基于经更新的该组值在第二时间段更新用户的描绘(例如,基于当前表情来更新该组值,使得当嘴部张开时,参数化也变得更长)。
在一些具体实施中,生成表示用户的该组值基于经训练成产生该组值的机器学习模型。例如,由机器学习模型(例如,经训练的神经网络)提供用于生成预定表示指令集830的表示数据832和/或帧特定表示指令集840的参数化数据的过程以识别登记数据822和传感器数据815(实况图像数据,诸如图像816)中的纹理(或其他特征)中的图案。此外,可使用机器学习模型使这些图案与对应于用户25的学习到的图案(诸如微笑、皱眉、谈话等)匹配。例如,当由牙齿露出确定微笑图案时,还可存在当用户微笑时他或她也会改变的面部的其他部分(例如,面颊运动、眉毛等)的确定。在一些具体实施中,本文所述的技术可学习特定于图1的特定用户25的图案。
在框1006处,方法1000针对该时间段中的多个时刻生成用户的组合3D表示,其中该组合3D表示中的每个组合3D表示通过基于对齐将预定3D表示与相应的帧特定3D表示组合来生成,其中对齐基于3D参考点。在一些具体实施中,帧特定3D表示可各自表示用户的第二部分,该第二部分是第一部分(例如,已表示面部)的子部分(例如,仅面部),使得可通过简单地调整预定3D表示的该子部分(例如,面部部分)来将帧特定3D表示与预定3D表示组合。
在一些具体实施中,获得帧特定3D表示可涉及调整预定3D表示的顶点中的一些顶点的位置,并且然后基于帧特定3D表示中的每个帧特定3D表示来应用纹理/颜色。这可对预定子部分(例如,面部)进行变形和着色,以对应于在每个时刻用户的该部分(例如,面部)的实时形状和颜色。
在使用参数化网格(例如,高度场图)来定义帧特定3D表示的一些具体实施中,可通过基于3D参考点(例如,图6的3D参考点602和624)将预定3D表示的顶点映射到参数化网格上的位置来促进数据的组合。使用3D参考点进行的映射使得在参数化网格上指定的帧特定面部数据能够直接用于调整预定3D表示的顶点的位置。在一些具体实施中,可通过将顶点的预定顶点位置与其帧特定数据顶点位置混合来调整顶点的位置(例如,使用指定的α值)。换句话讲,可将预定3D表示顶点映射到参数化网格上,可使用实况面部数据来调整参数化网格,并且经调整的参数化网格表示用户将预定3D表示与帧特定3D表示中的一个帧特定3D表示组合的组合3D表示。在一些具体实施中,可在登记过程期间确定映射。
在一些具体实施中,将预定3D表示与相应的帧特定3D表示组合包括调整预定3D表示的子部分(例如,面部部分)。在一些具体实施中,调整预定3D表示的子部分包括调整预定3D表示的顶点的位置以及基于帧特定3D表示中的每个帧特定3D表示来应用纹理。例如,调整可对预定子部分(例如,面部)进行变形和着色,以对应于在每个时刻用户的该部分(例如,面部)的实时形状和颜色。
在一些具体实施中,方法1000还可包括呈现组合3D表示的视图。在一些具体实施中,如图9所示,呈现在通信会话期间发生,在该通信会话中,第二设备(例如,设备965)捕获传感器数据(例如,用户960和环境950的一部分的图像数据)并基于传感器数据提供对应于时间段中的多个时刻的帧特定3D表示的序列。例如,第二设备965向设备910提供/传输帧特定3D表示的序列,并且设备910生成组合3D表示以显示用户960(例如,用户960的表示940)的实况3D视频状面部描绘(例如,逼真的移动头像)。另选地,在一些具体实施中,第二设备在通信会话期间提供用户的预定3D表示(例如,用户960的表示940)(例如,逼真的移动头像)。例如,在设备965处确定组合表示并将该组合表示发送到设备910。在一些具体实施中,组合3D表示的视图相对于时间段中的多个时刻实时显示在设备(例如,设备910)上。例如,用户的描绘被实时显示(例如,在第二用户的第二设备的显示器上向第二用户示出的头像)。
在一些具体实施中,提供该组值包括在与第二设备的通信会话期间发送3D视频数据的帧序列,该帧序列包括含有该组值的帧,其中第二设备基于该3D视频数据的帧序列来呈现用户的动画描绘。例如,该组点可以是在与另一个设备的通信会话期间发送的3D视频数据的帧,并且该另一个设备使用该组值(连同关于如何解译深度值的信息)来呈现用户的面部的视图。附加地或另选地,面部数据的连续帧(表示用户面部在不同时间点处的3D形状和外观的值集合)可被传输并用于显示实况3D视频状面部描绘。
在一些具体实施中,用户的描绘可包括足够的数据以实现用户的立体视图(例如,左/右眼视图),使得可以一定深度感知到面部。在一个具体实施中,面部的描绘包括面部的3D模型,并且生成从左眼位置和右眼位置看到的表示的视图以提供面部的立体视图。
在一些具体实施中,可能对于传达逼真或如实外观很重要的面部的某些部分(诸如眼睛和嘴部)可以与面部的其他部分不同的方式生成。例如,可能对于传达逼真或如实外观很重要的面部的部分可基于当前相机数据,而面部的其他部分可基于先前获得的(例如,登记)面部数据。
在一些具体实施中,以各种面部部分的纹理、颜色和/或几何形状生成面部的表示,该面部的表示识别该生成技术按每个数据帧对于此类纹理、颜色和/或几何形状基于深度值和外观值准确地对应于那些面部部分的真实纹理、颜色和/或几何形状有多大置信度的估计值。在一些具体实施中,描绘是3D头像。例如,该表示是表示用户(例如,图1的用户25)的3D模型。
在一些具体实施中,预定3D表示和/或帧特定3D表示序列是基于获得用户的传感器数据。例如,传感器数据(例如,实况数据,诸如包括光强度数据(RGB)和深度数据的视频内容)与时间点相关联,诸如在用户穿戴HMD时来自面向内/面向下传感器(例如,图1中示出的传感器35a、35b、35c)的图像与帧相关联。在一些具体实施中,传感器数据包括在扫描过程期间获得的深度数据(例如,红外、飞行时间等)和光强度图像数据。
在一些具体实施中,获得传感器数据可包括在多个配置中从设备获得对应于用户的面部的特征(例如,纹理、肌肉激活、形状、深度等)的第一组数据(例如,登记数据)(例如,图7的登记图像数据710)。在一些具体实施中,第一组数据包括用户的面部的无阻挡图像数据。例如,可在用户微笑、扬起眉毛、鼓起面颊等时捕获面部的图像。在一些具体实施中,可通过以下方式获得登记数据:用户取下该设备(例如,HMD)并且在该设备未遮盖面部的情况下捕获图像,或在该设备(例如,HMD)未遮盖面部的情况下使用另一个设备(例如,移动设备)。在一些具体实施中,从光强度图像(例如,RGB图像)采集登记数据(例如,第一组数据)。登记数据可包括大部分(如果不是所有的话)的用户面部的纹理、肌肉激活等。在一些具体实施中,可在向用户提供用于采集用户面部的不同姿势的不同指令时捕获登记数据。例如,用户界面指南可指示用户“扬起您的眉毛”、“微笑”、“皱眉”等以便为该系统提供用于登记过程的一系列面部特征。
在一些具体实施中,获得传感器数据可包括在用户使用(例如,穿戴)电子设备(例如,HMD)时从一个或多个图像传感器获得与面部的一个或多个局部视图相对应的第二组数据。例如,获得传感器数据包括图7的实况图像数据720。在一些具体实施中,第二组数据包括用户的面部的局部图像,因此可能不表示登记数据中表示的面部的所有特征。例如,第二组图像可包括来自面向上的传感器(例如,图1的传感器35a)的前脸/眉眼中的一些的图像(例如,面部特征特性数据40a)。附加地或另选地,第二组图像可包括来自面向内的传感器(例如,图1的传感器35a)的眼睛中的一些的图像(例如,眼睛注视特性数据40b)。附加地或另选地,第二组图像可包括来自面向下的传感器(例如,图1的传感器35c)的面颊、嘴部和下颌中的一些的图像(例如,面部特征特性数据40c)。在一些具体实施中,电子设备包括第一传感器(例如,图1的传感器35a)和第二传感器(例如,图1的传感器35c),其中从来自第一传感器的从第一视点看到的用户的面部的至少一个局部图像(例如,上部面部特性数据40a)以及从来自第二传感器的从与第一视点不同的第二视点看到的用户的面部的至少一个局部图像(例如,下部面部特性数据40c)获得第二组数据(例如,多个IFC相机用于捕获用户的面部和身体运动的不同视点)。
在一些具体实施中,可针对在实况通信会话或其他体验的每个时刻/帧期间捕获的每个帧重复方法1000。例如,对于每次迭代,在用户正使用该设备(例如,穿戴HMD)时,方法1000可涉及连续地获得实况传感器数据(例如,眼睛注视特性数据和面部特征数据),并且对于每个帧,基于帧特定3D表示序列的更新的参数化值(例如,RGBDA值)来更新该表示的显示的部分。例如,对于每个新帧,该系统可更新参数化值以基于新数据来更新3D头像的显示。
图11示出了用于实现基于预定3D表示中的颜色和样本3D表示中的颜色来调整预定3D表示的一个或多个颜色的过程的示例性环境1100。环境1100示出了根据本文所述的技术的基于预定3D表示数据1110(例如,用户的上身和头部的基于PIFU的3D表示)与帧特定表示数据1120(例如,基于可在每帧更新的参数化网格的用户的头部/面部的3D表示数据)的组合对颜色的调整以生成经调整组合表示1130。预定3D表示数据1110包括可变换为重建表示数据1114的不一致表示数据1112。例如,不一致表示数据1112示出来自PIFu算法的实际输入纹理数据,该实际输入纹理数据是不同的并且可能难以与其他表示数据相关。因此,不一致表示数据1112可被重建为重建的表示数据1114,该重建的表示数据然后可与其他表示数据(诸如本文所述的帧特定表示数据)映射/组合。例如,过程可包括通过基于预定3D表示中的颜色和帧特定3D表示(帧特定表示数据1120)中的颜色调整预定3D表示的一个或多个颜色来调整预定3D表示(重建的表示数据1114)。例如,调整可基于变换(例如,使用Monge-Kanorovich颜色转移技术来确定)。在一些具体实施中,可通过将预定表示重建到与样本3D重建相同的空间中来促进确定这样的变换。在一些具体实施中,调整预定3D表示包括基于预定3D表示和样本3D表示生成变换。在一些具体实施中,生成变换包括计算对应于用户的一部分的第一3D表示的平均颜色,计算对应于用户的该部分(例如,同一部分)的样本3D表示的第二平均颜色,以及基于第一平均颜色和第二平均颜色来导出变换,其中该变换是线性变换矩阵。例如,生成变换可包括应用Monge-Kantorovich颜色转移技术来导出线性矩阵,其中该矩阵将颜色从PIFu图像映射到基于参数化的图像,同时保留PIFu图像的细节。如本文所述的变换的使用提供了包括更一致的头发和皮肤颜色(例如,更逼真的头像)的3D表示的结果。
图12示出了根据一些具体实施的用于实现基于对图10的3D表示的一个或多个颜色的调整来生成用户的3D表示过程的示例型环境1200。环境1000示出了根据本文所述的技术的用于基于利用预定3D表示数据1210、帧特定表示数据1220(例如,基于参数化的图像(参数化网格622)或高度场图)和颜色变换1230来生成组合表示1240的颜色调整过程。例如,如环境1200中所示的过程可包括调整经由第一技术确定的用户的第一部分(例如,头部、毛发、上身、衣服等)的第一3D表示的颜色(例如,PIFu-预定3D表示1210)。可使用经由第二不同技术确定的用户的第二部分的样本3D表示(例如,帧特定表示1220(例如,面部的高度场表示))来调整颜色。例如,可利用登记时捕获的样本中的面部/头发。根据本文所述的技术进行的颜色调整在通过将第一3D表示与经由第二技术生成的一个或多个第二3D表示(例如,帧特定3D表示)组合而生成的组合3D表示中提供更好的颜色匹配(例如,帧特定3D表示数据的实况序列,诸如表示如本文所述的用户面部在某个时间点的3D形状和外观的该组值)。例如,预定3D表示数据1210可以是基于PIFu的,并且可被调整使得颈部颜色更好地匹配帧特定3D面部表示1220的面部颜色。可使用变换1230来调整颜色(例如,使用Monge-Kanorovich颜色转移技术等来确定)。可通过将预定3D表示数据1210重建到与帧特定3D面部表示1220相同的空间中来促进确定变换1230。例如,颜色变换1230可包括在UV空间中重建PIFu表示。这使得能够基于对应用户部分的颜色的比较来进行更准确的变换。
在一些具体实施中,将颜色调整应用于预定3D表示数据1210的其他部分(诸如用户的手),其中数据与帧特定表示数据1220不重叠,该帧特定表示信息可仅对应于用户的面部和/或头部(例如,设计用于在通信会话期间更新面部特征的圆柱形2D形状)。在一些具体实施中,可利用过滤技术来识别帧特定表示数据1220中对应于非皮肤特征(例如,头发、衣服等)的不同部分。在一些具体实施中,过滤帧特定表示数据1220包括识别样本3D表示中对应于用户的头发或衣服的部分。在一些具体实施中,过滤样本3D表示包括从经过滤的样本3D表示中排除非皮肤特征。此类非皮肤特征可经由算法或机器学习模型(例如,使用语义分割算法或模型)来识别。在一些具体实施中,过滤样本3D表示包括基于亮度排除样本3D表示的部分(例如,仅取前25%来解决阴影问题)。在一些具体实施中,调整第一3D表示包括基于第一3D表示和经过滤样本3D表示来生成变换。在一些具体实施中,调整第一3D表示包括应用变换以改变第一3D表示的每个子部分(例如,纹素)(例如,校正手的所有部分的颜色)。
在一些具体实施中,调整过程还包括重建预定3D表示数据1210以使用与帧特定表示数据1220相同的空间。在一些具体实施中,重建第一3D表示包括生成第一3D表示的纹理参数化。在一些具体实施中,样本3D表示包括表示第二部分的3D外观的2D高度场数据,并且重建预定3D表示数据1210包括构建2D UV位置和索引的包围体层次(BVH)以将样本3D表示的高度场的2D坐标映射到第一3D表示的子部分,以及基于该构建表示2D高度场中的第一3D表示(例如,利用“PIFu-uvBVH”数据-2D UV位置和索引的BVH)。例如,uvBVH可用于将2D UV坐标映射到3D三角形索引。将2D UV坐标映射到3D三角形索引允许找到引用第一3D表示的纹理数据的有效部分的三角形。附加地,可利用三角形索引来映射到样本3D表示的UV坐标,并重建与样本3D表示对齐的第一3D表示(例如,PIFu表示)的2D图像。
图13是示出示例性方法1300的流程图。在一些具体实施中,设备(例如,图1的设备10或图9的设备965)执行用于调整3D表示中的一个或多个颜色以用于生成组合3D表示的方法1300的技术。在一些具体实施中,在移动设备、台式计算机、膝上型电脑、HMD或服务器设备上执行方法1300的技术。在一些具体实施中,在处理逻辑部件(包括硬件、固件、软件或它们的组合)上执行方法1300。在一些具体实施中,方法1300在执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器上执行。
在一些具体实施中,方法1300在设备(例如,观看设备)的处理器处实现,该设备呈现组合3D表示。例如,图9的设备910根据从设备965获得的数据呈现用户960的3D表示940(头像)。
在框1302处,方法1300获得用户的至少第一部分的第一3D表示,其中第一3D表示经由第一技术来生成。例如,第一3D表示可表示上身和头部。在一些具体实施中,可使用PIFu技术来生成第一3D表示,该PIFu技术将2D登记图像的像素与全局背景局部对齐以形成第一3D表示。
在框1304处,方法1300获得用户的至少第二部分的样本3D表示,其中样本3D表示经由与第一技术不同的第二技术来生成,并且第一部分表示与用户的第二部分(例如,仅面部和头发)不同的用户的至少一部分(例如,颈部、衣服等)。例如,样本3D表示可以是来自登记的基于样本参数化的表示(例如,参数化图像320),诸如本文所讨论的帧特定3D表示数据。
在一些具体实施中,用户的第一部分表示用户的面部、头发、颈部、上身和/或衣服,并且第二部分仅表示用户的面部和/或头发。
在框1306处,方法1300通过基于第一3D表示中的颜色和样本3D表示中的颜色调整第一3D表示的一个或多个颜色来调整第一3D表示。例如,调整可基于变换(例如,使用Monge-Kanorovich颜色转移技术来确定)。在一些具体实施中,可通过将第一表示重建到与样本3D重建相同的空间中来促进确定这样的变换。
在一些具体实施中,调整第一3D表示包括基于第一3D表示和样本3D表示生成变换。在一些具体实施中,生成变换包括计算对应于用户的一部分的第一3D表示的平均颜色,计算对应于用户的该部分(例如,同一部分)的样本3D表示的第二平均颜色,以及基于第一平均颜色和第二平均颜色来导出变换,其中该变换是线性变换矩阵。例如,生成变换可包括应用Monge-Kantorovich颜色转移技术来导出线性矩阵,其中该矩阵将颜色从PIFu图像映射到基于参数化的图像,同时保留PIFu图像的细节。如本文所述的变换的使用提供了包括更一致的头发和皮肤颜色(例如,更逼真的头像)的3D表示的结果。
在一些具体实施中,调整第一3D表示包括将第一3D表示重建到与样本3D表示相同的空间(例如,2D高度场空间)中,基于重建的第一3D表示和样本3D表示确定变换,以及基于变换调整第一3D表示。在一些具体实施中,调整第一3D表示包括应用变换以改变第一3D表示的每个子部分(例如,纹素)。例如,应用变换可用于校正3D表示的所有部分的颜色(例如,校正颈部、衣服和其他元素以避免颜色的不连续性,因为存在附加部分也可能需要颜色校正的假设)。
在框1308处,方法1300提供经调整第一3D表示以用于生成组合3D表示,该组合3D表示将经调整第一3D表示与一个或多个第二3D表示组合,其中第二3D表示经由第二技术来生成。例如,提供来自登记的经调整PIFu数据以供在实况通信会话期间使用,其中该经调整PIFu数据与帧特定的、基于实况参数化的表示数据(诸如如本文讨论的帧特定3D表示数据)组合。
在一些具体实施中,方法1300还包括重建第一3D表示以使用与样本3D表示相同的空间。在一些具体实施中,重建第一3D表示包括生成第一3D表示的纹理参数化。在一些具体实施中,样本3D表示包括表示第二部分的3D外观的2D高度场数据,并且重建第一3D表示包括构建2D UV位置和索引的包围体层次以将样本3D表示的高度场的2D坐标映射到第一3D表示的子部分,以及基于该构建表示2D高度场中的第一3D表示(例如,利用“PIFu-uvBVH”数据-2D UV位置和索引的BVH)。
图14是示出示例性方法1400的流程图。在一些具体实施中,设备(例如,图1的设备10或图9的设备965)执行用于调整3D表示中的一个或多个颜色以用于基于过滤所识别部分(例如,从用户的头部/面部过滤手和衣服)生成组合3D表示的方法1400的技术。在一些具体实施中,在移动设备、台式计算机、膝上型电脑、HMD或服务器设备上执行方法1400的技术。在一些具体实施中,在处理逻辑部件(包括硬件、固件、软件或它们的组合)上执行方法1400。在一些具体实施中,在执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器上执行方法1400。
在一些具体实施中,方法1400在设备(例如,观看设备)的处理器处实现,该设备呈现组合3D表示。例如,图9的设备910根据从设备965获得的数据呈现用户960的3D表示940(头像)。
在框1402处,方法1400获得用户(例如,手)的至少第一部分的第一3D表示。在一些具体实施中,经由第一技术生成第一3D表示。例如,第一3D表示可表示上身、头部和手。在一些具体实施中,可使用PIFu技术来生成第一3D表示,该PIFu技术将2D登记图像的像素与全局背景局部对齐以形成第一3D表示。
在框1404处,方法1400获得用户的至少第二部分的样本3D表示,其中第一部分表示与用户的第二部分(例如,仅面部和头发)不同的用户的至少一部分(例如,仅手)。在一些具体实施中,经由与第一技术不同的第二技术生成样本3D表示。例如,样本3D表示可以是来自登记的基于样本参数化的表示(例如,参数化图像320),诸如本文所讨论的帧特定3D表示数据。
在一些具体实施中,第一部分包括用户的手并且第二部分包括用户的面部和/或头发。在一些具体实施中,用户的第一部分和第二部分不重叠。例如,第一部分仅包括用户的手,并且第二部分仅包括用户的面部和/或头发。
在框1406处,方法1400基于识别样本3D表示中对应于非皮肤特征(例如,头发、衣服等)的部分来过滤样本3D表示。在一些具体实施中,过滤样本3D表示包括识别样本3D表示中对应于用户的头发或衣服的部分。在一些具体实施中,过滤样本3D表示包括从经过滤的样本3D表示中排除非皮肤特征。在一些具体实施中,过滤样本3D表示包括基于亮度排除样本3D表示的部分(例如,取前25%来解决任何阴影问题)。
在框1408处,方法1400通过基于第一3D表示中的颜色和经过滤样本3D表示中的颜色调整第一3D表示的一个或多个颜色来调整第一3D表示。例如,调整可基于变换(例如,使用Monge-Kanorovich颜色转移技术来确定)。在一些具体实施中,可通过将第一表示重建到与样本3D重建相同的空间中来促进确定这样的变换。
在一些具体实施中,调整第一3D表示包括基于第一3D表示和经过滤样本3D表示来生成变换。在一些具体实施中,调整第一3D表示包括应用变换以改变第一3D表示的每个子部分(例如,纹素)(例如,校正手的所有部分的颜色)。
在框1408处,方法1400提供经调整第一3D表示以用于生成组合3D表示,该组合3D表示将经调整第一3D表示与一个或多个第二3D表示组合。在一些具体实施中,经由第二技术生成第二3D表示。例如,提供来自登记的经调整PIFu数据以供在实况通信会话期间使用,其中该经调整PIFu数据与帧特定的、基于实况参数化的表示数据(诸如如本文讨论的帧特定3D表示数据)组合(例如,针对每一帧组合手和面部)。
在一些具体实施中,方法1400还包括重建第一3D表示以使用与样本3D表示相同的空间。在一些具体实施中,重建第一3D表示包括生成第一3D表示的纹理参数化。在一些具体实施中,样本3D表示包括表示第二部分的3D外观的2D高度场数据,并且重建第一3D表示包括构建2D UV位置和索引的包围体层次以将样本3D表示的高度场的2D坐标映射到第一3D表示的子部分,以及基于该构建表示2D高度场中的第一3D表示(例如,利用“PIFu-uvBVH”数据-2D UV位置和索引的BVH)。
图15是示例性设备1500的框图。设备1500示出了本文所述的设备(例如,设备10、设备965等)的示例性设备配置。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,设备1500包括一个或多个处理单元1502(例如,微处理器、ASIC、FPGA、GPU、CPU、处理核心等)、一个或多个输入/输出(I/O)设备和传感器1506、一个或多个通信接口1508(例如,USB、FIREWIRE、THUNDERBOLT、IEEE802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、IR、BLUETOOTH、ZIGBEE、SPI、I2C和/或类似类型的接口)、一个或多个编程(例如,I/O)接口1510、一个或多个显示器1512、一个或多个面向内部和/或面向外部的图像传感器系统1514、存储器1520以及用于互连这些部件和各种其他部件的一条或多条通信总线1504。
在一些具体实施中,该一条或多条通信总线1504包括互连系统部件并控制系统部件之间的通信的电路。在一些具体实施中,一个或多个I/O设备及传感器1506包括以下各项中的至少一者:惯性测量单元(IMU)、加速度计、磁力计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血氧传感器、血糖传感器等)、一个或多个麦克风、一个或多个扬声器、触觉引擎或者一个或多个深度传感器(例如,结构光、渡越时间等)等。
在一些具体实施中,一个或多个显示器1512被配置为向用户呈现物理环境或图形环境的视图。在一些具体实施中,一个或多个显示器1512对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射器显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电系统(MEMS)和/或类似显示器类型。在一些具体实施中,一个或多个显示器1512对应于衍射、反射、偏振、全息等波导显示器。例如,设备10包括单个显示器。又如,设备10包括针对用户的每只眼睛的显示器。
在一些具体实施中,一个或多个图像传感器系统1514被配置为获得对应于物理环境105的至少一部分的图像数据。例如,一个或多个图像传感器系统1514包括一个或多个RGB相机(例如,具有互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器)、单色相机、IR相机、深度相机、基于事件的相机等。在各种具体实施中,一个或多个图像传感器系统1514还包括发射光的照明源,诸如闪光灯。在各种具体实施中,一个或多个图像传感器系统1514还包括相机上图像信号处理器(ISP),该ISP被配置为对图像数据执行多个处理操作。
存储器1520包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些具体实施中,存储器1520包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器1520可选地包括与一个或多个处理单元1502远程定位的一个或多个存储设备。存储器1520包括非暂态计算机可读存储介质。
在一些具体实施中,存储器1520或存储器1520的非暂态计算机可读存储介质存储可选的操作系统1530和一个或多个指令集1540。操作系统1530包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些具体实施中,指令集1540包括由以电荷形式存储的二进制信息定义的可执行软件。在一些具体实施中,指令集1540是能够由一个或多个处理单元1502执行以实施本文所述技术中的一种或多种的软件。
指令集1540包括登记指令集1542、预定表示指令集1544、帧特定表示指令集1546和组合表示指令集1548。指令集1540可体现为单个软件可执行文件或多个软件可执行文件。
在一些具体实施中,登记指令集1542能够由处理单元1502执行以从图像数据生成登记数据。登记指令集1542(例如,图8的登记指令集820)可被配置为向用户提供指令以便采集图像信息来生成登记化身(例如,登记图像数据824)并且确定是否需要附加图像信息来生成将由头像显示过程使用的准确登记化身。出于这些目的,在各种具体实施中,该指令包括指令和/或用于该指令的逻辑以及启发法和用于该启发法的元数据。
在一些具体实施中,预定表示指令集1544(例如,图8的预定表示指令集830)能够由处理单元1502执行以通过本文讨论的技术中的一种或多种技术或另有可能适当的技术来基于登记信息生成用户的3D表示(例如,PIFu信息)。出于这些目的,在各种具体实施中,该指令包括指令和/或用于该指令的逻辑以及启发法和用于该启发法的元数据。
在一些具体实施中,帧特定表示指令集1546(例如,图8的帧特定表示指令集840)能够由处理单元1502执行以通过使用本文讨论的技术中的一种或多种技术或另有可能适当的技术来参数化用户的面部特征和眼睛注视特性(例如,生成外观值和深度值)。出于这些目的,在各种具体实施中,该指令包括指令和/或用于该指令的逻辑以及启发法和用于该启发法的元数据。
在一些具体实施中,组合表示指令集1548(例如,图8的组合表示指令集850)能够由处理单元1502执行以基于预定表示(例如,PIFu数据)和第二数据集(例如,参数化数据)来生成并显示用户的面部的组合表示(例如,3D头像)。出于这些目的,在各种具体实施中,该指令包括指令和/或用于该指令的逻辑以及启发法和用于该启发法的元数据。
尽管指令集1540被示出为驻留在单个设备上,但应当理解,在其他具体实施中,元件的任何组合可位于单独的计算设备中。此外,图15更多地用作存在于特定具体实施中的各种特征部的功能描述,该各种特征部与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。指令集的实际数量以及如何在其中分配特征将根据具体实施而变化,并且可以部分地取决于为特定具体实施选择的硬件、软件和/或固件的特定组合。
图16示出了根据一些具体实施的示例性头戴式设备1600的框图。头戴式设备1600包括容纳头戴式设备1600的各种部件的外壳1601(或壳体)。外壳1601包括(或耦接到)设置在外壳1601的近侧(用户25的)端部处的眼垫(未示出)。在各种具体实施中,眼垫是塑料或橡胶件,其舒适且贴合地将头戴式设备1600保持在用户25的面部上的适当位置(例如,围绕用户25的眼睛)。
外壳1601容纳显示器1610,该显示器显示图像、朝向用户25的眼睛发射光或将光发射到该用户的眼睛上。在各种具体实施中,显示器1610通过具有一个或多个光学元件1605的目镜发射光,该一个或多个光学元件折射由显示器1610发射的光,使显示器对用户25显示为比从眼睛到显示器1610的实际距离更远的虚拟距离。例如,光学元件1605可包括一个或多个透镜、波导、其他衍射光学元件(DOE)等。为了使用户25能够聚焦在显示器1610上,在各种具体实施中,虚拟距离至少大于眼睛的最小焦距(例如,7cm)。此外,为了提供更好的用户体验,在各种具体实施中,虚拟距离大于1米。
外壳1601还容纳跟踪系统,该跟踪系统包括一个或多个光源1622、相机1624、相机1632、相机1634和控制器1680。一个或多个光源1622将光发射到用户25的眼睛上,其反射为可由相机1624检测的光图案(例如,闪光圈)。基于该光图案,控制器1680可确定用户25的眼动跟踪特性。例如,控制器1680可确定用户25的注视方向和/或眨眼状态(睁眼或闭眼)。又如,控制器1680可确定瞳孔中心、瞳孔大小或关注点。因此,在各种具体实施中,光由一个或多个光源1622发射,从用户25的眼睛反射,并且由相机1624检测。在各种具体实施中,来自用户25的眼睛的光在到达相机1624之前从热镜反射或通过目镜。
显示器1610发射第一波长范围内的光,并且一个或多个光源1622发射第二波长范围内的光。类似地,相机1624检测第二波长范围内的光。在各种具体实施中,第一波长范围是可见波长范围(例如,可见光谱内大约为400nm-700nm的波长范围),并且第二波长范围是近红外波长范围(例如,近红外光谱内约为700nm-1400nm的波长范围)。
在各种具体实施中,眼睛跟踪(或者具体地讲,确定的注视方向)用于使用户能够进行交互(例如,用户25通过观看显示器1610上的选项来选择它),提供有孔的渲染(例如,在用户25正在观看的显示器1610的区域中呈现更高的分辨率并且在显示器1610上的其他地方呈现更低的分辨率),或者校正失真(例如,对于要在显示器1610上提供的图像)。在各种具体实施中,一个或多个光源1622朝向用户25的眼睛发射光,该光以多个闪光的形式反射。
在各种具体实施中,相机1624是基于帧/快门的相机,其以帧速率在特定时间点或多个时间点生成用户25的眼睛的图像。每个图像包括对应于图像的像素的像素值的矩阵,所述像素对应于相机的光传感器矩阵的位置。在具体实施中,每个图像用于通过测量与用户瞳孔中的一者或两者相关联的像素强度的变化来测量或跟踪瞳孔扩张。
在各种具体实施中,相机1624是包括在多个相应位置处的多个光传感器(例如,光传感器矩阵)的事件相机,该事件相机响应于特定光传感器检测到光强度变化而生成指示特定光传感器的特定位置的事件消息。
在各种具体实施中,相机1632和相机1634是基于帧/快门的相机,其可以帧速率在特定时间点或多个时间点生成用户25的面部的图像。例如,相机1632捕获眼睛下方的用户面部的图像,并且相机1634捕获眼睛上方的用户面部的图像。相机1632和相机1634所捕获的图像可包括光强度图像(例如,RGB)和/或深度图像数据(例如,飞行时间、红外等)。
应当理解,上文所描述的具体实施以示例的方式引用,并且本公开不限于上文已特别示出和描述的内容。相反地,范围包括上文所描述的各种特征的组合和子组合两者,以及本领域的技术人员在阅读前述描述时将想到的并且在现有技术中未公开的所述各种特征的变型和修改。
如上所述,本发明技术的一个方面是收集和使用生理数据以改善用户在与电子内容进行交互方面的电子设备体验。本公开设想,在一些情况下,该所收集的数据可包括唯一地识别特定人员或者可用于识别特定人员的兴趣、特点或倾向性的个人信息数据。此类个人信息数据可包括生理数据、人口数据、基于位置的数据、电话号码、电子邮件地址、家庭地址、个人设备的设备特征或任何其他个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可用于改进电子设备的交互和控制能力。因此,使用此类个人信息数据使得能够对电子设备进行有计划的控制。此外,本公开还预期个人信息数据有益于用户的其他用途。
本公开还设想到负责此类个人信息和/或生理数据的收集、分析、公开、传送、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私实践。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法用途之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。
不管前述情况如何,本公开还设想用户选择性地阻止使用或访问个人信息数据的具体实施。即本公开预期设想可提供硬件元件或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就为用户定制的内容递送服务而言,本发明的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。在另一示例中,用户可选择不为目标内容递送服务提供个人信息数据。在又一示例中,用户可选择不提供个人信息,但允许传输匿名信息以用于改进设备的功能。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可通过基于非个人信息数据或绝对最低量的个人信息诸如与用户相关联的设备所请求的内容、对内容递送服务可用的其他非个人信息或公开可用的信息来推断偏好或设置,从而选择内容并将该内容递送至用户。
在一些实施方案中,使用仅允许数据的所有者解密存储的数据的公钥/私钥系统来存储数据。在一些其他具体实施中,数据可匿名存储(例如,无需识别和/或关于用户的个人信息,诸如法定姓名、用户名、时间和位置数据等)。这样,其他用户、黑客或第三方就无法确定与存储的数据相关联的用户的身份。在一些具体实施中,用户可从不同于用于上载存储的数据的用户设备的用户设备访问他或她的存储的数据。在这些情况下,用户可能需要提供登录凭据以访问其存储的数据。
本文阐述了许多具体细节以提供对要求保护的主题的全面理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、装置或系统,以便不使要求保护的主题晦涩难懂。
除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“标识”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。
本文论述的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机系统,其访问存储的软件,该软件将计算系统从通用计算装置编程或配置为实现本发明主题的一种或多种具体实施的专用计算装置。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。
本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合或者分成子框。某些框或过程可以并行执行。
本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。
还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种对象,但是这些对象不应当被这些术语限定。这些术语只是用于将一个对象与另一对象区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。
本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”或“包含”在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、对象或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、对象、部件或其分组。
如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。
本发明的前述描述和概述应被理解为在每个方面都是例示性和示例性的,而非限制性的,并且本文所公开的本发明的范围不仅由例示性具体实施的详细描述来确定,而是根据专利法允许的全部广度。应当理解,本文所示和所述的具体实施仅是对本发明原理的说明,并且本领域的技术人员可以在不脱离本发明的范围和实质的情况下实现各种修改。

Claims (25)

1.一种方法,包括:
在设备的处理器处:
获得用户的至少第一部分的预定三维(3D)表示,其中所述预定3D表示与相对于所述用户的骨骼表示而定义的3D参考点相关联;
获得对应于一个时间段内的多个时刻的帧特定3D表示的序列,所述帧特定3D表示中的每个帧特定3D表示表示在所述时间段内的所述多个时刻中的相应时刻处所述用户的第二部分,
并且所述帧特定3D表示中的每个帧特定3D表示与所述3D参考点相关联;以及
针对所述时间段内的所述多个时刻生成所述用户的组合3D表示,其中所述组合3D表示中的每个组合3D表示是通过基于对齐将所述预定3D表示与相应的帧特定3D表示组合来生成的,其中所述对齐基于所述3D参考点。
2.根据权利要求1所述的方法,其中所述用户的所述第二部分是所述第一部分的子部分。
3.根据权利要求2所述的方法,其中:
所述用户的所述第一部分包括面部部分和所述用户的附加部分;并且
所述用户的所述第二部分包括所述面部部分而无所述用户的所述附加部分。
4.根据权利要求1所述的方法,其中所述3D参考点与所述用户的骨骼表示的寰椎关节的3D位置相关联。
5.根据权利要求4所述的方法,其中所述3D参考点与所述用户的眼睛的中心相关联,所述中心限定在与所述寰椎关节偏移的位置处。
6.根据权利要求1所述的方法,其中将所述预定3D表示与所述相应的帧特定3D表示组合包括调整所述预定3D表示的子部分。
7.根据权利要求6所述的方法,其中调整所述预定3D表示的所述子部分包括调整所述预定3D表示的顶点的位置以及基于所述帧特定3D表示中的每个帧特定3D表示来应用纹理。
8.根据权利要求1所述的方法,其中使用在与所述3D参考点在位置上相关联的高度场内指定的高度值来定义所述帧特定3D表示中的每个帧特定3D表示。
9.根据权利要求8所述的方法,其中将所述预定3D表示的顶点映射到所述高度场上的位置并与高度值相关联,其中基于所述3D参考点来映射所述顶点。
10.根据权利要求9所述的方法,其中将所述预定3D表示与所述帧特定3D表示中的每个帧特定3D表示组合包括基于针对所述相应的帧特定3D表示指定的所述高度值来调整所述高度值中与所述顶点相关联的至少一些高度值。
11.根据权利要求10所述的方法,其中调整所述顶点包括使用指定α值将所述高度值中与所述顶点相关联的至少一些高度值与针对所述相应的帧特定3D表示指定的所述高度值混合。
12.根据权利要求11所述的方法,其中调整所述顶点包括使用所述指定α值将与所述顶点相关联的至少一些纹理值与针对所述相应的帧特定表示指定的纹理值混合。
13.根据权利要求1所述的方法,其中由所述预定3D表示所表示的所述第一部分表示所述用户的上身和头部。
14.根据权利要求1所述的方法,其中使用像素对齐隐式函数(PIFu)技术来生成所述预定3D表示,所述PIFu技术将2D登记图像的像素与全局背景局部对齐以形成所述预定3D表示。
15.根据权利要求1所述的方法,其中基于来自面向内或面向下相机的传感器数据并基于登记数据来生成所述帧特定3D表示中的每个帧特定3D表示,其中所述登记数据包括所述用户的所述第二部分的表现出多个不同面部表情的图像。
16.根据权利要求1所述的方法,其中所述帧特定3D表示中的每个帧特定3D表示包括在所述时间段中的所述多个时刻中的相应时刻处所述用户的骨骼表示的配置,其中基于所述骨骼表示的节点来定义所述3D参考点。
17.根据权利要求1所述的方法,还包括:
呈现所述组合3D表示的视图。
18.根据权利要求17所述的方法,其中所述呈现在通信会话期间发生,在所述通信会话中,第二设备捕获传感器数据并基于所述传感器数据来提供对应于所述时间段中的所述多个时刻的所述帧特定3D表示的序列。
19.根据权利要求18所述的方法,其中所述第二设备在所述通信会话期间提供所述用户的所述预定3D表示。
20.根据权利要求18所述的方法,其中所述第二设备生成所述用户的所述组合3D表示并在所述通信会话期间将所述组合3D表示提供给所述设备。
21.根据权利要求1所述的方法,其中所述组合3D表示的视图相对于所述时间段中的所述多个时刻实时显示在所述设备上。
22.根据权利要求1所述的方法,其中所述设备是头戴式设备(HMD)。
23.一种设备,包括:
非暂态计算机可读存储介质;和
一个或多个处理器,所述一个或多个处理器耦接到所述非暂态计算机可读存储介质,其中所述非暂态计算机可读存储介质包括程序指令,所述程序指令在所述一个或多个处理器上执行时,使所述一个或多个处理器执行包括以下项的操作:
获得用户的至少第一部分的预定三维(3D)表示,其中所述预定3D表示与相对于所述用户的骨骼表示而定义的3D参考点相关联;
获得对应于一个时间段内的多个时刻的帧特定3D表示的序列,所述帧特定3D表示中的每个帧特定3D表示表示在所述时间段内的所述多个时刻中的相应时刻处所述用户的第二部分,并且所述帧特定3D表示中的每个帧特定3D表示与所述3D参考点相关联;以及
针对所述时间段内的所述多个时刻生成所述用户的组合3D表示,其中所述组合3D表示中的每个组合3D表示是通过基于对齐将所述预定3D表示与相应的帧特定3D表示组合来生成的,其中所述对齐基于所述3D参考点。
24.根据权利要求23所述的设备,其中所述用户的所述第二部分是所述第一部分的子部分。
25.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储能够在包括一个或多个处理器的设备上执行以执行操作的程序指令,所述操作包括:
获得用户的至少第一部分的预定三维(3D)表示,其中所述预定3D表示与相对于所述用户的骨骼表示而定义的3D参考点相关联;
获得对应于一个时间段内的多个时刻的帧特定3D表示的序列,所述帧特定3D表示中的每个帧特定3D表示表示在所述时间段内的所述多个时刻中的相应时刻处所述用户的第二部分,并且所述帧特定3D表示中的每个帧特定3D表示与所述3D参考点相关联;以及
针对所述时间段内的所述多个时刻生成所述用户的组合3D表示,其中所述组合3D表示中的每个组合3D表示是通过基于对齐将所述预定3D表示与相应的帧特定3D表示组合来生成的,其中所述对齐基于所述3D参考点。
CN202311230102.8A 2022-09-23 2023-09-22 对齐用户表示 Pending CN117765049A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202263409459P 2022-09-23 2022-09-23
US63/409,459 2022-09-23
US18/370,699 US11908098B1 (en) 2022-09-23 2023-09-20 Aligning user representations
US18/370,699 2023-09-20

Publications (1)

Publication Number Publication Date
CN117765049A true CN117765049A (zh) 2024-03-26

Family

ID=89908455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311230102.8A Pending CN117765049A (zh) 2022-09-23 2023-09-22 对齐用户表示

Country Status (3)

Country Link
US (2) US11908098B1 (zh)
CN (1) CN117765049A (zh)
DE (1) DE102023209330A1 (zh)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8384714B2 (en) * 2008-05-13 2013-02-26 The Board Of Trustees Of The Leland Stanford Junior University Systems, methods and devices for motion capture using video imaging
KR101307341B1 (ko) * 2009-12-18 2013-09-11 한국전자통신연구원 동적 개체 모션 캡쳐 방법 및 그 장치
KR20120070131A (ko) * 2010-12-21 2012-06-29 한국전자통신연구원 비정형 물체의 모션을 캡처하여 애니메이션을 생성하는 장치 및 방법
US9036898B1 (en) * 2011-01-18 2015-05-19 Disney Enterprises, Inc. High-quality passive performance capture using anchor frames
US9437009B2 (en) * 2011-06-20 2016-09-06 University Of Southern California Visual tracking in video images in unconstrained environments by exploiting on-the-fly context using supporters and distracters
US20150178988A1 (en) * 2012-05-22 2015-06-25 Telefonica, S.A. Method and a system for generating a realistic 3d reconstruction model for an object or being
US9865306B2 (en) * 2015-03-30 2018-01-09 International Business Machines Corporation System to distinguish between visually identical objects
US9665978B2 (en) * 2015-07-20 2017-05-30 Microsoft Technology Licensing, Llc Consistent tessellation via topology-aware surface tracking
US10304244B2 (en) * 2016-07-08 2019-05-28 Microsoft Technology Licensing, Llc Motion capture and character synthesis
US11665308B2 (en) * 2017-01-31 2023-05-30 Tetavi, Ltd. System and method for rendering free viewpoint video for sport applications
US10839825B2 (en) 2017-03-03 2020-11-17 The Governing Council Of The University Of Toronto System and method for animated lip synchronization
GB201709199D0 (en) 2017-06-09 2017-07-26 Delamont Dean Lindsay IR mixed reality and augmented reality gaming system
US10984591B2 (en) * 2018-07-27 2021-04-20 Arcturus Studios Inc. Volumetric data post-production and distribution system
US11127206B2 (en) 2019-01-29 2021-09-21 Realmotion Inc. Device, system, and method of generating a reduced-size volumetric dataset

Also Published As

Publication number Publication date
US20240127565A1 (en) 2024-04-18
US11908098B1 (en) 2024-02-20
DE102023209330A1 (de) 2024-03-28

Similar Documents

Publication Publication Date Title
US11733769B2 (en) Presenting avatars in three-dimensional environments
KR20160135652A (ko) 헤드 마운티드 디스플레이(Head Mounted Display: HMD) 디바이스를 위한 이미지 처리
KR20170085477A (ko) 가상 현실 환경을 위한 가려진 얼굴 부분 재구성 방법 및 시스템
CN114175045B (zh) 利用亮度变化来确定用户特征
CN112509040A (zh) 对提供镜面反射和反射修改的表面进行基于图像的检测
US11380072B2 (en) Neutral avatars
US20230290082A1 (en) Representation of users based on current user appearance
US20220262080A1 (en) Interfaces for presenting avatars in three-dimensional environments
US20240077937A1 (en) Devices, methods, and graphical user interfaces for controlling avatars within three-dimensional environments
US20230290096A1 (en) Progressive body capture of user body for building an avatar of user
US11908098B1 (en) Aligning user representations
WO2022066400A1 (en) Sensor emulation
US20240005537A1 (en) User representation using depths relative to multiple surface points
US20230171484A1 (en) Devices, methods, and graphical user interfaces for generating and displaying a representation of a user
CN117333588A (zh) 使用相对于多个表面点的深度的用户表示
US20230384860A1 (en) Devices, methods, and graphical user interfaces for generating and displaying a representation of a user
US11972526B1 (en) Rendering of enrolled user's face for external display
US20230123330A1 (en) Interaction training system for autistic patient using image warping, method for training image warping model, and computer readable storage medium including executions causing processor to perform same
WO2023096940A2 (en) Devices, methods, and graphical user interfaces for generating and displaying a representation of a user
Xuan et al. SpecTracle: Wearable Facial Motion Tracking from Unobtrusive Peripheral Cameras
WO2024054433A2 (en) Devices, methods, and graphical user interfaces for controlling avatars within three-dimensional environments
EP4189527A1 (en) Adjusting image content to improve user experience
CN116868152A (zh) 用于在三维环境中呈现化身的界面
JP2024508691A (ja) 三次元環境におけるアバターの提示のためのインタフェース

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