Bootstrap

高斯Splatting:3D 重建与新视图合成的综述

24年5月来自挪威大学的论文“Gaussian Splatting: 3D Reconstruction and Novel View Synthesis, a Review”。

基于图像的 3D 重建是一项具有挑战性的任务,涉及从一组输入图像中推断出目标或场景的 3D 形状。基于学习的方法因其直接估计 3D 形状的能力而备受关注。这篇论文重点介绍 3D 重建的最新技术,包括生成新的、未见过的视图。高斯 Splatting 方法的最新发展,如输入类型、模型结构、输出表示和训练策略。尚未解决的挑战和未来方向。

自 2023 年 6 月推出以来,Gaussian Splatting就大受欢迎。该技术涉及对多个高斯进行迭代细化,以从 2D 图像生成 3D 目标,从而允许通过插值在复杂场景中渲染新视图。虽然高斯splatting不会直接恢复整个 3D 场景几何,但它将信息存储在体点云中。此云中的每个点都代表一个高斯,具有颜色、扩散和位置等参数,从而产生体表示,为相关 3D 空间中的每个点提供颜色和密度。

通常,3D 重建是通过传统算法(例如摄影测量和多视图立体 (MVS) 算法)实现的 [5]。一些现代方法包括神经辐射场 (NeRF) [6] 和高斯splatting [3],其中高斯splatting是一种独特的方法,对于 NVS 场景来说相当新。任何现有解决方案面临的最常见问题是无法实时渲染、缺乏竞争性训练时间和高质量渲染。Gaussian Splatting 比 NeRF 提供了一些显着的改进,包括更少的伪影、失败案例和更快的训练时间。

3D 重建和新视图合成(NVS) 是计算机图形学中两个密切相关的领域,旨在捕捉和渲染物理场景的逼真的 3D 表示。3D 重建涉及从一系列 2D 图像中提取几何和外观信息,这些图像通常是从不同的视点捕捉的。虽然 3D 扫描技术多种多样,但捕捉不同的 2D 图像是一种非常简单且计算成本低廉的收集 3D 环境信息方法。然后可以使用这些信息创建场景的 3D 模型,该模型可用于各种目的,例如虚拟现实 (VR) 应用、增强现实 (AR) 叠加或计算机辅助设计 (CAD) 建模。

另一方面,NVS 专注于从先前获取的 3D 模型生成场景新 2D 视图。这样就可以从任何所需的视点创建场景的逼真图像,即使原始图像不是从该角度拍摄的。深度学习的最新进展已导致 3D 重建和 NVS 都得到了显着改进。深度学习模型可用于高效地从图像中提取 3D 几何和外观,此类模型还可用于从 3D 模型生成逼真的新视图。因此,这些技术在各种应用中越来越受欢迎,预计它们将在未来发挥更重要的作用。
3D 数据复杂的空间特性(包括体积维度)提供了物体和环境的详细表示。这对于在各个研究领域创建沉浸式模拟和精确模型至关重要。3D 数据的多维结构允许结合深度、宽度和高度,从而导致建筑设计和医学成像技术等学科的重大进步。

数据表示的选择在许多 3D 深度学习系统的设计中起着至关重要的作用。点云缺乏网格状结构,通常不能直接进行卷积。另一方面,以网格状结构为特征的体素表示通常会产生较高的计算内存需求。

3D 表示的演变,伴随着 3D 数据或模型的存储方式。最常用的 3D 数据表示可分为传统方法和新方法。

传统方法如图所示:

添加图片注释,不超过 140 字(可选)

新方法如图所示:

添加图片注释,不超过 140 字(可选)

高斯 Splatting 模型通常针对每个场景进行建模,需要场景中具有不同姿势数量的密集图像。在大多数情况下,相机姿势是未知的,并使用 COLMAP 库 [13] 中的运动结构 (SFM) [12] 计算得出。原始高斯 Splatting 论文使用了三个数据集:Mip-NeRF360 [14]、Tanks & Temples [15] 和 Deep Blending [16]。

高斯splatting使用大量 3D 高斯或粒子描绘 3D 场景,每个粒子都具有位置、方向、比例、不透明度和颜色信息。为了渲染这些粒子,它们会转换为 2D 空间,并策略性组织实现最佳渲染。

如图显示高斯splatting算法的架构。

添加图片注释,不超过 140 字(可选)

如图是3D GS的方法分类:
添加图片注释,不超过 140 字(可选)

动态和变形

与一般的高斯splatting不同,在这种情况下,为了捕捉splatting随时间变化的动态,3D 协方差矩阵的所有参数仅依赖于输入图像,一些参数依赖于时间或时间步长 [51]。例如,位置是时间步长或帧相关的。此位置可以以时间一致的方式由下一帧更新。还可以学习一些潜编码,这些编码可用于在渲染期间在每个时间步长中编辑或传播高斯,以实现某些效果,例如头像中的表情变化 [54]、[55] 和对非刚体施加力 [50]、[57]。如图展示了一些基于动态和变形的方法:

添加图片注释,不超过 140 字(可选)

通过对原始高斯溅射表示进行轻微修改,可以轻松表示动态和可变形模型,算法概览如下:

添加图片注释,不超过 140 字(可选)

与动态高斯 Splatting 相关的大多数工作都扩展到跨时间步长的 3D 高斯运动跟踪,而不是每个时间步长都有一个单独的 Splat。Katsumata在 [51] 中提出了位置的傅里叶近似和旋转四元数的线性近似。

Shao 在 [54] 中引入 GaussianPlanes,这是一种在 3D 空间和时间中基于平面的分解实现的 4D 表示,可提高 4D 编辑的有效性。此外,Control4D 利用 4D 生成器优化不一致照片的连续创作空间,从而获得更好的一致性和质量。所提出的方法采用 GaussianPlanes 训练 4D 肖像场景的隐式表示,然后使用高斯渲染将其渲染为潜在特征和 RGB 图像。基于生成对抗网络 (GAN) [106] 的生成器和基于 2D 扩散的编辑器对数据集进行细化并生成真假图像以供辨别。辨别结果有助于生成器和辨别器的迭代更新。然而,由于依赖于具有流表示的规范高斯点云,该方法在处理快速和大范围非刚性运动方面面临挑战。该方法受到 ControlNet [107] 的限制,将编辑限制在粗级,并阻止精确的表情或动作编辑。此外,编辑过程需要迭代优化,缺乏单步解决方案。

隐式神经表征为动态场景重建和渲染带来了重大变革。然而,当代动态神经渲染方法面临着捕捉复杂细节和实现动态场景实时渲染的挑战。

扩散

扩散和高斯splatting是一种强大的技术,可用于从文本描述/提示生成 3D 目标。它结合了两种不同方法的优势:扩散模型和高斯splatting。扩散模型是一种神经网络,可以学习从嘈杂的输入中生成图像 [109]。向模型输入一系列越来越干净的图像,模型学会逆转图像损坏的过程,最终从完全随机的输入中生成干净的图像。这可以用来从文本描述生成图像,因为模型可以学习将单词与相应的视觉特征关联起来。使用扩散和高斯splatting的文本到 3D 流水线的工作原理,是首先使用扩散模型从文本描述生成初始 3D 点云。然后使用高斯splatting将点云转换为一组高斯球。最后,渲染高斯球生成目标的 3D 图像。

优化和速度

在 Chung 的研究中 [65],介绍了一种方法,使用有限数量的图像优化高斯splatting以进行 3D 场景表示,同时缓解过拟合问题。用高斯splatting表示 3D 场景的传统方法可能导致过拟合,尤其是在可用图像有限的情况下。该技术 [65] 使用预训练单目深度估计模型的深度图作为几何引导,并与 SFM 流水线中的稀疏特征点对齐。这有助于优化 3D 高斯splatting,减少浮动伪影并确保几何连贯性。提出的深度引导优化策略在 LLFF [17] 数据集上进行了测试,与仅使用图像相比,展示了改进的几何形状。该研究包括引入早期停止策略和深度图平滑项,这两者都有助于提高性能。然而,该方法存在一些局限性,比如依赖于单目深度估计模型的准确性,以及对 COLMAP [13] 性能的依赖。建议在未来的工作中探索相互依赖的估计深度,并解决深度估计困难的区域(如无纹理的平原或天空)的挑战。

Lee 的研究利用 3D-GS 的优势,引入一个紧凑的 3D 高斯表示框架 [114]。虽然 3D-GS 提供了快速的渲染和良好的图像质量,但它需要定义大量的 3D 高斯,从而需要大量的内存和存储。所提出的框架使用可学习的掩码策略,在不牺牲性能的情况下大大减少了高斯的数量。此外,还引入了一个基于网格的神经场来紧凑地表示视图相关的颜色,并学习了码本以有效地压缩几何属性。该框架注重减少高斯点和压缩属性,使其成为一种全面的解决方案,在需要高效高质量 3D 场景表示的领域中得到更广泛的应用。

在研究 [115] 中,Girish 介绍了一种利用量化嵌入来高效利用内存的新技术。Girish使用由粗到细的策略来优化高斯点云,实现具有更少高斯和量化属性的场景表示,从而提高训练和渲染速度。在各种数据集和场景中进行验证,内存使用量显着减少了 10-20 倍,训练/推理速度加快。贡献包括一种新的 3D 高斯点云压缩方法、通过不透明度系数量化、渐进式训练和受控致密化实现优化增强。总的来说,这种方法代表了 3D 重建和 NVS 的重大进步,在效率和重建质量之间取得了平衡。

在研究中 [116] Fu 引入 COLMAP-Free 3D Gaussian Splatting (CF-3DGS),这是一种新的端到端框架,用于从连续图像中同时进行相机姿态估计和 NVS,解决了以前方法中相机运动较大和训练时间较长带来的挑战。与 NeRF 的隐式表示不同,CF-3DGS 利用显式点云来表示场景。该方法按顺序处理输入帧,逐步扩展 3D 高斯以重建整个场景,在具有挑战性的场景(例如 360° 视频)上表现出增强的性能和鲁棒性。该方法以顺序方式联合优化相机姿态和 3D-GS,使其特别适用于视频流或有序图像集合。利用高斯splatting可以实现快速训练和推理速度,展示了该方法相对于以前方法的优势。虽然证明了其有效性,但人们承认顺序优化主要将应用限制在有序图像集合上,为未来研究探索无序图像集合的扩展留下了空间。

渲染和着色方法

Yu 在 [72] 中观察到 3D-GS 中,特别是在改变采样率时 NVS 结果会出现伪影。引入的解决方案涉及结合 3D 平滑滤波器来调节 3D 高斯基元的最大频率,从而解决分布外渲染中的伪影。此外,2D 膨胀滤波器被 2D Mip 滤波器取代,以解决混叠和膨胀问题。

Gao 在 [73] 中提出了一种新的 3D 点云渲染方法,该方法可以从多视图图像中分解出材质和照明。该框架支持以可微分的方式编辑、光线追踪和实时重新照明场景。场景中的每个点都由一个“可重新照明”的 3D 高斯表示,携带有关其法线方向、双向反射分布函数 (BRDF) 等材质属性以及来自各个方向的入射光的信息。为了准确估计照明,将入射光分为全局和局部分量,并考虑基于视角的可见性。场景优化利用 3D 高斯 Splatting,而基于物理的可微分渲染处理 BRDF 和照明分解。一种创新的基于点的光线追踪方法,利用受限体层次结构,能够在实时渲染过程中实现高效的可见性烘焙和逼真的阴影。

