【点云系列】PointContrast:Unsupervised Pre-training for 3D point cloud understanding
文章目录
-
1. 概要
-
2. 动机驱动
-
3. 理论基础
-
4. 算法设计
- 4.1 分析全卷积网络的几何特性(FCGF)
- 4.2 点对比学习框架
- 4.3 对比学习损失函数设计
- 4.3 稀疏残差模块与U-Net架构结合
-
5. 实验评估
-
5.1 ShapeNet数据集:
- 5.2 基于场景的分割任务
- 5.3 深度语义分割应用
- 5.4 合成数据集上的分割性能
- 5.5 ScanNet场景理解:分割与检测
-
6. 总结与思考
-
1. 概要
PointContrast Framework: Comprehensive Understanding of 3D Point Clouds via Self-Supervised Learning; 论文:https://arxiv.org/abs/2007.10985; 代码:尚未对外发布
2. Motivation
迁移学习,在图像领域中进行应用时通常会遵循以下步骤:首先,在一个像ImageNet这样的大型数据集中对模型进行预训练;接着,默认将预训练得到的参数设置为初始权重;随后,在针对特定任务的小规模数据集上进行微调;最后的结果是提高模型在该特定任务上的性能表现。
这种做法等同于通过大量数据集训练出一个较为通用的基础型特征提取器,并在此基础上进行微调优化使其在小规模数据集上表现更为出色
然而,在现有研究中关于三维点云的理解仍存在诸多不足。进而提出一个问题:这种预训练非监督模型经过微调后的监督度究竟如何?它对于提升三维表征的学习性能是否有帮助?
3. 思想
目的是通过在深度学习中将无监督预训练作为有监督微调的基础来进行研究工作 从而促进对三维场景的理解 这就需要确定4个关键要素
-
选择可以预训练的大规模数据集 ;
—>ScanNet -
识别骨架结构 ,可以被许多不同的任务来共享;
—> 稀疏残差 U-Net
考察关键网络预训练过程中的两种无监督评估标准:Hardest-contrastive loss+** PointInfoNCE loss
构建一组评估方案,针对不同规模的小型数据集及特定任务,以明确其适用性与局限性
主体基于全卷积几何特征(FCGF)以及unsupervised learning of 3D representations,在此基础上,我们重新构建并提出了PointInfoNCE Loss + U-Net框架
4. 算法

根据上图的观察结果可以看出,在对下游任务进行预训练的过程中(即shapenet的预训练),并未显示出显著的帮助效果。可能的原因有两个:
- 基于生成的数据集(原域和目标域差距):ShapeNet中的物体均为合成数据,在尺度方面进行了标准化处理,并且所有的动作操作均经过标准化处理以消除尺度差异。然而由于缺少场景背景信息这一关键因素的存在导致了源域与目标域之间的数据分布存在较大差异;
- 点级别的表示(点级别的表示):在3D深度学习领域中局部集合特征(如某一点及其邻近区域的特征)对于实现有效的三维分类任务具有重要意义。尽管如此但在实际应用中仅提取单一实例的全局特征往往无法满足复杂场景需求;
问题1可以通过改用scannet 数据集来得到解决;
问题2呢?即PointContrast
4.1 回顾全卷积几何特征(FCGF)
对于FCGF[10]来说,该方法系统性地分析并提取复杂场景中低层任务(如校准)所需的几何特性。主要包含两个关键组件负责有效达成目标。
- 全卷积架构;
- 点级特征提取;
但是FCGF专注于低层次局部描述子的学习,在高层次3D理解框架中能否继续使用FCGF?
4.2 PointContrast
高层级策略:对比学习-点级别的-在两个转换的点云中。
如图所示,
- 在ScanNet的某个场景中,通过两个不同的视角x^1和x^2,坐标对齐, 然后计算两者对应映射M, 如果(i,j)\in M, 则x^1_i与x^2_j是两个视图中匹配点对。得到两个点云。两个点云要保证至少30%的点重合。
- 采样得出两个变换矩阵,调整点云。只包含刚体变换(缩放、旋转、移动)。
- 用一个共享的CNN网络,对两个点云,计算出每个点的局部特征。
- 通过对比两个点云中,匹配点的特征、非匹配点的特征,构建一个Point Contrast loss,“匹配点对”之间的特征接近、“非匹配点对”之间的特征远离。

转换的作用:使得pretext更具挑战性。一般有:旋转、平移、缩放

4.3 对比学习损失设计
最小化 匹配点
最大化不匹配点
最难-对比损失 :借鉴FCGF【10】

其中P是由来自两个视图x¹和x²中的配对构成,并且每个配对包含f¹_i与f²_j这两个样本点的特征表示。\mathcal{N}是从非配对样本中随机采样得到的一个集合,并被用作 hardest negative mining( hardest negative mining) 的基础。其定义基于L₂范式中与最近配对的距离度量,并且通过最大化正类间的相似度差与其最邻近异类间的相似度差来优化模型性能参数设置方面进行了优化:其中[x]_+表示max(0,x)函数;而m_p设为0.1、m_n设为1.4分别作为配对间的正向边缘距与非配队间的负向边缘距。
42
42
42
在3D领域中遇到的问题包括数量庞大的点云数据和有限的样本数量。鉴于此,在该背景下提出了一种名为PointInfoNCE的信息损失度量方法

