项目主页:https://www.robots.ox.ac.uk/~vgg/research/flash3d/
来源:牛津、澳大利亚国立
Flash3D,一种通用的单一图像场景重建。模型从一个单目深度估计的“基础”模型开始,扩展到一个完整的三维形状和外观重建器。为了高效,基于前向的GS进行扩展。具体的,模型预测了深度图表面的第一层GS,然后添加一层空间中的额外的高斯偏移,允许模型完成遮挡和截断后的重建。Flash3D高效,只需在单一GPU上训练一天。训练和测试在 RealEstate10k数据集上。当转移到NYU和KITTI的未知数据集时,其表现远优于竞争对手。
深度估计器只能预测最近的可见表面的三维形状,它们不提供任何外观信息,也不提供场景的遮挡或帧外部分的估计。仅凭深度不足以准确地解决诸如新视图合成(NVS)等任务,这还需要建模看不见的区域和视图依赖的外观。
这里,我们的场景重建也可以受益于建立一个现有的基础模型,但选择一个单眼深度预测器作为一个更自然的选择:通过建立在一个高质量的深度预测器[UniDepth:CVPR 2024]上,实现了对新数据集的优秀泛化,以至于我们的3D重建比那些专门在这些测试领域上训练的模型更准确。
其次,本文改进了单目场景重建的前馈逐像素GS。如上所述,应用于单个对象,每个像素的重建器可以使用背景像素的库来建模对象的隐藏部分,这在重建整个场景时是不可能的。本文预测每个像素的多个高斯分布,其中沿着每条射线的第一个高斯分布被鼓励符合深度估计,从而对场景的可见部分进行建模。这类似于[1,3,36,58,74,76][9]中的分层表示[1,3,36,58,74,76]和多高斯采样。然而,在我们的例子中,高斯分布是确定性的,并不局限于特定的深度范围,并且该模型可以自由地将高斯分布偏离射线来模拟场景中被遮挡或截断的部分。
总的来说,Flash3D是一个简单且性能高的单目场景重建模型:
( a ) 渲染重建的三维场景的高质量图像,
( b ) 在室内和室外的各种场景上操作;
( c ) 重建遮挡区域
Flash3D在RealEstate10K数据集上的所有指标上实现了最先进的新视图合成精度
2.1 Monocular feed-forward reconstruction
单目前馈重建器的工作原理是通过神经网络传递场景的单个图像,从而直接输出三维重建。对于场景,[Single-view view synthesis with multiplane images 74-76等]和MINE [36]通过使用神经辐射场,预测多平面图像(速度、泛化性较差); SynSin [84]使用一个单目深度预测器来重建一个场景;然而,它的重建是不完整的,需要一个渲染网络来改进最终的新视图。对于单个对象,一个显著的例子就是(LRM),它获得了高质量的单目重建,但模型的规模和训练成本巨大。与我们最相关的工作是Splatter Image(CVPR 2024),它使用GS来提升效率。我们的方法也使用GS作为表示,但对于场景而不是对象。
2.2 Few-view feed-forward reconstruction
早期的例子使用神经辐射场(NeRF)[43]作为物体[12,25,29,38,51,79,92]和场景[12,14,88]的3D表示。这些方法隐式地学习在视图之间的点的匹配;[MVSNeRF和93]的工作使点匹配更加明确。其他方法将对象的三维形状估计为一个opacity field,但另一种选择是直接预测场景的新视图[44,55,65,66],而没有明确的体积重建,这是由光场网络[63]开创的一个概念。其他方法则从稀疏视角和narrow baseline stereo pairs [64, 72] 中使用替代的 multi-plane images。与我们的方法更相关的是pixelSplat [9], latentSplat [83] 和 MVSplat:从一对图像中重建场景。他们利用交叉视图的注意力来有效地共享信息和预测高斯混合物来表示场景几何。其他最近的前馈方法[69,89,95]结合LRM和高斯溅射从少量的图像重建。我们解决的是单眼重建,这是一个更困难的问题,因为缺乏来自三角测量的几何线索。
2.3 Iterative reconstruction。
基于迭代或优化的方法通过迭代拟合一个或多个图像的三维模型来重建它们。由于它们的迭代性质,以及需要渲染3D模型以使其适合于数据,通常比前馈方法要慢得多。DietNeRF [28]使用语言模型进行规则重建,RegNeRF [45]和RefNeRF [77]使用手工制作的规则重建器,而SinNeRF [87]使用单眼深度。RealFusion [40]使用图像扩散模型作为基于slow score distillation sampling迭代[49]的单目重建的先验。许多后续工作[70,86]都采取了类似的路径。使用多视图感知生成器[23,37,41,73,82,97]可以提高收敛速度和鲁棒性。Viewset Diffusion [67] 和 RenderDiffusion[2]等方法将三维重建与基于扩散的生成相融合,可以减少但不消除迭代生成的成本。相比之下,我们的方法是前馈的,速度接近实时(10fps)。有些方法以前馈的方式生成新的视图,但通过迭代和自回归,一次一个视图。例如PixelSynth [52], extending SynSin, GeNVS [8], 和Text2Room [26]。
2.4 Monocular depth prediction。
Flash3D基于单目深度估计[4,6,7,15,16,20,21,33,34,46,50,56,59,90,98],预测图像中每个像素的metrics或相对深度。通过从大型数据集学习视觉深度线索,通常是自监督,证明了较高的准确性和跨数据集进行概括的能力。实验中使用了一种最先进的度量深度估计器:UniDepth(CVPR 2024)。
设 I I I∈ R 3 × H × W R^{3×H×W} R3×H×W 是一个场景的RGB图像。我们的目标是学习一个神经网络Φ,它以 I I I作为输入,并预测场景的3D内容的表示 G G G = Φ ( I ) Φ(I) Φ(I),包含了三维几何和光学。
表示:将场景作为三维高斯的集合。场景表示为: G G G = {( σ i σ_i σi, µ i µ_i µi, Σ i Σ_i Σi, c i c_i ci)} i = 1 G ^G_{i=1} i=1G。 c i ci ci: S 2 S^2 S2→