ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器

发布于 2024-9-23 11:01
浏览
0收藏

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

文章链接:https://arxiv.org/pdf/2409.08270
项目链接:https://github.com/florinshen/FlashSplat

亮点直击

  • 引入了一种全局最优的 3D Gaussian Splatting分割求解器,大大提高了将 2D 分割结果提升到 3D 空间的效率。
  • 通过线性化简化了 3DGS 分割的过程,将 2D 到 3D 的分割任务转化为线性整数优化问题。该方法对二值分割和场景分割均有效。
  • 在优化中引入了背景偏置,展示了在 3D 分割中对噪声的优越鲁棒性,证明了该方法在各种场景分割中的鲁棒性和高效性。
  • 本文的方法具有显著的优化速度,能在 30 秒内完成整个过程,比现有方法快约 50 倍,同时确保给定 2D masks的全局最优性。
  • 广泛的实验验证了本文方法在后续任务中的优越性,包括物体移除和修复,突显了其在 3D 数据处理和应用中的巨大潜力。

总结速览

解决的问题

  • 现有方法在从2D mask中精确分割3D Gaussian Splatting(3D Gaussian Splatting, 3D-GS)时效率低下,通常依赖于迭代梯度下降法来给每个高斯分配一个唯一的标签,导致冗长的优化和次优解,效果欠佳。

提出的方案

  • 提出了一种简单且全局最优的3D-GS分割求解器,通过线性规划的方式闭式求解最优标签分配。
  • 核心思路在于,利用重建的3D-GS场景,2D mask的渲染可以视为与每个高斯标签的线性函数。

应用的技术

  • 利用线性规划技术来解决标签分配问题,避免了迭代优化。
  • 通过单步优化实现分割,并结合alpha混合特性。
  • 在目标函数中加入背景偏置,增强抗噪性。

达到的效果

  • 优化过程仅需30秒,比现有最优方法快50倍。
  • 实验表明该方法在分割多种场景时高效、鲁棒,并在后续的任务如物体移除和修复中表现优越。

方法

本节首先深入探讨了3D Gaussian Splatting(3D GS)的渲染过程,重点关注基于块的光栅化和alpha混合。接着描述了如何将此过程表述为整数线性规划 (ILP) 优化,用于3DGS的分割,并证明该问题可以通过闭式形式求解。鉴于2D mask通常带有噪声,引入了一个软化的最优分配来减轻这些噪声影响。除了二值分割之外,还扩展了该方法以涵盖场景分割,从而实现3D场景中所有物体的分割。最后,提出了一种基于深度信息的2D mask渲染方法,将3D分割结果从新视角投影到2D mask上。

初步:3D Gaussian Splatting (3DGS) 的光栅化

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

将二值分割表述为整数线性规划

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

形式上,分割问题可以表述为一个具有平均绝对误差的整数线性规划 (LP) 优化:

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

从二值分割到场景分割

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

基于深度引导的新视角mask渲染

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

实验

数据准备

数据集。为了评估本文方法的有效性,从多个来源收集了3D场景数据:MIP-360 数据集、T&T 数据集、LLFF 数据集、Instruct-NeRF2NeRF  和 LERF 数据集,这些数据集用于定性分析。为了进行定量分析,使用了 NVOS 数据集。

2D mask生成与关联。在实验设置中,使用了 Segment Anything Models (SAM)来提取mask,因为 SAM 的分割输出在本质上是不依赖于语义的。在我们的框架中,需要进一步将这些2D mask进行关联。本文的方法分为两种不同的策略,分别针对二值分割和场景分割。

对于二值分割,其目标是隔离单个前景实体,我们首先在单个参考视图上标记点提示。这些点提示通过参考视图的相机姿态投影回3D空间,以找到其最近的具有最小正深度的3D高斯点。随后,这些点提示被投影到其他视图中,通过投影其对应的3D高斯点的中心来传播。利用这些关联的点提示,SAM 独立生成每个视图的二值mask。

对于场景分割,本文的方法首先使用 SAM 为单独视图生成实例mask。为了在3D场景中为每个2D物体分配唯一的ID,将多个视图视作视频序列。利用zero-shot 视频跟踪器,确保在不同视点间一致地关联和传播物体。

