STRL:3D 点云的时空自监督表示学习

STRL:3D 点云的时空自监督表示学习

  • 论文作者:Siyuan Huang, Yichen Xie, Song-Chun Zhu, Yixin Zhu
  • 1加州大学洛杉矶分校 2上海交通大学 3北京通用人工智能研究院 4北京大学 5清华大学
  • 此文笔者:HT

0.笔者个人体会

点云是视觉分析和场景理解的典型3D表示。但各种3D场景理解任务仍然缺乏实用和可推广的预训练模型,同时尽管3D点云数据在3D表示中无所不在,但与2D图像数据相比,对3D点云进行标注要困难得多。因此,动机是:正确利用大量未标记的3D点云数据是大规模3D视觉分析和场景理解成功的必要条件

自监督学习成为表征学习的一个新兴方向,在下游任务中具有巨大潜力。过去存在3D点云的自监督学习方法,但它们完全依赖于通过重建3D点云进行空间分析,这种自监督学习的静态视角被设计为复杂的操作、架构或损失,使得训练和推广到多样化的下游任务变得困难。此外,尽管已经提出了各种方法用于无监督学习和点云的生成,但这些方法仅证明了在合成数据集上的形状分类任务的有效性,而忽略了自然3D场景上预训练模型的更高级别任务

针对3D场景理解的复杂性质,及其由相机视图、照明、遮挡等带来的巨大变化,该论文通过引入时空表示学习(STRL)框架来解决这一挑战。STRL受BYOL的启发,只从正配对中学习,使用两个神经网络:在线网络和目标网络,它们相互作用并相互学习。在本文中,将分别介绍:点云的表示学习和自监督学习、STRL的设计原则与实现、STRL框架的解析、STRL的优势、STRL所提出的方法、STRL所实现的细节、STRL的预训练及实验,以及分析与总结

1.点云的表示学习和自监督学习

与结构化数据(例如图像)的传统表示不同,点云是无序的向量集。这种独特的性质对表征的学习提出了额外的挑战。尽管无序集上的深度学习方法可以应用于点云,但这些方法没有利用空间结构。

1)考虑到空间结构,像PointNet这样的方法直接将原始点云输入神经网络;这些网络应该是排列不变的,因为点云是无序集合。PointNet通过使用最大池化操作从一组点形成表示全局上下文的单个特征向量来实现这一目标。

2)此后,研究人员提出了具有层次结构、基于卷积的结构或基于图的信息聚合的表示学习方法。这些神经网络直接在原始点云上操作,自然地提供了逐点嵌入,特别适用于基于点的任务。

无监督表征学习可以大致分为生成式学习或判别式学习方法

1)生成方法,通常通过对数据分布或潜在嵌入进行建模来根据像素或点重建输入数据。这个过程可以通过基于能量的建模、自动编或对抗性学习来实现。然而,这种无监督机制在计算上是昂贵的,并且可泛化表示的学习不必要地依赖于恢复这种高级细节。

2)判别方法,包括自监督学习,无监督地生成判别标签以促进表示学习,最近通过各种对比机制实现。与最大化数据似然的生成方法不同,最近的对比方法最大限度地保留了输入数据与其编码表示之间的互信息。

2.STRL的设计原则与实现

由于3D数据的监督目标性质,监督训练在生成实用和可推广的预训练模型方面存在困难。具体而言,在模型设计和学习中考虑了以下三个原则

1)简单性

设计原则:尽管存在3D点云的自监督学习方法,但它们完全依赖于通过重建3D点云进行的空间分析。这种自监督学习的静态视角被明确地设计为复杂的操作、架构或损失,使得训练和推广到多样化的下游任务变得困难。因此认为,这种复杂的设计是人为引入的,是不必要的,并且可以通过补充缺失的时间上下文线索来减少或消除

设计实现:值得注意的是,STRL在BYOL的启发下,只从正配对中学习,非常简单。具体来说,STRL使用两个神经网络,称为在线网络和目标网络,它们相互作用并相互学习。通过增强一个输入,训练在线网络预测另一个时间相关输入的目标网络表示,该输入是通过单独的增强过程获得的。

2)不变性

设计原则:通过数据增强和对比学习数据不变性,已在图像和视频上显示出良好的结果。一个自然的问题出现了:如何引入和利用 3D 点云的不变性来进行自监督学习?

