“他山之石,可以攻玉”,站在巨人的肩膀才能看得更高,走得更远。在科研的道路上,更需借助东风才能更快前行。为此,我们特别搜集整理了一些实用的代码链接,数据集,软件,编程技巧等,开辟“他山之石”专栏,助你乘风破浪,一路奋勇向前,敬请关注!
作者单位:上海人工智能实验室,西北工业大学,香港中文大学,北京大学,电信AI
代码链接:https://github.com/Ivan-Tang-3D/Any2Point
论文链接:https://arxiv.org/pdf/2404.07989.pdf
中稿会议:ECCV 2024
目前主要设计将2D预训练模型应用到3D领域,而对于不同模态迁移到3D的通用方法却相对缺乏。在这篇文章中,我们提出了一种名为Any2Point的高效参数微调框架,该框架克服了现有的空间几何损失和计算成本高的问题。它允许各种模态(包括视觉、语言和音频)的大型模型进行3D理解,并且只需使用原模型参数量的1%便能在后续任务中达到超越现有最佳(SOTA)的表现!
现有的将2D大模型迁移到3D领域的范式旨在利用2D领域丰富的上下文和纹理知识,以提升对3D物体场景的理解能力。目前这类研究主要分为两个方向:一是数据模态的转换,该方法通过将3D点云数据转换为2D图像并输入到2D预训练模型中。PointCLIP V1和V2首先采用了CLIP的2D预训练知识,通过将3D点云投影到2D图像作为输入到预训练的骨干网络。P2P还提出了通过可学习的着色模块进行2D到3D的投影。尽管这些方法在下游任务上表现出色,但模态转换过程不可避免地导致3D数据中空间信息的丢失;二是跨模态的知识蒸馏,该方法通过将2D或视觉语言模型的预训练知识转移到3D模型。Image2Point提出了通过卷积层膨胀将2D语义转移到3D。ACT利用预训练的2D和语言变换器作为跨模态教师,通过离散变分自编码和提示调整进行3D学习。这不仅要求在训练时同时处理2D和3D模型,而且极度依赖大量的2D至3D配对数据。除了上述问题外,更重要的是,当前的方法主要关注从2D视觉到3D点云的模型适应,而不是用于其他模态的共享方法。
因此,我们开发一种通用的任意模态迁移到3D范式框架Any2Point,利用参数高效微调(PEFT)使得任何模态的大型模型都能够高效和有效地理解点云。我们的框架避免了点云投影,从而减少了3D信息损失,并直接微调来自其他模态的预训练模型,节省了知识蒸馏的资源,进一步减少可学习参数量并大大提高性能。Any2Point仅利用1.0%的可训练参数在多种任务上的表现均优于现有的3D预训练模型。
整体流程如图一所示:为了编码输入的点云, 我们丢弃了预训练模型中的原始嵌入模块, 例如1D语言模型中的Tokenizer和2D视觉/音频模型中的卷积,并使用3D小型网络对点云进行编码。在此基础上,编码后的3D令牌首先被送入3D到任意模态虚拟投影模块(3D-Any Virtual Projection Module)进行位置编码。这一设计的初衷是使源模态(1D/2D)的位置信息能够分配到每个3D Token上。然后进入冻结的1D/2D 变压器大模型,与任意模态到3D指导适配器(Any-3D Guided Adapter)进行交互,为了促进基于1D/2D引导的3D表示的适应性学习。整套框架中仅有最初的点云标记化网络和后续加入的适配器部分具有可学习能力。
3D到任意模态的虚拟投影模块如图二所示: 由于预训练模型最初训练的空间处在1D/2D空间,若在我们的框架中设计新的3D位置编码,会在训练过程中和预训练模型冻结权重出现语义上的不匹配。为了解决这一问题,我们通过将3D Token虚拟地投影回源模态,从而获取适当的位置编码。在处理2D视觉和音频模态的Transformer时,我们采用PointCLIP中无需学习参数的简单投影方式将每个3D坐标虚拟地投影到M个不同的视图上,以获得2D空间中的多样性的位置坐标信息,并且我们不实际生成多视图图像。同样地,对于1D语言模态的 Transformer,我们将3D坐标虚拟地投影到M条1D线上。通过方向向量与3D点坐标的点积来确定3D点在1D线上的位置从而获得M个不同的1D位置编码。在获得这些1D/2D位置编码后,我们将其平均成一个统一的位置编码。这个模块将源模态的位置信息注入到3D令牌中, 减轻了真实投影带来的信息损失。
任意模态到3D引导适配器如图三所示: 自注意力机制主要侧重于全局上下文的长距离交互,但对于3D形状的细节理解,细致的空间几何同样至关重要。为此,我们引入了专用的适配器层,旨在专门获取局部区域中的3D语义信息。另外,考虑到预训练模型是基于1D/2D位置编码的,我们专门开发了一种由1D/2D引导的聚合策略和一种适应性多模态到3D的整合技术。在适配器内部,我们首先根据1D/2D位置先验将3D令牌分组到不同的局部邻域。对于M个不同视角/线,我们进行M个并行的局部聚合过程,以充分利用不同投影视角。具体来说,对于2D,我们将每个虚拟投影图像均匀分割成局部2D块,对于1D,我们类似地将每条虚拟投影线均匀分割成局部1D段。在此基础上,我们对每个1D/2D邻域内的3D令牌采用自注意层,在1D/2D先验的指导下进行局部特征交互。然后我们采用池化和反池化操作将局部聚合特征传播到同一邻域内的每个点。在并行局部聚合后,我们获得M组3D令牌, 由于不同投影视角通常对3D表示的重要性不同,我们提出一种自适应集成方法来聚合每个令牌的M个特征。我们另外采用了一个独立于M个1D/2D指导局部聚合的3D特征转换分支。这个非参数分支将适配器前的3D令牌转换为自适应集成的特征基线,通过余弦相似度计算不同视角/线的相对权重,并最终聚合它们的特征以获得最终输出。
在实际的3D物体数据集ScanObjectNN上,Any2Point框架使用不同模态如语言(CLIP-Text)、视觉(DINO V2-B)和音频(ImageBind-Audio)分别实现了91.9%、87.7%和87.0%的识别准确率。与此前的顶尖方法(ReCon)相比,Any2Point在使用语言模态和仅0.9M的可学习参数下实现了1.3%的准确率提升。在视觉和音频的2D模态中,Any2Point也明显超过了仅在3D数据集上进行预训练的最优方法,准确率分别提升了0.6%和1.3%。
在合成的3D物体数据集ModelNet40上,Any2Point框架通过语言、视觉和音频模态分别达到了94.3%、93.2%和92.7%的准确率。特别是使用1D语言模态,Any2Point比以前的最优方法(ReCon)提高了0.2%,同时减少了42.7M的可学习参数。令人注目的是,在ScanObjectNN和ModelNet40数据集上,无论使用哪种数据,Any2Point框架中的1D语言模态性能都超过了2D的视觉和音频模态。这可能是因为大型语言模型相比其他模态拥有更丰富的语义信息,这有助于对各种3D对象进行深入理解。
我们在ScanObjectNN数据集的“PB-T50-RS”上选择RoBERTa(1D)、DeiT(2D Vision)和SSAST(音频)作为预训练模型,微调设置与我们之前的实验一致, 进一步验证了我们的发现--无论是在ScanObjectNN还是ModelNet40数据集上,Any2Point框架都保持了1D模态(语言)表现优于2D模态(图像和音频)的性能趋势。我们猜测,由于预训练数据的原因,大型语言模型与其他模态相比拥有更强的语义信息,这有利于深入理解不同的3D对象。同时在 ScanObjectNN 数据集的“PB-T50-RS”上,2D & language预训练模型的大小增加可以增强 Any2Point 的性能。
Any2Point框架允许从任何模态的预训练大型模型(如2D视觉、语言和音频)进行高效的3D理解。在这一框架中,我们采用了两项关键技术:3D到任意模态的虚拟投影和任意模态到3D的引导适配器,这两种技术不仅帮助提取3D结构的知识,还有效地对预训练模型进行微调。通过这种方式,Any2Point成功解决了现有方法中存在的问题,如3D几何信息的丢失和高昂的资源消耗。相较于以往的最佳3D预训练模型,Any2Point展示了出色的性能和高效率,同时只需极少的可训练参数便可达到显著的成效。
本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。
收藏,分享、在看,给个三连击呗!