深度剖析GDC2016游戏角色Senua的实时表情捕捉系统(一)

深度剖析GDC2016游戏角色Senua的实时表情捕捉系统(一)

本文译自:fxguide.com

副标题:将你的表情映射在游戏角色上 (Put your digital game face on )

关键词:深度学习、虚拟角色表演、面部捕捉、实时解算、FACS

翻译:Kate  校对:Godfrey

Fxguide刊登过”今年游戏开发者大会上Epic,Ninja theory, 3Lateral,Cubic Motion和其他一些团队难以置信的现场演示“一文,观众们被实时表演深深吸引,在此我们将就Senua的实际制作过程做更加深入地了解与探讨。

这篇文章也是作为将要出席本周德国FMX会议的Fxguide读者们的铺垫,同时EPIC Senua团队中的主要成员都将现身会议发表演讲。我们Fxguide的创始人Mike Seymour将主持周四的“数字人物Senua制作流程”系列会议,会议将有来自迪士尼(苏黎世)、MPC、Pixar的首席艺术家们发表演讲,以及数字人物研究团队的最新成果。

地狱之刃中的Senua

地狱之刃中的Senua

在上个月的2016年游戏开发者大会上,Ninja Theory的CCO(首席文化官)Tameem Antoniades和EPIC游戏的CTO Kim Libreri在现场展示了非常真实的实时运动捕捉和人物渲染,这让全球研究身体和面部动画的专家汇聚到一起,这个非凡的项目仅用了8周。为了达到目的,团队使用了最前沿的面部设备、最新的眼睛建模渲染技术以及深度学习算法。

真实的Melina Juergens,Ninja Theory的视频编辑以及、目前的首席女演员

Melina Juergens, Ninja Theory的视频编辑,Senua的人物原型,也是游戏开发大会上的表演艺术家。简单总结一下,Melina的面部由一个mono头部摄像机进行记录,她的身体通过Xsens设备跟踪。这些面部数据通过Cubic Motion的解算器传输给3Lateral Rig文件,身体数据传输给IKinema的身体IK系统。面部和身体的方案被整合到虚幻引擎UE4(UE4,以下简称),通过一些自定义的修正,进行实时渲染。

输入

身体数据通过一套Xsens设备输入到IKinema方案然后进入UE4,大部分用于身体捕捉的技术都是现成的,不需要太多准备时间。

身体的方案与通过Cubi Motion的算法计算出的面部相结合,形成一个复杂的3Lateral Rig(绑定),这个Rig在Kim Libreri(EPIC)寻找可以展现UE4的威力的小样之前就已经制作完成了,面部动画是这个小样真正的核心,虽然身体部分也很重要,但对于整个团队来说最具挑战性的,还是最大程度上真实的还原Melina Juergens的表演。最终,在大会上给广大观众展示的这个实时互动渲染的整合方案非常成功。

Senua是Ninja Theory即将上市的游戏《地狱之刃》非常珍贵的游戏资产,最初的流程并没有专注于实时渲染上,小样的大部分是工作室把线下流程转变成一个可以实时互动的环境。身体上,工作室的硬件/离线系统与在线版本是非常类似的,只是线下流程用的是一个立体头部摄像设备,它不需要像实时运行那样处理海量的数据。

 

面部

小样的最大挑战是获得如此高质量的面部捕捉数据,再整合并进行实时渲染。

Cubic Motion: 解算器

Cubic Motion是搭建面部流程现场小样的关键公司。这个公司的计算机视觉技术能够在每秒90帧以上的速度中追踪200多个面部特征,并且将数据自动映射在实时状态下的超高质量数字角色。(尽管在游戏大会上这个系统是以每秒30帧幅动态图像运作的)。Cubic Motion的贡献在于控制现场捕捉,并应用经过高级分析后的不同时间的空间数据,来驱动3Lateral rig。

左边的立体摄像解决方案,右边两台摄像机的输入影像

游戏开发者大会上的现场方案是通过一台mono摄像机,而线下动画是一套立体摄像机来实现。3Lateral的创始人及CEO Vladimir Mastilovic表示“我觉得立体摄像机和mono之间有很多不同之处 (对于面部表情捕捉),Cubic Motion在比如像下颌位置的部位上,更具优势,因为它有非常好的预测性算法。”

其中之一:立体摄像机设备能够得到特别精确的下颌深度