Liang 在 [74] 中,提出了 3D Gaussian Splatting for Inverse Rendering (GS-IR),这是一种利用 3D-GS 优势的新逆向渲染方法,3D-GS 是一种生成新型视图的强大技术。与依赖隐式神经表示和体渲染的方法不同,GS-IR 扩展了 3D-GS 的功能,使其能够直接从多视角图像中估计场景几何形状、材料属性和光照条件,即使在未知光照下也能如此。它通过结合基于深度的正则化和基于烘焙(baking)遮挡建模的有效优化方案,成功解决了法线估计和遮挡处理等挑战。3D-GS 固有的灵活性使得能够快速、紧凑地重建场景几何形状,从而实现逼真的 NVS 和物理上精确的渲染。对各种场景的广泛评估表明,GS-IR 优于现有方法,在重建质量和效率方面都取得了最先进的成果。

Yan 在 [75] 中,提出了一种多尺度 3D 高斯splatting算法,解决在较低分辨率或较远的摄像机位置下出现的渲染质量和速度下降问题。考虑到像素大小低于奈奎斯特频率会导致混叠效应,该算法保持不同尺度的高斯以有效地表示场景。受 mipmap 和细节分层 (LOD) 算法的启发,通过聚合较高分辨率中较小、较精细的高斯,为较低分辨率添加较大、较粗的高斯。总体而言,该算法在各种分辨率下都表现出渲染质量和速度的有效性,克服了以前的 3D 高斯 Splatting 方法的局限性。

Jiang 在 [76] 中介绍了 GaussianShader,它将简化的着色函数直接集成到 3D 高斯上,提高了渲染反射场景的视觉质量,同时保持了训练和渲染的效率。该方法通过将着色函数与扩展的 3D 高斯模型相结合,并引入创新的法线预测技术以获得高质量的结果,在渲染 3D 目标(特别是反射表面)方面迈出了重要一步。

Lu 在 [77] 中引入了 Scaffold-GS,用于有效地渲染复杂场景。他们的方法利用锚点来战略性地分布局部 3D 高斯,并根据观看条件动态预测其属性。通过对这些锚点采用巧妙的“增长和修剪”策略,Scaffold-GS 可以有效地使其表示适应场景,最大限度地减少冗余高斯。这可以提高渲染质量,同时处理具有不同细节和视点的场景,而不会影响速度。

3D Gaussian Splatting 在少样本场景中面临挑战,它往往会过拟合训练视图,导致背景崩溃和过多漂浮物等问题。作为回应,Xiong [55] 中引入一种使用稀疏训练视图对 360 度场景基于 3D-GS 的辐射场进行连贯训练的方法。尽管依赖于来自 COLMAP 的初始点云,该方法在少镜头 NVS 中表现出色,并且通过研究点云致密化技术具有进一步改进的潜力。

为了应对从有限的观察中实现高效 NVS 的持续挑战,Zhu 在 [78] 中提出了一种少镜头视图合成框架。仅使用三个训练视图即可实现实时和逼真的结果。它通过精心设计的高斯反池化过程巧妙地处理了初始化 SFM 点的稀疏性,在代表性位置周围迭代地分布新的高斯,以填充空白区域的局部细节。该框架为实际应用铺平了道路,为少镜头视图合成领域做出了宝贵贡献。

压缩

Navaneet 在 [80] 中提出了一种简单而有效的解决方案,利用基于 K-均值算法的矢量量化来量化高斯参数。该方法包括将一个小的码本与每个高斯的代码索引一起存储,然后通过排序和类似于游程编码的方法进一步压缩索引。这种压缩技术提供了一种有价值的权衡,既保持了 3D 高斯 Splatting 的效率,又显著降低了存储需求。

3D GS 应用和未来方向 (略)

;