利用深度外观模型渲染化身的系统和方法与流程

文档序号:21849923发布日期:2020-08-14 17:26阅读:126来源:国知局
利用深度外观模型渲染化身的系统和方法与流程

相关申请的交叉引用

本申请要求于2018年7月31日提交的第16/049,848号美国非临时申请和于2018年1月8日提交的第62/614,776号美国临时申请的权益,该非临时申请和临时申请的公开通过此引用以其整体并入。

背景

随着现代虚拟现实(vr)和增强现实(ar)头戴式装置(headset)的出现,需要改进的计算机图形模型以增强沉浸感。对于沉浸式社交体验来说,人脸可能特别具有挑战性,但却至关重要。例如,为了提供具有面对面互动的丰富度和深度的虚拟体验,参与者之间的社交信号的细微差别应该被准确地捕获和显示。然而,实现人脸的实时渲染已表明是一项艰巨的任务。例如,人脸可能包含可能难以建模的精细几何结构,如睫毛、毛孔和绒毛。这些因素和其他因素可能使得难以提供动态和社交互动场景的照片级真实感渲染。

概述

如下面将更详细描述的,本公开描述了利用深度外观模型来将人脸和其他对象渲染为用于vr/ar呈现的化身(avatar)。

在一个示例中,一种计算机系统可以包括输入模块、自动编码器和渲染模块。输入模块可以被配置为接收几何结构信息和多个图像。几何结构信息可以指示对象的几何结构在一时间段内的变化,并且该时间段可以包括多个时刻。接收到的多个图像可以是在多个时刻的每个时刻对象的多个图像,并且每个图像可以与对象的相应视点相关联。每个图像可以包括对象的视图相关纹理图(view-dependenttexturemap),该视图相关纹理图取决于对象的相应视点。自动编码器可以被配置为联合编码纹理信息和几何结构信息以提供潜在向量(latentvector)。自动编码器还可以被配置为使用潜在向量来推断相对于预测的视点的对象的推断的几何结构以及相对于预测的视点的对象的推断的视图相关纹理。渲染模块可以被配置为使用推断的几何结构和推断的视图相关纹理来针对预测的视点渲染对象的重建图像。

在一些实施例中,对于多个时刻的每个时刻,自动编码器可以被配置为对与多个图像相关联的相应视图相关纹理图进行平均。自动编码器可以是条件自动编码器,并且自动编码器可以被配置为调节与每个图像相关联的至少一个变量。在一些实施例中,潜在向量可以不包含关于该至少一个变量的任何信息。另外,该至少一个变量可以包括与每个图像相关联的相应视点,并且潜在向量可以不包含任何视点信息。

在一些实施例中,潜在向量可以包括对象的面部表情的表示。在一些实施例中,几何结构信息可以包括在该时间段内跟踪的对象的三维网格。在一些实施例中,图像可以具有多个像素,每个像素可以具有相关联的颜色,并且计算机系统可以被配置为通过将光线投射穿过每个像素并将相交的纹理坐标分配给每个相应像素的颜色来展开视图特定纹理图。在一些实施例中,计算机系统可以被配置为实时推断该推断的几何结构和推断的视图相关纹理,并实时渲染对象的一系列动画化的重建图像。所渲染的一系列动画化的重建图像可以包括用于在虚拟现实(vr)或增强现实(ar)(vr/ar)头戴式装置上显示的vr或ar呈现。

在另一示例中,一种计算机实现的方法可以包括接收、联合编码、推断和渲染步骤。接收可以包括接收几何结构信息和接收多个图像。几何结构信息可以指示对象的几何结构在一时间段内的变化,该时间段可以包括多个时刻。多个图像可以是在多个时刻的每个时刻对象的图像。每个图像可以与对象的相应视点相关联,并且每个图像可以包括对象的视图相关纹理图,该视图相关纹理图取决于对象的相应视点。联合编码可以由自动编码器执行,并且可以包括联合编码纹理信息和几何结构信息以提供潜在向量。推断可以包括使用潜在向量来推断相对于预测的视点的对象的推断的几何结构以及相对于预测的视点的对象的推断的视图相关纹理。渲染可以包括使用推断的几何结构和推断的视图相关纹理来针对预测的视点渲染对象的重建图像。

该方法还可以包括调节与每个图像相关联的相应视点,并且潜在向量可以不包含任何视点信息。潜在向量可以包括对象的面部表情的表示。几何结构信息可以包括在时间段内跟踪的对象的三维网格。在一些实施例中,推断该推断的几何结构和推断的视图相关纹理可以实时地进行。渲染对象的一系列动画化的重建图像可以实时地进行。所渲染的一系列动画化的重建图像可以包括用于在vr/ar头戴式装置上显示的vr或ar呈现。

在另一示例中,一种计算机系统可以包括多相机装置(set-up)、输入模块、自动编码器和渲染模块。多相机装置可以包括靠近对象布置的多个相机,并且每个相机可以被配置为捕获对象的图像,所捕获的图像与对象的相应视点相关联。输入模块可以被配置为接收几何结构信息和多个图像。几何结构信息可以指示对象的几何结构在一时间段内的变化,并且该时间段可以包括多个时刻。接收到的多个图像可以是在多个时刻的每个时刻对象的多个图像,并且每个图像可以与对象的相应视点相关联。每个图像可以包括对象的视图相关纹理图,该视图相关纹理图取决于对象的相应视点。自动编码器可以被配置为联合编码纹理信息和几何结构信息以提供潜在向量。自动编码器还可以被配置为使用潜在向量来推断相对于预测的视点的对象的推断的几何结构以及相对于预测的视点的对象的推断的视图相关纹理。渲染模块可以被配置为使用推断的几何结构和推断的视图相关纹理来针对预测的视点渲染对象的重建图像。

在一些实施例中,该计算机系统可以被配置为实时推断该推断的几何结构和推断的视图相关纹理,并实时渲染对象的一系列动画化的重建图像。所渲染的一系列动画化的重建图像可以包括用于在vr/ar头戴式装置上显示的vr或ar呈现。该计算机系统可以被配置为学习来自多相机装置的多个图像和来自安装在vr/ar头戴式装置上的相机的图像之间的对应关系。该计算机系统还可以被配置为使用重建图像来重新渲染对象的多个模拟头戴式装置图像,并且每个模拟头戴式装置图像可以与多个模拟vr/ar头戴式装置相机的视点相关联。该计算机系统还可以被配置为从多个vr/ar头戴式装置相机接收对象的多个接收的头戴式装置图像,并且联合编码多个模拟头戴式装置图像和多个接收的头戴式装置图像以提供第二潜在向量。该计算机系统可以被配置为调节多个模拟头戴式装置图像和多个接收的头戴式装置图像,使得第二潜在向量不包含指示接收到的头戴式装置图像是模拟头戴式装置图像还是接收的头戴式装置图像的信息。

