单张人像生成视频!中国团队提出最新3D人脸视频生成模型,实现SOTA( 二 )



FaceAnime的整体框架图 , PGFG网络部分
3D人脸重建和稀疏纹理映射
3D形变模型(3DMorphableModel,3DMM)用来从2D人脸图像中预测相应的3D人脸 。
【单张人像生成视频!中国团队提出最新3D人脸视频生成模型,实现SOTA】其中 , 描述3D人脸的顶点(vertex)可由一系列2D人脸中的正交基线性加权得出:
单张人像生成视频!中国团队提出最新3D人脸视频生成模型,实现SOTA

其中 , Sbar是平均脸,As是形状主成分基,as是相应的形状系数 , Aexp是表情主成分基 , aexp是对应的表情系数 。
反过来 , 3D人脸顶点也可以通过变换映射到一个2维图像平面上 , 对应的公式可以表达为:
单张人像生成视频!中国团队提出最新3D人脸视频生成模型,实现SOTA

其中 , V表示3D顶点在2维平面上的映射坐标 , ∏是固定的正交映射矩阵 , Pr是对应的旋转矩阵 , 而t为偏移向量 。
通过最小化映射landmarks和检测的landmarks之间的l2距离 , 最终可以求得3DMM中的系数 。
给定一张源人脸图像(SourceFace) , 其3D形状可以通过改变重建的3DMM系数来进行任意的修改,则目标人脸的稀疏纹理可以由修改后的3DMM系数获得 。
在人脸重定向任务中 , 修改的3DMM系数可由参考人脸视频帧得到 , 而在人脸预测任务中 , 则由LSTM模块预测得到 。
为了防止在纹理映射中 , 密集的纹理先验信息太强而导致目标动作中出现不符合期望的结果 , 因此在纹理映射过程中本文采用间隔采样即稀疏纹理映射 , 以适应不同的人脸运动变化 。
单张人像生成视频!中国团队提出最新3D人脸视频生成模型,实现SOTA

给定不同的3DMM系数所得到的不同三维人脸重建和稀疏映射的结果
不同于以往只针对某一种任务的视频生成 , 在本文中作者提出了三个不同的生成任务 , 即人脸视频重定向(Facevideoretargeting) , 视频预测(Videoprediction)以及目标驱动的视频预测(Target-drivenvideoprediction) 。
对于retargeting任务 , 作者使用参考视频来提供序列的变化信息 , 而不使用3DDP来预测 。
视频预测:
给定一个观测到的动态序列(3DMMcoefficients) , LSTM对其进行编码:
单张人像生成视频!中国团队提出最新3D人脸视频生成模型,实现SOTA

为了预测出一个合理的动作 , LSTM不得不首先学习大量的动作输入以识别在姿态序列中运动的种类以及随时间的变化 。
在训练过程中 , 未来动态序列可以由下式生成:
单张人像生成视频!中国团队提出最新3D人脸视频生成模型,实现SOTA

其中dthat表示预测得到的3DMM系数 , 其表示在时刻t的3Ddynamic 。
基于以上公式 , 模型可以从一个初始的dynamicd0学到一个合理的未来序列 。
目标驱动的视频预测:
对于LSTM来讲 , 要实现目标引导的运动生成 , 模型需要两个输入 , 即sourcedynamic和targetdynamic 。
不同于视频预测 , 作者使用了一个计时器来对targetdynamic进行重新赋权 。
整体的LSTM预测可以用公式表示为:
单张人像生成视频!中国团队提出最新3D人脸视频生成模型,实现SOTA

这里dT表示targetdynamic , T为预测长度 , 即t=0表示序列开始时间 , t=T为序列结束 。
损失函数:
给一个source人脸图像 , 作者使用2DAL模型回归出相应的3DMM系数 , 用来表示初始的3Ddynamicd0 。 之后模型通过观测d0来生成一个系数序列d1:That 。
在训练过程中 , 作者使用3DMMcoefficientloss和3Dvertexloss两个损失函数进行监督学习 。
3DMMcoefficientloss定义为预测3DMM系数和groundtruth3DMM系数之间的欧式距离: