作者
:Jingbo Zhang, Xiaoyu Li 等

来源
:ArXiv 2023

论文题目
:Text2NeRF: Text-Driven 3D Scene Generation with Neural Radiance Fields

论文链接
:https://arxiv.org/abs/2305.11588

内容整理
:王秋文
目录
  • 引言
  • 方法
    • 场景初始化
    • 文本驱动的补全
    • 深度对齐
    • 渐进式地填补和更新
    • 训练目标
  • 实验

引言

图1 本文的模型概念示意图
近期,从文本到图像的生成有了飞速的突破,也引发了人们对零样本文本到 3D 生成的极大兴趣。因为使用文本指定所需要的 3D 模型是直观的,因此可以提高 3D 建模工作流的生产效率,并降低了新手的入门门槛。然而,与配对数据丰富的文本到图像的情况相反,获取大量的配对文本和3D数据是不切实际的,这使得文本到3D的生成任务仍然具有挑战性。许多工作对文本生成三维场景进行了探究,一些工作使用预训练的文生图模型中的深度先验,但这些模型生成的结果往往是简单且相当不真实的。还有一些工作通过扩散模型指导生成了相对真实的三维场景,但这些重建方法都关注于室内场景,并使用了难以重建室外大场景的显示网格表征。
在本文中,作者提出了 Text2NeRF 模型,一种通过组合 NeRF 的预训练的文生图扩散模型得到的文本驱动的三维场景生成框架。具体来说,本文的主要贡献有:
  • 提出了一个文本驱动的真实感三维场景生成框架,该框架将扩散模型与NeRF表征相结合,支持从各种自然语言提示中零样本生成各种室内/室外场景
  • 引入PIU策略,逐步为3D场景生成具有视图一致性的新内容,并构建支撑集,在逐视图更新过程中为NeRF模型提供多视角约束
  • 采用深度损失来实现深度感知的 NeRF 优化,并引入两阶段的深度对齐策略来消除不同视角中估计的深度偏差

方法

图2 本文的算法结构示意图
本文提出了一种文本驱动的 3D 场景生成框架,根据给定的文本提示逐步生成3D场景,如图 2 所示,首先通过文本到图像的扩散模型生成初始视角。基于初始图像,作者构建了支撑视角和相应的深度图作为支撑集使用 DIBR 算法来为 NeRF 重建提供多视角约束。在训练了初识的 NeRF 模型之后,作者进一步引入了逐步的补全和更新(PIU)策略以按视角扩展场景。具体来说,作者首先渲染出一个新颖的视角,并按照文本信息使用扩散模型对缺失的区域进行填补。然后作者使用填补后的视角,将它的支撑集作为更新 NeRF 模型的额外监督。通过逐步在已有的场景中添加新的具有一致性的内容,本文所提出的框架可以成功生成具有细节且真实的三维场景。

场景初始化

为了获得机遇输入提示 的初始场景内容,首先采用预训练的扩散模型 以 为条件来生成 2D 场景图像 ,其中 是随机高斯噪声。由于在该单一视图 中缺乏几何信息,因此采用单目深度估计模型 来进行几何推理 。初始视角 和深度图 将用于生成 3D 场景初始化的支撑集。
在本文中,作者使用 NeRF 对三维场景进行建模,与传统 NeRF不同的是,作者省略了视角 作为输入,以避免视角依赖的镜面效应。除此外,作者还使用了深度去限制 NeRF 的优化,并加速模型的收敛。为了方便区分,将第 个视角下经过提渲染得到的图像和深度图记为 和 。
由于缺乏多视图监督,直接采用单视图 及其深度 来训练辐射场容易导致过拟合和几何模糊。为了克服这个问题,本文采用了基于深度图的渲染(DIBR)方法来为场景的初始化建立了一个支撑集 。具体来说,对于 中的每个像素 及其在 中的深度值 ,我们计算其在周围视图 上对应的像素 和深度 :
其中,和表示第 个视角的内参矩阵和位姿。本文手动设置内参矩阵 和相机位姿 ,然后使用 来获得周围的相机位姿 。具体来说,首先定义了一个半径为 的圆圈,该圆圈以当前相机位置为中心,并具有与当前相机位置相同的 坐标。然后,统一采样 个点作为相机的位置,并使用与当前视角相同的方向来生成支撑集中的映射视图。 是偏移的距离, 是映射视角的数量。事实上,作者通过分别在上、下、左、右、左上、左下、右上和右下的方向上移动 的相机位置定义了 个新视角。有了这些支撑视角以及初始视图 ,作者训练了一个 NeRF 作为初始化的3D场景。

文本驱动的补全

