1. 引言
具有高保真纹理的3D人脸在许多领域被广泛应用,如人脸识别[1] [2]、面部动画[3] [4]、面部重演[5] [6]、智能医疗[7]等。然而,由于缺乏足够的先验信息,从单张2D人脸图像重建高保真的3D人脸纹理仍然是一个具有挑战性的问题。传统上,三维人脸纹理通常通过回归3DMM (3D Morphable Model)系数来获取[8]。然而,这种方法只能概括性地描述纹理的整体特征,难以细致地恢复个性化的纹理细节和光照效果。
为了克服这些局限性,研究人员开始关注超越3DMM系数的UV纹理图生成任务。UV纹理图能够提供更加精细的3D纹理细节,并更好地反映个体特征和环境光照。现有基于生成对抗网络(GAN)的方法已经取得了显著的结果[9]-[11],然而GAN训练过程中的不稳定性和使用合成数据训练带来的偏差问题会极大地影响其生成精细细节的能力。最近,成等人[12]提出了一种基于扩散模型的UV纹理生成方法,其在恢复光照信息和纹理颜色方面取得了较为逼真的效果,但是却仍然无法恢复中高频细节信息,例如法令纹和鱼尾纹等。
究其原因,我们发现由于真实UV纹理数据集的匮乏,大多数模型依赖于合成UV纹理数据进行训练,而这些合成数据缺乏真实纹理的监督,导致模型无法准确学习到真实UV纹理的细节分布,从而在生成过程中出现纹理失真和细节缺失的问题。我们认为在没有真实标签监督的情况下,利用原始图片空间中真实的细节纹理分布来引导UV空间中UV纹理图的生成,能在一定程度上缓解仅使用合成UV纹理图训练模型所带来的个性化细节缺失问题。此外,鉴于扩散模型在图像生成任务中展现出的卓越性能,我们设计了一种跨域引导扩散模型。该模型将空间域和频率域中的细节信息编码为高级语义条件,用于引导模型的扩散过程,从而实现近乎精确的纹理重建。最后,我们将预训练好的跨域引导扩散模型作为UV纹理生成器,嵌入到FFHQ-UV三维重建框架中[11],用于高保真3D人脸纹理的重建。
我们的主要贡献如下:
(1) 我们使用原始图片空间中的真实纹理分布来引导UV空间中UV纹理图的生成,并提出两阶段训练方式,缓解了仅使用合成UV纹理数据集训练模型时带来的个性化细节缺失问题。
(2) 引入跨域细节先验特征,将空间域中的像素级信息和频域中不同方向的高频细节信息编码为高级语义条件,用来引导去噪扩散隐式模型(ddim)捕获并重建出更加精细的纹理细节。
2. 相关工作
在三维人脸纹理生成领域,国内外学者进行了广泛的研究。Deep3d使用编码器回归3DMM (3D Morphable Model)系数来恢复三维人脸纹理[8],但是由于低维参数空间的限制,这种方法只能概括性地描述纹理的整体特征,难以细致地恢复个性化的纹理细节和光照效果。Lee等人提出了一种不确定性感知的编码器和一个结合图卷积神经网络与生成对抗网络的全非线性解码器,以有效地重建高质量的3D人脸形状和纹理[9]。Rai等人提出了一种3D可控生成式人脸模型,通过结合2D生成模型与语义人脸操作,利用可微渲染技术在无3D监督下训练高质量的反照率和精确的3D形状,实现了细节丰富的3D人脸渲染编辑[10]。Bai等人利用StyleGAN实现了多视角标准化人脸图像生成,经过精细化的UV纹理提取、校正和补全过程,生成了高质量的UV映射,并且构建了一个包含超过50,000个高质量纹理UV映射的大规模面部UV纹理数据集[11]。成浩等人提出了一种基于扩散模型的UV纹理生成方法,实现了较为逼真的环境光照信息和颜色信息[12]。
综合来看,虽然已有的研究在颜色和光照的恢复方面取得了一定的成果,但在高保真3D人脸纹理生成,尤其是中高频细节的捕捉方面,依然存在较大的提升空间。因此,本文设计了一款跨域引导扩散模型,专注于从单张2D人脸图像重建高保真的3D人脸纹理,并且取得了具有竞争力的结果。
3. 整体设计
3.1. 模型架构
Figure 1. The architecture of cross-domain guided diffusion model
图1. 跨域引导扩散模型架构
本文提出了一种跨域引导扩散模型,用来从单张野外图片生成具有高保真度的UV纹理图,并将模型嵌入到FFHQ-UV框架中,以重建高保真3D人脸纹理。由图1可知,我们主要解决了两个关键问题:1) 使用原始图片空间中的真实纹理分布来引导UV空间中UV纹理图的生成,具体的实现方法是设计了一种两阶段训练方式,分别使用原始图片空间中的人脸图片和UV纹理图训练模型,缓解了仅使用合成UV纹理数据集训练模型时带来的个性化细节缺失问题;具体来讲,我们在第一阶段使用原始图像空间中的人脸数据集训练模型,使模型学习到纹理的真实分布,增强模型捕获个性化细节特征的能力;由于第一阶段中模型已经学习到了真实纹理的分布情况,那么在第二阶段中,我们冻结了大部分参数,然后使用UV空间中的UV纹理数据集训练剩余参数,使模型进一步拟合三维人脸的拓扑结构,以更好的适应现阶段的任务。2) 引入跨域细节先验特征,将空间域中的像素级信息和频域中不同方向的高频细节信息编码为高级语义条件,用来引导扩散模型捕获并重建出更加精细的纹理细节;即将空间域中的原始图片和经过小波分解后的频域信息作为显式的细节引导,并经过encoder编码为语义信息作为引导扩散的条件先验,其中空间域中的原始图片提供了像素级别的语义信息,在频率域中我们引入中高频细节语义信息以实现精细细节的扩散引导。下面将详细介绍所提出的解决方法。
3.2. 基于原始图片域中真实纹理引导的UV纹理生成
现有开源UV纹理数据集大多是学者们使用模型人为创造出来的,由于缺少真实标签的监督其与真实UV纹理相比必然存在较大的误差,从而导致模型学习到错误的纹理分布。例如成等人[12],仅使用人造UV纹理数据集训练扩散模型,使得模型无法捕捉到真实纹理中的细微差异,导致模型生成的结果缺乏个性化细节。基于以上观察,我们提出使用原始图片空间中的细节纹理来引导UV空间中UV纹理图的生成,并设计了一种两阶段的训练方式,分别在原始人脸数据集和合成的UV纹理数据集中学习真实纹理的非线性分布以及对应拓扑结构下UV纹理图的整体分布。具体来讲,在第一阶段我们借鉴diffae [13]构建了一个自动编码器,并在FFHQ人脸数据集[14]下进行训练,然后将原始图片编码为512维度的语义向量
,并将其作为扩散先验条件与随机采样得到的噪声图
一起输入去噪扩散隐式模型(ddim) [15]执行逆向去噪过程,进而生成由语义向量
引导生成的人脸图片。我们的条件DDIM解码器接受
输入
以生成输出图像,它通过以下逆向(生成)过程建模
,具体的参数设置和公式推导请参考diffae [13]:
(1)
Figure 2. The architecture of cascaded dilated convolutional network
图2. 不同训练策略下生成的UV纹理图之间的比较
然后我们将训练好的ddim嵌入到FFHQ-UV框架中作为UV纹理生成器得到结果图2(b),我们惊奇的发现虽然生成的结果无法很好的拟合三维人脸的UV拓扑结构,但是却能捕捉并生成更为精细且个性化的细节特征,且这种细节特征与仅使用人造UV纹理数据训练的UV纹理生成器所得到的结果(图2(c))相比具有明显的优越性。鉴于以上实验结果的观察,我们引入了第二阶段的训练。具体来讲,我们冻结第一阶段中的部分参数,并使用人造UV纹理数据集训练剩余的参数,以期在保留模型生成精细细节的同时进一步拟合对应三维人脸拓扑结构下的UV纹理分布。最终结果如图2(d)所示,其既保留了捕捉和生成精细纹理的能力又能较好的拟合三维人脸的UV拓扑结构,有效的证明了原始图片空间中的细节纹理能较好的引导UV空间中精细纹理的生成。
3.3. 跨域细节先验引导扩散的UV纹理生成
Figure 3. Visual effects comparison
图3. 视觉效果比较
由于训练资源和可用数据集的限制,我们无法使用较高分辨率(例如1024*1024或者512*512)的数据集训练所提出的模型,导致模型无法很好的捕捉和生成中高频纹理细节,这极大的影响了UV纹理图的保真度,所以需要输入更多的中高频细节特征增强模型对精细细节的敏感度。我们设计了一种跨域信息提取模块,可提取不同目标域(空间域和频域)中的细节特征,进而引导更加精细的细节生成。如图1所示,基于空间域中像素级信息的引导,我们将图片输入到encoder中,并将其编码为512维度的语义向量
。基于频率域中不同方向高频细节信息的引导,我们将小波变换嵌入网络结构,并提取三个方向的高频子图作为高频细节信息,并且使用sumpooling将三个高频子图融合为原始高频信息,然后我们使用encoder将其编码为512维度的语义向量
。对于提取到的细节语义信息
和
,我们将其作为扩散先验条件与随机采样得到的噪声图
一起输入ddim执行逆向去噪过程,进而生成由跨域细节先验引
导生成的高保真UV纹理图。我们的条件DDIM解码器接受输(
以生成输出图像,它通过以下逆向(生成)过程建模
,具体的参数设置和公式推导请参考diffae [13]:
(2)
4. 实验设计与验证
4.1. 实施细节
Figure 4. Visual effects comparison
图4. 视觉效果比较
我们的模型在两个公共数据集上进行了训练,分别为原始图片域中的2D人脸图片数据集FFHQ [14]和基于此数据集人为合成的UV空间中的UV面部纹理数据集FFHQ-UV [11]。其中,第一阶段使用FFHQ数据集进行训练,将其中80%的数据作为训练集,其余作为测试集便于后续测试实验结果,我们采用和diffae相同的参数设置,batch_size为16,时间步长设置为T = 15,epoch为1000,学习率为0.1,采用ADAM优化器进行优化;第二阶段使用FFHQ-UV数据集进行训练,为了尽可能保留模型对精细细节的捕捉和生成能力,我们冻结部分参数后继续训练,并且降低了迭代次数,此时的epoch设置为100,其他参数不变。我们所有的训练过程均在配备了NVIDIA 3090 GPU的计算机上进行。
4.2. 定性分析
我们将所提出的方法与目前最先进的方法进行了比较,包括 FFHQ-UV [11]和成等人提出的最新工作[12]。为了进行公平的比较,我们使用了他们公开发布的模型和代码,并在FFHQ测试集上进行了实验。图3和图4展示了基于单张2D人脸图像重建的3D人脸纹理的比较结果。在图3中,a为原始人脸图片,d为使用本文方法的重建结果,其中d3为生成的UV纹理图,d2为渲染后的三维人脸,d1为将渲染后的三维人脸投影到二维图片中的结果展示,用于和原始输入图片进行更为直观的视觉对比。由图可以得出,我们的方法相较于FFHQ-UV (图3b)和成等人的方法(图3c),显著的捕捉和生成了具有中高频细节的UV纹理图和3D面部纹理,特别是在恢复一些精细细节方面,我们的方法明显优于现有的SOTA方法。另外,由于引入了高频细节特征,我们的模型增强了对高光信息等高频细节的感知能力,使得我们的模型生成了更加逼真的光照效果,例如图4第四行中d1和d2的额头部分,我们的结果更加接近输入图像中的光照结果。
4.3. 定量分析
为了评价人脸纹理的重建精度,我们使用SSIM [16]、PSNR和LPIPS [17]作为评价指标,与最先进的方法进行比较。为了进行公平的比较,我们在FFHQ测试集中随机挑选出300张无遮挡的人脸图片用于定量评估,并使用其公开发布的模型和代码计算相关分数。表1展示了在FFHQ测试集上进行纹理重建的定量比较结果。可以观察到,我们的方法在所有指标中均处于领先地位,这进一步证明了所提方法在高保真3D面部纹理生成方面的优越性能。
Table 1. Comparison of the proposed model with other methods
表1. 所提出的模型与其他方法对比
Method |
SSIM ↑ |
PSNR ↑ |
LPIPS ↓ |
FFHQ-UV (CVPR 2023) |
0.8892 |
34.7146 |
0.0441 |
Cheng等(2024) |
0.9320 |
36.4925 |
0.0368 |
Ours |
0.9412 |
37.1963 |
0.0287 |
5. 总结
本文提出了一种基于跨域引导扩散模型的高保真3D人脸纹理生成方法。通过在空间域和频率域中利用细节信息,模型在生成中高频纹理细节方面表现出色。利用原始图片域中的真实纹理分布来引导UV纹理生成,并结合两阶段训练策略,有效缓解了合成UV纹理图时个性化细节缺失的问题。实验结果显示,该方法在定量和定性分析中均优于现有方法,尤其是在纹理细节和光照恢复方面表现突出。
受到扩散模型固有局限性的影响,本文所提方法的生成速度较慢,因此我们计划进一步优化模型的效率,并探索更多的细节恢复策略,以提高3D人脸纹理重建的质量和应用范围。
NOTES
*通讯作者。