DreamFusion 是一项革命性的技术,它通过使用预训练的 2D 文本到图像扩散模型,实现了从文本到 3D 的合成。这项技术的核心在于引入了一种基于概率密度蒸馏的损失函数,使得 2D 扩散模型可以作为参数化图像生成器优化的先验。通过这种损失函数,在类似 DeepDream 的过程中,DreamFusion 通过梯度下降优化随机初始化的 3D 模型(如神经辐射场或 NeRF),使得从任意角度渲染的 2D 图像都能达到较低的损失。这样生成的 3D 模型可以从任何角度查看,通过任意光照重新照明,或合成到任何 3D 环境中。
DreamFusion 的独特之处在于它不需要任何 3D 训练数据,也不需要修改图像扩散模型,展示了预训练图像扩散模型作为先验的有效性。给定一个标题,DreamFusion 能够生成具有高保真外观、深度和法线的可重新照明的 3D 对象。这些对象以神经辐射场的形式表示,并利用如 Imagen 这样的预训练文本到图像扩散先验。
DreamFusion 不仅能够从多样化的标题生成对象和场景,还提供了完整的画廊,用户可以搜索数百个生成的资产。此外,生成的 NeRF 模型可以通过 marching cubes 算法导出为网格,便于集成到 3D 渲染器或建模软件中。
DreamFusion 的工作原理是通过使用名为 Imagen 的文本到图像生成模型来优化 3D 场景。它提出了分数蒸馏采样(SDS),这是一种通过优化损失函数从扩散模型中生成样本的方法。SDS 允许我们在任意参数空间(如 3D 空间)中优化样本,只要我们能可微分地映射回图像。我们使用类似于神经辐射场(NeRFs)的 3D 场景参数化来定义这种可微分映射。SDS 单独使用可以产生合理的场景外观,但 DreamFusion 添加了额外的正则化器和优化策略以改善几何形状。最终训练的 NeRFs 具有高质量的法线、表面几何形状和深度,并且可以使用 Lambertian 着色模型重新照明。