用于自由立体远程呈现系统的三维(3D)面部特征跟踪的制作方法

未命名 09-08 阅读:243 评论:0

用于自由立体远程呈现系统的三维(3d)面部特征跟踪
技术领域
1.实施例总体上涉及在生成内容以在显示器上呈现中使用的方法、设备和算法。


背景技术:

2.三维(3d)远程呈现系统可以依靠用户头部的3d姿势信息来确定在哪里显示视频和投放音频。3d姿态信息需要准确。例如,一些系统可以是准确的,但需要用户穿戴3d标记球。此外,这些系统非常昂贵,硬件占用空间很大。其他系统可以使用例如可以被用于游戏的小型消费级设备。然而,这些系统具有的准确度和速度达不到3d远程呈现系统的要求。需要具有期望的准确度和速度性能的3d姿势信息系统,该系统可以在3d远程呈现系统中使用,而无需可穿戴(例如,3d标记球、头戴式显示器等)设备。


技术实现要素:

3.在一般方面中,一种设备、系统、非暂时性计算机可读介质(其上存储有可以在计算机系统上执行的计算机可执行程序代码)和/或方法可以利用方法执行过程,该方法包括:使用多个相机捕获至少一个图像,识别与所述至少一个图像相关联的多个面部特征,稳定所述多个面部特征中的至少一个面部特征的位置,将所述至少一个面部特征的位置转换为三维(3d)位置,预测所述至少一个面部特征的未来位置,并使用所述至少一个面部特征的未来位置在平板显示器上渲染3d图像。
4.实施方式可以包括以下特征中的一个或多个。例如,所述至少一个图像可以包括两个或更多个图像,并且所述两个或更多个图像可以是通过以下方式中的至少一种来捕获的:由相同相机顺序地进行和由两个或更多个相机同时进行。识别多个面部特征可以包括识别与所述至少一个图像相关联的面部,生成与面部上的多个面部特征相对应的多个界标,以及将位置与所述多个界标中的每一个相关联。识别多个面部特征可以包括识别与所述至少一个图像相关联的第一面部,识别与所述至少一个图像相关联的第二面部,生成与第一面部上的多个面部特征相对应的第一多个界标,生成与第二面部上的多个面部特征相对应的第二多个界标,将第一位置与第一多个界标中的每一个相关联,以及将第二位置与所述第二多个界标中的每一个相关联。
5.稳定所述至少一个面部特征的位置可以包括从所述至少一个图像中的至少两个图像中选择面部特征,选择与面部特征相关联的至少两个界标,以及将所述至少两个界标的位置进行平均。所述至少一个面部特征的位置可以包括生成与多个面部特征相对应的多个界标,选择所述多个界标的子集,基于与多个界标的子集中的每个界标的位置相关联的速度来确定面部的运动,并且稳定所述至少一个面部特征的位置是基于面部的运动。将所述至少一个面部特征的位置转换为3d位置可以包括基于使用由多个相机中的三个或更多个相机捕获的图像生成的位置数据对所述至少一个面部特征的位置进行三角测量。
6.该方法可以进一步包括将双指数滤波器应用于所述至少一个面部特征的3d位置,以减少与所述至少一个面部特征的3d位置相关联的噪声。预测所述至少一个面部特征的未
来位置可以包括将双指数滤波器应用于所述至少一个面部特征的3d位置的序列,并选择在大于零(0)的时间的值,该值是基于在时间零(0)之前的3d位置的经双指数滤波的序列。该方法可以进一步包括使用所述至少一个面部特征的未来位置生成音频。
7.在一般方面中,一种设备、系统、非暂时性计算机可读介质(其上存储有可以在计算机系统上执行的计算机可执行程序代码)和/或方法可以利用设备执行过程,该设备包括:存储器,该存储器包括表示多个计算机指令的代码段,以及被配置为执行所述代码段的处理器,所述计算机指令包括使用多个相机捕获至少一个图像,识别与所述至少一个图像相关联的多个面部特征,稳定所述多个面部特征中的至少一个面部特征的位置,将所述至少一个面部特征的位置转换为三维(3d)位置,预测所述至少一个面部特征的未来位置,以及使用所述至少一个面部特征的未来位置在平板显示器上渲染3d图像。
8.实施方式可以包括以下特征中的一个或多个。例如,所述至少一个图像可以包括两个或更多个图像,并且所述两个或更多个图像可以是通过以下方式中的至少一种来捕获的:由相同相机顺序地进行和由两个或更多个相机同时进行。识别多个面部特征可以包括识别与所述至少一个图像相关联的面部,生成与面部上的所述多个面部特征相对应的多个界标,以及将位置与所述多个界标中的每一个相关联。识别多个面部特征可以包括识别与所述至少一个图像相关联的第一面部,识别与所述至少一个图像相关联的第二面部,生成与第一面部上的所述多个面部特征相对应的第一多个界标,生成与第二面部上的所述多个面部特征相对应的第二多个界标,将第一位置与第一多个界标中的每一个相关联,以及将第二位置与第二多个界标中的每一个相关联。
9.稳定所述至少一个面部特征的位置可以包括从所述至少一个图像中的至少两个图像中选择面部特征,选择与面部特征相关联的至少两个界标,以及将所述至少两个界标的位置进行平均。稳定所述至少一个面部特征的位置可以包括生成与所述多个面部特征相对应的多个界标,选择所述多个界标的子集,基于与多个界标的子集中的每个界标的位置相关联的速度来确定面部的运动,并且稳定所述至少一个面部特征的位置是基于面部的运动。将所述至少一个面部特征的位置转换为3d位置可以包括基于使用由多个相机中的三个或更多个相机捕获的图像生成的位置数据对所述至少一个面部特征的位置进行三角测量。
10.计算机指令可以进一步包括将双指数滤波器应用于所述至少一个面部特征的3d位置,以减少与所述至少一个面部特征的3d位置相关联的噪声。预测所述至少一个面部特征的未来位置可以包括将双指数滤波器应用于所述至少一个面部特征的3d位置的序列,并选择在大于零(0)的时间的值,该值是基于在时间零(0)之前的3d位置的经双指数滤波的序列。计算机指令可以进一步包括使用所述至少一个面部特征的未来位置生成音频。
附图说明
11.根据下文给出的详细描述和附图,示例实施例将变得更充分地被理解,其中,相同的元件由相同的附图标记表示,所述附图标记仅以说明的方式给出,并且因此不限制示例实施例,并且其中:
12.图1是图示了根据至少一个示例实施方式的用于在显示设备上显示内容的示例3d内容系统的框图。
13.图2是根据至少一个示例实施方式的用于对用于在显示设备中渲染的内容进行建
模的示例系统的框图。
14.图3图示了根据至少一个示例实施例的用于跟踪面部特征和基于面部特征来对方位进行方位确定的系统的框图。
15.图4以绘画方式图示了根据至少一个示例实施例的面部特征方位。
16.图5图示了根据至少一个示例实施例的用于跟踪面部特征和基于所述面部特征来对方位进行方位确定的方法的框图。
17.图6示出了根据至少一个示例实施例的计算机设备和移动计算机设备的示例。
18.应当注意,这些图旨在图示在某些示例性实施例中使用的方法、结构和/或材料的一般特性,并补充下面提供的书面描述。然而,这些附图不是按比例绘制的,并且可能不会精确地反映任何给定实施例的精确结构或性能特性,并且不应被解释为限定或限制由示例实施例所涵盖的值或属性的范围。例如,为了清楚起见,分子、层、区域和/或结构元件的相对厚度和定位可以被减小或夸大。在各个附图中使用相似或相同的附图标记旨在指示相似或相同的元件或特征的存在。
具体实施方式
19.不使用可穿戴设备(例如,头戴式显示器(hmd))的增强现实和虚拟现实(ar/vr)系统,例如,使用固定3d显示器的自由立体/无眼镜远程呈现系统,可能依赖于具有用户面部特征(例如,眼睛和耳朵)的准确的最新3d姿势。例如,在这些系统(例如3d远程呈现系统)中,通过定位虚拟相机并将分开的左立体图像和右立体图像分别投放到左眼和右眼,可以使用准确的眼睛跟踪来修改显示的场景。这样的系统还可以使用耳朵跟踪来准确地处理音频输出和输入,从而在没有耳机的情况下实现空间音频。代替地,这些系统可以使用例如固定扬声器对。
20.在3d远程呈现系统中,面部特征跟踪系统至少应该是快速的、低延时的、低噪声和抖动的、无标记的等。例如,快速跟踪系统应该能够在120hz显示系统上每8.33ms更新一次。低延时跟踪系统应该报告用户的方位,使得屏幕上的更新的渲染与当前用户方位相匹配。否则,如果延时太高,用户可能会感到头晕并体验到严重的视觉伪影。低噪声和抖动的跟踪系统应该最小化能够导致视觉不适的场景晃动。无标记跟踪系统应该使用户能够参与远程呈现系统,而没有附接到用户的设备的不适(例如,没有不期望的用户体验)。
21.示例实施方式可以包括在不使用可穿戴设备(例如,hmd、标记等)的情况下准确且成本有效地跟踪用户(例如,3d远程呈现系统的用户)的面部特征的系统。该面部特征跟踪系统可以使用至少一个相机(例如,单色相机、红外相机等)以有规律的间隔捕获图像。有规律的间隔可以是短的(例如,小于6ms、小于8ms、小于10ms等)。图像可以用于定位面部和面部特征并生成虚拟相机方位、显示器方位、音频方位等。跟踪系统的优点是用户不需要穿戴设备用于面部特征跟踪(改进用户体验),跟踪系统可以快速获取特征,并且跟踪系统包括软件来生成准确的(例如,最小噪声)方位信息。
22.图1是图示根据贯穿本公开描述的实施方式的用于在立体显示设备中捕获和显示内容的示例3d内容系统100的框图。3d内容系统100可以被多个用户使用以例如以3d方式进行视频会议通信(例如,3d远程呈现会话)。通常,图1的系统可以用于在视频会议期间捕获用户的视频和/或图像,并使用本文描述的系统和技术来生成虚拟相机、显示器和音频方
位。系统100可以受益于使用本文描述的方位生成系统和技术,因为这样的技术可以用于以改进视频会议的方式投放视频和音频内容。例如,可以投放视频以基于观看者的方位来渲染3d视频,并基于视频会议中的参与者的方位来投放音频。
23.如图1所示,3d内容系统100正在由第一用户102和第二用户104使用。例如,用户102和104正在使用3d内容系统100来参与3d远程呈现会话。在这样的示例中,3d内容系统100可以允许用户102和104中的每一个看到另一个的高度逼真和视觉上一致的表示,从而促进用户以类似于在彼此的物理存在中的方式进行交互。
24.每个用户102、104可以具有对应的3d系统。这里,用户102具有3d系统106,并且用户104具有3d系统108。3d系统106、108可以提供与3d内容相关的功能性,包括但不限于:捕获图像用于3d显示、处理和呈现图像信息,以及处理和呈现音频信息。3d系统106和/或3d系统108可以构成集成为一个单元的感测设备的集合。3d系统106和/或3d系统108可以包括参考图3描述的一些或所有组件。
25.3d系统106、108可以包括与3d信息的捕获、处理、传输、定位或接收和/或3d内容的呈现相关的多个组件。3d系统106、108可以包括一个或多个相机,用于捕获要被包括在3d呈现中的图像的图像内容和/或用于捕获面部和面部特征。这里,3d系统106包括相机116和118。例如,相机116和/或相机118可以基本上被设置在3d系统106的壳体内,使得相应相机116和/或118的物镜或透镜通过壳体中的一个或多个开口捕获图像内容。在一些实施方式中,相机116和/或118可以与壳体分开,诸如以独立设备的形式(例如,具有到3d系统106的有线和/或无线连接)。如图1所示,至少一个相机114、114'和/或114”被图示为与壳体分开作为独立设备,其可以(例如,利用有线和/或无线连接)被通信耦合到3d系统106。
26.在示例实施方式中,多个相机可以用于捕获至少一个图像。多个相机可以用于捕获两个或更多个图像。例如,两个或更多个图像可以由相同的相机顺序地捕获(例如,用于跟踪)。两个或更多个图像可以由两个或更多个相机同时捕获(例如,以被用于三角测量)。
27.相机114、114'、114”、116和118可以被定位和/或被定向,使得捕获用户(例如,用户102)的充分表示性视图。虽然相机114、114'、114”、116和118通常不会遮挡用户102的3d显示器110的视图,但可以任意选择相机114、114'、114”、116和118的放置。例如,相机116、118中的一个可以被定位在用户102的面部上方某处并且另一个可以被定位在面部下方某处。相机114、114'和/或114”可以被放置在3d系统106的左侧、右侧和/或上方。例如,相机116、118中的一个可以被定位在用户102的面部右侧的某处,并且另一个可以被定位在面部左侧的某处。3d系统108可以包括类似的方式来包括例如相机120、122、134、134'和/或134'。附加的相机是可能的。例如,第三相机可以被放置在显示器110附近或后面。
28.3d内容系统100可以包括一个或多个2d或3d显示器。这里,为3d系统106提供了3d显示器110,并且为3d系统108提供了3d显示器112。3d显示器110、112可以使用多个类型的3d显示技术中的任何一个来为相应的观看者(这里,例如,用户102或用户104)提供自由立体视图。在一些实施方式中,3d显示器110、112可以是独立单元(例如,自支撑或悬挂在墙上)。在一些实施方式中,3d显示器110、112可以包括或具有对可穿戴技术(例如,控制器、头戴式显示器等)的访问。
29.通常,诸如显示器110、112的3d显示器可以在不使用头戴式显示(hmd)设备的情况下提供近似现实世界中物理对象的3d光学特性的影像。通常,本文描述的显示器包括平板
显示器、双凸透镜(例如,微透镜阵列)和/或视差屏障以将图像重定向到与显示器相关联的多个不同观看区域。
30.在一些实施方式中,显示器110、112可以是平板显示器,包括高分辨率和裸眼双凸三维(3d)显示器。例如,显示器110、112可以包括微透镜阵列(未示出),该微透镜阵列包括多个透镜(例如,微透镜),具有被耦合(例如,被粘结)到显示器的微透镜的玻璃间隔物。微透镜可以被设计成使得从选择的观看方位,显示器的用户的左眼可以观看第一像素集合,而用户的右眼可以观看第二像素集合(例如,其中第二像素集合与第一像素集合互斥)。
31.在一些示例3d显示器中,可能存在提供由这样的显示器提供的图像内容(例如,用户、对象等)的3d视图的单个位置。用户可以坐在该单个位置中来体验适当视差、几乎没有失真和逼真的3d图像。如果用户移动到不同的物理位置(或改变头部方位或眼睛注视方位),则图像内容(例如,用户、由用户穿戴的对象和/或其他对象)可能开始显得不那么逼真、2d、和/或失真。因此,本文描述的技术可以使得能够准确地确定用户方位(例如,用户眼睛)以使得能够生成逼真的3d。本文描述的系统和技术可以重新配置从显示器投放的图像内容以确保用户可以在周围移动,但仍然实时体验适当视差、低失真率和逼真的3d图像。因此,本文描述的系统和技术提供了以下优点:维持3d图像内容和提供3d图像内容作为对象以用于向用户显示,而不管在用户正在观看3d显示时发生的任何用户移动。
32.如图1所示,3d内容系统100可以被连接到一个或多个网络。这里,网络132被连接到3d系统106和3d系统108。网络132可以是公开可用的网络(例如,因特网)或专用网络,仅举两个示例。网络132可以是有线的或无线的,或两者的组合。网络132可以包括或利用一个或多个其他设备或系统,包括但不限于一个或多个服务器(未示出)。
33.3d系统106、108可以包括面部查找器/辨识工具。3d系统106、108可以包括面部特征提取器工具。例如,3d系统106、108可以包括机器学习(ml)工具(例如,软件),其被配置为识别图像中的面部并提取面部特征和面部特征的方位(或x、y、z位置)。可以使用相机114、114'、114”、116和/或118(对于3d系统106)和使用相机120、122、134、134'和/或134”(对于3d系统108)来捕获图像。
34.3d系统106、108可以包括一个或多个深度传感器以捕获深度数据以在3d呈现中使用。这种深度传感器可以被认为是要用于表征由3d系统106和/或108捕获的场景以便在3d显示器上正确地表示场景的3d内容系统100中的深度捕获组件的一部分。此外,该系统可以跟踪观看者头部的方位和定向,使得3d呈现以与观看者当前视点相对应的外观被渲染。这里,3d系统106包括深度传感器124。以类似的方式,3d系统108可以包括深度传感器126。多种类型的深度感测或深度捕获中的任何一个都可以用于生成深度数据。
35.在一些实施方式中,执行辅助立体深度捕获。例如,可以使用光点照亮场景,并且可以在两个相应的相机之间执行立体匹配。该照亮可以使用选择的波长或波长范围的波来完成。例如,可以使用红外(ir)光。例如,在一些实施方式中,当在2d设备上生成视图时可能不会使用深度传感器。深度数据可以包括或基于反映深度传感器(例如,深度传感器124)和场景中的对象之间的距离的关于场景的任何信息。深度数据针对与场景中的对象相对应的图像中的内容反映了到对象的距离(或深度)。例如,相机和深度传感器之间的空间关系可以是已知的并且可以用于将来自相机的图像与来自深度传感器的信号相关联以生成图像的深度数据。
36.由3d内容系统100捕获的图像可以被处理,并且然后被显示为3d呈现。如图1的示例中所描绘,具有对象(眼镜104”)的3d图像104'被呈现在3d显示器110上。这样,用户102可以将3d图像104'和眼镜104”感知为可以远离用户102定位的用户104的3d表示。3d图像102'被呈现在3d显示器112上。这样,用户104可以将3d图像102'感知为用户102的3d表示。
37.3d内容系统100可以允许参与者(例如,用户102、104)参与与彼此和/或其他人的音频通信。在一些实施方式中,3d系统106包括扬声器和麦克风(未示出)。例如,3d系统108可以类似地包括扬声器和麦克风。这样,3d内容系统100可以允许用户102和104参与与彼此和/或其他人的3d远程呈现会话。
38.图2是根据贯穿本公开描述的实施方式的用于对用于在3d显示设备中渲染的内容进行建模的示例系统200的框图。系统200可以充当本文所述的一个或多个实施方式或被包括在本文所述的一个或多个实施方式内,和/或可以用于执行本文所述的3d处理、建模或呈现的一个或多个示例的操作。整体系统200和/或其个体组件中的一个或多个可以根据本文描述的一个或多个示例来实现。
39.系统200包括一个或多个3d系统202。在所描绘的示例中,示出了3d系统202a、202b至202n,其中索引n指示任意数。3d系统202可以为3d呈现提供视觉和音频信息的捕获并且转发3d信息以供处理。这样的3d信息可以包括场景的图像、关于场景的深度数据以及来自场景的音频。例如,3d系统202可以充当3d系统106和3d显示器110(图1)或被包括在其中。
40.系统200可以包括多个相机,如由相机204所指示。任何类型的光感测技术都可以用于捕获图像,诸如普通数字相机、单色相机和/或红外相机中使用的图像传感器的类型。相机204可以是相同类型的或不同类型的。例如,相机位置可以被放置在诸如3d系统106的3d系统上(或其外部)的任何位置内。
41.系统202a包括深度传感器206。在一些实施方式中,深度传感器206通过将ir信号传播到场景上并检测响应信号来操作。例如,深度传感器206可以生成和/或检测光束128a-b和/或130a-b。
42.系统202a还包括至少一个麦克风208和扬声器210。例如,这些可以被集成到由用户穿戴的头戴式显示器中。在一些实施方式中,麦克风208和扬声器210可以是3d系统106的一部分并且可以不是头戴式显示器的一部分。
43.系统202附加地包括能够以立体方式呈现3d图像的3d显示器212。在一些实施方式中,3d显示器212可以是独立显示器,并且在一些其他实施方式中,3d显示器212可以被包括在被配置为由用户穿戴以体验3d呈现的头戴式显示单元中。在一些实施方式中,3d显示器212使用视差屏障技术进行操作。例如,视差屏障可以包括被放置在屏幕和观看者之间的基本非透明材料(例如,不透明薄膜)的平行竖直条纹。由于观看者的相应眼睛之间的视差,屏幕的不同部分(例如,不同像素)被相应的左眼和右眼观看。在一些实施方式中,3d显示器212使用双凸透镜操作。例如,可以在屏幕前方放置交替的透镜行,这些行将来自屏幕的光分别瞄向观看者的左眼和右眼。
44.系统202a包括跟踪和方位214块。跟踪和方位214块可以被配置为跟踪用户在房间中的位置。在一些实施方式中,跟踪和方位214块可以跟踪用户的眼睛的位置。在一些实施方式中,跟踪和方位214块可以跟踪用户的头部的位置。跟踪和方位214块可以被配置为确定系统202内的用户、麦克风、相机等的方位。在一些实施方式中,跟踪和方位214块可以被
配置为基于用户的面部和/或面部特征来生成虚拟方位。例如,跟踪和方位块214可以被配置为基于用户的面部和/或面部特征生成虚拟相机的方位。在一些实施方式中,跟踪和方位214块可以使用相机114、114'、114”、116和/或118(对于3d系统106)以及使用相机120、122、134、134'和/或134”(对于3d系统108)来实现。跟踪和方位214块可以被配置为在3d系统202内实现本公开中描述的方法和技术。
45.系统200可以包括服务器216,其可以执行数据处理、数据建模、数据协调和/或数据传输的某些任务。服务器216和/或其组件可以包括参考图6描述的一些或所有组件。
46.服务器216包括可以负责以一种或多种方式渲染3d信息的3d内容生成器218。这可以包括(例如,从3d系统202a)接收3d内容、处理3d内容和/或将(处理过的)3d内容转发到另一个参与者(例如,转发到3d系统202中的另一个)。
47.由3d内容生成器218执行的功能的一些方面可以被实现用于由着色器218执行。着色器218可以负责关于图像的某些部分应用着色,并且还执行与已经或将要被提供着色的图像相关的其他服务。例如,着色器218可以用于抵消或隐藏由3d系统202可能以其他方式生成的一些伪影。
48.着色是指定义图像内容的外观的一个或多个参数,包括但不限于图像中对象、表面和/或多边形的颜色。在一些实施方式中,可以对图像内容的一个或多个部分应用或调整着色以改变那些图像内容部分将如何显现给观看者。例如,可以应用/调整着色以使图像内容部分更暗、更亮、透明等。
49.3d内容生成器218可以包括深度处理组件220。在一些实施方式中,深度处理组件220可以基于与图像内容相关联的一个或多个深度值并基于一个或多个接收到的输入(例如,内容模型输入)将着色(例如,更暗、更亮、透明等)应用于该内容。
50.3d内容生成器218可以包括角度处理组件222。在一些实施方式中,角度处理组件222可以基于图像内容相对于捕获图像内容的相机的定向(例如,角度)向该内容应用着色。例如,可以将着色应用于以高于预定阈值度的角度背对相机角度的内容。这可以允许角度处理组件222在表面转动离开相机时使得亮度被减少和淡出,仅举一个示例。
51.3d内容生成器218包括渲染器模块224。渲染器模块224可以将内容渲染到一个或多个3d系统202。渲染器模块224可以例如渲染可以例如在系统202中被显示的输出/合成图像。
52.如图2所示,服务器216还包括可以负责以一种或多种方式对3d信息进行建模的3d内容建模器230。这可以包括接收3d内容(例如,从3d系统202a)、处理3d内容和/或将(处理过的)3d内容转发到另一个参与者(例如,转发到另一个3d系统202)。3d内容建模器230可以利用架构400来对对象进行建模,如下文进一步详细描述的。
53.姿势232可以表示与捕获的内容(例如,对象、场景等)相关联的姿势。在一些实施方式中,姿势232可以由与系统100和/或200相关联的跟踪系统检测和/或以其他方式确定(例如,使用相机114、114'、114”、116和/或118(对于3d系统106)以及使用相机120、122、134、134'和/或134”(对于3d系统108)实现)。这样的跟踪系统可以包括传感器、相机、检测器和/或标记以跟踪用户的全部或部分的位置。在一些实施方式中,跟踪系统可以跟踪用户在房间中的位置。在一些实施方式中,跟踪系统可以跟踪用户的眼睛的位置。在一些实施方式中,跟踪系统可以跟踪用户的头部的位置。
54.在一些实施方式中,跟踪系统可以跟踪用户相对于显示设备212的位置(或者用户的眼睛或头部的位置),例如,以便显示具有适当深度和视差的图像。在一些实施方式中,与用户相关联的头部位置可以被检测并且被用作例如经由微透镜(未示出)同时将图像投放到显示设备212的用户的方向。
55.类别234可以表示特定对象236的分类。例如,类别234可以是眼镜并且对象可以是蓝色眼镜、清晰眼镜、圆形眼镜等。任何类别和对象可以由本文描述的模型表示。类别234可以用作在对象236上训练生成模型的基础。在一些实施方式中,类别234可以表示可以用于在不同视点下综合渲染3d对象类别的数据集,给出对相同类别的多个对象的地面真实姿势、颜色空间图像和蒙版的集合的访问。
56.三维(3d)代理几何体238表示对象集合的(粗糙)几何体近似和映射到相应对象几何体的一个或多个对象的潜在纹理239两者。粗糙几何体和映射的潜在纹理239可以用于生成对象类别中的一个或多个对象的图像。例如,本文所述的系统和技术可以通过将潜在纹理239渲染到目标视点上并访问神经渲染网络(例如,差分延迟渲染神经网络)以生成显示器上的目标图像来生成用于3d远程呈现显示的对象。为了学习这样的潜在纹理239,本文描述的系统可以学习神经纹理的低维潜在空间和共享的延迟神经渲染网络。潜在空间涵盖一类对象的所有实例,并且允许对对象的实例进行插值,这可以使得能够从几个视点重建对象的实例。
57.神经纹理244表示学习的特征绘图240,其被训练为图像捕获过程的部分。例如,当对象被捕获时,可以使用对象的特征绘图240和3d代理几何体238来生成神经纹理244。在操作中,系统200可以生成特定对象(或场景)的神经纹理244并将其存储为在该对象的3d代理几何体238的顶部上的绘图。例如,可以基于与所识别的类别的每个实例相关联的潜在代码和与姿势相关联的视图来生成神经纹理。
58.几何体近似246可以表示对象几何体的基于形状的代理。几何体近似246可以是基于网格的、基于形状的(例如,三角形、菱形、正方形等)、对象的自由形式版本。
59.神经渲染器250可以生成对象和/或场景的中间表示,例如,其利用神经网络进行渲染。神经纹理244可以用于联合学习纹理绘图(例如,特征绘图240)上的特征以及5层u-net,诸如与神经渲染器250一起操作的神经网络242。神经渲染器250可以例如通过对真实外观(例如,地面真实)和具有对象特定卷积网络的扩散重投影之间的差异进行建模,来并入视图依赖效果。这样的效果可能难以基于场景知识进行预测,并且因此,基于gan的损失函数可以用于渲染逼真的输出。
60.rgb颜色通道252(例如,彩色图像)表示三个输出通道。例如,三个输出通道可以包括(即)表示彩色图像的红色通道、绿色通道和蓝色通道(例如,rgb)。在一些实施方式中,颜色通道252可以是指示对于特定图像哪些颜色要被渲染的yuv绘图。在一些实施方式中,颜色通道252可以是cie绘图。在一些实施方式中,颜色通道252可以是itp绘图。
61.alpha(α)254表示输出通道(例如,蒙版),其表示对于对象中任何数目的像素,特定像素颜色在被覆盖时如何与其他像素合并。在一些实施方式中,alpha 254表示定义对象的透明度水平(例如,半透明、不透明等)的蒙版。
62.上面的示例性组件在这里被描述为在服务器216中实现,其可以通过网络260(其可以与图1中的网络132相似或相同)与一个或多个3d系统202通信。在一些实施方式中,3d
内容生成器216和/或其组件可以代替地或附加地在一些或所有3d系统202中实现。例如,上述建模和/或处理可以由在将3d信息转发到一个或多个接收系统之前产生3d信息的系统执行。作为另一个示例,始发系统可以将图像、建模数据、深度数据和/或对应信息转发到一个或多个接收系统,所述一个或多个接收系统可以执行上述处理。可以使用这些方法的组合。
63.这样,系统200是包括相机(例如,相机204)、深度传感器(例如,深度传感器206)和具有执行在存储器中存储的指令的处理器的3d内容生成器(例如,3d内容生成器218)的系统的示例。这样的指令可以使处理器使用在3d信息中包括的深度数据(例如,通过深度处理组件220)来识别在3d信息中包括的场景的图像中的图像内容。图像内容可以被识别为与满足标准的深度值相关联。例如,处理器可以通过应用由3d内容建模器230生成的模型来生成修改后的3d信息,该模型可以被提供给3d内容生成器218以适当地描绘合成图像256。
64.合成图像256表示特定对象236的3d立体图像,其具有至少部分基于用户的头部的跟踪的位置的与访问显示器(例如,显示器212)的用户相关联的双眼的适当视差和观看配置。合成图像256的至少一部分可以例如每次用户在观看显示器时移动头部方位时使用系统200基于来自3d内容建模器230的输出来确定。在一些实施方式中,合成图像256表示对象236和捕获对象236的视图内的其他对象、用户或图像内容。
65.在一些实施方式中,系统202和216的处理器(未示出)可以包括图形处理单元(gpu)(或与其通信)。在操作中,处理器可以包括(或能够访问)存储器、存储和其他处理器(例如,cpu)。为了促进图形和图像生成,处理器可以与gpu通信以在显示设备(例如,显示设备212)上显示图像。cpu和gpu可以通过诸如pci、agp或pci-express的高速总线连接。gpu可以通过诸如hdmi、dvi或display port的另一个高速接口连接到显示器。通常,gpu可以以像素形式来渲染图像内容。显示设备212可以从gpu接收图像内容并且可以在显示屏上显示图像内容。
66.图3图示了根据至少一个示例实施例的用于跟踪面部特征和基于面部特征来对方位进行方位确定的系统的框图。如图3所示,系统300包括特征跟踪器305块、3d特征三角测量325块、具有预测的双指数滤波器330块、虚拟相机方位335块、显示器方位340块和音频方位345块。特征跟踪器305块包括相机310块、2d面部特征提取315块和2d特征稳定器320块。示例实施方式可以包括多个特征跟踪器(示出为特征跟踪器305-1块、特征跟踪器305-2块、特征跟踪器305-3块、特征跟踪器305-4块、...和特征跟踪器305-n块)。示例实施方式可以包括使用至少两(2)个特征跟踪器305。例如,实施方式可以使用四(4)个特征跟踪器305以便与使用少于四(4)个特征跟踪器305的系统相比优化(例如,增加)准确度、优化(例如,减少)噪声和优化(例如,扩展)捕获体积。
67.相机310可以是以每秒120帧操作的单色相机。当使用两个或更多个相机时,相机310可以连接到硬件触发器以确保相机310在相同时间启动。所得到的图像帧可以被称为帧集合,其中帧集合中的每个帧都是在相同时刻拍摄的。相机310也可以是具有与单色相机类似的操作特性的红外相机。相机310可以是单色相机和红外相机的组合。相机310可以是3d内容系统中的固定相机(例如,相机116、118、120、122)。相机310可以是被耦合到3d内容系统的独立式相机(例如,相机114、114'、114”、134、134'、134”)。相机310可以是固定相机和独立式相机的组合。多个相机可以在多个特征跟踪器305中实现。
68.2d面部特征提取315可以被配置为从使用相机310捕获的图像中提取面部特征。因
此,2d面部特征提取315可以被配置为识别用户(例如,3d远程呈现通信中的参与者)的面部并提取识别出的面部的面部特征。面部检测器(面部查找器、面部定位器等)可以被配置为识别图像中的面部。面部检测器可以作为软件应用中的函数调用来实现。函数调用可以返回面部的位置的直角坐标。如果图像中存在多于一个用户,面部检测器可以被配置为在单个面部上进行隔离。
69.可以从识别出的面部提取面部特征。可以使用2d ml算法或模型提取面部特征。面部特征提取器可以作为软件应用中的函数调用来实现。函数调用可以返回面部的面部界标(或关键点)的位置。面部界标可以包括眼睛、嘴巴、耳朵等。面部辨识和面部特征提取可以作为返回面部界标的单个函数调用来实现。
70.图4以绘画方式图示了面部特征方位。换句话说,图4以绘画方式图示了在界标处使用数字。例如,数字0和1可以分别是左眼和右眼的瞳孔。面部特征提取器可以输出两个变量,包括界标数和像素数。像素数可以基于图像的分辨率(例如,像素数)。例如,图像可以具有为2048x1536的分辨率(例如,3兆像素的相机)。因此,图像可以具有3,145,728个像素,其中第一个像素在图像的左上角,并且最后一个像素在图像的右下角。
71.示例二变量界标输出可以是(1,123456),其可以将界标识别为右眼瞳孔是第123456个像素。如果期望(例如用于某个计算),则像素方位(例如123456)可以被映射到x方位和y方位。面部特征提取器可以使用2d坐标系来输出图像(例如2048x1526图像)中的界标数字、x方位和y方位的三元组。例如,三元组(1,23,218)可以将界标识别为具有为23的x方位和为218的y方位的右眼瞳孔。这些只是用于定位面部界标的方位的两个可能示例。
72.在至少一个示例实施方式中,用户(例如,3d远程呈现通信中的参与者)的眼睛可以是感兴趣的界标。眼睛可以是感兴趣的界标,因为眼睛可以指示用户的头部的姿势。用户正在看的地方可能不感兴趣。因此,瞳孔(例如界标0和界标1)可能不被用于指示用户的头部的姿势。然而,用户的眼窝可以用于指示用户的头部的姿势。例如,界标402、414、406和410可以指示左眼的方位,并且界标404、416、408和412可以指示右眼的方位。界标(例如402、414、406和410)中的每一个都具有一个位置。多个位置可以用于创建平均位置(例如,眼睛中心)。然而,界标位置的其他数学组合是可能的。例如,界标位置可以是加权的、法线(normal)的、平均的、插值的(例如,是或不是中点的插值)等。
73.在至少一个示例实施方式中,用户的耳朵可以是感兴趣的界标。因此,界标418和界标420可以是分别指示左耳和右耳的方位的感兴趣的界标。
74.返回图3,2d特征稳定器320可以被配置为减少与界标相关联的噪声。例如,可以将滤波器应用于2d特征位置(例如,界标位置)以便稳定2d特征。在示例实施方式中,可以应用滤波器来减少与眼睛的位置(例如,界标402、414、406、410和界标404、416、408、412)相关联的噪声。在至少一个示例实施方式中,至少两个图像被用于特征稳定。
75.在示例实施方式中,稳定眼睛(例如,作为2d特征的位置)可以包括通过将每只眼睛周围的界标的位置进行平均来确定每只眼睛的中心。将眼睛周围的界标进行平均可以减少与这些界标相关联的噪声,因为与两个或更多个界标相关联的噪声可能不相关。
76.面部特征(例如,眼睛)的位置的稳定可以基于面部的运动。面部的运动(例如,速度)可以用于进一步减少噪声。可以生成所有面部界标的集合(参见图4)并且确定基本上稳定的面部界标的子集。例如,可以排除噪声特别大的界标。例如,耳朵和脸颊可以呈现高水
平的噪声和不准确度。因此,可以排除与耳朵(例如,界标418和界标420)相关联的界标和与脸颊相关联的界标(例如,界标436和界标438),以便生成基本上稳定的面部界标的子集。确定面部的平均运动可以包括计算面部界标的子集的平均2d速度。考虑到眼窝相对于面部的其余部分是固定的,面部的平均速度应该接近眼窝的平均速度。因此,平均的眼睛中心的速度和面部界标的子集的平均速度可以相加。平均的眼睛中心和面部界标的子集的平均速度可以以预选择的权重集合相加。例如,面部速度可以以90%加权,并且眼睛中心速度可以以10%加权。稳定的眼睛特征可以基于眼睛的原始位置(例如,界标402、414、406、410和界标404、416、408、412)和计算的平均速度。
77.3d特征三角测量325可以被配置为获得界标的3d方位。换言之,面部特征的2d位置(或方位)可以被转换为三维(3d)位置(或方位)。在示例实施方式中,相机(例如,相机114、114'、114”、116、118)和3d显示器(例如,显示器110、112)(相对于另一个相机和/或显示器)的位置和定向是已知的(例如,通过在设置3d远程呈现系统时使用校准)。可以确定用于捕获包括面部特征(例如,界标)的图像的每个相机在2d图像空间中的x和y坐标。可以为每个相机界标对生成射线。例如,可以绘制起源于界标(例如,眼睛)的像素位置到每个相机的射线(例如,使用软件中的函数调用)。对于四个相机,可以生成四条射线。界标的3d位置可以基于射线(例如,四条射线)来确定。例如,射线相交的位置(或它们接近相交的位置)可以指示界标(例如,左眼)的3d位置。
78.具有预测的双指数滤波器330可以被配置为减少与3d界标相关联的噪声。具有预测的双指数滤波器330也可以被配置为预测(或用于预测)3d界标的未来位置。尽管使用2d特征稳定器320减少了界标噪声,但能够存在一些与3d界标位置(或方位)相关联的残余噪声。残余噪声可以被例如环境条件或用户的方面(例如眼镜、面部毛发等)放大。具有预测的双指数滤波器330可以被配置为减少该残余噪声。
79.在示例实施方式中,频带改变滤波器可以为每个轴(x、y和z)定义从n0到nl的频带,因此具有nl-n0的宽度。如果新值低于n0,则可以将n0设置为新值,并且将n1设置为n0+宽度。否则,如果新值超过n1,则可以将n1设置为新值并将n0设置为n1-宽度。如果新值在n0和n1之间,则将不会发生任何改变。报告的实际值可以是频带的中心,(n0+n1)/2。频带改变滤波器可以移除抖动。然而,频带越宽,信号可能响应性越小,并且潜在的误差可能越高。因此,频带应尽可能窄。
80.在3d远程呈现系统中,跟踪显示系统能够具有固有的延时。延时可以是从捕获用户的新方位的光子被头部跟踪相机接收的时间到新计算的方位被发送到渲染器并最终被发送到显示器的时间,其中显示器的像素逐行改变。在一些情况下,延迟能够约为60毫秒。因此,通过预测正确的位置,用户的运动可以用于渲染场景,并通过自由立体显示器将立体图像精确地投放到用户的眼睛中。具有预测的双指数滤波器330可以包括用于预测到未来中(例如,预测界标的未来位置)的趋势信号。
81.频带改变滤波器的输出可以是双指数滤波器的输入,双指数滤波器进一步平滑信号以消除进一步的噪声并将信号预测到未来中。双指数滤波器可以是指数滤波器的二次递归应用。双指数平滑可以使用项来说明输入数据(例如,一系列数据)中的趋势。该项可以是可以作为指数平滑的结果而更新的斜率分量。
82.观察的数据序列(例如,3d界标位置或方位)可以由x
t
表示,在时间t=0开始。时间
t的平滑值可以是s
t
,并且在时间t的趋势的估计可以是b
t
。输出可以是f
t+m
,并且基于直到时间t的数据对在时间m》0的值x
t+m
的估计可以是:
83.s0=x0,
84.b0=x
1-x085.对于t》0:
86.s
t
=αx
t
+(1-α)(s
t-1
+b
t-1
),
87.b
t
=β(s
t-s
t-1
)+(1-β)b
t-1
88.其中α(0≤α≤1)是数据平滑因子,并且β(0≤β≤1)是趋势平滑因子。
89.在x
t
之外预测可以是:
90.f
t+m
=s
t
+m
·bt
.
91.其他算法可以用于指数平滑(例如,线性指数平滑)。在示例实施方式中,界标(例如,面部特征)的位置的当前值可以是x
t
,并且界标的未来位置的值可以被预测为f
t+m
。换句话说,预测面部特征(例如,界标)的未来位置可以包括选择在大于零(0)的时间(例如,在时间m》0)的值(例如,f
t+m
),该值是基于在时间零(0)之前的3d位置的经双指数滤波的序列(例如,基于直到时间t的数据)。
92.虚拟相机方位335、显示器方位340和音频方位345可以使用界标的位置的当前值和/或界标的未来位置的值作为用于跟踪过程的数据,作为可以用于驱动显示器的二进制,作为用于呈现虚拟场景(例如,用于确定左眼场景和右眼场景的方位)的渲染器的输入,以及作为可以用于投放音频(例如,用于确定左耳和右耳之间的立体平衡)的二进制。
93.图3的以上描述用于识别和确定单个面部的方位。然而,示例实施方式不限于识别和确定通信中的单个参与者的方位。换句话说,可以识别和定位两个或更多个参与者。因此,示例实施方式可以包括为了驱动3d显示器和3d渲染系统和/或驱动音频系统的目的而识别和确定两个或更多个面部以及每个面部的眼睛、耳朵和/或嘴巴的方位。
94.3d渲染可以包括使用3d图像渲染系统从期望的视点(pov)(例如,确定为面部的位置)渲染3d场景。例如,本文描述的头部跟踪技术可以用于确定观看显示器的每个用户的两个pov(对于左眼和右眼各一个)。然后,这些视点可以成为用于渲染场景的3d渲染系统的输入。此外,自由立体显示器可能需要获取意在用于每个用户的左眼和右眼的图像,并将那些图像映射到个体屏幕像素。在lcd面板(例如,在透镜面板下方)上渲染的结果图像能够看起来好像许多图像被交错在一起。映射可以由透镜的光学属性确定(例如,像素如何映射到空间中的光线,其中所述像素沿着所述光线是可见的)。自由立体显示器可以包括能够向观看者的左眼和右眼呈现分开的图像的任何自由立体显示器。一种这样类型的显示器可以通过将双凸透镜阵列定位在lcd面板前方并偏移一小段距离来实现。
95.图5图示了根据至少一个示例实施例的方法的框图。关于图5描述的步骤可以由于在与装置(例如,如图1和图2所示)相关联的存储器中存储并且由与该装置相关联的至少一个处理器(例如,至少一个处理器)执行的软件代码的执行而被执行。然而,预见到替代实施例,诸如体现为专用处理器的系统。尽管以下描述的步骤被描述为由处理器执行,但是这些步骤不一定由相同处理器执行。换句话说,至少一个处理器可以执行下面关于图5描述的步骤。
96.图5图示出根据至少一个示例实施例的用于跟踪面部特征和基于面部特征来对方
位进行方位确定的方法的框图。在进行3d远程呈现通信(例如,在3d远程呈现系统中)时,可以重复触发用于跟踪面部特征和基于面部特征来对方位进行方位确定的方法。如图5所示,在步骤s505中二维(2d)图像被捕获。例如,可以在3d远程呈现系统中使用多个相机。参考图1,可以使用相机114、114'、114”、116和/或118(对于3d系统106)和使用相机120、122、134、134'和/或134”(对于3d系统108)捕获图像。
97.在步骤s510中,检测面部。例如,捕获的图像可以用作面部检测算法的输入。面部检测器(面部查找器、面部定位器等)算法可以被配置为识别图像中的面部。面部检测器算法可以作为软件应用中的函数调用来实现。函数调用可以返回面部的位置的直角坐标。面部检测器算法可以是机器学习算法或模型。如果图像中存在多于一个用户,面部检测器算法可以被配置为在单个面部上进行隔离。面部可以与使用3d远程呈现系统的通信中的参与者相关联。
98.在步骤s515中,识别面部特征。例如,可以识别与检测到的面部相关联的特征。可以使用2d ml算法或模型来提取面部特征。面部特征提取器可以作为软件应用中的函数调用来实现。函数调用可以返回面部的面部界标(或关键点)的位置。面部界标可以包括眼睛、嘴巴、耳朵等。面部辨识和面部特征提取可以作为返回面部界标的单个函数调用来实现。在上文中关于图4更详细地描述了识别面部特征。
99.在步骤s520中,稳定面部特征。例如,稳定面部特征可以减少与表示面部特征的界标相关联的噪声。例如,滤波器可以被应用于2d特征位置(例如,界标位置)以便稳定2d特征。在示例实施方式中,滤波器可以被应用于减少与眼睛的位置(例如,界标402、414、406、410和界标404、416、408、412)相关联的噪声。在至少一个示例实施方式中,至少两个图像被用于特征稳定。
100.在示例实施方式中,稳定眼睛(例如,作为2d特征)可以包括通过将每只眼睛周围的界标进行平均来确定每只眼睛的中心。将眼睛周围的界标进行平均可以减少与这些界标相关联的噪声,因为与两个或更多个界标相关联的噪声可能不相关。
101.可以使用面部的运动(例如,速度)来进一步减少噪声。确定面部的运动可以包括计算面部界标的子集的平均2d速度。考虑到眼窝相对于面部的其余部分是固定的,面部的运动应该接近眼窝的运动。因此,平均的眼睛中心的速度和面部界标的子集的平均速度可以相加。平均的眼睛中心和面部界标的子集的平均速度可以以预选择的权重集合相加。例如,面部速度可以以90%加权,并且眼睛中心速度可以以10%加权。稳定的眼睛特征可以基于眼睛的原始位置(例如,界标402、414、406、410和界标404、416、408、412)和计算的平均速度。
102.在步骤s525中,将2d特征转换为3d特征。例如,可以使用三角测量技术将2d面部特征位置转换为3d面部特征位置。在示例实施方式中,相机(例如,相机114、114'、114”、116、118)和3d显示器(例如,显示器110、112)(相对于另一个相机和/或显示器)的位置和定向是已知的(例如,通过在设置3d远程呈现系统时使用校准)。可以确定用于捕获包括面部特征(例如界标)的图像的每个相机在2d图像空间中的x和y坐标。可以为每个相机界标对生成射线。例如,可以绘制起源于界标(例如,眼睛)的像素位置到每个相机的射线(例如,使用软件中的函数调用)。对于四个相机,可以生成四条射线。界标的3d位置可以基于射线(例如,四条射线)来确定。例如,射线相交的位置(或它们接近相交的位置)可以指示界标(例如,左
眼)的3d位置。
103.在步骤s530中,对3d特征进行滤波。例如,如上文更详细描述的,双指数滤波器可以用于减少与3d界标相关联的噪声。具有预测的双指数滤波器330也可以被配置为预测(或用于预测)3d界标的未来方位。尽管使用2d特征稳定器320减少了界标噪声,但能够存在一些与3d界标位置(或方位)相关联的残余噪声。残余噪声可以被例如环境条件或用户的方面(例如眼镜、面部毛发等)放大。具有预测的双指数滤波器330可以被配置为减少该残余噪声并预测3d界标的未来位置。
104.相机方位、显示器方位和音频方位可以使用界标的位置的当前值和/或界标的未来位置的值(例如,眼睛方位、耳朵方位等)作为用于跟踪过程的数据,作为可以用于驱动显示器的二进制,作为用于呈现虚拟场景(例如,用于确定左眼场景和右眼场景的方位)的渲染器的输入,以及作为可以用于投放音频(例如,用于确定左耳和右耳之间的立体平衡)的二进制。
105.因此,在步骤s535中,使用基于与眼睛相关联的界标的位置的跟踪过程来确定虚拟相机方位。跟踪过程可以基于眼睛的预测的方位。在步骤s540中,使用基于与眼睛相关联的界标的位置的跟踪过程来确定显示器方位。跟踪过程可以基于眼睛的预测的方位。在步骤s545中,使用基于与耳朵相关联的界标的位置的跟踪过程来确定音频方位。跟踪过程可以基于耳朵的预测的方位。界标方位可以是已经被双指数滤波并用于预测未来界标方位的3d界标方位。
106.在一般方面中,一种设备、系统、非暂时性计算机可读介质(其上存储有可以在计算机系统上执行的计算机可执行程序代码)和/或方法可以利用方法执行过程,该方法包括:使用多个相机捕获至少一个图像,识别与所述至少一个图像相关联的多个面部特征,稳定多个面部特征中的至少一个面部特征的位置,将所述至少一个面部特征的位置转换为三维(3d)位置,预测所述至少一个面部特征的未来位置,以及使用所述至少一个面部特征的未来位置在平板显示器上渲染3d图像。
107.实施方式可以包括以下特征中的一个或多个。例如,所述至少一个图像可以包括两个或更多个图像,并且所述两个或更多个图像可以是通过以下方式中的至少一种来捕获的:由相同相机顺序地捕获和由两个或更多个相机同时捕获。识别多个面部特征可以包括识别与所述至少一个图像相关联的面部,生成与面部上的所述多个面部特征相对应的多个界标,以及将位置与所述多个界标中的每一个相关联。识别多个面部特征可以包括识别与所述至少一个图像相关联的第一面部,识别与所述至少一个图像相关联的第二面部,生成与第一面部上的多个面部特征相对应的第一多个界标,生成与第二面部上的多个面部特征相对应的第二多个界标,将第一位置与第一多个界标中的每一个相关联,以及将第二位置与第二多个界标中的每一个相关联。
108.稳定所述至少一个面部特征的位置可以包括:从所述至少一个图像中的至少两个图像中选择面部特征,选择与面部特征相关联的至少两个界标,以及将所述至少两个界标的位置进行平均。所述至少一个面部特征的位置可以包括:生成与所述多个面部特征相对应的多个界标,选择所述多个界标的子集,基于与多个界标的子集中的每个界标的位置相关联的速度来确定面部的运动,并且稳定所述至少一个面部特征的位置是基于面部的运动。将所述至少一个面部特征的位置转换为3d位置可以包括基于使用由多个相机中的三个
或更多个相机捕获的图像生成的位置数据来对所述至少一个面部特征的位置进行三角测量。
109.该方法可以进一步包括:将双指数滤波器应用于所述至少一个面部特征的3d位置,以减少与所述至少一个面部特征的3d位置相关联的噪声。预测所述至少一个面部特征的未来位置可以包括将双指数滤波器应用于所述至少一个面部特征的3d位置的序列,以及选择在大于零(0)的时间的值,该值是基于在时间零(0)之前的3d位置的经双指数滤波的序列。该方法可以进一步包括使用所述至少一个面部特征的未来位置来生成音频。
110.在一般方面中,一种设备、系统、非暂时性计算机可读介质(其上存储有可以在计算机系统上执行的计算机可执行程序代码)和/或方法可以利用设备执行过程,该设备包括:存储器,该存储器包括表示多个计算机指令的代码段,以及被配置为执行代码段的处理器,所述计算机指令包括使用多个相机捕获至少一个图像,识别与所述至少一个图像相关联的多个面部特征,稳定多个面部特征中的至少一个面部特征的位置,将所述至少一个面部特征的位置转换为三维(3d)位置,预测所述至少一个面部特征的未来位置,以及使用所述至少一个面部特征的未来位置在平板显示器上渲染3d图像。
111.实施方式可以包括以下特征中的一个或多个。例如,所述至少一个图像可以包括两个或更多个图像,并且所述两个或更多个图像可以是通过以下方式中的至少一种来捕获的:由相同相机顺序地捕获和由两个或更多个相机同时捕获。识别多个面部特征可以包括识别与所述至少一个图像相关联的面部,生成与面部上的多个面部特征相对应的多个界标,以及将位置与多个界标中的每一个相关联。识别多个面部特征可以包括识别与所述至少一个图像相关联的第一面部,识别与所述至少一个图像相关联的第二面部,生成与第一面部上的多个面部特征相对应的第一多个界标,生成与第二面部上的多个面部特征相对应的第二多个界标,将第一位置与第一多个界标中的每一个相关联,以及将第二位置与第二多个界标中的每一个相关联。
112.稳定所述至少一个面部特征的位置可以包括从所述至少一个图像中的至少两个图像中选择面部特征,选择与面部特征相关联的至少两个界标,以及将所述至少两个界标的位置进行平均。稳定所述至少一个面部特征的位置可以包括生成与多个面部特征相对应的多个界标,选择多个界标的子集,基于与多个界标的子集中的每个界标的位置相关联的速度来确定面部的运动,并且稳定所述至少一个面部特征的位置是基于面部的运动。将所述至少一个面部特征的位置转换为3d位置可以包括基于使用由多个相机中的三个或更多个相机捕获的图像生成的位置数据对所述至少一个面部特征的位置进行三角测量。
113.计算机指令可以进一步包括将双指数滤波器应用于所述至少一个面部特征的3d位置,以减少与所述至少一个面部特征的3d位置相关联的噪声。预测所述至少一个面部特征的未来位置可以包括将双指数滤波器应用于所述至少一个面部特征的3d位置的序列,并选择在大于零(0)的时间的值,该值是基于在时间零(0)之前的3d位置的经双指数滤波的序列。计算机指令可以进一步包括使用所述至少一个面部特征的未来位置来生成音频。
114.图6示出了可以与本文描述的技术一起使用的计算机设备600和移动计算机设备650的示例。计算机设备600旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。计算设备650旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算
设备。本文所示的组件、它们的连接和关系以及它们的功能仅意味着是示例性的,并且不意味着限制本文档中描述和/或要求保护的本发明的实施方式。
115.计算设备600包括:处理器602、存储器604、存储设备606、连接到存储器604和高速扩展端口610的高速接口608、以及连接到低速总线614和存储设备606的低速接口612。组件602、604、606、608、610和612中的每一个都使用各种总线来互连,并且可以安装在公共主板上或以其他适当的方式安装。处理器602可以处理用于在计算设备600内执行的指令,包括在存储器604中或在存储设备606上存储以在外部输入/输出设备——诸如被耦合到高速接口608的显示器616——上显示用于gui的图形信息的指令。在其他实施方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和多个类型的存储器。此外,可以连接多个计算设备600,其中每个设备提供必要操作的部分(例如,作为服务器库、一组刀片服务器或多处理器系统)。
116.存储器604将信息存储在计算设备600内。在一个实施方式中,存储器604是一个或多个易失性存储器单元。在另一个实施方式中,存储器604是一个或多个非易失性存储器单元。存储器604也可以是另一个形式的计算机可读介质,诸如磁盘或光盘。
117.存储设备606能够为计算设备600提供大容量存储。在一个实施方式中,存储设备606可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备,或磁带设备、闪存或其他类似的固态存储器设备、或设备阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含指令,这些指令在被执行时执行一个或多个方法,诸如上述那些方法。信息载体是计算机或机器可读介质,诸如存储器604、存储设备606或处理器602上的存储器。
118.高速控制器608管理计算设备600的带宽密集型操作,而低速控制器612管理较低带宽密集型操作。这样的功能分配只是示例性的。在一个实施方式中,高速控制器608被耦合到存储器604、显示器616(例如,通过图形处理器或加速器),以及被耦合到可以接受各种扩展卡(未示出)的高速扩展端口610。在实施方式中,低速控制器612被耦合到存储设备606和低速扩展端口614。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器被耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或诸如交换机或路由器的联网设备。
119.计算设备600可以以多个不同形式实现,如图所示。例如,它可以被实现为标准服务器620,或者在一组这样的服务器中多次实现。它也可以被实现为机架服务器系统624的一部分。此外,它可以在诸如膝上型计算机622的个人计算机中实现。替代地,来自计算设备600的组件可以与移动设备(未示出)中的其他组件——诸如设备650——组合。这样的设备中的每一个可以包含计算设备600、650中的一个或多个,并且整个系统可以由彼此通信的多个计算设备600、650组成。
120.计算设备650包括处理器652、存储器664、诸如显示器654的输入/输出设备、通信接口666和收发器668,以及其他组件。设备650还可以配备有存储设备,诸如微型驱动器或其他设备,以提供附加的存储。组件650、652、664、654、666和668中的每一个都使用各种总线互连,并且组件中的若干组件可以被安装在公共主板上或以其他合适的方式安装。
121.处理器652可以执行计算设备650内的指令,包括在存储器664中存储的指令。处理器可以被实现为包括分开的和多个模拟和数字处理器的芯片的芯片集。处理器可以提供例
如设备650的其他组件的协调,诸如用户接口的控制、由设备650运行的应用以及设备650的无线通信。
122.处理器652可以通过被耦合到显示器654的控制接口658和显示接口656与用户通信。显示器654可以是例如tft lcd(薄膜晶体管液晶显示器)或oled(有机发光二极管)显示器,或其他适当的显示技术。显示接口656可以包括用于驱动显示器654以向用户呈现图形和其他信息的适当电路系统。控制接口658可以从用户接收命令并将它们转换以提交给处理器652。此外,可以提供外部接口662以与处理器652通信,以实现设备650与其他设备的近区域通信。外部接口662可以例如在一些实施方式中提供有线通信,或者在其他实施方式中提供无线通信,并且也可以使用多个接口。
123.存储器664存储计算设备650内的信息。存储器664可以被实现为计算机可读介质或媒介、一个或多个易失性存储器单元或一个或多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器674并通过扩展接口672将扩展存储器674连接到设备650,扩展接口672可以包括例如simm(单列直插式存储器模块)卡接口。这样的扩展存储器674可以为设备650提供额外的存储空间或者也可以为设备650存储应用或其他信息。具体地,扩展存储器674可以包括执行或补充上述过程的指令并且还可以包括安全信息。因此,例如,扩展存储器674可以作为设备650的安全模块提供,并且可以利用允许安全使用设备650的指令来编程。此外,可以经由simm卡提供安全应用以及附加信息,诸如以不可破解的方式在simm卡上放置识别信息。
124.存储器可以包括例如闪存和/或nvram存储器,如下所讨论。在一个实施方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含指令,这些指令在被执行时执行一个或多个方法,诸如上述那些方法。信息载体是计算机或机器可读介质,诸如存储器664、扩展存储器674或处理器652上的存储器,其可以例如通过收发器668或外部接口662接收。
125.设备650可以通过通信接口666进行无线通信,必要时通信接口666可以包括数字信号处理电路系统。通信接口666可以提供各种模式或协议下的通信,诸如gsm语音呼叫、sms、ems或mms消息传送、cdma、tdma、pdc、wcdma、cdma2000或gprs等。这样的通信可以例如通过射频收发器668发生。此外,可以发生短程通信,诸如使用蓝牙、wi-fi或其他这样的收发器(未示出)。此外,gps(全球定位系统)接收器模块670可以向设备650提供附加的导航和位置相关的无线数据,这些数据可以在适当的情况下由在设备650上运行的应用使用。
126.设备650还可以使用音频编解码器660可听地通信,音频编解码器660可以从用户接收口头信息并将其转换成可用的数字信息。音频编解码器660可以类似地为用户生成可听声音,诸如通过例如在设备650的手机中的扬声器。这样的声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),并且还可以包括由在设备650上操作的应用生成的声音。
127.计算设备650可以以多个不同的形式实现,如图所示。例如,它可以被实现为蜂窝电话680。它也可以被实现为智能电话682、个人数字助理或其他类似移动设备的一部分。
128.虽然示例实施例可以包括各种修改和替代形式,但是其实施例在附图中以示例的方式示出并且将在本文中详细描述。然而,应当理解,不旨在将示例实施例限制为所公开的特定形式,而是相反,示例实施例将涵盖落入权利要求的范围内的所有修改、等同物和替代
物。贯穿附图的描述,相同的数字指代相同的元件。
129.本文描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专门设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方式可以包括在一个或多个计算机程序中的实施方式,所述一个或多个计算机程序在可编程系统上可执行和/或可解释,该可编程系统包括至少一个可编程处理器,该至少一个可编程处理器可以是专用的或通用的,被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向存储系统、至少一个输入设备和至少一个输出设备传输数据和指令。本文描述的系统和技术的各种实施方式可以被实现为和/或在本文中通常被称为电路、模块、块或可以组合软件和硬件方面的系统。例如,模块可以包括在处理器(例如,在硅衬底、gaas衬底等上形成的处理器)或一些其他可编程数据处理装置上执行的功能/动作/计算机程序指令。
130.上述示例实施例中的一些被描述为作为流程图描绘的过程或方法。尽管流程图将操作描述为顺序过程,但是许多操作可以并行、并发或同时执行。此外,可以重新安排操作次序。这些过程可以在它们的操作完成时终止,但也可以具有图中未包括的附加步骤。这些过程可以与方法、函数、过程、子例程、子程序等相对应。
131.上面讨论的方法——其中一些由流程图图示——可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合来实现。当以软件、固件、中间件或微代码实现时,执行必要任务的程序代码或代码段可以被存储在机器或计算机可读介质——诸如存储介质——中。处理器可以执行必要的任务。
132.本文公开的具体结构和功能细节出于描述示例实施例的目的仅是表示性的。然而,示例实施例以许多替代形式体现并且不应被解释为仅限于本文阐述的实施例。
133.将理解,尽管术语第一、第二等可以在本文中用于描述各种元件,但这些元件不应受这些术语限制。这些术语仅用于将一个元件与另一个元件区分开来。例如,在不脱离示例实施例的范围的情况下,第一元件可以被称为第二元件,并且类似地,第二元件可以被称为第一元件。如本文所使用,术语和/或包括一个或多个相关联的列出项的任何和所有组合。
134.将理解,当一个元件被称为被连接或被耦合到另一个元件时,它可以直接被连接或被耦合到另一个元件,或者可以存在中间元件。相反,当一个元件被称为被直接连接或被直接耦合到另一个元件时,不存在中间元件。用于描述元件之间的关系的其他词应该以类似的方式解释(例如,在
……
之间对比直接在
……
之间,相邻对比直接相邻等)。
135.本文使用的术语仅用于描述特定实施例的目的,并不旨在限制示例实施例。如本文所使用,除非上下文另有明确指示,单数形式一、一个和该旨在也包括复数形式。将进一步理解,术语包含、包括、含有和/或具有,当在本文中使用时,指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组的存在或添加。
136.还应当注意,在一些替代实施方式中,所指出的功能/动作可以不按图中所指出的次序发生。例如,连续示出的两个图实际上可以并发执行或有时可以以相反的次序执行,这取决于所涉及的功能性/动作。
137.除非另有限定,否则本文使用的所有术语(包括技术和科学术语)具有与示例性实施例所属领域的普通技术人员普遍理解的相同含义。将进一步理解,术语,例如,那些在常
用词典中定义的术语,应该被解释为具有与其在相关领域的场境中的含义一致的含义,并且不会以理想化或过于正式的意义进行解释,除非本文如此明确限定。
138.以上示例实施例的部分和对应的详细描述是根据软件或算法和对计算机存储器内的数据比特的操作的符号表示来呈现的。这些描述和表示是本领域普通技术人员通过其将他们工作的实质有效地传达给其他的本领域普通技术人员的描述和表示。算法,如本文使用术语,以及如其通常使用,被认为是导致所期望结果的步骤的自洽序列。这些步骤是需要对物理量进行物理操纵的那些步骤。通常,但不一定,这些量采用能够被存储、传输、组合、比较和以其他方式操纵的光、电或磁信号的形式。有时,主要出于常用的原因,将这些信号称为比特、值、元素、符号、字符、项、数字等已被证明是方便的。
139.在上述说明性实施例中,对可以被实现为程序模块或功能过程的操作的动作和符号表示(例如,以流程图的形式)的引用包括:执行特定任务或实现特定抽象数据类型、并且可以在现有结构元件处使用现有硬件来描述和/或实现的例程、程序、对象、组件、数据结构等。这样的现有硬件可以包括一个或多个中央处理单元(cpu)、数字信号处理器(dsp)、专用集成电路、现场可编程门阵列(fpga)计算机等。
140.然而,应该记住,所有这些和类似的术语都将与适当的物理量相关联并且仅仅是应用于这些量的方便标签。除非另有明确说明,或者如从讨论中显而易见,诸如处理或计算或运算或确定显示等的术语指的是计算机系统或类似的电子计算设备的动作和过程,其将在计算机系统的寄存器和存储器内表示为物理、电子量的数据操纵并转换为在计算机系统存储器或寄存器或其他这样的信息存储、传输或显示设备内类似地表示为物理量的其他数据。
141.还要注意,示例实施例的软件实现的方面通常被编码在某种形式的非暂时性程序存储介质上或在某种类型的传输介质上实现。程序存储介质可以是磁性的(例如,软盘或硬盘驱动器)或光学的(例如,致密盘只读存储器或cd rom),并且可以是只读的或随机访问的。类似地,传输介质可以是双绞线、同轴线缆、光纤或本领域已知的一些其他合适的传输介质。示例实施例不受任何给定实施方式的这些方面的限制。
142.最后,还应注意,虽然所附权利要求列出了本文所述特征的特定组合,但本公开的范围不限于本文要求保护的特定组合,而是代替地延伸至涵盖本文公开的特征或实施例的任何组合,无论当时是否已经在所附权利要求中具体列举了该特定组合。

