Flash3D: Feed-Forward Generalisable 3D Scene Reconstruction from a Single Image

📄 arXiv: 2406.04343v2 📥 PDF

作者: Stanislaw Szymanowicz, Eldar Insafutdinov, Chuanxia Zheng, Dylan Campbell, João F. Henriques, Christian Rupprecht, Andrea Vedaldi

分类: cs.CV

发布日期: 2024-06-06 (更新: 2025-06-01)

备注: Project page: https://www.robots.ox.ac.uk/~vgg/research/flash3d/


💡 一句话要点

Flash3D:基于单张图像的前馈可泛化3D场景重建

🎯 匹配领域: 支柱三:空间感知与语义 (Perception & Semantics)

关键词: 3D场景重建 单目视觉 高斯溅射 新视角合成 深度估计

📋 核心要点

  1. 现有单目3D重建方法泛化性不足,难以适应真实世界复杂场景。
  2. Flash3D基于前馈高斯溅射,从单目深度估计扩展到完整的3D重建,提升效率。
  3. 实验表明,Flash3D在多个数据集上超越现有方法,尤其在跨数据集泛化性上表现突出。

📝 摘要(中文)

我们提出了Flash3D,一种从单张图像进行场景重建和新视角合成的方法,它具有高度的泛化性和效率。为了实现泛化性,我们从单目深度估计的“基础”模型出发,将其扩展到完整的3D形状和外观重建器。为了提高效率,我们基于前馈高斯溅射来实现这种扩展。具体来说,我们在预测的深度处预测第一层3D高斯分布,然后添加在空间上偏移的额外高斯层,从而使模型能够完成遮挡和截断后面的重建。Flash3D非常高效,可以在单个GPU上训练一天,因此大多数研究人员都可以使用。在RealEstate10k上进行训练和测试时,它达到了最先进的结果。当转移到像NYU这样的未见数据集时,它大大优于竞争对手。更令人印象深刻的是,当转移到KITTI时,Flash3D实现了比专门在该数据集上训练的方法更好的PSNR。在某些情况下,它甚至优于最近使用多视图作为输入的方法。代码、模型、演示和更多结果可在https://www.robots.ox.ac.uk/~vgg/research/flash3d/上找到。

🔬 方法详解

问题定义:论文旨在解决从单张图像中进行通用3D场景重建的问题。现有方法通常在特定数据集上表现良好,但在未见过的场景中泛化能力较差。此外,许多方法计算成本高昂,难以在资源有限的条件下使用。

核心思路:Flash3D的核心思路是利用一个预训练的单目深度估计模型作为基础,并在此基础上构建一个高效且可泛化的3D重建框架。通过使用前馈高斯溅射,模型能够快速生成高质量的3D场景表示,并有效地处理遮挡和截断等问题。

技术框架:Flash3D的整体框架包括以下几个主要步骤:1) 使用预训练的单目深度估计模型预测输入图像的深度图;2) 基于预测的深度图初始化第一层3D高斯分布;3) 添加额外的、空间偏移的高斯层,以填充遮挡区域和完成场景重建;4) 使用可微分渲染技术优化高斯参数,从而提高重建质量。

关键创新:Flash3D的关键创新在于其高效的前馈高斯溅射方法。与传统的基于优化的方法相比,Flash3D能够直接从单张图像预测3D场景表示,无需迭代优化,从而大大提高了重建速度。此外,通过添加空间偏移的高斯层,模型能够更好地处理遮挡和截断,从而提高重建的完整性和准确性。

关键设计:Flash3D的关键设计包括:1) 使用预训练的单目深度估计模型作为初始化,从而利用了现有的深度估计知识;2) 使用多层高斯分布来表示3D场景,从而能够更好地捕捉场景的复杂结构;3) 使用可微分渲染技术优化高斯参数,从而实现端到端的训练。具体的损失函数包括深度损失、渲染损失等,用于约束重建的几何和外观。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

Flash3D在RealEstate10k数据集上取得了state-of-the-art的结果。更重要的是,当迁移到未见过的NYU数据集时,Flash3D大幅超越了竞争对手。在KITTI数据集上,Flash3D甚至优于在该数据集上专门训练的方法,在某些情况下,甚至超过了使用多视图作为输入的最新方法。这些结果表明,Flash3D具有很强的泛化能力和竞争力。

🎯 应用场景

Flash3D具有广泛的应用前景,包括自动驾驶、机器人导航、虚拟现实、增强现实等领域。它可以用于从单张图像中快速生成3D场景模型,从而为这些应用提供环境感知能力。此外,Flash3D还可以用于新视角合成,从而为用户提供更加沉浸式的体验。未来,Flash3D可以进一步扩展到处理视频序列,从而实现动态场景的重建。

📄 摘要(原文)

We propose Flash3D, a method for scene reconstruction and novel view synthesis from a single image which is both very generalisable and efficient. For generalisability, we start from a "foundation" model for monocular depth estimation and extend it to a full 3D shape and appearance reconstructor. For efficiency, we base this extension on feed-forward Gaussian Splatting. Specifically, we predict a first layer of 3D Gaussians at the predicted depth, and then add additional layers of Gaussians that are offset in space, allowing the model to complete the reconstruction behind occlusions and truncations. Flash3D is very efficient, trainable on a single GPU in a day, and thus accessible to most researchers. It achieves state-of-the-art results when trained and tested on RealEstate10k. When transferred to unseen datasets like NYU it outperforms competitors by a large margin. More impressively, when transferred to KITTI, Flash3D achieves better PSNR than methods trained specifically on that dataset. In some instances, it even outperforms recent methods that use multiple views as input. Code, models, demo, and more results are available at https://www.robots.ox.ac.uk/~vgg/research/flash3d/.