具有头部转动的头像面部表情动画的制作方法

文档序号:11142395阅读:912来源:国知局
具有头部转动的头像面部表情动画的制造方法与工艺

本公开涉及数据处理领域。更具体地说,本公开涉及头像的动画和渲染,包含具有头部转动的面部表情动画。



背景技术:

本文提供的背景描述是为了一般性地呈现本公开的上下文的目的。除非在本文中另有指示,否则此章节中描述的资料不是本申请中权利要求的现有技术,并且不准许作为现有技术包含在此章节中。

作为用户的图形表示,头像在虚拟世界中已经相当流行。然而,大部分现有头像系统都是静态的,并且它们中的少数由文本、脚本或语音驱动。一些其它头像系统使用图形互换格式(GIF)动画,其是一组顺序播放的预先定义的静态头像图像。在近些年,随着计算机视觉、相机、图像处理等的进步,一些头像可由面部表情驱动。然而,现有系统倾向于是计算敏感的,要求高性能通用和图形处理器,并且在移动装置诸如智能电话或计算平板电脑上不良好地工作。另外,现有系统未考虑头部转动的影响,即,头部转动对头像动画的影响。

附图说明

实施例通过结合附图的如下详细描述将容易理解。为了促进此描述,相同的附图标记标明相同的结构元件。在附图的图中作为示例而非作为限制图示了实施例。

图1图示了根据所公开实施例的袖珍(pocket)头像系统的框图。

图2图示了根据所公开实施例用于生成头部转动影响权重的示例过程。

图3和图4分别图示了根据所公开实施例的骨头制作的示例和示例头部转动影响图。

图5是根据所公开实施例用于给头像作动画的过程的流程图。

图6是根据所公开实施例更详细图示图5的过程的流程图。

图7图示了根据所公开实施例具有和没有骨骼动画的示例头像动画。

图8图示了根据所公开实施例适合于用于实施本公开各种方面的示例计算机系统。

图9图示了根据所公开实施例具有用于实施参考图2-7描述的方法的指令的存储介质。

具体实施方式

本文公开了与作动画和渲染头像关联的设备、方法和存储介质。在实施例中,设备可包含头像动画引擎。头像动画引擎可配置成接收分别与用户的面部和头部关联的多个面部运动参数和多个头部姿态参数。多个面部运动参数可描绘面部的面部行为动作(action movement),并且多个头部姿态参数可描绘头部的头部姿势姿态。进一步,头像动画引擎可配置成用面部和骨骼动画驱动头像模型,以使用面部运动参数和头部姿态参数给头像作动画,以在头像上复制用户的面部表情,其包含用户的头部转动后的影响,例如当用户相对他/她的躯干向左或向右转动他/她时对动画的影响。

在实施例中,头像动画引擎可配置成根据头部转动影响权重图(map)施加至少采用在关节(joint)处连接的头骨和躯干骨预先生成的头部转动影响权重。关节例如可设置在颈部。另外,头部转动影响权重图可处于灰度级(gray scale),其中较淡的灰度值描绘来自头部转动的较大的影响,并且具有与用于动画的二维纹理图相同的维度,实现使用纹理图中的相同像素坐标检索所述头部转动影响权重。

在如下详细描述中,对形成其一部分的附图进行参考,其中通篇相同的附图标记标明相同的部分,并且其中作为可实施的说明实施例示出。要理解到,可利用其它实施例,并且可进行结构或逻辑改变,而不脱离本公开的范围。因此,不以限制意义进行如下详细描述,并且实施例的范围由所附权利要求以及它们的等效方案定义。

本公开的方面在所附说明书中公开。可在不脱离本公开的精神或范围的情况下,设计出本公开的替换实施例以及它们的等效方案。应该指出,下面公开的相同元件在附图中由相同的附图标记指示。

各种操作以最有助于理解所要求权利的主题的方式依次描述为多个分立动作或操作。

然而,描述的次序不应该被解释为暗示这些操作必须是次序相关的。具体地说,这些操作可以不按呈现的次序执行。所描述的操作可按与所描述的实施例不同的次序执行。可执行各种附加操作和/或在附加实施例中可省略所描述的操作。