设计实现:为了学习不变性表示,探索了嵌入在 3D 点云中的不可分割的时空上下文线索。在方法中,在线网络和目标网络的输入在时间上是相关的,从点云序列中采样。具体来说,对于自然图像/视频,在深度序列中采样两个具有自然视点变化的帧作为输入对。对于 3D 形状这样的合成数据,通过旋转、平移和缩放来增强原始输入以模拟视点变化。输入之间的时间差异利用模型来捕捉不同视角的随机性和不变性。额外的空间增强进一步促进模型学习点云的 3D 空间结构

3)泛化性

设计原则:现有文献仅在合成数据集上验证了形状分类中的自监督学习表示,与自然室内的 3D 数据或户外环境相比,其具有显著不同的特征。因此,未能证明对更高级别任务(例如,3D 对象检测)有足够的普遍性。

设计实现:为了泛化学习表示,采用了几个实用的网络作为骨干模型。通过对大型数据集进行预训练,验证了学习到的表示可以很容易地直接适应下游任务,或者通过额外的特征微调。还证明了学习到的表示可以泛化到远距离域,不同于预训练域;例如,从 ScanNet 中学习的表示可以推广到 ShapeNet 上的形状分类任务和 SUN RGB-D 上的 3D 对象检测任务。

3.STRL框架的解析

图1:方法概述。通过从点云序列中学习时空数据不变性,自监督地学习了一种有效的表示。

具体来说,STRL 将 3D 点云序列中的两个时间相关帧作为输入,通过空间数据增强对其进行转换,并自监督地学习不变表示。

基于BYOL设计了所提出的时空表示学习(STRL),并将其简单性扩展到3D点云表示的学习。下图说明了所提出的方法。

图 2:自监督学习框架的图示。

STRL 通过两个网络的交互无监督地学习表示:在线网络和目标网络。在这里,自监督学习的本质是训练在线网络准确预测目标网络的表示。

给定两个时空相关的 3D 点云:

1)在线网络通过预测器预测目标网络的表示;

2)目标网络的参数由在线网络的移动平均线更新。

  • 3D 点云的 STRL 算法流程:
  • 输入:
  • 输出:

4.STRL的优势

1)方法优于现有技术。通过使用 STRL 进行预训练并将学习到的模型应用于下游任务,它在 ModelNet40上优于最先进的无监督方法,并通过线性评估达到 90.9% 的 3D 形状分类精度。在有限数据的情况下,半监督学习的显着改进;并且通过转移预训练模型来提升下游任务。例如,通过微调改进了SUN RGB-D和 KITTI 数据集上的 3D 对象检测,以及S3DIS上进行的3D 语义分割

2)简单的学习策略可以学习令人满意的3D 表示性能。通过消融研究,观察到 STRL 可以通过简单的增强来学习自监督表示;它在 ModelNet40 线性分类上稳健地实现了令人满意的准确率(约 85%),这与最近的发现相呼应,即简单地预测 3D 方向有助于学习 3D 点云的良好表示

3)时空线索提高了学习表示的性能。仅依靠空间或时间增强只会产生相对较低的性能。相比之下,通过学习结合空间和时间线索的不变表示,将准确度提高了 3%

4)对合成 3D 形状进行预训练确实有助于实际应用。最近的研究表明,从 ShapeNet 学习到的表征并没有很好地泛化到下游任务。相反,STRL报告了相反的观察结果,表明在 ShapeNet 上预训练的表示可以应用于处理在物理世界中获得的复杂数据的下游任务,同时实现相当甚至更好的性能

5.STRL所提出的方法

5.1 构建点云的时间序列

设计了两种生成训练点云序列的方法,用来处理各种数据源:

1)Natural Sequence (自然序列)

2)Synthetic Sequence (合成序列)

静态点云本质上是空间的,与自然序列相比缺少关键的时间维度。给定一个点云p0 ,通过生成一个合成序列来解决这个问题。具体来说,连续旋转、平移和缩放原始点云以构建点云序列{pt}

其中, t是变换的索引,Rt是采样变换,模拟时间视图的变化。

5.2 表征学习

设计 STRL ,通过在线网络和目标网络这两个网络的交互,无监督地学习表示。在这里,自监督学习的本质是训练在线网络准确预测目标网络的表示

6.STRL所实现的细节

  • 合成序列生成

通过以下变换的组合进行采样:

  1. 随机旋转。对于每个轴,在15英寸范围内绘制随机角度并绕其旋转。
  2. 随机平移。在点云维度的10%内全局平移点云。
  3. 随机缩放。用因子

缩放点云。 为了进一步增加随机性,以 0.5 的概率对每个变换进行采样和应用。

  • 空间增强