Cubic Motion Solver的关键一环在于其深度学习组件。Solver从立体设备中学习,然后将信息给到Mono设备。换言之,因为有大量离线信息,Solver可以更好地理解Melina Juergens的面部表情,现场呈现也会更为精确。虽然我们可以手动优化绑定或模型,但这个Solver远非如此。该系统可以从一组数据集中“学习”,然后在现场实时展示时无需人工调整或改变面部模型,就能达到更高精度。

线下立体摄像流程允许艺术上的修正,学习的初始阶段仅使用由立体摄像机产生的非常细致的数据,这样在后面的现场环节如果有任何问题也能及时发现调整。现场版需要在没有任何协助的状态下实时运作,所以不能有任何艺术上的修正以及人工协助。

深度学习算法的关键是拥有一个很精确的经过纠正或解算出的数据训练集。为此目的,立体相机的数据经过转化或分析后进入一个模拟的mono摄像机,立体数据转换成虚拟mono摄像机数据,是学习mono模型的ground truth(地面实况,指的是用于有监督训练的训练集的分类准确性。这主要用于统计模型中验证或推翻某种研究假设。术语“ground truth”也指收集准确客观的数据用于验证的过程)。这一“模拟”数据能够纠正mono摄像机以及相匹配的面部解算器,然后跟实际现场的mono数据做1:1 的比较。

相比不使用深度学习,立体摄像机的数据能够让mono摄像机约束在更精确的位置。FACS与深度学习的结合创造出了高精度的口型同步和面部动画方案。Cubic Motion使用自己的非线型解算方法来输出一个精确的2D动态贴图,相互关联后变换成FACS空间再转化成3Lateral Rig引擎需要的数据。

这在很多方面都有意义的,后续在fxguide会着重介绍一个即将上线的的《深度学习背后的艺术》专题,这套方案为未来的发展提供了多种可能。例如,Cubic Motion可以用这个方法通过深度学习来展示肌肉模拟,肌肉模拟是很昂贵的,标记数据集也需要很多精力的投入,但是在运作时计算机实质上只是在评估决策树(或决策森林),这样可以在实时状态下实现快速的解算,同时也是非常友好的GPU方式。

 

有趣的是,Melina在现场活动时很紧张,所以她开始唱了一首简单的歌曲,这可从来没有出现在之前的立体摄像训练集中,Ninja Theory的Tameem Antoniades非常惊叹这个模型在这种情况下也能很好地模拟Melina。作为一种深度学习方法,不会局限于脚本预设的特定状态,而会更具广义性、通用性,从而可以很好地处理不同情况。

mono摄像机视图

在现场表演中,Melina戴着一个头戴式摄像机,涂抹颜色不同的口红来帮助跟踪器精确进行口型同步。她的面部有六个跟踪点。这些跟踪点实际上并不是必须的,它们更像是以防万一的“安全网”。

mono solve和头部模型

训练数据:深度学习

这个环节的关键是Cubic Motion使用的追踪器(tracker),这在训练数据和深度学习中加以运用,前面提到过,深度学习并不依赖于脚本,因为脚本只能处理模拟过的对话或是表情。训练数据定义了训练空间,在这方面,训练数据更倾向于Melina严肃状态下的表情,较少涉及抒情式的表情。

因为小样只有几分钟长度,训练数据不可能包含所有Ninja Theory可能在最终游戏中使用的情绪状态,理论上,这个解算器可以延伸到训练空间(是由训练数据来定义的)之外的,因为它是一个深度学习和传统的面部Rig的混合体,但是一旦Melina远离了训练数据中的表情范畴,相比在训练空间定义的情绪,你可能会丧失一定的保真与可信度。这一点很重要,因为一个严格的深度学习系统只能解决训练空间范畴以内的表情。

在这个项目中,Cubic Motion和3Lateral使用更多的深度学习方法来控制数字表演。

 

16fps/s的动画运行速度,没有后期处理

眼睛追踪器是实现可信的面部系统的关键技术之一,Cubic Motion的团队把深度学习应用在眼睛追踪器上,为了定制Melina的眼睛追踪器,团队针对她的眼睛做了训练样本的收集,通过精确的标记定位,将此应用到追踪器来部署现场表演。有趣的是,这在某种程度上降低了一些不定因素的影响比如轻微折射(mild refraction)等,如果训练数据有这些特点,系统也会学着在具有这些问题的情况下追踪眼睛,从而更加有效。