其中,数学符号 P 表示所有的匹配对。该公式关注包含至少一个匹配的点对而不需额外非匹配点的情况。针对每一对 (i,j)\in P, 特征 f^{1}_{i} 被视为队列结构, 而特征 f^{2}_{j} 则被定义为对应的正样本值 k^{+}. 通常我们会从数据集中随机采样 4096 个这样的数据样本用于模型训练以提高学习效率。
与之相比,在实验过程中我们观察到另一种新的损失函数表现得更加稳定,并且其参数数量较少,在面对模型坍塌时表现出更强的稳定性。此外,在实验过程中我们发现这种新的损失函数表现得不够稳定,并且收敛性较差。
4.3 稀疏残差U-Net作为共享骨架
该网络由34个卷积模块构成[51]。其中编码器包含21个卷积层作为特征提取模块,在解码器中则配置了13个卷积层用于信息融合。基于2DResNet的设计理念构建模块,并结合BN作为批归一化技术,并结合ReLU激活函数。
在这里主要是为了探索该框架能否作为统一的设计方案,并且在预训练任务和其他微调任务方面均展现出良好的效果。

5. 实验结果
大量的实验,非常充实
在开篇部分呈现了采用PointContrast方法在多个子任务中均体现出一定的提升效果。

5.1 ShapeNet:
设置:ShapNet是一个包含55个类的合成三维目标集合,在使用开源3D仓库的CAD模型数据进行收集后生成。[77]我们对ShapeNet中的一个子集进行了部分划分,并将其划分为2至5个部分。本文采用的是ShapeNetCore(SHREC 15 split)来进行分类任务,并使用ShapeNet part数据集来进行分割任务。从每个分类数据集的每个模型中均等采样1024个点,在部件分割过程中则采样了2048个点的数量。
结果 :在ShapeNet分类任务中能够观察到,在小规模的数据集上实现明显的提升效果。由于ShapeNet中的类别分布失衡,在某些类别样本极少的情况下会导致分类结果失衡;引入预训练模型后能够有效缓解这一问题。

在分割上也有类似的效果

5.2 S3DIS分割
设置 :Standford Large-Scale 3D Indoor Spaces(S3DIS)[2]数据集包括6大类来自3个建筑物的室内场景。点云表示,用13个物理类别来标注语义信息。这里评估方式与ScanNet类似。
区别:240样本用来训练。其中,使用了[9]做预训练,标准数据来做数据增强。
结果 :更换骨架网络后,效果依然较好。

5.3 SUN RGB-D检测
当前研究关注不同高层级3D理解问题:目标检测领域。与传统的分割任务仅需点标注相比,3D目标检测不仅需预测边界框(位置),还需同时识别对应的物体标签(类别)。为此需对现有深度估计框架进行重新设计。由于现有模型如SR-UNet无法直接输出边界框信息,在这一领域仍面临挑战。为此我们采用VoteNet[45]算法作为候选边界框的选择依据,基于其在边界框生成中的有效性这一特性得以解决这一技术难题
VoteNet直接用于点云处理而无需额外输入;采用PointNet++作为架构提取特征,并通过SR-UNet进行替代以完成完整的提取流程。所有实验均采用相同的超参数设置;目前VoteNet主要基于几何特征求取校准信息。
注
结果:较为明显地而言,在采用SR-UNet框架时的效果相比仅仅依赖于PointNet++的VoteNet表现欠佳。然而通过引入PointContrast这一技术手段后,在性能上得到了显著提升。

5.4 Synthia4D 分割
设置:Synthia4D[52]是一个大型合成数据集,在驾驶场景中被广泛用于训练深度神经网络以实现视觉推断的任务。该数据集中的图像具有高度逼真度,并模拟了真实的城市环境特征。每个图像包含13个语义标注分类,并且其分布密度非常高且精确地将物体分类到相应的区域中。根据文献[9]所提出的设定方案,在实验过程中需要特别注意与其他研究工作(如室内环境与室外环境之间存在显著差异,并且合成数据与真实数据之间的差距也较大)的区分以避免偏差问题。为了提升模型在复杂场景下的表现能力,在实验阶段我们采用了基于深度学习算法设计的高效三维解码器架构来优化模型性能
实验结果表明 ,使用PointInfoNCE损失相较于Hardest-Contrastive损失能够带来更好的性能表现。通过引入非监督预训练方法 ,整体模型的性能均有所提升 。参考文献[9]指出 ,增加时域性学习(例如采用4D网络而非3D结构)能够带来显著的增益 。针对4D网络结构 ,我们可以将其问题简化为类似于2D视频识别中的简单扩张卷积核处理方式 [6] ,这将有助于后续优化工作的开展 。

5.5 ScanNet:分割和检测
设置 : 分割模块中采用SR-UNet进行点标签的直接生成;
在检测环节中,则采用VoteNet[45]并结合SR-UNet对原始骨架进行直接处理以提取头部骨骼。
结果 :如图7和8,使用PointContrast都有效果提升。


6. 总结与思考
- 表征学习所能达到的最大动机:能够很好地迁移至多种不同的下属任务,并在此过程中展现出强大的适应性能力。
- 在监督学习方面:投资资源构建一个大规模的3D数据集作为预训练基础是必要的;当需要权衡规模与标注密度之间的关系时,在保持性能的前提下应优先考虑扩大规模。
- 关于长期的训练时间问题:大多数情况下,在长时间持续观察下所获得的数据都会表现出较好的稳定性与可靠性;
- 对PointContrast而言,在单一视图模式下进行建模的效果与其多视图版本相比并无显著优势。这些原因主要包括:①冗余的数据样本增加了模型的计算负担;②相机运动引起的环境噪声对模型引入了不可忽略的不确定性[81].
- 整篇论文逻辑清晰且实验设计充分。
