0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

首篇!Point-In-Context:探索用于3D点云理解的上下文学习

CVer 来源:CVer 2023-07-13 14:41 次阅读

前言:

本文是第一篇将NLP领域中的In-Context Learning(ICL)引入3D点云理解的文章。该文首次提出将ICL应用于多任务3D点云模型Point-In-Context(PIC),实现一个模型一次训练,适应多种任务,验证了ICL在3D点云中的可行性。同时,该文为in-context learning定义一个统一的衡量基准,涵盖几种常见的点云任务,并构建了常见点云分析算法的多任务模型baseline。最后该文进行了大量的实验,PIC在3D点云多任务处理上达到了SOTA的效果,并且验证了PIC可以通过选择更高质量的prompt来提升效果甚至超越特定于单一任务的模型,为未来3D点云中ICL的研究方向开拓了方向。

摘要:

随着基于广泛数据训练的大模型兴起,上下文学习(In-Context Learning)已成为一种新的学习范式,在自然语言处理(NLP)和计算机视觉(CV)任务中表现出了巨大的潜力。与此同时,在3D点云(Point Cloud)领域中,上下文学习在很大程度上仍未得到探索。尽管掩码建模(Masked Modeling)训练策略已经成功应用于2D视觉中的上下文学习,但将其直接扩展到3D点云上仍然是一个艰巨的挑战。因为在点云的情况下,tokens本身就是在训练过程中被掩盖的点云位置(坐标)。此外,先前一些工作中的位置嵌入(Position Embedding)方式可能会无意中导致目标点云产生信息泄漏。为了应对这些挑战,作者提出了一个专为3D点云上下文学习而设计的新型框架Point-In-Context(PIC),且将每个任务的输入和输出都建模为点的三维坐标。其中,作者提出的联合采样(Joint Sampling)模块与通用点采样算子协同工作,有效解决了上述技术问题(信息泄露)。最后作者进行了大量的实验,以验证Point-In-Context在处理多任务时的多功能性和适应性。此外,作者还证明了Point-In-Context可以通过采用更有效的提示(Prompt)选择策略,生成更精确的结果并超越单独训练的模型。

论文和开源仓库的地址:

51882568-213c-11ee-962d-dac502259ad0.png

论文题目:Explore In-Context Learning for 3D Point Cloud Understanding

发表单位:中山大学,南洋理工大学,苏黎世联邦理工学院,北京大学

论文地址:https://arxiv.org/pdf/2306.08659.pdf

项目地址:https://github.com/fanglaosi/Point-In-Context

提交时间:2023年6月14日

1. 背景介绍

51abb1f4-213c-11ee-962d-dac502259ad0.png

图1 In-Context Learning应用于多任务处理的示意图

In-Context Learning(ICL)源于自然语言处理(NLP),通过将特定于任务的输入-输出对(Prompt)合并到一个测试示例中,再输入到模型中进行处理,从而获得对应任务的输出,如图1(a)所示。最近在2D图像领域基于ICL的工作主要采用掩码图像建模(Masked Image Modeling)训练策略进行上下文任务提示,如图1(b)所示。然而,目前还没有研究探索使用掩码点建模框架理解3D点云的In-Context Learning。

对于Masked Modeling训练策略,前期的研究主要集中在自然语言处理中的GPT和BERT系列模型以及2D图像领域的BEiT和MAE等。这些方法通过掩码建模和下游任务微调显著提升了自然语言处理和图像处理的性能。在3D点云领域,Point-BERT和Point-MAE等方法采用了类似的思路,使用Transformer和掩码点建模来处理3D点云数据,并在各种下游任务上取得了竞争性的性能。

本文的方法基于Masked Point Modeling(MPM)框架,探索了Transformer和MPM的结合,以实现3D点云领域的In-Context Learning。与之前的研究不同,本文的方法首次探索了3D prompt对3D点云中In-Context Learning的影响,并为3D点云中In-Context Learning的基准测试提出了新的baseline。

本文是第一个将In-Context Learning应用于3D点云领域的工作,并提出了一个适应于多种常见点云任务的多任务框架Point-In-Context。它通过上下文任务提示可以调节模型的输入和输出,适应不可见任务的推理。本文探索了在3D点云领域应用In-Context Learning的方法,强调了其在点云领域的创新性和首创性,为进一步推动3D点云领域的研究和应用提供了新的方向和参考。

2. 研究方法

2.13 3D点云中的ICL建模