根据本文描述的一般原理,来自上面提到的实施例中的任一个的特征可以与彼此组合地被使用。当结合附图和权利要求阅读下面的详细描述时,这些和其他实施例、特征和优点将被更充分地理解。

在涉及计算机系统和计算机实现的方法的所附权利要求中具体公开了根据本发明的实施例,其中,在一个权利要求类别(例如系统)中提到的任何特征也可以在另一个权利要求类别(例如方法、存储介质和计算机程序产品)中被要求保护。所附权利要求中的从属关系或往回引用仅出于形式原因而选择。然而,也可以要求保护由对任何前面权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并可被要求保护,而不考虑在所附权利要求中选择的从属性。可以要求保护的主题不仅包括所附权利要求中阐述的特征的组合,还包括权利要求中特征的任何其他组合,其中权利要求中提到的每个特征可以与权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的任何实施例和特征可以在单独的权利要求中和/或在与本文描述或描绘的任何实施例或特征或与所附权利要求的任何特征的任何组合中要求保护。

在实施例中,一种计算机系统可以包括:

输入模块,其被配置为:

接收几何结构信息,该几何结构信息指示对象的几何结构在一时间段内的变化,该时间段包括多个时刻;和

在多个时刻的每个时刻接收对象的多个图像,每个图像与对象的相应视点相关联,并且每个图像包括对象的视图相关纹理图,该视图相关纹理图取决于对象的相应视点;

自动编码器,其被配置为:

联合编码纹理信息和几何结构信息以提供潜在向量;和

使用潜在向量推断:

相对于预测的视点的对象的推断的几何结构;和

相对于预测的视点的对象的推断的视图相关纹理;和

渲染模块,其被配置为使用推断的几何结构和推断的视图相关纹理来针对预测的视点渲染对象的重建图像。

对于多个时刻的每个时刻,自动编码器可以被配置为对与多个图像相关联的相应视图相关纹理图进行平均。

自动编码器可以是条件自动编码器,其被配置为调节与每个图像相关联的至少一个变量,并且潜在向量可以不包含关于该至少一个变量的任何信息。

该至少一个变量可以包括与每个图像相关联的相应视点,并且潜在向量可以不包含任何视点信息。

自动编码器可以被配置为通过使用潜在向量以及针对预测的视点的对象的视图向量(viewvector)来推断该推断的几何结构和推断的视图相关纹理。

潜在向量可以包括对象的面部表情的表示。

几何结构信息可以包括在时间段内跟踪的对象的三维网格。

对于每个图像:图像可以具有多个像素,每个像素具有相关联的颜色;并且计算机系统可以被配置为通过将光线投射穿过每个像素并且将相交的纹理坐标分配给每个相应像素的相关联的颜色来展开视图相关纹理图。

计算机系统可以被配置为实时推断该推断的几何结构和推断的视图相关纹理,并且实时渲染对象的一系列动画化的重建图像;并且该一系列动画化的重建图像可以包括用于在虚拟现实(vr)或增强现实(ar)头戴式装置上显示的vr或ar呈现。

在实施例中,一种计算机实现的方法可以包括:

接收几何结构信息,该几何结构信息指示对象的几何结构在一时间段内的变化,该时间段包括多个时刻;

在多个时刻的每个时刻接收对象的多个图像,每个图像与对象的相应视点相关联,并且每个图像包括对象的视图相关纹理图,该视图相关纹理图取决于对象的相应视点;

由自动编码器联合编码纹理信息和几何结构信息,以提供潜在向量;和

使用潜在向量推断:

相对于预测的视点的对象的推断的几何结构;和

相对于预测的视点的对象的推断的视图相关纹理;和

使用推断的几何结构和推断的视图相关纹理来针对预测的视点渲染对象的重建图像。

在实施例中,一种方法可以包括调节与每个图像相关联的相应视点,其中,潜在向量可以不包含任何视点信息。

潜在向量可以包括对象的面部表情的表示。

几何结构信息可以包括在时间段内跟踪的对象的三维网格。

在实施例中,一种方法可以包括:实时推断该推断的几何结构和推断的视图相关纹理;以及实时渲染对象的一系列动画化的重建图像,其中,所渲染的一系列动画化的重建图像可以包括用于在虚拟现实(vr)或增强现实(ar)头戴式装置上显示的vr或ar呈现。

在实施例中,一种计算机系统可以包括:

多相机装置,其包括靠近对象布置的多个相机,每个相机被配置为捕获对象的图像,所捕获的图像与对象的相应视点相关联;

输入模块,其被配置为:

接收几何结构信息,该几何结构信息指示对象的几何结构在一时间段内的变化,该时间段包括多个时刻;和

在多个时刻的每个时刻从多个相机接收对象的多个图像,每个图像与对象的相应视点相关联,并且每个图像包括对象的视图相关纹理图,该视图相关纹理图取决于对象的相应视点;

自动编码器,其被配置为:

联合编码纹理信息和几何结构信息以提供第一潜在向量;和

使用第一潜在向量推断:

相对于预测的视点的对象的推断的几何结构;和

相对于预测的视点的对象的推断的视图相关纹理;和

渲染模块,其被配置为使用推断的几何结构和推断的视图相关纹理来针对预测的视点渲染对象的重建图像。

计算机系统可以被配置为实时推断该推断的几何结构和推断的视图相关纹理,并且实时渲染对象的一系列动画化的重建图像。

所渲染的一系列动画化的重建图像可以包括用于在虚拟现实(vr)或增强现实(ar)头戴式装置上显示的vr或ar呈现;并且计算机系统可以被配置为学习来自多相机装置的多个图像和来自安装在vr或ar头戴式装置上的相机的图像之间的对应关系。

计算机系统可以被配置为:

使用重建图像来重新渲染对象的多个模拟头戴式装置图像,每个模拟头戴式装置图像与多个模拟vr或ar头戴式装置相机的视点相关联;

从多个vr或ar头戴式装置相机接收对象的多个接收的头戴式装置图像;和

联合编码多个模拟头戴式装置图像和多个接收的头戴式装置图像,以提供第二潜在向量。

