使用头戴式显示器内的面部传感器的面部和眼睛跟踪以及面部动画转让专利

申请号 : CN201680088273.3

文献号 : CN109643152B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 多夫·卡茨迈克尔·约翰·托克斯韦格王梓衡蒂莫西·保罗·欧梅尼克托林·罗斯·赫恩登

申请人 : 脸谱科技有限责任公司

摘要 :

VR系统中的头戴式显示器(HMD)包括用于跟踪佩戴HMD的用户的眼睛和面部的传感器。VR系统记录校准属性,诸如,用户的面部的地标。光源照亮由HMD覆盖的用户的面部的部分。结合地,面部传感器捕捉面部数据。VR系统分析面部数据以确定面部的照亮部分的平坦区域的方位。VR系统集合面部的平坦区域并且将平坦区域映射至面部的地标以生成用户的面部动画,该面部动画还可以包括眼睛方位信息。面部动画被表示为虚拟化身并且呈现给用户。面部跟踪系统生成佩戴头戴式显示器(HMD)的用户的面部的部分的虚拟渲染。面部跟踪系统照亮HMD内部的面部的部分。面部跟踪系统使用位于HMD内部的一个或多个面部传感器捕捉面部的部分的多个面部数据。至少部分基于多个面部数据识别面部的部分的多个平坦区域。多个平坦区域被映射至面部的一个或多个地标。至少部分基于该映射生成面部动画信息,该面部动画信息描述对应于用户的面部的部分的虚拟面部的部分。

权利要求 :

1.一种头戴式显示器HMD,包括:

显示元件,被配置为向佩戴所述头戴式显示器HMD的用户显示内容;

光学块,被配置为将光从所述显示元件引导至所述头戴式显示器HMD的出射光瞳;

多个光源,放置在围绕所述光学块的离散位置处,所述多个光源被配置为照亮所述用户的所述头戴式显示器HMD内部的面部的部分;

面部传感器,被配置为捕捉通过所述多个光源中的一个或多个照亮的所述面部的部分的一个或多个面部数据;以及控制器,被配置为:

从所述面部传感器接收多个捕捉的面部数据;

至少部分基于所述多个捕捉的面部数据识别所述面部的所述部分的多个表面;

检索多个地标,每个所述地标表示所述面部的不同特征的位置,所述多个地标是基于对应于由所述用户执行的用于校准处理的多个不同的面部表情的校准属性确定的;

检索全局校准属性,所述全局校准属性是基于许多用户执行的面部表情生成的;

响应于确定所述校准属性与所述全局校准属性之间的差异小于阈值:将所述多个表面映射到所述多个地标中的一个;以及至少部分基于所述多个捕捉的面部数据和所述映射生成描述所述用户的所述面部的所述部分的面部动画信息。

2.根据权利要求1所述的头戴式显示器HMD,其中,所述控制器进一步被配置为:将指令提供给所述用户以执行所述多个不同的面部表情用于所述校准处理;

响应于所述用户执行所述多个不同的面部表情中的至少一个生成所述校准属性;并且至少部分基于所述校准属性识别所述多个地标。

3.根据权利要求1所述的头戴式显示器HMD,其中,所述显示元件被配置为向所述用户显示化身,并且所述化身的面部基于所述面部动画信息。

4.根据权利要求1所述的头戴式显示器HMD,其中,所述控制器进一步被配置为:使用所述多个捕捉的面部数据的像素值生成所述多个捕捉的面部数据的帧的坐标的强度曲线;以及其中,识别所述面部的所述部分的所述多个表面包括使用所述强度曲线确定法向矢量。

5.根据权利要求1所述的头戴式显示器HMD,其中,所述多个捕捉的面部数据描述图像的帧,所述图像包括多个像素,每个像素与所述图像的坐标(x,y)位置相关联,并且其中,所述控制器进一步被配置为:针对所述图像的每个坐标位置识别对应于所述坐标位置的最亮的像素值的平坦区域;

识别对应于所识别的平坦区域的中的每一个的光源位置;

至少部分基于所识别的平坦区域和所识别的光源位置生成所述面部的所述部分的虚拟表面;以及其中,生成所述面部动画信息进一步基于所述虚拟表面。

6.根据权利要求1所述的头戴式显示器HMD,其中,所述控制器进一步被配置为:将指令提供至所述多个光源以照亮所述面部的所述部分;并且将与提供至所述多个光源的所述指令协调的指令提供至所述面部传感器,以捕捉所述一个或多个面部数据。

7.根据权利要求6所述的头戴式显示器HMD,其中,所述多个光源被放置在围绕所述光学块的环形布置中,并且其中,提供至所述多个光源的所述指令被协调为使得只有所述多个光源中的一个光源在任何给定时间照亮所述面部的所述部分。

8.根据权利要求1所述的头戴式显示器HMD,其中,所述控制器进一步被配置为:从所述多个面部数据接收镜面反射信息;以及

至少部分基于所述镜面反射信息识别所述用户的眼睛的位置。

9.根据权利要求1所述的头戴式显示器HMD,其中,所述全局校准属性是从在线校准服务器检索的,并且其中,所述控制器进一步被配置为上传所述校准属性到所述在线校准服务器。

10.一种头戴式显示器HMD,包括:

显示元件,被配置为向佩戴所述头戴式显示器HMD的用户显示内容;

多个光源,被放置在所述用户的视线外部的离散位置处,所述多个光源被配置为照亮所述用户的所述头戴式显示器HMD内部的面部的部分;

面部传感器,被配置为捕捉通过所述多个光源中的一个或多个照亮的所述面部的部分的一个或多个面部数据;以及控制器,被配置为:

从所述面部传感器接收多个捕捉的面部数据;

至少部分基于所述多个捕捉的面部数据识别所述面部的所述部分的多个表面;

检索多个地标,每个所述地标表示所述面部的不同特征的位置,所述多个地标是基于对应于由所述用户执行的用于校准处理的多个不同的面部表情的校准属性确定的;

检索全局校准属性,所述全局校准属性是基于许多用户执行的面部表情生成的;

响应于确定所述校准属性与所述全局校准属性之间的差异小于阈值:将所述多个表面映射到所述多个地标中的一个;以及至少部分基于所述多个捕捉的面部数据和所述映射生成描述所述用户的所述面部的所述部分的面部动画信息。

11.根据权利要求10所述的头戴式显示器HMD,其中,所述控制器进一步被配置为:将指令提供给所述用户以执行所述多个不同的面部表情用于所述校准处理;

响应于所述用户执行所述多个不同的面部表情中的至少一个生成所述校准属性;并且至少部分基于所述校准属性识别所述多个地标。

12.根据权利要求10所述的头戴式显示器HMD,其中,所述显示元件被配置为向所述用户显示化身,并且所述化身的面部基于所述面部动画信息。

13.根据权利要求10所述的头戴式显示器HMD,其中,所述控制器进一步被配置为:使用所述多个捕捉的面部数据的像素值生成所述多个捕捉的面部数据的帧的坐标的强度曲线;以及其中,识别所述面部的所述部分的所述多个表面包括使用所述强度曲线确定法向矢量。

14.根据权利要求10所述的头戴式显示器HMD,其中,所述多个捕捉的面部数据描述图像的帧,所述图像包括多个像素,每个像素与所述图像的坐标(x,y)位置相关联,并且其中,所述控制器进一步被配置为:针对所述图像的每个坐标位置识别对应于所述坐标位置的最亮的像素值的平坦区域;

识别对应于所识别的平坦区域的中的每一个的光源位置;

至少部分基于所识别的平坦区域和所识别的光源位置生成所述面部的所述部分的虚拟表面;以及其中,生成所述面部动画信息进一步基于所述虚拟表面。

15.根据权利要求10所述的头戴式显示器HMD,其中,所述控制器进一步被配置为:将指令提供至所述多个光源以照亮所述面部的所述部分;并且与向所述多个光源的所述指令协调,将指令提供至所述面部传感器,以捕捉所述一个或多个面部数据。

16.根据权利要求15所述的头戴式显示器HMD,其中,所述多个光源被放置在围绕光学块的环形布置中,并且其中,提供至所述多个光源的指令被协调为使得只有所述多个光源中的一个光源在任何给定时间照亮所述面部的所述部分。

17.根据权利要求10所述的头戴式显示器HMD,其中,所述控制器进一步被配置为:从所述多个面部数据接收镜面反射信息;以及

至少部分基于所述镜面反射信息识别所述用户的眼睛的位置。

18.一种头戴式显示器HMD,包括:

显示元件,被配置为向佩戴所述头戴式显示器HMD的用户显示内容;

光学块,被配置为将光从所述显示元件引导至所述头戴式显示器HMD的出射光瞳;

多个光源,放置在围绕所述光学块的离散位置处,所述多个光源被配置为照亮所述用户的所述头戴式显示器HMD内部的面部的部分;

面部传感器,被配置为捕捉通过所述多个光源中的一个或多个照亮的所述面部的部分的一个或多个面部数据;以及控制器,被配置为:

