3DGSR: Implicit Surface Reconstruction with 3D Gaussian Splatting
——将SDF合并到3D高斯中,使它们能够对齐联合优化。
——可微的SDF到不透明度的转换函数,在学习过程中,优化 3D 高斯函数为 SDF 学习提供监督信号。然而,这仅在高斯占据的位置处向 SDF 提供稀疏的监督信号,这不足以学习连续的SDF。
——结合体积渲染。将渲染的几何属性(深度、法线)与从 3D 高斯导出的几何属性对齐。每次迭代仅采样几条光线。
结合SDF细化表面重建的理由:3DGS不能很好的重建表面——没有考虑点之间的几何约束,而这些点确实受到底层几何结构(即表面)的约束,从而导致点噪声。此外,离散和非结构化的点使得很难通过后处理提取 3D 表面。
【从高斯估计法线和深度。】通常情况下,通过使用三维高斯的中心,每个三维高斯都可以被视为传统的点云。然后,我们可以利用估算出的深度(法线),通过基于点的阿尔法混合(Gao 等人,2023 年)将它们渲染成深度(法线)图。
1.采用哈希网格和单层 MLP 来预测每个查询位置的 SDF 值。
2.变换函数
3.给定 3D 高斯,通过查询相应的 SDF 值并使用函数 Φ 对其进行转换来确定其不透明度值。
【只能在高斯存在的位置提供监督 不能优化连续SDF】
【利用体积渲染通过从神经隐式 SDF 查询沿投射光线的点来生成深度和法线。随后,采用深度(法线)一致性损失来将渲染的深度(法线)与从 3D 高斯函数导出的深度对齐。】
SDF:将每个位置映射到其距目标表面的有符号距离(3->1)多分辨率哈希网格与单层MLP实现(tcnn)
变换函数:更靠近表面的点对渲染像素贡献更大,因此具有更高的不透明度值。
𝛽:可学习参数
3.1通过最小化光度损失来优化 3D 高斯函数来更新SDF场:
这个损失函数使渲染时在x位置贡献更大的高斯具有更高的不透明度值,同时反过来促使SDF函数值更接近0,即更接近表面。
3.2还施加一个约束,保持渲染法线和从高斯函数获得的法线一致性:
3.3此外,遵循 Eikonal 方程 [Gropp 等人。 2020] 惩罚 f 的偏差:
3.4通过将中心的 SDF 值限制为接近于零来强制高斯分布遵循表面:
4.利用体积渲染正则化SDF。
上述监督信号仅适用于 3D 高斯分布的位置,主要是靠近表面的位置。这不足以正则化连续 SDF,导致在高斯未覆盖的位置出现伪影。
使用一致性损失,将 SDF 的深度(法线)与高斯得出的深度(法线)保持一致,为在高斯未占据的区域完善 SDF 提供额外的监督信号。
具体来说,沿着投射光线累计深度和法线:
之后,利用高斯渲染的深度D和法线N来监督体积渲染结果D和N,通过优化以下目标:
总损失: