专栏名称: 极市平台
极市平台是由深圳极视角推出的专业的视觉算法开发与分发平台,为视觉开发者提供多领域实景训练数据库等开发工具和规模化销售渠道。本公众号将会分享视觉相关的技术资讯,行业动态,在线分享信息,线下活动等。 网站: http://cvmart.net/
目录
相关文章推荐
南方能源观察  ·  电价暴涨续集:欧洲天然气供应不确定性增加 ·  昨天  
南方能源观察  ·  动力电池退役潮将至,如何规范回收产业链? ·  3 天前  
中国能源报  ·  匈牙利外长:“友谊”输油管道已恢复运行 ·  4 天前  
中国能源报  ·  匈牙利外长:“友谊”输油管道已恢复运行 ·  4 天前  
51好读  ›  专栏  ›  极市平台

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

极市平台  · 公众号  ·  · 2024-09-22 22:00

正文

↑ 点击蓝字 关注极市平台
来源丨AI生成未来
编辑丨极市平台

极市导读

 

这篇文章介绍了一种名为FlashSplat的新型3D Gaussian Splatting分割求解器,它通过线性化简化了3DGS分割过程,将2D到3D的分割任务转化为线性整数优化问题,提高了分割效率,比现有方法快约50倍,并确保了全局最优性。该方法在物体移除和修复等后续任务中表现出色,具有在3D数据处理和应用中的巨大潜力。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

文章链接: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) 的光栅化

3D Gaussian Splatting (3DGS) 是一种出色的新视角合成方法。与神经辐射场 (NeRF) 不同,它通过显示 3D 高斯并具有实时速度来重建 3D 场景。给定一组具有配对相机姿态的捕获视角,3D Gaussian Splatting通过学习 3D 高斯 来重建 3D 场景。每个 3D 高斯 通过以下参数进行表示:

  • 中心位置
  • 表示旋转的四元数
  • 三维尺度
  • :学习到的不透明度
  • : 表示视图相关颜色的三阶球谐函数

在渲染过程中,3DGS 采用光栅化pipeline来实现超高效率。具体来说,所有3D 高斯首先被投影到图像平面上作为 2D 高斯。然后将整个图像划分为 的瓦片, 如下图 1 所示, 每个瓦片 共享相同的 3D 高斯子集

在渲染每个像素时, 传统的 alpha 组合被应用于将这些 2D 高斯的属性 (颜色或深度) 根据它们的深度顺序混合到像素空间属性 中。

其中, 是渲染特定像素时的 alpha 值, 它是 与像素位置落入投影 2 D 高斯 的概率的乘积, 是透射率, 表示通过并未被前 个高斯吸收的部分。

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

从一个重建的3D Gaussian Splatting(3D-GS)场景开始,参数化为 ,其中包含 个渲染视图以及相应的 2D 二值mask,记为 。每个mask 的元素为 0 或 1 ,其中 0 表示背景, 1 表示前景。我们的目标是通过将 2D mask投影到 3D 空间中, 为每个 3 D 高斯 分配一个 3 D 标签 , 其值可以为 0 或 1 。

为此,通过一个可微分的渲染过程来优化 。将 视为公式 (1) 中的属性 。目标是最小化渲染mask 与给定二值mask 之间的差异。

随着 的重建,渲染所需的 变为常数。因此,渲染函数相对于混合属性 变为线性方程。这使我们能够灵活地通过简单的线性优化来求解最优mask分配。

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

其中 表示 3DGS 渲染器。由于对于任何 都有 , 并且在 alpha 混合中光只能被吸收, 因此吸收的总光量不能超过初始光强度, 该初始光强度被归一化为 1 。因此, 所有样本的吸收光分数之和受到如下约束:

这引导提出以下结论:

引理 1: 在 3D Gaussian Splatting的 alpha 混合过程中,对于

为了求解这个线性规划 (LP) 问题,根据引理 1 将公式 2 重写为:

其中,表示每个 3D 高斯点的标签。

其中, 是一个常数值, 分别作为指示函数, 表示背景和前景的存在。

通过多数投票法求解整数线性规划 (ILP) 。 为了最小化公式 4 中定义的函数 , 当所有对应mask 中的像素都表明为背景 ( 0 ) 时, 我们将 设为 0 。相反, 如果mask之间存在矛盾, 我们通过加权多数投票来解决。具体来说, 我们根据mask中最频繁出现的标签为每个高斯点 分配值, 如公式 6 所示。