从所述面部传感器接收多个捕捉的面部数据;

至少部分基于所述多个捕捉的面部数据识别所述面部的所述部分的多个表面;

检索全局校准属性,所述全局校准属性是基于许多用户执行的面部表情生成的;

响应于确定所述用户的校准属性与所述全局校准属性之间的差异小于阈值:提供所述多个表面到虚拟现实VR控制台;并且从所述虚拟现实VR控制台接收所述用户的所述面部的所述部分的虚拟动画,所述虚拟动画是通过将所述多个表面映射到多个地标中的一个生成的,每个所述地标表示所述面部的不同的特征的位置,所述多个地标是基于对应于所述用户执行的用于校准处理的多个不同的面部表情的所述用户的所述校准属性确定的。

19.根据权利要求18所述的头戴式显示器HMD,其中,所述控制器进一步被配置为:将指令提供给所述用户以执行所述多个不同的面部表情用于所述校准处理;

响应于所述用户执行所述多个不同的面部表情中的至少一个生成所述校准属性;

至少部分基于所述校准属性识别所述多个地标;并且将所述多个地标提供至所述虚拟现实VR控制台。

20.根据权利要求18所述的头戴式显示器HMD,其中,所述面部传感器选自由以下各项组成的组合:相机、音频传感器、应变计、电磁传感器和近程式传感器。

说明书 :

使用头戴式显示器内的面部传感器的面部和眼睛跟踪以及面

部动画

技术领域

[0001] 本公开内容大体上涉及头戴式显示器(HMD),并且具体地涉及HMD内的眼睛和面部跟踪。本公开内容进一步涉及虚拟渲染,并且具体地涉及HMD内的用户的面部的部分的虚拟动画。

背景技术

[0002] 虚拟现实(VR)系统一般包括呈现虚拟现实图像的显示屏幕,该虚拟现实图像可以描述诸如系统的目标和用户的元素。用户可以由虚拟环境中的化身表示。在一些VR系统中,仅利用一个面部表情(例如,默认微笑或中立的面部表情)描述化身,这防止用户在虚拟环境中具有完全沉浸式体验。面部跟踪系统提供更多沉浸式界面。除了必须放置在正在跟踪的用户的面部上的标记之外,跟踪用户的面部表情的现有系统包括专用的外围设备,诸如,相机。这些传统的外围设备和标记使用户与虚拟环境人为地分开。因此,现有的面部跟踪系统不适于在便携式的、轻便的且高性能的虚拟现实头戴耳机中使用。

发明内容