通过改变点云的局部几何形状来转换输入,这有助于 STRL 学习更好的点云空间结构表示。具体来说,应用以下转换,类似于图像数据增强。

  1. 随机裁剪。一个随机的 3D 长方体面片被裁剪成一个在原始点云的 60% 到 100% 之间均匀采样的体积。纵横比控制在以内。
  2. 随机剪切。切出一个随机的 3D 长方体。3D长方体的每个维度都在原始维度的以内。
  3. 随机抖动。每个点的 3D 位置都在内移动一个均匀随机的偏移量。
  4. 随机丢弃。通过 内的丢弃率随机丢弃 3D 点。
  5. 下采样。通过随机选取必要数量的3D点,基于编码器的输入维度向下采样点云。
  6. 标准化。在对合成数据进行训练时,将点云归一化以拟合单位球体。

在这些增强中,裁剪和剪切为点云的空间结构带来了更明显的变化。因此,以0.5的概率应用它们。

  • 训练

使用 LARS 优化器和余弦衰减学习率,warm-up为 10 个epochs但没有重新启动。对于目标网络,指数移动平均参数从 0.996 开始,在训练过程中逐渐增加到 1。具体来说,设置为:

其中 k 是当前训练步骤,K 是最大训练步骤数。

STRL 对不同的骨干编码器有利且可泛化。projector和预测器被实现为具有激活和批量归一化的多层感知(MLP)。对于大多数预训练模型,使用 64 到 256 的batch size 在 8 个 TITAN RTX GPU 上。

图 3:空间数据增强和时间序列生成。除了自然序列生成之外,每种类型的增强都使用内部参数随机转换输入的点云数据。

7.STRL的预训练及实验

构建点云序列并执行STRL的预训练,以学习点云数据的时空不变性。对于合成形状和自然室内/室外场景,使用不同策略生成点云的时间序列和采样输入对

一、合成形状

从ShapeNet数据集学习自监督表示模型。它由来自55个类别的57448个合成对象组成。通过时间变换将每个点云扩展为两个不同的视图,生成了两个时间校正的点云。进一步应用空间增强以产生作为输入的一对点云。

二、自然室内和室外场景

从自然室内和户外场景中学习自监督表示模型,其中点云序列很容易获得。使用RGB-D传感器,可以通过扫描不同的相机姿态来捕获深度图像序列。由于大多数场景都是平滑捕获的,从相邻帧之间的时间相关性中学习时间不变性。

1)对于室内场景:

ScanNet数据集上进行预训练。它由707个独特场景的1513个重建网格组成。在实验中,发现增加帧采样频率对性能的贡献有限。因此,每100帧对原始深度序列进行子采样,作为每个场景的关键帧,得到1513个序列,总共大约25000帧。在预训练期间,基于每个序列的关键帧生成固定长度的滑动窗口,并在每个窗口中采样两个随机帧。反向投影两个帧,在世界坐标中生成点云。使用相机位置将两个点云转换为相同的世界坐标;第一帧的相机中心是原点。

2)对于室外场景:

KITTI数据集进行预训练。它包括100多个序列,分为6类。对于每个场景,图像和点云以大约10 FPS的速度记录。只使用激光雷达传感器捕获的点云序列。平均而言,每帧大约有120000个点。与ScanNet类似,对滑动窗口中的关键帧和帧对进行子采样,作为训练对。对于自然场景的预训练,通过将合成时间变换应用于两个点云来进一步增强数据多样性。最后,将空间数据增强应用于两个点云。

  • 形状理解

使用 ModelNet40基准评估预训练模型的形状理解能力。它包含来自 40 个类别的 12,331 个对象(9,843 个用于训练,2,468 个用于测试)。使每个形状在单位空间中被采样到 10,000 个点。在 ShapeNet 数据集上预训练骨干模型。使用以下评估指标来衡量学习到的表征。

形状分类的线性评估为了对 3D 形状进行分类,在编码的全局特征向量之上附加了一个线性支持向量机 (SVM)。这些全局特征是通过在最后一个池化层之后提取激活来构建的。STRL 可以灵活地与各种backbone一起工作。SVM 使用从 ModelNet40 数据集的训练集中提取的全局特征进行训练。在预训练和 SVM 训练期间,从每个形状中随机抽取 2048 个点。STRL 优于 ModelNet40 上所有最先进的无监督和自监督方法。

表 1:ModelNet40 上形状分类线性评估的比较。线性分类器在 ShapeNet 数据集上通过不同的自监督方法学习到的表示进行训练。

  • 形状分类的监督微调

