Depth-Gaussian

论文:Depth-Regularized Optimization for 3D Gaussian Splatting in Few-Shot Images

摘要

在本文中,我们提出了一种利用有限图像数量优化高斯拼接的方法,同时避免过度拟合。通过组合大量高斯拼接图像来表现三维场景可以获得出色的视觉质量。然而,当只有少量图像可用时,它往往会过度拟合训练视图。为了解决这个问题,我们引入了高密度深度图作为几何指南,以减轻过度拟合。我们使用预先训练好的单眼深度估计模型来获得深度图,并使用稀疏 COLMAP 特征点来调整比例和偏移量。调整后的深度有助于基于颜色的三维高斯拼接优化,减少浮动伪影,并确保遵守几何约束。我们在具有不同数量图像的 NeRF-LLFF 数据集上验证了所提出的方法。与完全依赖图像的原始方法相比,我们的方法展示了稳健的几何特性。

Introduction

从图像重建三维空间一直是计算机视觉领域的难题。最近的研究进展表明,逼真的新颖视图合成是可行的[3, 31],从而引发了从图像重建完整三维空间的研究。在计算机图形技术进步和行业需求的推动下,特别是在虚拟现实[14]和移动[11]等领域,实现高质量和高速实时渲染的研究一直在进行。在近期的显著发展中,3D 高斯拼接(3DGS)[23] 因其兼具高质量、快速重建速度和支持实时渲染等特点而脱颖而出。3DGS 采用具有不透明度的高斯衰减球形谐波溅射[12, 38]作为基元来表示场景的每个部分。它通过对plats施加约束,引导plats构建一致的几何形状,以同时满足多个图像的要求。

对场景进行小块拼接的方法能够表达复杂的细节,但由于其局部性,容易造成过度拟合。3DGS [24] 根据多视角色彩监督优化独立的拼接,但没有全局结构。因此,在没有足够数量的图像提供全局几何线索的情况下,就无法防止过拟合。当用于优化三维场景的图像数量较少时,这一问题就会变得更加突出。如图 1 所示,来自少量图像的有限几何信息会导致不正确的局部最优收敛,从而导致优化失败或浮动伪影。尽管如此,利用有限数量的图像重建三维场景的能力在实际应用中至关重要,这促使我们着手解决少量图像优化问题。

一种直观的解决方案是补充额外的几何线索,如深度。在许多三维重建环境中[6],深度通过提供直接的几何信息,被证明对重建三维场景具有极大的价值。为了获得这种可靠的几何线索,我们采用了与 RGB 摄像机对准的深度传感器。虽然这些设备能提供误差最小的密集深度图,但这些设备的必要性也给实际应用带来了障碍。

因此,我们通过调整深度估计网络的输出与来自著名的 “运动结构”(SfM)的稀疏深度图来获得密集的深度图,后者可同时计算摄像机参数和三维特征点。3DGS 也使用 SfM,特别是 COLMAP [41],来获取此类信息。然而,当图像数量较少时,SfM 也会遇到可用三维特征点明显不足的问题。点云的稀疏性也使得对所有高斯斑块进行正则化变得不切实际。因此,推断密集深度图的方法至关重要。从图像中提取密集深度图的方法之一是利用单目深度估计模型。虽然这些模型能够根据从数据中获得的前验从单个图像中推断出密集深度图,但由于尺度模糊,它们只能产生相对深度。由于尺度模糊会导致多视角图像中出现关键的几何冲突,因此我们需要调整尺度,以防止独立推断的深度之间出现冲突。我们的研究表明,可以通过将 COLMAP [41] 免费输出的稀疏深度拟合到估计的密集深度图来做到这一点。

在本文中,我们提出了一种利用来自预训练单目深度估计模型 [5] 的先验信息和平滑度约束,使用少量 RGB 图像来表示三维场景的方法。我们根据稀疏的 COLMAP 点调整估计深度的比例和偏移量,从而解决比例模糊问题。我们将调整后的深度作为几何指南,辅助基于颜色的优化,减少浮动伪影,满足几何条件。我们观察到,尽管场景粗糙,但即使是修正后的深度也有助于引导场景达到几何最优解。我们通过采用早期停止策略来防止过拟合问题,即当深度引导损失开始增加时,优化过程就会停止。此外,为了实现更高的稳定性,我们还应用了平滑度约束,确保相邻三维点具有相似的深度。我们采用 3DGS 作为基线,并在 NeRF-LLFF [30] 数据集中比较了我们方法的性能。我们证实,我们的策略不仅在 RGB 新视角合成方面,而且在三维几何重建方面都能带来可信的结果。通过进一步的实验,我们证明了深度和初始点等几何线索对高斯拼接的影响。它们极大地影响了高斯拼接的稳定优化。

总之,我们的贡献如下:

  • 我们提出了以深度为导向的高斯拼接优化策略,该策略可以用少量图像优化场景,从而缓解过拟合问题。我们证明,即使是经过稀疏点云调整的估计深度(SfM 管道的成果),也能在几何正则化中发挥重要作用。
  • 我们提出了一种新颖的早期停止策略:在深度引导损失下降时停止训练过程。我们通过全面的消融研究来说明每种策略的影响。
  • 我们的研究表明,深度图采用平滑项可以引导模型找到正确的几何图形。综合实验显示,加入平滑项后,性能得到了提升。

新颖的视图合成 来自运动的结构(SfM)[46] 和多视图立体(MVS)[45] 是利用多幅图像重建三维结构的技术,在计算机视觉领域已经研究了很长时间。在这些不断发展的技术中,COLMAP [41] 是一个被广泛使用的代表性工具。COLMAP 利用多视角图像的外极约束 [22] 进行相机姿态校准并找到稀疏的三维关键点。为了实现更密集、更逼真的重建,基于深度学习的三维重建技术已被广泛研究。[21, 31, 51] 其中,神经辐射场(NeRF)[31] 是一种使用神经网络作为表示方法的代表性方法。NeRF 利用 MLP 网络作为三维空间表达和体积渲染,创建了逼真的三维场景,产生了许多关于三维重建研究的后续论文。[3, 4, 18, 44, 47, 54] 特别是,为了克服 NeRF 速度慢的问题,许多人继续努力利用显式表达来实现实时渲染,如稀疏体素[16, 27, 43, 56]、特征点云[52]、张量[10]、多边形[11]。这些表示法具有独立运行的局部元素,因此能显示出快速的渲染和优化速度。在此基础上,人们尝试了多种表示方法,如多级层次[32, 33]、无穷小网络[19, 39]、三平面[9]等。其中,三维高斯拼接法[23] 通过阿尔法混合光栅化取代耗时的体积渲染,提出了一种快速高效的方法。它使用数百万高斯衰减球形谐波与不透明度作为基元优化三维场景,展示了简单、快速和高质量的三维重建。

少镜头三维重建 由于图像只包含三维场景的部分信息,因此三维重建需要大量的多视角图像。COLMAP 可将多幅图像之间匹配的特征点上传至三维空间,因此使用的图像越多,获得的三维点和摄像机姿势就越可靠。[48, 57] 然而,对大量图像的要求阻碍了实际应用,从而引发了仅使用少量图像进行三维重建的研究。许多少量三维重建研究利用深度为创建三维场景提供有价值的几何线索。通过引入表面平滑度约束 [25, 35]、监督从 COLMAP 获取的稀疏深度 [13, 49]、使用从额外传感器获取的密集深度 [2, 7, 15],或利用从预训练网络估算的密集深度,深度有助于减少通过多张图像中的颜色共识推断几何图形的工作量。[34, 37, 40] 这些研究根据神经网络的全局性对几何图形进行了正则化处理,因此很难将其应用于稀疏体素[16]或特征点[52]等具有较大局部性的表征。相反,他们试图通过总变异(TV)损失来建立三维空间中局部元素之间的连接性[16, 53, 59],但这需要对总变异进行详尽的超参数调整,而总变异因场景和位置而异。三维高斯拼接法[23]由于具有很强的局部性,在图像数量较少的情况下会产生浮动伪影。从高斯拼接子过程中可获得的稀疏 COLMAP 特征点是一种自由的深度引导,无需额外信息即可获得[40],但从少量图像中获得的稀疏点数量太少,无法引导所有具有强定位性的高斯拼接。我们通过预训练的深度估计模型 [5, 29, 58],使用粗几何图形引导进行优化。即使它们没有精确的精细深度,也能为拼接位置提供粗略的指导,这大大有助于在拍摄数量较少的情况下提高优化的稳定性,并有助于消除随机位置出现的浮动伪影。

Method

我们的方法基于 3DGS [23]。他们根据渲染图像的色彩损失 Lcolor 和 D-SSIM 损失 LD-SSIM 优化高斯光斑。在 3DGS 优化之前,我们使用深度估计网络为每幅图像估计深度图,并拟合稀疏深度图(第 3.1 节)。我们利用色彩光栅化流程从高斯拼接集合中渲染深度,并使用密集深度先验添加深度约束(第 3.2 节)。我们还为相邻像素深度之间的平滑度添加了额外的约束(第 3.3 节),并完善了少镜头设置的优化选项(第 3.4 节)。

Preparing Dense Depth Prior

为了引导拼接成可信的几何形状,我们需要提供全局几何信息,因为高斯拼接具有局部性。密度深度是很有前景的几何先验信息之一,但在构建密度深度时存在挑战。SfM 点的密度取决于图像的数量,因此有效点的数量太少,无法在少量拍摄的情况下直接估计密度深度。(例如,从 19 幅图像进行 SfM 重建时,生成的稀疏深度图平均只有 0.04% 的有效像素。[40])由于存在巨大的信息差距,即使是最新的深度补全模型也无法补全密集深度。

在设计深度先验时,需要注意的是,即使是粗略的深度也能极大地帮助引导花斑,消除因花斑陷入不正确的几何形状而产生的假象。因此,我们采用了最先进的单目深度估计模型和比例匹配,为优化提供粗略的密集深度引导。根据训练图像 I,单目深度估计模型 Fθ 输出密集深度 $D_{dense}$

为了解决估计密集深度 $D_{dense}$的尺度模糊问题,我们将估计深度的尺度 s 和偏移 t 调整为稀疏 SfM 深度 $D_{sparse}$:

其中,w ∈ [0, 1] 是一个归一化权重,表示每个特征点的可靠性,计算方法是 SfM 重投误差的倒数。最后,我们使用调整后的密集深度$D_{\mathrm{dense}}^=s^\cdot F_{\theta}(I)+t^*$来规范高斯拼接的优化损失。

Depth Rendering through Rasterization

三维高斯拼接利用光栅化流水线[1],借助 GPU 的并行架构渲染断开的非结构化拼接。基于可微分的基于点的渲染技术[26, 50, 55],他们通过α混合对拼接进行光栅化,从而渲染图像。基于点的方法利用与 NeRF 风格体积渲染类似的等式,用覆盖像素的有序点光栅化像素颜色

C 是像素颜色,c 是飞溅物的颜色,α 是学习到的不透明度乘以二维高斯协方差。受 NeRF 深度实现的启发,我们利用光栅化管道来渲染高斯花斑的深度图。

其中,D 是渲染深度,di = (Ripi + Ti)z 是摄像机拍摄到的每块碎片的深度。式 (6) 可以直接利用式 (5) 中计算的 αi 和 Ti,从而以最小的计算负荷快速渲染深度。最后,我们利用 L1 距离将渲染深度引导到估计的密集深度

Unsupervised Smoothness Constraint

尽管每个独立估计的深度都与 COLMAP 点相匹配,但仍经常出现冲突。受 [20] 的启发,我们为几何平滑度引入了一种无监督约束,以规范冲突。该约束意味着,在相似的三维位置上的点在图像平面上具有相似的深度。我们利用 Canny 边缘检测器 [8] 作为掩码,以确保它不会对沿边界深度差异显著的区域进行正则化。对于深度 di 及其相邻深度 dj,我们对它们之间的差异进行正则化处理:

其中 1ne 是一个指示函数,表示两个深度是否都不在边缘。我们将公式 (7) 中的深度损失、公式 (8) 中的平滑度损失和平滑度损失与各自的超参数 λdepth 和 λsmooth 结合起来,得出最终的损失项:

其中,前两个损耗项 Lcolor、LD-SSIM 对应于原始的三维高斯拼接损耗。

Modification for Few-Shot Learning

我们修改了原论文中的两种优化技术,以利用有限的图像创建 3D 场景。3DGS 中采用的技术是在利用大量图像的假设前提下设计的,这可能会阻碍在少量图像设置下的收敛。通过反复实验,我们证实了这一点,并对技术进行了修改,以适应少镜头设置。首先,我们将球面谐波(SH)的最大程度设为 1,这样可以防止由于信息不足而导致负责高频率的球面谐波系数过度拟合。其次,我们实施了基于深度损失的提前停止策略。我们将公式 (9) 配置为主要由颜色损失驱动,同时采用深度损失和平滑度损失作为指导因素。因此,由于颜色损失的主要影响,过拟合会逐渐出现。我们使用移动平均深度损失,当斑点开始偏离深度导向时停止优化。最后,我们删除了周期性重置过程。我们发现,重置所有拼板的不透明度 α 会导致不可逆转的有害后果。由于缺乏来自有限图像的信息,无法恢复溅斑的不透明度导致要么所有溅斑都被移除,要么陷入局部最优状态,造成意想不到的结果和优化失败。由于采用了上述技术,我们实现了少量学习中的稳定优化。

Experiment

Experiment settings

数据集。我们在 NeRF-LLFF [30] 数据集上对我们的方法进行了评估。NeRF-LLFF 包含 8 个带有前向摄像头的场景,我们将每个场景的图像分为训练集和测试集。由于摄像机分布在前方,我们根据凸壳算法[36]将摄像机组的图像外缘作为训练集。在每个实验中,我们用从训练集中随机选取的 k 张(k=2,3,4,5)图像优化场景,并在相同的测试集中进行评估。我们使用十个随机选择的种子,并报告十次实验的平均值。

实施细节。为了对不同方案进行公平比较,必须在每个场景中使用统一的坐标,并将评估值标准化。为此,我们通过 COLMAP 处理场景的全部图像,以获得一致的摄像机姿势和特征点,并选择与每个 k 次拍摄实验相关的摄像机姿势和特征点。我们从训练集中选择 k 个摄像机,并提取 k 个摄像机中至少有 3 个摄像机可见的特征点。我们使用这些特征点作为公式(4)中的深度引导点 Dsparse 和高斯拼接优化的初始点。在基线(3DGS)中,我们使用相同的 k 个摄像机姿势和相同的滤波初始点,像原始设置一样,在 30k 次迭代时报告评估值。对于神谕,我们旨在说明精确深度的有效性。我们通过优化训练和测试的整个图像来创建伪 GT 深度。我们用伪-GT 深度替换我们方法中的估计深度,并在神谕中报告结果。最后,我们基于 CUDA 实现了公式 (6) 所述的可微分深度光栅化器。

Experiment results

我们在表 1 中列出了 3DGS、我们的方法和 Oracle 在 NeRF-LLFF 场景中的比较结果。在所有方法和场景中,使用图像数量的减少始终会导致视觉质量的降低。与 3DGS 相比,我们的方法通常能取得更好的效果,尤其是在图像数量有限的情况下。图 3 展示了 3DGS 和我们的方法之间的差异。深度图凸显了 3DGS 在拍摄数量较少的情况下的几何失效。例如,在蕨类植物的 2 视图中,与 RGB 相似度相比,它显示的几何图形完全错误。在类似 2 视角的恶劣条件下,3DGS 往往无法形成合适的几何图形。与此相反,我们的方法在生成具有吸引力的图像的同时,还能形成合理的几何图形。我们在图 4 中展示了更多示例。裁剪后的斑块表明,我们的方法通过深度引导取得了更好的效果。因此,我们证实,深度提供的几何线索对高斯拼接的重建大有裨益,尤其是在图像数量有限的情况下。采用精确几何图形的神谕系统的卓越性能再次证实了这一事实。如图 5 所示,oracle 的示例图像证明了精确深度的有效性。伪几何深度提供了丰富的信息,即使图像数量有限,也能生成详细可靠的结果。一个值得注意的重要现象是,我们的方法在很大程度上依赖于预训练的单目深度估计模型。我们利用了在室内数据集 NYU Depth v2 [42] 和城市数据集 KITTI [28] 上训练的 ZoeDepth [5] 预训练模型。因此,我们的模型在室内场景(堡垒、房间、蕨类植物)中表现相对较好,而在自然场景(兰花、花朵)中表现相对较差。需要注意的是,树叶给 COLMAP 带来了挑战,导致高斯拼接训练普遍不成功。

Ablations

我们在表 2 中列出了对我们所建议方法的每个组成部分进行的消融研究。第一行和第二行显示了绝对深度引导的必要性。如果没有第 3.1 节中的调整过程,单目深度估计模型中的密集深度 Ddense 的比例是不正确的。深度与 COLMAP 中的相机固有参数不一致,导致训练完全失败。我们还观察到,在不使用第 3.2 节中介绍的深度监督的情况下,仅使用无监督平滑约束时也会出现优化失败。与基线相比,在没有绝对几何监督的情况下应用平滑约束会产生更差的结果。表 2 的第三行和第四行显示了附加技术的性能提升程度。在深度监控 D∗ 密集的情况下,第 3.3 节中的平滑度约束通过提供额外的几何线索来提高性能。值得注意的是,第 3.4 节中引入的早期停止机制在我们的方法中起到了防止性能下降的关键作用。通过利用深度损失,它可以仔细检查裂片与规定几何线索的偏离情况,从而有效阻止潜在的过拟合情况。在表 3 中,我们比较了不同高斯拼接初始化的性能。第二行说明了使用未投影密集深度 D∗ dense 所生成的点云作为初始化点时的结果。与稀疏 COLMAP 初始化相比,未投影产生的大量初始点没有得到有效合并或剪枝,导致性能降低。相比之下,第三行描述的结果假定使用了所有 COLMAP 点。通过密集深度调整和高斯拼接初始化,采用 k 幅图像无法实现的大量有利初始点有助于提高结果。

Limitation and Future Work

我们的方法通过深度引导证明了高斯拼接优化在少镜头设置中的可行性,但它也有局限性。首先,它严重依赖于单目深度估计模型的估计性能。而且,该模型的深度估计性能会根据学习数据域的不同而变化,从而影响高斯拼接优化的性能。此外,依赖将估计深度拟合到 COLMAP 点意味着对 COLMAP 性能的依赖,使其无法处理 COLMAP 可能失效的无纹理平原或具有挑战性的表面。我们将通过相互依赖的估计深度而不是 COLMAP 点来优化三维场景作为今后的工作重点。此外,探索在各种数据集(包括深度估算可能具有挑战性的区域,如天空)中正则化几何图形的方法,也是未来工作的另一个方向。

Conclusion

在这项工作中,我们介绍了针对少量图像中三维高斯拼接的深度规整优化,这是一种利用少量图像学习三维高斯拼接的模型。我们的模型利用深度对拼接进行正则化,证明了这种几何引导的有效性。为了获得密集的深度引导,我们利用了单目深度估计模型,并根据 SfM 点调整深度尺度。我们在 NeRF-LLFF 数据集中检验了我们提出的深度损失、无监督平滑约束和早期停止技术的有效性。我们的方法在创建可信几何图形方面优于三维高斯拼接法。最后,我们通过更多实验证明,改进的深度和初始化点可显著提高基于高斯拼接的三维重建性能。