计算机系统可以被配置为调节多个模拟头戴式装置图像和多个接收的头戴式装置图像,使得第二潜在向量不包含指示接收到的头戴式装置图像是模拟头戴式装置图像还是接收的头戴式装置图像的信息。

第一潜在向量可以包括对象的面部表情的表示。

在本发明的另一实施例中,一个或更多个计算机可读非暂时性存储介质体现软件,该软件在被执行时可操作来在根据本发明或任何上面提到的实施例的计算机系统中执行。

在本发明的另一实施例中,计算机实现的方法使用根据本发明或任何上面提到的实施例的计算机系统。

在本发明的另一实施例中,优选地包括计算机可读非暂时性存储介质的计算机程序产品在根据本发明或任何上面提到的实施例的计算机系统中被使用。

附图简述

附图示出了许多示例性实施例,并且是说明书的一部分。这些附图连同下面的描述一起展示并解释了本公开的各种原理。

图1是用于构建和驱动数据驱动的化身的示例性计算机系统的框图。

图2是用于构建和驱动数据驱动的化身的示例性方法的流程图。

图3是用于构建数据驱动的化身的示例性方法的流程图。

图4是用于处理纹理信息的示例性方法的流程图。

图5是用于提供模拟头戴式装置图像并学习使用多视图装置捕获的图像与头戴式装置图像之间的对应关系的示例性方法的流程图。

图6是用于驱动数据驱动的化身的示例性方法的流程图。

图7是示例性网络环境的框图,在该示例性网络环境中可以实现用于构建和驱动数据驱动的化身的示例性系统。

图8是用于构建和驱动数据驱动的化身的示例性流水线的示意性表示。

图9是用于构建数据驱动的化身的示例性流水线的示意性表示。

图10是示例性构建自动编码器的示例性架构的示意性表示。

图11是用于驱动数据驱动的化身的示例性流水线的示意性表示。

在全部附图中,相同的参考符号和描述指示相似的但不一定相同的元件。虽然本文所述的示例性实施例容许各种修改和替代的形式,但是特定的实施例在附图中作为示例被示出并且在本文将被详细描述。然而,本文描述的示例性实施例并不旨在受限于所公开的特定形式。更确切地,本公开涵盖了落在所附权利要求的范围内的所有修改、等同物和替代方案。

示例性实施例的详细描述

本公开总体上涉及用于利用深度外观模型渲染数据驱动的化身的系统和方法。如下面将更详细解释的,本公开的实施例可以提供用于渲染用于虚拟现实(vr)或增强现实(ar)呈现的化身的改进的系统和方法。

所公开的系统可以提供用于渲染复杂化身(诸如人脸)的深度外观模型。所公开的系统可以被配置成对几何结构的变化和视图相关纹理进行联合建模。例如,所公开的系统可以提供学习几何结构(例如,面部几何结构)和纹理的联合表示的数据驱动的渲染流水线。在一些示例中,自动编码器(诸如可变自动编码器)可以训练深度网络来编码和解码几何结构信息(例如,顶点位置)和纹理信息(例如,纹理图)。此外,所公开的系统可以使用深度外观模型来学习视图相关纹理如何根据视点和面部配置(例如,表情、注视等)而变化。在一些示例中,深度网络可以在训练时基于每个纹理图的视点被调节,以便可以控制在推断时渲染的视点。

所公开的系统可以使用视图相关纹理来建模视图相关效果,例如镜面反射(specularities)效果。因此,虽然传统的计算机图形模型通常需要对面部的精细特征(例如,睫毛、毛发、毛孔等)进行专门建模以实现真实感,但是所公开的系统可以训练深度模型来预测几何结构和纹理的联合表示,从而提供卓越的渲染。

所公开的系统可以被配置为驱动数据驱动的化身,以使化身交互化,例如,用于使用vr/ar头戴式装置的视频驱动的动画。所公开的系统可以利用通过化身的构建而获得的数据,以从若干个模拟头戴式装置相机的视点重新渲染对象。在一些示例中,所公开的系统可以学习头戴式装置数据与通过完全无监督的多相机装置捕获的数据之间的对应关系。因此,所公开的系统可以提供用于渲染动画化身的个性化模型,以从用户的vr/ar头戴式装置的视点使其纹理逼真。

在一些示例中,术语“化身”可以指对象的渲染图像,例如对象的在vr/ar呈现的上下文内被动画化和交互化的渲染图像。在一些示例中,“对象”可以包括人脸。然而,应当理解,本文使用的术语“对象”可以包括人或其他动物的任何部分或整体。此外,本文使用的术语“对象”可以包括衣服、植物和其他物体。

下面将参考图1提供用于构建和驱动数据驱动的化身的示例性系统的详细描述。还将结合图2-图6提供相应的计算机实现的方法的详细描述。还将结合图7提供其中可以实现示例性系统的示例性网络环境的详细描述。还将结合图8、图9和图11提供相应流水线的详细描述。此外,将结合图10提供示例性自动编码器的示例性架构的详细描述。

图1是可被配置为构建和驱动数据驱动的化身的示例性计算机系统100的框图。系统100可以包括一个或更多个物理处理器130和存储器设备140。存储器设备140可以包括构建引擎150和驱动引擎152,它们每一个都包含基于计算机的指令模块(例如,模块102-124)。在某些实施例中,模块102-124中的一个或更多个可以表示一个或更多个软件应用或程序,该一个或更多个软件应用或程序当由处理器130执行时,可以使处理器130执行一个或更多个任务(例如,与构建和驱动数据驱动的化身相关联的任务)。

在一个示例中,构建引擎150可以被配置为构建用于渲染对象的化身的深度外观模型。例如,如下面更详细描述的,构建引擎150可以被配置为构建对象的数据驱动的、三维可变形模型,该模型对几何结构和视图相关纹理的变化进行联合建模。

构建引擎150可以包括输入模块102(构建输入模块102)、构建自动编码器104和渲染模块112(构建渲染模块112)。输入模块102可以被配置为接收输入,该输入可以包括对象的几何结构信息和视图相关纹理信息。此外,构建自动编码器104可以被配置为联合编码纹理信息(例如,与视图无关的纹理信息)和几何结构信息,以提供潜在向量z(第一潜在向量z)。渲染模块112可以被配置为使用潜在向量z来预测对象的推断的几何结构和推断的视图特定纹理图。

