引言

在 3D 计算机视觉领域,从 2D 图像重建数字对象是一项基础性的探索。我们希望对着一个物体——一件 T 恤、一朵花、一座复杂的雕像——拍几张照片,就能将其转化为完美的 3D 模型。多年来,该领域一直由假设物体具有“水密性” (watertight) 的方法所主导,这意味着物体是封闭的体积,具有明确的内部和外部。想象一个球体或立方体;你要么在它里面,要么在它外面。

但现实世界并不总是“水密”的。想想一件衣服、植物的叶子或一把撑开的伞。这些都是“开放表面”。它们很薄,有边界,且不一定包围一个体积。传统的依赖有向距离函数 (SDFs) ——将空间分类为正 (外部) 或负 (内部) ——的方法在这里会彻底失效。

这就轮到无向距离函数 (UDF) 登场了。与 SDF 不同,UDF 只是告诉你离最近的表面有多远,而不分“内部”或“外部”。这使得它们非常适合开放表面。然而,从图像中学习高质量、连续的 UDF 历来都很慢且计算昂贵,通常依赖于像 NeRF (神经辐射场) 这样的体积渲染技术。

最近一项名为 “GaussianUDF: Inferring Unsigned Distance Functions through 3D Gaussian Splatting” 的研究提出了一种突破性的解决方案。通过利用3D 高斯泼溅 (3DGS) 极快的速度和显式表示,研究人员找到了一种高效重建准确、清晰的开放表面的方法。

比较可视化显示了 GaussianUDF (Ours) 相对于 2DGS 和 2S-UDF 等其他方法的优越重建效果。注意风车和雨伞骨架中保留的细节。

如上图所示,当其他方法导致几何结构破碎或细节被平滑掉时,GaussianUDF 捕捉到了风车和雨伞等开放表面的复杂结构。在这篇文章中,我们将解读这种方法是如何弥合离散的 3D 高斯与连续的隐式函数之间的鸿沟的。

背景: 显式与隐式

要理解 GaussianUDF 为何重要,我们需要了解 3D 表示中的两个主要角色:

  1. 隐式表示 (UDFs) : 这些将形状表示为一个连续的数学函数。对于 3D 空间中的任何点,该函数返回到表面的距离。表面本身是“零水平集” (距离为 0 的地方) 。它们非常适合处理拓扑结构和光滑度,但很难直接从图像中优化。
  2. 显式表示 (3D 高斯) : 最近因 3D 高斯泼溅而流行,这种方法将场景表示为一团 3D 椭球体 (高斯) 。它的渲染速度极快,因为它使用的是光栅化 (泼溅到屏幕上) ,而不是昂贵的光线步进 (ray-marching) 。

问题所在

虽然 3D 高斯泼溅速度快且生成的图像漂亮,但产生的“网格”本质上是一团松散的、不连贯的斑点。它缺乏提取高质量几何结构所需的连续表面定义。相反,UDF 提供了出色的表面定义,但训练速度很慢。

研究人员的目标是将它们结合起来: 利用 3D 高斯的速度来监督并学习一个连续的 UDF。

然而,这里有一个陷阱。UDF 具有复杂的梯度场,特别是在表面附近 (距离为零的地方) 。梯度在表面处未定义,并且在穿过表面时方向会立即翻转。这使得使用 SDF 文献中常见的标准梯度下降方法来训练神经网络学习 UDF 变得极其不稳定。

核心方法: GaussianUDF

该方法,即 GaussianUDF , 不仅将 3D 高斯视为渲染图元,还将其视为指导底层 UDF 学习的“锚点”。

该架构涉及一个协同循环:

  1. 优化 2D 高斯以匹配输入图像 (标准的 3DGS) 。
  2. 使用高斯来监督 UDF 网络 , 教它表面在哪里。
  3. 使用 UDF 梯度来微调高斯的位置,将它们紧紧地吸附在表面上。

GaussianUDF 方法概览,展示了 UDF 优化、高斯投影和监督策略之间的相互作用。

让我们拆解一下使其奏效的具体创新点。

