Teaser
本文作者均来自 Pinscreen,即杀马特🧑🏻🎤教授黎颢创办的专注于真实感虚拟角色生成的人工智能公司。文章提出了一种从任意人脸图片,生成 normalized avatar (即中性表情、标准光照下的3D人脸虚拟化身)。
论文:arxiv.org/abs/2106.11423
文章的流程如下图所示,主要包含两个阶段:
Inference Stage:输入一张人脸图片,首先使用预训练的人脸识别网络 FaceNet 提取人脸面部特征,然后该面部特征通过 Identity Regressor 映射到 Synthesis Network 的隐空间向量
,Synthesis Network 从隐向量
解码出带中性表情的人脸几何和标准化(去除光照的) albedo texture。
Refinement Stage:通过优化隐向量
极小化输入图片和可微分渲染器渲染的图片之间的感知差异,以使得通过优化后的
能够生成更加逼真的 avatar。
Overview
Synthesis Network
合成 UV 空间的几何和纹理,UV map 上的每个像素表示对应顶点的 3D 位置和 RGB 颜色
,Synthesis Network 首先使用 GAN 训练来确保可以从一个正态分布隐向量
鲁棒地生成高质量的 UV map,然后固定
训练 Identity Regression Network
来确保从输入图片的身份特征到隐空间的准确映射。
Geometry & Texture Synthesis
Synthesis Network
训练好之后,再通过 GAN-inversion 算法寻找最佳的隐变量。作者采用 StyleGAN2 的解耦的和推广的隐空间
作为投影空间以得到更好的重建结果。如下图所示,作者采用优化的方法,通过极小化如下目标函数来寻找 position map 和 albedo map 的最佳嵌入:
其中
是 position map 和 albedo map 的像素
误差,
是作为感知损失的 LPIPS 距离,
是对抗损失。对于感知损失,直接在纹理图片上计算 LPIPS 距离误差会导致不稳定的结果,因此作者通过可微分渲染器,从三个固定的相机视角渲染图片,并在这些渲染的图片上计算感知损失。
Geometry & Texture Refinement
最后,Identity Regressor Network
使用求解的隐向量和其对应的输入图片的身份特征向量进行训练。
虽然已有开源的包含正脸、中性表情的人脸图片数据集,但现有数据集不算大,且不同数据集的光照条件差异较大,为了避免从互联网收集此类图片来扩充训练集,作者借助预训练的 StyleGAN2 来自动生成带中性表情的正脸图片。参考最近的 semantic face editing[2] 工作,作者训练了一个神经网络来从输入图片预测身份属性
。作者从互联网上收集人脸图片预测其
,然后作用到
上,
是隐空间的固定值,可以生成平均的正脸图片,再使用隐编辑向量
来中性化表情,最终隐向量
送入 StyleGAN2 便可以生成一个正面带中性表情的人脸图片。下图展示了一些合成的人脸图片。
Synthetic Faces
对于每一张合成的人脸图片,作者使用 light normalization[3] 得到去光照后的图片,借助 Face2Face[4] 人脸拟合算法得到人脸的几何,并投影到去光照后的图片上得到纹理图,由于人脸照片都是正脸,直接投影便可以得到高分辨率纹理。
作者使用的训练数据分为两个集合:
作者首先在高质量的 Scan Dataset 训练 Synthesis Network
,然后固定
训练 Identity Regressor
,借助训练的
预测 Normalized Face Dataset 中所有人脸图片的几何和纹理,然后使用 Face2Face 进一步优化,得到的几何和纹理再加入到
的训练集得到更高准确性和鲁棒性的网络
。
下面图 9 和图 10 分别展示了 Synthesis Network 和 Identity Regression Network 在不同数据集上训练的结果比较,可以看见加入 Normalized Face Dataset 训练能够让最终结果有更多的细节,与原图更加相似。
Synthesis Network
Regression Network
虽然上面的 Inference Stage 已经能够从输入的人脸图片预测规范化的纹理和几何,Perceptual Refinement 阶段能够在隐空间找到一个与输入图片更加匹配的隐向量。Shi 等人的工作表明,人脸识别的嵌入空间通常噪声较大且存在歧义,虽然 FaceNet 会预测一个最可能的隐向量,但方差可能会很大。对于隐向量的一个微小扰动可能对身份特征没有影响,但经过
和
之后可能导致巨大的不一致性。
对此作者提出了一种端到端的完善阶段,如上图3所示,作者使用可微分渲染器从估计的 3D 人脸渲染得到人脸图片,为了 3D 人脸能够投影到输入图片
,作者使用 ResNet-50 作为骨干网训练了一个回归网络从图片
估计相机参数
,其中
和
分别是相机的平移和旋转,
是相机的焦距。网络使用 Scan Dataset 的精确相机参数和 Normalized Face Dataset 计算的相机参数训练。为了将投影的人脸图片和输入背景融合,作者在 CelebAMask-HQ 数据集上训练了 PSPNet 网络来分割出人脸区域,然后将渲染的人脸图片
和去除了人脸的图片
融合得到图片
,最终的损失函数是
其中
是
的正则项,即变量
和网络
预测的其初始值之间的欧氏距离,使得调整的隐向量和初始值尽可能接近,
是图片
和
之间的感知损失,
是图片
和
对应的身份特征之间的余弦距离。
下图展示了文章方法和现有方法的结果对比,文章方法能够从各种表情各种光照下的人脸图片重建出中性表情下带高质量纹理的人脸模型。
Qualitative Comparison
下图展示了从一个人的不同图片重建的结果,可以发现,虽然输入图片的颜色、光照等可能存在巨大差异,但文章方法仍能得到较为一致的重建结果。
Qualitative Comparison
—— The End ——