受2D图像中的ICL启发,作者设计了一个3D视觉的ICL范式。在训练过程中,每个输入样本包含两对点云:示例对52025c20-213c-11ee-962d-dac502259ad0.png和查询输入对5216829a-213c-11ee-962d-dac502259ad0.png。每对点云由一个输入点云及其相应的输出点云组成。与PointMAE类似,作者采用FPS和KNN技术,将点云转换为类似句子的数据格式后利用Transformer进行Masked Point Modeling任务。在推理过程中,输入点云是示例输入点云和查询点云,而目标点云由一个示例目标和掩码标记组成,如图1(c)所示。基于不同的5229f4e2-213c-11ee-962d-dac502259ad0.png,给定查询点云523cab28-213c-11ee-962d-dac502259ad0.png,模型输出相应的目标52509408-213c-11ee-962d-dac502259ad0.png

2.2 数据集及任务定义

由于先前的工作中没有研究过3D的ICL,所以作者以ShapeNet和ShapeNetPart数据集为基础定义了新的benchmark,包含四种常见的点云任务:点云重建,点云去噪,点云配准和部件分割。并且将这四种任务的输入输出空间都统一到XYZ坐标空间当中。

点云重建的目的是由极其稀疏的点云重建成稠密的完整点云。本文设置了5个重建等级作为评价标准,分别是当输入点云为512,256,128,64和32个点时,点数越少,重建难度越高。点云去噪任务中的输入点云包含符合正态分布的高斯噪声点,要求模型去除噪声点,同时设立了5个等级的噪声干扰,噪声点数量范围从100到500。重建和去噪的任务输出是一个干净,正立的点云,为了将点云配准任务的目标点云与前两个任务解耦,本文将配准任务的输出设为干净,倒立的点云。

部件分割任务的目的是给每个点分配一个部件标签,作者将其输出空间的50个部件标签抽象为均分分布在立方体内的50个点,每个点代表不同的部件。因此部件分割任务的输出是聚类到不同中心的点簇,输出点簇的数量由部件数量决定。

2.3 Point-In-Context

52631df8-213c-11ee-962d-dac502259ad0.png

图2 信息泄露问题及解决方案(联合采样模块)

信息泄露。虽然MPM是我们的一个基本框架,但简单地将其应用于点云是不可行的。如图2(a)所示,之前工作中预训练时会嵌入了所有patch的中心点坐标(即位置信息),即使是那些被屏蔽(不可见)的patch。由于在目标中被屏蔽的patch在我们的设置中是不可见的,所以这样的操作会导致信息泄漏,从而不满足要求。此外,我们还发现,与学习到的嵌入相比,正弦-余弦编码序列会显著降低模型的性能,甚至会导致训练的崩溃。原因是缺少有价值的位置信息,使得模型无法在处理过程中找到需要重建的patch。与2D图像不同,3D点云patch序列没有固定的位置,因此我们需要对由输入点云和目标点云生成的patch序列进行对齐。

联合采样模块。为了处理上述问题,我们从每个输入点云中收集N个中心点,并检索它们的索引,然后我们使用这些索引来获取输入点云和目标点云中每个patch的中心点。该过程如图2(b)所示,我们的JS模块的关键是在保持目标点云和输入点云中对应patch的中心点索引。换句话说,输入序列和目标序列的顺序是良好对齐的。这种设计补偿了目标位置嵌入的缺失,避免信息泄露。因此,它有助于使模型学习输入和目标之间的内在关联,并简化了学习过程。随后,所有点云根据每个斑块对应的中心点搜索包含M个相邻点的邻域。

527f375e-213c-11ee-962d-dac502259ad0.png

图3 Point-In-Context的两种输入形式

PIC-Sep和PIC-Cat。如图3所示,我们定义了两种输入形式,对应PIC的两种形式,分别是PIC-Sep和PIC-Cat。对于PIC-Sep,我们将输入点云和带有掩码的目标点云平行输入到Transformer中,然后在几个block之后使用一个简单的平均值进行融合操作合并它们的特征。对于PIC-Cat,我们将输入和目标连接起来,形成一个新的点云。然后我们在整体上进行掩码操作,并将其输入到Transformer中进行预测。

我们将prompt表示为52a48d10-213c-11ee-962d-dac502259ad0.png,将查询输入表示为52b7d88e-213c-11ee-962d-dac502259ad0.png,然后PIC-Sep和PIC-Cat可以公式化为:

52c5906e-213c-11ee-962d-dac502259ad0.png

其中 52dee848-213c-11ee-962d-dac502259ad0.png 代表Concat操作,52efdab8-213c-11ee-962d-dac502259ad0.png代表用来代替可见token的掩码token。