为了本公开的目的,短语“A和/或B”意味着(A)、(B)或(A和B)。为了本公开的目的,短语“A、B和/或C”意味着(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。

描述可使用短语“在一个实施例中”或“在实施例中”,它们可各指相同或不同实施例中的一个或多个实施例。此外,如相对于本公开实施例所使用的术语“包括”、“包含”、“具有”等是同义词。

如本文所使用的,术语“模块”可指作为其一部分或者包含专用集成电路(“ASIC”)、电子电路、执行一个或多个软件或固件程序的存储器(共享、专用或群组)和/或处理器(共享、专用或群组)、组合逻辑电路和/或提供所描述功能性的其它适合的组件。

现在参考图1,其中示出了根据所公开实施例的袖珍头像系统。如所图示的,袖珍头像系统100可包含面部跟踪器102、头像动画引擎104、头像渲染引擎106以及头部转动影响权重生成器108(如所示出的那样彼此耦合)。面部跟踪器102可配置成例如从图像源(诸如相机(未示出))接收多个图像帧,检测多个图像帧内的用户面部的面部行为动作和/或用户头部的头部姿势姿态,并且输出描绘所检测的面部行为动作(例如眼睛和/或嘴巴动作)的多个面部运动参数以及描绘所检测的头部姿势姿态(诸如头部转动、动作和/或更接近或更远离相机)的头部姿势姿态参数,全都实时地输出。头像动画引擎104可配置成接收由面部跟踪器102输出的多个面部运动参数和头部姿势姿态参数,并且用面部和骨骼模拟驱动头像模型来给头像作动画,以在头像上复制用户的面部表情,其将头部转动影响考虑在内。头部转动影响权重生成器108可配置成预先生成用于头像动画引擎104的头部转动影响权重110。头像渲染引擎106可配置成绘制如由头像动画引擎104所作动画的头像。

在实施例中,面部跟踪器102可以是已知的若干面部跟踪器中的任一个,例如包含但不限于在2014年3月19日提交的题为"FACIAL EXPRES SION AND/OR INTERACTION DRIVEN AVATAR APPARATUS AND METHOD"的共同待审的专利申请PCT专利申请No. PCT/CN2014/073695中公开的面部网格跟踪器。一般而言,面部跟踪器102可包含跟踪用户的头部姿势和面部表情的各种功能块。面部跟踪器102可从图像捕获装置(例如相机)接收多个图像帧,通过多个图像帧检测用户的面部的面部行为动作以及用户的头部的头部姿势姿态,并且输出描绘所检测的面部行为动作的多个面部运动参数以及描绘所检测的头部姿势姿态的多个头部姿态参数,全都实时地输出。例如可基于图像帧的像素采样通过头部和面部上的嘴巴和眼睛的帧间差异,检测面部行为动作和头部姿势姿态。面部跟踪器102可包含头部姿势跟踪功能块,其配置成计算用户头部的转动角度,包含俯仰、左右摇摆和/或摇晃,以及沿水平、垂直方向的平移距离,并且更靠近或更远离相机,最终作为头部姿势姿态参数的一部分输出。计算可基于多个图像帧的子采样像素的子集,例如,施加动态模板匹配,重新注册等。这些功能块可充分准确,在它们所要求的处理能力方面仍可缩放,使袖珍头像系统100特别适合于由宽范围的移动计算装置(诸如智能电话和/或计算平板电脑)托管。

在实施例中,头像动画引擎104可配置成给头像作动画,包含在头像上复制用户的面部表情,其通过面部和骨骼动画以及施加头像转动影响权重110来将头部转动影响考虑在内。头部转动影响权重110(如早前所描述的)可由头部转动影响权重生成器108预先生成,并提供给头像动画引擎104,例如以头部转动影响权重图的形式。

此外,头像动画引擎104可在面部和骨骼动画期间采用多个预先定义的混合形状来加速其操作,以有助于使袖珍头像系统100特别适合于宽范围的移动装置。

在采用形状混合的实施例中,在面部跟踪和作动画之前,可首先预先构造具有中性表情和一些典型表情(诸如嘴巴张开、嘴巴微笑、眉毛向上和眉毛向下、眨眼等)的模型。可对于各种面部跟踪器102能力和目标移动装置系统要求判定或选择混合形状。在操作期间,面部跟踪器102可为头像动画引擎104输出混合形状权重。

在接收到各种混合形状的混合形状权重时,头像动画引擎104可用如下公式(等式1)生成有表情的(expressed)面部结果:

其中B*是目标有表情的面部,

B0是具有中性表情的基本模型,并且

ΔBi是存储基于特定表情的基本模型的顶点位置偏移的第i个混合形状。

相比其它面部动画技术,诸如运动传递和网格变形,使用面部动画的混合形状可具有几个优点:1)表情定制:当创建头像模型时,可根据头像的特性和概念定制表情。头像模型可以制作得更有趣并且对用户有吸引力。2)低计算成本:计算可配置成与模型大小成比例,并且制作得更适合于并行处理。3)良好的缩放性:将更多表情添加到框架中可进行得更容易。