在一些示例中,几何结构信息可以指示对象的几何结构在一时间段内的变化。在某些实施例中,几何结构信息可以包括对象的随时间跟踪的三维网格。下面将参考图7进一步详细描述关于用于获得对象的跟踪的三维网格的示例性系统和方法的附加细节。

在一个示例中,视图相关纹理信息可以取决于对象的相应视点。例如,在收集视图相关纹理信息时,输入模块102可以在时间段内的每个时刻接收对象的多个图像,并且每个图像可以与对象的相应视点相关联。对象的多个图像可以通过多相机装置来捕获,其细节将在下面参考图7进一步详细解释。视图相关纹理信息可以包括与多个图像相关联的多个视图特定纹理图。例如,每个视图特定纹理图可以从多相机装置中的单个相机导出。

在随时间跟踪对象的三维网格时,三维网格可以相对于多个图像中的每一个图像被展开成视图特定纹理图。在某些实施例中,可以从相应的相机追踪光线到纹理图的每个纹理元素(texel),并且如果光线没有被遮挡,则可以将图像像素值复制到像素图中。应当理解,在测试时间,构建引擎150可以学习重建这些视图特定纹理图,如下文进一步描述的。

构建自动编码器104可以包括编码模块108(构建编码模块108)和解码模块110(构建解码模块110)。在某些实施例中,构建自动编码器104可以是条件自动编码器,并且包括被配置为调节至少一个调节变量的调节模块106,并且解码模块110可以基于该至少一个调节变量进行调节。在一些实施例中,该至少一个调节变量可以包括与每个图像相关联的相应视点(例如,从其展开视图特定纹理图的相机的视图向量)。因此,调节模块106可以被配置为调节视图特定纹理图,使得由编码模块108编码的纹理信息与视点无关。因此,编码模块108可以提供不包含任何视点信息的潜在向量z。通过提供不包含任何视点信息的潜在向量,系统100可以从任何任意视图预测视图特定纹理图。因此,在测试时,系统100可以相对于化身的位置和定向来为观看者的视点生成适当的纹理。

在调节模块106基于视点调节网络的实施例中,输入模块102可以被配置为提供在所有视图特定纹理图上平均的视图特定纹理图。

除了视点调节之外或作为视点调节的替代,调节模块106可以被配置为基于其他合适的属性来调节网络,以便在测试时间控制其他属性。例如,调节模块可以被配置为基于照明、语音、身份、注视等来调节网络。

编码模块108可以被配置为接收纹理信息(例如,与视图无关的纹理图)和几何结构信息并对它们联合编码,以提供潜在向量z。在某些实施例中,构建编码模块108可以被配置为学习将纹理和几何结构的联合变化压缩成潜在编码。

解码模块110可以被配置为使用潜在向量z来针对预测的视点推断对象的推断的几何结构和对象的推断的视图相关纹理。例如,解码模块110可以使用潜在向量z来重建对象的视图特定纹理图和三维网格。解码模块110可以接收潜在向量z和视图向量作为输入。在某些实施例中,视图向量可以相对于使用跟踪算法估计的对象的刚性定向。解码模块110可以将潜在向量z和视图向量变换成重建的视图特定纹理图和重建的三维网格。因此,在对象是人脸的实例中,解码模块110可以被配置为将面部编码和视点转换成几何结构和外观纹理。

在包括被配置成使纹理信息与视点无关的调节模块106的实施例中,解码模块110可以被配置成依赖于视图向量来提供关于视点的所有信息。因此,解码模块110可以被配置为学习从任何视图(包括不是在多相机装置期间捕获的视图)产生视图特定纹理图。

渲染模块112可以被配置为使用对象的重建的纹理图和重建的三维网格来渲染对象的重建图像,从而提供对象的数据驱动的化身。因此,虽然传统系统可能需要反照率(albedo)、镜面反射(specular)等的预测来实现重光照,但是所公开的系统可以直接预测阴影外观作为输出。

驱动引擎152可以被配置为驱动数据驱动的化身(例如,由构建引擎150构建的化身),以从用户的vr/ar头戴式装置的视点使化身实时动画化和交互化。例如,驱动引擎152可以被配置为实时渲染动画化的面部,并执行来自各个用户的vr/ar头戴式装置相机的视频驱动的动画。在某些实施例中,驱动引擎152可以利用在多相机装置期间创建的数据来从若干个vr/ar头戴式装置的视点重新渲染对象。驱动引擎152可以被配置成自动地将用户的vr/ar头戴式装置中的对象的配置与多相机装置中的对象的配置相关联。例如,在对象是人脸的实例中,驱动引擎152可以被配置为自动地将用户的vr/ar头戴式装置中的人的面部配置与多相机装置中的人的面部配置相关联。驱动引擎152可以通过基于找到vr/ar头戴式装置图像和由多相机装置捕获的图像的公共表示而重建输入,来进行这种自动关联。驱动引擎152可以包括驱动输入模块114、驱动自动编码器116和驱动渲染模块124。

驱动输入模块114可以被配置为从构建渲染模块112接收对象的重建图像,并且还可以从多个vr/ar头戴式装置接收多个头戴式装置图像。驱动输入模块114可以被配置为使用重建图像来渲染对象的多个模拟头戴式装置图像,并且每个模拟头戴式装置图像可以与多个模拟vr/ar头戴式装置中的每个vr/ar头戴式装置的相应视点相关联。在一些实施例中,可以计算近似的内在和外在头戴式装置相机参数,并且该计算可以手动执行一帧,并且针对跟踪的头部姿态传播。对于模拟头戴式装置图像的每个像素,驱动输入模块114可以将光线投射到跟踪的几何结构中,并将该点投影到一个或更多个多相机图像中,以获得颜色值。因此,驱动输入模块114可以根据从多相机装置获得的数据,从vr/ar头戴式装置的视角产生模拟头戴式装置图像。

驱动自动编码器116可以包括驱动编码模块118和驱动解码模块120。驱动编码模块118被配置成联合编码多个模拟头戴式装置图像和多个接收的头戴式装置图像,以提供第二潜在向量y。此外,驱动解码模块120可以被配置为从第二潜在向量y和指示符变量r产生头戴式装置帧。指示符变量r可以指示驱动解码模块120应该解码接收的(“真实的”)头戴式装置帧还是模拟(“合成的”)头戴式装置帧。因此,在一些实施例中,第二潜在向量y可以不包含指示头戴式装置图像是真实的还是合成的任何模态特定信息。