52ff5c40-213c-11ee-962d-dac502259ad0.png

图4 PIC-Sep的总体方案

总体流程如图4所示(以PIC-Sep为例)。我们使用一个标准的具有编码器-解码器结构的Transformer作为我们的主干网络,和一个简单的1×1卷积层作为点云重建的任务头。顶部:MPM框架的训练框架。在训练过程中,每个样本包含两对输入和目标点云,它们被输入到Transformer中执行掩码点重建任务。底部:关于多任务的in-context inference。我们的PIC可以推断出各种下游点云任务的结果,包括点云重建、去噪、配准和部件分割。

损失函数。该模型的训练目的是重建出被掩蔽掉的点。为此,我们使用53293542-213c-11ee-962d-dac502259ad0.png Chamfer Distance作为训练损失。

533cd516-213c-11ee-962d-dac502259ad0.png

3.实验结果

534f8242-213c-11ee-962d-dac502259ad0.png

表1 主要实验结果对比

作者在四个常见点云任务上进行了实验,分别对比了特定于任务的模型、多任务模型和In-context learning模型。对于重建、去噪和配准,本文报告了CD距离损失(x1000)。对于部分分割,报告了mIOU。由表可见,本文的PIC-Cat和PIC-Sep表现出了令人印象深刻的结果,并且仅在一次训练后就能够适应不同的任务,在于多任务模型的比较中都取得了最先进的结果。

539add3c-213c-11ee-962d-dac502259ad0.png

图5 可视化结果

此外,本文还可视化了PIC-Sep的输出结果,PIC-Sep可以在重构、去噪、配准和部分分割等四个任务中生成相应的预测。对于部分分割任务,我们将生成的目标和映射目标一起可视化,两者都添加了类别的颜色,以便更好地比较。

541a9540-213c-11ee-962d-dac502259ad0.png

图6 泛化能力。(a)在ModelNet40上进行点云配准任务的结果(b)泛化到新任务上

通常,In-Context Learning具有一定程度的泛化能力,从而允许模型快速适应不同的任务。这也适用于我们的模型。首先,本文通过对ModelNet40数据集进行配准评估,在分布外点云上测试了所提出的方法。如图6(a)所示,PIC-Sep和PIC-Cat在开放类任务上都表现出优于专门训练的监督学习模型。我们将其与在单个任务上训练的模型进行了比较,如PointNet、DGCNN和PCT。当转移到新的数据集时,这些模型的性能明显下降。难度越大(旋转水平越高),下降量就越多。

此外,本文还验证了它们在未知任务上的泛化能力,如任意角度配准的和局部补全。如图6(b)所示,PIC在这两个任务上都表现得很好,验证了它们转移学习知识的能力。

545d961a-213c-11ee-962d-dac502259ad0.png

本文进行了大量的消融实验。其中应该特别注意的是,在表2(a)和表4(a)中作者初步探索了四种不同的prompt选择策略对于结果的影响。除了随机选择的方案,另外三种方案的结果都比默认的方案效果好。这也体现出in-context learning巨大的潜力,这说明PIC可以通过选择更加适合的prompt来提升在点云任务上的性能。甚至,PIC-Sep在CD-aware策略的点云配准任务上超越了表1中的三种特定于任务的模型。

5487f8e2-213c-11ee-962d-dac502259ad0.png

图7 PIC与多任务模型比较结果的可视化

4. 未来展望

本文提出了第一个采用In-Context Learning范式来理解3D点云的框架,Point-In-Context。并且建立了一个包含四个基本任务的大规模点云对数据集,以验证in-context能力。PIC具有良好的学习能力,它对分布外的样本和不可见的任务具有良好的泛化能力。同时,通过选择更高质量的prompt,可以激发出PIC中巨大的潜力,甚至超越特定于一个任务的模型。它为进一步探索三维模式中的In-Context Learning开拓了探索方向。由于时间和计算资源有限,本文没有进行更多的实验,如提升模型的生成结果的精细度和在大规模场景分割点云数据集上进行实验。这将是未来会继续研究的方向。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机视觉
    +关注

    关注

    8

    文章

    1600

    浏览量

    45617
  • 数据集
    +关注

    关注

    4

    文章

    1179

    浏览量

    24353
  • 点云
    +关注

    关注

    0

    文章

    58

    浏览量

    3724

原文标题:首篇!Point-In-Context:探索用于3D点云理解的上下文学习