实施细节

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

3D 分割结果

下图 4 展示了二值和场景 3D 分割的结果。第一行展示了来自 LERF 数据集 的 Figurines 场景,第二行展示了来自 MIP-360 数据集 的 Counter 场景。在这两个场景中,应用了场景分割方法,为每个场景渲染了 2 个视图的 5 个分割对象(在真值图像中圈出),展示了本文的方法在使用 SAM 预测的实例mask进行场景分割的能力。此外,第三、第四和第五行展示了二值分割结果,其中第三行展示了来自 LLFF 数据集 的 Horns 场景,第四行展示了来自 T&T 数据集 的 Truck 场景,第五行展示了来自 MIP-360 数据集 的 Kitchen 场景。两个视图的分割对象被渲染,显示了本文方法在分割 3D 对象方面的能力。

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

对象移除

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

对象修复

在 3D 对象移除之后,对象修复旨在修正未观测区域的伪影,确保 3D 场景内的视图一致性。首先,在移除后渲染视图,并使用 Grounding-DINO识别每个视图中的伪影区域,这些区域通过视频追踪器在视图之间进行跟踪。然后,使用预训练的 2D 修复模型 生成修复的 2D 视图。随后,通过在原始对象位置附近引入 20 万个新的高斯来调整 3DGS 参数,同时保持背景高斯不变。微调过程中,使用物体mask外的 L1 损失来最小化背景影响,并在修复mask内使用 LPIPS 损失来确保场景的自然性和一致性。在下图 5 中展示了对象修复的结果,为每个场景渲染了三个视图。对象修复后,噪声和孔洞被减少,展示了本文的方法可以有效地将前景与背景在 3D 分割中分离开来。

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

定量比较

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

计算成本

本文对 FlashSplat 的计算效率与之前的 3DGS 分割方法进行比较,特别是 SAGA 和 Gaussian Grouping。在评估过程中,使用了 LERF 数据集 中的 Figurines 场景,并在单个 NVIDIA A6000 GPU 上进行测试。基线方法需要通过 30,000 次迭代的梯度下降优化,将 2D mask转化为与每个 3D 高斯相关的对象特征,从而导致显著的额外训练时间来优化 3D 场景。相比之下,本文的方法仅需计算集合 {Ai}e,这一过程大约需时 26 秒,使其速度大约比基线快 50 倍。对于单个 3D 对象的分割,这些基线方法需要进行网络前向传播,而 FlashSplat 通过 arg max 高效地确定最优分配,仅需 0.4 毫秒。此外,对 GPU 内存使用的分析显示,我们的峰值内存消耗仅为之前方法 SAGA的一半。

消融研究

噪声减少的效果。为了进一步阐明之前提到的 2D mask中的噪声,下图 6 的左列中提供了由 SAM 生成的 2D mask的可视化结果,涵盖了两个场景。此外,还在相应的视图中渲染了 3D 分割后的对象mask,显示了提供的 2D mask中的断裂区域已得到修复。这证明了本文的方法在生成 3D 分割时对 2D mask噪声的鲁棒性。

ECCV`24 | 比现有方法快50倍!新加坡国立开源FlashSplat:简单&全局最优3D-GS分割求解器-AI.x社区

3D Segmentation with Fewer 2D Masks 

结论

本文引入了一种针对 2D mask的 3D Gaussian Splatting分割的最优求解器,显著提升了将 2D 分割提升到 3D 空间的准确性和效率。通过将 3D-GS 中的 alpha 组合分解为每个高斯的总体贡献,这种求解器只需要单步优化来获得最优分配。它不仅将优化过程加快了约 50 倍,而且通过简单的背景偏差增强了对噪声的鲁棒性。此外,这种方法还扩展到场景分割,并能够在新视图上渲染mask。大量实验表明,该方法在场景分割任务中表现优越,包括对象移除和修复。我们希望这项工作能够促进未来 3D 场景的理解和操作。


本文转自 AI生成未来 ,作者:Qiuhong Shen等


原文链接:​​https://mp.weixin.qq.com/s/1uGf3-TIGPcvTNZP5eKr9A​

标签
收藏
回复
举报
回复
相关推荐