在某些实施例中,编码模块118可以被配置成解析多相机装置和vr/ar头戴式装置图像之间的照明差异。例如,编码模块118可以被配置为学习由多相机装置捕获的图像和用vr/ar头戴式装置相机获得的头戴式装置图像之间的对应关系。编码模块118还可以被配置为重新渲染由多相机装置捕获的图像,以使它们看起来像是来自相应的vr/ar头戴式装置相机的视点。编码模块118可以通过联合编码这两组图像以完全无监督的方式学习这种对应关系。在某些实施例中,编码模块118可以通过利用权重共享和潜在空间上的高斯先验来学习两组图像的语义一致的公共表示。驱动自动编码器116可以被配置为学习对模拟头戴式装置图像和接收的头戴式装置图像进行编码和解码,以提供第二潜在向量y,并且自动编码器的高斯先验可以促使第二潜在向量y形成两组图像的公共表示。解码模块112可以基于指示头戴式装置图像是来自那组模拟头戴式装置图像还是那组接收的头戴式装置图像的二进制值来调节,使得该模态特定信息不被包含在第二潜在向量y中。因此,因为驱动自动编码器116可以学习来自模拟头戴式装置图像和多相机装置的图像之间的对应关系,所以自动编码器116可以学习将第二潜在向量y映射到第一潜在向量z的线性变换,以用于合成的头戴式装置图像。此外,因为驱动自动编码器116可以学习接收的(“真实的”)头戴式装置图像和模拟(“合成的”)头戴式装置图像之间的公共的、语义正确的表示,所以线性回归可以推广到真实的头戴式装置图像。

在一个示例中,构建自动编码器104可以被配置为输出阴影外观纹理。此外,驱动渲染模块124可以被配置为使用第二潜在向量y来提供驱动的化身,并使该化身交互式地实时显示,用于vr/ar呈现。在一些实施例中,可以使用三角形的光栅化来显示化身。系统100可以被配置为通过在头戴式装置图像和多相机装置中捕获的图像之间进行自动对应,从安装在vr/ar头戴式装置上的相机执行高保真、实时跟踪。因此,本公开可以训练深度神经网络来为交互式vr/ar呈现提供改进的化身渲染和驱动。

图2是用于构建和驱动数据驱动的化身的示例性计算机实现的方法200的流程图。图2中所示的步骤可以由任何合适的计算机可执行代码和/或计算系统(包括图1和图7所示的系统)来执行。在一些示例中,图2中所示的步骤中的每一个可以表示算法,该算法的结构包括多个子步骤和/或由多个子步骤表示,将在下面更详细地提供这些子步骤的示例。

在步骤210,本文描述的系统可以接收输入。例如,构建输入模块102可以接收几何结构信息和包括视图相关纹理信息的多个图像。在步骤220,本文描述的系统可以使用接收的输入来训练模型以渲染图像。例如,构建自动编码器104可以联合编码纹理信息和几何结构信息,以提供潜在向量z(第一潜在向量z)。为了训练模型,构建自动编码器104可以使用潜在向量z来推断相对于预测的视点的对象的推断的几何结构和相对于预测的视点的对象的推断的视图相关纹理。在步骤230,本文描述的系统可以例如使用推断的几何结构和推断的视图相关纹理来渲染对象的重建图像以提供化身。在步骤240,本文描述的系统可以训练模型以驱动化身。在步骤250,本文描述的系统可以驱动化身,例如,以提供化身的动画化、交互式vr/ar呈现。

图3是用于构建数据驱动的化身的示例性方法300的流程图。在一些示例中,图3中所示的步骤可以由任何合适的计算机可执行代码和/或计算系统(包括图1和图7所示的构建引擎150)来执行。在一些示例中,图3中所示的步骤中的每一个可以表示算法,该算法的结构包括多个子步骤和/或由多个子步骤表示,将在下面更详细地提供这些子步骤的示例。

在步骤310,本文所述的系统可以接收几何结构信息,该几何结构信息指示对象的几何结构在一时间段内的变化。在步骤320,本文描述的系统可以在该时间段的每个时刻接收对象的多个图像(例如,通过多捕获装置捕获到的图像)。每个图像可以与对象的相应视点相关联,并且每个图像可以包括对象的视图相关纹理信息,该视图相关纹理信息取决于对象的相应视点。在步骤330,所描述的系统可以联合编码纹理信息和几何结构信息以提供潜在向量。在一些实施例中,可以对联合编码的纹理信息进行调节,使得纹理信息与视点无关,如下面参考图4进一步详细描述的。在步骤340,本文描述的系统可以使用潜在向量来针对预测的视点推断对象的推断的几何结构和对象的推断的视图相关纹理。在步骤350,本文描述的系统可以使用推断的几何结构和推断的视图相关纹理来针对预测的视点渲染对象的重建图像。

图4是用于处理纹理信息的示例性方法400的流程图。在一些实施例中,本文描述的系统可以处理视图相关纹理信息以使其与视点无关,并且自动编码器可以编码与视图无关的纹理信息。图4中所示的步骤可以由任何合适的计算机可执行代码和/或计算系统(包括图1和图7所示的构建引擎150(例如,调节模块106))来执行。在一些示例中,图4中所示的步骤中的每一个可以表示算法,该算法的结构包括多个子步骤和/或由多个子步骤表示,将在下面更详细地提供这些子步骤的示例。

在步骤410,本文描述的系统可以接收多个视图特定纹理图。每个视图特定纹理图可以与多个视点中的相应视点相关联。在步骤420,本文描述的系统可以对多个视图特定纹理图进行平均。在步骤430,本文描述的系统可以输出在多个视图特定纹理图上平均的与视图无关的纹理图。

图5是示例性方法500的流程图,该方法500用于提供模拟头戴式装置图像并学习由多视图装置捕获的图像和头戴式装置图像之间的对应关系。图5中所示的步骤可以由任何合适的计算机可执行代码和/或计算系统(包括图1和图7所示的驱动引擎152)来执行。在某些实施例中,图5中所示的步骤可以在执行图6中所示的步骤之前由合适的系统执行。在一些示例中,图5中所示的步骤中的每一个可以表示算法,该算法的结构包括多个子步骤和/或由多个子步骤表示,将在下面更详细地提供这些子步骤的示例。

在步骤510,本文描述的系统可以例如从构建渲染模块112接收重建图像。在步骤520,本文描述的系统可以重新渲染该重建图像,以提供多个模拟(“合成的”)头戴式装置图像。在步骤530,本文描述的系统可以学习由多视图装置捕获的图像和头戴式装置图像之间的对应关系。

