题目: Single-Stage Diffusion NeRF: A Unified Approach to 3D Generation and Reconstruction 来源:ICCV 2023 作者:Chen H, Gu J, Chen A, et al. 项目主页:https://lakonik.github.io/ssdnerf/ 内容整理:高弈杰 论文提出了一种名为SSDNeRF的统一方法,旨在通过表达性的扩散模型从多视图图像中学习神经辐射场(NeRF)的泛化先验。文章提出了一个新的单阶段训练范式,通过端到端的目标同时优化NeRF自解码器和潜在扩散模型,即使是从稀疏视图中也能进行3D重建和先验学习。SSDNeRF在无条件生成和单视图/稀疏视图3D重建方面展示了与领先的任务特定方法相当或更优的鲁棒结果。
在计算机视觉和图形领域,由于神经渲染和生成模型的进步,三维视觉内容的合成引起了显著关注。尽管出现了许多处理单个任务的方法,例如单视图/多视图三维重建和三维内容生成,但开发一个综合框架来整合多个任务的最新技术仍然是一个主要挑战。例如,神经辐射场(NeRF)在通过每个场景的拟合解决逆向渲染问题方面展示了令人印象深刻的新视图合成结果,这适用于密集视图输入,但难以泛化到稀疏观察。相比之下,许多稀疏视图三维重建方法依赖于前馈图像到三维编码器,但它们无法处理遮挡区域的不确定性并生成清晰的图像。在无条件生成方面,三维感知的生成对抗网络(GAN)在使用单图像鉴别器方面部分受限,这些鉴别器无法推理跨视图关系以有效地从多视图数据中学习。 在这篇论文中,作者通过开发一个全面模型来从多视图图像中学习可泛化的三维先验,提出了一种统一的方法来处理各种三维任务。受到二维扩散模型成功的启发,论文提出了单阶段扩散NeRF(SSDNeRF),它使用三维潜在扩散模型(LDM)来模拟场景潜在代码的生成先验。 虽然类似的LDM已经应用于之前工作中的二维和三维生成,但它们通常需要两阶段训练,其中第一阶段在没有扩散模型的情况下预训练变分自编码器(VAE)或自解码器。然而,在扩散NeRF的情况下,作者认为两阶段训练由于逆向渲染的不确定性特性,特别是在从稀疏视图数据训练时,会在潜在代码中引入噪声模式和伪影,这阻碍了扩散模型有效地学习清晰的潜在流形。为了解决这个问题,论文引入了一种新的单阶段训练范式,使扩散和NeRF权重的端到端学习成为可能。这种方法将生成和渲染偏差协调地融合在一起,整体上提高了性能,并允许在稀疏视图数据上进行训练。此外,论文展示了无条件扩散模型学习到的三维先验可以在测试时从任意观察中灵活地采样用于三维重建。 论文在多个类别单一对象场景的数据集上评估了SSDNeRF,整体展示了强大的性能。论文的方法代表了朝着各种三维任务统一框架的重要一步。总结来说,论文的主要贡献如下:
生成对抗网络框架已经成功地适用于3D生成,方法是将基于投影的渲染整合进生成器中。以前已经探索了各种3D表示方式,包括早期作品中的点云、长方体、球体和体素,最近的辐射场和具有体积渲染器的特征场,以及具有网格渲染器的可微分表面。上述方法都是用2D图像鉴别器训练的,这些鉴别器无法推理跨视图关系,使得它们严重依赖模型偏见来保持3D一致性。结果是,无法有效地利用多视图数据来学习复杂和多样的几何形状。3D GANs主要应用于无条件生成。尽管通过GAN反演可以实现从图像到3D完成,但由于潜在表达力有限,如文献所示,真实性并不保证。
稀疏视图的三维重建可以通过从输入图像中回归新视图来解决。已经提出了各种架构,用于将图像编码成体积特征,这些特征可以通过体积渲染投影到受监督的目标视图。然而,这些方法无法处理不确定性并生成多样且有意义的内容,这通常会导致模糊的结果。与之相反,基于图像的生成模型在合成不同内容方面表现更佳。3DiM提出了从基于视图的图像扩散模型生成新视图的方法,但该模型缺乏三维一致性偏见。将基于图像的二维扩散模型的先验知识蒸馏到NeRFs中以强制实施三维约束。这些方法与论文的研究方向平行,因为它们在图像空间中模拟跨视图关系,而本论文的模型本质上是三维的。
NeRF的每个场景拟合方案可以通过在所有场景中共享部分参数来泛化为多场景拟合,其余部分作为单独的场景代码。因此,多场景NeRF可以作为自解码器进行训练,其中代码库和共享解码器权重是共同学习的。通过适当的架构,场景代码可以被视为具有高斯先验的潜变量,允许三维完成甚至生成。然而,像3D GANs一样,这些潜变量对于忠实重建细节对象来说不够表现力。利用潜在的扩散先验改进了普通自解码器,DiffRF利用扩散先验进行3D完成。
为了构建一个统一三维生成和重建的全面模型,论文提出了SSDNeRF,这是一个将富有表现力的三平面NeRF自解码器与三平面潜在扩散模型结合在一起的框架。下图提供了该模型的概览。在接下来的小节中,将详细阐述如何进行训练和测试。
图 1
在论文中提到的自解码器可以被视为一种变分自编码器,它使用查找表编码器(lookup table encoder)代替典型的神经网络编码器。因此,训练目标可以类似于VAE的方式推导出来。使用NeRF解码器
和扩散潜在先验
,训练目标是最小化观测数据
的负对数似然(NLL)的变分上界。在这篇论文中,通过忽略潜在代码中的不确定性(方差),导出了一个简化的训练损失,即:
其中场景代码
,先验参数
和解码器参数
是在单一训练阶段中共同优化的。这个损失函数由
和以负对数似然(NLL)形式的扩散先验项组成。论文用其近似上界
替换了扩散NLL。这种技术也被称为得分蒸馏。加上经验性的加权因子,最终确定了的训练目标为:
单阶段训练使用损失函数中的两个项来约束场景代码
,允许学习到的先验完成渲染未见部分。这对于在稀疏视图数据上的训练特别有益,因为在这种情况下,表现力强的三平面代码是严重不确定的。
平衡渲染与先验权重
在单阶段训练中,渲染到先验权重比例
至关重要。为了使超参数更具泛化性,适应不同的设置,论文设计了一种经验性的加权机制,在这种机制中,扩散损失通过场景代码的Frobenius范数的指数移动平均(EMA)进行归一化,表示为
其中
是一个常数比例,渲染权重则由可用视图的数量
决定,表示为
其中
也是一个常数比例。直观地说,基于
的加权是对解码器
中射线独立假设的校准,以防止渲染损失随射线数量线性增长。
与两阶段生成神经场的比较
之前的两阶段方法在训练自解码器的第一阶段忽略了先验项
。这可以被视为将渲染到先验的权重比
设置为无限大,导致偏见和噪声的场景代码
。 Shue等人通过对三平面场景代码施加总变异(TV)正则化来部分缓解这个问题,以强制实施平滑先验,这类似于对潜在空间的LDM约束。 Control3Diff 提出学习一个条件扩散模型,基于由在单视图图像上预训练的3D GAN生成的数据。与之相反,论文的单阶段训练旨在直接结合扩散先验,以促进端到端的一致性。
为了实现从单视图到密集观测的广泛覆盖范围的可泛化的测试时NeRF重建,论文提出进行图像引导采样,然后考虑扩散先验和渲染似然对采样的代码进行微调。遵循Ho等人的重建引导采样方法,论文计算关于噪声代码
的近似渲染梯度g,定义为
其中
,是基于信噪比(SNR)的额外加权因子,论文的工作中选择的超参数
为 0.5 或 0.25。引导梯度g然后与无条件得分预测结合,表现为对去噪输出
的校正:
其中引导比例为
。论文采用预测器-校正器采样器,通过交替使用DDIM步骤和多个Langevin校正步骤来求解
。观察到,仅仅依靠重建引导并不能严格执行渲染约束以实现忠实重建。为了解决这个问题,微调微调采样的场景代码
,同时冻结扩散和解码器参数:
其中
是测试时的先验权重,论文发现为了获得最佳结果,它应该低于训练权重
,因为从训练数据集学习到的先验在转移到不同的测试数据集时可靠性较低。论文使用Adam来优化用于微调的代码
。
与先前神经辐射场微调方法的比较
虽然在视图条件NeRF回归方法中使用渲染损失进行微调很常见,但论文的微调方法在于对3D场景代码使用扩散先验损失,这显著提高了对新视图的泛化能力。
先验梯度缓存
三平面NeRF重建需要对每个场景代码
进行至少数百次的优化迭代。单阶段训练损失的一个问题是,扩散损失
的评估时间比原生NeRF渲染损失
长得多,降低了整体效率。为了加速训练和测试时微调的重建,论文引入了一种称为先验梯度缓存的技术,它缓存了反向传播的先验梯度
以供在多个Adam步骤中重复使用,同时在每个步骤中刷新渲染梯度
,这允许比渲染更少的扩散通过。下面是一个训练伪代码。
算法 1
去噪参数化与加权
去噪模型
实现为U-Net,如DDPM中所用,总共有122M参数。其输入和输出分别是带噪声和去噪的三平面特征,三个平面的通道堆叠在一起。对于预测格式,论文采用了
参数化,使得
关于方程中扩散损失中的权重函数
,LSGM采用了两种不同的机制分别优化潜变量
和扩散权重
,论文发现这在NeRF自解码器中不稳定。相反,论文观察到基于SNR的权重
在论文的模型中表现良好。
我们在ShapeNet SRN和Amazon Berkeley Objects (ABO) Tables数据集上进行实验,以与之前的工作进行基准对比。SRN数据集提供了两个类别(即汽车和椅子)的单一对象场景,其中汽车的训练/测试划分为2458/703,椅子的训练/测试划分为4612/1317。每个训练场景有来自球体的50个随机视图,每个测试场景有来自上半球的251个螺旋视图。ABO Tables数据集提供了1520/156个桌子场景的训练/测试划分,其中每个场景有来自上半球的91个视图。对于这两个数据集,我们使用提供的渲染图(调整大小至128×128)和地面真实姿态进行训练和测试。
使用SRN汽车和ABO桌子数据集对无条件生成进行了评估。汽车数据集在生成清晰和复杂的纹理方面提出了挑战,而桌子数据集则包含了具有真实材料的多样化几何形状。模型在训练集的所有图像上训练了100万次迭代。
表 1
图 2 无条件生成模型在ABO表格和SRN汽车数据集上训练的定性比较
如表1所示,在SRN汽车数据集上,SSDNeRF(单阶段)在KID指标上(对小数据集更为适用的衡量指标)明显优于EG3D。同时,其FID指标远远好于Functa,后者虽然使用了潜在扩散模型(LDM),但是采用了低维潜在代码。在ABO桌子数据集上,SSDNeRF的性能显著优于EG3D和DiffRF。
本节展示了在SRN汽车和椅子测试集中,从未见物体的稀疏视图图像进行3D重建的实验。汽车数据集的挑战在于恢复不同的纹理,而椅子数据集则要求准确重建多样的形状。模型在训练集的所有图像上训练了80,000次迭代,因为我们发现更长的训练计划会导致重建未见物体的性能下降。
表 2
图 3 在SRN Cars和Chairs数据集上,对单视图重建方法在未见测试对象上的定性比较
表2比较了SSDNeRF与以往方法在单视图和双视图重建设置下的表现。总的来说,SSDNeRF在所有任务中达到了最佳的LPIPS值,表明了最佳的感知保真度。相比之下,3DiM生成了高质量的图像(最佳的FID),但与真实情况的保真度最低(最低的PSNR);CodeNeRF在单视图汽车上报告了最佳的PSNR,但其有限的表达能力导致输出模糊(见图3),以及较不竞争的LPIPS和FID;VisionNeRF在所有单视图指标上实现了平衡的表现,但可能在生成汽车未见侧面的纹理细节上遇到困难(例如,图5中救护车的另一侧)。此外,SSDNeRF在双视图重建中展现了明显的优势,在所有相关指标上都达到了最佳表现。
本文提出了SSDNeRF,它通过一个新颖的单阶段训练范式和端到端的合理损失,将扩散模型和NeRF表示相结合。值得注意的是,它克服了以往工作中的限制,即必须首先从密集观测中获得隐式神经场,然后再训练扩散模型来学习它们的流形。通过在多个基准测试上的强大性能,SSDNeRF展示了向通用3D内容操作统一框架的重大进步。
当前,论文方法在训练和测试过程中都依赖于真实的摄像机参数。未来的工作可以探索不变变换模型。此外,扩散先验在长时间训练后可能会变得不连续,这影响了泛化能力。尽管暂时使用了提前停止训练的策略,但更好的网络设计或更大的训练数据集可能能够从根本上解决这个问题。