前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >FlashSplat: 以最佳方式求解 2D 到 3D 高斯展开分割 !

FlashSplat: 以最佳方式求解 2D 到 3D 高斯展开分割 !

作者头像
未来先知
发布2024-12-30 15:23:53
发布2024-12-30 15:23:53
2640
举报
文章被收录于专栏:未来先知未来先知

本研究旨在解决准确分割3D高斯分水(3D-GS) FROM 2D Mask 的挑战。传统方法通常依靠迭代梯度下降为每个高斯分配唯一的标签,导致长久的优化和次优解。

相反,作者提出了一种直接且全局最优的3D-GS分割解决方案。作者方法的核心见解是:在重构的3D-GS场景中,2D Mask 的渲染 essentially 是一个与每个高斯标签的线性函数。

因此,最优标签分配可以通过线性规划得到闭式解决方案。该解决方案利用了分水过程的alpha混合特性进行单步优化。

通过将背景偏差纳入作者的目标函数,作者的方法在对抗噪声的三维分割中表现出卓越的鲁棒性。值得注意的是,作者的优化过程耗时仅需30秒,比现有的最佳方法快约50倍。

大量实验证明了作者的方法在分割各种场景的效率和鲁棒性,以及在下游任务如目标去除和修复中的优越性能。

示例和代码将在https://github.com/florinshen/FlashSplat。

1 Introduction

理解和交互3D环境是计算机视觉面临的一个艰巨而关键的挑战。在这个挑战中,准确地感知和分割3D结构是一个核心任务,随着作者对3D场景的更复杂表示的深入探索,这个任务也变得越来越复杂。最近,3D高斯切片(3D-GS)[17]作为一种尖端的方法出现,承诺将改变作者渲染和重构3D空间的方式。通过采用大量彩色3D高斯分布,这种方法达到了高保真度的3D场景表示,为复杂物体和场景渲染提供了极具吸引力的精确度和视觉质量。

然而,尽管3D-GS有着无穷的潜力,但一个显著的障碍依然存在:从2D Mask 分割这些3D高斯,这是一个过程,对于从目标识别到场景操作的各种应用至关重要。目前针对这一挑战的方法 [3, 54]主要是依赖迭代梯度下降方法进行标记3D高斯。但这些方法受到收敛速度慢和容易陷入次优解的限制,使其在需要实时性能或高准确度的应用中变得不实用。

为解决这个问题,作者的工作引入了一个简单但全局最有效的解算器,用于分割3D高斯切片。作者的方法利用了从重构的3D高斯切片获得的分割2D图像的渲染过程可以简化为一个涉及每个高斯分布累积贡献的线性函数的洞察。这一认识使作者能够将问题转化为一个线性整数优化问题,可以采用封闭形式求解,仅依赖分摊过程固有的alpha组成项。这一突破简化了分割任务,跳过了迭代优化的步骤,并直接导致了最优标签的分配。

此外,通过在作者的目标函数中集成一个背景偏差,作者还增强了方法在3D分割中对抗2D Mask 噪声的能力。这种完善不仅增强了作者解决方案的鲁棒性,还提高了其适用性,跨越更广泛的场景条件和条件。惊人地,作者的解算器在约30秒内完成了优化,比现有方法快50倍,同时确保了给定2D Mask 的全局优化。

通过广泛的实验,作者验证了作者的方法在有效地分割各种场景方面的优越性,在目标消除和修复等下游任务中表现出色。这些结果强调了作者的方法在3D场景处理和理解方面的巨大潜力。

作者的工作的主要贡献如下:

  • 作者引入了一个全局最有效的解算器,用于3D高斯切片的分割,这显著提高了将2D分割结果提升到3D空间的效率。
  • 作者通过线性化简了3D-GS渲染过程,将2D到3D分割任务转换为线性整数优化问题,这对二进制和场景分割都有效。
  • 作者在优化中引入了背景偏差,证明了在3D分割中对抗2D Mask 噪声的优越性,展示了作者的方法在多种场景分割和条件下的鲁棒性和效率。
  • 作者的方法在约30秒内完成了优化,比现有方法快50倍,同时确保了给定2D Mask 的全局优化。
  • 广泛的实验验证了作者在下游任务中的优越性,包括目标消除和修复,从而突显了作者的方法在3D数据处理和应用方面的巨大潜力。