本领域技术人员将认识到,这些特征(单独地和组合)都使袖珍头像系统100特别适合于由宽范围的移动计算装置托管。然而,虽然袖珍头像系统100设计成特别适合于操作在移动装置上,诸如智能电话、平板手机、计算平板电脑、膝上型计算机或电子阅读器,但本公开不限于此。预期的是,袖珍头像系统100也可操作在比典型移动装置具有更多计算能力的计算装置上,诸如台式计算机、游戏控制台、机顶盒或计算机服务器。下面将依次更详细地描述袖珍头像系统100的前述和其它方面。

图2图示了根据所公开实施例用于生成头部转动影响权重的示例过程。如所示的,用于生成头部转动影响权重的过程200可包含在框202-206中执行的操作。这些操作例如可由图1的头部转动影响权重生成器108执行。

过程200可开始于框202。在框202,可对于模型制作若干骨头,接着是模型蒙皮。可用若干已知技术中的任何技术,例如使用3D计算机图形软件(诸如从CA的San Rafael的Autodesk公司可得到的Maya),执行骨头制作和蒙皮。在实施例中,可制作至少两个骨头,头骨和躯干骨,如图3中所示(302)的。头骨和躯干骨可在关节304处一起耦合。另外,使关节304被设置在模型的颈部。在备选实施例中,可采用更多骨头,并且骨头可一起连结在不同于模型的颈部的位置。

从框202,过程200可继续到框204。在框204,可从骨头制作软件获得头部转动影响权重。在实施例中,可对于头部的不同特征(包含但不限于面部、眼睛、牙齿、舌头和颈部),获得头部转动影响权重。在实施例中,还可对于身体(或衣服)获得头部转动影响权重。

从框204,过程200可继续到框206。在框206,可导出头部转动影响权重,例如作为图。在实施例中,该图可以是灰度级图,其中较淡的灰度级值描绘较大的影响,而较暗的灰度级值描绘较小的影响,如图4中所示的。在实施例中,图400可与由头像动画引擎104采用的二维(2D)纹理图(也称为UV图)具有相同维度,由此实现可使用纹理图的像素的相同UV坐标,对于像素检索头部转动影响值。此外,图400可具有到纹理图的对应区段,例如用于面部402的区段、用于眼睛404的区段、用于颈部406的区段、用于舌头408的区段、用于牙齿410的区段、用于身体/衣服412的区段等,使操作更高效。

现在参考图5,其中示出了图示根据所公开实施例用于给头像作动画的过程的流程图。如所图示的,用于给头像作动画(包含在头像上复制将头部转动影响考虑在内的面部表情)的过程500可包含在框502-504执行的操作。操作例如可由图1的头像动画引擎104执行。

过程500可开始于框502。在框502,可执行面部表情模拟,其中按照(例如从面部跟踪器102)接收的一组面部表情参数来驱动头像模型。在采用多个混合形状的实施例中,可按照早前描述的等式1来执行面部动画。

从框502,过程500可继续到框504。在框504,可执行骨骼模拟,其中头像模型还按照(例如从面部跟踪器102)接收的一组头部姿势参数驱动,以修改框502的面部模拟结果。在实施例中,面部模拟结果可由头部姿势矩阵T中的头部姿势值来修改。头部姿势矩阵T可包含描绘左右摇摆、俯仰和/或倾斜的值。在实施例中,施加头部姿势值可由头部转动影响权重(w)加权。

