CN117333588A - 使用相对于多个表面点的深度的用户表示 - Google Patents
使用相对于多个表面点的深度的用户表示 Download PDFInfo
- Publication number
- CN117333588A CN117333588A CN202310786474.2A CN202310786474A CN117333588A CN 117333588 A CN117333588 A CN 117333588A CN 202310786474 A CN202310786474 A CN 202310786474A CN 117333588 A CN117333588 A CN 117333588A
- Authority
- CN
- China
- Prior art keywords
- user
- values
- data
- implementations
- sensor data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 95
- 238000004891 communication Methods 0.000 claims description 15
- 238000010801 machine learning Methods 0.000 claims description 8
- 230000008921 facial expression Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 32
- 210000001508 eye Anatomy 0.000 description 49
- 230000001815 facial effect Effects 0.000 description 41
- 230000033001 locomotion Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 13
- 210000001747 pupil Anatomy 0.000 description 12
- 230000004044 response Effects 0.000 description 12
- 210000004709 eyebrow Anatomy 0.000 description 10
- 210000003467 cheek Anatomy 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 7
- 210000003205 muscle Anatomy 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 210000003128 head Anatomy 0.000 description 5
- 230000004439 pupillary reactions Effects 0.000 description 5
- -1 802.3x Chemical compound 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 210000001061 forehead Anatomy 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000010344 pupil dilation Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000002329 infrared spectrum Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 208000012661 Dyskinesia Diseases 0.000 description 1
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 208000004350 Strabismus Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 239000002772 conduction electron Substances 0.000 description 1
- 210000003792 cranial nerve Anatomy 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 210000004373 mandible Anatomy 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000017311 musculoskeletal movement, spinal reflex action Effects 0.000 description 1
- 210000001328 optic nerve Anatomy 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 238000005293 physical law Methods 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 230000004478 pupil constriction Effects 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 230000004270 retinal projection Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- 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
- 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/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开涉及使用相对于多个表面点的深度的用户表示。本文所公开的各种具体实施包括生成用于用户的面部的表示的值的设备、系统和方法。例如,示例性过程可包括:获得用户的传感器数据(例如,实况数据),其中该传感器数据与时间点相关联;基于该传感器数据来生成表示该用户的一组值;以及提供该组值,其中基于该组值来显示该用户在该时间点处的描绘。在一些具体实施中,该组值包括:相对于投影表面的点的多个三维(3D)位置限定该用户的部分的3D位置的深度值,和限定该用户的这些部分的外观的外观值(例如,颜色、纹理、不透明度等)。
Description
技术领域
本公开整体涉及电子设备,并且具体地涉及用于在计算机生成的内容中表示用户的系统、方法和设备。
背景技术
现有技术可能无法准确地或如实地呈现电子设备的用户的外观的当前(例如,实时)表示。例如,设备可基于数分钟、数小时、数天或甚至数年前获得的用户的面部的图像来提供用户的头像表示。这种表示可能无法准确地表示用户的当前(例如,实时)外观,例如在用户微笑时未将用户的头像示出为微笑或未示出用户的当前胡须。因此,可能期望提供能有效提供用户的更准确、如实和/或当前的表示的装置。
发明内容
本文所公开的各种具体实施包括生成一组值的设备、系统和方法,该组值表示用户面部在时间点处的三维(3D)形状和外观以用于生成用户表示(例如,头像)。在一些具体实施中,可使用具有非平面形状(例如,圆柱形形状)的表面来减少失真。该组值包括限定面部的部分相对于表面上的多个点(例如,部分圆柱形表面上的网格中的点)的深度的深度值。例如,一个点的深度值可限定面部的一部分处于该点在表面上的位置之后的深度D1处,例如,沿着在该点处开始的射线处于深度D1处。本文所述的技术使用与现有RGBDA图像(例如,红-绿-蓝-深度α图像)中的深度值不同的深度值,因为RGBDA图像限定相对于单个相机位置的内容深度,而本文所述的技术将深度限定为面部的部分相对于具有平面形状(例如,圆柱形形状)的表面上的多个点。
可使用具有相对于表面上的多个点限定的深度值的相对简单的该组值来实现若干优点。该组值可能需要比使用3D网格或3D点云更少的计算和带宽,同时实现比RGBDA图像更准确的用户表示。此外,该组值可以类似于现有格式(例如,RGBDA图像)的方式被格式化/封装,这可实现与基于此类格式的系统更高效地集成。
一般来讲,本说明书中所描述的主题的一个创新方面可体现于在设备的处理器处的方法中,这些方法包括获得用户的传感器数据的动作,其中传感器数据与时间点相关联。这些动作还包括基于传感器数据来生成表示用户的一组值,其中该组值包括相对于投影表面的点的多个三维(3D)位置限定用户的部分的3D位置的深度值,和限定用户的这些部分的外观的外观值。这些动作还包括提供该组值,其中基于该组值来显示用户在该时间点处的描绘。
这些实施方案和其他实施方案均可任选地包括以下特征中的一个或多个特征。
在一些方面,这些点沿着表面上的竖直线和水平线以规则间隔而间隔开。
在一些方面,表面是非平面的。在一些方面,表面是至少部分圆柱形的。在一些方面,表面是平面的。
在一些方面,基于对准来生成该组值,使得这些点在表面的中心区域上的子集对应于用户的面部的中心部分。在一些方面,生成该组值还基于在用户正表达多个不同面部表情时捕获的用户的面部的图像。
在一些方面,传感器数据仅对应于用户的第一区域,并且该组图像数据对应于第二区域,该第二区域包括不同于第一区域的第三区域。
在一些方面,该方法还包括以下动作:获得与第二时间段相关联的用户的附加传感器数据;基于针对第二时间段的附加传感器数据来更新表示用户的该组值;以及提供经更新的该组值,其中基于经更新的该组值在第二时间段更新用户的描绘。
在一些方面,提供该组值包括在与第二设备的通信会话期间发送3D视频数据的帧序列,该帧序列包括含有该组值的帧,其中第二设备基于该3D视频数据的帧序列来呈现用户的动画描绘。
在一些方面,电子设备包括第一传感器和第二传感器,其中从来自第一传感器的从第一视点看到的用户的面部的至少一个局部图像以及从来自第二传感器的从与第一视点不同的第二视点看到的用户的面部的至少一个局部图像获得传感器数据。
在一些方面,用户的描绘被实时显示。
在一些方面,生成表示用户的该组值基于经训练成产生该组值的机器学习模型。
在一些方面,深度值限定用户的一部分与投影表面的对应点之间的距离,该对应点沿着垂直于投影表面的射线定位于该对应点的位置处。在一些方面,外观值包括颜色值、纹理值或不透明度值。
在一些方面,电子设备是头戴式设备(HMD)。在一些方面,该HMD包括一个或多个面向内的图像传感器和一个或多个面向下的图像传感器,并且传感器数据由该一个或多个面向内的传感器和该一个或多个面向下的图像传感器捕获。
这些实施方案和其他实施方案均可任选地包括以下特征中的一个或多个特征。
根据一些具体实施中,非暂态计算机可读存储介质中存储有指令,所述指令是计算机可执行的以执行或使得执行本文所述的任何方法。根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使执行本文所述方法中的任一种的指令。
附图说明
因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。
图1示出了根据一些具体实施的从用户获得传感器数据的设备。
图2示出了根据一些具体实施的二维(2D)流形表面的示例,以可视化用户的面部的表示的参数化。
图3A示出了根据一些具体实施的围绕不同轴线取向的图2的2D流形表面的示例。
图3B示出了根据一些具体实施的具有半球形形状的图2的2D流形表面的示例。
图3C示出了根据一些具体实施的强调用户的面部的特定区域的图2的2D流形表面的示例。
图4示出了根据一些具体实施的生成并显示用户的面部的表示的部分的示例。
图5示出了根据一些具体实施的可基于参数化数据来生成用户的面部的表示的系统流程图。
图6是根据一些具体实施的用于提供一组值以获得用户的描绘的方法的流程图表示。
图7是示出根据一些具体实施的示例性设备的设备部件的框图。
图8是根据一些具体实施的示例性头戴式设备(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)。
在一些具体实施中,如图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示出了根据一些具体实施的二维流形表面的示例性环境200,以可视化用户的面部的表示的参数化。具体地,环境200示出了用户(例如,图1的用户25)的面部的表示的参数化图像220。例如,特征参数化指令集可获得用户的面部的实况图像数据(例如,图像210)并且基于形状(诸如,圆柱形形状215)的表面来参数化面部上的不同点。换句话讲,特征参数化指令集可生成一组值,该组值表示用户面部在时间点处的3D形状和外观以用于生成用户表示(例如,头像)。在一些具体实施中,可使用具有非平面形状(例如,圆柱形形状215)的表面来减少失真。该组值包括限定面部的部分相对于表面上的多个点(例如,部分圆柱形表面上的网格中的点,诸如点阵列225)的深度的深度值(例如,指向用户的表示的面部以表示深度值的向量箭头,类似于高度场(heightfield)或高度图(heightmap))。参数化值可包括固定参数诸如射线位置、端点、方向等,并且参数化值可包括利用实况图像数据更新的变化参数诸如深度、颜色、纹理、不透明度等。例如,如在用户鼻部的扩展部分230中所示的,一个点(例如,在用户鼻尖处的点232)的深度值可限定面部的一部分处于该点在表面上的位置之后的深度D1处,例如,沿着在该点处开始并且正交于该点的射线处于深度D1处。
本文所述的技术使用与现有RGBDA图像(例如,红-绿-蓝-深度α图像)中的深度值不同的深度值,因为RGBDA图像限定相对于单个相机位置的内容深度,而本文所述的技术将深度限定为面部的部分相对于具有平面形状(例如,圆柱形形状)的表面上的多个点。为参数化图像220实现的曲面(诸如,圆柱形形状215)用于减少用户表示(例如,头像)在用户表示的从平坦投影表面不可见的区域处的失真。在一些具体实施中,具有平面形状的投影表面可以任何方式弯折和成形以基于参数化的应用来减轻期望区域中的失真。使用不同的弯折/弯曲形状允许从更多视点清楚地呈现用户表示。平面形状和参数化图像的附加示例在图3A至图3C中示出。
图3A至图3C示出了根据一些具体实施的2D流形表面的不同示例,以可视化用户的面部的表示的参数化。具体地,图3A示出了平面表面,诸如类似于图2的圆柱形表面,但是围绕不同轴线取向。例如,图3A示出了用户的面部的表示(例如,图像310)的参数化图像314,其包括点阵列(例如,指向用户的表示的面部的向量箭头),该点阵列是围绕x轴弯曲的圆柱形表面/形状(例如,圆柱形形状314)。图3B示出了用户的面部(例如,图像320)的参数化图像326,其包括点阵列,该点阵列包括作为2D流形的半球形表面/形状(例如,半球形形状324)。
图2、图3A和图3B将表面(例如,2D流形表面)的点示出为沿着表面上的竖直线和水平线以规则间隔而间隔开(例如,指向用户的表示的面部的均匀间隔开的向量箭头)。在一些具体实施中,这些点可跨2D流形表面不均匀地分布,诸如围绕表面沿着竖直和水平网格线不规则地间隔开,但是可聚焦在用户面部的特定区域上。例如,在面部结构中可能存在较多细节/运动的一些区域可具有较多点,并且一些点可在可能存在较少细节/运动的区域中具有较少点,如前额(较少细节)和鼻部(运动不多)。例如,如图3C所示,包括作为圆柱形表面/形状的点阵列332的参数化图像330包括示出眼睛周围较高密度的点的区域334和示出嘴部周围较高密度的点的区域336。例如,当在通信会话期间生成用户的表示(例如,生成头像)时,本文所述的技术可选择性地更多地聚焦于在对话期间将可能更多地运动的眼睛和嘴部的区域,因此在通信会话期间产生人的更准确表示。例如,本文所述的技术可以比面部的在对话期间不那么多地运动的其他部分(例如,前额、耳朵等)更快的帧速率来呈现对围绕嘴部和眼睛的用户表示的更新。
图4示出了根据一些具体实施的生成并显示用户的面部的表示的部分的示例。具体地,图4示出了用于组合登记图像数据410和实况图像数据420以生成用户表示数据430(例如,头像435)的过程的示例性环境400。登记图像数据410示出了用户(例如,图1的用户25)在登记过程期间的图像。例如,当在用户提供不同面部表情时该系统获得用户的面部的图像数据(例如,RGB图像)的时候,可生成登记化身。例如,可告知用户“扬起您的眉毛”、“微笑”、“皱眉”等以便为该系统提供用于登记过程的一系列面部特征。可在用户提供登记图像时向用户示出登记化身预览以获得登记过程的状态的可视化。在该示例中,登记图像数据410显示具有四个不同用户表情的登记化身,然而,可利用更多或更少的不同表情来采集用于登记过程的足够数据。实况图像数据420表示在使用设备时(诸如,在XR体验期间)采集的用户图像的示例(例如,在使用图1的设备10(诸如,HMD)时的实况图像数据)。例如,实况图像数据420表示在用户将图1的设备10作为HMD穿戴时采集的图像。例如,如果设备10是HMD,则在一个具体实施中,传感器35b可位于HMD内以捕获瞳孔数据(例如,眼睛注视特性数据40b),并且附加传感器(例如,传感器35a和35c)可位于HMD上但位于面向用户头部/面部的HMD的外表面上以捕获面部特征数据(例如,经由传感器35a捕获上部面部特征特性数据40a,并且经由传感器35c捕获下部面部特征特性数据40c)。
用户表示数据430是在头像显示过程期间的示例性用户图示。例如,头像435A(面向侧面)和头像435B(面向前面)基于所采集的登记数据生成,并且在系统获得并分析实时图像数据和更新针对平面表面的不同值(例如,针对每个所采集的实况图像数据来更新阵列225的向量点的值)时被更新。
图5是根据一些具体实施的示例性环境500的系统流程图,其中系统可基于参数化数据来生成用户的面部的表示。在一些具体实施中,示例性环境500的系统流程在设备(例如,图1的设备10)诸如移动设备、台式计算机、膝上型计算机或服务器设备上执行。示例性环境500的图像可显示在具有用于显示图像的屏幕和/或用于查看立体图像的屏幕的设备(例如,图1的设备10)上,诸如头戴式设备(HMD)。在一些具体实施中,示例性环境500的系统流程在处理逻辑部件(包括硬件、固件、软件或它们的组合)上执行。在一些具体实施中,示例性环境500的系统流程在执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器上执行。
在一些具体实施中,示例性环境500的系统流程包括登记过程、特征跟踪/参数化过程和头像显示过程。另选地,示例性环境500可仅包括特征跟踪/参数化过程和头像显示过程,并且从另一个源(例如,先前存储的登记数据)获得登记数据。换句话讲,可能已经发生登记过程,使得已经提供用户的登记数据,因为登记过程已经完成。
示例性环境500的登记过程的系统流程从物理环境(例如,图1的物理环境105)的传感器采集图像数据(例如,RGB数据),并且生成登记数据。登记数据可包括大部分(如果不是所有的话)的用户面部的纹理、肌肉激活等。在一些具体实施中,可在向用户提供用于采集用户面部的不同姿势的不同指令时捕获登记数据。例如,可告知用户“扬起您的眉毛”、“微笑”、“皱眉”等以便为该系统提供用于登记过程的一系列面部特征。
示例性环境500的头像显示过程的系统流程从物理环境(例如,图1的物理环境105)的传感器采集图像数据(例如,RGB、深度、IR等),确定面部特征的参数化数据,获得并评估登记数据,并且基于参数化值来生成并显示用户的面部的表示(例如,3D头像)的部分。例如,本文所述的生成并显示用户的面部的表示的部分的技术可在流式传输到最终用户的实时传感器数据上实现(例如,覆盖到CGR环境内的物理环境的图像上的3D头像)。在一个示例性具体实施中,在实时显示期间发生头像显示过程(例如,当用户作出面部姿势及对他或她的面部特征作出改变时,实时更新头像)。另选地,可在分析流式图像数据(例如,由视频生成人的3D头像)时发生头像显示过程。
在一个示例性具体实施中,环境500包括采集或获得物理环境的数据(例如,来自图像源诸如传感器512A–512N的图像数据)的图像合成流水线。示例性环境500是为登记过程采集图像传感器数据(例如,光强度数据-RGB)以生成登记数据(例如,不同表情的图像数据524)以及为多个图像帧的参数化过程采集图像传感器数据515(例如,光强度数据、深度数据和位置信息)的示例。例如,图示506(例如,图1的示例性环境100)表示当用户在登记过程期间在物理环境(例如,图1的物理环境105)中扫描他或她的面部和面部特征时采集图像数据的用户。图像516表示当用户实时(例如,在通信会话期间)扫描他或她的面部和面部特征时采集图像数据的用户。图像传感器512A、512B至512N(下文称为传感器512)可包括采集深度数据的深度相机、采集光强度图像数据(例如,RGB图像帧序列)的光强度相机(例如,RGB相机)以及用于采集定位信息的位置传感器。
对于定位信息,一些具体实施包括视觉惯性测距(VIO)系统,以通过使用相机序列图像(例如,光强度数据)确定等效测距信息来估计行进的距离。另选地,本公开的一些具体实施可包括SLAM系统(例如,位置传感器)。该SLAM系统可包括独立于GPS并且提供实时同时定位与映射的多维(例如,3D)激光扫描和范围测量系统。该SLAM系统可生成并管理由来自环境中对象的激光扫描的反射而产生的非常准确的点云数据。随着时间推移,准确地跟踪点云中的任何点的移动,使得SLAM系统可使用点云中的点作为位置的参考点,在其行进通过环境时保持对其位置和取向的精确理解。该SLAM系统还可以是依赖于光强度图像数据来估计相机和/或设备的位置和取向的可视SLAM系统。
在一个示例性具体实施中,环境500包括登记指令集520,该登记指令集被配置有可由处理器执行以从传感器数据生成登记数据的指令。例如,登记指令集520从传感器采集图像数据506诸如光强度图像数据(例如,来自光强度相机的RGB图像),并且生成用户的登记数据522(例如,面部特征数据诸如纹理、肌肉激活等)。例如,登记指令集生成登记图像数据524(例如,图4的登记图像数据410)。
在一个示例性具体实施中,环境500包括特征参数化指令集530,该特征参数化指令集被配置有可由处理器执行以从实况图像数据(例如,传感器数据515)生成表示用户面部在时间点处的3D形状和外观的一组值(例如,外观值534、深度值536等)的指令。例如,特征参数化指令集530从传感器512采集传感器数据515,诸如光强度图像数据(例如,实况相机馈送,诸如来自光强度相机的RGB)、深度图像数据(例如,由深度相机诸如红外或飞行时间传感器从一定深度得到的深度图像数据)以及物理环境中的用户(例如,图1的物理环境105中的用户25)的其他物理环境信息源(例如,相机定位信息,诸如来自位置传感器的位置和取向数据,例如姿势数据),并且生成用于面部参数化的参数化数据532(例如,肌肉激活、几何形状、面部表情的隐空间等)。例如,参数化数据532可由参数化图像538表示(例如,基于传感器数据515改变参数诸如外观值(诸如,纹理数据、颜色数据、不透明度等)和面部的不同点的深度值536)。用于特征参数化指令集530的面部参数化可包括获取从传感器数据515采集的局部视图以及由几何模型确定小参数集(例如,面部的肌肉)以更新用户表示。例如,几何模型可包括用于眉毛、眼睛、眼睛下方的面颊、嘴部区域、下颌区域等的数据集。参数化指令集530的参数化跟踪可提供用户的面部特征的几何形状。
在一个示例性具体实施中,环境500包括表示指令集540,该表示指令集被配置有可由处理器执行以基于参数化数据532生成用户的面部的表示(例如,3D头像)的指令。另外,表示指令集540被配置有可由处理器执行以在利用实况图像数据更新表示的部分时基于对应值来显示该表示的部分的指令。例如,表示指令集540从特征参数化指令集530采集参数化数据532(例如,外观值534和深度值536),并且生成表示数据542(例如,用户的实时表示,诸如3D头像)。例如,表示指令集540可生成表示544(例如,图4的头像435)。
在一些具体实施中,表示指令集540直接从传感器数据(例如,RGB、深度等)采集纹理数据。例如,表示指令集540可从传感器512采集图像数据506和/或从传感器512采集传感器数据515,以便获得纹理数据以最初生成表示544(例如,图4的头像435),并且然后基于从特征参数化指令集530采集的更新值(参数化数据532)来更新用户表示544。
在一些具体实施中,表示指令集540提供实时图像修复。为了处理实时图像修复,表示指令集540在该设备(例如,经由几何匹配)识别与登记数据匹配的特定表情时利用登记数据522帮助填充该表示(例如,表示544)。例如,登记过程的一部分可包括在用户微笑时登记他或她的牙齿。因此,当该设备在实时图像(例如,传感器数据515)期间识别用户微笑时,表示指令集540对来自用户登记数据的他或她的牙齿进行图像修复。
在一些具体实施中,由机器学习模型(例如,经训练的神经网络)提供用于表示指令集540的实时图像修复的过程以识别登记数据522和参数化数据532中的纹理(或其他特征)中的图案。此外,可使用机器学习模型使这些图案与对应于用户25的学习到的图案(诸如微笑、皱眉、谈话等)匹配。例如,当由牙齿露出(例如,如本文所述的几何匹配)确定微笑图案时,还可存在当用户微笑时他或她也会改变的面部的其他部分(例如,面颊运动、眉毛等)的确定。在一些具体实施中,本文描述的技术可学习特定于特定用户25的图案。
在一些具体实施中,可为在实况通信会话或其他体验的每个时刻/帧期间捕获的每个帧重复表示指令集540。例如,对于每次迭代,在用户使用该设备(例如,穿戴HMD)时,示例性环境500可涉及连续地获得参数化数据532(例如,外观值534和深度值536),并且对于每个帧,基于更新值来更新表示544的显示的部分。例如,对于参数化数据的每个新帧,该系统可基于新数据来更新3D头像的显示。
图6是示出示例性方法600的流程图。在一些具体实施中,设备(例如,图1的设备10)执行方法200的技术来提供一组值以获得用户的描绘。在一些具体实施中,在移动设备、台式电脑、膝上型电脑、HMD或服务器设备上执行方法600的技术。在一些具体实施中,在处理逻辑部件(包括硬件、固件、软件或它们的组合)上执行方法600。在一些具体实施中,在执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器上执行方法600。
在框602处,方法600获得用户的传感器数据。例如,传感器数据(例如,实况数据,诸如包括光强度数据(RGB)和深度数据的视频内容)与时间点相关联,诸如在用户穿戴HMD时来自面向内/面向下的传感器(例如,图1中示出的传感器35a、35b、35c)的图像与帧相关联。在一些具体实施中,传感器数据包括在扫描过程期间获得的深度数据(例如,红外、飞行时间等)和光强度图像数据。
在一些具体实施中,获得传感器数据可包括在多个配置中从设备获得与用户的面部的特征(例如,纹理、肌肉激活、形状、深度等)相对应的第一组数据(例如,登记数据)(例如,图4的登记图像数据410)。在一些具体实施中,第一组数据包括用户的面部的无阻挡图像数据。例如,可在用户微笑、扬起眉毛、鼓起面颊等时捕获面部的图像。在一些具体实施中,可通过以下方式获得登记数据:用户取下该设备(例如,HMD)并且在该设备未遮盖面部的情况下捕获图像,或在该设备(例如,HMD)未遮盖面部的情况下使用另一个设备(例如,移动设备)。在一些具体实施中,从光强度图像(例如,RGB图像)采集登记数据(例如,第一组数据)。登记数据可包括大部分(如果不是所有的话)的用户面部的纹理、肌肉激活等。在一些具体实施中,可在向用户提供用于采集用户面部的不同姿势的不同指令时捕获登记数据。例如,用户界面指南可指示用户“扬起您的眉毛”、“微笑”、“皱眉”等以便为该系统提供用于登记过程的一系列面部特征。
在一些具体实施中,获得传感器数据可包括在用户使用(例如,穿戴)电子设备(例如,HMD)时从一个或多个图像传感器获得与面部的一个或多个局部视图相对应的第二组数据。例如,获得传感器数据包括图4的实况图像数据420。在一些具体实施中,第二组数据包括用户的面部的局部图像,因此可能不表示登记数据中表示的面部的所有特征。例如,第二组图像可包括来自面向上的传感器(例如,图1的传感器35a)的前脸/眉眼中的一些的图像(例如,面部特征特性数据40a)。附加地或另选地,第二组图像可包括来自面向内的传感器(例如,图1的传感器35a)的眼睛中的一些的图像(例如,眼睛注视特性数据40b)。附加地或另选地,第二组图像可包括来自面向下的传感器(例如,图1的传感器35c)的面颊、嘴部和下颌中的一些的图像(例如,面部特征特性数据40c)。在一些具体实施中,电子设备包括第一传感器(例如,图1的传感器35a)和第二传感器(例如,图1的传感器35c),其中从来自第一传感器的从第一视点看到的用户的面部的至少一个局部图像(例如,上部面部特性数据40a)以及从来自第二传感器的从与第一视点不同的第二视点看到的用户的面部的至少一个局部图像(例如,下部面部特性数据40c)获得第二组数据(例如,多个IFC相机用于捕获用户的面部和身体运动的不同视点)。
在框604处,方法600基于传感器数据来生成表示用户的一组值,该组值包括:i)相对于投影表面的点的多个3D位置限定用户的部分的3D位置的深度值,和ii)限定用户的这些部分的外观的外观值。例如,基于传感器数据来生成表示用户的一组值(例如,RGB值、α值和深度值-RGBDA)可涉及使用来自面向内/面向下的相机的实况传感器数据和登记数据,例如,在不穿戴HMD的情况下处于不同表情中的面部的图像。在一些具体实施中,生成该组值可涉及使用经训练成产生该组值的机器学习模型。
该组值可包括相对于投影表面的点的多个3D位置限定用户的部分的3D位置的深度值。例如,一个点的深度值可限定面部的一部分处于该点在表面上的位置之后的深度D1处,例如,沿着在该点处开始的射线(例如,图2的射线232)处于深度D1处。在一些具体实施中,深度值限定用户的一部分与投影表面的对应点之间的距离,该对应点沿着垂直于投影表面的射线定位于该对应点的位置处。本文所述的技术使用与现有RGBDA图像中的深度值不同的深度值,现有RGBDA图像限定相对于单个相机位置的内容深度。外观值可包括限定用户的部分的外观的值,诸如RGB数据和α数据。例如,外观值可包括颜色、纹理、不透明度等。
在一些具体实施中,术语“表面”是指可以是平面或非平面的2D流形。在一些具体实施中,表面(例如,2D流形表面)的这些点沿着表面上的竖直线和水平线以规则间隔而间隔开。在一些具体实施中,这些点沿着部分圆柱形表面上的竖直和水平网格线规则地间隔开,如图2所示。另选地,可利用其他平面表面和非平面表面。例如,如图3A所示,圆柱形表面的平面表面可围绕不同轴线(例如,图2中的y轴、图3A中的x轴等)取向/弯曲。附加地或另选地,平面表面可以是如以图3B中的参数化图像326示出的半球形流形。
在一些具体实施中,这些点可跨2D流形表面不均匀地分布,诸如围绕表面沿着竖直和水平网格线不规则地间隔开,但是可聚焦在用户面部的特定区域上。例如,在面部结构中可能存在较多细节/运动的一些区域可具有较多点,并且一些点可在可能存在较少细节/运动的区域中具有较少点,如前额(较少细节)和鼻部(运动不多)。例如,如图3C所示,区域334示出了眼睛周围较高密度的点,并且区域336示出了嘴部周围较高密度的点。
在一些具体实施中,基于对准来生成该组值,使得这些点在表面的中心区域上的子集对应于用户的面部的中心部分。例如,如图2所示,用户的鼻部的聚焦区域在区域230处,射线232的特征点是人的鼻尖。
在一些具体实施中,生成该组值还基于在用户正表达多个不同面部表情时捕获的用户的面部的图像。例如,该组值基于在用户微笑、扬起眉毛、鼓起面颊等时面部的登记图像来确定。在一些具体实施中,传感器数据仅对应于用户的第一区域(例如,未被设备(诸如HMD)遮蔽的部分),并且该组图像数据(例如,登记数据)对应于第二区域,该第二区域包括不同于第一区域的第三区域。例如,第二区域可包括当HMD由用户穿戴时被HMD遮蔽的部分中的一些部分。
在一些具体实施中,确定特定于用户的参数化(例如,生成该组值)可适于每个特定用户。例如,参数化可以是基于登记身份固定的(例如,以更好地覆盖人的头部尺寸或鼻部形状),或者参数化可以基于当前表情(例如,当嘴部张开时,参数化可以变得更长)。在一个示例性具体实施中,方法600还可包括:获得与第二时间段相关联的用户的附加传感器数据;基于针对第二时间段的附加传感器数据来更新表示用户的该组值;以及提供经更新的该组值,其中基于经更新的该组值在第二时间段更新用户的描绘(例如,基于当前表情来更新该组值,使得当嘴部张开时,参数化也变得更长)。
在一些具体实施中,生成表示用户的该组值基于经训练成产生该组值的机器学习模型。例如,由机器学习模型(例如,经训练的神经网络)提供用于生成特征参数化指令集530的参数化数据的过程以识别登记数据522和传感器数据515(实况图像数据,诸如图像516)中的纹理(或其他特征)中的图案。此外,可使用机器学习模型使这些图案与对应于用户25的学习到的图案(诸如微笑、皱眉、谈话等)匹配。例如,当由牙齿露出确定微笑图案时,还可存在当用户微笑时他或她也会改变的面部的其他部分(例如,面颊运动、眉毛等)的确定。在一些具体实施中,本文所述的技术可学习特定于图1的特定用户25的图案。
在框606处,方法600提供该组值,其中基于该组值来显示用户在该时间点处的描绘。例如,该组点是在与另一个设备的通信会话期间发送的3D视频数据的帧,并且该另一个设备使用该组值诸如RGBDA信息(连同关于如何解译深度值的信息)来呈现用户的面部的视图。在一些具体实施中,面部数据的连续帧(表示用户面部在不同时间点处的3D形状和外观的值集合)可被传输并用于显示实况3D视频状面部描绘(例如,逼真的运动头像)。在一些具体实施中,用户的描绘被实时显示(例如,在第二用户的第二设备的显示器上向第二用户示出的头像)。
在一些具体实施中,提供该组值包括在与第二设备的通信会话期间发送3D视频数据的帧序列,该帧序列包括含有该组值的帧,其中第二设备基于该3D视频数据的帧序列来呈现用户的动画描绘。例如,该组点可以是在与另一个设备的通信会话期间发送的3D视频数据的帧,并且该另一个设备使用该组值(连同关于如何解译深度值的信息)来呈现用户的面部的视图。附加地或另选地,面部数据的连续帧(表示用户面部在不同时间点处的3D形状和外观的值集合)可被传输并用于显示实况3D视频状面部描绘。
在一些具体实施中,用户的描绘可包括足够的数据以实现用户的立体视图(例如,左/右眼视图),使得可以一定深度感知到面部。在一个具体实施中,面部的描绘包括面部的3D模型,并且生成从左眼位置和右眼位置看到的表示的视图以提供面部的立体视图。
在一些具体实施中,可能对于传达逼真或如实外观很重要的面部的某些部分(诸如眼睛和嘴部)可以与面部的其他部分不同的方式生成。例如,可能对于传达逼真或如实外观很重要的面部的部分可基于当前相机数据,而面部的其他部分可基于先前获得的(例如,登记)面部数据。
在一些具体实施中,以各种面部部分的纹理、颜色和/或几何形状生成面部的表示,该面部的表示识别该生成技术按每个数据帧对于此类纹理、颜色和/或几何形状基于深度值和外观值准确地对应于那些面部部分的真实纹理、颜色和/或几何形状有多大置信度的估计值。在一些具体实施中,描绘是3D头像。例如,该表示是表示用户(例如,图1的用户25)的3D模型。
在一些具体实施中,可为在实况通信会话或其他体验的每个时刻/帧期间捕获的每个帧重复方法600。例如,对于每次迭代,在用户使用该设备(例如,穿戴HMD)时,方法600可涉及连续地获得实况传感器数据(例如,眼睛注视特性数据和面部特征数据),并且对于每个帧,基于更新的参数化值(例如,RGBDA值)来更新该表示的显示的部分。例如,对于每个新帧,该系统可更新参数化值以基于新数据来更新3D头像的显示。
在一些具体实施中,估计器或统计学习方法用于更好地理解或预测生理数据(例如,面部特征和注视特性数据)。例如,可通过利用替换数据对数据集进行采样(例如,自助法)来估计注视和面部特征特性数据的统计。
图7是示例性设备700的框图。设备700示出了设备10的示例性设备配置。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,设备10包括一个或多个处理单元702(例如,微处理器、ASIC、FPGA、GPU、CPU、处理核心等)、一个或多个输入/输出(I/O)设备和传感器706、一个或多个通信接口708(例如,USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、IR、BLUETOOTH、ZIGBEE、SPI、I2C和/或相似类型的接口)、一个或多个编程(例如,I/O)接口710、一个或多个显示器712、一个或多个面向内部和/或面向外部的图像传感器系统714、存储器720以及用于互连这些部件和各种其他部件的一条或多条通信总线704。
在一些具体实施中,该一条或多条通信总线704包括互连系统部件和控制系统部件之间的通信的电路。在一些具体实施中,该一个或多个I/O设备及传感器706包括以下项中的至少一者:惯性测量单元(IMU)、加速度计、磁力计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血氧传感器、血糖传感器等)、一个或多个麦克风、一个或多个扬声器、触觉引擎或者一个或多个深度传感器(例如,结构光、飞行时间等)和/或类似的装置。
在一些具体实施中,一个或多个显示器712被配置为向用户呈现物理环境或图形环境的视图。在一些具体实施中,一个或多个显示器712对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射器显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电系统(MEMS)和/或类似显示器类型。在一些具体实施中,一个或多个显示器712对应于衍射、反射、偏振、全息等波导显示器。例如,设备10包括单个显示器。又如,设备10包括针对用户的每只眼睛的显示器。
在一些具体实施中,一个或多个图像传感器系统714被配置为获得对应于物理环境105的至少一部分的图像数据。例如,一个或多个图像传感器系统714包括一个或多个RGB相机(例如,具有互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器)、单色相机、IR相机、深度相机、基于事件的相机等。在各种具体实施中,一个或多个图像传感器系统714还包括发射光的照明源,诸如闪光灯。在各种具体实施中,该一个或多个图像传感器系统714还包括相机上图像信号处理器(ISP),其被配置为对图像数据执行多个处理操作。
存储器720包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些具体实施中,存储器720包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器720任选地包括与一个或多个处理单元702远程定位的一个或多个存储设备。存储器720包括非暂态计算机可读存储介质。
在一些具体实施中,存储器720或存储器720的非暂态计算机可读存储介质存储可选的操作系统730和一个或多个指令集740。操作系统730包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些具体实施中,指令集740包括由以电荷形式存储的二进制信息定义的可执行软件。在一些具体实施中,指令集740是能够由一个或多个处理单元702执行以实施本文所述技术中的一种或多种的软件。
指令集740包括登记指令集742、特征参数化指令集744和表示指令集746。指令集740可体现为单个软件可执行文件或多个软件可执行文件。
在一些具体实施中,登记指令集742可由处理单元702执行以从图像数据生成登记数据。登记指令集742(例如,图5的登记指令集520)可被配置为向用户提供指令以便采集图像信息来生成登记化身(例如,登记图像数据524)并且确定是否需要附加图像信息来生成将由头像显示过程使用的准确登记化身。出于这些目的,在各种具体实施中,该指令包括指令和/或用于该指令的逻辑以及启发法和用于该启发法的元数据。
在一些具体实施中,特征参数化指令集744(例如,图5的特征参数化指令集530)可由处理单元702执行以通过使用本文讨论的技术中的一种或多种技术或另有可能适当的技术来参数化用户的面部特征和眼睛注视特性(例如,生成外观值和深度值)。出于这些目的,在各种具体实施中,该指令包括指令和/或用于该指令的逻辑以及启发法和用于该启发法的元数据。
在一些具体实施中,特征表示指令集746(例如,图5的表示指令集540)可由处理单元702执行以基于第一组数据(例如,登记数据)和第二组数据(例如,参数化数据)来生成并显示用户的面部的表示(例如,3D头像),其中该表示的部分对应于不同参数化值。出于这些目的,在各种具体实施中,该指令包括指令和/或用于该指令的逻辑以及启发法和用于该启发法的元数据。
尽管指令集740被示出为驻留在单个设备上,但是应当理解,在其他具体实施中,元件的任何组合可位于单独的计算设备中。此外,图7更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。指令集的实际数量以及如何在其中分配特征将根据具体实施而变化,并且可以部分地取决于为特定具体实施选择的硬件、软件和/或固件的特定组合。
图8示出了根据一些具体实施的示例性头戴式设备800的框图。头戴式设备800包括容纳头戴式设备800的各种部件的外壳801(或封装件)。外壳801包括(或耦接到)设置在外壳801的近侧(用户25的)端部处的眼垫(未示出)。在各种具体实施中,眼垫是塑料或橡胶件,其舒适且贴合地将头戴式设备800保持在用户25的面部上的适当位置(例如,围绕用户25的眼睛)。
外壳801容纳显示器810,该显示器显示图像、朝向用户25的眼睛发射光或将光发射到该用户的眼睛上。在各种具体实施中,显示器810通过具有一个或多个光学元件805的目镜发射光,该光学元件折射由显示器810发射的光,使显示器对用户25而言看起来处于比从眼睛到显示器810的实际距离更远的虚拟距离。例如,光学元件805可包括一个或多个透镜、波导、其他衍射光学元件(DOE)等。为了用户25能够聚焦在显示器810上,在各种具体实施中,虚拟距离至少大于眼睛的最小焦距(例如,7cm)。此外,为了提供更好的用户体验,在各种具体实施中,虚拟距离大于1米。
外壳801还容纳跟踪系统,该跟踪系统包括一个或多个光源822、相机824、相机832、相机834和控制器880。一个或多个光源822将光发射到用户25的眼睛上,其反射为可由相机824检测的光图案(例如,闪光圈)。基于该光图案,控制器880可确定用户25的眼动跟踪特征。例如,控制器880可确定用户25的注视方向和/或眨眼状态(睁眼或闭眼)。又如,控制器880可确定瞳孔中心、瞳孔大小或关注点。因此,在各种具体实施中,光由所述一个或多个光源822发射,从用户25的眼睛反射,并且由相机824检测。在各种具体实施中,来自用户25的眼睛的光在到达相机824之前从热镜反射或通过目镜。
显示器810发射第一波长范围内的光,并且所述一个或多个光源822发射第二波长范围内的光。类似地,相机824检测第二波长范围内的光。在各种具体实施中,第一波长范围是可见波长范围(例如,可见光谱内大约为400nm-700nm的波长范围),并且第二波长范围是近红外波长范围(例如,近红外光谱内约为700nm-1400nm的波长范围)。
在各种具体实施中,眼睛跟踪(或者具体地,确定的注视方向)用于使用户能够进行交互(例如,用户25通过观看显示器810上的选项来选择它),提供有孔的渲染(例如,在用户25正在观看的显示器810的区域中呈现更高的分辨率并且在显示器810上的其他地方呈现更低的分辨率),或者校正失真(例如,对于要在显示器810上提供的图像)。
在各种具体实施中,该一个或多个光源822朝向用户25的眼睛发射光,该光以多个闪烁的形式反射。
在各种具体实施中,相机824是基于帧/快门的相机,其以帧速率在特定时间点或多个时间点生成用户25的眼睛的图像。每个图像包括对应于图像的像素的像素值的矩阵,所述像素对应于相机的光传感器矩阵的位置。在具体实施中,每个图像用于通过测量与用户瞳孔中的一者或两者相关联的像素强度的变化来测量或跟踪瞳孔扩张。
在各种具体实施中,相机824是包括在多个相应位置处的多个光传感器(例如,光传感器矩阵)的事件相机,该事件相机响应于特定光传感器检测到光强度变化而生成指示所述特定光传感器的特定位置的事件消息。
在各种具体实施中,相机832和相机834是基于帧/快门的相机,其可以帧速率在特定时间点或多个时间点生成用户25的面部的图像。例如,相机832捕获眼睛下方的用户面部的图像,并且相机834捕获眼睛上方的用户面部的图像。相机832和相机834所捕获的图像可包括光强度图像(例如,RGB)和/或深度图像数据(例如,飞行时间、红外等)。
应当理解,上文所描述的具体实施以示例的方式引用,并且本公开不限于上文已特别示出和描述的内容。相反地,范围包括上文所描述的各种特征的组合和子组合两者,以及本领域的技术人员在阅读前述描述时将想到的并且在现有技术中未公开的所述各种特征的变型和修改。
如上所述,本发明技术的一个方面是收集和使用生理数据以改善用户在与电子内容进行交互方面的电子设备体验。本公开设想,在一些情况下,该所收集的数据可包括唯一地识别特定人员或者可用于识别特定人员的兴趣、特点或倾向性的个人信息数据。此类个人信息数据可包括生理数据、人口数据、基于位置的数据、电话号码、电子邮件地址、家庭地址、个人设备的设备特征或任何其他个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可用于改进电子设备的交互和控制能力。因此,使用此类个人信息数据使得能够对电子设备进行有计划的控制。此外,本公开还预期个人信息数据有益于用户的其他用途。
本公开还设想到负责此类个人信息和/或生理数据的收集、分析、公开、传送、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私实践。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法用途之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。
不管前述情况如何,本公开还设想用户选择性地阻止使用或访问个人信息数据的具体实施。即本公开预期设想可提供硬件元件或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就为用户定制的内容递送服务而言,本发明的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。在另一示例中,用户可选择不为目标内容递送服务提供个人信息数据。在又一示例中,用户可选择不提供个人信息,但允许传输匿名信息以用于改进设备的功能。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可通过基于非个人信息数据或绝对最低量的个人信息诸如与用户相关联的设备所请求的内容、对内容递送服务可用的其他非个人信息或公开可用的信息来推断偏好或设置,从而选择内容并将该内容递送至用户。
在一些实施方案中,使用仅允许数据的所有者解密存储的数据的公钥/私钥系统来存储数据。在一些其他具体实施中,数据可匿名存储(例如,无需识别和/或关于用户的个人信息,诸如法定姓名、用户名、时间和位置数据等)。这样,其他用户、黑客或第三方就无法确定与存储的数据相关联的用户的身份。在一些具体实施中,用户可从不同于用于上载存储的数据的用户设备的用户设备访问他或她的存储的数据。在这些情况下,用户可能需要提供登录凭据以访问其存储的数据。
本文阐述了许多具体细节以提供对要求保护的主题的全面理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、装置或系统,以便不使要求保护的主题晦涩难懂。
除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“标识”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。
本文论述的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机系统,其访问存储的软件,该软件将计算系统从通用计算装置编程或配置为实现本发明主题的一种或多种具体实施的专用计算装置。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。
本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合或者分成子框。某些框或过程可以并行执行。
本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。
还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种对象,但是这些对象不应当被这些术语限定。这些术语只是用于将一个对象与另一对象区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。
本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”或“包含”在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、对象或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、对象、部件或其分组。
如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。
本发明的前述描述和概述应被理解为在每个方面都是例示性和示例性的,而非限制性的,并且本文所公开的本发明的范围不仅由例示性具体实施的详细描述来确定,而是根据专利法允许的全部广度。应当理解,本文所示和所述的具体实施仅是对本发明原理的说明,并且本领域的技术人员可以在不脱离本发明的范围和实质的情况下实现各种修改。
Claims (20)
1.一种方法,所述方法包括:
在设备的处理器处:
获得用户的传感器数据,其中所述传感器数据与时间点相关联;
基于所述传感器数据来生成表示所述用户的一组值,其中所述一组值包括:
相对于投影表面的点的多个三维3D位置限定所述用户的部分的3D位置的深度值;以及
限定所述用户的所述部分的外观的外观值;以及
提供所述一组值,其中基于所述一组值来显示所述用户在所述时间点处的描绘。
2.根据权利要求1所述的方法,其中所述点沿着所述表面上的竖直线和水平线以规则间隔而间隔开。
3.根据权利要求1所述的方法,其中所述表面是非平面的。
4.根据权利要求1所述的方法,其中所述表面是至少部分圆柱形的。
5.根据权利要求1所述的方法,其中所述表面是平面的。
6.根据权利要求1所述的方法,其中基于对准来生成所述一组值,使得所述点在所述表面的中心区域上的子集对应于所述用户的面部的中心部分。
7.根据权利要求1所述的方法,其中生成所述一组值还基于在所述用户正表达多个不同面部表情时捕获的所述用户的面部的图像。
8.根据权利要求7所述的方法,其中:
所述传感器数据仅对应于所述用户的第一区域;并且
所述一组图像数据对应于第二区域,所述第二区域包括不同于所述第一区域的第三区域。
9.根据权利要求1所述的方法,还包括:
获得与第二时间段相关联的用户的附加传感器数据;
基于针对所述第二时间段的所述附加传感器数据来更新表示所述用户的所述一组值;以及
提供经更新的所述一组值,其中基于所述经更新的一组值在所述第二时间段更新所述用户的所述描绘。
10.根据权利要求1所述的方法,其中提供所述一组值包括在与第二设备的通信会话期间发送3D视频数据的帧序列,所述帧序列包括含有所述一组值的帧,其中所述第二设备基于3D视频数据的所述帧序列来呈现所述用户的动画描绘。
11.根据权利要求1所述的方法,其中所述电子设备包括第一传感器和第二传感器,其中从来自所述第一传感器的从第一视点看到的所述用户的面部的至少一个局部图像以及从来自所述第二传感器的从与所述第一视点不同的第二视点看到的所述用户的所述面部的至少一个局部图像获得所述传感器数据。
12.根据权利要求1所述的方法,其中所述用户的所述描绘被实时显示。
13.根据权利要求1所述的方法,其中生成表示所述用户的所述一组值基于经训练成产生所述一组值的机器学习模型。
14.根据权利要求1所述的方法,其中所述深度值限定沿着在所述投影表面的对应点的位置处垂直于所述投影表面的射线定位的所述对应点与所述用户的一部分之间的距离。
15.根据权利要求1所述的方法,其中所述外观值包括颜色值、纹理值或不透明度值。
16.根据权利要求1所述的方法,其中所述电子设备是头戴式设备HMD。
17.根据权利要求16所述的方法,其中所述HMD包括一个或多个面向内的图像传感器和一个或多个面向下的图像传感器,并且所述传感器数据由所述一个或多个面向内的图像传感器和所述一个或多个面向下的图像传感器捕获。
18.一种设备,所述设备包括:
非暂态计算机可读存储介质;和
一个或多个处理器,所述一个或多个处理器耦接至所述非暂态计算机可读存储介质,其中所述非暂态计算机可读存储介质包括程序指令,所述程序指令在所述一个或多个处理器上执行时,使所述设备执行包括以下项的操作:
获得用户的传感器数据,其中所述传感器数据与时间点相关联;
基于所述传感器数据来生成表示所述用户的一组值,其中所述一组值包括:
相对于投影表面的点的多个三维3D位置限定所述用户的部分的3D位置的深度值;以及
限定所述用户的所述部分的外观的外观值;以及
提供所述一组值,其中基于所述一组值来显示所述用户在所述时间点处的描绘。
19.根据权利要求18所述的设备,其中所述点沿着所述表面上的竖直线和水平线以规则间隔而间隔开。
20.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储能够在设备上执行以执行操作的程序指令,所述操作包括:
获得用户的传感器数据,其中所述传感器数据与时间点相关联;
基于所述传感器数据来生成表示所述用户的一组值,其中所述一组值包括:
相对于投影表面的点的多个三维3D位置限定所述用户的部分的3D位置的深度值;以及
限定所述用户的所述部分的外观的外观值;以及
提供所述一组值,其中基于所述一组值来显示所述用户在所述时间点处的描绘。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/357,087 | 2022-06-30 | ||
US18/214,604 US20240005537A1 (en) | 2022-06-30 | 2023-06-27 | User representation using depths relative to multiple surface points |
US18/214,604 | 2023-06-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117333588A true CN117333588A (zh) | 2024-01-02 |
Family
ID=89274357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310786474.2A Pending CN117333588A (zh) | 2022-06-30 | 2023-06-30 | 使用相对于多个表面点的深度的用户表示 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117333588A (zh) |
-
2023
- 2023-06-30 CN CN202310786474.2A patent/CN117333588A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114175045B (zh) | 利用亮度变化来确定用户特征 | |
US20230171484A1 (en) | Devices, methods, and graphical user interfaces for generating and displaying a representation of a user | |
US11782508B2 (en) | Creation of optimal working, learning, and resting environments on electronic devices | |
US20240077937A1 (en) | Devices, methods, and graphical user interfaces for controlling avatars within three-dimensional environments | |
US20230290082A1 (en) | Representation of users based on current user appearance | |
US12112441B2 (en) | Content transformations based on reflective object recognition | |
US20240005537A1 (en) | User representation using depths relative to multiple surface points | |
CN117333588A (zh) | 使用相对于多个表面点的深度的用户表示 | |
US11908098B1 (en) | Aligning user representations | |
US20240221292A1 (en) | Light normalization in combined 3d user representations | |
CN118279472A (zh) | 组合3d用户表示中的光归一化 | |
US11972526B1 (en) | Rendering of enrolled user's face for external display | |
US20230418372A1 (en) | Gaze behavior detection | |
US20230288985A1 (en) | Adjusting image content to improve user experience | |
US20240331294A1 (en) | Rendering of A Guest User's Face for External Display | |
US20240212343A1 (en) | Contextualized visual search | |
US20240212291A1 (en) | Attention control in multi-user environments | |
CN116471979A (zh) | 基于视网膜成像的眼睛调节检测 | |
WO2024058986A1 (en) | User feedback based on retention prediction | |
CN118736078A (zh) | 外部显示器的对访客用户的面部的渲染 | |
CN117980867A (zh) | 基于对照明的生理响应的交互事件 | |
WO2023096940A2 (en) | Devices, methods, and graphical user interfaces for generating and displaying a representation of a user | |
CN118829960A (zh) | 基于视网膜成像的调节跟踪 | |
CN116547637A (zh) | 使用生理数据来检测用户与对象接触 | |
CN117333788A (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 |