虽然镜面高光会影响眼睛的跟踪,但是眼睛上的光学现象基本没什么影响,Cubic Motion的CTO Steve Caulkin解释道:“这个部分是同我们应用追踪器的训练数据有异曲同工之妙,所以为了制作Melina的眼睛跟踪器,我们对她的眼睛做了100-150个训练样本,并且处理了这些训练数据以确保准确度。这些样本弥补了镜面高光,不同的照明,不同的眼皮位置,所有的眼球活动- 所有这些都可以在训练阶段找到解决方案,你完全可以对设备说- 这是一堆她的眼睛做不同事情的样本,学会如何处理这些状况吧。”

 

Cubic Motion解决方案的标准即是眼睛追踪,游戏开发者大会上的样本,跟踪器是经过调整的。Steve Caulkin补充道:“我们在有限时间内对这个眼睛追踪器做了最大程度的优化”。 眼睛追踪器是整个表演的重中之重,但是眼睛却可以比面部任何其它部分都移动的更快,这意味着我们需要格外注意,不能为了除掉抖动的数据而过滤掉一些重要的数据,从而使得整个表演很无趣呆板,Steve补充道:“你最终需要的是一个高质量,高精度的快速追踪器,而这也是我们产品的特质,我们每天工作的大部分都是在分析大量视频数据,这些对于最终的分析和制造的动画的质量至关重要,如果眼睛追踪器不精确,有抖动,那就麻烦了”。

如果眨眼能够造成眼部的模糊不清,那么追踪牙齿会变的更加困难,因为牙齿大部分时间都被嘴唇覆盖了,在游戏开发者大会开始前的离线立体追踪工作中,Cubic Motion追踪了Melina的牙齿,从而可以组建一个在对话和表演状态下的精确运动模型。团队可以筛选出Melina牙齿的重点动作- 她的嘴唇大部分时间都覆盖着牙齿,所以,对于空间位置重建来说这是一个很复杂的追踪问题,出于偶然,Cubic Motion的Gareth Edwards博士在1998年发表了活跃表面模型(Active Appearance Model-AAM),这是目前在视频和医学影像分析上最广泛应用和获得好评的方法(比如应用于微软Kinect面部追踪器)。AAM是把一个目标物体的形体和外貌的数据模型跟一个新形象相匹配的计算机视觉算法,他们都是在训练的过程中组建的,这个算法使用当前预测的外轮廓和目标形象的区别来驱动一个优化过程,这样可以快速进行图像匹配。

“在一个离线立体的情况下,如果你追踪到牙齿你就会更好地抓住下颌的位置”Caulkin解释道:“在现场展示环节,你不得不说我们没有完全一致的模型,但是我们更广泛地追踪到其他面部状况- 特别是下颌线条。”

在这个项目中,女演员的牙齿是被扫描过的,过去,3Lateral使用一个牙医上的案例,但是从那之后他们开发了一个新的嘴和牙齿扫描系统。这不仅有了更加细致的照片测量法,同时Mastilovic提到“这对于模特来说也更加舒适一些”,新的系统会通过几何学的方法来投射一个真实的模特。

为什么在现场表演环节使用Mono摄像机?

对于所有疑惑于-为什么Cubic Motion没有在游戏开发者大会上使用一对立体摄像机的读者们。”我觉得我们当初比较担心我们是否能真正抓住实时的帧速率- 如果我们不得不做一个立体影像解决方案,所以我们选择了在我们的有限时间内可以组建一个有效系统的最保险的方法。”Caulkin解释道,整个团队需要在8个周的时间内创造出一个在游戏开发者大会上使用的现场系统,Mono相机的风险很低,所以我们在更高的仿真度和保险的实施表演间做了选择和牺牲,在跟团队的探讨中,我们觉得这个样本展示会令人印象深刻但是远远不是一个最终的版本,因为在未来几年内会有更多的对于实时系统的调整,“在游戏开发者大会上我们在现场展示的质量上算是在沙地上打了个草稿,但是这也引发了很多可能性,实时的镜头预演,高吞吐量的流程,我们觉得这已经比大部分的游戏动漫(中等或是背景动漫)都要好很多了,但是我们也在不断努力,比如提高模拟环境方面,创造出一个更加一致性的虚拟世界,对于VR来说的限制是提前包装好的动漫形象。” Caulkin解释道。

接下文:深度剖析GDC2016游戏角色SENUA的实时表情捕捉系统(二)

 

本站已委托维权骑士进行维权,禁止一切形式的转载。
翻译校对难免会有纰漏,欢迎指正。
加入CG小宇宙Slack平台点击 交流