现在参考图6,其中图示了根据所公开实施例进一步详细图示图5的过程的流程图。用于给头像作动画(包含在头像上复制将头部转动影响考虑在内的面部表情)的过程600(过程500的更详细图示),可包含在框602-612执行的操作。如早前所描述的,操作可由图1的头像动画引擎104执行。回想起,在实施例中,可采用混合形状,并且面部表情模拟如等式1所表示的那样执行。从而,面部和骨骼模拟的组合结果可表示如下(等式2):

其中B*上标j是第j个像素的目标有表情的面部值,

wj是第j个像素的头部转动影响权重;

T是头部转动矩阵;以及

B0、αi和ΔΒi与早前参考等式1描述的具有相同的意思。

从而,对于实施例,在框602,可以确定多个预先定义的混合形状中每个形状中的顶点像素的位置偏移。从框602,过程600可继续到框604。在框604,可向所确定的位置偏移施加各种混合形状的对应混合形状权重。从框604,过程600可继续到框606。在框606,可对所有混合形状的混合形状加权的位置偏移求和。从框606,过程600可继续到框608。在框608,在框606中生成的和可被加到基本模型中的顶点像素的位置偏移。从框608,过程600可继续到框610,然后是框612。在框610和612中,由头部转动影响权重加权的头部姿势值可被施加到在框608中生成的结果。可对于所有混合形状的所有顶点重复框602-612的操作。

图7图示了根据所公开实施例具有和没有骨骼动画的示例头像动画。如所示的,图像702图示了没有将头部转动影响考虑进去的骨骼模拟的头像的面部表情动画。从而,头像的头部保持与头像的躯干严格对齐,甚至在用户已经倾斜他/她的头部时。图像704图示了具有如早前所描述的将头部转动影响考虑进去的骨骼模拟的头像的面部表情动画。对应于用户如何倾斜他/她的头部,头像的头部相对于头像的躯干倾斜,给用户提供了更丰富的体验。.

图8图示了可适合于用作客户端装置或服务器以实践本公开选择的方面的示例计算机系统。如所示的,计算机800可包含一个或多个处理器或处理器核802以及系统存储器804。为了此申请(包含权利要求)的目的,术语“处理器”和“处理器核”可视为同义词,除非上下文明确另有要求。此外,计算机800可包含大容量存储装置806(诸如磁盘、硬盘驱动器、光盘只读存储器(CD-ROM)等等)、输入/输出装置808(诸如显示器、键盘、光标控制等等)以及通信接口810(诸如网络接口卡、调制解调器等等)。元件可经由系统总线812彼此耦合,系统总线812可表示一个或多个总线。在多总线的情况下,它们可由一个或多个总线桥(未示出)桥接。

这些元件中的每个元件都可执行本领域已知的其常规功能。具体地说,可采用系统存储器804和大容量存储装置806来存储实现与早前描述的统称为计算逻辑822的面部跟踪器102、头像动画引擎104、头像渲染引擎106和/或头部转动影响权重生成器108关联的操作的编程指令的工作拷贝和永久拷贝。各种元件可通过由一个或多个处理器802支持的汇编指令或可被编译成此类指令的高级语言(诸如例如C语言)实现。

取决于计算机800是用作客户端装置还是服务器,这些元件810-812的数量、能力和/或容量可改变。当用作客户端装置时,这些元件810-812的能力和/或容量可改变,这取决于客户端装置是固定装置还是移动装置,如智能电话、计算平板电脑、超级本或膝上型计算机。否则,元件810-812的构成是已知的,并且因而将不进一步描述。

如本领域技术人员将认识到的,本公开可实施为方法或计算机程序产品。因而,本公开除了如早前所描述的用硬件实施,还可采取完全软件实施例(包含固件、常驻软件、伪代码等)或组合软件和硬件方面的实施例的形式,它们一般全都可被称为“电路”、“模块”或“系统”。此外,本公开可采取实施在具有实施在介质中的计算机可用程序代码的表达式的任何有形或非暂时性介质中的计算机程序产品的形式。图9图示了可适用于用来存储指令的示例计算机可读非暂时性存储介质,所述指令使设备响应于设备对指令的执行而实践本公开的选择的方面。如所示的,非暂时性计算机可读存储介质902可包含若干编程指令904。编程指令904可配置成使装置例如计算机800能够响应于编程指令的执行而例如执行与面部跟踪102、头像动画引擎104、头像渲染引擎106和/或头部转动影响权重生成器108关联的各种操作。在替换实施例中,编程指令904可替代地设置在多个计算机可读非暂时性存储媒体902上。在替换实施例中,编程指令904可设置在计算机可读暂时性存储媒体902(诸如信号)上。

