
FightingCV
2022/12/25阅读:60主题:默认主题
3D版的CLIP横空出世,助力各种点云任务!
3D版的CLIP横空出世,助力各种点云任务!
【写在前面】
当前最先进的3D模型的理解能力受到具有少量注释数据和预定义类别集的数据集的限制。在其对应的2D中,最近的进展表明,类似的问题可以通过使用其他形式的知识来显著缓解,例如语言。受此启发,将多通道信息用于3D通道可能会在受限的数据机制下改善3D理解,但这一研究路线还没有得到很好的研究。因此,我们引入ULIP来学习图像、文本和三维点云的统一表示,通过对三种模式的对象三元组进行预训练来学习。为了克服训练三元组的不足,ULIP利用了一个预先训练的视觉语言模型,该模型已经通过用大量的图像-文本对进行训练来学习共同的视觉和文本空间。然后,ULIP使用少量自动合成的三元组来学习与公共图文空间对齐的3D表示空间。ULIP与3D主干网络无关,可以轻松集成到任何3D架构中。实验表明,ULIP通过在ShapeNet55上对多个新近的3D主干进行简单的预训练,有效地提高了它们的性能,在ModelNet40和ScanObjectNN上实现了标准3D分类和零镜头3D分类的最新性能。ULIP还将PointMLP在ScanObjectNN上的3D分类性能提高了约3%,在ModelNet40上的零镜头3D分类的TOP-1准确率上比PointCLIP高28.8%。
1. 论文和代码地址

论文题目:ULIP: Learning Unified Representation of Language, Image and Point Cloud for 3D Understanding
论文地址:https://arxiv.org/abs/2212.05171[1]
代码地址:https://github.com/salesforce/ULIP[2]
2. 动机