2 Related-work

3D Gaussian Splatting

3D高斯插值法已成为一种高效的反渲染方法,通过在[9, 18]的空间中学习显式的3D高斯来从2D图像中重构3D场景。最近的研究看到一系列将这种方法扩展到捕捉动态3D环境的研究所取得进展,通过学习3D高斯的 Reshape 场来自动捕捉3D高斯。与此同时,另一条研究道路将3D高斯插值法与扩散模型结合,生成静态[40, 56, 62]或动态[36] 3D物体。这些工作中的很大一部分利用了3D高斯插值法提供的显式表示进行快速优化。作者的方法主要集中在将相应的2D Mask 提升到重构的3D高斯场景上。作者还利用3D高斯插值法的显式表示将3D场景的分割作为一个线性规划优化问题,从而实现即时的3D分割。

3D Neural scene segmentation

近年来,神经3D场景表示的进展,包括NeRF、DVGO等,在3D场景重建方面展现出了非凡的能力。受到这些发展的启发,在上述框架内进行3D分割的研究已成为一个重要的研究领域。语义NeRF[61]首次展示了NeRF在进行语义传播和精炼方面的能力。NVOS[37]通过利用在专用3D特征上训练的轻量级MLP,实现了用户对3D目标的选择交互。同时,一系列研究包括N3F、DFF、LRF和ISRF[12, 19, 22, 46]将2D视觉模型集成起来,通过提高2D视觉特征来促进3D分割,从而为分割处理嵌入的3D特征。此外,各种方法结合了实例分割和语义分割方法与光场,进一步探索这个领域。

与作者工作最密切相关的方法是SAGA[3]、Gaussian Grouping[54]和SAGS[16]。这些工作集中于将由Segment Anything Model (SAM) [20]生成的2D Mask 与3D高斯插值进行关联。Gaussian Grouping使用视频跟踪器将2D Mask 与3D高斯相联系,然后通过使用2D身份损失和3D正则化损失将这些作为目标特征进行提取。类似地,SAGA也将2D Mask 转化为3D特征,需要为每个3D高斯求解额外的训练特征。这两种方法都受到在优化高斯特征之前进行3D分割所需的巨大训练成本的限制。SAGS通过将3D高斯的目标中心映射到2D Mask ,引入了一个无监督的优化方法。这种方法采用直观的分割标准,当模拟的中心落在前景 Mask 内时,将其分类为前景高斯。

作者的方法独特之处在于,将2D Mask 提升为3D高斯插值问题视为线性规划优化问题,并在一次优化步骤中解决。作者的方法仅专注于将相关2D Mask 提升到3D高斯遮核,提供一个独立的、高效的分割解决方案,无需额外的训练和后处理。

3 Methods

在本部分中,作者首先深入探讨了3D高斯插值(3DGS)的渲染过程,重点关注基于方块的 rasterization 和 alpha 混合。然后,作者描述了如何将3DGS的分割作为一个整数线性规划(ILP)优化问题,并证明这个问题可以得到一个封闭形式的解。考虑到2D Mask 通常具有噪声,作者提出了一种软化最优分配,以减轻这些噪声。除了二进制分割外,作者将作者的方法扩展到包括场景分割,使得可以对3D场景中的所有物体进行分割。最后,作者提出了一个根据深度信息渲染2D Mask 的方法,将3D分割结果从新的视点投影到2D Mask 上。

Binary Segmentation as Integer Linear Programming

作者先从重建的3DGS场景开始,由参数化。它包括个渲染视图及相关2D二进制 Mask ,表示为。每个 Mask ,中的元素为0或1,其中0表示背景,1表示前景。作者的目标是将每个3D高斯分配一个3D标签,,它可以是0或1,通过将2D Mask 投影到3D空间来实现。

为了实现这一目标,作者通过一个可微渲染过程优化。作者假设作为方程(1)中的属性。目标是使渲染 Mask 与提供的二进制 Mask 之间的差异最小化。幸运的是,当重建完成时,和在渲染过程中变为常数。因此,渲染函数成为关于混合属性的线性方程。这使作者有了通过简单的线性优化解决最优 Mask 分配的大范围灵活性。

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

其中表示3DGS渲染器。给定任何的和,以及给出的颜色在alpha混合中只能被吸收,吸收的总光线强度不能超过初始光线强度,因此归一化为1。因此,所有样本上的吸收光线分数的总和有:。这导致作者引入:

引理1:在3D高斯切片内的alpha混合中,对于,_

由于所有Mi中的像素都指示为背景(0),当所有与M^v中的像素相关的权重 Mask 和背景之间的差异(A0-A1)大于0时,作者有P_i=0,以最小化f(mathcal F)。当(A0-A1)小于0时,作者 assigned P_i=1。在一个更一般化的上下文中,作者可以将{P_i}的最优分配表示为:

P_i =argmax_n A_n, n∈{0,1}

其中,α。

直观上,这种最优分配是为了汇总在其渲染过程中的单个3D高斯体的贡献。在所有给定的 Mask 中,显著贡献于前景的部分被指定为前景,记为 ,反之,主要贡献于背景的部分则系统地分配给背景,记为 。此外,得益于方程6中的简单线性组合形式,作者可以同时为每个3D高斯体分配最优标签。去噪的正则化整数规划(ILP)。 实际上,给定的2D Mask 集通常由经过训练的2D视觉模型进行预测和关联,这在某些区域可能会引入噪声(如图6的列1和列2所示)。这种给定2D Mask 的特征可能导致噪声3D分割结果。例如,如图2(a)所示,由噪声错误地分类为前景的前景高斯体可能导致具有尖锐、难以过滤的边缘的分割3D目标。

为了应对这个问题,作者对上述最优分配进行改进。改进的过程首先通过正则化对高斯体的整体贡献进行归一化,表示为。然后引入一个背景偏差,取值范围在之间,以重新校准,从而调整最优分配为。使用有效地减小了分割结果中的前景噪声,而相反,导致了更清晰的背景,如图2(b)和(c)所示。这种软化的最优分配提供了在面对不同下游任务时的2D Mask 噪声,生成准确3D分割结果的灵活性。

From Binary to Scene Segmentation

在3D场景中存在大量的实例。对这些场景中的多个物体进行分割,需要多次执行二值分割以满足上述公式。这个过程包括多次收集{A0,A1}等,这会天然地减慢场景分割的速度。因此,作者将作者的方法从二值分割扩展到包括场景分割,以更高效地解决这个问题。

这一转向多实例分割是由两个关键因素驱动的。首先,作者必须认识到3D高斯并不完全属于单个物体。这在图1中有所体现,像素u1和u2由相同的3D高斯影响,尽管它们属于不同的物体(颜色块)。此外,引入多个实例会使方程2中的约束变得更加复杂,即,其中表示场景中的总实例数量。因此,提供的 Mask 集合变为以包含多个分割的2D实例。这些约束使得无法实现全局最优,因为不同实例的标签可以互换。

图2:背景偏置的影响。通过调整作者最优分配中的背景偏置,可以灵活地减轻由于2D Mask 引起的噪声3D分割,为各种下游应用。

要克服这些挑战,作者将多实例分割重新解释为二值分割的组合,并按照方程7的说明修改最优分配策略。为了在3D场景中特定的实例中隔离出标记,作者将实例集合中的其他所有物体定义为背景来计算。这种方式如下所示:

其中

采用这种形式,作者只需要累积集合{Ae}一次,然后在这组集合上执行,从而得到每个物体的3D高斯子集{Gi_e}。这将允许用户通过指定物体ID选择性地删除或修改这些3D高斯子集。值得注意的是,在时,不同的实例的子集可能会在规定下重叠,这反映了3D高斯插值(在补充材料的第8.3节中可以找到更多详细信息)的固有非排他性。

Depth-guided Novel View Mask Rendering

由于给定的方法消除了对密集优化的需求,作者的方法仅需大约10%的遮挡2D视图就能生成稳健的分割结果。这种效率也使得作者的方法具有生成先前未见视图中2D遮挡的生成2D遮挡的能力。在二值分割的背景下,作者仅关注生成被标记为的前景高斯核。该过程涉及到为每个像素计算累积值。在二值分割的新视角下遮挡渲染,作者只需渲染前景点率标记为的高斯核,为每个像素计算累积值,然后通过简单的值阈值量化,即可得到2D遮挡。其中,,且是一个预定义的超参数。具体来说,2D遮挡是通过直接对值进行量化得到的,其中,当,,反之。