技术特征:
1.一种方法,包括:使用多个相机捕获至少一个图像;识别与所述至少一个图像相关联的多个面部特征;稳定所述多个面部特征中的至少一个面部特征的位置;将所述至少一个面部特征的所述位置转换为三维3d位置;预测所述至少一个面部特征的未来位置;以及使用所述至少一个面部特征的所述未来位置在平板显示器上渲染3d图像。2.根据权利要求1所述的方法,其中所述至少一个图像包括两个或更多个图像,以及通过以下方式中的至少一种来捕获所述两个或更多个图像:由相同相机顺序地进行、和由两个或更多个相机同时进行。3.根据权利要求1所述的方法,其中,识别多个面部特征包括:识别与所述至少一个图像相关联的面部,生成与所述面部上的所述多个面部特征相对应的多个界标,以及将位置与所述多个界标中的每一个相关联。4.根据权利要求1所述的方法,其中,识别多个面部特征包括:识别与所述至少一个图像相关联的第一面部,识别与所述至少一个图像相关联的第二面部,生成与所述第一面部上的所述多个面部特征相对应的第一多个界标,生成与所述第二面部上的所述多个面部特征相对应的第二多个界标,将第一位置与所述第一多个界标中的每一个相关联,以及将第二位置与所述第二多个界标中的每一个相关联。5.根据权利要求1所述的方法,其中,稳定所述至少一个面部特征的位置包括:从所述至少一个图像中的至少两个图像中选择面部特征,选择与所述面部特征相关联的至少两个界标,以及将所述至少两个界标的位置进行平均。6.根据权利要求1所述的方法,其中,稳定所述至少一个面部特征的位置包括:生成与所述多个面部特征相对应的多个界标,选择所述多个界标的子集,基于与所述多个界标的所述子集中的每个界标的位置相关联的速度来确定面部的运动,以及稳定所述至少一个面部特征的位置是基于所述面部的所述运动。7.根据权利要求1所述的方法,其中,将所述至少一个面部特征的所述位置转换为3d位置包括:基于使用由所述多个相机中的三个或更多个相机捕获的图像所生成的位置数据,对所述至少一个面部特征的所述位置进行三角测量。8.根据权利要求1所述的方法,进一步包括:将双指数滤波器应用于所述至少一个面部特征的所述3d位置,以减少与所述至少一个面部特征的所述3d位置相关联的噪声。9.根据权利要求1所述的方法,其中,预测所述至少一个面部特征的未来位置包括:
将双指数滤波器应用于所述至少一个面部特征的所述3d位置的序列,以及选择在大于零(0)的时间的值,所述值是基于在时间零(0)之前的所述3d位置的经双指数滤波的序列。10.根据权利要求1所述的方法,进一步包括:使用所述至少一个面部特征的所述未来位置来生成音频。11.一种三维3d内容系统,包括:存储器,所述存储器包括表示多个计算机指令的代码段;以及处理器,所述处理器被配置为执行所述代码段,所述计算机指令包括:使用多个相机捕获至少一个图像;识别与所述至少一个图像相关联的多个面部特征;稳定所述多个面部特征中的至少一个面部特征的位置;将所述至少一个面部特征的所述位置转换为三维3d位置;预测所述至少一个面部特征的未来位置;以及使用所述至少一个面部特征的所述未来位置在平板显示器上渲染3d图像。12.根据权利要求11所述的3d内容系统,其中所述至少一个图像包括两个或更多个图像,以及通过以下方式中的至少一种来捕获所述两个或更多个图像:由相同相机顺序地进行、和由两个或更多个相机同时进行。13.根据权利要求11所述的3d内容系统,其中,所述识别多个面部特征包括:识别与所述至少一个图像相关联的面部,生成与所述面部上的所述多个面部特征相对应的多个界标,以及将位置与所述多个界标中的每一个相关联。14.根据权利要求11所述的方法,其中,识别多个面部特征包括:识别与所述至少一个图像相关联的第一面部,识别与所述至少一个图像相关联的第二面部,生成与所述第一面部上的所述多个面部特征相对应的第一多个界标,生成与所述第二面部上的所述多个面部特征相对应的第二多个界标,将第一位置与所述第一多个界标中的每一个相关联,以及将第二位置与所述第二多个界标中的每一个相关联。15.根据权利要求11所述的3d内容系统,其中,稳定所述至少一个面部特征的位置包括:从所述至少一个图像中的至少两个图像中选择面部特征,选择与所述面部特征相关联的至少两个界标,以及将所述至少两个界标的位置进行平均。16.根据权利要求11所述的3d内容系统,其中,稳定所述至少一个面部特征的位置包括:生成与所述多个面部特征相对应的多个界标,选择所述多个界标的子集,基于与所述多个界标的所述子集中的每个界标的位置相关联的速度来确定面部的运
动,以及稳定所述至少一个面部特征的位置是基于所述面部的所述运动。17.根据权利要求11所述的3d内容系统,其中,将所述至少一个面部特征的所述位置转换为3d位置包括:基于使用由所述多个相机中的三个或更多个相机捕获的图像所生成的位置数据,对所述至少一个面部特征的所述位置进行三角测量。18.根据权利要求10所述的3d内容系统,其中,所述计算机指令进一步包括:将双指数滤波器应用于所述至少一个面部特征的所述3d位置,以减少与所述至少一个面部特征的所述3d位置相关联的噪声。19.根据权利要求11所述的3d内容系统,其中,预测所述至少一个面部特征的所述未来位置包括:将双指数滤波器应用于所述至少一个面部特征的所述3d位置的序列,以及选择在大于零(0)的时间的值,所述值是基于在时间零(0)之前的所述3d位置的经双指数滤波的序列。20.根据权利要求11所述的3d内容系统,其中,所述计算机指令进一步包括:使用所述至少一个面部特征的所述未来位置来生成音频。21.一种在其上存储有计算机可执行程序代码的非暂时性计算机可读存储介质,所述计算机可执行程序代码当在计算机系统上执行时,使所述计算机系统执行一种方法,所述方法包括:使用多个相机捕获至少一个图像;识别与所述至少一个图像相关联的多个面部特征;稳定所述多个面部特征中的至少一个面部特征的位置;将所述至少一个面部特征的所述位置转换为三维3d位置;将双指数滤波器应用于所述至少一个面部特征的所述3d位置,以减少与所述至少一个面部特征的所述3d位置相关联的噪声;预测所述至少一个面部特征的未来位置;使用所述至少一个面部特征的所述未来位置确定用于在平板显示器上渲染3d图像的显示器方位;以及使用所述至少一个面部特征的所述未来位置来确定用于生成音频的音频方位。22.根据权利要求21所述的非暂时性计算机可读存储介质,其中,稳定所述至少一个面部特征的位置包括:生成与所述多个面部特征相对应的多个界标,选择所述多个界标的子集,基于与所述多个界标的所述子集中的每个界标的位置相关联的速度来确定面部的运动,以及稳定所述至少一个面部特征的位置是基于所述面部的所述运动。

技术总结
一种方法,包括使用多个相机捕获至少一个图像,识别与所述至少一个图像相关联的多个面部特征,稳定所述多个面部特征中的至少一个面部特征的位置,将所述至少一个面部特征的位置转换为三维(3D)位置,预测所述至少一个面部特征的未来位置,并且使用所述至少一个面部特征的未来位置在平板显示器上渲染3D图像。的未来位置在平板显示器上渲染3D图像。的未来位置在平板显示器上渲染3D图像。


技术研发人员:萨沙
受保护的技术使用者:谷歌有限责任公司
技术研发日:2020.11.30
技术公布日:2023/8/1
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