1. 2D 高斯: “煎饼”式方法

标准的 3D 高斯是椭球体。然而,为了表示薄表面 (如布料) ,扁平的、像煎饼一样的形状在几何上更优越。作者采用了 2D 高斯泼溅 , 其中高斯被扁平化为由两个缩放因子 (宽度和高度) 和一个法向量 (方向) 定义的平面。

渲染过程遵循标准的泼溅方程,其中颜色 \(c_i\) 和不透明度 \(\alpha_i\) 混合形成图像 \(C'(u,v)\):

使用高斯 Alpha 混合渲染颜色的方程。

通过最小化渲染图像与真值图像之间的差异来训练模型:

RGB 损失方程。

虽然这处理了视觉外观,但它不能保证几何形状是一个干净、连续的表面。这正是 UDF 发挥作用的地方。

2. 弥合鸿沟: 远端与近端监督

这篇论文的核心贡献在于研究人员如何利用 3D 高斯来训练 UDF。他们将空间划分为两个区域: 远端 (远离表面的区域) 和近端 (紧邻表面的区域) 。

远端监督: 粗略对齐

对于远离表面的点,高斯的中心充当几何形状的粗略近似。研究人员在空间中采样随机查询点,并使用 UDF 的梯度将这些点“拉”向零水平集。

投影方程通过预测距离 \(d_j\) 沿着梯度方向移动点 \(q_j\):

使用 UDF 梯度将查询点投影到零水平集上的方程。

然后,他们强制这个投影点与最近的高斯中心对齐。这种粗略的监督确保了 UDF 场在总体上与视觉点云的位置一致。

远端监督的损失函数 (倒角距离) 。

近端监督: 新颖的自监督

这是最关键的创新。仅仅依靠高斯中心是不够的,因为高斯是稀疏的;它们之间有空隙。

为了填补空隙并处理表面附近不稳定的梯度,作者引入了一种利用 2D 高斯扁平平面进行的自监督策略。

由于 2D 高斯实际上是一小块表面补丁,我们知道:

  1. 这个补丁上的任何点距离都为 0。
  2. 沿法向量移动距离 \(t\) 的任何点,其 UDF 值应为 \(t\)。

研究人员在扁平高斯的表面上随机采样“根点” (\(r_i\)) 。然后,他们通过沿法向量移动随机量 \(t\) 来创建训练对。

图解说明自监督策略: 在高斯平面上采样根点,并沿法线创建非表面查询点。

这创建了一组密集的训练数据 \(\{e_{i,h}^b, t_b\}\),其中 \(e\) 是空间坐标,\(t\) 是真值距离。损失函数只需确保 UDF 网络正确预测该距离:

近端监督损失函数。

这种策略允许网络在被高斯覆盖的整个表面区域上连续且平滑地学习距离场,而不仅仅是在它们的中心。

3. 将高斯过拟合到表面

为了使监督准确,高斯本身必须恰好位于表面上。作者引入了投影约束

他们取一个高斯的中心 \(\mu_i\),计算 UDF 认为表面在哪里的位置,然后显式地最小化高斯中心与该投影位置之间的距离。

将高斯中心投影到零水平集的方程。

这建立了一个反馈循环: UDF 向高斯学习,而高斯吸附到 UDF 的零水平集上。这显著减少了点云中的噪声,如下图所示:

比较显示投影约束如何减少点云中的噪声。

4. 正则化

为了确保几何形状在物理上是合理的,应用了两个额外的约束:

  1. 深度正则化: 鼓励高斯沿视线紧密聚集,防止出现从某个角度看是正确的但几何上混乱的“漂浮物”或半透明云雾。 深度正则化方程。

  2. 法线约束: 将 2D 高斯的显式法线与从渲染深度图导出的法线对齐。这确保了“煎饼”的方向与整体表面形状一致。 法线约束方程。

总损失函数

最终的优化结合了所有这些元素: RGB 重建、结构相似性 (SSIM) 、远/近端 UDF 监督、投影约束和正则化。

结合所有不同损失项的总损失函数方程。

实验与结果

研究人员在多个数据集上验证了 GaussianUDF,包括 DeepFashion3D (具有开放表面的服装) 和 DTU (一般物体) 。

重建开放表面

主要目标是比现有方法更好地处理开放表面。在下面 DeepFashion3D 数据集的比较中,请注意指示误差的热力图 (红色/黄色为高误差,蓝色为低误差) 。

DeepFashion3D 上的定性比较。与基线相比,GaussianUDF 显示出显著更低的误差 (更多蓝色) 和更好的细节保留。

基于 SDF 的方法 (如 2DGS 和 GOF) 表现不佳,因为它们试图封闭表面,导致双层或细节被平滑掉。UDF 基线 (如 NeuralUDF) 捕捉到了开放拓扑结构,但往往丢失了像衣服褶皱这样的精细细节。GaussianUDF 实现了最准确的重建。

一般物体的视觉质量

即使在包含水密物体的标准数据集 (如 DTU) 上,GaussianUDF 的表现也非常出色。

DTU 数据集上的视觉比较。误差图显示 GaussianUDF 在像熊雕像这样复杂的形状上实现了极低的误差率。

该方法重建了精细的细节,并有效处理了复杂的照明条件。数值分析 (倒角距离) 证实了这一点,显示 GaussianUDF 击败或匹配了最先进的方法。

显示倒角距离结果的定量表格。GaussianUDF 实现了最低的平均误差。

真实世界扫描

合成数据是一回事,但真实世界的数据充满噪声。作者在 NeUDF 数据集和他们自己拍摄的场景上进行了测试。

NeUDF 数据集上的真实扫描重建结果,展示了清晰的开放叶片和薄结构。

额外的真实世界结果,展示了花朵和复杂几何体的高保真重建。

结果表明,该方法足够鲁棒,可以处理真实世界摄影测量中的噪声和变化的密度。

为什么它有效? (消融实验)

作者进行了消融实验,以证明其复杂损失函数的每一部分都是必要的。

视觉消融研究显示,逐步添加约束如何将几何形状从一团模糊改进为详细的雕像。

  • 仅 L_far: 导致一团模糊、嘈杂的混乱。
  • + L_proj: 表面变薄,但产生了孔洞。
  • + L_near: 孔洞被填补,表面变得连续。

这在视觉上证实了近端监督 (在高斯平面上采样) 是实现完整表面重建的“秘方”。

学习到的场分析

论文中最有趣的视觉化之一是 UDF 场本身的切片。

不同方法学习到的 UDF 场的可视化。GaussianUDF 生成了最平滑、最完整的水平集。

在上图中,你可以看到距离场的“能量”。

  • NeuralUDF 在远离表面的地方场很弱。
  • 2S-UDF 噪声很大且过拟合纹理。
  • GaussianUDF 产生了一个平滑、干净的梯度,清晰地定义了物体边界。

因为这个场非常干净,它甚至可以用来变形任意点云。在下面的例子中,一个苹果形状的点云被 GaussianUDF 场逐步“拉动”,直到它变成了裙子的形状。

演示使用学习到的 UDF 场进行点云变形。

结论

GaussianUDF 代表了 3D 重建的一大进步。通过成功地将 3D 高斯泼溅的显式、快速特性与无向距离函数的连续、拓扑无关特性相结合,研究人员解决了一个主要瓶颈。

主要收获如下:

  1. 开放表面是可解的: 我们不再需要依赖那些在衣服或植物上失效的水密性假设。
  2. 混合方法获胜: 纯隐式方法 (基于 NeRF 的 UDF) 很慢;纯显式方法 (高斯) 缺乏连通性。混合方法提供了两全其美的方案。
  3. 几何感知监督: 巧妙地利用扁平高斯平面生成“近端”监督数据,稳定了众所周知难以优化的 UDF 训练。

随着数字孪生和 3D 内容创作在从时尚到游戏等行业中变得越来越核心,像 GaussianUDF 这样能够快速准确地数字化杂乱、开放表面的现实世界的方法将变得无价。