形式上, 如果差值 , 其中 分别代表指示背景和前景的加权mask的计数, 我们将 以最小化 如果 , 则将 。在更一般的情况下, 我们可以将 的最优分配表述如下:

直观上, 这个最优分配概念是通过聚合各个 高斯在渲染过程中的贡献来实现的。那些在所有给定 mask中显著贡献于前景的高斯点被指定为前景,即 ,相反,主要贡献于背景的高斯点被系统地分配为背景, 即 。此外, 由于公式6中目标函数的简单线性组合形式, 我们可以同时为每个 3 D高斯点分配最优标签。

正则化ILP用于降噪。实际上,给定的2D mask集 通常是由训练好的2D视觉模型预测和关联的,这可能在某些区域引入噪声(如图6的第1列和第2列所示)。这些2D mask的特点可能导致3D分割结果中出现噪声。例如,如下图2(a)所示,因噪声误分类为前景的背景高斯点可能导致分割后的3D物体边缘尖锐且难以过滤。

为了解决这一问题, 对上述最优分配进行了改进。该改进首先通过 归一化对高斯点的整体贡献进行归一化, 表示为 。接着, 引入了一个范围为 的背景偏置, 用以重新校准 ,从而调整最优分配为:

使用 能有效减少分割结果中的前景噪声; 相反, 则有助于生成更干净的背景, 正如图2(b)和(c)分别展示的那样。这种软化的最优分配形式提供了灵活性, 能够针对不同的下游任务, 在 2 D mask 噪声的情况下产生准确的3D分割结果。

从二值分割到场景分割

在3D场景的不同视角中存在多个实例。要对这些场景中的多个物体进行分割, 需要根据上述公式多次执行二值分割。这一过程涉及反复收集 , 从而自然减缓了场景分割的速度。因此, 为了更有效地应对这一挑战,将方法从二值分割扩展到场景分割。

这种向多实例分割的转变受到两个关键因素的推动。首先, 重要的是要认识到 高斯点并不完全属于单个物体。例如,如图1所示,像素 虽然属于不同的物体(颜色块),但受到了同一个3D高斯点的影响。此外, 引入多个实例使得公式2中的约束复杂化, , 其中 表示场景中实例的总数。因此,提供的mask集 变为 ,以适应多个分割后的2D实例。这种约束会阻碍全局最优解的实现,因为实例之间的标签是可交换的。

为了规避这些挑战,我们将多实例分割重新解释为多个二值分割的组合,并根据公式 7 修改了最优分配策略。为了隔离标记为 的特定实例,将实例集中所有其他物体重新定义为背景来计算 。这一方法形式化如下:

通过这种公式, 只需一次累积集合 , 然后对该集合执行 操作, 就可以为每个物体 获取高斯子集 。因此,这允许用户通过指定物体ID来选择性地删除或修改这些3D高斯子集。还需要注意的是, 当 时, 不同实例的子集 可能会重叠, 这反映了3D高斯点分割本质上的非排他性特征。

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

由于上述公式避免了密集优化,本文的方法仅需大约 的masked 2D视图即可产生稳健的分割结果。这种效率也使得本文的方法能够为之前未见过的视图生成 2 D mask 。在二值分割的上下文中, 仅专注于渲染由 标识的前景高斯。此过程涉及为每个像素 计算累积的alpha值 。对于二值分割中的新视角mask渲染, 仅渲染具有 的前景高斯点, 以生成每个像素的累积alpha值 , 然后可以通过对alpha值 进行简单量化来获得2D mask, 阈值 是一个预定义的超参数。具体来说, 2D mask是通过对这些alpha值进行简单量化得到的,其中 表示预定义阈值, 是量化函数, 当 时, , 相反,

在场景分割中生成新视角mask时, 由于不同物体的分割结果会相互交叉(如公式8所示),因此生成的 alphamask可能存在模糊,如下图3的第3列所示。具体来说,在相同视角下渲染每个物体的关联3D高斯子集 可能会导致多个物体满足条件 。在这种情况下, 引入深度信息来确定最终的分割结果。在每个像素位置 处,使用深度 来过滤最终的 2 D mask结果。对于满足 且相对于摄像机在像素 处具有最小深度 的物体 , 最终被选为 。下图 3展示了二值分割和多物体分割在新视角下的2D mask预测结果。

