重要信息 需要注意 已有论文
本文章涉及GAN和NeRF的相关知识点,如果不了解的话需要自行学习,文章最后给出了参考文献
目录
3.3 Texture Encoding Module(TEM)
3.4 Identity-specific modulation (ISM)
1.简介
虽然这篇论文叫做MoFaNeRF,但在我看来更像是以NeRF作为生成器,训练了一个三维一致的人脸GAN,并且其对appearance、shape和expression进行了解耦,因此可以实现人脸编辑,rigging、属性插值等应用。该论文自称是第一个基于NeRF的人脸参数化模型
2.背景介绍
3D人脸建模是一个很重要的视觉任务,其可用于数字人、电影特效等领域中,如何从一张图片中重建出人脸三维模型,以及实现更进一步的编辑、解耦等任务,是一个具有挑战性和深远意义的问题。
传统方法中最常用到的方法是3DMM,其通过形状和纹理参数便可得到相应的人脸模型,并且通过对这些参数进行插值可以实现属性插值以及人脸编辑等操作。图1展示了3DMM属性插值结果,其中average是通过若干张人脸得到的平均脸模型,将其形状参数S和纹理参数T均定义为0,prototype是一个原型脸,将其参数均定义为+1,通过对不同参数进行插值,便可得到对应的属性插值结果。
虽然3DMM对人脸的编辑能力很强,但其缺少精确的渲染管道,因此难以生成真实的人脸图像,并且其也无法处理非兰伯特的物体,比如说瞳孔和胡须。
近年来,由于NeRF模型在新视角生成任务上取得了非常惊艳的结果,不少人尝试将NeRF用在GAN网络(GRAF,pi-GAN和VolumeGAN)以及动态人脸建模任务(Nerfies和HyperNeRF)中,这些方法在生成图像质量上取得了不错的结果,但其难以对生成图像进行编辑。
MoFaNeRF基于GAN的框架,结合3DMM和NeRF,其可以生成真实的图像,并且该生成过程对于appearance(肤色、嘴唇、瞳孔以及一些细粒度的外貌特征等)、shape(脸部形状,没啥好说的)和expression(表情,其实也就是对鼻子、嘴巴等的变形和移动)进行解耦(后面会讲如何实现以及解耦结果的展示)。
3.方法实现
3.1 训练数据
首先明确一下训练数据:FaceScape,该数据集包括359个人的3D人脸,每个人脸有20种表情,即总共7180个样本,在本论文中,对每个样本120个不同角度的图像进行渲染,作为GT image,对于每个image,提供其app,shape和exp参数以及其pose信息。由于输入的参数是解耦好的,因此本模型自然也是解耦的。
3.2 总体框架
图2是该模型的总体框架,其中红线圈中的地方就是原始的NeRF(这个比较复杂,简而言之就是训练一个网络,该网络的输入是空间点位置以及视角方向,输出是这个点的颜色和密度,因此,对于图像的每个像素点,可以从相机方向射出一条光线,用训练好的网络查询光线上若干空间点的颜色值,再通过其密度值进行加权,最终得到该像素点的颜色),左边的MoFaNeRF只是在NeRF的基础上加了app,shape和exp三个输入,并且这些输入需要经过TEM和ISM模块。对于右边的RefinNet,输入的是NeRF输出的图像,输出得到的是优化过的Fine Result。
3.3 Texture Encoding Module(TEM)
FaceScape数据集除了提供app参数外,也提供 了UV纹理图,而MoFaNeRF的作者认为利用纹理图可以提供更丰富的信息,因此在训练阶段使用TEM将纹理图映射为app,其网络参数如图3,也就是一些简单地卷积核和线性层的堆叠。值得注意的是,由于TEM的存在,在测试阶段可以直接通过编辑纹理图对生成图像的app进行编辑。
3.4 Identity-specific modulation (ISM)
直觉来讲,每个人的 表情肯定是不一样的,但作者发现如果直接将exp输入网络的话,输出的人脸表情都趋于一致,即关于exp的风格在训练过程中被擦除了。受到StyleGAN中AdaIN的启发,作者将表情看作shape和exp的调制(Modulation)关系,其数学表达如下:
其中是更新后的exp参数 ,M是MLP,s和b分别表示scale和bias,与StyleGAN中的AdaIN一致。
3.5 RefineNet
作者指出,基于MLP的方法难以记忆大尺度的面部细节,因此MoFaNeRF的输出结果是一个粗糙的结果,为了对细节进行进一步优化,作者利用Pixel2PixelHD进行后处理,其输入是MoFaNeRF的输出图像,输出优化后的、具有细节信息的图像,其损失函数是GAN损失和感知损失。
3.6 训练细节
采样策略:除了在光线上进行均匀采样外,MoFaNeRF在眼睛、鼻子等地方的64个关键点(在FaceScape数据集中提供)附近进行重要性采样。均匀采样和重要性采样的比例为2:3。
损失函数:以GT image作为监督,对coarse result和refine result都计算L2损失
训练技巧:在训练过程中,exp和app是可更新的,而shape保持固定。先训练MoFaNeRF,然后将其固定,训练RefineNet。
4.结果与应用
4.1 图像生成
图4展示了用随机向量输入MoFaNeRF生成的图像结果,而图5为属性插值结果。
4.2 图像拟合(fitting)
图像拟合指的是用训练好的网络,使其输出的图像拟合给定的图像,其流程如图6所示,结果如图7所示。
不同方法拟合结果的比较如表1所示,值得注意的是,加了RefineNet后PSNR和SSIM都有所下降,这可能是因为RefineNet利用GANl损失和感知损失作为监督,其注重的是图像真实性,而不是与原始图像的一致性。
4.3人脸绑定(rigging)与编辑
rigging指的是对人脸表情进行操纵,其实现是通过修改exp参数实现的,该参数既可以手动设定,也可以在视频中通过fitting得到。
编辑是通过改变shape和app参数对人脸特征进行编辑。
5.参考文献
MoFaNeRF: Morphable Facial Neural Radiance Field
A morphable model for the synthesis of 3D faces
FaceScape: a Large-scale High Quality 3D Face Dataset and Detailed Riggable 3D Face Prediction
NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs
A style-based generator architecture for generative adversarial networks