3D分割新范式!浙大开源Reasoning3D:通过大视觉语言模型搞定3D部件分割

文章链接:https://arxiv.org/pdf/2405.19326

项目链接:http://tianrun-chen.github.io/Reason3D/

今天和大家分享的是一项新任务:Zero-Shot 3D 推理分割,用于对象的部件搜索和定位。这是一种超越了以往类别特定的3D语义分割、3D实例分割和开放词汇3D分割的全新3D分割模式。本文设计了一种简单的baseline方法——Reasoning3D,具有理解和执行复杂命令的能力,能够对3D网格的特定部分进行细粒度的分割,同时具备上下文意识和推理答案以实现交互式分割。

具体而言,Reasoning3D利用了一个预训练的2D分割网络,并由大语言模型(LLMs)驱动,以Zero-Shot的方式解释用户输入的queries。先前的研究表明,大规模预训练赋予基础模型先验的世界知识,使其能够理解复杂命令,研究者们可以利用这一能力在有限的3D数据集上实现“分割任何东西”。

实验表明,该方法具有广泛的适用性,能够有效地基于隐式文本queries定位和突出3D对象的部分(在3D网格中),包括这些关节3D对象和现实世界扫描数据。Reasoning3D还可以生成与这些3D模型及其分解对应的自然语言解释。此外,免训练方法允许快速部署,并作为未来研究部件级3D(语义)对象理解的通用基线,在机器人技术、物体控制、部件组装、自动驾驶应用、增强现实和虚拟现实(AR/VR)以及医疗应用等各个领域中具有应用前景。

动机及创新点

最近,大型视觉模型(LVLM)在理解2D图像,在需要复杂推理,多转向对话和解释性答案的任务方面表现出了显着的功能[28,65,76]。本文的目标是将它们的能力扩展到3D领域,相信这种过渡具有很大的实际价值 - 永远不要忘记我们生活在3D世界中!

在这里,受解决了3D生成中类似挑战的研究[16,17,52,54,60,72]的启发——在2D中使用网络模型,然后将一些信息提升到3D,本文利用现成的2D模型以zero-manner执行任务的方法。这种方法,称之为Reasoning3D,通过其无训练特性和2D预训练,使能够规避大量3D数据集的稀缺性和高计算成本所带来的限制。

具体而言,Reasoning3D方法涉及从多个观点呈现3D模型,并根据给定的queries输入将预训练的推理细分网络应用于每个2D视图。通过这样做,为每个视角生成了分割mask和随附的文本解释。然后将这些单独的mask和解释融合在一起,以产生全面的3D分割mask(标签分配给了3D模型的顶点)。已经在野外的各种模型中评估了Reasoning3D方法,无论有没有纹理。还测试了现有的开放式视频分割基准测试中的方法,该基准验证了方法的有效性。虽然Reasoning3D是一种简单的基线方法,但认为它是研究人员探索和扩展3D部分细分未来的好起点。

方法

如图2所示,Reasoning3D首先将网格输入提供给渲染器进行视角渲染,生成每个相应视角的Face ID。接下来,渲染后的视角和用户输入的提示通过预训练的2D推理分割网络进行处理,该网络分割图像以提取所需部分并输出解释。最后,利用每个视角及其对应的网格Face ID之间的映射关系,通过专门设计的多视图融合机制将分割部分重新构建回网格上。

多视图图像渲染和Face ID生成

人类与3D环境的交互通常涉及动态探索,结合来自不同角度的视角以构建一个连贯的3D理解,而不是瞬间同化一个3D环境。Reasoning3D主张通过多视角图像进行3D推理。这一策略还利用了视觉-语言模型中广泛的2D预训练,类似于之前利用预训练视觉-语言模型进行3D视觉任务的方法。此过程的输入是网格 F = { f n } n = 1 N F = \{f_n\}^N_{n=1} F={fn}n=1N,它由N组面 f n f_n fn组成。在这个渲染过程中,3D模型被转换为来自不同视角的多个2D图像 X i m g = { x i } i = 1 11 X_{img} = \{x_i\}^{11}_{i=1} Ximg={xi}i=111。除了生成这些2D图像外,渲染过程还会为每个图像生成相应的Face ID。这些Face ID是2D图像和原始3D网格之间的重要链接。具体来说,它们形成一个映射矩阵 W p f W_{pf} Wpf,将2D图像中的每个像素 P = { p i } i = k M m P = \{p_i\}^{Mm}_{i=k} P={pi}i=kMm连接到3D网格上的特定face f n f_n fn,确保2D和3D数据保持准确对齐。该过程的公式如下:

其中,P表示渲染图像中的像素, f n f_n fn表示从视角看到的3D网格的面。由k表示的Face ID W p f W_{pf} Wpf 连接了渲染图像中的像素P和当前视图中可见的3D网格面fn。

基于用户输入提示的推理和分割

与之前的方法(例如CLIPSeg,LSeg和GLIP)可以处理开放词汇的明确提示不同,Reasoning3D旨在处理隐含提示,例如“你能分割出包含‘笼中鸟’的图像的适当部分吗?”在这里,利用大型基础模型的最新进展来执行这一多模态推理任务。

根据Lai等人[28]的研究,研究者们在原始LLM词汇中扩展了一个新标记<SEG>,表示请求分割输出。给定用户输入的提示问题 X q u e s t i o n X_{question} Xquestion和输入图像 X i m g X_{img} Ximg,它们被输入到多模态大语言模型(LLM) F M M F_{MM} FMM中,随后输出文本响应 Y a n s w e r Y_{answer} Yanswer。该过程的公式如下:

接下来,生成与输入图像对应的分割mask 涉及一系列步骤。首先,研究者们从输出的文本响应 Y a n s w e r Y_{answer} Yanswer中提取与<SEG>标记对应的嵌入向量 E ^ a n s w e r \hat E_{answer} E^answer。这一步能够从语言提示中捕捉与分割任务相关的信息。随后,通过 M L P γ MLP \gamma MLPγ投影层处理 E ^ a n s w e r \hat E_{answer} E^answer以获得特征向量 E a n s w e r E_{answer} Eanswer。同时,利用视觉主干网络 F v b F_{vb} Fvb,从视觉输入 X i m g X_{img} Ximg中提取视觉嵌入 E i m g E_{img} Eimg

最后将特征向量 E a n s w e r E_{answer} Eanswer和视觉嵌入 E i m g E_{img} Eimg输入到解码器 F d e c F_{dec} Fdec中。解码器 F d e c F_{dec} Fdec利用这些特征生成最终的分割mask M及其每个mask 的置信度分数 S M S_M SM。这产生了基于语言提示和视觉信息的分割结果,每个分割mask 都有相应的置信度分数和对应的答案文本。解码器的详细结构遵循Segment Anything。该过程的公式如下:

3D中的mask 融合和细化

需要将获得的2D分割mask 在3D空间中融合,以获得所需的3D分割结果。研究者们发现,直接合并多视图分割的结果可能由于累积误差和缺乏全面的多视图3D信息而导致结果不连贯和质量不高。因此,设计了一个多阶段的融合和细化机制,以充分利用语义信息和视角信息,从而获得更好的3D分割结果。

首先,使用top-k方法过滤生成的mask ,以减少2D分割中的错误。具体来说,如果两个mask 之间的面积差异大于某个阈值T,选择k=1,表示这是想要的mask (最显著的部分),然后生成一个与mask匹配的边界框;否则,选择多个mask 并生成多个边界框。经过过滤的top-k mask S M S_M SM、相应的置信度分数SM以及Face ID将用作融合算法的输入。使用映射关系 W p f W_{pf} Wpf将2D图像mask 区域映射到3D网格的面上,得到初步的分割网格。请注意,只有在生成的边界框内的mask才参与融合过程。

按照[1]的方法,通过Gaussian Geodesic Reweighting平滑和细化分割边界,减少噪声和错误。随后,应用可见性平滑技术消除由视角变化引起的不连续性,确保分割网格从各个角度看起来自然连贯。最后,使用全局过滤策略过滤出置信度分数低的mask区域。

具体来说,对于每个2D mask M,估计其中心面 G i j G^j_i Gij,其中i表示视角,j表示视角内的mask 。对于当前视角下的3D网格,检索与当前mask 对应的所有面的顶点,并计算它们的面积加权平均值。然后将这个平均点投影到点F上,包含此投影的面 F i j F^j_i Fij被识别为当前视角和mask 的中心面。随后,计算从中心面 G i j G^j_i Gij到所有面 f ∈ F i j f \in F^j_i fFij的测地距离向量 d i j ∈ R N d^j_i \in R^N dijRN。这里,N代表当前mask的网格中的面数。

