Weta的机器学习“换头”技术

点击上方蓝字CG世界关注我们

“ 感知技术 · 感触CG · 感受艺术 · 感悟心灵 ”
中国很有影响力影视特效CG动画领域自媒体

这是最近发表在fxguide上一篇解析Weta FX的面部制作系统(FFS)的文章,详细说明了FFS系统从开始到最后的开发经历和技术实现过程。小编为大家整理了其中的精华内容,供大家学习参考。为了便于大家理解,章节顺序有调整,有删减。如果英文好的同学可以点击底部蓝字“原文链接”查看原文。

 

 

正文

Weta FX的面部制作系统(FFS)是利用神经网络进行面部相似性绘制的最新方法,这个方法能全方位满足高质量要求,制作严谨的项目,系统设计可用于把替身演员的头部换成主演的头部,再使用神经渲染生成主要演员的新图像,其中包括特殊镜头背景下的透视、灯光和面部表情。

这个研发过程还得从《尚气:十环传奇》说起······

开发前期面临的困难

 

在疫情前,Weta团队就已经加入了《尚气》的VFX制作。其中的主演为了拍好武打戏份,在前期都经过专业武术指导训练,但是再怎么努力,要是让专业的人一看也能看出动作不到位,为了获得最后这5%—10%的真实性。漫威视效总监决定让Weta来把主演的头部“贴”到专业武术替身的身上。

其实这种换脸技术也并不是第一次用,很长一段时间以来,VFX艺术家一直在使用3D数字替身和复杂的合成技术,把主演员面部替换到替身演员身上的例子。但是由于匹配灯光、表情、皮肤纹理和其他因素,这个过程非常复杂,主要是特别耗时。Swartz和Weta FX就想着使用最新的机器学习(ML)提供一种更可靠、更快和视觉真实的方法来实现漫威的制作要求。虽然过去制作了很多演示和实验作品,但大多数都要求主演要正对着相机,而且也没有针对Weta FX管线进行设计,例如高分辨率、复杂的视觉效果,高动态范围等等。

 

这次漫威视效总监针对《尚气》项目提出了研究某种类型的Deepfake技术的想法。

 

随后Weta人员基于之前发表的一些论文和开源解决方案,开始开发自己的内部面部制造系统。说干就干!要训练机器学习就必须要有训练它的基础素材,一开始Weta在惠灵顿动作捕捉小组的成员进行了一次试拍。这次试拍有九台不同的摄像机来拍摄训练数据,一些动作板是用手持设备拍摄的,角度和帧都各不相同。

Weta的机器学习“换头”技术

几个月后,开发团队获得了第一组照片,以及一份概述了获取训练数据、FACS姿势和ROM的各种方法的文件等等……,然而这时候新冠疫情爆发了,制作人员无法在到现场拍摄数据。局面一度很尴尬,那么现在面临两个问题:

第一,主演不会再提供任何定制的培训数据,但可以在其他电影和节目中获得这些数据的片段。第二个问题比较复杂。如何解决特技替身的训练数据,没有任何形式访问他们之前的工作,因为最后的镜头是隐藏特技替身的面部。

Weta的机器学习“换头”技术

最后的解决方案是让Weta使用电影拍摄期间的所有剪辑,以及所有其他外景和DLSR参考,这些剪辑的格式多种多样,与Weta在疫情爆发前在VFX文件中编制的定制清单相去甚远。有了这些不同格式和来源的素材,团队开始构建新的机器学习(ML)工具。新的机器学习人脸识别系统允许团队扫描大量未经编辑和记录的镜头,搜索镜头所需的相关特技演员或演员的任何剪辑。这是非常必要的,因为制作团队面临的问题已经从“需要准确的训练数据”,转变为“需要任何训练数据”、“有太多的镜头,我们现在需要找到每个人最相关的镜头”。

 

 

面部跟踪程序

Weta开发人员构建了一个摄取面部跟踪程序,有创建元数据功能,创建的元数据可以识别每个片段的颜色空间、镜头中所有演员的姓名等,并将信息分类为一种格式,以便在制作需要时轻松访问。这是一种非Weta的VFX方法,与Weta项目的正常工作方式不一样。Weta普遍的流程会非常精确地记录和编目场景图像,会将一切都组织得非常好。但这一切都因为疫情而改变。它甚至还改变了存储镜头的内部数据结构,即假设相关镜头存储在场景或快照的基础上。有了FFS,这个过程跨越了所有的电影制作假设。ML训练数据也不涉及时间一致性,它可能使用一个镜头的10帧,另一个镜头的2帧,以及1200个非连续帧等等。

Weta的机器学习“换头”技术

在面部识别ML开发完成后,开始进行初级面部替换。在《尚气》项目中基础原始算法方法与DeepFaceLabs非常相似。它使用了一个类似的变分自动编码器(VAE)模型,但Weta自己对该原理进一步扩展,建立了Weta VFX管线可用的数据基础上。

 

 

面部对齐

 

早期的识别面部并生成面部对齐主要是通过VAE来实现的。VAE是variational auto encoding的缩写词,简单的说是一个可以和GAN相媲美的生成网络。通过输入一个低维空间的Z,映射到高维空间的真实数据。比如生成不同样的人脸,卡通头像等等。许多使用VAE都是通过使用另一个ML模型来收集人脸数据。与更标准地使用神经网络作为回归器或分类器相比,VAE由于其强大的生成模型而成为许多早期ML人脸替换方法的核心。

但这里有一个问题,这种方法通常在面部转向摄影机一侧时会失败。Weta改进了流程的稳定性,生成了自己的VFX工具包,用于拍摄与动作匹配的镜头,让它成为VFX管线的一部分。