在场景分割的新视角遮挡渲染中,由于不同物体分割结果之间的交叠,如图3第三列所示,可能会产生歧义。具体来说,在同一视点下渲染每个目标的关联3D高斯子集可能会导致多个目标满足条件。在这种情况下,作者引入深度来确定最终的分割结果。每个像素位置的深度被用于过滤最终的2D遮挡结果。满足且相对于给定像素在相机中的最小深度的物体被选作。总之,图3展示了针对二值和多目标分割的新视角下2D遮挡的预测。

4 Experiments

第四节实验部分的开始。

Data preparation

数据准备部分的开始。

4.1.1 Dataset.

为了评估作者方法的有效性,作者从多个来源收集了3D场景:MIP-360 [1]数据集,T&T [21]数据集,LLFF [29]数据集,Instruct-NeRF2NerF [13],以及LERF [19]数据集,作为定性分析的基础。在定量分析中,作者使用了NVOS [37]数据集。

4.1.2 2D mask generation and association.

在作者的实验设置中,作者使用 Segment Anything Models (SAM) [20] 来提取 Mask ,因为 SAM 的分割输出天生就是语义无关的。在作者框架内进一步关联这些2D Mask 就变得必要起来。作者的方法分为两种不同的策略,分别针对二分类和场景分割。对于二分类分割,目标是从单一背景中分离出一个前景实体,作者首先在单个参考视图中标记点提示。这些点提示通过参考视图相机姿态映射到3D空间,并找到最小正深度距离最近的3D高斯。随后,这些点提示通过映射其对应的3D高斯中心传播到其他视图中。利用这些关联的点提示,SAM独立为每个视图生成一个二分类 Mask 。对于场景分割,作者的方法首先使用 SAM 为每个视图生成实例 Mask 。为每个2D目标分配一个唯一ID在3D场景中,多个视图可以被视为一个视频序列。使用一个零样本视频跟踪器[7, 54],作者确保在视点之间保持目标的统一关联和传播。

Implementation details

作者在CUDA Kernel 函数中的式7和式8中实现了最优化3D分割。每个高斯分布的的计算使用基于滑块的栅格化,同时排除颜色分量,仅关注。对于提供的蒙版集合中的每个像素,作者执行根据方程1定义的alpha组合。然后,每个高斯分布的通过原子操作汇总到缓冲区,对应于像素标签。利用栅格化流水线,所有目标的集合可以在30秒内完成。对于二进制分割,作者直接应用确定最佳分配。在场景分割的情况下,在动态规划的支持下迭代执行,以加速。这种分配确保了二进制和场景分割的计算在1毫秒内完成,从而在计算得到集合后方便用户有效降低各种下游任务的分割噪声。

3D segmentation results

在图4中,作者展示了二进制和场景3D分割的结果。第一行呈现了来自LERF数据集[19]的图章场景,第二行展示了来自MIP-360数据集[1]的计量场景。在这两个场景中,作者应用了作者的场景分割方法,为每个场景的5个分割物体(如图像中的圆圈所示)渲染两个视图,证明了作者的方法在利用SAM预测实例 Mask 的情况下进行场景分割的能力。此外,二进制分割在第三、四和五行中展示,第三行展示了来自LLFF数据集[29]的角场景。第四行展示了来自T&T数据集[21]的货车场景。第五行展示了来自MIP-360数据集[1]的厨房场景。作者对分割物体进行了渲染,展示了作者的方法在分割3D物体的能力。

Object Removal

三维物体消除涉及完全从场景中消除物体三维高斯子集。如Figure 4所示,消除后的结果进行了展示。需要注意的是,作者对所有场景都应用了一个背景偏置,以确保背景仍然清晰。对于第一行和第二行的小型三维物体,作者同时从场景中移除5个物体。由于这两个场景的背景在其他视图中可能被观察到,因此这些场景中的伪影对于某些物体来说即使不易察觉也是显而易见的。

对于第三行、第四行和第五行所示的更具挑战性的场景,被移除物体的空间暴露出一个噪点更严重的背景,甚至可能出现黑洞,主要是由于被大型前景物体阻挡了背景。这种情况在鹿角场景(第三行)中尤为明显,这个场景只包括向前看的角度。

Object Inpainting