其中, g d i s t ( , ) gdist(,) gdist(,) 表示使用网格 F F F上的热方法计算的两个面的测地长度。网格面之间的测地距离测量的是沿表面从一个面到另一个面的路径长度。

接下来,在距离上拟合高斯分布,并根据每个面与大写面之间的测地距离计算相应的概率密度值。

其中, μ i j μ^j_i μij σ i j σ^j_i σij 分别表示到 d i j d^j_i dij 的距离的均值和标准差。随后,统计每个视图中网格中每个面被分割的次数 n。最后,将每个面的频率乘以相应的概率密度,再乘以相应的置信度分数 S M S_M SM,以获得每个网格面的最终置信度。

然而,仅使用上述方法可能会导致中心面 G i j G^j_i Gij 周围的权重不足,特别是在面之间的平均距离较大的区域。为了解决这个问题,研究者们计算其局部邻域,其中邻居由网格连接性确定:如果两个面至少共享一个顶点,则面 m 被认为是面 n 的邻居。为此,构建了一个 q q q 阶邻域 N q ( n ) ( q = 5 ) N_q(n) (q = 5) Nq(n)(q=5),具体如下。对于face m ∈ F m \in F mF,如果在图上存在一条路径连接 m 和 n,并且路径上最多有 q 个其他顶点,则将face n ∈ F n \in F nF 包含在邻域中。

最后,采用全局过滤,使用计算的阈值过滤出置信度分数较低的mask 区域。该阈值是为每个面计算的平均置信度分数。

实验

开放词汇分割的对比实验

由于没有现有的Reasoning 3D分割方法可以进行比较,首先按照SATR中的协议使用相同的渲染协议,将Reasoning3D与现有的开放词汇3D分割模型(如SATR和3DHighlighter)进行了比较。正如下表1和表2所示,尽管Reasoning3D并不是为开放词汇分割任务设计的,也没有进行微调或特别设计的结构,但在开放词汇分割基准测试中,Reasoning3D仍然取得了竞争性的表现。

Reasoning3D分割的性能

与现有的开放词汇分割方法相比,Reasoning3D具有更好的特性,因为Reasoning3D可以使用自然语言作为输入信息。LLM解析自然语言并直接给出分割结果,这使得计算机与人之间的交互体验更加自然和方便。下图4中展示了一个示例。模型来自FAUST数据集。

在开放词汇分割中,只给出了明确的分割命令,因此Reasoning3D的潜力还没有被充分利用。随机收集了来自3D建模网站SketchFab的3D模型,并使用这些实际中的3D模型进行评估,并让志愿者给出“隐含”的分割命令。图6和图1展示了一些示例。这些示例表明Reasoning3D具备提供深入推理、3D理解、部分分割和对话能力的能力。模型可以输出需要的分割mask和解释。

为了更好地让用户与本文的系统进行交互,还设计了一个用户界面(UI),以便用户可以输入任意3D模型及其所需的提示来分割所需区域。(图6)此UI也将开源。

结论

本文介绍了一项新任务:zero-shot 3D推理分割,用于在对象内进行部件搜索和定位。这种新方法超越了传统的特定类别的3D语义分割、3D实例分割和开放词汇3D分割的限制。本文开发了Reasoning3D,一个简单而有效的基线方法,可以理解并执行复杂的命令,以对3D网格的特定部分进行分割,具有上下文理解和推理输出,用于交互式分割。Reasoning3D利用预训练的2D分割网络与大语言模型(LLM)结合,以zero-shot方式解释用户queries。先前的研究表明,广泛的预训练使基础模型具备了对世界的广泛理解能力,使它们能够处理复杂的命令。Reasoning3D利用了这一能力,可以在有限的3D数据集上进行有效的3D分割,使其成为一种资源高效的解决方案。

实验表明,Reasoning3D具有可泛化性,并能够根据隐含的文本query准确地定位和识别3D物体的部件。这包括关节式3D物体和真实世界的扫描数据。此外,Reasoning3D可以为分割的3D模型及其组件生成自然语言解释。本文方法的无需训练的特性有助于快速部署,并为部分水平的3D对象理解研究提供了强大的基线。这在各个领域都有潜在的应用,例如机器人技术、物体控制、部件组装、自动驾驶、增强和虚拟现实(AR/VR)以及医学领域。

参考文献

[1] Reasoning3D - Grounding and Reasoning in 3D: Fine-Grained Zero-Shot Open-Vocabulary 3D
Reasoning Part Segmentation via Large Vision-Language Models

  • 23
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值