“为了进行各种面部识别,我们需要在相同空间中对齐面部,这与大多数神经渲染方法类似。我们的过程会生成重要面部特征的标记,来帮助定位”。Weta FFS解决方案在此基础上还增加了创新。例如它会比较帧之间的面部标记,如果标记移动了很多,则可能会由于运动模糊而使面部模糊。因此,FFS不仅推荐帧作为训练数据,而且还剔除了对ML解决方案空间有负面影响的帧。

Weta的机器学习“换头”技术

为了实现这一点,开发团队构建了一个基于开源Neo4j变体的节点图数据库,数据库不仅存储了所有相关帧的位置,还存储了所有重要元数据,包括源色彩空间、空间标识和识别标签、方向以及轻松构建训练数据集所需的所有其他内容。“我们将在该数据库中查找正确的面部,这些面部在方向上与我们要复制的面部相似。我们将根据该训练数据集过度拟合模型以进行训练,服务于这个镜头或一组镜头。”

 

虽然有了这些高端复杂的数据管理,但是对获取足够多的培训数据要求还是难以满足。如何解决呢?这时候用使用Weta常规的管线生成3D面部,然后FFS在这个3D头部上进行训练。

在这种方法中,3D头部不需要在纹理和渲染达到多真实的效果,因为机器学习推理最终都要替换掉。但是,使用高质量的3D头部,ML可以得到更高质量,因为这样更容易得到训练所需的数据。这种方法中的CG数字替身仅用作过渡阶段。此外,它还可以在不使用运动模糊的情况下进行渲染或推断,从而生成一个干净的高分辨率新输出面部,以便在Comp中添加运动模糊。

 

 

对运动模糊的推断和处理

 

模糊镜头在任何捕捉和处理过程都是比较难处理的,但Weta的技术可以在任何镜头中精确细化出现的模糊面部。ML可以对模糊的脸进行训练并推断出新的模糊面部。推断的运动模糊倾向于产生更类似于卷积滤波器(或平均)模糊的模糊,而不是完全匹配180度相机快门伪影的高精度方向运动模糊。

 

为了避免推断出的ML面部是柔和边缘,开发团队决定将所有推断出的面部制作成清晰的图像,然后再进行精确地模糊,以匹配comp中的拍摄底片。另一个好处是,可以对特技演员的表演进行其他的VFX控制。

 

 

遮挡的处理

 

与任何面部置换管线一样,Weta需要处理遮挡的东西,例如战斗中在面部前方移动的手或道具。这对于训练数据和推断最终镜头都是一个问题。FFS有一个随镜头移动的遮罩,神经网络可以识别出面部的组成部分与手、剑或头发的组成部分的像素,以及可能出现在面部前面的东西。对于最终的镜头,主神经渲染网络学习如何再现人脸,以及如何将面部图像分割为我们将要替换的像素。这意味着合成师不必使用原始神经网络绘制元素或手动旋转所有内容。

 

 

考虑头部骨骼和年龄变化

 

对于多数镜头,这个技术可称之为“面部”置换,但其实不仅仅要考虑面部区域,还要考虑整个头骨形状。

比如,梁朝伟和替身演员在面部和前额以及整个头部形状之间有着不同的面部关系。梁朝伟与替身相比脸型相对较小,在标记匹配过程中,必须要缩小所有标记。这就会产生一个基本上看起来有点像缩小的头部。

Weta的机器学习“换头”技术

其中一些面部差异还与年龄有关,随着年龄的增长,人脸的关键面部特征的大小会随着时间的推移而变化。例如,与年轻时相比,某人的鼻子和耳朵的相对更大。在这个项目中,演员梁朝伟59岁,而他的特技替身要年轻的多。为了解决这个问题,开发团队想出了一种2D扭曲方法,就是将特技替身的面部特征与主角的面部特征之间的图像移动,开发团队幽默的给起了个名字称之为SnapChat过滤器。“SnapChat”过程会调整特技替身的特征,使其看起来更像主角演员。

 

 

过程

 

不是所有的模型训练都是从头开始的,而是会预先训练一个模型,使用预期在制作中使用的设置,从一组公开的面部表情数据对一组随机研究数据面部表情进行预训练。Weta的FFS将使用设置对网络进行大约一周的预训练,以激活卷积层,了解人脸的一般特征。这个过程让ML“理解”什么是眼睛和嘴巴。然后再采用训练前的模型,从中挑选出的婴儿模型,这些模型可以在一天或一夜之间针对特定的拍摄进行特定身份的训练。FFS会对一个模型进行数周的预训练,但从制作角度来看,这一过程消除了自动编码的瓶颈,制作团队只需在脸上训练他们所需的镜头。

 

 

在电影制作中,这一过程提供了一些真实可信方法,对表演有着忠实和尊重,但即使这样也不能视为完美的数学解决方案。观众看到的表演非常逼真,是对两位表演者的综合诠释,也是背后综合技术的体现。
 
 
 

全文完

Weta的机器学习“换头”技术
给飞机做动捕?国产高精度动捕系统FZMotion技术解析

 

Weta的机器学习“换头”技术
两项成果被SIGGRAPH 2022接收!影眸科技正式推出3天打造超写实数字人的“黑科技”

 

Weta的机器学习“换头”技术
CG也太强了吧!迄今为止最逼真的恐龙纪录片

 

Weta的机器学习“换头”技术
AI“读”《权游》原版小说生成角色样貌?主角依然很美!

VFX解析公众号精选影视后期

“3D+2D,写实角色渲染很简单!”爱死机3神作《吉巴罗》导演幕后制作访谈

2022-5-23 1:03:32

公众号精选

以色列大神带你走进令人叹为观止的反乌托邦世界……

2022-6-9 7:19:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索