CrossPoint: Self-Supervised Cross-Modal Contrastive Learning for 3D Point Cloud Understanding
代码链接:https://github.com/MohamedAfham/CrossPoint
文章链接:https://arxiv.org/abs/2203.00680
作者笔名:HT
摘 要
由于点云的不规则结构,用于各种任务(例如 3D对象的分类、分割和检测)的大规模点云数据集的人工标注通常是很费力的。无需任何人工标记的自监督学习,是解决此问题的一种很有前景的方法。在现实世界中,我们观察到人类能够将从2D图像中学习到的视觉概念映射到3D世界,进而辅助理解。受到这种见解的启发,我们提出了CrossPoint,这是一种简单的跨模态对比学习方法,用于学习可迁移的3D点云表示。它通过最大化点云和不变空间中相应渲染的 2D 图像之间的一致性,来实现3D-2D对象间的对应,同时鼓励点云模态中的变换不变性。我们的联合训练目标结合了模态内和跨模态的特征对应关系,从而以自监督的方式集成了来自 3D 点云和 2D 图像模态的丰富的学习信号。实验结果表明,在包括 3D 目标分类与分割在内的各种下游任务上,我们的方法均优于以前的无监督学习方法。此外,消融实验验证了我们的方法在点云理解方面具有更好效果。
1、介绍
3D 视觉在自动驾驶、混合现实和机器人技术等应用中至关重要,因其能够理解人类世界而引起了广泛关注。鉴于此,近年来关于3D 视觉的研究工作层出不穷,例如在分类、检测和分割等方面,其中点云是最流行的三维数据表示方法。然而,深度学习的成功在很大程度上依赖于大规模的标注数据。尽管 3D 传感技术(例如 LIDAR)的发展促进了3D点云样本的广泛收集,但由于点云的不规则结构,人工标注这种大规模的 3D 点云数据集是非常费力的。自监督学习是解决这个问题的主要方法之一,并已被证明在2D领域中是有效的。
一些工作已经探索了点云上的自监督表征学习,主要基于生成模型、重建和其他任务。除此之外,随着对比学习在图像和视频理解方面的成功研发,最近的工作也研究了自监督对比学习在点云理解方面的应用。然而,现有的基于对比学习的点云理解方法仅依赖于对 3D 点云的增强施加不变性。从不同的模态学习,即跨模态学习,在自监督学习中产生了实质性的效果。视觉 语言 和 视频 音频 是多模态学习的一些显著组合。多模态场景已经应用于各类 2D 视觉任务中,例如目标检测、小样本图像分类和视觉问答。受多模态学习进展的启发,我们提出了CrossPoint,这是一种用于3D点云理解的简单而有效的跨模态对比学习方法。
图 1. 提出的方法说明。 给定对象的 3D 点云及其从随机相机视角渲染出的 2D 图像,CrossPoint 强制执行 3D-2D 对应,同时通过自监督对比学习保持模型对仿射空间变换的不变性。这有助于可泛化的点云表征,然后可用于 3D 对象的分类和分割。请注意,右侧显示的 2D 图像是直接从可用的 3D 点云中渲染得到的。
我们工作的目标是获得3D对象和2D图像之间的对应关系,以建设性地学习可转移的点云表征。如图 1 所示,我们在特征空间中嵌入了点云的增强版本和相应的渲染2D图像,它们彼此相邻。在现实世界中,人类擅长将从 2D 图像中学习到的视觉概念映射到3D 世界中。例如,如果一个人通过图像观察某个物体,他/她将能够轻松认出该对象。认知科学家认为,3D-2D的对应是儿童在视觉学习过程的一部分。同样,在机器人和自动驾驶等现实世界的应用中,知道这种3D-2D对应关系,将极大地促进模型对 3D 世界的有效理解。特别地是,我们的方法遵循一个联合目标,即在特征空间中紧密嵌入相同点云的增强版本,同时保留它们与原始3D点云的渲染2D图像之间的3D-2D对应关系。
联合模态内和跨模态学习目标使模型获得以下理想属性:(a) 关联点云和图像模态中出现的组合模式,例如对象的细粒度部分级属性;(b) 通过增强不变性来获取关于点云的空间和语义特性方面的知识;(c) 将渲染的 2D 图像特征编码为质心,进而增强点云特征,从而促进与变换无关的3D-2D对应关系。此外,CrossPoint 不需要类似于 SimCLR 的负采样存储库。尽管有存储库,但已证明丰富地扩增和硬阳性样本的形成可以促进对比学习。我们假设在模态内和跨模态对应中使用的转换能够提供足够的特征增强。特别地是,渲染的 2D 图像特征作为一个硬阳性来形成更好的表征学习。
我们通过多个下游任务验证了我们的方法的鲁棒性。具体来说,我们对合成对象数据集和现实世界对象数据集,进行形状分类。尽管在合成对象数据集上进行了预训练,但 CrossPoint 在分布外的样本中的性能证明了联合学习目标的重要性。此外,消融实验证明了内模态和跨模态目标的分量方面的贡献。我们还采用了多个广泛使用的点云网络作为我们的特征提取器,从而证明了我们方法的通用性。
我们提出的方法的主要贡献,总结如下:
1)我们表明,在特征空间中的简单3D-2D对应的数据对象上进行自监督对比学习,这有助于对3D点云的有效理解。
2)我们提出了一种新的端到端自监督学习目标,其中封装了模态内的损失函数和模态间的损失函数。这使得2D图像特征更好地嵌入到相应的3D点云中,从而避免了特定增强的偏差。
3)通过三个下游任务,我们广泛评估了我们提出的方法,即:目标分类、小样本学习和对各种合成和真实数据集的部分分割,其中 CrossPoint 优于以前的无监督学习方法。
4)此外,我们在CIFAR-FS数据集上进行了小样本图像分类,证明了通过CrossPoint预训练的图像backbone进行调优后的效果优于baseline。
2、相关工作
点云上的表征学习。与其他模式(例如图像)相比,点云表征的学习是一项具有挑战性的任务。这是因为点云的不规则结构,以及在处理点数据时所需要的置换不变性。最近,开创性工作PointNet,提出了直接使用 3D 点云而无需任何预处理的方法和架构,也就是点云的深度学习网络。从那时起,基于点云的任务取得了许多进展,例如 3D 目标分类、3D 目标检测 和 3D 点云融合。此外,人们还提出了几种数据增强策略,用来增强模型的表征能力。然而,不管使用何种主干网络,这种表征学习方法的性能取决于带标注的点云数据,而标注的点云数据通常很难获得。Sharma 等人,提出了 cTree,其中点云表征可以在标签高效的场景中学习(即,小样本学习)。相比之下,我们的方法侧重于学习可转移的点云表征信息,而不利用任何标注数据。然后,可以将其用于各种下游任务,例如分类和分割。
点云上的自监督学习。对于点云的自监督表征学习,已经探索了好几种方法。最初的工作线利用生成对抗网络和自动编码器进行生成建模,其目的在于用不同的架构设计,来重建给定的输入点云。最近的一系列研究工作提出了各种代理自监督任务,其目标是学习丰富的语义点属性,最终导致高层次的判别知识。例如,Wang等人,训练编码器-解码器模型来学习遮挡点云。Poursaeed 等人,将点云旋转角度的估计定义为代理任务。然而,在这项工作中,我们利用对比学习来学习特征空间中的不变映射。受自监督对比学习在图像理解中的成功的启发,许多工作分析了这种用于点云理解的场景。Point Contrast 在给定点云的两个变换视图上进行点级不变映射。类似地,Liu等人,也分析了点级不变映射。通过引入点区分损失,使特征与形状表面上的点一致,与随机采样的噪声点不一致。STRL是BYOL对3D点云的直接扩展,它通过在线网络和目标网络的交互无监督地学习表示。与现有的利用对比学习的工作相反,我们引入了一个辅助的跨模态对比目标,它可以捕获3D-2D对应关系,从而产生更好的表示能力。
跨模态学习。从不同的模态中学习,往往能提供丰富的学习信号,进而可以更轻松地处理给定上下文的语义信息。最近的研究工作已经证明,跨模态环境下的预训练产生可转移的表征,然后可以将其用到各种下游任务中。CLIP 旨在通过最大化图像和文本模态之间的余弦相似度来学习多模态嵌入空间。同样,Morgado 等人,结合音频和视频模态来执行跨模态协议,从而在动作识别和声音识别任务中获得显著效果。Zhang等人介绍了一种点云和体素的联合学习方法。此外,其他还有通过滤波器膨胀,将预训练的 2D 图像模型转换为点云模型。我们的工作与另一个工作密切相关,它使用固定的图像特征提取器来进行像素到点的特征迁移。与现有方法相比,与 3D 理解的目标一致,CrossPoint 的设计方式是鼓励将 2D 图像特征嵌入到相应的 3D 点云模型中,同时在点云模态中添加转换不变性。
3、方法
在这项工作中,我们通过引入内模态和跨模态对比学习目标的融合,改进了无监督的3D点云表征学习。本节首先介绍所提出方法的网络架构细节(第3.1节)。然后我们描述了在内模态(第 3.2 节)和跨模态(第3.3节)场景中制定的对比学习损失函数。最后,我们介绍了我们的总体训练目标(第3.4节)。所提出方法的概述如图 2 所示。
图 2. 所提出的方法 (CrossPoint) 的总体架构。它包括两个分支,即:
1)点云分支,通过对点云增强施加不变性来建立模态内的对应关系;
2)图像分支,通过引入渲染的2D图像特征和点云原型特征之间的对比损失,来简单地制定跨模态对应。
CrossPoint 结合两个分支的学习目标,来联合训练模型。我们丢弃图像分支,仅使用点云特征提取器作为下游任务的backbone。
3.1方法概述
3.2模内的实例判别
3.3 跨模态的实例判别
除了点云模态内的特征对齐之外,我们还引入了一个跨点云和图像模态的辅助对比目标来学习判别特征,从而获得更好的 3D 点云表征学习能力。如第二节所讨论的,一些研究工作旨在学习跨模态场景中的可转移点云表征。然而,据我们所知,执行 3D-2D 对应的联合学习目标,同时在点云模态中进行实例判别,尚未得到很好的探索。我们用4.2节的实验结果进行了实证验证。我们的联合目标优于现有的无监督表征方法,从而促进了 3D 点云的有效表征学习。
3.4 总体目标
4、实验
4.1 预训练
数据集。我们使用 ShapeNet 作为 CrossPoint 预训练的数据集。它最初由 55 个类别的 50,000 多个 CAD 模型组成。我们从 [67] 中获得渲染的 RGB 图像,其中包含来自 13 个对象类别的 43,783 幅图像。对于给定的点云,我们从所有渲染的图像中随机选择一个 2D 图像,该图像是从任意视角捕获的。我们为每个点云使用 2048 个点,同时将相应的渲染 RGB 图像调整为 224×224。除了在3.2节中描述的应用于点云的增强之外,我们还对渲染图像执行随机裁剪、颜色抖动和随机水平翻转,以此作为数据增强。
4.2 下游任务
通过进行三个广泛使用的下游任务,我们评估了 CrossPoint 在点云表征学习中的可迁移性,即:(i) 3D 对象分类(合成和真实世界数据),(ii) Few-shot对象分类(合成和真实世界数据), (iii) 3D对象部分分割。
(i)3D对象分类。我们在 ModelNet40 和 ScanObjectNN 上进行分类实验,以证明我们的方法在合成和真实世界的 3D 形状表征学习中的通用性。ModelNet40 是一个合成数据集,其中点云是通过对 3D CAD 模型进行采样获得的。它包含来自 40 个类别的 12,331 个对象(9,843 个用于训练,2,468 个用于测试)。ScanObjectNN 是更真实和更具挑战性的 3D 点云分类数据集,它由从真实世界室内扫描中提取的遮挡对象组成。它包含来自 15 个类别的 2,880 个对象(2304 个训练集和 576 个测试集)。
我们遵循标准协议来测试我们的模型在对象分类中的准确性。我们搁置了预训练的点云特征提取器,并在分类数据集的训练分割上拟合了一个简单的线性 SVM 分类器。我们从每个对象中随机抽取 1024 个点用于训练和测试分类结果。我们的 CrossPoint 在不同的 backbone中也提供一致的性能。我们在 PointNet 和 DGCNN 中都进行了实验,其中 PointNet 是基于 MLP 的特征提取器,而 DGCNN 是建立在图卷积网络上的。表 1 报告了 ModelNet40 上的线性分类结果。很明显,CrossPoint 在这两种特征提取器上都优于以前最先进的无监督方法,从而为点云的自监督学习建立了新的baseline。特别地是,我们的模型性能相比于 Depth-Contrast显著提高了 5.8%,Depth-Contrast 也采用了跨模态场景进行点云表征学习。虽然我们的方法以相当大的优势超越了之前使用自监督对比学习 的研究工作,但由于不同的预训练机制和特征提取器的差异等各种原因,其他一些方法无法进行公平的比较。
表 2 展示了 ScanObjectNN 的线性评估结果。与之前最先进的无监督方法相比,PointNet网络的准确率提高了1.3%,DGCNN 骨干网络的准确率提高了 3.4%,这表明我们提出的联合学习方法也适用于分布外的数据。
表1. ModelNet40线性分类结果与以往自监督方法的比较。使用预训练模型将线性分类器拟合到 ModelNet40 的训练集上,并报告了测试集中分类的总体精度。我们的方法 CrossPoint ,超越了 PointNet 和 DGCNN 骨干网络的现有工作。
表 2. ScanObjectNN 线性分类结果与以前的自监督方法的比较。在以 PointNet 和 DGCNN 为骨干网络中,CrossPoint 均显示出对先前工作的持续改进。这说明了我们的方法在现实环境中的有效性。
表 3. ModelNet40 上的few-shot对象分类结果。我们报告了 10 次运行结果的平均误差和标准误差。每个backbone的最好结果以红色和蓝色着色。我们提出的 CrossPoint 提高了所有报告环境中的小样本精度。表格是 [57] 的扩展版本
(ii) 小样本对象分类。少样本学习(FSL)旨在训练一个用有限的数据进行泛化的模型。我们在传统的少样本任务(N-way K-shot learning)上进行实验,其中模型在 N 个类别上进行评估,每个类别包含 N 个样本。2D 领域中的一些研究工作表明,在以自监督方式训练表征的基础之上,训练简单的线性分类器是有效的。类似于标准的 3D 对象分类,我们使用 ModelNet40 和 ScanObjectNN 数据集进行 FSL 实验。虽然在两个数据集中都没有 FSL 的标准数据集,但为了与以前的方法进行公平的比较,我们随机抽取 10 个小样本任务,并报告结果的平均值和标准差。表 3 显示了 ModelNet40 上的 FSL 结果,其中在 PointNet 和 DGCNN 为backbone的所有 FSL 任务中,CrossPoint 都优于先前的工作。值得注意的是,与使用 PointNet 骨干网络的方法相比,我们使用 DGCNN 骨干网络的方法在某些 FSL 任务中表现不佳。在以前的方法中也观察到了类似的规律。我们归因于这样一个事实,即复杂的骨干网络可能会降低小样本的学习性能,这在图像的FSL文献中也可以一致观察到。
我们在表4中报告了 ScanObjectNN 数据集上的 FSL 结果。在PointNet和DGCNN特征提取器的大多数场景中,CrossPoint 都产生了显著的准确度提升,证明了即使在分布外场景中也可以使用有限数据达到泛化的能力。
表 4. ScanOb-jectNN 上的小样本对象分类结果。 我们报告了 10 次运行结果的平均误差和标准误差。每个backbone的最好结果以红色和蓝色表示。提出的CrossPoint 提高了所有报告场景中的小样本精度。表格是 [57] 的扩展版本
(iii) 3D 对象部分分割。我们在广泛使用的 ShapeNetPart 数据集中执行对象部分分割。ShapeNetPart包含来自 16 个类别的 16881 个 3D 对象,总共标注了 50 个部分。在 ShapeNet 数据集上,我们首先使用我们的方法对 DGCNN 中提出的backbone进行预训练以进行局部分割,并在 ShapeNetPart 数据集的训练集中以端到端的方式进行微调。我们报告了平均 IoU(Intersection-over-Union)度量,计算方法是在对表5中每个对象类获得的值进行平均之前,对对象中每个部分的 IoU 进行平均。使用 CrossPoint 预训练的backbone进行部分分割,比随机初始化的 DGCNN 骨干网络分割效果好 0.4%。这表明 CrossPoint 为特征提取器提供了更好的权重初始化。与以前的自监督学习框架相比,CrossPoint 的准确度提高表明,它通过联合方式施加模态内和跨模态间的对应,更倾向于捕获细粒度的部分级属性,而这在部分分割中至关重要。
4.3 消融实验与分析
联合学习目标的影响。如第3节所述,我们的方法旨在训练具有联合学习目标的模型。我们假设,与单个学习目标相比,以联合方式处理模态内和跨模态对应有助于更好的表示学习。内模态对应鼓励模型通过对变换施加不变性来捕获细粒度的部分语义,而跨模态对应则通过对比学习建立硬正特征样本,使学习更具挑战性,从而产生更好的结果。我们在所有可能的场景中训练模型,并在 ModelNet40 和 ScanObjectNN 数据集中评估线性 SVM 分类器,对这一假设进行了实证检验。图 3 说明了在所有学习环境中,所提出的联合学习范式的表现优于单个目标。特别地是,将模态内学习目标和跨模态学习目标结合使用DGCNN 特征提取器,分别比 ModelNet40 和 ScanObjectNN 中的第二最佳方法获得了 1.2% 和 0.7% 的精度增益。
表 5. 在ShapeNetPart 数据集上的部分分割结果。 我们报告所有对象类的平均 IoU。有监督使用的是随机初始化特征backbone训练的模型,而自监督模型使用的是预训练特征提取器初始化的模型。
图 3. 联合学习目标对单独的内模态和跨模式目标的影响。 在 ModelNet40(左)和 ScanObjectNN(右)数据集上,使用线性 SVM 的预训练嵌入进行分类的结果。
我们特别观察到,在分类准确度指标中,具有跨模态学习目标的线性评估略微优于具有内模态学习目标的线性评估。我们认为,通过利用点云原型特征,将图像特征嵌入到两个增强点云的特征附近,跨模态学习目标有助于部分语义理解。数字。图 4 显示了从 ModelNet10 数据集的测试集中获得的特征的 t-SNE 图。很明显可见, CMID 和 IMID 都可以很好地区分类别,即使没有使用明确的标记数据进行训练。但是,某些类(例如,desk、table)的类边界并不精确和紧凑。联合学习目标能够这些类中创建更好的区分边界。
对应的 2D 图像的数量。我们通过改变渲染的 2D 图像的数量 (n) 来研究图像分支的贡献。我们选择从不同随机方向捕获的渲染 2D 图像。如果有多个渲染的 2D 图像,我们计算渲染图像的所有投影特征的平均值,以执行跨模态实例判别 (CMID)。表 6 报告了 ModelNet40 数据集上的线性 SVM 分类结果。我们的方法,即使使用单张渲染的 2D 图像也能捕获跨模态的对应关系,以产生更好的线性分类结果。很明显,当使用 2 张以上渲染图像时,从 2D 图像模态收集的信息可能变得多余,因此准确性下降。
图 4. 采用自监督方式训练 DGCNN 主干后,对ModelNet10 数据集的测试集特征的 t-SNE 可视化。与使用单个目标学习的模型相比,所提出的联合学习方法提供了更好地分类(例如凳子、桌子)。
表 6. ModelNet40 上对具有不同数量的渲染 2D 图像 (n) 进行线性分类的结果。对应有单个对应图像的 CrossPoint 的性能优于或等于多个渲染图像。对于所有的实验,我们选择 n = 1。
CIFAR-FS 上的小样本图像分类。尽管我们在点云下游任务中丢弃了图像特征提取器,但我们进行了一个简单的小样本图像分类,来研究其对图像的理解能力。我们使用 CIFAR-FS 数据集,这是一个广泛用于小样本图像分类的数据集,包含 100 个类别,包括 64个训练集、16个验证集 和 20个测试集。在 5-way 1-shot 和 5-way 5-shot 场景中,表 7 报告了与标准基线 RFS的比较结果。值得注意的是,在没有任何监督微调的情况下,CrossPoint 在少样本图像分类场景中不能很好地泛化。我们认为,这是因为点云渲染的 2D 图像与 CIFAR-FS 中的真实图像之间存在相当大的差异。因此,CrossPoint 未能推广到这种分布外的数据,这是我们工作的一个限制。然而,在 CrossPoint 中使用无监督训练的图像特征提取器初始化主干,并使用 RFS 中提出的方法进行微调,在这两种小样本场景中的表现都明显优于baseline结果。
表 7. CIFAR-FS 上的小样本图像分类结果。使用 RFS 微调 CrossPoint 可以提高性能。
5、总结
在本文中,我们提出了一种简单的自监督学习框架 CrossPoint,用于 3D 点云表征学习。尽管我们的方法是在合成 3D 对象数据集上进行训练的,但在合成和真实世界数据集上进行的 3D 对象分类和 3D 对象部分分割等下游任务的实验结果表明,我们的方法在学习可迁移表征方面的有效性。我们的消融实验验证了我们的想法,即施加内模态和跨模态对应的联合学习,导致更通用和可转移的点云特征。此外,小样本图像分类实验为跨模态理解提供了强有力的方向,可以在未来的研究中进行探索。