一篇面部动画文章的翻译(Animating Blendshap e Faces by Cross-Mapping Motion Capture Data)

来源:互联网 发布:公众号回调域名 编辑:程序博客网 时间:2024/04/30 22:04

摘要:

在影视娱乐产业中,3D面部动画要获得一个高度真实的视觉效果是一项具有挑战的工作。前人提出的面部表情转移方法,往往需要一个高质量的面部动画源,以便于将当前的运动赋予新的3D面部模型。而本文提出一种半自动的技术,通过映射面部运动数据到3D blendshape表情空间来实现当下流行的3D blendshape动画的直接驱动。该方法是通过运动捕获系统获取面部稀疏标记点以及摄像头同步的记录表演者的正面影像,然后通过谨慎的选择一部分运动帧以及伴随的视频帧,组成一个“运动数据帧—视频帧”的相关对。用户手工的调整动画blendshape面部模型的权重来匹配“运动数据帧—视频帧”相关对中的视频帧表情,以便于创建“运动数据帧—权重帧”相关对。最后基于“运动数据帧—权重帧”相关对,使用RBF回归分析技术来实现新捕获的面部运动数据到面部blendshape权重的映射。我们的实验结果表明,该技巧对于blendshape面部模型动画的驱动是有效的,同时为表情动画的制作提供了一个灵活和一般性的方式。

 

1简介

在影视娱乐产业中要创建一个高真实感的面部动画,对一名熟练动画师来说是一项疼苦和繁重的工作。动画师通常需要每两三帧手工的雕刻和调整一帧动画。此外,他们在建立不同的脸部模型时,不得不反复的进行这样类似的过程。怎样让不同的面部模型动画达到高真实感并且只需要少量的手工交互,这对计算机动画的研究人员来说是一个具有挑战性的研究领域。

Blendshape(也称形状插值)方法是一种用于计算机表情动画且当下流行的技术。例如,指环王电影中的“Gollum”模型使用了多达946blendshape来进行控制。Blendshape方法被动画师频繁的使用,主要是因为其直观性和灵活的交互控制。然而,blendshape表情动画的代价也是可观的。就最多的时间成本来说,每个不同的人脸模型都需要制作相应的blendshape模型,并且调整相应的blendshape表情,制作对应的滑块进行控制。因此这仍然是相当耗时的工作。

2001年到2005年期间有很多学者对表情动画进行了相关探索,这里不一一列出。

运动捕获现在能提供可行和鲁棒的方法进行高质量人体运动数据以及表情运动数据的捕获,并且能用于当前的影视娱乐产业。因此,直接的将运动捕获数据和当下流行的blendshape技术相结合已经被广泛的应用于影视娱乐行业,并且有效的缓解了高真实感表情动画制作上的压力。

从运动捕获数据得到的Blendshape表情动画,本质上是建立了一个从运动捕获数据到blendshape权重空间的映射。使用多个blendshape权重的线性组合来实现特定表情的配置,这个映射广义上来说是一个一到多的映射,该方法最大的挑战在于全自动的进行映射。本文,我们提出一种半自动的方法来驱动任意的blendshape面部模型。并且我们将其形式化为一个散乱数据的插值问题。基于精心选取的少量blendshape权重和运动数据帧的参考对应关系,而新的运动捕获帧对应的blendshape权重则是使用径向基函数(RBF)来约束的。图1描述了整个方法的框架。

如图1所述,第一步(数据捕获),需要使用一套运动捕获系统和一个摄像机同步的采集人脸部的表情运动。由于录音和运动捕获系统在记录数据的时间上不一定严格同步,需要计算音频记录与运动捕获帧率之间的时间偏差,并与前面的运动帧和视频帧进行同步排列。第二步,我们谨慎的选取部分排列好的“运动捕获数据—音频数据”相关对,保证这些相关对尽可能的张满整个口型和运动空间。第三步,使用PCA对运动捕获数据进行降维,将其降到低维空间中。同时,基于选取的参考视频帧(正面面部快照),动画师手工的调节blendshape面部模型的权重来尽可能的逼近参考帧图像的表情,这样就建立起了PCA系数与运动捕获帧以及blendshape面部模型权重之间的对应关系(即运动捕获数据—权重相关对)。选取“参考运动数据—权重相关对”作为训练blendshape基的基本样本,这些样本是基于关键面部表情配置冲源表情动画序列中选出的。因此这些技巧不能直接用于其它的预设计的blendshape模型。