可利用可用的一个或多个计算机或计算机可读媒体的任何组合。计算机可用或计算机可读介质/多个媒体可以是例如但不限于:电、磁、光、电磁、红外或半导体系统、设备、装置或传播介质。计算机可读介质的更特定示例(非排他列表)会包含如下:具有一个或多个导线的电气连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储装置、诸如支持因特网或内联网的传输媒体的传输媒体或磁存储装置。要指出,计算机可用或计算机可读介质/媒体介质甚至可以是纸张或另一适合介质(在其上打印程序),因为程序例如可经由光扫描纸张或其他介质进行电捕获,然后编译、解释或另外以适合的方式处理(如果必要的话),并且然后存储在计算机存储器中。在此文档的上下文中,计算机可用或计算机可读介质可以是可含有、存储、传递、传播或传输程序以供指令执行系统、设备或装置使用或与之结合的任何介质。计算机可用介质可包含传播的数据信号,其中计算机可用程序代码与之一起(或者在基带中或者作为载波的一部分)实施。计算机可用程序代码可使用任何适当介质传输,包含但不限于无线、有线、光纤电缆、RF等。

用于执行本公开操作的计算机程序代码可用一个或多个编程语言的任何组合来写,这些编程语言包含面向对象的编程语言诸如Java、Smalltalk、C++等以及常规的过程编程语言诸如“C”编程语言或类似的编程语言。程序代码可完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立软件包,部分在用户的计算机上并且部分在远程计算机上或者完全在远程计算机或服务器上执行。在后一情形下,远程计算机可通过包含局域网(LAN)或广域网(WAN)的任何类型网络连接到用户的计算机,或者可进行连接到外部计算机(例如通过使用因特网服务提供商的因特网)。

本公开参考根据本公开实施例的方法、设备(系统)和/或计算机程序产品的流程图说明和/或框图进行了描述。将理解,流程图说明和/或框图的每个框以及流程图说明和/或框图中的框的组合可由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机的处理器或其它可编程数据处理设备以产生机器,使得经由计算机的处理器或其它可编程数据处理设备执行的指令创建用于实现在流程图和/或框图框或多个框中规定的功能/动作的部件。

这些计算机程序指令还可存储在可指导计算机或其它可编程数据处理设备以具体方式运作的计算机可读介质中,使得存储在计算机可读介质中的指令产生包含实现在流程图和/或框图框或多个框中规定的功能/动作的指令部件的制品。

计算机程序指令还可加载在计算机或其它可编程数据处理设备上,以使在计算机或其它可编程设备上执行一系列可操作步骤来产生计算机实现的过程,使得在计算机或其它可编程设备上执行的指令提供用于实现在流程图和/或框图框或多个框中规定的功能/动作的过程。

附图中的流程图和框图图示了根据本公开各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能性和操作。在这点上,流程图或框图中的每个框都可表示模块、分段或代码部分,其包括用于实现规定的一个或多个逻辑功能的一个或多个可执行指令。还应该指出,在一些备选实现中,在框中指出的功能可以不按图中指出的次序发生。例如,接连显示的两个框实际上可基本上同时执行,或者所述框有时可按相反次序执行,这取决于所涉及的功能性。还将指出,流程图说明和/或框图的每个框以及流程图说明和/或框图中的框的组合可由基于专用硬件的系统实现,这些系统执行规定功能或动作或者专用硬件和计算机指令的组合。

本文使用的术语仅是为了描述具体实施例的目的,并且不意图限制本公开。如本文所使用的,单数形式“一”,“一个”和“该”意图也包含复数形式,除非上下文另有明确指示。将进一步理解到,术语“包括(comprises)”和/或“包括(comprising)”当在此说明书中使用时规定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或它们的群组的存在或添加。