实验

数据准备

数据集。为了评估本文方法的有效性,从多个来源收集了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 视频跟踪器,确保在不同视点间一致地关联和传播物体。

实施细节

在 CUDA 内核函数中实现了 方程7和方程8 中的最优 3D 分割。每个高斯的 计算采用基于瓦片的光栅化与渲染器进行, 不包括颜色分量 , 仅关注 。对于提供的mask集 中的每个像素,按照方程 1 进行 alpha 合成。然后,将每个高斯的 聚合到缓冲区 中,该缓冲区对应于像素标签 ,通过原子操作完成。利用光栅化 pipeline可以在 30 秒内完成所有对象的 集合。对于二值分割,直接应用 arg max 确定最优分配。在场景分割的情况下, arg max 通过动态规划进行迭代执行以加速。此分配确保了二值分割和场景分割的计算在 1 毫秒内完成,从而在计算完 集合后, 可以实现对 值的交互式调整。这种调整使用户能够有效减少各种下游任务中的分割噪声。

3D 分割结果

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

对象移除

3D 对象移除涉及从场景中完全消除一个对象的 3D 高斯子集。上图 4 中展示了这种移除的结果。需要注意的是,我们在所有场景中应用了背景偏差,以确保背景保持清晰。对于第一行和第二行中的小型 3D 对象,同时从场景中移除 5 个对象。由于这些场景的背景可能在其他视图中被观察到,因此这些场景中的伪影较小,甚至对于某些对象几乎不可察觉。对于第 3 行、第 4 行和第 5 行中描绘的更具挑战性的场景,移除对象后留下的空间显示出更嘈杂的背景,甚至是黑洞,这主要是由于较大的前景对象遮挡了背景。这种情况在 Horns 场景(第 3 行)中尤为明显,该场景仅包含正面视图。

对象修复

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

定量比较

本文使用 NVOS 数据集 进行定量分析,该数据集源自 LLFF 数据集。NVOS 数据集包含了 8 个面向前方的 3D 场景,每个场景提供了参考视图和目标视图的 2D 分割mask注释。本文的方法从参考视图的注释mask中采样点提示,然后将这些点提示传播到其他视图,以指导 SAM 的分割。随后,应用如 方程2 所示的二值分割方法来隔离前景 3D 高斯。接着,使用阈值进行新视图mask渲染,以渲染目标视图的 2D mask,从而计算所有 8 个场景的平均交并比 (IoU) 和平均准确率。比较结果如表 1 所示,将我们的 FlashSplat 方法与之前基于 NeRF 的 3D 分割方法(如 NVOS、ISRF 、SGIRF、SA3D 和 3D-GS 方法 SAGA)进行基准测试。本文的方法在该数据集中表现出色,优于其他方法。

计算成本

本文对 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噪声的鲁棒性。

3D Segmentation with Fewer 2D Masks  由于本文的方法不依赖于多步骤的梯度下降优化,因此它自然支持使用较少的 2D mask进行分割。为了验证这一能力,我们考虑了包括 1/4、1/8、1/16 和 1/32 的总视图数量的 2D mask子集。随后,通过将前景 3D 高斯渲染到未见过的视图中来可视化 3D 分割结果。如图 7 所示,即使仅使用总视图的 1/8,本文的方法也能够生成相当不错的分割结果。然而,当视图数量更少时,如 1/16 和 1/32,许多 3D 高斯在提供的mask中仍然未见,导致分割结果中可能出现伪影。

结论

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

参考文献

[1] FlashSplat: 2D to 3D Gaussian Splatting Segmentation Solved Optimally


公众号后台回复“数据集”获取100+深度学习各方向资源整理

极市干货

技术专栏:多模态大模型超详细解读专栏搞懂Tranformer系列ICCV2023论文解读极市直播
极视角动态欢迎高校师生申报极视角2023年教育部产学合作协同育人项目新视野+智慧脑,「无人机+AI」成为道路智能巡检好帮手!
技术综述:四万字详解Neural ODE:用神经网络去刻画非离散的状态变化transformer的细节到底是怎么样的?Transformer 连环18问!

点击阅读原文进入CV社区

收获更多技术干货