《Face-to-Parameter Translation for Game Character Auto-Creation》

paper: Face-to-Parameter Translation for Game Character Auto-Creation (thecvf.com)

code: no code

reference link: 【1】伏羲AI lab:脸部照片到脸部参数的游戏角色自动生成 论文笔记 - 知乎 (zhihu.com)

出发点

RPG游戏中捏脸的标准工作流是从配置大量面部参数开始,然后,游戏引擎将这些用户指定的参数作为输入,并生成3D人脸。也可以说游戏人脸定制是一种3DMM的特例或是一种风格迁移问题。

但遗憾的是,上述方法不能直接应用于游戏环境中。原因有三。首先,这些方法并不是用于生成参数化的角色,而这对于大多数游戏引擎来说是必不可少的,因为它们通常会接受游戏角色的定制参数,而不是图像或3D网格。其次,这些方法对用户交互不友好,因为大多数用户很难直接编辑Mesh。最后,给定一组用户指定参数的游戏引擎的渲染过程是不可微分的,这进一步限制了深度学习方法在游戏环境中的适用性。

方法简述

针对上述问题,本文提出了一种根据玩家输入的人脸照片自动生成游戏角色的方法,如图所示。

image-20220724165007254

与以往3DMM方法不同,我们的方法通过预测一组具有明确物理意义的面部参数,为骨骼驱动的模型创建三维轮廓。在我们的方法中,每个参数控制每个面部组件的一个单独属性,包括位置、方向和比例。更重要的是,我们的方法在创建结果的基础上支持额外的用户交互,玩家可以根据自己的需求进一步改进他们的形象。由于游戏引擎的渲染过程是不可微分的,我们设计了一个生成网络作为“模仿者”来模仿游戏引擎的物理行为,从而可以在神经风格传递框架下实现本文提出的方法,并使用梯度下降法优化面部参数。

贡献

1)我们提出了一种端到端的人脸参数转换和游戏角色自动生成方法。据我们所知,关于这一主题的研究工作很少。

2)由于游戏引擎的渲染过程是不可区分的,我们引入了一个模仿者,通过构建一个深度生成网络来模仿游戏引擎的行为。这样,梯度可以平滑地反向传播到输入,从而利用梯度下降法更新人脸参数。

3)为跨域人脸相似度测量设计了两个损失函数。提出的目标可以在多任务学习框架中联合优化。

方法详解

image-20220724165938954

1.Imitator

image-20220724194516986

采用类似DCGAN的结构,包含8个反卷积层,用来模拟游戏引擎从脸部参数到脸部图像的映射。然后将真实游戏引擎的渲染结果与模拟器生成的图像算L1 loss。训练用了20000对人脸图像,游戏引擎用的是逆水寒的游戏引擎。

image-20220724195638704

图4显示了我们的模仿者的“渲染”结果的三个示例。这些图像的面部参数是手动创建的。由于训练样本是根据面部参数的统一分布随机生成的,所以对于大多数人物可能看起来很奇怪(请参阅我们的补充资料)。尽管如此,我们仍然可以从图4中看到,生成的人脸图像和渲染的地面真实图像有很高的相似性,即使在一些纹理复杂的区域,如头发。这表明我们的模仿者不仅将训练数据拟合在一个低维的人脸流形中,而且还学会了解耦不同人脸参数之间的相关性。

2.Facial Similarity Measurement

alignment后的真实人脸与Imitator生成的人脸通过预训练好的识别网络算embedding间的余弦相似度。

image-20220725143108613

又采用了一个预训练好的分割网络对两张图像进行分割,在著名的Helen face语义分割数据集上训练该模型。为了提高人脸语义特征的位置敏感性,进一步使用分割结果(分类概率图)作为特征图的像素权值,构建位置敏感的内容丢失函数。通俗点应该就是针对每个部分对feature map做掩码算L1。

image-20220725144042722

image-20220725143221347