实施例可实现为计算机过程、计算机系统或实现为制品,诸如计算机可读媒体的计算机程序产品。计算机程序产品可以是由计算机系统可读的计算机存储介质,并且编码用于执行计算机过程的计算机程序指令。

下面权利要求中的所有部件或步骤加上功能元件的对应结构、材料、动作和等效方案都意图包含用于结合明确要求权利的其它要求权利的元件执行功能的任何结构、材料或动作。本公开的描述已经为了说明和描述目的呈现了,但不意图是详尽的或局限于所公开形式的公开。许多修改和变形对本领域技术人员将是显而易见的,而不脱离本公开的范围和精神。选取并描述实施例,以便最佳地说明本公开的原理以及实际应用,并且使本领域其它技术人员能够理解具有适合于预期的具体使用的各种修改的实施例的公开。

回头参考图8,对于一个实施例,至少一个处理器802可与具有计算逻辑822的存储器一起封装(代替存储在存储器804和存储装置806上)。对于一个实施例,至少一个处理器802可与具有计算逻辑822的存储器封装在一起以形成系统级封装(SiP)。对于一个实施例,至少一个处理器802可与具有计算逻辑822的存储器集成在同一管芯上。对于一个实施例,至少一个处理器802可与具有计算逻辑822的存储器一起封装以形成片上系统(SoC)。对于至少一个实施例,SoC例如可用在智能电话或计算平板电脑上,但不限于此。

从而,已经描述了本公开的各种示例实施例,但不限于:

示例1可以是用于渲染头像的设备。所述设备可包括一个或多个处理器以及头像动画引擎。头像动画引擎可由一个或多个处理器操作以接收分别与用户的面部和头部关联的多个面部运动参数和多个头部姿态参数,并用面部和骨骼动画驱动头像模型以使用面部运动参数和头部姿态参数给头像作动画,以在头像上复制用户的面部表情,其包含用户的头部转动后的影响。多个面部运动参数可描绘面部的面部行为动作,并且多个头部姿态参数可描绘头部的头部姿势姿态。

示例2可以是示例1,其中当用面部和骨骼动画驱动头像模型时所述头像动画引擎施加头部转动影响权重。

示例3可以是示例2,其中所述头像动画引擎根据头部转动影响权重图施加至少采用在关节处连接的头骨和躯干骨预先生成的头部转动影响权重。

示例4可以是示例3,其中所述关节设置在颈部。

示例5可以是示例3或4,其中所述头部转动影响权重图处于灰度级,其中较淡的灰度值描绘来自头部转动的影响较大。

示例6可以是示例3-5中的任一示例,其中所述头部转动影响权重图具有包含所述面部的区段、所述面部的眼球的区段、所述用户的颈部的区段、所述面部的舌头的区段、所述面部的牙齿的区段或者所述用户的身体或衣服的区段的布局。

示例7可以是示例3-6中的任一示例,其中所述头像动画引擎进一步采用二维纹理图,并且所述头部转动影响权重图具有对应于所述二维纹理图的布局或维度;并且其中所述动画引擎使用所述二维纹理图中顶点的对应坐标从所述头部转动影响权重图中检索所述顶点的影响权重。

示例8可以是示例2-7中的任一示例,其中当用面部动画驱动所述头像模型时所述头像动画引擎混合多个预先定义的混合形状,并向所述面部动画的结果施加所述头部转动影响权重以用骨骼模拟驱动所述头像模型。

示例9可以是示例8,其中当用面部动画驱动所述头像模型时混合多个预先定义的混合形状包括:确定所述多个预先定义的混合形状中的每个形状中的位置偏移;向确定的所述位置偏移施加对应混合形状权重;对所有混合形状的所述混合形状加权的位置偏移求和;以及将所述和加到基本模型中所述顶点的位置偏移。

示例10可以是示例2-9中的任一示例,其中头部转动包括左右摇摆、俯仰或倾斜。