[0003] 根据一个实施方式,VR系统中的头戴式显示器(HMD)包括用于跟踪佩戴HMD的用户的眼睛和面部的传感器。VR系统记录校准属性,诸如,用户的面部的地标。例如,地标描述用户的鼻子相对于用户的面部的位置。校准属性还可以从全局校准属性的在线数据库检索。HMD包括放置在HMD内部的面部传感器,并且在一些实施方式中,HMD还包括也放置在HMD内部的光源。光源照亮由HMD覆盖的用户的面部的部分。
[0004] 结合地,面部传感器捕捉描述面部的照亮部分的面部数据。面部数据可以是称为面部数据帧的图像。在这种情况下,VR系统分析面部数据帧以确定面部的照亮部分的平坦区域(即,用户的面部的近似平面的小部分)的方位。具体地,VR系统使用像素亮度信息确定表面的方位。像素亮度取决于光源的位置和/或方位,因为当入射角等于反射角时反射光最亮。VR系统集合面部的平坦区域并且将平坦区域映射至面部的地标以生成描述用户的面部的面部动画信息。
[0005] 根据又一实施方式,VR系统中的HMD包括用于跟踪HMD内的用户的面部的部分的面部跟踪系统。面部跟踪系统经由一个或多个光源照亮HMD内部的用户的面部的部分。面部跟踪系统捕捉面部的部分的多个面部数据。面部数据使用位于HMD内部的一个或多个面部传感器捕捉。面部传感器可以是成像传感器、非成像传感器、或者它们的组合。在一些实施方式中,面部跟踪系统至少部分基于多个面部数据识别面部的部分的多个平坦区域(即,用户的面部的近似平面的小部分)。面部跟踪系统可以将多个平坦区域映射至面部的一个或多个地标,并且至少部分基于该映射生成面部动画信息。面部动画信息描述用户的面部的部分(例如,在面部数据中捕捉的部分)。在其他实施方式中,面部跟踪系统将面部数据提供至例如生成面部动画的控制台。面部跟踪系统将面部动画提供至HMD的显示器以用于呈现给用户。
[0006] 面部动画信息可以用于更新用户的虚拟化身的面部的部分。例如,用户在使用HMD时观看虚拟化身,并且因此体验沉浸式VR体验。VR系统还可以跟踪佩戴HMD的用户的眼睛。因此,面部动画信息可用于更新用户的虚拟化身的眼睛方位。
[0007] 根据本发明的又一实施方式具体在针对系统和方法的所附权利要求中公开,其中,在一个权利要求类别(例如,方法)中提到的任何特征也可以在另一个权利要求类别(例如,系统、存储介质、计算机程序产品等)中要求保护。仅由于形式的原因而选择了所附权利要求中的从属权利要求或后向引用。然而,也可以被要求保护故意后向引用对任何上述权利要求(具体地,多个从属权利要求)导致的任何主题内容,以权利要求及其特征的任何组合被公开并且不管在所附权利要求中选择的从属权利要求都可以要求保护。可以要求保护的主题不仅包括所附权利要求中阐述的特征的组合,而且还包括权利要求中的特征的任何其他组合,其中,权利要求中提及的每个特征可以与权利要求中的任何其他特征或其他特征的组合相结合。此外,本文中描述或描绘的任何实施方式和特征可以在单独权利要求中和/或与本文中描述或描绘的任何实施方式或特征或者与所附权利要求的任何特征的任何组合中要求保护。
[0008] 在根据本发明的实施方式中,头戴式显示器(HMD)包括:
[0009] 显示元件,被配置为向佩戴HMD的用户显示内容;
[0010] 光学块,被配置为将光从显示元件引导至HMD的出射光瞳;
[0011] 多个光源,放置在围绕光学块的离散位置处,多个光源被配置为照亮用户的HMD内部的面部的部分;
[0012] 面部传感器,被配置为捕捉通过多个光源中的一个或多个照亮的面部的部分的一个或多个面部数据;以及
[0013] 控制器,被配置为:
[0014] 从面部传感器接收多个捕捉的面部数据,并且
[0015] 至少部分基于多个捕捉的面部数据生成描述用户的面部的部分的面部动画信息。
[0016] 在根据本发明的实施方式中,头戴式显示器(HMD)可包括:
[0017] 显示元件,被配置为向佩戴HMD的用户显示内容;
[0018] 光学块,被配置为将光从显示元件引导至HMD的出射光瞳;
[0019] 多个光源,放置在围绕光学块的离散位置处,多个光源被配置为照亮用户的HMD内部的面部的部分;
[0020] 面部传感器,被配置为捕捉通过多个光源中的一个或多个照亮的面部的部分的一个或多个面部数据;以及
[0021] 控制器,被配置为:
[0022] 从面部传感器接收多个捕捉的面部数据,并且
[0023] 至少部分基于多个捕捉的面部数据生成描述用户的面部的部分的面部动画信息;和/或
[0024] 将捕捉的面部数据提供至虚拟现实(VR)控制台,并且
[0025] 至少部分基于多个捕捉的面部数据从VR控制台接收用户的面部的部分的虚拟动画。
[0026] HMD进一步可包括被配置为将光从显示元件引导至HMD的出射光瞳的光学块。
[0027] 控制器可进一步被配置为:
[0028] 将指令提供给用户以在校准处理中执行一个或多个面部表情;
[0029] 从面部传感器接收对应于一个或多个面部表情中的至少一个的校准属性;并且[0030] 至少部分基于校准属性识别用户的面部的一个或多个地标,并且
[0031] 其中,描述用户的面部的部分的面部动画信息进一步基于一个或多个地标。
[0032] 显示元件可被配置为向用户显示化身,并且化身的面部可基于面部动画信息。
[0033] 控制器可进一步被配置为:
[0034] 至少部分基于多个捕捉的面部数据识别面部的部分的多个表面;
[0035] 将多个表面映射至描述面部的区域的一个或多个地标;
[0036] 并且其中,描述用户的面部的部分的面部动画信息进一步基于该映射。
[0037] 面部传感器可以选自由以下各项组成的组合:相机、音频传感器、应变计、电磁传感器和近程式传感器。
[0038] 控制器可进一步被配置为:
[0039] 将指令提供至多个光源以照亮面部的部分;并且
[0040] 将与提供至多个光源的指令协调的指令提供至面部传感器,以捕捉一个或多个面部数据。
[0041] 多个光源可被放置在围绕光学块的环形布置中,并且提供至多个光源的指令可被协调为使得只有多个光源中的一个光源在任何给定时间照亮面部的部分。
[0042] 控制器可进一步被配置为:
[0043] 从多个面部数据接收镜面反射信息;并且
[0044] 至少部分基于镜面反射信息识别用户的眼睛的位置。
[0045] 面部动画信息可以进一步基于用户的眼睛的位置。
[0046] 在根据本发明的实施方式中,头戴式显示器(HMD)包括:
[0047] 显示元件,被配置为向佩戴HMD的用户显示内容;
[0048] 多个光源,被放置在用户的视线外部的离散位置处,多个光源被配置为照亮用户的HMD内部的面部的部分;
[0049] 面部传感器,被配置为捕捉通过多个光源中的一个或多个照亮的面部的部分的一个或多个面部数据;以及
[0050] 控制器,被配置为:
[0051] 从面部传感器接收多个捕捉的面部数据,并且
[0052] 至少部分基于多个捕捉的面部数据生成描述用户的面部的部分的面部动画信息。
[0053] 在根据本发明的实施方式中,头戴式显示器(HMD)包括:
[0054] 显示元件,被配置为向佩戴HMD的用户显示内容;
[0055] 光学块,被配置为将光从显示元件引导至HMD的出射光瞳;
[0056] 多个光源,放置在围绕光学块的离散位置处,多个光源被配置为照亮用户的HMD内部的面部的部分;
[0057] 面部传感器,被配置为捕捉通过多个光源中的一个或多个照亮的面部的部分的一个或多个面部数据;以及
[0058] 控制器,被配置为:
[0059] 从面部传感器接收多个捕捉的面部数据,
[0060] 将捕捉的面部数据提供至虚拟现实(VR)控制台,并且
[0061] 至少部分基于多个捕捉的面部数据从VR控制台接收用户的面部的部分的虚拟动画。
[0062] 在根据本发明的实施方式中,一种优选地用于提供佩戴头戴式显示器(HMD)的用户的面部动画信息的方法,包括:
[0063] 经由一个或多个光源照亮佩戴HMD的用户的头戴式显示器(HMD)内部的面部的部分;
[0064] 使用位于HMD内部的一个或多个面部传感器捕捉面部的部分的多个面部数据;至少部分基于多个面部数据识别面部的部分的多个平坦区域;
[0065] 将多个平坦区域映射至面部的一个或多个地标;并且
[0066] 至少部分基于该映射生成面部动画信息,面部动画信息描述对应于用户的面部的部分的虚拟面部的部分。
[0067] 在根据本发明的实施方式中,一种方法可以包括:
[0068] 经由一个或多个光源照亮佩戴HMD的用户的头戴式显示器(HMD)内部的面部的部分;
[0069] 使用位于HMD内部的一个或多个面部传感器捕捉面部的部分的多个面部数据;
[0070] 至少部分基于多个面部数据识别面部的部分的多个平坦区域;
[0071] 将多个平坦区域映射至面部的一个或多个地标;并且
[0072] 至少部分基于该映射生成面部动画信息,面部动画信息描述对应于用户的面部的部分的虚拟面部的部分;和/或
[0073] 将映射提供至虚拟现实(VR)控制台;
[0074] 至少部分基于映射从VR控制台接收面部动画信息,面部动画信息描述包括用户的面部的部分的虚拟面部;并且
[0075] 将面部动画信息提供至HMD的显示器以用于呈现给用户。
[0076] 在根据本发明的实施方式中,该方法进一步可包括:
[0077] 使用面部动画信息更新化身的虚拟面部;并且
[0078] 将虚拟面部提供至HMD的显示元件以用于呈现给用户。
[0079] 在根据本发明的实施方式中,该方法进一步可包括:
[0080] 将指令提供给用户以在校准处理中执行一个或多个面部表情;
[0081] 从面部传感器接收对应于一个或多个面部表情中的至少一个的校准属性;并且[0082] 至少部分基于校准属性识别用户的面部的一个或多个地标,并且
[0083] 其中,生成面部动画信息进一步基于面部的一个或多个地标。
[0084] 在根据本发明的实施方式中,该方法进一步可包括将校准属性存储在包括从多个HMD接收的全局校准属性的在线数据库中。
[0085] 面部的一个或多个地标可描述以下各项中的一个或多个的位置:用户的眼睛、用户的眉毛、用户的鼻子、用户的嘴巴、以及用户的脸颊。
[0086] 面部动画信息可描述用户的面部的部分的三维虚拟表示。
[0087] 面部数据可描述图像的帧,该图像可包括多个像素,每个像素与图像的坐标(x,y)位置相关联,并且至少部分基于多个面部数据识别面部的部分的多个平坦区域可以包括:
[0088] 为图像的每个坐标位置识别对应于坐标位置处的最亮的像素值的平坦区域;
[0089] 识别对应于所识别的平坦区域中的每一个的光传感器位置;
[0090] 至少部分基于所识别的平坦区域和所识别的光传感器位置生成面部的部分的虚拟表面,并且
[0091] 生成面部动画信息可进一步基于虚拟表面。
[0092] 一个或多个面部传感器可选自由以下各项组成的组合:相机、音频传感器、应变计、电磁传感器和近程式传感器。
[0093] 照亮面部的部分可包括:
[0094] 将指令提供至多个光源以照亮面部的部分;并且
[0095] 将与提供至多个光源的指令协调的指令提供至一个或多个面部传感器,以捕捉一个或多个面部数据。
[0096] 多个光源可被放置在环形布置中,并且提供至多个光源的指令可被协调为使得只有多个光源中的一个光源在任何给定时间照亮面部的部分。
[0097] 在根据本发明的实施方式中,该方法进一步可包括:
[0098] 从多个面部数据接收镜面反射信息;并且
[0099] 至少部分基于镜面反射信息识别用户的眼睛的位置。
[0100] 面部动画信息可进一步基于用户的眼睛的位置。
[0101] 在根据本发明的实施方式中,一种方法可包括:
[0102] 接收包括佩戴HMD的用户的头戴式显示器(HMD)内部的面部的一个或多个地标的校准属性;
[0103] 使用位于HMD内部且离开用户的视线的一个或多个面部传感器捕捉面部的部分的多个面部数据;
[0104] 至少部分基于多个面部数据识别面部的部分的多个平坦区域表面;
[0105] 将多个平坦区域映射至面部的一个或多个地标;
[0106] 至少部分基于该映射生成面部动画信息,面部动画信息描述包括用户的面部的部分的虚拟面部;并且
[0107] 将面部动画信息提供至HMD的显示器以用于呈现给用户。
[0108] 在根据本发明的实施方式中,该方法进一步可包括将校准属性存储在包括从多个HMD接收的全局校准属性的在线数据库中。
[0109] 在根据本发明的实施方式中,该方法进一步可包括:
[0110] 从多个面部数据接收镜面反射信息;并且
[0111] 至少部分基于镜面反射信息识别用户的眼睛的位置。
[0112] 使用位于HMD内部且离开用户的视线的一个或多个面部传感器捕捉面部的部分的多个面部数据进一步可包括使用多个光源照亮面部的部分。
[0113] 在根据本发明的实施方式中,一种优选地用于提供佩戴头戴式显示器(HMD)的用户的面部动画信息的方法,可包括:
[0114] 经由一个或多个光源照亮佩戴HMD的用户的头戴式显示器(HMD)内部的面部的部分;
[0115] 使用位于HMD内部的一个或多个面部传感器捕捉面部的部分的多个面部数据;
[0116] 至少部分基于多个面部数据识别面部的多个平坦区域;
[0117] 将多个平坦区域映射至面部的一个或多个地标;
[0118] 将映射提供至虚拟现实(VR)控制台;
[0119] 至少部分基于映射从VR控制台接收面部动画信息,面部动画信息描述包括用户的面部的部分的虚拟面部;并且
[0120] 将面部动画信息提供至HMD的显示器以用于呈现给用户。
[0121] 在根据本发明的又一实施方式中,一个或多个计算机可读非易失性存储介质实施软件,在该软件被执行时,能操作为执行根据本发明或上述实施方式中的任一个的方法。
[0122] 在本发明的又一实施方式中,一种系统包括:一个或多个处理器;以及至少一个存储器,耦接至处理器并且包括通过处理器可执行的指令,当处理器执行指令时可操作为执行根据本发明或者上述实施方式的任一个的方法。
[0123] 在根据本发明的又一实施方式中,优选地包括计算机可读非易失性存储介质的一种计算机程序产品,当在数据处理系统上被执行时可操作为执行根据本发明或上述实施方式的任一个的方法。

附图说明

[0124] 图1是根据实施方式的VR系统的框图。
[0125] 图2是根据实施方式的VR系统的面部跟踪系统的框图。
[0126] 图3是根据实施方式的虚拟现实HMD的线图。
[0127] 图4是根据实施方式的图3中示出的虚拟现实HMD的前刚体的实施方式的线图。
[0128] 图5是根据实施方式的图4中的虚拟现实HMD的前刚体的横截面。
[0129] 图6是示出了根据实施方式的面部动画的过程的流程图。
[0130] 附图仅为了说明的目的描述了本公开内容的实施方式。本领域技术人员从下列描述中容易认识到,在不背离本文中描述的本公开内容的原理或推崇的益处的情况下,可以采用本文中示出的结构和方法的替换实施方式。

