本文介绍了一个新型框架DiffusionGAN3D,旨在改善文本引导的3D域适应和生成,以及解决现有方法在这些任务中存在的问题,如 inflexibility(缺乏灵活性)、instability(不稳定性)和low fidelity(低保真度)。由于训练数据的缺乏以及处理高度多样化的几何和外观方面的挑战,这些问题变得尤为突出。
DiffusionGAN3D的创新之处在于将3D GANs(生成对抗网络)和扩散先验结合起来,以提升文本引导的3D域适应和生成。具体而言,该框架整合了预训练的3D生成模型(例如,EG3D)和文本到图像的扩散模型。前者为从文本生成稳定且高质量的头像提供了坚实的基础。而扩散模型则提供了强大的先验,并通过信息丰富的方向指导3D生成器微调,以实现灵活而高效的文本引导域适应。
为增强域适应的多样性和文本到头像生成的能力,该论文引入了相对距离损失和针对特定情况的可学习三平面。此外,还设计了一个渐进纹理细化模块,以提高上述两个任务的纹理质量。大量实验证明,所提出的框架在域适应和文本到头像任务中取得了出色的结果,从生成质量和效率方面优于现有方法。有关项目的详细信息可访问: https://younglbw.github.io/DiffusionGAN3D-homepage/
3D肖像生成和风格化在许多场景中都有广泛的应用,例如游戏、广告和电影制作。尽管大量的研究在逼真肖像生成方面取得了令人印象深刻的成果,但在生成风格化、艺术化和文本引导的3D头像方面的表现仍然令人不满,这主要是由于缺乏3D训练数据以及对高度可变几何和纹理建模的困难。
一些工作利用预训练的3D GAN生成器进行迁移学习,以实现3D风格化,这依赖于大量风格化图像和严格对齐的相机姿态进行训练。与此不同的是,另一些方法利用在特定领域上训练的现有2D-GAN来合成训练数据,并通过对抗性损失进行微调。与这些基于对抗性微调的方法不同,StyleGAN-Fusion采用了SDS(Score Distillation Sampling)损失作为文本引导2D和3D生成器适应的指导,这为域适应提供了一种简单而有效的方式。然而,它仍然存在多样性有限和文本-图像对应不佳的问题。
最近提出的分数蒸馏采样(SDS)算法在文本引导的3D生成中展现了令人印象深刻的性能。将扩散先验引入纹理和几何建模显著降低了训练成本并提供了强大的3D生成能力。然而,这也导致了一些问题,比如不现实的外观和Janus(多面)问题。在这之后,有大量工作提出了各种方法来增强生成模型的质量和稳定性。然而,生成模型的鲁棒性和视觉质量仍然远远不及当前生成的2D图像。
基于上述情况,本文提出了一个新颖的框架DiffusionGAN3D,通过结合3D生成模型和扩散先验,以提高3D域适应和文本到头像任务的性能。对于文本引导的3D域适应任务,首先利用扩散模型,并采用SDS损失对预训练的基于EG3D的模型进行微调,使用随机噪声输入和相机视图。为了解决SDS技术带来的多样性丧失问题,引入了相对距离损失。此外,设计了一种扩散引导的重建损失,以适应框架到局部编辑场景。然后,通过使用CLIP模型引导获得的固定潜在编码,对3D GAN进行微调,将框架扩展到文本到头像任务。在优化过程中,引入了一种特定案例可学习的三平面,以增强网络的生成能力。总体而言,在该框架中,扩散模型提供强大的文本-图像先验,以灵活而高效的方式指导3D生成器的域适应。反过来,3D GAN为文本到头像提供了坚实的基础,实现了稳定且高质量的头像生成。最后但同样重要的是,利用扩散模型强大的2D合成能力,提出了一个渐进纹理细化模块作为这两个任务的第二阶段,显著提高了纹理质量。大量实验证明,本文的方法在3D域适应和文本到头像任务中在生成质量和稳定性方面表现出色。
本文主要贡献如下:
通过结合3D GAN和扩散先验,并借助相对距离损失,实现了高质量和多样性的文本引导的3D域适应。
通过设计一种扩散引导的重建损失,将框架调整到局部编辑场景。
通过引入特定案例可学习的三平面,实现了高质量的文本到头像,具有优越的性能和稳定性。
提出了一种新颖的渐进纹理细化阶段,充分利用扩散模型的图像生成能力,并极大提高了上述两个任务中生成的纹理质量。
「3D GAN的域适应」 3D生成模型的进展使几何感知和姿态控制的图像生成成为可能。特别是,EG3D利用三平面作为3D表示,将StyleGAN2生成器与神经渲染整合,实现了高质量的3D形状和视角一致性图像合成,为下游应用提供了便利,如3D风格化和GAN反演。一些工作通过利用风格化的2D生成器合成训练图像或从中蒸馏知识,实现了3D域适应。相比之下,另一些工作利用强大的扩散模型在目标领域生成训练数据,并以出色的性能完成文本引导的3D域适应。尽管这些基于对抗学习的方法取得了令人印象深刻的成果,但仍然存在姿势偏见、繁琐的数据处理和巨大的计算成本等问题。最近,非对抗微调方法在文本引导的域适应中也表现出很大的潜力。尤其是,StyleGAN-Fusion采用SDS损失作为2D生成器和3D生成器适应的指导,实现了高效而灵活的文本引导的域适应,但也面临多样性有限和文本-图像对应不佳的问题。
「文本到3D生成」 近年来,文本引导的2D图像合成取得了显著进展,并为3D生成提供了基础。之前的工作,包括CLIP-forge、CLIP-Mesh和DreamFields等,利用CLIP作为指导来优化3D表示,如网格和NeRF。DreamFusion首次提出了分数蒸馏采样(SDS)损失,利用预训练的文本到图像扩散模型引导NeRF的训练。这是一项开创性工作,在文本到3D生成方面展现了巨大潜力,但也存在过饱和、过度平滑和Janus(多面)问题。随后,对DreamFusion的大量改进已被引入以解决这些问题。ProlificDreamer提出了变分分数蒸馏(VSD),产生了高保真度的纹理结果。Magic3D采用了一种粗糙到精细的策略,并利用DMTET作为3D表示,通过SDS损失实现了纹理细化。尽管取得了显著进展,其结果的外观仍然令人不满,存在噪声、缺乏细节、多视角不一致等问题。此外,这些方法仍然面临鲁棒性不足和几何不正确的问题。在头像生成方面,这些缺陷可能更加明显和不可接受。
「文本到头像生成」 为了处理从文本生成3D头像,已经提出了大量方法。Avatar-CLIP通过使用形状VAE初始化人体几何,并采用CLIP指导几何和纹理建模,为这一领域奠定了基础。DreamAvatar和AvatarCraft通过将人体参数模型SMPL与预训练的文本到图像扩散模型整合,实现了稳健的3D头像创建。DreamHuman通过引入相机缩放策略来优化6个重要身体区域的局部细节。最近,AvatarVerse和一项并行工作利用DensePose条件控制网络进行SDS引导,实现了更稳定的头像创建和姿势控制。尽管这些方法取得了相当不错的结果,但弱SDS引导仍然阻碍了它们在多视角一致性和纹理保真度方面的性能。
在本节中,将介绍DiffusionGAN3D,通过结合和利用3D GAN和扩散先验,提升3D域适应和文本到头像的性能。下图2展示了框架概述。
在介绍一些预备知识后,首先详细说明了本文在扩散引导的3D域适应中的设计,其中提出了相对距离损失来解决SDS引起的多样性丧失问题。然后,扩展了这个架构,并引入了一个特定案例可学习的三平面,以实现基于3D GAN的文本到头像。最后,设计了一个新颖的渐进纹理细化阶段,以提高上述生成的纹理的细节和真实性。
EG3D是一个领先的3D生成模型,采用三平面作为3D表示,并将StyleGAN2 生成器与神经渲染整合,实现了高质量的3D形状和姿态控制的图像合成。它由以下部分组成:(1) 映射网络,将输入噪声投影到潜在空间W;(2) 三平面生成器,使用潜在代码合成三平面;(3) 解码器,包括三平面解码器、体积渲染模块和超分辨率模块。给定一个三平面和相机姿态作为输入,解码器生成具有视角一致性的高分辨率图像。
Score Distillation Sampling (SDS) 是由DreamFusion提出的,它利用预训练的扩散模型 作为优化3D表示 θ 的先验。给定一个由可微模型 g 渲染的图像 x = g(θ),在 x 上添加噪声 ε,噪声水平为 t,得到一个带有噪声的图像 。然后,SDS损失通过最小化预测噪声 与添加的噪声 ε 之间的差异来优化 θ,表示为:
其中,y表示文本提示,表示依赖于噪声水平t的加权函数。
由于获取高质量的姿态感知数据和模型训练的困难,用于3D域适应的对抗学习方法主要受到繁琐的数据处理和模态崩溃的问题。为了解决这个问题,我们利用扩散模型并采用SDS损失,在基于EG3D的3D GAN上实现迁移学习,实现高效的3D域适应,如前面图2所示。
给定从噪声z ~ N(0,1)生成的样式代码w,通过固定的映射网络,可以使用三平面生成器和解码器依次得到三平面T和在由输入相机参数c控制的视角下渲染的图像x。然后,在x上应用SDS损失来微调网络。与DreamFusion不同,后者优化NeRF网络以实现单个对象的生成,我们通过使用随机噪声和相机姿态来移动3D生成器,以实现由文本y引导的域适应。在优化过程中,框架的所有参数都被冻结,除了三平面生成器。我们发现SDS损失提供的梯度不稳定,可能对其他训练良好的模块(例如超分辨率模块)有害。此外,冻结映射网络确保在训练期间潜在代码w位于相同的域内,这是可以利用3D生成器保持多样性的关键特征。
「相对距离损失」 SDS损失提供了扩散先验,并以高效的方式实现了文本引导的3D GAN的域适应。然而,它也带来了多样性丧失的问题,如[48]所示。为了解决这个问题,提出了方向正则化器来规范生成器的优化过程,从而在一定程度上提高了多样性。然而,这也限制了领域转移的程度,面临多样性和风格转移程度之间的平衡。为了解决这个问题,我们提出了相对距离损失。如下图3所示,考虑两个样式代码和,它们映射自两个不同的噪声和,我们使用一个冻结的三平面生成器和一个微调的三平面生成,将它们投影到原始的三平面域()和微调后的三平面域()。
注意,在该框架中,由于在训练期间冻结了映射网络,共享相同的潜在编码,应在上下文中接近。因此,对这两个样本在三平面空间中的相对距离进行建模,并将相对距离损失表示为:
在这个函数中,在原始网络的引导下,三平面空间中的样本被强制保持彼此的距离。这防止了生成器崩溃为一个固定的输出模式。注意,它仅规范了不同样本之间的相对距离,而对三平面域本身的转移没有限制。后面大量实验证明,所提出的相对距离损失有效地提高了生成的多样性,而不影响风格化程度。
「扩散引导的重建损失」 尽管SDS损失和所提出的相对距离损失的组合对于大多数域适应任务是足够的,但仍然无法处理局部编辑的情况。一个朴素的解决方案是在渲染的图像和来自冻结网络的图像之间执行重建损失。然而,这也会抑制目标区域的平移。因此,我们提出了一种特别用于局部编辑的扩散引导的重建损失,旨在在对目标区域进行3D编辑的同时保留非目标区域。我们发现,SDS损失的梯度与目标区域有一定的相关性,特别是当噪声水平t较大时,如下图4所示。
为此,本文设计了一个扩散引导的重建损失,可以表示为:
其中,γ是方程1中梯度项的绝对值,h表示特征维度的平均操作,J是具有与h输出相同空间尺寸的全1矩阵,x'表示在相同的噪声和相机参数下冻结网络的输出图像, ⊙ 表示Hadamard乘积。⊙操作的后一项可以视为一个自适应mask,指示非目标区域。与普通的重建损失相比,所提出的扩散引导的重建损失减轻了目标区域的转移限制。尽管SDS损失在单次迭代中的梯度含有许多噪声,不能作为准确的mask,但随着迭代次数的累积,它仍然可以为网络学习提供有效的指导,如上面图4所示。
可以形成用于普通域适应和局部编辑场景的损失函数,分别为 ,其中和是权重系数。
由于缺乏3D先验,大多数文本生成3D方法无法进行稳定的生成,存在Janua(多面)问题等问题。为此,我们扩展上面提出的框架,利用预训练的3D GAN作为强大的基础生成器,实现鲁棒的文本引导的3D头像生成。如前面图2所示,首先执行潜在搜索以获取在上下文上(性别、外貌等)与文本输入接近的潜在代码。具体来说,采样k个噪声,并选择一个单一的噪声,根据3D GAN合成的相应图像与提示之间的CLIP损失最好地符合文本描述。 CLIP损失进一步用于单独微调映射网络,以获得从zi得到的优化潜在代码w′。然后,在后续优化过程中,w′保持不变。
「特定案例的可学习三平面」 文本生成头像任务的一个主要挑战是如何建模高度可变的几何和纹理。引入3D GAN作为基础生成器提供了强大的先验,并极大提高了稳定性。然而,它也失去了简单NeRF网络的灵活性,显示出有限的生成能力。因此,我们引入了一个特定案例的可学习三平面来扩大网络的容量,如前面图2所示。以值0初始化,直接添加到T作为后续模块的输入。因此,网络的可训练部分现在包括三平面生成器。前者实现了稳定的转换,而后者提供了更灵活的3D表示。由于的自由度高以及SDS损失的不稳定性,仅使用SDS损失优化会引入大量噪音,导致不光滑的结果。为此,我们采用总变差损失并将其扩展到多尺度方式以规范并促使更加平滑的结果。总的来说,文本生成头像任务的损失函数可以表示为:。
值得注意的是,所提出的框架仅适用于特定类别的生成,具体取决于预训练的3D GAN,例如头部(PanoHead)和人体(AG3D)。然而,广泛的实验证明,本文的框架能够很好地适应具有大领域差距的头像生成,得益于强大的3D生成器和特定案例的可学习三平面。
SDS在几何建模方面表现出色,但也遭受与纹理相关的问题,如过饱和和过度平滑。如何利用扩散模型强大的2D生成能力来改善3D纹理?在本节中,提出了一个渐进纹理细化阶段,通过显式纹理建模,显著提高了上述结果的纹理质量,如前面图2所示。
「自适应混合模块」 鉴于第一阶段得到的隐式场,首先在均匀选择的2k + 2个方位和j个高度(出于简化考虑,我们将后续j设置为1)下执行体积渲染,获得多视图图像。然后提取这些图像的Canny图和深度图以进行后续图像平移。同时,执行Marching Cube和UV展开算法,以获得显式网格M和相应的UV坐标(在头部生成中,使用圆柱体展开以获得更好的可视化效果)。此外,设计了一个自适应混合模块,通过可微渲染将多视图渲染投影回纹理图。具体而言,如下图5所示,采用多视图重建损失和总变差损失来优化使用零初始化的纹理图。与直接实现反投影相比,所提出的自适应混合模块在不影响纹理质量的情况下,在不同图像的拼接区域产生更平滑、更自然的纹理。此优化的UV纹理用作后续纹理细化阶段的初始化。
「渐进细化」 由于已经获得了显式网格和多视图渲染,一个自然的想法是在多视图渲染上使用扩散模型进行图像到图像的优化。然而,这忽略了扩散模型无法保证不同视图之间的图像平移的一致性,这可能导致纹理不连续。为此,我们引入了渐进修复策略来解决这个问题。首先,利用预训练的文本到图像扩散模型和ControlNets来实现由提示y引导的前视图图像的图像到图像翻译,该图像是从M和渲染的。上述提取的Canny和深度被引入以确保和生成的图像之间的对齐。然后,通过将投影到,我们可以获得部分细化的纹理图。接下来,我们旋转与耦合(或更改相机视角)的网格并渲染一个新图像,然后再次使用扩散模型进行细化,获得。不同的是,在此转换中,我们在上应用带有mask 的修复,该掩码维护了细化区域,从而提高了相邻视图之间的纹理一致性。请注意,mask 表示未细化的区域,并进行膨胀以在修复中实现更平滑的结果。通过逐渐执行旋转和修复,我们设法获得一致的多视图图像,这些图像经过扩散模型的细化。最后,我们再次在细化后的图像上应用自适应混合模块,得到最终的纹理。通过在显式纹理上执行细化,所提出的阶段以高效的方式显著提高了纹理质量。
本文的框架是基于第一阶段的一个基于EG3D的模型构建的。具体来说,在PanoHead、EG3D-FFHQ和EG3D-AFHQ上实施了3D域自适应,分别用于头部、脸部和猫的生成。对于文本到Avatar的任务,PanoHead和AG3D被采用作为头部和身体生成的基础生成器。使用StableDiffusion v2.1作为我们预训练的文本到图像模型。在纹理细化阶段,使用StableDiffusion v1.5与ControlNets耦合来实现图像到图像的转换和修复。
对于3D域自适应,使用两个强大的基线进行评估:StyleGAN-NADA* 和StyleGAN-Fusion,用于3D GAN的文本引导域自适应,其中表示将该方法扩展到3D模型。为了公平比较,对所有方法使用相同的提示作为引导。此外,不同方法的可视化结果是从相同的随机噪声中采样的。如下图6所示,StyleGAN-NADA对于EG3D的朴素扩展在多样性和图像质量方面效果较差。StyleGAN-Fusion实现了体面的3D域自适应,并展示了一定的多样性。然而,StyleGAN-Fusion的提出的正则化器也阻碍了自身进行大间隙领域转移,导致在程度和多样性之间存在权衡。如下图6所示,StyleGAN-Fusion生成的面部缺乏多样性和细节,头发和衣服缺乏足够的风格化。相比之下,本文的方法在多样性、图像质量和文本图像对应方面表现卓越。
对于文本到Avatar的任务,我们与几种通用文本到3D方法(DreamFusion、ProlificDreamer、Magic-3D)和Avatar生成方法(DreamAvatar、DreamHuman、AvatarVerse)进行了定性比较。前三种方法使用官方代码实施,其余方法的结果直接从其项目页面获得。如下图7所示,DreamFusion在Avatar生成方面表现不佳,存在过度饱和、Janus(多面)问题和不正确的身体部位。
ProlificDreamer和Magic-3D在某种程度上提高了纹理保真度,但仍然面临不准确和不平滑几何的问题。利用从SMPL模型或DensePose获得的人类先验知识,这些文本到Avatar方法实现了稳定且高质量的Avatar生成。然而,由于SDS损失在优化过程中需要较高的CFG 值,因此它们的结果的纹理保真度和真实性仍然令人不满。相比之下,我们所提出的方法同时实现了稳定和高保真的Avatar生成,充分利用了3D GANs和扩散先验。
通过FID比较和用户研究对上述基线和我们的方法进行了3D域自适应的定量评估。具体而言,所有方法都被用于在EG3D-face和EG3D-cat上执行域自适应,分别使用四个文本提示。对于每个文本提示,我们利用文本到图像扩散模型生成具有不同随机种子的2000张图像,作为FID计算的基准。在用户研究中,邀请了12名志愿者,根据文本-图像对应性、图像质量和多样性三个维度,为每个微调模型评分,评分范围为1到5。如下表1所示,所提出的方法的FID分数低于其他基线,这表明其具有更高的图像保真度。同时,用户研究表明,我们的方法在图像质量和多样性方面优于其他两种方法。
对于文本到Avatar,还进行了用户研究进行定量比较。由于AvatarVerse和DreamAvatar尚未发布其代码,而DreamHuman在项目页面上提供了丰富的结果。因此,将我们的方法与DreamHuman进行全身生成的比较。此外,DreamFusion、ProlificDreamer和Magic3D都参与了头部(10个提示)和全身(10个提示)生成的比较。我们要求12名志愿者根据纹理和几何质量为他们最喜欢的结果投票,其中所有结果都以渲染的旋转视频形式呈现。下表2中呈现的最终得分显示,所提出的方法在与其他方法的比较中表现得更有利。
在渐进纹理细化方面。由于我们在头部纹理细化中使用了圆柱展开,一个简单的想法是直接在UV纹理上进行图像到图像的操作以进行细化。然而,下图8(b)中的结果显示,这种方法往往会产生不对齐的纹理,更不用说应用于碎片化的纹理映射了。我们还尝试用图像到图像的翻译替换所有的修复操作,下图8(c)中的结果显示,这将导致不连续性问题。我们还比较了文献[49]中提出的优化策略,其中纹理通过在随机渲染的图像和相应的图像到图像结果之间使用均方误差(MSE)损失进行逐步优化。下图8(d)中的结果显示,它无法生成高频细节。图8中(e)和(f)的比较证明了所提出的自适应混合模块(ABM)在平滑纹理拼接区域方面的有效性。相比之下,所提出的渐进纹理细化策略显著提高了纹理质量。
对于相对距离损失。如下图9所示,如果仅使用SDS损失进行域自适应,生成器会倾向于崩溃到一个固定的输出模式,失去其原始多样性。相比之下,所提出的相对距离损失有效地保留了生成器的多样性,而不损失风格化程度。
对于扩散引导的重构损失。下图10中的结果显示,SDS损失往往执行全局转移。常规的重构损失有助于保持整体结构,但也抑制了目标区域的转移。相比之下,使用我们的扩散引导重构损失训练的模型实现了适当的编辑。
「额外可学习的三面体」。为了证明所提出的特定可学习三面体的必要性,我们在没有添加它的情况下使用SDS损失微调网络,给出一个具有挑战性的提示:“塞尔达传说中的林克”。下图11的第一行中的结果显示,网络在正确的方向上进行了优化,但未能达到精确的点。相比之下,添加了可学习的三面体的网络展示了准确的生成(下图11的第二行)。此外,引入的三面体的多尺度总变差损失Lmstv有助于更平滑的结果。
由于页面的限制,将在补充材料中介绍DiffusionGAN3D在真实图像上的应用,并具体说明我们方法的局限性。
本文提出了一种新颖的两阶段框架DiffusionGAN3D,通过结合3D GANs和扩散先验来提升文本引导的3D域自适应和头像生成。具体来说,将预训练的3D生成模型(例如EG3D)与文本到图像扩散模型相结合。在我们的框架中,前者为文本到头像奠定了坚实的基础,实现了稳定且高质量的3D头像生成。与此同时,后者为3D GANs的演变提供了信息方向,从而以高效的方式促进了3D GANs的文本引导域自适应。此外,我们引入了一个渐进纹理细化阶段,显著提升了生成结果的纹理质量。大量实验证明,所提出的框架在域自适应和文本到头像任务中均取得了优异的结果,在生成质量和效率方面优于现有方法。
[1] DiffusionGAN3D: Boosting Text-guided 3D Generation and Domain Adaption by Combining 3D GANs and Diffusion Priors
论文链接:https://arxiv.org/pdf/2312.16837
多精彩内容,请关注公众号:AI生成未来