文章目录
1. 概述
虚拟角色动画一直是虚拟现实(VR)中的一个基本研究问题。面部动画在传达虚拟人的情感和态度方面起着关键作用。然而,创建这样的面部动画具有挑战性,因为目前的方法通常涉及昂贵的动作捕捉设备或需要人类动画师投入大量时间和精力来调整动画参数。在本文中,我们提出了一种整体解决方案来自动动画化虚拟人脸。在我们的解决方案中,首先训练了一个深度学习模型,通过估计混合形状系数,将输入面部图像的面部表情重定向到虚拟人脸。这种方法提供了生成不同外观和混合形状拓扑的角色动画的灵活性。
其次,我们开发了一个实用工具包,使用Unity 3D,使其兼容最流行的VR应用程序。该工具包接受图像和视频作为输入来动画化目标虚拟人脸,并允许用户操控动画结果。此外,受“人类在环”(HITL)理念的启发,我们利用用户反馈进一步提高了模型和工具包的性能,从而增加了定制化属性以适应用户偏好。整个解决方案(代码将在https://github.com/showlab/BYOC公布)有潜力加速面部动画的生成,以供VR应用使用。
2. 背景介绍
虚拟现实(VR)技术因元宇宙的流行而越来越受到关注。在构建虚拟角色时,创建生动逼真的面部动画至关重要,因为它们可以直观地传达情感和感觉,在各种VR应用中发挥着关键作用,例如增强VR游戏中的情感挑战体验。然而,便捷地创建多样化的面部动画并非易事。传统方法通常使用专用动作捕捉设备来跟踪人类演员的关键点并将其复制到虚拟角色上。工业中的方法通常涉及使用系数组合肌肉运动来创建面部动画。在这种方法中,面部表情通常被视为脸部不同肌肉运动的叠加。因此,一种称为blendshape的实用高效的面部表示法被设计出来,用于控制头像的面部表情。每个blendshape代表了与中性面部相关的一个单一动作单元。
目前,面部blendshape系数主要由人类专家获得。通过深刻理解每个blendshape的含义,人类动画师通常需要根据他们对所需面部表情的想象来确定blendshape系数。或者,他们可能使用试错方法参考所需的面部表情微调系数。这两种方式都耗时费力。最近,一些商业软件提供了基于视频或音频输入计算blendshape系数的功能。它们通常将输入信号投影到预定义的blendshape空间中,显示出令人满意的结果。然而,在更广泛的VR应用中,通常会引入外观和拓扑不同于预定义的自定义虚拟角色。据我们所知,现有解决方案在为自定义虚拟角色创建动画方面仍存在空白。为了解决这一问题,我们提出了一种综合解决方案,专门针对具有不同外观和blendshape拓扑的自定义虚拟角色自动生成面部动画。通过这样做,我们的目标是减轻人类动画师的工作负担,并扩大使用和应用的范围。
我们的解决方案的主要思路如图1所示。我们首先提出了一种深度学习模型来重新定向参考面部表情图像。通过估计能够在目标虚拟角色上复制参考面部表情的blendshape系数来实现这一目标。该模型由一个基础模型和一个适配器模型组成。基础模型负责从给定的参考图像中提取通用的3D面部参数。适配器模型旨在将通用的3D面部参数适配到特定的blendshape系数。特别地,基础模型是角色无关的,即预训练后可适用于所有角色。适配器模型是拓扑感知的,即对虚拟角色的blendshape拓扑敏感。一旦训练完成,整个模型就可以兼容不同纹理外观的虚拟角色,并且通过简单地在自动生成的数据集上微调适配器,可以快速适应具有新blendshape拓扑的虚拟角色。
然后,我们在Unity3D中开发了一个工具包,以提供一个用户友好的界面与所提出的模型结合使用,并在设计上引入用户反馈。该工具包接受视频或图像作为输入。对于视频输入,工具包将输出与视频同步的虚拟人类动画。对于图像输入,工具包通过将图像中的面部表情视为峰值强度来生成平滑的面部动画。工具包提供了用户界面来修改生成的结果,例如调整一些不满意的blendshape系数值或突出感兴趣的关键帧。此外,用户反馈将被用来进一步提高工具包和内部模型的性能。在某些关键帧上的即时反馈充当当前动画的用户偏好,可以快速应用于所有帧,加速动画生成过程。最后,评估了所提出的深度学习方法在面部动画方面的有效性,并对开发的工具包进行了功能可用性和用户体验的测试。
这项工作贡献了一种针对自定义角色的自动面部动画生成的整体解决方案,包含三部分:(1)我们提出了一种基于深度学习的方法,通过估计blendshape系数来重新定向参考面部表情。这种方法在生成具有不同外观和blendshape拓扑的角色动画方面比以前的方法更灵活,拓宽了使用范围。(2)我们开发了一个工具包,封装了所提出的深度学习方法。该工具包提供了一个实用的用户界面,用于实时调整,并利用“人类在环”来提高工具包和内部模型的性能。(3)我们评估了所提出模型的有效性和工具包的可用性,这可能为虚拟角色动画领域的未来工作提供灵感。此外,我们将公开整个解决方案的代码,以造福更广泛的使用案例。
3. 方法
3.1 方法概述
在本节中,我们提出了一种基于深度学习的方法,用于估计基于2D人脸图像的blendshape系数。方法概述如图2所示。任务可以正式描述如下:给定表示参考面部表情的2D人脸图像,该方法估计一组blendshape系数,这些系数可以在3D虚拟人类模型上再现参考面部表情。所提出的方法主要包括两个模型。首先,使用一个基础模型根据给定的人脸图像回归一组3DMM面部参数。这个3DMM面部参数可以看作是三维空间中面部的表示向量。接下来,提出了一个适配器模型,将3DMM的表情参数适配到目标blendshape系数。我们将在3.2节和3.3节分别介绍每个单独的模型。然后在3.4节介绍训练和测试的细节。
3.2 基础模型
3DMM参数包括身份、表情和纹理,以及姿势和光照等相机参数。在3DMM的参数空间内,面部的形状 S S S和纹理 T T T可以使用以下方法表示:
其中, S S S表示平均面部形状, T T T表示平均面部纹理, B id B_{\text{id}} Bid、 B exp B_{\text{exp}} Bexp和 B t B_t B