Abstract
近年来,基于对比视觉语言预训练(CLIP)的零镜头和少镜头学习在二维视觉识别中表现出了令人鼓舞的效果,该方法在开放词汇设置下学习图像与相应文本的匹配。然而,通过大规模二维图像-文本对预训练的CLIP是否可以推广到三维识别,还有待探讨。在本文中,我们通过提出PointCLIP来确定这种设置是可行的,PointCLIP在CLIPencoded的点云和3D类别文本之间进行对齐。具体而言,我们通过将点云投影到多视图深度图上对其进行编码,并以端到端的方式聚合逐视图的零射击预测,从而实现了从2D到3D的有效知识传递。为了更好地提取全局特征,并将3D少镜头知识自适应地融合到2D预训练的CLIP中,我们进一步设计了一个访谈视图适配器。只需在少量镜头设置下微调适配器,PointCLIP的性能就可以得到很大提高。此外,我们还观察了PointCLIP与经典3d监督网络之间的知识互补特性。通过在推理过程中简单的集成,PointCLIP有助于在最先进的3D网络上实现有利的性能增强。因此,PointCLIP是一种很有前途的替代方案,可以在低数据条件下以边际资源成本有效地理解3D点云。我们在ModelNet10、ModelNet40和ScanObjectNN上进行了深入的实验,以证明PointCLIP的有效性
Introduction
在深度学习领域,尽管2D和3D视觉任务已经取得了显著进展,如图像分类、目标检测和语义分割等,但3D点云数据的处理仍然面临空间稀疏性和不规则分布的挑战。特别是,模型在训练时未曾遇到过的对象类别,现有的分类器往往难以有效识别。针对这一问题,对比视觉语言预训练(CLIP)模型在2D视觉识别中的成功应用,提出了一个具有挑战性的想法:将CLIP模型扩展到3D领域,实现对3D点云数据的理解和分类。CLIP通过大规模图像-文本对的预训练,学习了图像与文本之间的关联,从而在零样本设置下展现出对未见类别的识别能力。然而,将这种能力迁移到3D点云上并非易事,需要解决从2D图像到3D点云的跨模态知识转移问题。为了应对这一挑战,作者提出了PointCLIP方法,它通过将点云数据投影到多个视图的深度图上,并利用CLIP的预训练视觉编码器提取特征,实现了对3D点云的零样本分类。PointCLIP的优势在于,即使在没有3D训练数据的情况下,也能利用2D图像-文本对的预训练知识来理解和分类3D点云数据,这对于在数据稀缺的情况下进行3D点云理解具有重要意义。
论文的研究目标是在低数据条件下实现有效的3D点云理解,并以边际资源成本实现这一目标。作者们计划在ModelNet10、ModelNet40和ScanObjectNN等数据集上进行实验,以验证PointCLIP方法的有效性,并提出未来的工作将探索CLIP在更广泛的3D应用中的泛化能力。
Related work
主要是介绍一些相关的概念。
Zere-shot learning in 3D
零样本学习在3D领域的目标是识别在训练中未出现过的对象。尽管这一概念在2D分类中已广受关注,但在3D领域的应用研究相对较少。早期的工作通过将3D数据集分为“见过”和“未见”的样本,并使用前者训练PointNet来识别后者。随后的研究通过改进3D特征质量和引入三元损失来提高归纳学习的性能,允许使用未标记的数据。与这些方法不同,PointCLIP不依赖于3D样本的训练,而是通过2D数据进行预训练,实现对3D未见样本的直接零样本识别,这一设置在跨2D到3D领域的知识转移方面更具挑战性,并且对于解决实际问题具有紧迫性。
Transfer Learning
迁移学习是一种利用数据丰富的领域知识来辅助数据较少领域学习的技术。在视觉领域,ImageNet预训练对目标检测和语义分割等任务有显著帮助。在自然语言处理领域,通过网页爬取的语料库预训练的模型在机器翻译和自然语言推理任务上取得了优异的性能。
CLIP作为一种新引入的模型,在没有经过微调的情况下,对未见数据集展现出了卓越的图像理解能力。进一步的工作表明,通过引入特定领域的监督,CLIP的性能可以得到显著提升。然而,大多数现有方法都在相同模态内进行知识转移,如图像到图像或语言到语言。与这些方法不同,PointCLIP能够实现从2D图像到3D点云的跨模态知识转移,这为未来在不同模态之间进行迁移学习的研究提供了新的方向和动机。
Deep neural network for point cloud
点云深度神经网络主要分为基于点的方法和基于投影的方法。基于点的方法如PointNet和PointNet++,通过多层感知器对点进行编码,并使用最大池化操作保证排列不变性,近期的研究还引入了更先进的架构设计和几何提取器以提高点云解析能力。而基于投影的方法则将点云转换为体积或多视图数据形式,多视图方法通过将点云投影到多个视图的图像上,并利用在ImageNet上预训练的2D CNN进行处理。然而,这些方法通常需要离线生成或后期渲染,成本较高且不适用于实时应用。与此相反,本文提出的SimpleView方法直接将原始点投影到图像平面上,通过点的垂直距离设置像素值,这种方法具有较低的时间和计算成本,适合高效的端到端零样本识别任务。
Method
首先是一个概述在第3.1节中,首先回顾对比视觉语言预训练(CLIP)用于2D零射击分类。然后在3.2节中,介绍PointCLIP,将2D预训练的知识转移到3D点云中。在3.3节中,提供一个访谈视图适配器,以获得更好的少镜头性能。在第3.4节中,建议将PointCLIP与经过充分训练的经典3D网络集成,以进行多知识互补。
A Revisit of CLIP
PointCLIP的管道。为了弥合模态差距,PointCLIP将点云投影到多视图深度图上,并通过在2D中预训练的CLIP进行3D识别。该开关提供了直接零弹分类和少弹分类的替代方案,分别以实线和虚线表示,从这个图中可以看到分成了视觉编码和文本编码两种方式。
CLIP是一个预训练模型,它通过两个独立的编码器分别对图像和文本特征进行编码,以便将图像与其自然语言描述相匹配。在训练过程中,CLIP从互联网上收集了4亿个图像-文本对,通过对比损失在嵌入空间中对齐图像和文本的特征,实现了对开放词汇表中任何语义概念的零样本分类能力。对于未见数据集,CLIP使用预定义模板构建文本输入,并利用类别文本的C维特征获得零样本分类器。CLIP的视觉编码器将测试图像编码为特征向量,然后通过这些特征和文本编码器的权重计算分类logits,并通过softmax函数得到K个类别的预测概率。整个过程无需额外的训练图像,依赖预训练编码器实现优秀的零样本分类性能。
Point Cloud Understanding by CLIP
这一部分提出了PointCLIP,是一个基于预训练的CLIP模型的方法,用于点云数据的零样本学习。
由于3D数据集通常比2D数据集小且类别有限,这使得难以获得适合迁移学习的预训练3D网络。为了解决这个问题,PointCLIP通过从多个视图生成点投影图像,将无序的3D点云数据转换为CLIP能够处理的格式,从而弥合了2D和3D之间的模态差距。这些投影图像保留了点云的原始属性,并且通过简单的深度图投影,以最小的时间和计算成本实现了高效的端到端零样本识别。
PointCLIP利用CLIP的预训练2D知识,通过视觉编码器提取多视图特征,并通过文本编码器构建零样本分类器,通过加权求和的方式聚合来自不同视角的分类结果,实现了对点云的整体理解,而无需任何3D训练数据。
Inter-view Adapter for PointCLIP
Inter-view适配器的详细结构。给定点云的多视图特征,适配器提取其全局表示并生成面向视图的自适应特征。通过残差连接,将新学习的3D知识融合到预训练的CLIP中
PointCLIP虽然在点云上实现了高效的零样本分类,但其性能仍不及完全训练的3D神经网络。为了解决这一问题,作者提出了一种视图间适配器,是一个附加在PointCLIP之上的三层多层感知器(MLP),用于在少样本设置下提升性能。
在训练过程中,CLIP的视觉和文本编码器被冻结,只有适配器通过交叉熵损失进行微调。适配器通过连接多视图的特征并经过两层线性变换获取全局表示,然后基于全局特征生成适应性特征,并通过残差连接将其添加回原始CLIP编码的特征。
这种方法不仅增强了对点云的整体理解,而且将新学习到的3D少样本知识融合到2D预训练的CLIP中,进一步提升了跨模态性能。通过仅使用少量样本微调适配器,PointCLIP在ModelNet40数据集上实现了显著的性能提升,从而证明了特征适应在3D少样本数据上的重要性和有效性。
Multi-knowledge Ensemble
PointCLIP与传统的点云网络不同,它不是从零开始在3D数据集上训练,而是继承了2D视觉-语言学习的预训练知识。
研究者探究了将传统点云网络和PointCLIP的知识结合起来的可能性,以提高推理性能。实验中,PointNet++和PointCLIP的集成,通过简单的相加方式,提升了分类性能,证明了不同来源知识互补的有效性。这种集成方法不仅在PointNet++上有效,与其他最先进的3D网络集成时也能观察到类似的性能提升。
因此,PointCLIP可以作为一个即插即用的增强模块,用于提升点云识别的鲁棒性。这表明,通过结合不同领域的知识,可以显著提高模型的性能,尤其是在数据稀缺的情况下。
Experiment
Zero-shot Classification
在这个实验中,PointCLIP配备了视图间适配器,并在1到16次shot的设置下,在ModelNet10、ModelNet40和ScanObjectNN数据集上进行了实验。实验中,选择了ResNet-101作为CLIP的预训练视觉编码器,以加强特征提取,并增加了投影视图的数量至10个,特别是增加了左侧视图。实验结果表明,PointCLIP在少样本分类任务中优于其他四种代表性的3D网络,包括PointNet、PointNet++、SimpleView和CurveNet。消融实验进一步分析了不同投影视图对性能的影响,并发现在16次shot设置下,10个视图比6个视图表现更好。
此外,不同的视觉编码器和提示设计对性能也有显著影响,其中ResNet-101编码器和“点云的大[CLASS]”提示设计表现最佳。
最后,通过与其他完全训练的3D网络集成,PointCLIP进一步提升了性能,证明了其作为即插即用增强模块的潜力,能够实现更稳健的点云识别。
Few-shot Classification
这一部分描述了PointCLIP在少样本学习环境下的实验设置、性能表现和消融研究。实验在ModelNet10、ModelNet40和ScanObjectNN数据集上进行,采用了视图间适配器,并在1到16次shot的设置下进行。为了提高效率和性能,使用了ResNet-101作为预训练的视觉编码器,并增加了投影视图的数量至10个。
实验结果显示,PointCLIP在少样本分类任务中优于其他几种3D网络。消融研究表明,增加投影视图的数量可以提高性能,尤其是左侧视图对性能的提升最为显著。此外,不同的视觉编码器和提示设计对性能有显著影响,其中ResNet-101编码器和特定提示设计表现最佳。最后,通过与其他3D网络集成,PointCLIP进一步提升了性能,证明了其作为多知识集成模块的潜力。
Multi-knowledge Ensemble
这部分主要展示了PointCLIP与其他几种3D网络模型集成后性能提升的数据。表中列出了六种不同的3D网络模型(PointNet、PointNet++、RSCNN、DGCNN、SimpleView、CurveNet)在有无PointCLIP集成时的准确率对比,以及性能提升的具体数值和增益比率。这些数据显示了PointCLIP作为一个多知识集成模块,能够显著提升现有3D网络的性能,尤其是在只有少量样本(16-shot)的情况下,PointCLIP在ModelNet40数据集上达到了87.20%的准确率。这表明PointCLIP能够有效地与其他模型集成,通过补充2D视觉语言预训练的知识来增强3D点云的识别能力。
Conclusion
本文提出了PointCLIP,它可以在没有任何3D训练的情况下对点云进行跨模态零射击识别。通过多视图投影,PointCLIP有效地将CLIP预训练的2D知识转移到3D领域。
此外,设计了一个跨视图适配器来聚合多视图特征,并在少量镜头设置下将3D学习的知识融合到预训练的CLIP中。通过微调适配器并冻结所有其他模块,PointCLIP的性能得到了很大提高。此外,PointCLIP还可以作为一个即插即用模块,为传统的3D网络提供补充知识,从而提高性能。除了识别之外,未来的工作将集中在将CLIP推广到更广泛的3D应用上。