通过监督微调评估学习到的表示模型。预训练模型用作点云编码器的初始权重,根据 ModelNet40 数据集上的标签微调 DGCNN 网络。STRL 使最终分类准确率显着提高了 0.9%。这种改进比以前的方法更显着;它甚至达到了最先进的监督学习方法设定的可比性能。

此外,STRL 预训练模型可以显着提高半监督学习中提供有限标记训练数据的分类性能。具体来说,随机抽取不同比例的训练数据,并确保每个类别至少选择一个样本。接下来,在监督下对这些有限样本的预训练模型进行微调,并评估其在完整测试集上的性能。结果表明,当有 1%和 20%的训练样本可用时,所提出的模型获得了 2.1% 和 1.6%的性能增益;当可用的训练样本较少时,STRL 自监督模型将更好地促进下游任务。

表 2:在 ModelNet40 上微调的形状分类。自监督预训练模型作为监督学习方法的初始权重。

  • Embedding可视化

使用自监督方法可视化 PointNet 和 DGCNN 模型的学习特征;它显示了 ModelNet10 测试集中不同类别样本的嵌入。采用 t-SNE 进行降维。观察到,除了梳妆台和床头柜外,这两种预训练模型都能很好地根据类别区分大多数样本;它们通常看起来很相似,很难区分。

图 4:学习特征的可视化。使用 t-SNE 可视化 ModelNet10 测试集中每个样本的提取特征。两种模型都在 ShapeNet 上进行了预训练。

  • 室内场景理解

STRL 学习基于视图变换的表示,适用于合成形状和自然场景。因此,与主要执行迁移学习以形成理解的先前工作不同,STRL 还可以促进室内/室外场景理解任务。从室内场景理解入手,首先在 ScanNet 数据集上自监督地预训练STRL,接下来,通过标签微调来评估 3D 对象检测和语义分割的性能。

1)3D 对象检测

3D 对象检测要求模型根据输入的 3D 点云预测 3D 边界框及其对象类别。预训练后,在 SUN RGB-D数据集上微调和评估模型。它包含 10335 个单视图 RGBD 图像,分为 5285 个训练样本和 5050 个验证样本。对象使用 3D 边界框和类别标签进行标注。使用 VoteNet进行了这项实验,这是一种广泛使用的模型,以 3D 点云作为输入。在预训练期间,通过在末尾添加最大池层来稍微修改其 PointNet++ 主干以获得全局特征。与从头开始训练 VoteNet 相比,预训练将检测性能提高了1.2 mAP,表明从大型数据集(即 ScanNet)学习的表示可以成功地转移到不同的数据集,并通过精细改进高级任务的性能调整。它还比最先进的自监督学习方法高出 0.7 mAP 。

表 3:在 SUN RGB-D 上微调的 3D 对象检测

2)3D 语义分割

将预训练模型转移到斯坦福大型 3D 室内空间 (S3DIS) 数据集上的 3D 语义分割任务。该数据集包含从 6 个室内区域的 272 个房间扫描的 3D 点云,每个点都标注为 13 个类别。使用仅具有几何特征(XYZ 坐标)的 4096 个点作为模型输入。在本实验中,DGCNN 网络首先使用 STRL 在 ScanNet 上进行预训练。在这里,专注于仅使用有限标记数据的半监督学习。因此,每次在区域 1-5 的一个区域上微调预训练模型,并在区域 6 上测试模型。预训练模型始终优于从头开始训练的模型,尤其是在小训练集。

表4:在 S3DIS 上微调的 3D 语义分割。在区域 1-5 之一上以半监督方式训练预训练或初始化模型。以下性能是在 S3DIS 数据集的区域 6 上评估的。

  • 室外场景理解

与室内场景相比,由于激光雷达传感器的远距离特性,在室外环境中捕获的点云要稀疏得多,这带来了额外的挑战。通过将学习到的视觉表示转移到室外场景的 3D 对象检测任务来评估所提出的 STRL 的性能。

使用 PV -RCNN在 KITTI 数据集上预训练模型——用于 3D 对象检测的最先进模型。与 VoteNet 类似,修改了 PV -RCNN 的骨干网络进行预训练,通过添加最大池化层来获取全局特征。

在 KITTI 3D 对象检测基准(KITTI 原始数据的一个子集)上微调预训练模型。在此基准测试中,每个点云都用 3D 对象边界框进行注释。该子集包括 3712 个训练样本、3769 个验证样本和 7518 个测试样本。