具体实施方式

[0131] 系统概述
[0132] 图1是根据实施方式的VR系统100的框图。在一些实施方式中,VR系统100在增强现实(AR)和/或混合现实(MR)环境中操作。图1中示出的系统100包括各自耦接至控制台110的头戴式显示器(HMD)105、成像装置135、以及VR输入接口140。尽管图1示出了包括一个HMD 105、一个成像装置135以及一个VR输入接口140的示例性系统100,但在其他实施方式中,在系统100中包括任意数量的这些部件。例如,可能存在各自具有相关联的VR输入接口140并由一个或多个成像装置135监测的多个HMD 105,并且每个HMD 105、VR输入接口140以及成像装置135与控制台110通信。在可替换配置中,在系统100中可包括不同的和/或附加部件。
[0133] HMD 105向用户呈现内容。由HMD 105呈现的内容的实例包括一个或多个图像、视频、音频、或它们的某种组合。在一些实施方式中,经由从HMD 105、控制台110或者这两者接收音频信息并且基于音频信息呈现音频数据的外部装置(例如,扬声器和/或头戴耳机)呈现音频。以下结合图3至图5进一步描述HMD 105的实施方式。在一个实例中,HMD 105包括一个或多个刚体,它们彼此刚性地或非刚性地耦接。刚体之间的刚性耦接使得耦接的刚体起单个刚性实体的作用。相反,刚体之间的非刚性耦接允许刚体彼此相对移动。
[0134] HMD 105包括电子显示器115、光学块118、一个或多个定位器120、一个或多个位置传感器125、惯性测量单元(IMU)130和面部跟踪系统160。电子显示器115根据从控制台110接收的数据向用户显示图像。在各种实施方式中,电子显示器115可包括单个电子显示器或多个电子显示器(例如,用于用户的每个眼睛的显示器)。电子显示器115的实例包括:液晶显示器(LCD)、有机发光二极管(OLED)显示器、有源矩阵有机发光二极管显示器(AMOLED)、一些其他显示器或者它们的某种组合。
[0135] 光学块118放大从电子显示器115接收的图像光,校正与图像光相关联的光学误差,并且向HMD 105的用户呈现校正的图像光。在实施方式中,光学块118包括一个或多个光学元件和/或不同的光学元件的组合。例如,光学元件是光圈、菲涅尔透镜、凸透镜、凹透镜、过滤器、或者影响从电子显示器115发射的图像光的任何其他合适的光学元件。在一些实施方式中,光学块118中的一个或多个光学元件可具有一个或多个涂层,诸如抗反射涂层。
[0136] 通过光学块118放大图像光允许电子显示器115物理上更小,重量更少,并且消耗的功率小于较大的显示器。另外,放大可增加所显示的内容的视野。例如,所显示的内容的视野使得在一些情况下使用几乎全部用户的视野(例如,110度对角线)呈现所显示的内容。在一些实施方式中,光学块118被设计成它的有效焦距大于到达电子显示器115的间隔,这使通过电子显示器115投射的图像光放大。另外,在一些实施方式中,通过添加或移除光学元件来调节放大量。
[0137] 在实施方式中,光学块118被设计成校正除了固定模式噪声(即,屏幕门效果)之外的一种或多种类型的光学误差。光学误差的实例包括:二维光学误差、三维光学误差或者它们的某种组合。二维误差是发生在二维上的光学像差。二维误差的实例类型包括:桶形失真、枕形失真、纵向色差、横向色差、或者任何其他类型的二维光学误差。三维误差是发生在三维上的光学误差。三维误差的实例类型包括球面像差、彗形像差、场曲率、像散或任何其他类型的三维光学误差。在一些实施方式中,提供给用于显示的电子显示器115的内容是预失真的,并且当光学块118从基于内容生成的电子显示器115接收图像光时,该光学块校正失真。
[0138] 定位器120是相对于彼此并且相对于HMD 105上的特定参考点定位在HMD 105上的特定位置的对象。定位器120可以是发光二极管(LED)、隅角立方体反射器、反射标记、与HMD 105运行的环境形成对比的一种类型的光源、或它们的某种组合。在实施方式中,其中定位器120是有源的(例如,LED或其他类型的发光装置),定位器120可以在可见频带(即,~
380nm至750nm)、在红外(IR)频带(即,~750nm至1mm)、在紫外线频带(即,10nm至380nm)、电磁光谱的一些其他部分、或者它们的某种组合中发光。
[0139] 在一些实施方式中,定位器120位于HMD 105的外表面下方,其对于由定位器120发射或反射的光的波长是透明的,或者足够细到不能大量衰减由定位器120发射或反射的光的波长。另外,在一些实施方式中,HMD105的外表面或其他部分在光波长的可见频带内是不透明的。因此,定位器120可以在作为在IR频带中透明但在可见频带中不透明的外表面下方,在IR频带中发射光。
[0140] IMU 130是基于从一个或多个位置传感器125接收的测量信号生成快速校准属性的电子装置。位置传感器125响应于HMD 105的运动生成一个或多个测量信号。位置传感器125的实例包括:一个或多个加速计、一个或多个陀螺仪、一个或多个磁力计、检测运动的另一种合适类型的传感器、用于IMU 130的误差校正的一种类型的传感器或者它们的某种组合。位置传感器125可以位于IMU 130的外部、IMU 130的内部、和/或它们的某种组合。
[0141] 基于来自一个或多个位置传感器125的一个或多个测量信号,IMU130生成表示相对于HMD 105的初始位置的HMD 105的估计位置的快速校准属性。例如,位置传感器125包括多个加速计以测量平移运动(前/后、上/下和左/右)和多个陀螺仪以测量旋转运动(例如,倾斜、偏转、翻滚)。在一些实施方式中,IMU 130对测量信号进行快速采样并且根据采样数据计算HMD 105的估计位置。例如,IMU 130结合随时间推移从加速计接收的测量信号以估计速度矢量并且结合随时间推移的速度矢量以确定HMD 105上的参考点的估计位置。可替换地,IMU 130将采样的测量信号提供至控制台110,这确定快速校准属性。在一个实施方式中,参考点是用于描述HMD 105的位置的点。尽管参考点可通常定义为空间点,然而,实际上参考点被定义为HMD 105内的点(例如,IMU 130的中心)。
[0142] IMU 130从控制台110接收一个或多个校准参数。如以下进一步讨论的,一个或多个校准参数用于保持对HMD 105的跟踪。基于所接收的校准参数,IMU 130可调节一个或多个IMU参数(例如,采样率)。在一些实施方式中,某些校准参数使IMU 130更新参考点的初始位置,因此其对应于参考点的下一校准位置。更新参考点的初始位置作为参考点的下一个校准位置有助于减少与所确定的估计位置相关联的累积误差。也称为漂移误差的累积误差使参考点的估计位置随着时间推移“漂移”远离参考点的实际位置。
[0143] 面部跟踪系统160跟踪用户的面部的部分(例如,包括用户的眼睛)。例如,面部的部分是通过由用户佩戴的HMD 105覆盖的面部的部分。在一些实施方式中,面部跟踪系统160收集校准属性。校准属性描述由HMD105覆盖的面部的地标(例如,用户的眉毛或鼻子的位置)。在一些实施方式中,面部跟踪系统160使用面部的跟踪部分(还可以包括眼睛位置)和校准属性生成描述用户的面部的跟踪部分的面部动画信息。面部跟踪系统160例如基于用户的面部的跟踪部分(可包括眼睛位置)、校准属性、面部动画信息或它们的某种组合生成跟踪信息。跟踪信息是传递至控制台110的可用于用户的面部的一部分的虚拟动画的信息。面部跟踪系统160将跟踪信息传递至控制台110。在一些实施方式中,跟踪信息不包括通过控制台110生成的面部动画信息。
[0144] 在一些实施方式中,面部跟踪系统160包括一个或多个光源、一个或多个面部传感器、以及在图2中进一步描述的控制器。在一些实施方式中,面部跟踪系统160跟踪用户的眼球运动(例如,角膜球体跟踪)以在用户佩戴HMD 105的同时跟踪用户的一只眼或两只眼。在一些实施方式中,光源和面部传感器通信耦接至执行用于生成面部动画,执行光学动作等的数据处理的控制器。
[0145] 成像装置135根据从控制台110接收的校准参数生成慢速校准属性。慢速校准属性包括示出由成像装置135可检测的定位器120的观察位置的一个或多个图像。在一些实施方式中,成像装置135包括一个或多个相机、一个或多个摄像机、能够捕获包括一个或多个定位器120的图像的任何其他装置、或者它们的某种组合。此外,成像装置135可包括一个或多个滤波器(例如,用于增大信噪比)。成像装置135被配置为在成像装置135的视野中检测从定位器120发射或反射的光。在定位器120包括无源元件(例如,后向反射器)的实施方式中,成像装置135可包括照亮一些或全部定位器120的光源,该定位器向成像装置135中的光源反向反射光。慢速校准属性从成像设置135传送到控制台110,并且成像装置135从控制台110接收一个或多个校准参数来调节一个或多个成像参数(例如,焦距、焦点、帧速率、ISO、传感器温度、快门速度、光圈等)。
[0146] VR输入接口140是允许用户向控制台110发送动作请求的装置。动作请求是执行特定动作的请求。例如,动作请求可以是开始或结束应用或者在应用内执行特定动作。VR输入接口140可包括一个或多个输入装置。示例性输入装置包括:键盘、鼠标、游戏控制器、或用于接收动作请求并将所接收的动作请求传送至控制台110的任何其他合适的装置。由VR输入接口140接收的动作请求被传送至控制台110,该控制台执行对应于动作请求的动作。在一些实施方式中,VR输入接口140可以根据从控制台110接收的指令向用户提供触觉反馈。例如,当接收动作请求时提供触觉反馈,或者控制台110将指令传送至VR输入接口140使得当控制台110执行动作时VR输入接口140生成触觉反馈。
[0147] 控制台110根据从成像装置135、HMD 105和VR输入接口140中的一个或多个接收的信息向HMD 105提供内容以呈现给用户。在图1示出的实例中,控制台110包括应用存储器145、跟踪模块150和VR引擎155。控制台110的一些实施方式具有与结合图1描述的那些模块不同的模块。类似地,可以以与这里描述的方式不同的方式在控制台110的部件中分配下面进一步描述的功能。
[0148] 应用存储器145存储由控制台110执行的一个或多个应用。应用是一组指令,当由处理器执行时,生成用于呈现给用户的内容。由应用生成的内容可响应经由HMD 105或VR接口装置140的移动从用户接收的输入。应用的实例包括游戏应用、会议应用、视频播放应用、或其他合适的应用。
[0149] 跟踪模块150使用一个或多个校准参数来校准系统100,并且可调节一个或多个校准参数以减少确定HMD 105的位置的误差。例如,跟踪模块150调整成像装置135的焦点以获得针对HMD 105上观察的定位器的更精确的位置。此外,由跟踪模块150执行的校准还考虑从IMU 130接收的信息。另外,如果VR头戴耳机105的跟踪丢失(例如,成像装置135失去至少阈值数量的定位器120的视线),则跟踪模块140重新校准整个系统100中的一些或全部。
[0150] 跟踪模块150使用来自成像装置135的慢速校准信息跟踪HMD 105的移动。跟踪模块150使用从慢速校准信息和HMD 105的模型观察的定位器确定HMD 105的参考点的位置。跟踪模块150还使用来自快速校准信息的位置信息来确定HMD 105的参考点的位置。另外,在一些实施方式中,跟踪模块150使用快速校准信息、慢速校准信息或它们的某种组合的部分来预测HMD 105的未来位置。跟踪模块150将HMD 105的估计或预测的未来位置提供至虚拟现实(VR)引擎155。
[0151] VR引擎155执行系统100内的应用并且从跟踪模块150接收HMD105的位置信息、加速度信息、速度信息、预测的未来位置或它们的某种组合。基于所接收的信息,VR引擎155确定内容提供给HMD 105以呈现给用户。在一些实施方式中,VR引擎155基于从HMD 105接收的跟踪信息生成面部动画信息。在替换的实施方式中,VR引擎155从HMD 105直接接收面部动画信息作为跟踪信息的一部分。例如,VR引擎155从面部跟踪系统160的面部动画模块260接收面部动画信息(在图2中进一步描述)。基于面部动画信息,VR引擎155生成对应于HMD 105的用户的包括化身的眼球运动的化身的面部表情和/或化身的虚拟面部。例如,化身的面部表情或眼球运动对应于用户在实际生活中执行的面部表情或眼球运动。VR引擎155经由HMD 105的电子显示器115提供虚拟面部以呈现给用户。在另一实例中,如果接收到的信息指示用户已经向左看,则VR引擎155生成用于在虚拟环境中反映用户移动的HMD 105的内容。此外,VR引擎155响应于从VR输入接口140接收的动作请求在控制台110上执行的应用内执行动作并且将执行该动作的反馈提供至用户。例如,提供的反馈包括经由HMD 105的视觉或听觉反馈或者经由VR输入接口140的触觉反馈。
[0152] 面部跟踪系统
[0153] 图2是根据实施方式的VR系统100的面部跟踪系统160的框图。在图2中示出的实例中,面部跟踪系统160包括一个或多个光源200、一个或多个面部传感器210以及控制器220。在其他实施方式中,不同的和/或另外的部件可以包括在面部跟踪系统160中,或者面部跟踪系统160可以是不同于VR系统100的系统的一部分。
[0154] 一个或多个光源200照亮由HMD 105覆盖的佩戴HMD 105的用户的面部的部分,并且被放置在HMD 105上的离散位置处。在实施方式中,光源200以环形布置放置。具体地,多个光源的每个光源200被放置在圆形的圆周上,例如,覆盖HMD 105的眼杯组件的虚拟圆形(在图4中进一步描述)。例如,每个光源200被放置在一般模拟时钟的时针位置处。在一个实施方式中,一个或多个光源200是在可见频带(即,~380nm至750nm)、在红外(IR)频带(即,~750nm至1mm)、在紫外线频带(即,10nm至380nm)、电磁光谱的一些其他部分、或者它们的某种组合中发光的发光二极管(LED)。在一些实施方式中,光源200包括用于所有光源200或者光源200的子集之间的不同的光学特性。光学特性是光源200的特征。例如,光学特性可以是通过光源200发射的光的波长、以在不同时间点描述光源200的光波之间的相互关系的时间相干性、或者它们的某种组合。进一步地,可以不同频率或振幅(即,变化的强度)调制来自光源200的光和/或在时间或频率域中多路复用。
[0155] 一个或多个面部传感器210捕捉HMD 105的用户的面部数据。面部数据描述用户的面部的特征,例如,通过HMD 105覆盖的面部的部分的特征。面部传感器210可以是成像类型的传感器和/或非成像类型的传感器。成像类型的面部传感器210例如是捕捉用户的面部的部分的图像的相机。图像包括多个像素,并且像素各自具有亮度水平。非成像类型的面部传感器210例如是音频传感器、应变计、电磁传感器、近程式传感器或者一些其他非光学类型的传感器。面部传感器210可具有多个参数,诸如,焦距、焦点、帧速率、ISO、传感器温度、快门速度、光圈、分辨率等。在一些实施方式中,面部传感器210具有高帧速率和高分辨率。
[0156] 在实施方式中,成像类型的面部传感器210被放置为使得可以在用户移动的范围内捕捉响应于来自入射到用户上(例如,入射到由HMD 105覆盖的用户的面部的部分上)的光源200的光的反射。在一个实例中,面部传感器210被离轴放置使得它们超出佩戴HMD 105的用户的视线的范围,即,如果用户注视HMD 105的显示元件115,则面部传感器210没有位于用户的直视视线内。在其他实施方式中,面部传感器210被放置在佩戴HMD 105的用户的视线内,即,用户可以在注视显示元件115的同时看到面部传感器210。
[0157] 在其中面部传感器210是非成像传感器的实施方式中,面部跟踪系统160未必需要光源200。例如,面部传感器210是基于超声的近程式传感器。因此,面部传感器210捕捉表示面部传感器210与用户的面部的部分之间的距离的面部数据。面部传感器210基于超声波开始反射面部的部分并且传播回到面部传感器210的时间确定距离。在这种情况下,面部传感器210朝向用户的面部发射超声波,并且反射的超声波通过面部传感器210检测。
[0158] 控制器220控制面部跟踪系统160。控制器220包括面部跟踪存储器225、面部数据捕捉模块230、校准模块240、面部传感器处理模块250、眼睛跟踪模块255、面部动画模块260和显示接口模块270。在其他实施方式中,不同的和/或另外的部件可以包括在控制器220中。在图2中示出的实例中,控制器220是面部跟踪系统160的一部分,并且因此也是HMD105的一部分。在其他实施方式中,一些或所有控制器220在HMD 105的外部,例如,控制器220作为控制台110的一部分被包括或者包括在系统100的外部的另一部件和/或系统中。在一些实施方式中,使控制器220在HMD 105的外部可能是优点,因为HMD 105可以减少执行控制器的功能的处理能力的需要量;在其中HMD 105利用可充电电池供电的实施方式中,减少处理能力来增加HMD 105的电池寿命。
[0159] 面部跟踪存储器225存储由面部跟踪系统160记录或使用的数据。存储的数据可包括例如跟踪信息、面部数据、眼睛跟踪信息、校准属性、面部动画信息、用于面部跟踪的一些其他信息、或者它们的某种组合。面部数据包括有关佩戴HMD 105的用户的面部的跟踪表面的信息。校准属性包括有关用户的面部的地标的信息。以下进一步描述面部数据和校准属性。面部跟踪存储器225可以存储从面部跟踪系统160的外部的资源(例如,从控制台110或者从在线资源)检索到的信息。面部跟踪系统160的其他模块将信息存储至面部跟踪存储器225和/或从面部跟踪存储器225检索信息。
[0160] 面部数据捕捉模块230从面部传感器210接收面部数据。在包括成像类型的面部传感器210(例如,相机)的实施方式中,面部数据捕捉模块230将指令提供至一个或多个光源200以照亮用户的面部的部分。结合地,面部数据捕捉模块230还将指令提供至一个或多个面部传感器210以捕捉面部(例如,HMD 105内部的部分)的照亮部分的一个或多个面部数据帧。在实施方式中,面部数据捕捉模块230将捕捉的面部数据帧存储在面部跟踪存储器225和/或面部跟踪系统160可以访问的系统100的在线或线下的任何其他数据库中。
[0161] 在包括非成像类型的面部传感器210的实施方式中,面部数据捕捉模块230将指令提供至面部传感器210以捕捉佩戴HMD 105的用户的面部的一部分的面部数据。在这个实施方式中,面部跟踪系统160可能不包括光源200。因此,在一些实施方式中,面部数据捕捉模块230没有将结合提供至面部传感器210的指令的指令提供至光源200。
[0162] 面部数据捕捉模块230协调每个光源200的控制。在一些实施方式中,例如,具有以环形布置放置的光源200的实施方式,面部数据捕捉模块230将指令提供至光源200,使得只有一个光源在任何给定时间(例如,根据眼睛或者根据HMD 105)发光。环中的光源相继次序发光,即,照亮用户的面部的部分,例如,起始于环中的一个光源并且围绕用户的眼睛沿顺时针方向或逆时针方向发射。可替换地,光源以任何其他顺序或类型的次序发光。例如,十二个光源200以环形布置放置,每个光源围绕用户的眼睛对应于一般的模拟时钟的时针位置(即,1至12)。对应于偶数的光源首先连续发光,然后对应于奇数的光源紧接着连续发光。具体地,光源发射的顺序是:2、4、6、8、10、12、1、3、5、7、9和11。在一些实施方式中,光源发射的顺序是随机的和/或随着时间的推移改变。面部数据捕捉模块230可以在某个时间段以各种照明率重复照明的相同次序(或者不同次序)。例如,面部数据捕捉模块230在10秒内以每秒60的照明率重复顺时针方向照明。除了环形布置之外,光源200可以任何其他布置图形放置或随意放置在HMD 105中。
[0163] 在以下包括放置在围绕用户的每个眼睛的环中的多个光源200的相同的实施方式中,面部数据捕捉模块230将指令提供至面部传感器210以捕捉对应于每个照明的捕捉面部数据,例如,照亮用户的一部分的多个光源的每个实例对应于面部数据的帧。因此,面部数据捕捉模块230必须同步照明和帧捕捉。例如,如果光源200以每秒24的照明率发光,则面部传感器210以每秒至少24帧的速率捕捉帧以实现期望的面部数据分辨率。
[0164] 校准模块240向用户校准HMD 105。校准模块240使用一个或多个选择参数从面部跟踪存储器225、在线校准服务器或者它们的某种组合检索校准属性。选择参数是映射至校准属性的用户的特征。选择参数可以是例如年龄、种族、性别、公民身份、言语、可以影响面部表情的一些其他特征、或者它们的某种组合。
[0165] 校准模块240在所检索的校准属性与所捕捉的校准属性上执行质量检查。在一些实施方式中,实际的校准属性在HMD 105的正常操作期间捕捉。在其他实施方式中,校准模块240生成通过校准处理的步骤引导用户的指令以捕捉校准属性。校准模块240将捕捉的(即,实际的)校准属性与检索的校准属性进行比较。例如,预期的校准属性指示表示用户的鼻子的地标的坐标点的预期设置。实际的校准属性指示地标的坐标点的实际的(即,实验捕捉的)设置。如果所检索的校准属性和实际的校准属性之间的差异小于阈值,则所检索的校准属性提供足够质量用于HMD 105的有效使用。相反,如果所检索的校准属性和实际的校准属性之间的差异大于阈值,则校准模块240确定预期的校准属性与用于HMD 105的有效使用的实际的校准属性非常不同。校准模块240然后将实际的校准属性和用户的选择参数上传至在线服务器。在一些实施方式中,校准模块240将选择参数和实际的校准属性上传至在线服务器,而不管所检索的校准属性和实际的校准属性是否大于阈值。以此方式,在线校准服务器能够加强从来自许多(例如,数千)不同用户的信息建立的全局校准属性设置。因为全局校准属性设置使增加从其检索的校准属性的精度变得较大,因此使在单独的HMD 105上的校准时间最少。
[0166] 如上所述,校准模块240可经由通过校准处理的步骤引导用户的指令捕捉实际的校准属性。校准模块240将指令提供至电子显示器115(例如,经由显示接口模块270)以用于呈现给用户。在一个示例性使用情况下,校准模块240指示佩戴HMD 105的用户执行一个或多个面部表情,诸如,眨眼、斜视、扬眉毛、微笑、皱眉、注视具体方向、或者保持中性面部(即,休息面部而没有任何具体面部表情以提供与具有面部表情的面部对比的基准线)。随着用户在执行一个或多个面部表情,面部数据捕捉模块230结合校准模块240工作以捕捉对应于用户的面部的部分的面部数据。然后,校准模块240将所捕捉的面部数据映射至对应的面部表情,例如,校准模块240将眨眼的面部表情映射至在用户被指示眨眼之后捕捉的面部数据。校准模块240将捕捉的面部数据和映射存储在面部跟踪存储器225和/或面部跟踪系统160可以访问的系统100的在线或线下的任何其他数据库中。
[0167] 在另一个示例性使用情况下,校准模块240至少部分基于捕捉的面部数据和映射识别用户的面部的地标。地标包括例如用户的眉毛、用户的眼睑、用户的瞳孔、用户的鼻子、用户的脸颊、用户的前额等的位置。在实施方式中,面部数据通过成像类型的面部传感器210(例如,相机)捕捉的图像表示。校准模块240通过确定指示地标在所捕捉的图像中示出的一个或多个特征来识别地标。例如,面部表情“扬眉毛”的特征是用户的眉毛将移动。因此,校准模块240基于图像的像素亮度和/或强度级识别图像和/或对应于移动眉毛的图像的部分。具体地,每个图像的一个或多个像素的亮度和/或强度级在多个捕捉图像中的一系列图像上改变,例如,因为移动眉毛使得用户的面部的表面移动,使得面部反射的光的亮度(或强度)改变。校准模块240确定一个或多个像素的坐标点并且将坐标点映射至与用户的眉毛的位置相关联的地标。例如,在多个捕捉图像的二维图像中,像素利用x轴和y轴被组织在平面上。坐标(x,y)点(8,46)、(8,47)和(8,48)被映射至眉毛地标。然后校准模块240将映射存储在面部跟踪存储器225和/或面部跟踪系统160可以访问的系统100的在线或线下的任何其他数据库中。在一个实施方式中,如果校准模块240不能将捕捉图像映射至地标,则校准模块240为用户生成指令以重复面部表情以重新捕捉对应于面部表情的图像。校准模块240可被动(例如,没有向用户报警)或者主动(例如,如先前描述的提示用户通过一系列表示)执行面部校准。校准属性用于VR系统100的正常操作。
[0168] 面部传感器处理模块250处理通过面部数据捕捉模块230捕捉的面部数据。在具有成像类型的面部传感器210的实施方式中,捕捉的面部数据是基于反射用户的光。通过光源200发射的光反射到用户的面部的平坦区域和/或眼睛,反射光通过面部传感器210捕捉。平坦区域是用户的面部的面部跟踪系统160接近于平面的很小部分。当表面上的入射角等于捕捉的光的角度时,捕捉的光最亮(例如,最高强度)。因此,在包括通过面部传感器210捕捉的多个像素的采样面部数据帧中,多个像素的最亮的像素是基于光源200的位置和/或方位,反射光相对于发射光的平坦区域从该位置和/或方位发起。最亮的像素例如是具有最大强度值的像素,其中,强度值表示通过一个或多个面部传感器210捕捉的光的量。面部传感器处理模块250使用例如本领域技术人员所知的图像处理技术确定所捕捉的面部数据帧中的一个最亮的像素(或者多个最亮的像素)。在一些实施方式中,面部传感器处理模块250使用噪声降低方法预处理捕捉的面部数据帧以改善面部数据帧的质量(例如,像素亮度的分辨率),并且因此致使像素的亮度的更精确确定。例如,如果面部数据帧太亮或太暗,则面部传感器处理模块250将图像亮度偏差校正和/或图像过滤应用于捕捉的面部数据帧。
[0169] 在实施方式中,面部传感器处理模块250可以被配置为分析包括通过面部传感器210捕捉的多个面部数据帧的面部数据。基于该分析,面部传感器处理模块250生成表示佩戴HMD 105的用户的面部的跟踪部分的信息。在具有成像类型的面部传感器210的实施方式中,面部传感器处理模块250确定多个面部数据帧中的哪个面部数据帧包括特定像素位置处的最亮的像素。例如,多个帧的每个帧时具有由坐标(x,y)对表示的像素位置的二维图像并且具有50个像素乘以50个像素的尺寸。每个坐标对映射至用户的面部的跟踪部分上的特定的平坦区域。至于多个面部数据帧的每个面部数据帧,对应于面部数据帧的光源200的位置和/或方位是不同的。例如,面部数据帧中的每一个可利用照亮用户的面部的跟踪部分的不同光源200捕捉。面部传感器处理模块250确定多个面部数据帧中的哪个面部数据包括位置(0,0)处的最亮的像素,并且为每个面部数据帧的每个像素位置,例如(0,1)、(0,2)、(0,
3)等重复该过程。因此,面部传感器处理模块250能够识别一个或多个光源200中的哪个为每个坐标对并且因此为用户的面部的跟踪部分的每个对应的平坦区域产生最亮的像素。在一些实施方式中,面部传感器处理模块250简单地为每个坐标对选择产生最亮的像素值的光源200。在替换的实施方式中,面部处理模块250使用来自捕捉的面部数据帧的像素值为每个坐标对生成强度曲线。
[0170] 面部传感器处理模块250确定用户的表面的跟踪部分的每个平坦区域的法向矢量。因此,至于每个像素,存在通过该像素成像的平坦区域的对应的法向矢量。在一些实施方式中,至于用户的面部的特定的像素成像部分,面部传感器处理模块250使用产生最亮的像素值的所识别的光源200确定法向矢量。所识别的光源200的方位相对于面部传感器是不变的和已知的。面部传感器处理模块250使用方位估计用户的面部的平坦区域的法向矢量。面部传感器处理模块250为每个像素确定用户的面部的对应的平坦区域的法向矢量。在一些实施方式中,面部传感器处理模块250使用用于每个像素的强度曲线确定法向矢量。
[0171] 用户的面部的平坦区域的法向矢量描述用户的面部的部分的方位。可以使用多个平坦区域(每个像素一个平坦区域)描述用户的面部的跟踪部分。面部传感器处理模块250确定对应于这些平坦区域中的每一个的法向矢量。然后法向矢量可用于生成描述用户的面部的根据部分的虚拟表面。虚拟表面描述面部的照亮部分的范围的方位。例如,虚拟表面描述用户的鼻子、眼睑或脸颊的曲率。在实施方式中,面部传感器处理模块250将表示面部(例如,虚拟表面)的跟踪部分的信息存储在面部跟踪存储器225和/或由VR系统100可访问的任何数据库中。面部传感器处理模块250还可以将表示跟踪部分的信息提供至面部动画模块260以用于进一步处理。
[0172] 眼睛跟踪模块255处理通过面部数据捕捉模块230捕捉的面部数据。在实施方式中,面部数据描述光(即,来自光源200的光)的镜面反射,并且反射到佩戴HMD 105的用户的眼睛的角膜。镜面反射取决于发起的光源200。具体地,对应于HMD 105中的某个位置和方位中的第一光源200的镜面反射与对应于HMD 105中的不同的位置和/或方位中的第二光源200的镜面反射不同。镜面反射不同,因为反射光在入射角处最亮。因为面部数据捕捉模块
230使照亮用户的面部并且因此包括眼睛与捕捉面部数据协调,眼睛跟踪模块255可以将镜面反射映射至光源200的特定位置,对应于镜面反射的光从该位置发起。基于映射,眼睛跟踪模块255确定眼睛跟踪信息(例如,用户的眼睛的位置和/或方位)例如,眼睛是不是在注视直线、左侧、右侧、向上或向下方向。
[0173] 在另一个实施方式中,眼睛跟踪模块255通过使用与面部传感器处理模块250类似的步骤识别多个捕捉面部数据帧中的一个最亮的像素(或者多个最亮的像素)来确定眼睛跟踪信息。眼睛跟踪模块255将来自捕获图像(例如,图像的像素的(x,y)坐标点)和/或光源210的信息映射至用户的眼睛的方位,例如,眼睛朝向用户的前额向上看,眼睛朝向用户的脸颊向下看等。
[0174] 通过跟踪用户的眼睛(例如,用户的目光的方向)、以及面部表情和表面,VR系统100可以在VR环境中将更加沉浸式体验提供至用户。在实施方式中,眼睛跟踪模块255将眼睛跟踪信息存储在面部跟踪存储器225和/或由VR系统100可访问的任何数据库中。眼睛跟踪模块255还可以将眼睛跟踪信息提供至面部动画模块260以用于进一步处理。
[0175] 面部动画模块260生成HMD 105的用户的一些或所有面部的面部动画。在一个实施方式中,面部动画模块260从具有相同数据的面部跟踪存储器225和/或任何其他数据库检索表示用户的面部的跟踪部分的面部数据和/或眼睛跟踪信息。面部动画模块260还从具有相同数据的面部跟踪存储器225和/或任何其他数据库检索校准模块240(例如,地标信息)的映射。面部动画模块260通过集合所检索的面部数据和所检索的映射生成面部动画信息。例如,面部动画模块260确定对应于面部的地标的位置的面部的多个平坦区域,例如,对应于用户的鼻子的平坦区域。面部动画模块260结合每个对应于地标的位置的多个平坦区域。
例如,所检索的映射包括指示用户的面部的五个地标(例如,左瞳孔、右瞳孔、左脸颊、右脸颊和鼻尖)与五个位置(例如,面部数据帧的(x,y)坐标点和/或坐标点集合)之间的一对一映射的五个映射。因此,产生的面部动画信息描述用户的面部(例如,整个面部和/或面部的部分)的图形表示,这包括对应于五个地标中的每一个的平坦区域。在一些实施方式中,面部动画模块260将多个平坦区域与眼睛跟踪信息结合。因此,面部动画还可以包括用户的眼睛的位置和/或方位的图形表示。在一些实施方式中,面部动画信息可用于创建用户的化身,例如,表示实际生活中的用户的面部的3D虚拟化身或者表示实际生活中的用户的全身的3D虚拟化身。在一些实施方式中,3D虚拟化身不类似用户的模仿(例如,通用化身),并且面部动画信息用于在虚拟化身上生成面部表情,诸如,眨眼或微笑。在一些实施方式中,面部动画模块260直接从面部传感器处理模块250接收表示用户的面部的跟踪部分的信息并且直接从眼睛跟踪模块255接收眼睛跟踪信息。
[0176] 在一些实施方式中,面部动画模块260通过集合通过面部传感器处理模块250生成的虚拟表面生成面部动画信息。例如,面部动画模块260结合用户的鼻子、用户的眼睛和用户的脸颊的虚拟表面。面部动画模块260可以使用校准属性集合虚拟表面。例如,校准属性的地标的坐标描述用户的鼻子的虚拟表面相对于用户的眼睛的虚拟表面的预期位置。
[0177] 在实施方式中,面部动画模块260通过插入对应于通过面部传感器处理模块250确定的映射的面部的其他平坦区域之间的数据生成描述未对应于映射的用户的面部的虚拟部分的面部动画信息的子区域。在一些实施方式中,面部动画模块260基于包括基于来自用户群体的数据,例如某个人口统计范围内的用户的鼻子的平均长度描述一般几何结构和用户的面部的特征的信息(例如,来自提前存储在面部跟踪存储器225中的VR系统100外部的外源)的其他信息生成面部动画信息的子区域。在实施方式中,面部动画模块260进一步基于通过校准模块240识别的地标生成面部动画的子区域。例如,面部动画模块260从面部跟踪存储器225检索表示用户的左鼻孔的位置的2D图像中的像素的坐标点的地标。然后面部动画模块260通过穿过对应于用户的鼻子的中心线的位置的线反射对应于左鼻孔的位置的坐标点生成对应于用户的右鼻孔的面部动画信息的子区域,例如,因为用户的左鼻孔和右鼻孔一般关于鼻子的中心线对称。
[0178] 显示接口模块270将来自面部跟踪系统160的信息提供至电子显示器115以用于呈现给HMD 105的用户。在一个实施方式中,显示接口模块270将通过面部动画模块260生成的面部动画信息提供至电子显示器115。
[0179] 头戴式显示器
[0180] 图3是根据实施方式的虚拟现实HMD 300的线图。HMD 300是HMD105的实施方式并且包括前刚体305和带子310。前刚体305包括电子显示器115(在图3中未示出)、IMU 130、一个或多个位置传感器125、以及定位器120。在图3示出的实施方式中,位置传感器125位于IMU 130内,并且IMU 130和位置传感器125都对用户不可见。
[0181] 定位器120相对于彼此并且相对于参考点315位于前刚体305上的固定位置。在图3的实例中,参考点315位于IMU 130的中心。各个定位器120发射成像装置135可检测到的光。在图3中示出的实例中,定位器120、或定位器120的一部分位于前刚体305的前侧320A、顶侧
320B、底侧320C、右侧320D和左侧320E上。
[0182] 图4是根据实施方式的图3中示出的虚拟现实HMD 300的前刚体305的实施方式的线图。在图4中示出的实施方式中,前刚体305包括眼杯组件400、眼杯组件405、光源410和415、以及面部传感器420和425。光源410、415是光源200的实施方式,并且面部传感器420、
425是面部传感器210的实施方式。眼杯组件400和405各个包括位于佩戴HMD 300的用户的直视视线外部的多个光源。具体地,眼杯组件400包括至少包括光源410的多个光源,并且眼杯组件405包括至少包括光源415的多个光源。在图4中,多个光源中的五个光源分别被示出在围绕每个眼杯组件的明显位置处。从用户的视角,眼杯组件400位于前刚体305的右侧上,并且眼杯组件405位于前刚体305的左侧上。从用户的视角,面部传感器420位于前刚体305的右侧上,并且面部传感器425位于前刚体305的左侧上。进一步地,面部传感器420和425被放置在用户的视线以外。与光源410和415相似,面部传感器420和425位于用户的直视视线的外部并且朝向用户的面部(和眼睛)定向。
[0183] 图5是根据实施方式的图4中的虚拟现实HMD 300的前刚体305的横截面500。如图5所示,前刚体305包括朝向光学块118发射图像光的电子显示元件115。光学块118使图像光放大,并且在一些实施方式中,还校正一个或多个其他的光学误差(例如,失真、散光等)。然后,光学块118将改变的图像光引导至出射光瞳505以用于呈现给用户。出射光瞳505是其中佩戴HMD 300的用户的眼睛510放置的前刚体305的位置。为了示出的目的,图5示出了与单眼510相关联的前刚体305的右侧(从用户的视角)的横截面500,但是与光学块118分开的另一个光学块将改变的图像光提供至用户的另一只眼睛(即,左眼)。
[0184] 控制器220通信耦接至电子显示器115以控制器(例如,经由显示接口模块270)可以提供介质,例如,通过面部动画模块260生成的图像和/或视频数据,诸如,面部动画信息,以用于通过电子显示器115呈现给用户。进一步地,控制器220还通信耦接至光源410和面部传感器420,使得控制器(例如,经由面部数据捕捉模块230)可以将指令提供至光源410和面部传感器420以照亮和捕捉用户的面部的一部分的图像。
[0185] 在图5中示出的实例中,从光源410发出的光线520反射用户的面部的平坦区域530(例如,用户的下眼睑)。在这种情况下,光线的入射角等于光线的反射角(即,这两个角度都等于45度,使得图5中示出的角度是90度)。在多个面部数据帧之间,面部数据帧的任何具体像素基于发起光源410和面部传感器420的特定位置是最亮的。例如,通过光线540照亮的平坦区域530的通过面部传感器420捕捉的面部数据帧具有与通过不同光线520照亮的相同的平坦区域530的另一个面部数据帧不同的最亮的像素。面部数据帧中的最亮的像素的面部数据帧中的位置(面部数据帧的2D图像的(x,y)坐标位置)是不同的,因为两个光线反射用户的面部(或眼睛)的不同的平坦区域,并且因此具有不同的入射角和反射角。
[0186] 过程流
[0187] 图6是示出了根据实施方式的面部动画的过程600的流程图。在实施方式中,在图1中的VR系统100内使用过程600。图6的示例性过程可以通过面部跟踪系统160、HMD 105、控制台110和/或一些其他系统(例如,AR或MR系统)执行。在其他实施方式中,其他实体执行该过程的一些或所有步骤。同样地,实施方式包括不同的和/或其他步骤,或者以不同顺序执行步骤。此外,在一些实施方式中,该过程包括与结合图6描述的那些不同的和/或其他步骤。
[0188] 面部跟踪系统160检索610描述佩戴HMD 105的用户的面部的一个或多个地标的校准属性,例如,用户的眉毛或鼻子的位置。面部跟踪系统160使用局部校准程序从面部跟踪存储器225和/或从使用包括全局校准属性的在线校准服务器检索校准属性。
[0189] 面部跟踪系统160使用光源200照亮620面部的部分。例如,HMD 105内的面部的一部分是用户的眼睛、或者用户的眉毛、鼻子、眼睛和/或脸颊周围的范围。在具有非成像类型的面部传感器210的实施方式中,省略照亮620。
[0190] 面部跟踪系统160(例如,面部数据捕捉模块230)使用面部传感器210捕捉630面部的部分的多个面部数据帧。
[0191] 面部跟踪系统160基于多个面部数据帧识别640面部(或眼睛)的多个平坦区域。面部的各个平坦区域在面部和相对于面部的方位上具有一位置。在具有成像类型的面部传感器210的实施方式中,面部数据帧是各自包括多个像素的图像。基于多个面部数据帧的各个面部数据帧中的最亮的像素的分析识别多个平坦区域。
[0192] 面部跟踪系统160将多个平坦区域映射650至面部的一个以上地标。例如,对应于用户的鼻子的表面的表面被映射至指示用户的鼻子的位置的地标。
[0193] 面部跟踪系统160至少部分基于该映射生成660描述面部的一部分的面部动画信息(例如,在2D或3D中)。面部的部分是通过面部数据帧捕捉的部分。具体地,面部跟踪系统160结合映射建设用户的面部的平坦区域的集合。例如,用户的鼻子的表面至鼻子地标的映射是与用户的眼睛的表面至眼睛地标的映射、用户的眉毛的表面至眉毛地标的映射等集合。
[0194] 面部跟踪系统160将面部动画信息提供670至HMD的显示器(例如,HMD 300的电子显示器115),以用于呈现给用户。例如,面部动画信息用于生成虚拟化身和/或表示实际生活中的用户的面部的虚拟化身上的面部表情。虚拟化身帮助为VR系统100的用户提供沉浸式VR体验。在其他实施方式中,面部跟踪系统160将面部动画信息存储在数据库中,以备将来之用。进一步地,面部跟踪系统160可以提供面部动画信息以用于呈现给VR系统100的其他用户。
[0195] 尽管使用光源和面部传感器描述的面部跟踪系统160跟踪用户的面部表情和眼球运动,但是应注意,该过程600可用于使用不需要光源和/或面部传感器的其他技术跟踪用户的面部表情和眼球运动。例如,其他技术使用超声传感器、近程式传感器等。
[0196] 其他的配置因素
[0197] 本公开内容的实施方式的上述描述出于说明的目的而呈现;并且不旨在穷尽或者将本公开内容局限于所公开的确切形式。相关领域的技术人员应理解,根据上述公开内容,可以做出许多修改和变化。
[0198] 本说明书的一些部分从信息运算的算法和符号表示的角度描述了本公开内容的实施方式。这些算法描述和表示通常由数据处理领域的技术人员使用,以将他们的工作实质有效传达给本领域的其他技术人员。当被描述为功能性的、计算性的或逻辑性的时,这些运算被理解为由计算机程序或等同电路、微码等实现。此外,有时把这些运算的安排称为模块也是方便的,并且不失其一般性。运算及其关联模块可体现在软件、固件、硬件或它们的任意组合中。
[0199] 本文中描述的任何步骤、操作或过程可利用一个或多个硬件或软件模块单独或与其他装置组合执行或实现。在一个实施方式中,软件模块可利用计算机程序产品实现,该计算机程序产品包括包含计算机程序代码的计算机可读介质,该程序代码可通过用于执行描述的任何或所有步骤、操作或过程的计算机处理器执行。
[0200] 本公开内容的实施方式还可涉及一种用于执行本文中的操作的设备。出于需要之目的,可特别构造该设备,和/或该设备可包括由存储在计算机中的计算机程序选择性激活或者重新配置的通用计算装置。这种计算机程序可被存储在非易失性的、有形的计算机可读存储介质中或者适用于存储电子指令的可耦接至计算机系统总线的任何类型的介质中。此外,本说明书中所提及的任何计算系统可包括单个处理器或者可以是采用多处理器设计以增强计算能力的结构。
[0201] 本公开内容的实施方式还可以涉及由本文中所描述的计算过程产生的产品。这种产品可包括由计算过程产生的信息,其中,信息存储在非易失性的、有形的计算机可读存储介质中并且可包括本文中描述的计算机程序产品或其他数据组合的任何实施方式。
[0202] 最后,主要出于可读性和指导性之目的选择本说明书中使用的语言,并且选择其不是为了划定或者限制发明的主题。因此,本公开内容的范围并不旨在由具体实施方式来限定,而是由基于具体实施方式的本申请所发布的任何权利要求来限定。因此,实施方式的公开内容旨在用于说明,而非限制在所附权利要求中阐述的本公开内容的范围。