图6是用于驱动数据驱动的化身的示例性方法600的流程图。图6中所示的步骤可以由任何合适的计算机可执行代码和/或计算系统(包括图1和图7所示的驱动自动编码器116)来执行。在一些示例中,图6中所示的步骤中的每一个可以表示算法,该算法的结构包括多个子步骤和/或由多个子步骤表示,将在下面更详细地提供这些子步骤的示例。

在步骤610,本文描述的系统可以接收合成的头戴式装置图像和真实的头戴式装置图像。在步骤620,本文描述的系统可以联合编码合成的头戴式装置图像和真实的头戴式装置图像,以提供第二潜在向量y。在步骤630,本文描述的系统可以将第二潜在向量y转换成第一潜在向量z。在步骤640,本文描述的系统可以解码第一潜在向量z以提供化身几何结构和纹理。在步骤650,本文描述的系统可以在用户vr/ar头戴式装置上渲染驱动的、交互式化身几何结构和纹理。

图7是示例性网络环境700的框图,在该网络环境700中可以实现用于构建和驱动数据驱动的化身的示例性系统100。环境700可以包括系统100、多相机装置708、多个用户vr/ar头戴式装置710和网络704。计算机系统100、多相机装置708和vr/ar头戴式装置710可以例如经由网络704彼此通信地耦合。网络704可以是任何合适的通信网络,诸如互联网、广域网(wan)或局域网(lan),并且可以包括各种类型的通信协议和物理连接。

多相机装置708可以被配置为例如通过实现对象的同步、高分辨率、多视图视频捕获来收集对象的大量数据。多相机装置708可以同时从多个相机记录对象。在对象是人脸的实例中,多相机装置708可以包括被定位在面部周围的四十个(或任何其他合适数量的)相机。在一个示例中,大约70%的相机可以被定位成捕获面部的前部,而其余的相机稀疏地放置在面部的后部和侧部,以捕获头部的整体形状。在这个示例中,相机可以被配置为以每秒30帧同步地捕获5120×3840的图像,尽管其他值也是可能的。相机可以包括任何合适类型的镜头。例如,在对象包括人脸的实例中,多相机装置可以包括50mm的镜头,这些镜头被放大到面部以捕获皮肤中毛孔的细节。相机可以放置在离对象任何合适的距离处,包括例如离面部大约一米处。灯(诸如led灯)也可以被定位在对象的周围,以提供对象的均匀外观。

在一些实施例中,多相机装置708可以包括多个相机,这些相机附接到圆顶状物(dome)和/或设置在圆顶状物内,该圆顶状物被定尺寸为当多相机装置708收集对象的数据时包围对象的至少一部分。在一个示例中,圆顶状物可以是不透明的(例如,不透明的和白色的),以在圆顶状物内提供均匀的照明。光源可以在多相机装置708执行的捕获操作期间提供各种光照条件。例如,光源可以提供不同的光照颜色、不同的亮度水平和/或不同的光照角度。可以基于多相机装置708要捕获的对象的哪些特征来确定光照条件。例如,在对象是人脸的实例中,可以基于肤色来选择光照颜色,可以基于皮肤冲洗(skinwashout)或眼睛敏感问题来选择亮度水平,可以选择光照角度来强调面部的特定部分,等等。在一些实施例中,光源可以附接到容纳多相机装置708的相机的圆顶状物和/或设置在该圆顶状物内。

在一些实施例中,在由多相机装置708执行的整个捕获操作中,光照条件可以动态变化。本文描述的系统还可以使用动态光照条件作为模型中的输入,这可以允许本文描述的系统在渲染化身时规定特定的光照环境。

在对象是人脸的实例中,使人与人之间的面部表情分布一致可能是有利的。因此,在多相机装置708期间收集数据时,每个人类对象可以做出一组预定义的面部表情,并且每个人类对象可以诵读一组预定义的语音平衡的句子。

为了提供跟踪的三维网格,构建引擎150可以使用从多相机装置708捕获的图像和对象的重建的三维网格来穿越时间跟踪对象。例如,可以通过将模板三维网格手动拟合到对象的每个配置(例如,每个面部表情图像)的重建来执行混合变形基础(blendshapebasis)。然后,构建引擎150可以通过将混合变形基础拟合到重建的三维网格和图像外观来执行混合变形跟踪。在该示例中,构建引擎150可以假设对象的三维网格随时间具有一致的拓扑。

在一些示例中,本文描述的系统和方法可以通过将编码和解码过程分配于各个设备之中来节省带宽资源。例如,如上所述,图7中的多相机装置708可以收集原始数据,然后经由网络704将收集的原始数据传输到计算系统100。然后,计算系统100的各个部件(例如,构建引擎150)可以联合编码纹理信息和几何结构信息以提供潜在向量。然后,计算系统100可以将潜在向量发送到头戴式装置vr/ar头戴式装置710中的至少一个,该至少一个头戴式装置然后可以解码潜在向量以提供化身几何结构和纹理,并且然后可以渲染化身几何结构和纹理。换句话说,本文描述的系统和方法可以经由网络704将带宽密集型原始数据(例如,经由多相机装置708收集的原始视频数据)从多相机装置708传输到计算系统100以进行编码,同时将带宽密集型较低的潜在向量从计算系统100传输到vr/ar头戴式装置710以进行解码和/或渲染。通过这样做,所公开的系统可以比将带宽密集型、高质量的渲染数据传输到vr/ar头戴式装置的传统系统节省相当多的带宽资源。因此,本文描述的系统和方法可以节省带宽资源,同时保持对三维对象的高质量渲染。

图8是用于构建和驱动数据驱动的化身的示例性流水线800的示意性表示。图8中所示的操作可以由任何合适的计算机可执行代码和/或计算系统(包括图1和图7所示的系统100)来执行。图8所表示的流水线的细节将在下面参照图9和图11进行进一步详细描述。

图9是用于构建数据驱动的化身的示例性流水线900的示意性表示。图9中所示的操作可以由任何合适的计算机可执行代码和/或计算系统(包括图1和图7中描述和示出的构建引擎150和其他系统)来执行。在某些实施例中,可以是来自多相机装置(例如,图7中所示的多相机装置708)的来自相机v的在时刻t的图像。在一些示例中,在多相机装置中可以有v=40个相机(或任何其他合适数量v的相机)。可以假设视图向量相对于从跟踪算法估计的对象的刚性定向(例如,刚性头部定向)。mt可以是在每个时刻的三维网格,其随时间具有一致的拓扑。使用图像和网格,本文描述的系统可以通过将光线投射穿过几何结构的每个像素并将相交的纹理坐标分配给图像像素的颜色来展开视图特定纹理图本文描述的系统还可以根据以下等式通过建立平均纹理来调节网络