近期Vlasic等提出一种新的计算框架,通过多线性模型的3D面部网格学习把视频中的面部运动传递到其它的2D3D面部模型上。在他们的工作中,学习的多线性面部模型都是经由参数直接控制的,比如表情的定义等。不同的参数能保持不同区域的贡献值,而不改变其他地方的值。至今这个方法能否成功的用于blendshape面部模型还是取决于动画师。

姿态空间形变(PSD)方法是由Lewis等人提出的,他们提出一种通用的基于样本的形变框架。在他们的工作中,关于表面的形变是当做一个包含一系列抽象参数的函数来处理的,这些抽象的参数包括{微笑,抬眉……等},一个新的形变曲面是由散乱点云数据插值得到的。在一些领域,我们的工作表现的与PSD有些类似,比如用散乱数据进行插值。然而,我们的工作与这个工作的主要区别在于一个是高级的抽象(如微笑等)而我们是将这些抽象的概念或者高等级的参数进行低抽象程度的表示,比如使用PCA系数。这和PSD所做的工作正好相反。另外,PSD已经过证实不能直接用于运动捕获数据到blendshape面部动画的映射。

BlanzVetter[1999]提出一种新颖的技巧,通过使用PCA3D面部样本的形状和纹理表示为向量,来学习一个面部模型的变形动画。他们从原型脸中萃取出对应的主成分(blendshape基),用户可以手工或自动的调节blendshape权重来获得新的表情脸。此外,在可变形的面部模型基础上,Blanz等人使用视频或图像的首次匹配来重新驱动2D面部模型并将面部运动转移到对应的3D人脸模型上。Lewis等人在[2005]中提出一种有效的方法通过选择性的运动衰减来降低blendshape的冲突问题。使得动画师在调节blendshape权重的时候避免产生失真的调控,比如一些运动与另一些运动的冲突。

ChoeKo[2001]提出一种技术来驱动blendshape面部模型,这种技术是通过迭代的调整肌肉刺激并分析肌肉运动权重来控制头部肌肉的运动。Sifakis等人[2005]使用非线性有限元方法来准确的计算相应部位肌肉的刺激,而这些运动是与面部的稀疏标记点的运动相对应的。在他们的工作中,使用了解刨学、关节结构等知识来对面部肌肉运动进行分析。他们的工作表明,基于blendshape模型或者准确解刨人脸模型的技术都是可行的,但是并未表明基于肌肉刺激的方法比控制blendshap面部模型的方法更具优势。

表演驱动的表情动画是由Williams[1990]提出的,其功效是通过追踪真实演员的面部运动来驱动其他3D面部模型进行相应的运动。近来改进的表演驱动的表情动画技术聚焦于如何鲁棒的跟踪和重定向算法上[Li et al .1993, Essa et al.1996Decarlo and Metaxas 1996; Pighin et al. 1999; Noh et al. 2002; Chai et al. 2003]。他们的方法依赖于鲁棒的视觉跟踪算法,并且他们的这些方法在设计blendshape面部模型的应用中是否成功尚未得到证实。

数据驱动的语音动画合成可以看做一个广义的面部传递[Bregler et al. 1997; Brand 1999; Ezzat et al.2002; Kshirsagar and Thalmann 2003; Cao et al. 2004; Ma et al.2004; Deng et al. 2005]。这些方法中的大部分首先需要记录演讲者说话时的面部运动。然后,给定一个新的语音作为输入,他们重组记录面部运动帧或样本学习的参数化模型来合成新的面部运动。因此,他们传递之前记录的运动帧成为一个新的表达,虽然这种传递通常发生在相同的面部模型上。

3数据获取

在图2 的顶部是一套VICON的运动捕获系统的相机装置,其采用频率是120Hz,用于

 

采集演员正常速度讲话时的面部显著性运动数据,面部标记点有102个。在这个记录中,四种基本情绪是值得考虑记录的(平静,高兴,生气,伤心)。演员被要求在说话时竟可能的使面部运动对比强烈(即:在做不同表情时,面部标记点的运动要明显的区别于其他表情)。标记点的运动和音频需要对齐并同步的被系统记录。同时,我们使用另一台视频相机来记录演员的正面面部运动影像(图1和图2下部分)。

然后我们进一步的归一化人脸运动捕获的数据。每一帧的所有标记点都被平移到以自身当前帧标记点均值为原点的坐标系下。然后使用统计形状分析来计算头部的运动。选择一个不做任何变化的面部标记点形成的姿态作为参考帧,该帧的数据为一个102X3的矩阵记为y。对每一个运动捕获帧,我们会得到一个矩阵,这矩阵同样是由面部标记点得到的。