在场景初始化之后,辐射场可以从任意的新颖视角进行渲染。然而,除了初始视图之外的渲染结果将不可避免地具有缺失的内容,因为初始场景中的信息是从单个图像 导出的。为了填补缺失的区域,作者采用了一种基于预训练的扩散模型 的文本驱动修复方法。具体来说,首先渲染出了一个要修复的新视角 。然后将所有已知视图映射到渲染视图 中来计算 中缺失部分的掩码 。渲染图像 与掩模 和输入提示 一起输入到扩散模型 中,以预测 的修复结果:
考虑到修复过程是随机的,尽管目前的扩散模型具有很强的补全能力,但很难保证每个结果的质量都能满足预期要求。因此,对每个要补全的视图 执行多次修复过程,并从所有候选的修复结果中自动选择与CLIP语义空间中的初始视图最相似的一个:
其中, 表示 CLIP 模型的图像编码器。事实上,对于每个视角,作者会生成 30 张填补的结果作为候选。
此外,作者还使用深度估计模型 来估计修复图像 的深度图 。注意,与初始视图的深度图 不同, 不能直接作为更新辐射场的监督,因为它是独立预测的,可能与重叠区域中的已知深度图(例如)冲突。为了解决这个问题,作者实现了深度对齐,将估计的深度图与辐射场中的已知的深度值进行对齐。

深度对齐

图3 不同场景估计深度的对齐示意图
由于在深度估计过程中缺乏几何约束,预测的深度值可能在重叠区域中错位,例如,补全后视图的估计深度 可能与从 NeRF 渲染的深度 不一致,因为 受到先前已知视角的约束。这种不一致表现在两个方面:尺度差异和距离差异。例如,在从不同视图估计的深度图中,两个像素对齐的空间点之间的距离的深度差和特定点的深度值可能都不同,如图3所示。前者的差异是尺度差异,后者是距离差异。在尺度差异的情况下,不能通过移位处理来对齐两个点,因为即使对齐其中一个点的深度值,另一个点仍然未对齐。为了消除新视图的渲染深度图 和估计深度图 的重叠区域之间的尺度和距离差异,作者引入了一种两阶段的深度对齐策略。具体来说,首先通过补偿平均尺度和距离差异从全局对齐这两个深度图。然后,对预先训练的深度对齐网络进行微调,以生成局部对齐的深度图。
为了确定平均尺度和距离差异,首先从重叠的区域中随机选择 个像素对,并推导出它们在深度图 和 下的3D位置,记为 。接下来,计算平均缩放分数 和深度偏移 ,以近似尺度和距离差异的平均值:
其中, 表示缩放后的点, 表示点 的深度值。通过计算,深度图 可以与 实现全局对齐。
由于在本文的 pipeline 中使用的深度图是由网络预测的,因此 和 之间的差异不是线性的,这就是为什么全局深度对齐过程无法解决错位问题。为了进一步减轻 和 之间的局部差异,作者训练了用于非线性深度对齐的像素到像素的网络 。在优化每个视角图像的过程中,通过最小化重叠区域中的最小二乘误差来优化预训练的深度对准网络 的参数 :
最后,可以使用优化的深度对齐网络推理出局部对齐的深度:

渐进式地填补和更新

图4 不同的填补更新策略可能导致的结果示意图
经过 次迭代获得结果修补的图像 和对齐的深度图 之后,可以使用基于深度图像的渲染来构建用于更新辐射场的相应的支撑集 。一个直观的解决方案是从初始化的辐射场渲染所有视图,并独立修复它们。然而,不同视角之间可能存在重复的需要补全的区域,因此 2D 的文本驱动的补全模型在没有 3D 约束的情况下无法在所有视图中产生视图一致的内容,如图 4(a) 所示。为了保证视图的一致性,避免场景补全过程中几何和外观的模糊性,本文提出了一种渐进的填补和更新策略来逐视图更新辐射场,如图 4(b) 所示。在该策略中,本文所提出的算法在每次修补过程后更新辐射场 。这意味着之前的补全的内容将反映在后续的渲染中,并且这些部分将被视为已知区域,不会在其他视角下再次进行填补。具体的算法如图 5 中的算法伪代码所示。
图5 渐进式补全更新策略算法的伪代码

训练目标

在训练过程中,作者使用了 RGB 损失、深度损失和透射率损失来优化辐射场。 RGB 损失指的是渲染图和由扩散模型生成的图像间的 损失,深度损失是场景渲染得到的深度图与估计并对齐后的深度图间的 损失。除此外,本文设计了一种机遇深度的透射率损失 以鼓励 NeRF 能够在对应深度位置 前产生近似空的体密度:
其中, 在 时值为1。

实验

首先,作者将本文的方法与其他生成三维场景的工作相比较,定性和定量的结果比较如图 6 所示 。
图7 本文方法与其他方法的场景合成比较客观结果
通过比较结果可以看出,本文所提出的方法相比于其他方法生成了更高质量的 3D 场景。此外,本文的方法确保了生成的场景和输入文本之间的语义相关性,从而获得更高的 CLIP 分数。总体而言,定性和定量结果都明确地表明了本文所提出的方法更优。此外,如图 8 所示,由于渐进式场景修复和更新策略,本文的 Text2NeRF 支持在大视图范围内生成文本驱动的场景。另一方面,其他新颖的视图合成方法即使在小视角下也会产生模糊的场景填充结果,因为在这些方法中没有考虑与文本相关的引导。
图8 Text2NeRF 生成的360度场景展示
此外,在图 9 中展示了由本文的 Text2NeRF 生成的 3D 场景的更多示例。值得注意的是,本文的方法不仅可以从相同的文本提示中生成不同的结果,而且还支持生成一些艺术风格的3D场景(图10)。
图9 本文算法渲染的场景及深度图
图10 不同风格的三维场景生成展示
继续阅读
阅读原文