在所有三个类别中,使用 STRL 预训练的模型都优于从头开始训练的模型。特别是,对于可用训练样本最少的骑自行车者类别,建议的 STRL 产生显着的性能提升。在微调的同时进一步冻结了骨干模型;结果表明,与从头开始训练的模型相比,具有预训练主干的模型达到了可比的性能。

表 5:在 KITTI 上微调的 3D 对象检测。在 KITTI 数据集的 val集上报告了中等难度的 3D 检测性能。下面的性能是通过具有 40 个召回位置的 mAP 评估的。

8.分析与总结

  • 泛化能力

ScanNet vs ShapeNet 预训练什么样的数据可以赋予学习模型对其他数据域更好的泛化能力,这仍然是 3D 计算机视觉中的一个悬而未决的问题。为了阐明这个问题,在现有最大的自然数据集 ScanNet 和合成数据 ShapeNet 上预训练模型,并测试它们对不同领域的泛化能力。下表列出了跨域实验设置和结果,展示了从自然场景预训练模型到合成形状域的成功迁移,在线性评估下实现了可比的形状分类性能

此外,报告了与最近一项研究相反的观察结果。具体来说,在 ShapeNet 数据集上预训练的 VoteNet 模型在 SUN RGB-D 目标检测方面取得了比 ScanNet 预训练更好的性能,展示了 ShapeNet 数据更好的泛化能力

三个潜在的原因导致了这种相互矛盾的结果:

1)如果适用于学习点云特征的编码器过于简单,以至于无法从预训练的 ShapeNet 数据集中捕获足够的信息。

2)ShapeNet 数据集提供了具有干净空间结构和更少噪声的点云,这有利于预训练模型学习有效的表示。

3)尽管 ScanNet 中的序列数据量很大,但模态可能仍然有限,因为它只有 707 个场景。

  • 时间转换

学习了物体形状的合成视图变换和物理场景的自然视图变换。为了研究它们的效果,在 ShapeNet 数据集上进行预训练时,通过删除某些转换来生成合成形状的训练数据来解开组合。对于物理场景,在 KITTI 数据集上预训练 PV -RCNN,并比较使用和不使用自然序列采样输入数据训练的模型。在这两种情况下,时间转换都会带来显着的性能提升。

消融研究:时间变换。 (a) 合成形状。通过不同时间变换下的线性评估来评估 ModelNet40 上预训练的 PointNet 模型。(b) 物理场景。冻结 PV-RCNN 主干并微调 KITTI 上的 3D 物体检测器。它显示了汽车检测 的 mAP 结果(在 40 个召回位置以下)。从自然序列中采样输入数据。

  • 空间数据增强

通过关闭某些类型的增强来研究空间数据增强的效果。通过将点云增加到不同的形状和维度,随机裁剪可以提高性能,而随机剪切会损害性能,因为它破坏了点云的结构连续性,这对于来自邻居的逐点特征聚合至关重要。

消融研究:空间数据增强。使用不同的空间变换在 ShapeNet 上预训练 PointNet 模型。下表的性能反映了 ModelNet40 上的线性评估结果。

  • 数据效率

为了进一步分析训练数据的大小如何影响模型,通过从整个 1513 个序列中采样 25000 帧深度图像,使用 ScanNet 数据集的一个子集预训练 DGCNN 模型。在 ModelNet40 上进行评估,与 40 万帧的整集训练相比,模型的线性评估和微调性能仅下降约 0.5%;这样的结果类似于 2D 图像预训练。假设增加数据多样性而不是采样密度会提高自监督 3D 表示学习的性能。

  • 鲁棒性

观察到所提出的 STRL 可以通过简单的增强来学习自监督表示;它在 ModelNet40 线性分类上稳健地达到了令人满意的准确率(约 85%)。然而,它与 2D 图像预训练中显示的结果不同,其中数据增强对 ImageNet 线性评估的影响高达 10%。假设这种差异可能归因于对点云执行的一般下采样过程,它引入了结构噪声并有助于不变特征学习。

  • 总结

在这篇论文中,设计了一个时空自监督学习框架来学习 3D 点云表示。方法具有简单的结构,并在将学习的表示转移到各种下游 3D 场景理解任务方面展示了有希望的结果。未来,希望探索如何将当前方法扩展到整体 3D 场景理解,以及如何通过联合训练来自各个领域的未标记数据来弥合领域差距。

本文仅做学术分享,如有侵权,请联系删文。