多模态: 点云+文本 | 通过 CLIP 理解点云:PointCLIP
论文题目:《PointCLIP: Point Cloud Understanding by CLIP》
论文作者:Renrui Zhang, Ziyu Guo, Wei Zhang, Kunchang Li, Xupeng Miao, Bin Cui, Yu Qiao, Peng Gao, Hongsheng Li
作者机构:Shanghai AI Laboratory(上海人工智能实验室)、School of CS and Key Lab of HCST, Peking University(北京大学计算机学院及HCST重点实验室) 、CUHK-Sense Time Joint Laboratory, The Chinese University of Hong Kong(香港中文大学-商汤科技联合实验室 ) 、Centre for Perceptual and Interactive Intelligence (CPII) ( 感知与交互智能研究中心)
项目代码:https://github.com/ZrrSkywalker/PointCLIP(基于 PyTorch )
在公众号「计算机视觉工坊」后台回复「原论文」,可获取对应论文pdf文件。
基于视觉-语言的对比预训练 (CLIP),提出在自然语言监督下学习可转移的视觉特征,已经在图像与文本匹配的 2D 视觉识别中表现出了令人鼓舞的效果。通过大规模 2D图像-文本对预训练的 CLIP 是否可以推广到三维识别?该作者提出PointCLIP来首次确定这种设置是可行的,PointCLIP在 CLIP 编码的3D点云和类别文本之间进行对齐。
具体来说,通过将3D点云投影到多视图深度图上对其进行编码,并以端到端的方式聚合逐视图的 zero-shot 预测,从而实现从 2D 到 3D 的高效知识转移。为了更好地提取全局特征,并将 3D few-shot 知识自适应地融合到 2D 预训练的CLIP中,进一步设计了一个 inter-view 适配器。
此外, PointCLIP 与经典 3D 监督网络之间的知识互补特性。通过在推理过程中简单的集成,PointCLIP有助于在最先进的 3D 网络上实现有利的性能增强。
近年来,基于对比视觉语言预训练 (CLIP) 的 zero-shot 和 few-shot 学习在开放词汇环境下学习图像与文本匹配的 2D 视觉识别中表现出了令人鼓舞的效果。然而,通过大规模 2D 图像-文本对预训练的 CLIP 是否可以推广到三维识别,还有待探讨。
在本文中,我们通过提出PointCLIP来确定这种设置是可行的,PointCLIP在 CLIP 编码的点云和 3D 类别文本之间进行对齐。
具体来说,我们通过将3D点云投影到多视图深度图上对其进行编码,并以端到端的方式聚合逐视图的 zero-shot 预测,从而实现从 2D 到 3D 的高效知识转移。
为了更好地提取全局特征,并将 3D few-shot 知识自适应地融合到 2D 预训练的CLIP中,我们进一步设计了一个 inter-view 适配器。只要在 few-shot 设置下调整适配器,PointCLIP的性能就能得到很大提高。
此外,我们还观察了 PointCLIP 与经典 3D 监督网络之间的知识互补特性。通过在推理过程中简单的集成,PointCLIP有助于在最先进的 3D 网络上实现有利的性能增强。因此,PointCLIP是一种很有前途的替代方案,可以在低数据条件下以边际资源成本有效地理解 3D 点云。
我们在ModelNet10、ModelNet40和ScanObjectNN上进行了深入的实验,以证明PointCLIP的有效性。
图1 PointCLIP与pointnet++训练测试方案的比较。
与传统的三维网络不同,本文提出的PointCLIP网络采用二维图像文本对进行预训练,无需进行三维训练
直接对 3D 数据集进行 zero-shot 分类,实现了高效的跨模态知识转移
近年来,深度学习在二维和三维领域的计算机视觉任务中占据主导地位,例如图像分类,目标检测,语义分割,点云识别和零件分割。随着三维传感技术的快速发展,对三维点云数据处理的需求不断增长,催生了许多先进的深度模型,包括更好的局部特征聚合器、几何建模和基于投影的处理。
与基于网格的二维图像数据不同,三维点云存在空间稀疏性和不规则性,不利于从二维域直接转移方法。
更重要的是,大量新捕获的点云包含了部署模型中 “看不见” 类别的对象。在这种情况下,即使是性能最好的分类器也可能无法识别它们,并且每次出现 “看不见的” 对象时都重新训练模型是无法承受的。
通过对比视觉语言预训练,类似的问题在 2D 视觉中得到了显著缓解,它提出在自然语言监督下学习可转移的视觉特征。对于 “看不见” 类别的 zero-shot 分类,利用视觉和语言之间的预训练相关性进行开放词汇识别,并取得了令人满意的性能。
为了提高在 few-shot 设置下的准确性,采用可学习token对文本输入进行编码,避免了手工提示的调优。
从另一个角度来看,增加了一个具有两个线性层的轻量级残差式适配器,以更好地适应图像特征,进一步提高了其性能,同时大大缩短了训练时间。
因此,在二维图像上识别新的未标记物体的问题已经得到了很好的探索,并且所提出的方法比 zero-shot 有了显著的改进。然而,对于更具挑战性的点云,一个问题自然产生了:这种基于的模型能否转移到 3D 领域,实现对 “看不见” 3D 物体的 zero-shot 分类?
为了解决这个问题,我们提出了PointCLIP,它将的 2D 预训练知识转移到 3D 点云理解中。
第一个问题是弥合无序点云和可以处理的基于网格的图像之间的模态差距。考虑到自动驾驶和室内导航等应用的实时性需求,我们建议采用在线透视投影,无需任何后期渲染,即简单地将原始点投影到预先定义的图像平面上,生成散点深度图。该投影过程在时间和计算上的成本都很小,但从多个角度保留了点云的原始属性。
在此基础上,我们应用预训练的视觉编码器提取点云的多视图特征,然后通过文本生成分类器获得每个视图的 zero-shot 预测。其中,我们将 3D 类别名称放入手工制作的模板中,并通过的预训练文本编码器生成 zero-shot 分类器。由于不同的视图对理解的贡献不同,我们通过视图之间的加权聚合来获得最终的点云预测。
虽然PointCLIP在没有任何 3D 训练的情况下实现了交叉模态 zero-shot 分类,但其性能仍然落后于在完整数据集上训练良好的经典点云网络。为了消除这种差距,我们引入了一个具有 bottleneck 线性层的可学习的视图间适配器,以便在 few-shot 设置中更好地从多个视图中提取特征。
具体而言,我们通过交叉视图交互和融合,将所有视图的特征连接起来,总结出紧凑的点云全局特征。基于全局表示,生成每个视图的自适应特征,并通过残差连接将其添加到原始的编码特征中。
通过这种方式,每个视图都知道全局信息,并且还将来自 3D few-shot数据集的新知识与预训练的 2D 知识相结合。在训练期间,我们只微调这个适配器,并冻结的视觉和文本编码器,以避免过度拟合,因为每个类只有几个样本不足以训练。通过 few-shot 微调,带交互视图适配器的PointCLIP大大提高了 zero-shot 性能,并在性能和成本之间取得了良好的平衡。
此外,我们观察到的 2D 知识,由对比图像-文本对监督,是对 3D 近集监督的补充。PointCLIP与交互视图适配器可以用来提高经典的完全训练的 3D 网络的性能。
对于准确率为的 %的 PointNet++,我们采用了经过 次 ModelNet40 微调的,并在推理过程中直接集成了它们预测的分类逻辑。性能提高了 ,从 提高到 。
同样,对于最先进的 3D 识别网络CurveNet ,知识集成有助于将性能从 提高到 。
相比之下,在没有 PointCLIP 的情况下,在 ModelNet40 上完全训练的两个模型之间简单地集成不能导致性能改进。因此,PointCLIP 可以看作是一个嵌入式多知识集成模块,通过 2D 对比知识和边际 few-shot 训练来促进 3D 网络。
本文的贡献如下:
我们提出了PointCLIP扩展CLIP来处理三维点云数据,通过将二维预训练的知识转移到三维中来实现跨模态 zero-shot 识别。
在PointCLIP上通过多个视图之间的特征交互引入了一个交互视图适配器,通过 few-shot 微调大大提高了性能。
PointCLIP可以作为一个多知识集成模块来增强现有的训练有素的 3D 网络的性能。
在广泛适用的ModelNet10、ModelNet40和具有挑战性的ScanObjectNN上进行了全面的实验,这表明PointCLIP具有有效 3D 理解的潜力。
zero-shot 学习的目标是识别 “看不见的” 物体,这些物体不作为训练样本。虽然zero-shot学习在二维分类中得到了很多关注,但在三维领域中如何进行zero-shot学习的研究却很少。
作为对点云的第一次尝试,将 3D 数据集分为两部分,分别由 “可见” 和 “未见” 样本组成。
通过学习一个从点云特征空间到类别语义空间的投影函数,通过前者对 PointNet进行训练,并在后者上进行测试。
基于先前的工作,进一步缓解了由低质量 3D 特征引起的中心问题,引入了三重损失,以便在换向设置中获得更好的性能,从而允许利用未标记的 “看不见的” 数据进行训练。
与上述所有设置不同的是,PointCLIP只从 2D 数据进行预训练,并在没有任何 3D 训练的情况下对 “看不见的” 3D 样本进行直接的 zero-shot 识别。因此,考虑到从 2D 到 3D 的领域差距,我们的设置更具挑战性,对于实际问题更紧迫。
迁移学习,旨在利用数据丰富领域的知识来帮助数据稀缺领域的学习。
对于一般视觉,ImageNet预训练可以极大地有利于各种下游任务,如目标检测和语义分割。
同样在自然语言处理中,通过掩码语言模型对网络抓取语料库进行预训练的表征在机器翻译和自然语言推理方面取得了领先的性能。
在没有任何微调的情况下,最近引入的 CLIP 对 “未见过的” 数据集显示出优越的图像理解能力。CoOp、CLIP- adapter、Tip-Adapter等进一步表明,注入特定领域的监督可以大大提高CLIP的性能。
虽然成功的案例令人鼓舞,但除了Image2Point外,现有的大多数方法都是在相同的模式下进行知识转移,即图像到图像,视频到视频或语言到语言。
与之不同的是,我们的PointCLIP能够有效地将从 2D 图像学习到的表征转移到不同的 3D 点云,这激发了未来对不同模式迁移学习的研究。
现有的点云深度神经网络可分为基于点的方法和基于投影的方法。
基于点的模型在没有任何预变换的情况下处理原始点。PointNet和pointnet++首先使用多层感知器 (Multi-layer Perceptron, MLP) 对每个点进行编码,并利用最大池化操作来保证排列不变性。最近基于点的方法提出了更先进的架构设计以及几何提取器,以更好地分析点云。
除了原始点之外,基于投影的方法通过将点云转换为体积或多视图数据形式来理解点云。其中,多视图方法将点云投影到多视图图像上,并使用在ImageNet上预训练的二维卷积神经网络 (CNN) 进行处理,如MVCNN等。通常,这种视图投影方法在离线生成的 3D 网格投影图像上运行,或者需要对阴影和纹理进行后渲染,这对于实时应用来说是昂贵且不切实际的。
相反,我们遵循SimpleView,将原始点简单地投影到图像平面上而不进行处理,并根据垂直距离设置其像素值。这样的深度图投影在时间和计算成本上都很有限,满足了高效的端到端zero-shot识别的需求。
图2 PointCLIP的pipeline 。为了弥合模态差距,PointCLIP将点云投影到多视图深度图上,并通过在 2D 中预训练的 CLIP 进行 3D 识别。
该设定提供了直接 zero-shot分类和 few-shot分类的替代方案,分别以实线和虚线表示。
在第 节中,我们首先回顾对比视觉语言预训练 (CLIP) 用于 2D zero-shot分类。
在第 节中,我们介绍了PointCLIP,它将 2D 预训练的知识转移到 3D 点云中。
在第 节中,我们提供了一个inter-view适配器,以获得更好的 few-shot 性能。
在第 节中,我们建议将PointCLIP与经过充分训练的经典 3D 网络集成,以进行多知识互补。
对CLIP进行预训练,使其与相应的自然语言描述相匹配。CLIP中有两个独立的编码器,分别用于视觉和文本特征编码。
在训练过程中,给定一批图像和文本,CLIP提取它们的特征,并学习在嵌入空间中以对比损失对齐它们。
为了确保全面的学习,从互联网上收集了亿个训练图像-文本对,这使得CLIP能够将图像与开放词汇表中的任何语义概念对齐,以进行 zero-shot 分类。
具体来说,对于 个类的 “看不见的” 数据集,CLIP 通过将所有类别名称放入预定义的模板 (称为提示符) 来构造文本输入。
然后,通过分类文本的 维文本特征得到 few-shot 分类器,我们将其权值记为 。
中的每 行向量都对预训练的类别知识进行编码。
同时,测试图像的特征被 CLIP 的视觉编码器编码为 ,分类 计算为:
其中: 和 表示 函数和 个类别的预测概率。整个过程不需要任何新的训练图像,并且通过预训练编码器获得了良好的 zero-shot 分类性能。
各种 2D 的大规模数据集为预训练模型提供了丰富的样本,以提取高质量和鲁棒性的 2D 特征。相比之下,广泛采用的 3D 数据集相对要小得多,并且包含有限的对象类别,例如,ModelNet40有9843个样本和40个类,而ImageNet有100万个样本和1000个类。
因此,获得性能良好的预训练 3D 网络用于迁移学习是非常困难的。为了缓解这一问题并探索 CLIP 的交叉模态能力,我们提出了PointCLIP在预训练的 CLIP 基础上对点云进行 zero-shot 学习。
点云数据是一组无序的点分布在三维空间周围,其稀疏性和分布与基于网格的二维图像有很大的不同。为了将点云转换为可访问 CLIP 的表示形式,我们从多个视图生成点投影图像,以消除 3D 和 2D 之间的模态差距。
其中,若将某点的坐标记为 ,以底部视图为例,则其在图像平面上的投影位置为 ,如同[19]。
这样,投影出来的点云就是一个缩短的图形,即远观小而反观大,与真实照片更接近。除了[19]使用一个卷积层将单通道深度图预处理为三通道特征图外,我们没有对所有三个通道进行任何预变换并重复像素值 。
此外,我们没有进行离线处理,直接从原始点获取投影深度图,没有颜色信息(这导致了边际时间和计算成本)。通过这种轻量级的跨模态内聚,CLIP 的预训练知识可以用于点云理解。
基于 个视图的投影图像,我们使用 CLIP 提取它们的视觉特征 ,对于 个视觉编码器。
对于文本分支,我们将 个类别名称放入预定义模板的类标记位置:point cloud depth map of a [CLASS] 。并将其文本特征编码为 zero-shot 分类器 。
在此基础上,分别计算每个视图的分类 ,并将其加权求和得到点云的最终 。
其中: 是衡量视图 重要性的超参数。
每个视图的 编码点云的不同视角,并能够独立进行zero-shot分类。它们的聚合进一步补充了来自不同角度的信息,以实现总体理解。
对于 “看不见的” 3D 数据集,PointCLIP的整个过程是非参数化的,它通过CLIP预训练的 2D 知识将每个点云与其类别配对,而无需任何 3D 训练。
图3 inter-view适配器的详细结构。
给定点云的多视图特征,适配器提取其全局表示并生成面向视图的自适应特征。
通过残差连接,将新学习的 3D 知识融合到预训练的CLIP中。
虽然PointCLIP在点云上实现了高效的 zero-shot 分类,但其性能是完全训练好的 3D 神经网络无法比拟的。
然后,我们考虑一个更常见的场景,即新收集的数据中包含每个 “未见” 类别的几个对象,并且需要网络在如此 few-shot 设置下识别它们。
对整个 CLIP 进行微调是不切实际的,因为巨大的参数和不足的训练样本很容易导致过度拟合。
因此,参考自然语言处理 (NLP) 和 CLIP- adapter 中的对下游任务的 CLIP 进行微调,我们在PointCLIP之上附加了一个三层多层感知器(MLP),命名为 inter-view adapter,以进一步提高其在 few-shot 设置下的性能。
在训练期间,我们冻结CLIP的视觉和文本编码器,并仅通过交叉熵损失微调可学习适配器。
具体来说,给定一个点云的 CLIP 编码的 -view 特征,我们沿着通道维度将它们连接为 ,然后通过视图间适配器的两个线性层获得紧凑的全局表示为
其中: 表示适配器中的两层权值。
通过这种跨视图聚合,多个视角的特征被融合成一个汇总向量。
在此基础上,从全局特征生成面向视图的自适应特征,并通过残差连接将其添加到原始的 CLIP 编码特征中
式中, 表示视图 的 的第 部分, 。
inter-view 适配器显示了两个好处:
首先,它将全局引导的自适应特征与 混合在一起,以便全面了解点云;
另一方面,将新学习的 3D few-shot 知识注入到 2D 预训练的 CLIP 中,在 3D 特定监督下进一步促进跨模态性能。
在 inter-view 适配器之后,每个 view 使用自适应的特征 和文本分类器 进行分类。和 zero-shot 分类一样,将 个 view 的所有 M 进行汇总,构建最终的预测。令人惊讶的是,仅仅微调这个带有少量样本的添加的适配器就能显著提高性能:
例如,在ModelNet40上,每个类别有16个样本,从 提高到 ,不到完整数据的1/10。
这一鼓舞人心的提升证明了特征自适应在 3D few-shot数据上的有效性和重要性,极大地促进了知识从 2D 到 3D 的转移。
因此,带交互视图适配器的PointCLIP为点云理解提供了一个有希望的替代解决方案。特别是对于一些没有条件用大规模全标注数据来训练整个模型的应用,只需对PointCLIP的三层适配器进行微调,用 few-shot 数据就可以达到有竞争力的性能。
图4 PointCLIP可以为传统的 3D 网络提供补充的 2D 知识,并作为即插即用的增强模块。
经典的点云网络,从早期的PointNet到最近的CurveNet,都是通过 close-set 监督在 3D 数据集上从头开始训练的,但PointCLIP主要继承了来自 2D 视觉语言学习的预训练先验,并且包含了知识的不同方面。
然后我们研究这两种形式的知识是否可以组合在一起以获得更好的联合推理。在实践中,我们选择了两个模型:pointnet++和我们在次微调下的PointCLIP,通过简单的加法直接集成它们的预测 作为最终输出。
出乎我们的意料,在PointCLIP 的帮助下,pointnet++从提升到,显著提升了+。
换句话说,两个低分数模型的集成可以产生一个更强的模型,这充分说明了两种知识的互补互动。相比之下,一对经典的训练有素的模型之间的合奏不会带来表现提高,表明互补性的重要性。
我们进一步将PointCLIP与其他最先进的 3D 网络集成,并观察到类似的性能提升。因此,PointCLIP可以用作即插即用增强模块,以实现更强大的点云识别。
表1 PointCLIP在ModelNet10, ModelNet40和ScanObjectNN上的 few-shot 性能与最佳性能设置。Proj. 设置包括投影距离和深度图的边长。
我们在三个知名数据集ModelNet10、ModelNet40和ScanObjectNN上评估了PointCLIP的 zero-shot 分类性能。
对于每个数据集,我们不需要训练数据,采用完整的测试集进行评估。对于预训练的CLIP模型,我们默认采用ResNet-50作为视觉编码器,transformer 作为文本编码器。
然后,我们从前、右、后、左、上、下个正交视图投影点云,每个视图的相对权重值从到不等,如表 第四列所示。
由于点坐标从归一化到,我们将个图像平面设置在距离坐标中心的固定距离上,这个距离显示为Proj的第一个值。
设置如表 所示,其中距离越大,图像上的点分布越密集。
投影方形深度图的边长在不同的数据集上是不同的,在Proj设置中表示为第二个值。并且较大的边长会导致较小的投影对象大小。
然后,我们对所有的样本进行上采样化为,以便与 CLIP 的设置对齐。
对于来自文本编码器的 zero-shot 分类器,我们将文本模板设置为 “point cloud depth map of a [CLASS].”,以迎合点云的视觉特征。
在表中,我们展示了 zero-shot PointCLIP在三个具有最佳性能设置的数据集上的性能。
在没有任何训练的情况下,PointCLIP能够在ModelNet10上达到的预期,这证明了我们从到的有效知识转移。
对于类别数量为倍的ModelNet40和具有嘈杂现实场景的ScanObjectNN, PointCLIP的性能略差: 分别为和,这是由于缺乏特定的下游适应。
对于 proj 的投影距离和图像分辨率。设置时,其方差符合不同数据集的属性。
与室内ModelNet10相比,ModelNet40上的PointCLIP需要更多的细节来识别复杂的室外物体,如飞机、植物等,因此点越分散,物体尺寸越大,即透视投影距离和分辨率越高,表现越好。
相比之下,对于ScanObjectNN,需要更密集的点和更大的分辨率来过滤噪声并保留复杂的真实场景信息。
在视图权重方面,合成对象的ModelNet10和ModelNet40要求所有个视图对最终分类的贡献具有不同的重要性,但对于包含地板和天花板噪声点的ScanObjectNN,顶部和底部视图几乎不能提供任何信息。
表2 在 ModelNet40上对 zero-shot 和 16-shot 的 PointCLIP 的投影视图数和重要性的消融研究(%)。
在表中,我们对 few-shot PointCLIP的投影视图数进行了消融研究以及ModelNet40中每个视图的重要性。
''对于视图数量,我们尝试了 和 个视图,以越来越多地捕获点云的多视图信息,但超过 个视图会带来冗余并导致性能下降。
为了探索不同视图如何影响性能,我们将所有相对权重统一为,并分别将每个视图的权重增加到。
从表中可以看出,从右边开始的投影效果最好,说明了它的主导作用,而从上到下的投影对分类的贡献相对较小。
在表中,我们实现了不同的视觉主干,包括ResNet和 vision transformer,其中RN50×16的性能最好,达到。
表3 PointCLIP在ModelNet40上不同提示符设计的性能。
[CLASS]表示类标记,[Learnable Tokens]表示固定长度的可学习提示。
表4 PointCLIP在ModelNet40上使用不同视觉编码器的性能(%)。
RN50和ViT-B/32表示ResNet-50和视觉 transformer, 片嵌入。
%表示ResNet-50计算量是[46]的16倍。
我们在表中为zero-shot PointCLIP提供了五种提示设计。
我们观察到简单的 “a photo of a [CLASS]”,在ModelNet40上达到,简单地将 “point cloud” 这个词插入其中会损害性能。
然后,我们去掉 “a photo””,直接利用 “point cloud” 作为主体,使准确率提高了。由于投影的点云通常会覆盖大部分图像区域,因此添加 “big” 可以进一步提高性能。
此外,我们添加了 “depth map” 来更贴切地描述投影图像,这对表现最佳的做出了贡献,表明提示选择的重要性。
图5 PointCLIP与其他经典3D网络在ModelNet10、ModelNet40和ScanObjectNN上的性能比较我们的PointCLIP在 和设置下显示出与其他型号一致的优势。
我们在ModelNet10、ModelNet40和ScanObjectNN上也用、、、、个 shot 下的inter-view适配器试验PointCLIP。对于次 shot 设置,我们从训练集的每个类别中随机抽取个点云。
考虑到效率和性能,我们采用ResNet-作为 CLIP 的预训练视觉编码器,以获得更强的特征提取,并将投影视图数增加到个,增加了 左上角/左下角/左下角 的视图,因为在表中,左视图被证明是对 few-shot 识别信息量最大的。
另外,我们将提示符修改为 “point cloud of a big [CLASS]”,在few-shot实验中表现较好。对于交互视图适配器,我们构建了一个由三个线性层组成的残差式多层感知器(MLP),如第节所述。
在图中,我们展示了PointCLIP的 few-shot 性能,并将其与个代表性的网络进行了比较: PointNet、pointnet++、SimpleView和最先进的CurveNet。
正如我们所看到的,带有 inter-view 适配器的PointCLIP优于所有其他的用于 few-shot 分类的方法。当每个类别的样本数量较少时,PointCLIP具有明显的优势,在ModelNet40上 1-shot 就超过了PointNet和CurveNet 。
当给定更多的训练样本时,PointCLIP仍然领先于性能,但由于编码器的冻结和唯一的三层适配器的有限拟合能力,差距变得更小。
在表中,我们显示了不同投影视图下的 的PointCLIP,并探索每个视图如何对ModelNet40做出贡献。
与 zero-shot 版本不同,的PointCLIP的个视图比个视图表现得更好,这可能是因为新添加的适配器能够更好地利用来自更多视图的信息并自适应地聚合它们。
对于视图的重要性,我们遵循 zero-shot 实验的配置,但观察到相反的结论: 左边的视图是最具信息量的视图。
对于表中不同的视觉编码器,ResNet-以比视觉transformer 或ResNet-更少的参数实现了最高的精度。表列出了提示设计对性能的影响。CoOp之后的可学习提示比手工设计表现最差, “point cloud of a big [CLASS].” 表现最好。
表5 16次 PointCLIP 对多知识集成的增强率(%)在ModelNet40上达到 。前后对比表示带有或不带有PointCLIP集合的模型。
为了验证混合预训练的先验知识与知识的互补性,我们将ModelNet40上微调过的次PointCLIP()与完全训练的PointNet、pointnet++、DGCNN、SimpleView和CurveNet分别聚合在一起。
其他模型的所有检查点都是不经过投票从中获得的。我们手动调整PointCLIP和每个模型之间的融合比率,并报告表中最佳比率的性能,它表示PointCLIP相对于整体的权重。
如表所示,PointCLIP集成提高了所有经典的完全训练好的网络的性能。结果充分证明了`PointCLIP`与现有模型的互补性。
值得注意的是,性能的提高并不是简单地通过两个模型之间的集成来实现的,因为 的 PointCLIP的精度低于其他完全训练过的模型,但仍然可以使它们已经很高的性能得到提高。
其中,pointnet++的准确率提高幅度最大,从提高到,而PointCLIP与最先进的CurveNet相结合的准确率达到了。
同样,我们观察到,对于基线性能较低的模型,PointCLIP的 需要占更大的比例,但是对于表现良好的模型,如CurveNet,它们的知识应该在集合中起主导作用。
表6 具有相同训练方案的模型间集成的消融研究(%)。
我们对在没有PointCLIP的ModelNet40上完全训练的两个模型的集合进行消融研究,并以相同的比例融合它们的逻辑以简化。
如表所示,聚合pointnet++降低了RSCNN和CurveNet的性能,并且最高的两个模型SimpleView和CurveNet之间的集成也无法获得更好的性能。
此外,PointCLIP的成对组合会损害原始性能。
因此,简单地将两个具有相同训练方案的模型集成通常会导致性能下降,这表明了多知识互动的重要性。
在表中,我们将分别经过次、次、次、次、次和次微调的PointCLIP与CurveNet融合,探索它们的增强能力。
据此,zero-shot 的PointCLIP仅为,可提升CurveNet +。
然而,在三维数据集上进行过多的训练会对集成精度产生不利影响。这可能是由于两个模型之间的知识相似度过高,无法提供预期的互补信息。
表7 PointCLIP在ModelNet40上对CurveNet不同few-shot设置下的增强性能(%)。
我们提出了 PointCLIP,它可以在没有任何 3D 训练的情况下对点云进行跨模态 zero-shot 识别。通过多视图投影,PointCLIP 有效地将 CLIP 预训练的 2D 知识转移到 3D 领域。
此外,我们设计了一个跨视图适配器来聚合多视图特征,并在 few-shot 设置下将 3D 学习的知识融合到预训练的 CLIP 中。通过微调适配器并冻结所有其他模块,PointCLIP 的性能得到了很大提高。
此外,PointCLIP 还可以作为一个即插即用模块,为传统的 3D 网络提供补充知识,从而提高性能。除了识别之外,我们未来的工作将集中在将 CLIP 推广到更广泛的 3D 应用上。