首篇!Point-In-Context:探索用于3D点云理解的上下文学习
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
AI/CV重磅干货,第一时间送达
本文是第一篇将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)选择策略,生成更精确的结果并超越单独训练的模型。
论文和开源仓库的地址:
论文题目: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. 背景介绍
图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范式。在训练过程中,每个输入样本包含两对点云:示例对和查询输入对。每对点云由一个输入点云及其相应的输出点云组成。与PointMAE类似,作者采用FPS和KNN技术,将点云转换为类似句子的数据格式后利用Transformer进行Masked Point Modeling任务。在推理过程中,输入点云是示例输入点云和查询点云,而目标点云由一个示例目标和掩码标记组成,如图1(c)所示。基于不同的,给定查询点云,模型输出相应的目标。
2.2 数据集及任务定义
由于先前的工作中没有研究过3D的ICL,所以作者以ShapeNet和ShapeNetPart数据集为基础定义了新的benchmark,包含四种常见的点云任务:点云重建,点云去噪,点云配准和部件分割。并且将这四种任务的输入输出空间都统一到XYZ坐标空间当中。
点云重建的目的是由极其稀疏的点云重建成稠密的完整点云。本文设置了5个重建等级作为评价标准,分别是当输入点云为512,256,128,64和32个点时,点数越少,重建难度越高。点云去噪任务中的输入点云包含符合正态分布的高斯噪声点,要求模型去除噪声点,同时设立了5个等级的噪声干扰,噪声点数量范围从100到500。重建和去噪的任务输出是一个干净,正立的点云,为了将点云配准任务的目标点云与前两个任务解耦,本文将配准任务的输出设为干净,倒立的点云。
部件分割任务的目的是给每个点分配一个部件标签,作者将其输出空间的50个部件标签抽象为均分分布在立方体内的50个点,每个点代表不同的部件。因此部件分割任务的输出是聚类到不同中心的点簇,输出点簇的数量由部件数量决定。
2.3 Point-In-Context
图2 信息泄露问题及解决方案(联合采样模块)
信息泄露。虽然MPM是我们的一个基本框架,但简单地将其应用于点云是不可行的。如图2(a)所示,之前工作中预训练时会嵌入了所有patch的中心点坐标(即位置信息),即使是那些被屏蔽(不可见)的patch。由于在目标中被屏蔽的patch在我们的设置中是不可见的,所以这样的操作会导致信息泄漏,从而不满足要求。此外,我们还发现,与学习到的嵌入相比,正弦-余弦编码序列会显著降低模型的性能,甚至会导致训练的崩溃。原因是缺少有价值的位置信息,使得模型无法在处理过程中找到需要重建的patch。与2D图像不同,3D点云patch序列没有固定的位置,因此我们需要对由输入点云和目标点云生成的patch序列进行对齐。
联合采样模块。为了处理上述问题,我们从每个输入点云中收集N个中心点,并检索它们的索引,然后我们使用这些索引来获取输入点云和目标点云中每个patch的中心点。该过程如图2(b)所示,我们的JS模块的关键是在保持目标点云和输入点云中对应patch的中心点索引。换句话说,输入序列和目标序列的顺序是良好对齐的。这种设计补偿了目标位置嵌入的缺失,避免信息泄露。因此,它有助于使模型学习输入和目标之间的内在关联,并简化了学习过程。随后,所有点云根据每个斑块对应的中心点搜索包含M个相邻点的邻域。
图3 Point-In-Context的两种输入形式
PIC-Sep和PIC-Cat。如图3所示,我们定义了两种输入形式,对应PIC的两种形式,分别是PIC-Sep和PIC-Cat。对于PIC-Sep,我们将输入点云和带有掩码的目标点云平行输入到Transformer中,然后在几个block之后使用一个简单的平均值进行融合操作合并它们的特征。对于PIC-Cat,我们将输入和目标连接起来,形成一个新的点云。然后我们在整体上进行掩码操作,并将其输入到Transformer中进行预测。
我们将prompt表示为,将查询输入表示为,然后PIC-Sep和PIC-Cat可以公式化为:
其中 代表Concat操作,代表用来代替可见token的掩码token。
图4 PIC-Sep的总体方案
总体流程如图4所示(以PIC-Sep为例)。我们使用一个标准的具有编码器-解码器结构的Transformer作为我们的主干网络,和一个简单的1×1卷积层作为点云重建的任务头。顶部:MPM框架的训练框架。在训练过程中,每个样本包含两对输入和目标点云,它们被输入到Transformer中执行掩码点重建任务。底部:关于多任务的in-context inference。我们的PIC可以推断出各种下游点云任务的结果,包括点云重建、去噪、配准和部件分割。
损失函数。该模型的训练目的是重建出被掩蔽掉的点。为此,我们使用 Chamfer Distance作为训练损失。
3.实验结果
表1 主要实验结果对比
作者在四个常见点云任务上进行了实验,分别对比了特定于任务的模型、多任务模型和In-context learning模型。对于重建、去噪和配准,本文报告了CD距离损失(x1000)。对于部分分割,报告了mIOU。由表可见,本文的PIC-Cat和PIC-Sep表现出了令人印象深刻的结果,并且仅在一次训练后就能够适应不同的任务,在于多任务模型的比较中都取得了最先进的结果。
图5 可视化结果
此外,本文还可视化了PIC-Sep的输出结果,PIC-Sep可以在重构、去噪、配准和部分分割等四个任务中生成相应的预测。对于部分分割任务,我们将生成的目标和映射目标一起可视化,两者都添加了类别的颜色,以便更好地比较。
图6 泛化能力。(a)在ModelNet40上进行点云配准任务的结果(b)泛化到新任务上
通常,In-Context Learning具有一定程度的泛化能力,从而允许模型快速适应不同的任务。这也适用于我们的模型。首先,本文通过对ModelNet40数据集进行配准评估,在分布外点云上测试了所提出的方法。如图6(a)所示,PIC-Sep和PIC-Cat在开放类任务上都表现出优于专门训练的监督学习模型。我们将其与在单个任务上训练的模型进行了比较,如PointNet、DGCNN和PCT。当转移到新的数据集时,这些模型的性能明显下降。难度越大(旋转水平越高),下降量就越多。
此外,本文还验证了它们在未知任务上的泛化能力,如任意角度配准的和局部补全。如图6(b)所示,PIC在这两个任务上都表现得很好,验证了它们转移学习知识的能力。
本文进行了大量的消融实验。其中应该特别注意的是,在表2(a)和表4(a)中作者初步探索了四种不同的prompt选择策略对于结果的影响。除了随机选择的方案,另外三种方案的结果都比默认的方案效果好。这也体现出in-context learning巨大的潜力,这说明PIC可以通过选择更加适合的prompt来提升在点云任务上的性能。甚至,PIC-Sep在CD-aware策略的点云配准任务上超越了表1中的三种特定于任务的模型。
图7 PIC与多任务模型比较结果的可视化
4. 未来展望
本文提出了第一个采用In-Context Learning范式来理解3D点云的框架,Point-In-Context。并且建立了一个包含四个基本任务的大规模点云对数据集,以验证in-context能力。PIC具有良好的学习能力,它对分布外的样本和不可见的任务具有良好的泛化能力。同时,通过选择更高质量的prompt,可以激发出PIC中巨大的潜力,甚至超越特定于一个任务的模型。它为进一步探索三维模式中的In-Context Learning开拓了探索方向。由于时间和计算资源有限,本文没有进行更多的实验,如提升模型的生成结果的精细度和在大规模场景分割点云数据集上进行实验。这将是未来会继续研究的方向。
最新CVPR 2023论文和代码下载
后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集
后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF
3D点云和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer333,即可添加CVer小助手微信,便可申请加入CVer-3D点云或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如3D点云或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲扫码或加微信号: CVer333,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!
▲扫码进星球
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
微信扫码关注该文公众号作者