文章出处:【微信号:CVer,微信公众号:CVer】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么transformer性能这么好?Transformer的上下文学习能力是哪来的?

    为什么 transformer 性能这么好?它给众多大语言模型带来的上下文学习 (In-Context Learning) 能力是从何而来?在人工智能领域里,transformer 已成为深度学习
    的头像 发表于 09-25 12:05 805次阅读
    为什么transformer性能这么好?Transformer的<b class='flag-5'>上下文学习</b>能力是哪来的?

    关于进程上下文、中断上下文及原子上下文的一些概念理解

    开讲之前,咱们有必要看看这两个概念:a -- 上下文 上下文是从英文context翻译过来,指的是一种环境。相对于进程而言,就是进程执行时的环境; 具体来说就是各个变量和数据,包括所有的寄存器变量
    发表于 09-06 09:58

    无头EGL上下文似乎不使用Capture SDK ?

    ”。从NvIFROGLGetError调用返回。如果其他人能够做到这一,我会进一步深入研究这个问题......但是现在我有点疑惑为什么EGL上下文不如GLX上下文?它们本质上是不是都应该是同一个东西
    发表于 09-27 16:02

    进程上下文与中断上下文理解

    中断切换到内核态,由内核代替其执行。进程上下文和中断上下文就是完成这两种状态切换所进行的操作总称。我将其理解为保存用户空间状态是上文,切换后在内核态执行的程序是下文。四.什么情况下进行
    发表于 12-11 19:45

    BT堆栈上下文切换

    100ms就会产生一个上下文切换。上下文切换每秒似乎有点高。我想我真的不能抱怨10个开关,但是有什么东西吗?在BT协议中真的需要这个吗?不能处理中断驱动吗?(这是BT是可连接的,但既没有连接,也没有
    发表于 12-17 16:30

    JavaScript的执行上下文

    JavaScript执行上下文之执行上下文
    发表于 05-29 16:12

    ucos上下文该怎么切换?

    有两个问题请教一下大神!!!-->1在ucos中的上下文切换时发生在pendSV异常中,代码见下:PendSV_Handler CPSIDI; Prevent interruption
    发表于 08-26 03:21

    进程上下文/中断上下文及原子上下文的概念

    为什么会有上下文这种概念进程上下文/中断上下文及原子上下文的概念
    发表于 01-13 07:17

    基于cortex-m3的rt-thread系统如何实现线程上下文切换呢

    程rt_hw_context_switch()函数,可以马上进行上下文切换,rt_hw_context_switch_interrupt 需要中断上下文函数执行完之后,才能进行
    发表于 05-05 15:00

    中断中的上下文切换详解

    ();  /* 发起一次在中断中的上下文切换 */  cpu_irq_context_switch();  }  tos_knl_irq_enter接口(进入ISR时调用)将一个标识中断嵌套次数的变量
    发表于 03-23 17:18

    HarmonyOS/OpenHarmony(Stage模型)卡片开发应用上下文Context概述

    概述 Context是应用中对象的上下文,其提供了应用的一些基础信息,例如resourceManager(资源管理)、applicationInfo(当前应用信息)、dir(应用开发路径)、area
    发表于 08-24 16:30

    基于交互上下文的预测方法

    传统的上下文预测是在单用户的上下文基础上进行的,忽视了实际普适计算环境中由于用户交互活动导致的上下文变化因素。为了合理、有效地解决上述局限性问题,该文提出基
    发表于 10-04 14:08 7次下载

    基于上下文相似度的分解推荐算法

    针对移动服务推荐中用户上下文环境复杂多变和数据稀疏性问题,提出一种基于移动用户上下文相似度的张量分解推荐算法-UCS-TF。该算法组合用户间的多维上下文相似度和上下文相似可信度,建立用
    发表于 11-27 17:42 0次下载

    如何分析Linux CPU上下文切换问题

    在我的上一篇文章:《探讨 Linux CPU 的上下文切换》中,我谈到了 CPU 上下文切换的工作原理。快速回顾一下,CPU 上下文切换是保证 Linux 系统正常运行的核心功能。可分为进程
    的头像 发表于 05-05 20:11 1635次阅读

    谷歌新作SPAE:GPT等大语言模型可以通过上下文学习解决视觉任务

    这篇论文揭示了 PaLM 或 GPT 在通过上下文学习解决视觉任务方面的能力,并提出了新方法 SPAE(Semantic Pyramid AutoEncoder)。这种新方法使得 LLM 能够执行图像生成任务,而无需进行任何参数更新。这也是使用上下文学习使得 LLM 生成
    的头像 发表于 07-09 15:35 841次阅读
    谷歌新作SPAE:GPT等大语言模型可以通过<b class='flag-5'>上下文学习</b>解决视觉任务