论文链接:https://arxiv.org/abs/2212.08320
代码链接:https://github.com/RunpeiDong/ACT
一、引言
在过去的几年里,随着 Transformer 的普遍应用,NLP、2D vision 和图文多模态在表征学习和预训练领域经历了井喷式的发展,大量的 foundational models [1] 被提出,如 BERT [2]、MAE [3] 和 CLIP [4] 等等。但在 3D 表征学习中,该领域还相对落后,这让我们思考:
What makes 3D representation learning more challenging than 2D vision or NLP?
我们认为是以下三点导致的:
- Architecture Disunity
像PointNet这样的开创性架构只能对3D坐标进行编码,而不适用于NLP和2D视觉中常用的掩蔽去噪自动编码(DAE)。Transformers现在已经缩小了这一体系结构差距,这使得能够跨所有模态格式进行统一表示,并为扩展DAE以实现3D带来了巨大潜力 [5, 6]. - Data Desert
与图像和自由形式的语言相比,收集和标注3D数据更加困难,3D领域存在着严重的数据荒漠问题。这激发了跨模态Knowledge Transfer的使用。最近的一些工作通过与其他模态进行联合训练以获得更有效的对比 [7],或直接图像数据上预训练的2D Transformers进行微调 [8]。 - Pattern Difference
上表显示了语言、2D 图像和 3D 点云的数据模式比较,我们可以看到:
- 与语言不同,3D 点云通常是非结构化的,并且包含稀疏语义,这导致BERT风格的 Tokenizer 在点云上的离散识别学习更加困难。
- 2D 图像规则地分布在网格上,而 3D 点云从物体表面不规则地采样,这种结构差异导致难以构建跨模态学习中双方的局部语义的对应关系。
因此,如何设计一个具有丰富语义的表征成为 3D 表征学习的关键。
二、预备知识
2.1 基于点云的Transformer
与 2D 图像相比,点云是无序的,因此很难实现固定位置的 patch embeding。一般的方法是,使用最远点采样(FPS)获取位置中心用于位置编码,在各位置中心进行 KNN 聚类以获取局部 patch,通过一个轻量级的 pointnet 获取局部 embeding,进而使用标准的 Transformer 进行特征提取。
2.2 知识蒸馏——掩码数据建模的统一视角
掩码数据建模可视为 denoising autoencoders(DAE)的一种特殊情况,他通过 delete token [9] 或将部分 token 替换为 [Mask] Token的方式 [5] 对原始数据进行扰动,并将完整数据或经过预处理的特征作为重建目标,在形式上可以视为一种特殊的带 mask 的蒸馏。在这种训练目标的设置下,模型将学习到 token 之间的一致性或相关性。用公式的方法书写,即为:
这种表示成功将各种掩码数据建模方法变成一个统一的形式。举例来说,对于语言 BERT 或者图像 BEiT,教师模型为一个预训练好的文本 tokenizer 或离散 VAE 图像 tokenizer,而 decoder 变成了一个非线性投影的 softmax,度量函数则变成 Cross-Entropy 函数;对于MAE,教师模型变成一个同一映射(identity mapping),且 encoder 只接受可见 token 输入,度量函数变成 MSE 距离或者 3D 上的 Chamfer 距离。
三、方法
基于上述分析,我们提出 ACT,将跨模式教师训练为自编码器,利用经过 2D 图像或自然语言预训练的基础 Transformers 作为跨模态教师,拥有深厚的知识和强大的表达能力。ACT 的 pipeline 如下图所示:
第一阶段:我们将经过预训练的 2D 或语言 Transformer 迁移为 3D 自编码器,通过域迁移的方式,使用 prompt tuning 将跨模态知识迁移至 3D 几何结构。我们冻结了预训练的 2D 或语言 Transformer block,类似 VPT [10] 或 prefix tuning [11] 的参数高效微调方法,仅训练 prompt token、3D dVAE 的 encoder 和 decoder。第一阶段的训练 loss 为:
通过这种方式,3D 中的数据荒漠问题得到了缓解。Transformer 被用作通用的 3D 学习器,这缩小了在掩蔽建模表示学习方面的架构差距。通过简单地以自监督的方式将预训练的 Transformer 调整为 3D 数据的自动编码器,Transformer 可以使用 3D 点云并将其编码为具有丰富语义的表示。
为了保存和继承预先训练的基础知识,在该过程中使用了 prompt tuning。因此,我们的 ACT 使预训练的 Transformers 自发地跨模态教师,为 3D 点云提供语义丰富的掩蔽建模目标。注意,Transformer 可以编码任意长度的 embedding,因此我们可以自由的迁移语言或 2D Transformer blocks,直接接受 3D 的 embedding 序列进行特征编码。
四、实验
下表展示了我们在 ScanObjectNN 上了 classification 性能,包括 Full-tuning、Liner 和 MLP-3 三种配置,我们的 ACT 在迁移到 ScanobjectNN 分类任务的各种配置下均有大幅提升,这证明了跨模态教师作为自编码器的效果。
下表展示了我们在 ModelNet40 上了 Few-Shot 性能:
我们还在 Scene Level 中进行了预训练测试,我们以 3DETR [12] 作为模型和 baseline,ACT 在 ScanNetV2上 的 3D detection 效果如下表所示,可以看到 ACT 依然具有显著的性能提升。
五、讨论
5.1 How does the 2D vision transformer understand 3D point clouds?
为了更好地理解 2D Transformer 如何通过 AutoEncoder 训练理解 3D 数据,我们研究了 VIT-B 在我们的 ACT dVAE 模型中使用的位置嵌入的效果。从下表中可以观察到:
- 在没有任何位置嵌入的情况下,预训练的 VIT 仍然可以学习可传递的 3D 特征。我们认为,这是因为位置几何信息已经包含在输入的 3D 坐标中,并且预训练的. 2D 变换器可以纯粹通过几何特征处理 3D 数据,而没有明确的位置提示。
- 当使用仅具有 2D xy 平面坐标的位置嵌入时,精度显著提高了+0.89%。我们认为,2D 位置嵌入是为了拟合冻结的图像变换器而学习的,使图像变换器能够以高发散性将 3D 输入编码到预训练的 2D 特征空间中。
- 对于用于位置嵌入的所有 3D 坐标,2D 图像转换器成功地利用了额外的坐标信息来进行更好的特征编码。
5.2 Teacher Choice
为了了解不同 foundation model 对于 3D 预训练的帮助,我们研究了 Vision Transformer 模型 ViT、DeiT,MLP-based 模型 ResMLP、MLPMixer,语言模型 BERT,以及 VL 模型 CLIP。结果如下图所示,可以看到 ViT-B 取得了最佳效果,而 BERT 作为语言模型居然也带来了非常显著的提升。
5.3 Visualization
3D Autoencoder. 我们比较了基于 2D Transformer 的 3D dVAE 和 Point-BERT 3D dVAE 模型的重建结果。结果表明,我们的 3D 自动编码器可以重建物体的高质量细节。对于一些相对简单的对象,如第二行的矩形桌子,ACT 和 Point-BERT 都可以很好地重建它们。然而,对于细节相对复杂的点云,如第三行中的架子和扶手椅,我们的方法可以重建更具有详细局部几何信息的对象。
t-SNE. 为了分析 feature 在预训练前后的分布变化,我们对预训练模型在 ShapeNet 以及下游模型在 ModelNet 以及 ScanObjectNN 上进行了 t-SNE mainfold 可视化,如图所示:
六、相关工作
相关后续工作包括 ReCon:
https://arxiv.org/abs/2302.02318
以及 CLIP-FO3D:
https://arxiv.org/abs/2303.04748
作者:董润沛