近年来,由于增强/虚拟现实、自动驾驶和机器人等真实世界应用的需求日益增长,3D视觉理解研究引起了人们的极大关注。然而,与其2D对应的研究相比,3D视觉理解研究仍然受到具有少量样本和少量预定类别的数据集的限制。ShapeNet55是最大的公开可用的3D数据集之一,它只包含大约52.5k个带有55个类别标签的3D对象样本。这与2D领域形成了鲜明对比,在2D领域,ImageNet[5]包含数以百万计的图像,涵盖数千个类别。由于3D数据收集和注释的高成本,3D数据的这种规模限制一直阻碍着3D识别模型的推广及其在现实世界中的应用。
为了解决标注数据的不足,其他领域的现有工作表明,使用来自不同通道的知识可以显著帮助原始通道中的概念理解。在这些工作中,CLIP通过对大规模图文对进行预训练,率先在2D视觉和文本特征之间进行了对齐。它改进了最先进的视觉概念识别,并实现了对看不见的对象的零镜头分类。然而,涉及3D通道的多通道学习,以及它是否能帮助3D识别任务,目前还没有得到很好的研究。
本文提出了学习语言、图像和点云的统一表示(ULIP)。我们的框架如图1所示。要获得所有三种模式的统一表示空间,需要大规模的图像、文本和点云三元组作为训练数据。然而,与可用的大规模图文对相比,这样的三联体仍然很难收集。为了避免三元组数据的缺乏,我们利用在海量图文对上预先训练的视觉-语言模型,并将3D点云编码器的特征空间与预先对准的视觉/语言特征空间对齐。当训练3D编码器进行空间对齐时,我们使用来自ShapeNet55[3]的少量自动合成的三元组,而不需要手动注释。利用预先训练的视觉语言模型,我们可以利用图像-文本特征空间中捕获的丰富语义来进行3D理解。我们的框架使用CLIP作为视觉和语言模型,因为它具有良好的泛化性能。在预训练过程中,我们保持剪辑模型的冻结,并通过对比学习将对象的3D特征与其对应的文本和2D视觉特征对齐来训练3D编码器。预先训练的3D主干模型可以针对不同的下游任务进一步微调。
ULIP有三个主要优势。首先,ULIP可以大幅提高3D主干模型的识别能力。其次,ULIP与3D模型的体系结构无关;因此,我们可以轻松地插入任何3D主干,并使用ULIP对其进行改进。第三,在相同的特征空间中对齐三个模式可能会实现更多跨域的下游任务,包括零镜头3D分类和图像到3D检索。
我们在两个基本的3D任务上对ULIP进行了定量评估:标准3D分类和零镜头3D分类。我们实验了最近的3D网络,包括PointNet++,PointMLP和PointBERT。实验结果表明,ULIP在ModelNet40和ScanObjectNN上的标准3D分类和零镜头3D分类都达到了最新的性能。具体地说,在ScanObjectNN的标准3D分类中,ULIP超过PointMLP约3%。在ModelNet40上的零镜头3D分类中,ULIP也比PointCLIP高出约28.8%的TOP-1准确率。此外,我们还展示了将ULIP应用于图像到点云检索任务的潜力。定性评估显示了我们在跨通道应用方面的巨大潜力。
3. 方法
ULIP通过对这三种模式的三元组进行预训练,学习图像、文本和三维点云的统一表示空间。在这一节中,我们首先介绍如何创建这样的三胞胎来进行预培训。然后,我们介绍了我们的预培训框架。
3.1.为ULIP创建训练三元组
我们从ShapeNet55构建我们的三元组数据集,ShapeNet55是最广泛的公共3D CAD数据集之一。ShapeNet55是ShapeNet的公开子集。它包含大约52.5k个CAD模型,每个模型都与以文本形式描述CAD模型的语义信息的元数据相关联。对于数据集中的每个CAD模型I,我们创建图像II、文本描述Si和点云PI的三元组Ti:(Ii,Si,PI)。ULIP随后将使用这些三胞胎进行预培训。
点云生成
我们直接使用ShapeNet55中每个CAD模型生成的点云。我们从原始点云中均匀地采样NP个点。在训练前,执行了标准的三维点云数据增强技术,包括随机点下降、随机缩放点云、移动点云和旋转摄动。然后,3D编码器将扩大的点云PI作为输入,并输出其3D表示:
其中, 表示3D主干编码器。
多视点图像绘制
ShapeNet55 CAD模型不附带图像。为了获得与每个CAD模型语义一致的图像,我们通过在每个对象周围放置虚拟相机并从每个视点渲染相应的RGB图像和深度图来合成每个CAD模型的多视图图像。因此,我们得到了30个RGB图像和每个对象的30个深度图,总共有60个候选图像。在每次迭代的预训练中,我们随机选择一个来自每个CAD模型的60个渲染候选的图像或深度图作为II,并将II作为图像编码 的输入以提取图像特征 :
文本生成
我们利用每个CAD模型附带的元数据作为相应的文本描述。元数据包括分类的语法集,作为每个CAD模型的文本描述。对于元数据中的每个单词,我们采用简单的提示来构建有意义的句子,这些句子将在预培训中使用。我们沿袭了前人的工作,在图文预训练任务中使用了63个提示,如“a Picture of [word]”,并另外增加了一个专门的提示“a point Cloud Model of [word]”以适应3D通道。在每个训练迭代中,我们从元数据中随机选择一个单词,并将64个模板应用于该单词以构建一组文本描述Si。然后,我们将Si输入到我们的文本编码器 中,并分别得到一组表示。最后,我们对作为对象i的文本域表示HS i的输出集合进行平均汇集,
3.2.对齐三种模式的表示
通过创建图像、文本和点云的三元组,ULIP进行预训练,以将所有三种模式的表示对齐到相同的特征空间。具体地说,我们利用预先训练的视觉语言模型,即CLIP,通过将3D特征与CLIP的图像和文本编码器(FI(·)和fS(·))的特征对齐来训练3D编码器。通过这样做,我们希望可以利用CLIP编码器已经捕获和比对的丰富语义来更好地理解3D。由此产生的统一特征空间使得这三种模式之间的许多跨模式应用成为可能,并且潜在地提高了底层3D主干编码器FP(·)的3D识别性能。
跨通道对比学习

如图2所示,对于对象i,从图像、文本和三维点云编码器中提取hi i、hs i和hp i特征。然后,计算每对模态之间的对比损失如下:
其中,M1和M2表示两个模式,并且(i,j)表示每个训练批次中的正对。
最后,我们最小化具有不同系数的所有模态对的 :
在预训练中,我们发现如果更新CLIP的图像和文本编码器,由于我们的数据量有限,会出现灾难性的遗忘。将ULIP应用于下游任务时,这将导致性能显著下降。因此,我们在整个预训练过程中冻结了FS(·)和FI(·)的权值,只用 更新FP(·)。
4.实验

基于ScanObjectNN的三维分类结果

更多细节请参考原文!
参考资料
https://arxiv.org/abs/2212.05171: https://arxiv.org/abs/2212.05171
[2]https://github.com/salesforce/ULIP: https://github.com/salesforce/ULIP
作者介绍

FightingCV
公众号 FightingCV