在进行三维物体消除后,物体补全的目标是纠正未观察到的区域瑕疵,以确保三维场景内的视图一致性。首先,作者对消除后的视图进行渲染,并使用Ground-DINO [26]识别每个视图中的瑕疵区域,跨视图使用视频跟踪器[7]对其进行跟踪。然后,使用预训练的二维物体补全模型[43]生成补全后的二维视图。

随后,作者用这些视图来微调三维几何结构(3DGS)参数,引入了位于原始物体位置附近200K个新的高斯核,同时冻结了背景高斯核。微调包括在物体 Mask 外部使用L1损失最小化背景影响,并在补全 Mask 内部使用LPIPS损失[60]优化场景的自然性和一致性。作者展示了物体补全的结果,如图5所示,每个场景渲染三个视图。经过物体补全后,杂乱和空洞被减小,说明作者的方法可以在三维分割中有效地将前景与背景区分开。

Quantitative comparison

作者使用来自LLFF数据集[29]的NVOS数据集[37]进行了定量分析。NVOS数据集包含LLFF的8个正面视角的3D场景,每个场景具有参考和目标视角的2D分割 Mask 标注。作者的方法从参考视角的标注 Mask 中采样点提示,然后将其传播到其他视角,指导SAM[20]的分割。

在此基础上,作者应用如方程2所示的二进制分割方法来隔离前景3D高斯分布。接着,作者使用阈值为0.1的新型视图 Mask 渲染,为目标视角生成2D Mask ,从而计算所有8个场景的平均交并覆盖率(IoU)和平均精度。比较结果如表1所示,作者的FlashSplat方法在数据集上同时超过了以前基于NeRF的3D分割方法,如NVOS[37],ISRF[12],SGIRF[45],SA3D[4]以及SAGA[3]方法。在本数据集上,作者的方法在两个指标上均表现出色。

Computation cost

作者评估了FlashSplat与之前的三维GS分割方法(即SAGA[3]和Gaussian Grouping[54])在计算效率上的差异。这个评估是在来自LERF数据集[19]的拼图场景上进行的,使用单个NVIDIA A6000 GPU。 Baseline方法需要进行超过30,000次迭代才能将2D Mask 转化为与每个3D高斯相关的目标特征,这需要进行大量的额外训练时间以优化3D场景。

相比之下,作者的方法只需要计算集合{A_{i}}_{e},这个过程在约26秒内完成,比 Baseline 方法快大约50倍。对于分割一个单独的3D目标,这些 Baseline 需要网络前向,而FlashSplat则有效利用了arg\max进行最优分配,仅需0.4毫秒。此外,GPU内存使用分析显示,作者的峰值内存消耗只有SAGA[3]的一半。

Ablation study

减少噪声的效果。为了进一步阐明2D Mask 中存在的噪声,作者提供SAM[20]生成的2D Mask 在图6左列的两个场景的示例。此外,作者还渲染了对应视图上的目标 Mask ,揭示了提供的2D Mask 中的损坏区域得到了修复。这表明作者的方法在2D Mask 中存在噪声时生成3D分割的鲁棒性。

减少2D Mask 的3D分割。由于作者的方法不需要多步梯度下降优化,它自然地可以利用更少的2D Mask 进行分割。为了验证这一能力,作者考虑:

5 结论

在本文中,作者引入了从2D Mask 中进行3D Gaussian Splitting分割的最优解算器,显著提高了将2D分割提升到3D空间的准确性和效率。通过将3D-GS的alpha组成分解为每个Gaussian的总体贡献,该解算器仅需要单步优化就可得到最优分配。

它不仅比前述方法加速了优化过程约50倍,而且增强了对抗噪声的鲁棒性。

此外,这种方法已经扩展到场景分割,并能对新视角进行渲染。

参考

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未来先知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Introduction
  • 2 Related-work
  • 3D Gaussian Splatting
  • 3D Neural scene segmentation
  • 3 Methods
  • Binary Segmentation as Integer Linear Programming
  • From Binary to Scene Segmentation
  • Depth-guided Novel View Mask Rendering
  • 4 Experiments
  • Data preparation
  • 4.1.1 Dataset.
  • 4.1.2 2D mask generation and association.
  • Implementation details
  • 3D segmentation results
  • Object Removal
  • Object Inpainting
  • Quantitative comparison
  • Computation cost
  • Ablation study
    • 5 结论
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档