其中,是指示每个纹理元素是相对于相机v被遮挡(0)还是未被遮挡(1)的因子,⊙可以表示按元素的乘积。在训练期间,本文描述的系统可以将元组作为输入并将作为目标,以防止潜在空间包含视图信息,并为每个时刻启用规范潜在状态。

本文描述的系统(例如,构建自动编码器104)可以学习联合压缩和重建纹理和mt网格顶点。在某些实施例中,本文描述的系统可以包括构建自动编码器104,该构建自动编码器104可以包括两个半部:编码器eφ(例如,编码模块106)和解码器dφ(例如,解码模块110)。编码器eφ可以将纹理和网格顶点作为输入,并输出在潜在空间上的分布,

其中,函数eφ被定义为具有参数φ的深度神经网络。在训练时,本文描述的系统(例如,构建自动编码器104)可以从分布中采样,

并且本文描述的系统可以将分布传递给解码器dφ(解码模块110)并计算损失,以对由编码器eφ(编码模块106)定义的分布执行期望。向量zt可以是对象的配置(例如,对象的面部表情)的数据驱动的低维表示。向量zt可以编码对象的所有方面;例如,面部的所有方面,从眼睛注视的方向到嘴和舌头的表情。

解码器dφ可以根据以下等式将潜在代码和视图向量变换成重建的纹理和网格

其中,是重建的纹理,是重建的几何结构。在解码时,本文描述的系统可以使用该纹理、网格和相机姿态来渲染最终的重建图像

图10是示例性自动编码器(诸如图1和图7所示的构建自动编码器104)的示例性架构1000的示意性表示。在某些实施例中,可以通过在每次传递通过单个层之后将调节变量与第一潜在向量z级联来执行调节。在一些示例中,三维网格可以与视点无关,并且三维网格可以仅仅是潜在向量z的函数。纹理解码器子网络可以包括一系列转置的跨步卷积(stridedconvolution)(其可以称为反卷积),以提高输出分辨率。在一个示例中,解码器网络能够在少于大约11.1毫秒内运行,以便为实时vr/ar系统实现90hz的渲染。例如,自动编码器可以使用最终纹理大小为1024×1024的转置的跨步卷积来实现实时渲染。

纹理图可以具有非平稳统计,可以利用这些统计来改善网络设计。例如,每个卷积层可以具有随通道和空间维度而变化的偏置,这可以改善重建误差和视觉保真度。

为了训练构建自动编码器104,本文描述的系统可以最小化输入的纹理和几何结构与重建的纹理和几何结构之间的l2距离加上先验分布(例如等距高斯)与潜在空间的分布之间的kl散度,

其中,是权重项,用于确保损失不会惩罚丢失的数据(例如,对象的未被多相机装置捕获到的区域),λ可以表示与每个项相关联的权重项(例如,λt、λm和λz)。在训练之前,纹理和几何结构可以被标准化,使得纹理和几何结构具有零均值和单位方差。

在测试期间,解码器可以将第一潜在向量z(其可以表示面部编码)和视图向量v转换成几何结构和外观纹理。在一个示例中,本文描述的系统可以被配置成在少于大约11.1毫秒(例如,在大约5毫秒)内执行这种转换。

在一些实施例中,本文描述的系统可以被配置成解码两次,为每只眼睛创建纹理。网络可以被配置为充分概括视点,使得双眼之间视点的微小差异明显改善体验。这在渲染牙齿和舌头方面可能特别有利,并且可以给出嘴内深度的印象。

在一些实施例中,当训练构建自动编码器104时,本文描述的系统可以利用各种机器学习技术。例如,本文描述的系统可以获得一组训练样本(即,训练集),用于训练构建自动编码器104。训练样本可以包括在多相机装置中捕获的对象(例如,人脸)的一个或更多个图像、以及对象的已知三维模型。已知三维模型可以包括对象的几何结构和视图相关纹理信息。各个训练样本可能对应于不同的个体对象。在一些实施例中,训练集可以包括来自其他源(诸如在线源,包括社交媒体网站和应用、博客等)的图像。

在一些实施例中,模型可以包括由在节点之间具有加权连接(例如,参数)的互连节点层构成的神经网络。在训练期间,本文描述的系统可以基于训练集来确定模型的参数(例如,权重和偏置)的值。模型可以由多个特征表示,并且每个特征可以与权重相关联。本文描述的系统可以从训练集中提取特征,并且这些特征可以是被认为与定义对象潜在相关的变量。例如,在对象是人脸的实例中,特征可以包括面部表情、头部形状、皮肤纹理、肤色、眼睛颜色、眼睛定向、眼睛注视以及嘴、唇和舌头的位置、形状和配置等。在一些实施例中,本文描述的系统可以从训练集中提取多个特征,并且每个特征可以与多个权重中的相应权重相关联。在定义对象的三维模型中被认为更重要的特征可以与更高的权重相关联。本文描述的系统可以使用多个提取的特征来训练模型,并且可以建立多个提取的特征的子集以提供潜在向量z。例如,潜在向量z可以包括128维的潜在向量,其可以是用于训练模型的多个提取的特征的子集。

图11是用于驱动数据驱动的化身的示例性流水线1100的示意性表示。图11中所示的操作可以由任何合适的计算机可执行代码和/或计算系统(包括图1和图7所示的驱动引擎152和其他系统)来执行。在一些示例中,编码器ε(例如,编码模块118)可以采用一个头戴式装置帧ht,该头戴式装置帧ht包括三个图像:嘴左眼和右眼每个头戴式装置帧ht可以是真实的或合成的该编码器可以产生潜在高斯分布,

在训练时,可以对潜在高斯分布进行采样来提供潜在代码,

解码器(例如,解码模块120)可以从潜在代码y和指示符变量产生头戴式装置帧,

其中,r∈{0,1}指示解码器是否应该解码接收的(真实的)头戴式装置帧或模拟(合成的)头戴式装置帧。因此,指示符变量可以允许潜在代码y不包含模态特定信息,因为解码器可以从指示符变量接收所有模态特定信息。

为了训练网络,本文描述的系统可以优化重建损失、重定目标损失和kl散度损失,