由于我们在记录视频和音频时使用的系统,天然的将视频帧与音频进行对齐。类似的,运动捕获系统也完美的将运动捕获数据与音频记录对齐。然而,由于记录开始时间上的细微差异,运动捕获系统的音频记录与视频设备上的音频记录会存在开始记录时间上的一个偏差,因此,视频帧和运动捕获帧也同样存在这个偏差。因此在记录完成之后,我们需要手工的将这两个音频片段进行对齐计算出偏差时间,并将视频帧与运动捕获帧进行严格对齐。图2描述了数据获取过程的快照。由于在某些帧标记点的跟踪会产生误差,红色标记点在实际工作中没有使用到。

 

4 选择参考帧

在本节,我们将描述如何从运动捕获记录片段中选取运动捕获参考帧。对于运动捕获数据,我们使用FESTIVAL系统来完成音频的音素与对应的运动捕获片段的对齐工作。这里的对齐工作需要提供音频和对应的文字脚本,并通过演讲识别程序强制性的进行对应。

基于上面的音素对齐结果,我们手工的从与音素想关联的运动片段中选择一个运动捕

     

不同的应用决定了不同的降维方式。因为保留高维信息能保留更多的运动变化细节。然而,这样做将需要更多的训练集来训练RBF回归函数,该函数在第6节中介绍,因此输入向量空间也要相应的增大。这样就需要在运动捕获数据的降维和训练集合的个数之间进行权衡。基于上述的100个训练对,我们实验了多种不同的降维方法以便于选择适当的维度(如2,3维)并从低维空间上找到实验结果来忽略表情细节,因为高维度偶尔带来不好的组合结果,权衡利弊,我们实验性的将维度设置为4

8结论与探索

    本文中,我们提出一个半自动技巧直接的实现面部运动捕获数据交叉的映射到预先设计的blendshape面部模型。不同于前人提出的blendshape动画工作,这种方法对blendshape面部模型没有特殊限制。这个面部模型不是基于肌肉运动的并且blendshape面部模型的几何比列与实际捕获的几何比例差距很大。我们还展示了本文方法比之前提到的大量使用的权重求解方法更加适合于blendshape权重的计算。

前面介绍的“运动数据—视频”相关对和“运动数据—权重”相关对被用于桥接面部运动捕获数据和blendshape面部控制。在处理的过程中手工的调节是必要的。不管怎样,考虑到大量运动捕获数据库往往是由成千上万的运动帧构成,因此,这点手工的代价还是可以接受的。本文方法用于替换原来的纯手工调节方法(每两三帧调节一帧),因此本方法具有较高的效率,能快速的调整给定的面部运动捕获序列。本文方法的另一优点是自动的维持相邻帧的blendshape权重的连续性,以便于有效的降低动画师在制作动画时可能面临的帧间连续性调节的巨大工作量。

当前该方法能用于3D面部运动捕获数据,也能将视频捕获的面部运动信息,交叉的映射到blendshape模型上,从而实现表演驱动的面部动画[Williams1990]。但是,本文最大的难题在于正规化和对齐面部跟踪数据到同一个坐标系下。

通过主成分分析保留的维度对于建立“运动捕获数据—动画权重”相关对有着重要的影响。如在第五节中讨论的,运动捕获数据的降维与训练集合数量的取舍是一个难以权衡的问题。在将来的工作中,我们计划发明一种新的方法来优化用于交叉映射的降维,如交叉验证。

从运动捕获数据空间到blendshape权重空间的映射是一个典型的一对多映射。根据给人喜好不同,动画可以选择使用blendshape进行动画控制,构建“运动捕获数据—动画权重”相关对并用于训练RBF回归函数。因此,随着动画师使用不同程度的blendshape控制量,同一运动捕获数据就会得到不同的交叉映射结果。但是如果“运动捕获数据—动画权重”相关对的构造是由多个动画师共同进行的,那么就可能导致RBF回归训练的冲突风险,从而发生表情动画冲突的结果。

本研究领域仍然存在不少可以扩展的问题,在未来的工作中我们将继续探索。本文的方法仍然需要在开始阶段进行手工操作,包括选择“运动捕获帧”和相应的同步“blendshape权重”。我们计划在将来的工作中进行自动的从运动捕获数据库中提取最适合的运动捕获帧。另外,我们目前的工作也是在选取的运动捕获帧对应表情张满整个表情空间为基础的,因此在面部运动的效率和完备性之间有一个权衡。在未来的工作中,我们将开放一种评估工具或算法来测量选择面部模版的选取是否最优。本文中的blendshape面部模型由46blendshape组成,但是blendshape模型在工业生产中往往使用的很复杂,组件可以往往又数百个之多。因此,在未来的工作,我们将会开发一个评价和改进的方法,从而降低blendshape的使用个数。

原创粉丝点击