互联网资讯 / 人工智能 · 2023年12月19日

中国团队创新:3D人脸视频生成模型实现单张人像生成视频

如何用一张人脸可以生成一段有趣的视频?

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

当然不是指这种直接贴个人头就算了的粗糙gif

人脸视频的生成通常会利用人脸图像的稀疏特征点(landMaRks)结合生成对抗网络(GAN)。

不过,这种由稀疏人脸特征点生成的人脸图像视频通常会遇到很多问题。

比如图像质量损失、图像失真、身份改变,以及表情不匹配等问题。

因此,为了解决这些问题,本文作者使用重建出的三维人脸动态信息来指导人脸视频的生成。

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

论文地址:https://ieeexploRe.ieee.oRg/abstRact/docuMent/9439899

aRXiv版本:https://aRxiv.oRg/pdf/2105.14678.pdf

三维人脸动态中,人的面部表情和动作更加细腻,可以作为有力的先验知识指导生成高度逼真的人脸视频。

文中,作者设计了一套三维动态预测和人脸视频生成模型(FACEAniMe)来预测单张人脸图像的3D动态序列。

通过稀疏纹理映射算法进一步渲染3D动态序列的皮肤细节,最后利用条件生成对抗网络引导人脸视频的生成。

实验结果显示,FACEAniMe能从单张静止的人脸图像生成高保真度、身份不变性的人脸视频,比其它方法效果更好。

背景和贡献

当前的人脸视频生成方法普遍采用人脸的稀疏特征点(landMaRks)来引导图片或视频的生成。

然而作者认为使用稀疏的二维特征点引导人脸图像/视频生成有明显的不足:

稀疏人脸特征点不能很好地表示人脸图像的几何形状,容易导致人脸整体形状和面部结构细节的缺失,进而导致合成图像的失真和质量损失; 稀疏的二维特征点不携带源人脸图像的任何内容信息,这可能会导致生成的图像过拟合于只包含训练集的人脸图像中; 在视频生成过程中应保留人脸身份信息,但稀疏的2D特征点没有身份信息,容易导致合成结果的身份变化。

因此,文章针对这些方面做出了以下贡献:

不同于广泛使用2D稀疏人脸landMaRks进行图像/视频的引导生成,文章主要探索包含人脸丰富信息的3D动态信息的人脸视频生成任务; 设计了一个三维动态预测网络(3D DynaMic PRediction,3DDP)来预测时空连续的3D动态序列; 提出了一个稀疏纹理映射算法来渲染预测的3D动态序列,并将其作为先验信息引导人脸图像/视频的生成; 文章使用随机和可控的两种方式进行视频的生成任务,验证提出方法的有效性。 方法描述

本文提出的FACEAniMe包含一个3D动态预测网络(3D DynaMic PRediction, 3DDP)和一个先验引导的人脸生成网络(PRioR-guided FACE generation, PGFG)。

首先,方法基于三维形变模型(3D MoRphable Models, 3DMM)对单张人脸图像进行三维重建,3DDP网络随后预测该图像未来的3D动态序列,之后将动态序列进行稀疏纹理映射渲染,最后使用PGFG网络完成相应的人脸生成。

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

FACEAniMe的整体框架图,3DDP网络部分

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

FACEAniMe的整体框架图,PGFG网络部分

3D人脸重建和稀疏纹理映射

3D形变模型(3D MoRphable Model, 3DMM)用来从2D人脸图像中预测相应的3D人脸。

其中,描述3D人脸的顶点(veRtex)可由一系列2D人脸中的正交基线性加权得出:

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

其中,S baR是平均脸, As是形状主成分基, as是相应的形状系数,Aexp是表情主成分基,aexp是对应的表情系数。

反过来,3D人脸顶点也可以通过变换映射到一个2维图像平面上,对应的公式可以表达为:

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

其中,V表示3D顶点在2维平面上的映射坐标,&Prod;是固定的正交映射矩阵,PR是对应的旋转矩阵,而t为偏移向量。

通过最小化映射landMaRks和检测的landMaRks之间的l2距离,最终可以求得3DMM中的系数。

给定一张源人脸图像(SouRce FACE),其3D形状可以通过改变重建的3DMM系数来进行任意的修改, 则目标人脸的稀疏纹理可以由修改后的3DMM系数获得。

在人脸重定向任务中,修改的3DMM系数可由参考人脸视频帧得到,而在人脸预测任务中,则由LSTM模块预测得到。

为了防止在纹理映射中,密集的纹理先验信息太强而导致目标动作中出现不符合期望的结果,因此在纹理映射过程中本文采用间隔采样即稀疏纹理映射,以适应不同的人脸运动变化。

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

给定不同的3DMM系数所得到的不同三维人脸重建和稀疏映射的结果

不同于以往只针对某一种任务的视频生成,在本文中作者提出了三个不同的生成任务,即人脸视频重定向(FACE video RetaRgeting),视频预测(Video pRediction)以及目标驱动的视频预测(TaRget-dRiven video pRediction)。

对于RetaRgeting任务,作者使用参考视频来提供序列的变化信息,而不使用3DDP来预测。

视频预测:

给定一个观测到的动态序列(3DMM coeFFicients),LSTM对其进行编码:

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

为了预测出一个合理的动作,LSTM不得不首先学习大量的动作输入以识别在姿态序列中运动的种类以及随时间的变化。

在训练过程中,未来动态序列可以由下式生成:

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

其中dt hat表示预测得到的3DMM系数,其表示在时刻t的3D dynaMic。

基于以上公式,模型可以从一个初始的dynaMic d0学到一个合理的未来序列。

目标驱动的视频预测:

对于LSTM来讲,要实现目标引导的运动生成,模型需要两个输入,即souRce dynaMic和taRget dynaMic。

不同于视频预测,作者使用了一个计时器来对taRget dynaMic进行重新赋权。

整体的LSTM预测可以用公式表示为:

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

这里dT表示taRget dynaMic,T为预测长度,即t=0表示序列开始时间,t=T为序列结束。

损失函数:

给一个souRce人脸图像,作者使用2DAL模型回归出相应的3DMM系数,用来表示初始的3D dynaMic d0。之后模型通过观测d0来生成一个系数序列d1:T hat。

在训练过程中,作者使用3DMM coeFFicient loSS和3D veRtex loSS两个损失函数进行监督学习。

3DMM coeFFicient loSS定义为预测3DMM 系数和gRound tRuth 3DMM系数之间的欧式距离:

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

而3D veRtex loSS定义为:

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

其中v1+t hat和v1+t分别为预测得到的系数和标准系数对应的人脸三维顶点信息。则整体的损失函数可以表述为:

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

先验引导的人脸生成:基于提出的稀疏纹理映射,souRce人脸图像被用于渲染预测的3D dynaMics。在这里,稀疏纹理作为引导人脸生成的先验信息。

文中提到的网络PGFG(PRioR-guided FACE generation NetwoRk)主要由条件GANp网络来组成。

PGFG网络的结构:

PGFG生成器G有三个输入,分别是souRce人脸Is,Is对应的纹理先验ps和pt目标的纹理先验。

在这里,作者并没有直接使用目标的纹理先验pt作为先验引导,而是使用了先验残差来引导人脸生成,在特征空间可以获得运动残差:E(pt)-E(ps)。由此可得最终人脸为:

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

为了进一步利用不同空间位置的特征信息,编码器和解码器均由Dense blocks组成。

判别器有两个输入,即目标人脸图像的纹理先验分别和生成人脸、目标人脸结合的输入[pt, IT hat],[pt, IT]。

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册