华为&上交重磅新作! | SA3D:NeRF辅助SAM,从2D分割进阶到3D分割

Title: Segment Anything in 3D with NeRFs

Paper: https://arxiv.org/pdf/2304.12308.pdf

Code: https://jumpat.github.io/SA3D/

背景

SAM是一种能够在2D图像中分割任何物体的模型,但在3D场景中推广SAM的能力尚未得到很好的研究。为了高效解决这个问题,论文将2D基础模型SAM与3D表示模型NeRF相结合。NeRF作为一个现成的解决方案,能够将3D场景转化为深度神经网络,连接多个2D视图。这样,SAM可以通过NeRF渲染2D视图,并将2D分割结果对齐到3D场景中,实现对3D物体的分割。

导读

最近,Segment Anything Model (SAM) 成为了一种强大的视觉基础模型,能够在2D图像中分割任何物体。本文旨在将SAM推广到分割3D物体。与在3D中昂贵的数据获取和注释过程相比,论文设计了一种高效的解决方案,利用神经辐射场(Neural Radiance Field,NeRF)作为一种廉价且现成的先验,将多视角的2D图像连接到3D空间。论文将提出的解决方案称为SA3D,即在3D中分割任何物体只需在单个视角上为目标物体提供手动分割提示(例如,粗略的点集),该提示用于使用SAM在该视角生成其2D掩码。接下来,SA3D在各个视角之间交替进行掩码逆渲染和跨视角自我提示,以迭代地完成基于体素网格构建的目标物体的3D掩码。前者将SAM在当前视角获得的2D掩码在NeRF学习的密度分布的指导下投影到3D掩码中;后者从另一个视角的NeRF渲染的2D掩码中自动提取可靠的提示作为SAM的输入。实验证明,SA3D适应各种场景,并在几分钟内实现了3D分割。论文的研究提供了一种通用且高效的方法,将2D视觉基础模型提升到3D,只要2D模型能够稳定地处理跨多个视角的可提示分割。

贡献

Figure 1

本文的主要贡献是:

  1. 提出了SA3D(Segment Anything in 3D)解决方案,将2D图像分割模型SAM与3D感知模型NeRF相结合,实现了在3D场景中的物体分割。
  2. 引入了NeRF作为3D表示模型,用于连接多个2D视图和3D空间,并提供了密度引导的逆渲染来实现2D分割掩码在3D空间的投影。
  3. 提出了SA3D的迭代步骤,包括掩码逆渲染和跨视图自我提示,通过交替执行这两个步骤,在多个视图之间逐步完善和精确化物体的3D分割掩码。
  4. 在不重新训练/设计SAM或NeRF的情况下,通过实验验证了SA3D在不同场景下的适应性和高效性,并展示了在几分钟内完成3D分割的能力
  5. 提供了一种通用的方法,将2D基础模型提升到3D空间,只要2D模型能够稳定地处理跨多个视图的可提示分割任务。

方法

Figure 2: The overall pipeline of SA3D

Overall Pipeline

SA3D的pipeline如上图所示,SA3D利用在一组多视角2D图像上预训练的NeRF,首先从单个视角获取目标对象的提示信息,并使用SAM生成该视角下的2D掩码。然后,SA3D通过交替进行**掩码逆渲染(mask inverse rendering)跨视角自我提示(cross-view self-prompting)**的过程,完成由体素网格构建的目标对象的3D掩码。掩码逆渲染利用NeRF中学习到的密度分布信息将SAM获取的2D掩码投影到3D掩码上跨视角自我提示从NeRF渲染的2D掩码中自动提取可靠的提示信息,并将其作为SAM的输入,给出一个新视角。这个交替的过程迭代执行,直到获得完整的3D掩码。

掩码逆渲染

根据Nerf原理,渲染图像中每个像素的颜色由沿相应光线的加权颜色之和确定。权重反映了3D空间中的物体结构,高权重表示对应点接近物体表面。掩码逆渲染旨在根据这些权重将2D掩码投影到3D空间中形成3D掩码。

形式上,3D掩码表示为体素网格 V ∈ R L × W × H V \in \mathbb{R}^{L \times W \times H} VRL×W×H,其中每个网格顶点存储一个初始化为零的软掩码置信度分数。基于这些体素网格,从一个视角渲染出的2D掩码的每个像素为:

其中, r ( t ) r(t) r(t) 是通过掩码像素的射线投射, ω ( r ( t ) ) ω(r(t)) ω(r(t)) 继承自预训练的 NeRF 的密度值, V ( r ( t ) ) V(r(t)) V(r(t)) 表示从体素网格 $V $ 获取的位置 r ( t ) r(t) r(t) 处的掩码置信度分数。将 SAM 生成的相应掩码表示为 M S A M ( r ) M_{SAM}(r) MSAM(r)。当 M S A M ( r ) = 1 M_{SAM}(r) = 1 MSAM(r)=1 时,掩码逆渲染的目标是增加 V ( r ( t ) ) V(r(t)) V(r(t)) 相对于 ω ( r ( t ) ) ω(r(t)) ω(r(t)) 的值。在实践中,可以使用梯度下降算法进行优化。为此,定义掩码投影损失为 M S A M ( r ) M_{SAM}(r) MSAM(r) M ( r ) M(r) M(r) 的负乘积:

论文在损失中添加了一个负的细化项,根据多视图掩码一致性来优化 3D 掩码网格:

其中, λ λ λ是一个超参数来确定负项的大小

跨视图自我提示

论文提出了一种名为跨视图自我提示的机制,用于在SA3D中自动为不同的新视图生成提示。该机制通过渲染基于3D掩码的新视图的2D分割掩码,并使用特定策略从中提取点提示。这种方法能够解决手动选择提示的耗时和不切实际的问题,并在SA3D的迭代过程中提供更完整和准确的2D掩码。

Self-prompting Strategy

自我提示策略旨在从不完整的2D渲染掩码 M ( n ) M^{(n)} M(n),中提取提示点,以帮助生成准确的2D分割结果。该策略通过选择具有最高掩码置信度分数的点作为初始提示点,并根据已有的提示点生成掩码区域。通过预训练的NeRF估计像素的深度,并将2D像素转换为3D点,以在3D空间中生成提示点。这个过程可以多次迭代执行,从而在不同的新视角下提取出多个自动生成的提示点,以获得更准确的2D分割结果。

新的提示点希望在与现有提示点靠近的同时具有较高的置信度分数。为了考虑这两个因素,论文引入了一个衰减项来调整置信度分数。假设 d ( ⋅ , ⋅ ) d(·,·) d(⋅,⋅)表示最小-最大归一化的欧几里得距离。对于 M ( n ) M^{(n)} M(n)中的每个剩余点p,衰减项为:

然后计算出衰减后的置信度分数$ \tilde{M}^{(n)}§ $,计算公式如下:

将衰减分数最高的剩余点添加到提示集中。

IoU-aware view rejection

如果渲染的掩码 M ( n ) M(n) M(n)与SAM预测 M SAM ( n ) M^{(n)}_{\text{SAM}} MSAM(n)之间的交并比(IoU)低于预定义的阈值 τ \tau τ,则表示两个遮罩之间的重叠较差。在这种情况下,SAM的预测将被拒绝,并且在当前迭代中跳过遮罩逆向渲染步骤。

实验

定量结果

NVOS dataset

论文按照NVOS的实验设置进行了公平比较。首先,在参考视图上进行标记,然后在目标视图上渲染3D分割结果并评估准确度。实验结果表明,SA3D在性能上明显优于之前的方法,相对于最先进的ISRF提升了6.5个mIoU,并相对于NVOS提升了20.2个mIoU。

SPIn-NeRF dataset

论文使用SPIn-NeRF的方法进行评估,直接使用参考视图的2D真值掩码初始化3D掩码网格。结果表明,SA3D在各种场景中表现优于MVSeg和单视图模型,验证了论文方法的有效性。

Replica dataset

论文使用经过处理的Replica数据集来评估SA3D的分割性能。在每个对象中,论文选择一个参考视图,并使用其真值掩码进行SA3D的标签传播。在复杂的室内场景中,MVSeg的策略表现不佳,而SA3D能够准确地捕捉分割对象。

定性结果

论文进行了三种类型的分割任务:对象分割、部分分割和文本提示分割。前两种是SA3D的核心功能。如图3所示,SA3D展示了在不同场景中对各种3D对象进行分割的能力,即使对象很小。此外,SA3D还可以处理具有挑战性的部分分割。图中的最后一行展示了SA3D对乐高推土机的桶、小轮子和圆顶灯的精确分割。图4展示了SA3D与语言模型相结合的潜力。给定一个文本短语,可以准确地分割出相应的对象。文本提示分割是基于Grounding-DINO构建的,该模型能够根据文本提示为对象生成边界框。这些边界框作为输入提示用于SA3D进行分割过程。

讨论

除了实验结果之外,论文希望从研究者对SAM和NeRF集成的初步研究中提供一些见解,即一个2D基础模型和一个3D表示模型。

首先,NeRF提高了SAM的分割质量。在图6中,论文展示了SA3D可以消除SAM的分割错误,并有效捕捉孔洞和边缘等细节。从感知上讲,SAM以及其他2D感知模型通常对视角敏感,而NeRF提供了三维建模的能力,因此在辅助识别方面具有互补性。此外,SA3D启发研究者使用NeRF或其他三维结构先验是将视觉基础模型从2D提升到3D的一种资源高效的方法,只要基础模型具有自我提示的能力。这种方法可以节省许多资源,因为收集大量的三维数据通常成本高昂。研究者期待研究努力来增强2D基础模型的三维感知能力(例如,将三维感知损失引入2D预训练中)

限制

首先,当前的方法依赖于第一个视角的提示。如果一些对象在提示的视角中没有出现,它们将在后续的分割过程中被忽略。其次,在不同视角中,场景中的相同部分可能被分割为具有类似语义的不同实例。在当前的机制设计下,这种歧义很难被消除,导致训练不稳定。

总结

本文提出了SA3D,这是一种将SAM推广到使用神经辐射场(NeRF)作为结构先验进行三维物体分割的新框架。基于训练好的NeRF和单个视角中的一组提示,SA3D执行迭代过程,包括渲染新的2D视图,通过自我提示进行2D分割,并将分割投影回3D掩模网格中。SA3D可以高效地应用于各种三维分割任务。论文的研究为将视觉基础模型从2D提升到3D的资源有效方法提供了启示。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CVHub

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值