其中,zt仅对于合成的头戴式装置帧hs是已知的,ay→z从第二潜在向量y线性映射到第一潜在向量z,以及λ可以表示与损失的每个项相关联的加权项(例如,λh、λa和λy)。因此,可以接收头戴式装置图像作为头戴式装置编码网络ε的输入,以产生第二潜在向量y。然后,可以将第二潜在向量y转换成第一潜在向量z,并且可以将第一潜在向量z解码成化身几何结构和纹理并且在用户头戴式装置上渲染。

如上面所详述的,本公开可以包括训练深度神经网络,以为交互式vr/ar呈现提供化身的改进渲染。例如,虽然传统的计算机图形模型通常需要对精细特征进行建模来实现真实感,但是所公开的系统可以训练深度模型来预测几何结构和纹理的联合表示,从而提供卓越的渲染。

如上面所详述的,本文描述和/或示出的计算系统广泛地表示能够执行计算机可读指令(诸如在本文描述的模块中包含的那些指令)的任何类型或形式的计算设备或系统。在它们的最基本的配置中,这些计算设备可以各自包括至少一个存储器设备(例如,存储器设备140)和至少一个物理处理器(例如,物理处理器130)。这些计算系统广泛地表示能够执行计算机可读指令的任何单处理器或多处理器计算设备或系统。这样的计算系统的示例包括但不限于工作站、膝上型电脑、客户端侧终端、服务器、分布式计算系统、手持设备或任何其他计算系统或设备。

在一些示例中,术语“存储器设备”通常指能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储器设备(诸如存储器设备140)可以存储、加载和/或维护本文描述的一个或更多个模块。存储器设备的示例非限制地包括随机存取存储器(ram)、只读存储器(rom)、闪存、硬盘驱动器(hdd)、固态驱动器(ssd)、光盘驱动器、高速缓存、这些部件中的一个或更多个的变形或组合、或者任何其他合适的储存存储器。

在一些示例中,术语“物理处理器”通常指能够解释和/或执行计算机可读指令的任何类型或形式的硬件实现的处理单元。在一个示例中,物理处理器(诸如物理处理器130)可以访问和/或修改存储在上述存储器设备中的一个或更多个模块。物理处理器的示例非限制地包括微处理器、微控制器、中央处理单元(cpu)、实现软核处理器的现场可编程门阵列(fpga)、专用集成电路(asic)、这些部件中的一个或更多个的部分、这些部件中的一个或更多个的变形或组合、或任何其他合适的物理处理器。

尽管被示为单独的元件,但是本文描述和/或示出的模块可以表示单个模块或应用的部分。此外,在某些实施例中,这些模块中的一个或更多个可以表示一个或更多个软件应用或程序,其当由计算设备执行时可以使计算设备执行一个或更多个任务。例如,本文描述和/或示出的一个或更多个模块可以表示被存储和配置为在本文描述和/或示出的一个或更多个计算设备或系统上运行的模块。这些模块中的一个或更多个还可以表示被配置为执行一个或更多个任务的一个或更多个专用计算机的全部或部分。

此外,本文描述的一个或更多个模块可以将数据、物理设备和/或物理设备的表示从一种形式变换成另一种形式。例如,本文所述的一个或更多个模块可以接收要被变换的几何结构和纹理信息,变换几何结构和纹理信息,输出变换的结果以训练深度模型来预测几何结构和纹理的联合表示,以及使用变换的结果来为vr/ar呈现提供化身的逼真渲染。附加地或可替代地,本文所述的一个或更多个模块可以通过在计算设备上执行、在计算设备上存储数据、和/或以其他方式与计算设备交互来将处理器、易失性存储器、非易失性存储器和/或物理计算设备的任何其他部分从一种形式变换成另一种形式。

在一些实施例中,术语“计算机可读介质”通常指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例非限制地包括传输型介质(例如载波)以及非暂时性介质(例如磁性存储介质(例如,硬盘驱动器、磁带驱动器和软盘)、光学存储介质(例如,光盘(cd)、数字视频盘(dvd)和蓝光光盘)、电子存储介质(例如,固态驱动器和闪存介质)以及其他分布系统)。

本公开的实施例可以包括人工现实系统或结合人工现实系统来被实现。人工现实是在呈现给用户之前以某种方式被调整的现实的形式,其可以包括例如虚拟现实(vr)、增强现实(ar)、混合现实(mr)、混杂现实或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或者与所捕获的(例如,现实世界)内容组合的所生成的内容。人工现实内容可以包括视频、音频、触觉反馈、或其某种组合,其中任何一个都可以在单个通道中或在多个通道中被呈现(例如向观众产生三维效果的立体视频)。此外,在一些实施例中,人工现实还可以与用于例如在人工现实中创建内容和/或以其他方式在人工现实中使用(例如,在人工现实中执行活动)的应用、产品、附件、服务或其某种组合相关联。可以在各种平台(包括连接到主计算机系统的头戴式显示器(hmd)、独立的hmd、移动设备或计算系统、或者能够向一个或更多个观众提供人工现实内容的任何其他硬件平台)上实现提供人工现实内容的人工现实系统。

在本文描述和/或示出的过程参数和步骤的顺序仅作为示例被给出,并且可以根据需要而变化。例如,虽然在本文示出和/或描述的步骤可以以特定顺序被示出或讨论,但这些步骤不一定需要以所示出或讨论的顺序来被执行。本文描述和/或示出的各种示例性方法也可以省略在本文描述或示出的一个或更多个步骤,或者包括除了那些所公开的步骤之外的附加步骤。

提供前面的描述以使本领域中的其他技术人员能够最好地利用本文公开的示例性实施例的各种方面。该示例性描述并不旨在是穷尽的或受限于所公开的任何精确形式。许多修改和变化是可能的,而不偏离本公开的精神和范围。本文公开的实施例应当在所有方面被认为是说明性的而不是限制性的。在确定本公开的范围时,应当参考所附权利要求及其等同物。

除非另外提到,如在说明书和权利要求中使用的术语“连接到”和“耦合到”(及其派生词)应被解释为允许直接和间接(即,经由其他元件或部件)连接。此外,如在说明书和权利要求中使用的术语“一个(a)”或“一个(an)”应被理解为意指“……中的至少一个”。最后,为了容易使用,如在说明书和权利要求中使用的术语“包括(including)”和“具有”(及其派生词)与词“包括(comprising)”可互换并具有与词“包括(comprising)”相同的含义。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1