示例11可以是示例1-10中的任一示例,进一步包括:面部网格跟踪器,由一个或多个处理器操作,以接收多个图像帧,通过多个图像帧检测用户的所述面部的面部行为动作以及用户的头部的头部姿势姿态,并且输出描绘所检测的面部行为动作的多个面部运动参数以及描绘所检测的头部姿势姿态的多个头部姿态参数,全都实时地输出。面部行为动作和头部姿势姿态的检测可包含基于所述图像帧的像素采样的所述头部和所述面部上的嘴巴和眼睛的帧间差异的检测。

示例12可以是示例11,其中通过相机捕获多个图像帧,并且头部姿势姿态包含头部转动、沿水平方向和垂直方向的动作,以及头部更靠近或更远离相机;并且其中多个头部姿势姿态参数包含描绘头部转动、沿水平方向和垂直方向的头部动作以及头部更靠近或更远离相机的头部姿势姿态参数。

示例13可以是示例11或12,其中面部网格跟踪器包含头部姿势跟踪功能块,以基于多个图像帧的子采样的像素的子集计算用户的头部的转动角度,并施加动态模板匹配和重新注册。

示例14可以是示例11-13中的任一示例,进一步包括:头像渲染引擎,其与所述头像动画引擎耦合并由所述一个或多个处理器操作以绘制如由所述头像动画引擎所作动画的所述头像。

示例15可以是用于渲染头像的方法。所述方法可包括:由计算装置接收分别与用户的面部和头部关联的多个面部运动参数和多个头部姿态参数,并用面部和骨骼动画驱动头像模型以使用面部运动参数和头部姿态参数给头像作动画,以在头像上复制用户的面部表情,其包含用户的头部转动后的影响。多个面部运动参数可描绘面部的面部行为动作,并且多个头部姿态参数可描绘头部的头部姿势姿态。

示例16可以是示例15,其中驱动包括:当用面部和骨骼动画驱动所述头像模型时施加头部转动影响权重。

示例17可以是示例16,其中施加包括:根据头部转动影响权重图施加至少采用在关节处连接的头骨和躯干骨预先生成的头部转动影响权重。

示例18可以是示例17,其中所述关节设置在颈部。

示例19可以是示例17或18,其中所述头部转动影响权重图处于灰度级,其中较淡的灰度值描绘来自头部转动的影响较大。

示例20可以是示例17-19中的任一示例,其中所述头部转动影响权重图具有包含所述面部的区段、所述面部的眼球的区段、所述用户的颈部的区段、所述面部的舌头的区段、所述面部的牙齿的区段或者所述用户的身体或衣服的区段的布局。

示例21可以是示例17-20中的任一示例,其中驱动包括采用二维纹理图;其中所述头部转动影响权重图具有对应于所述二维纹理图的布局或维度;其中施加包括:使用所述二维纹理图中顶点的对应坐标从所述头部转动影响权重图中检索所述顶点的影响权重。

示例22可以是示例16-21中的任一示例,其中驱动包括:当用面部动画驱动所述头像模型时混合多个预先定义的混合形状,并向所述面部动画的结果施加所述头部转动影响权重以用骨骼模拟驱动所述头像模型。

示例23可以是示例22,其中当用面部动画驱动所述头像模型时混合多个预先定义的混合形状包括:确定所述多个预先定义的混合形状中的每个形状中的位置偏移;向确定的所述位置偏移施加对应混合形状权重;对所有混合形状的所述混合形状加权的位置偏移求和;以及将所述和加到基本模型中所述顶点的位置偏移。

示例24可以是示例22,其中头部转动包括左右摇摆、俯仰或倾斜。示例25可以是计算机可读介质,包括指令,所述指令使计算装置响应于所述指令的执行以:接收分别与用户的面部和头部关联的多个面部运动参数和多个头部姿态参数;以及用面部和骨骼动画驱动头像模型,以使用面部运动参数和所述头部姿态参数给头像作动画,以在头像上复制用户的面部表情,其包含用户的头部转动后的影响。多个面部运动参数可描绘面部的面部行为动作,并且多个头部姿态参数可描绘头部的头部姿势姿态。

示例26可以是示例25,其中驱动包括:当用面部和骨骼动画驱动所述头像模型时施加头部转动影响权重。

示例27可以是示例26,其中施加包括:根据头部转动影响权重图施加至少采用在关节处连接的头骨和躯干骨预先生成的头部转动影响权重。

示例28可以是示例27,其中所述关节设置在颈部。

示例29可以是示例27或28,其中所述头部转动影响权重图处于灰度级,其中较淡的灰度值描绘来自头部转动的影响较大。

示例30可以是示例27-29中的任一示例,其中所述头部转动影响权重图具有包含所述面部的区段、所述面部的眼球的区段、所述用户的颈部的区段、所述面部的舌头的区段、所述面部的牙齿的区段或者所述用户的身体或衣服的区段的布局。

示例31可以是示例27-30中的任一示例,其中驱动包括采用二维纹理图;其中所述头部转动影响权重图具有对应于所述二维纹理图的布局或维度;其中施加包括:使用所述二维纹理图中顶点的对应坐标从所述头部转动影响权重图中检索所述顶点的影响权重。

示例32可以是示例26-31中的任一示例,其中驱动包括:当用面部动画驱动所述头像模型时混合多个预先定义的混合形状,并向所述面部动画的结果施加所述头部转动影响权重以用骨骼模拟驱动所述头像模型。

示例33可以是示例32,其中当用面部动画驱动所述头像模型时混合多个预先定义的混合形状包括:确定所述多个预先定义的混合形状中的每个形状中的位置偏移;向确定的所述位置偏移施加对应混合形状权重;对所有混合形状的所述混合形状加权的位置偏移求和;以及将所述和加到基本模型中所述顶点的位置偏移。

示例34可以是示例32,其中头部转动包括左右摇摆、俯仰或倾斜。

示例35可以是用于渲染头像的设备。所述设备可包含:用于接收分别与用户的面部和头部关联的多个面部运动参数和多个头部姿态参数的部件;以及用于用面部和骨骼动画驱动头像模型以使用面部运动参数和头部姿态参数给头像作动画以在头像上复制用户的面部表情(其包含用户的头部转动后的影响)的部件。多个面部运动参数可描绘面部的面部行为动作,并且多个头部姿态参数可描绘头部的头部姿势姿态。

示例36可以是示例35,其中用于驱动的部件包括用于当用面部和骨骼动画驱动所述头像模型时施加头部转动影响权重的部件。

示例37可以是示例36,其中用于施加的部件包括用于根据头部转动影响权重图施加至少采用在关节处连接的头骨和躯干骨预先生成的头部转动影响权重的部件。

示例38可以是示例37,其中所述关节设置在颈部。

示例39可以是示例37或38,其中所述头部转动影响权重图处于灰度级,其中较淡的灰度值描绘来自头部转动的影响较大。

示例40可以是示例37-39中的任一示例,其中所述头部转动影响权重图具有包含所述面部的区段、所述面部的眼球的区段、所述用户的颈部的区段、所述面部的舌头的区段、所述面部的牙齿的区段或者所述用户的身体或衣服的区段的布局。

示例41可以是示例37-39中的任一示例,其中用于驱动的部件包括用于采用二维纹理图的部件;其中所述头部转动影响权重图具有对应于所述二维纹理图的布局或维度;其中施加包括:使用所述二维纹理图中顶点的对应坐标从所述头部转动影响权重图中检索所述顶点的影响权重。

示例42可以是示例36-41中的任一示例,其中用于驱动的部件包括用于当用面部动画驱动头像模型时混合多个预先定义的混合形状并向面部动画的结果施加头部转动影响权重以用骨骼模拟驱动头像模型的部件。

示例43可以是示例42,其中用于当用面部动画驱动所述头像模型时混合多个预先定义的混合形状的部件包括:用于确定多个预先定义的混合形状中的每个形状中的位置偏移的部件;用于向确定的位置偏移施加对应混合形状权重的部件;用于对所有混合形状的混合形状加权的位置偏移求和的部件;以及用于将所述和加到基本模型中所述顶点的位置偏移的部件。

示例44可以是示例42,其中头部转动包括左右摇摆、俯仰或倾斜。

对本领域技术人员将显而易见的是,可在不脱离本发明的精神或范围的情况下,在所公开装置及关联方法的所公开实施例中进行各种修改和改变。从而,意图是,本公开涵盖了上面公开的实施例的修改和改变,如果这些修改和改变落在任何权利要求及其等效方案的范围内。

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