NeurIPS2022|3D点云自监督预训练的自编码器:Point-M2AE

论文题目:《Point-M2AE:Multi-scaleMaskedAutoencodersforHierarchicalPointCloudPre-training》
作者机构:香港中文大学-商汤科技联合实验室;上海人工智能实验室;感知与交互智能中心
项目主页:(基于PyTorch)
论文提出了一种名为Point-M2AE的多尺度掩码自编码器,利用了分层架构和掩蔽策略来学习和重建多尺度的3D点云表征。通过这种方法,论文旨在实现对3D点云的有效表示学习,以提高3D相关任务,如分类、检测和分割等的性能。
无序和不规则的数据格式:3D点云数据由于其无序和不规则的特性,使得传统的机器学习和深度学习方法难以直接应用。因此,需要设计新的学习框架来适应这种数据格式。
需要大量标注数据:传统的监督学习方法需要大量的人工标注数据来进行模型训练。然而,对3D点云数据进行人工标注是一项既费时又费力的工作,尤其是在大规模3D数据中。因此,采用自监督的学习方法,即通过设计一种无需人工标注的训练机制,可以大大降低学习的成本。
缺乏考虑多尺度信息:3D物体往往包含多尺度的几何和语义信息,例如从整体形状到局部细节。然而,现有的方法往往忽视了这些信息的存在,导致表征的学习不够充分和深入。
论文中,作者提出了一种名为Point-M2AE的多尺度掩蔽自编码器,主要的设计策略包括分层架构,多尺度掩蔽策略和自监督预训练。
分层架构:作者设计了一个分层架构,用于编码和解码3D点云的多尺度表征。在编码器端,模型先学习全局的粗粒度信息,然后逐级学习更加细致的局部信息。在解码器端,模型采取相反的顺序,先从细节开始恢复,然后逐步恢复全局信息。此外,作者还在编码器和解码器之间引入了跳连接,使解码器能够获取编码器在相同级别的特征。这这种架构能够自然地捕捉到3D物体从全局形状到局部细节的多层次信息,也更适合处理其无序和不规则性。
多尺度编码:为了捕捉到3D点云数据中从全局到局部的多层次信息,作者提出了一种分层的多尺度编码器。具体来说,编码器由三个级别的编码器组成,每个级别的编码器都使用Transformer模块来捕获点云数据中的全局和局部关系。这种多尺度编码器的设计,使模型能够更好地学习和表征3D点云数据中不同层次的特征,同时也能适应不同的输入尺度和点云密度,这对于处理复杂的3D数据非常关键。
分层解码:与多尺度编码器相对应,作者提出了一种分层的解码器。这个解码器同样由三个级别的解码器组成,用于逐级地恢复被掩蔽的3D点云。为了在解码过程中能够利用编码器学习到的特征,作者在编码器和解码器之间添加了跳连接。这种设计可以使解码器在恢复被掩蔽点云时,得到更丰富的信息源。
多尺度掩蔽策略:作者提出了一种在不同尺度上随机掩蔽点云部分的策略,通过在不同尺度上随机掩蔽点云的一部分,而在每个尺度上模型需要从剩余的可见点中预测被掩蔽的点,从而在自监督的情况下学习3D点云的表征。这种设计鼓励模型从不同尺度的视角理解3D点云,以便更准确地重建被掩蔽的部分
自监督预训练:通过自编码器的方式,作者设计了一个自监督的预训练任务,即重建被掩蔽的3D点云。这种方法无需人工标注的训练数据,大大降低了学习的成本。
作者设计这种方法的出发点主要是解决当前3D点云表征学习中的一些主要挑战,包括数据的无序和不规则性,学习的高成本,以及忽视了多尺度信息等问题。而作者选择这种方法的理由主要是:
分层架构可以更好地处理3D数据的无序和不规则性,同时模型可以自然地捕捉到3D物体从全局形状到局部细节的多层次信息。
多尺度掩蔽策略通过增加模型的学习难度,可以鼓励模型学习到更丰富和深层次的3D表征。模型可以从不同尺度的视角理解3D点云,以便更准确地重建被掩蔽的部分。
通过自监督预训练,模型可以在无需人工标注的情况下有效地学习3D点云的表征。
总的来说,这种方法旨在通过自监督的方式,利用分层架构和多尺度掩蔽策略,有效地学习3D点云的多尺度表征。
掩膜自编码器(MAE)在语言和图像变换的自监督预训练中显示出巨大的潜力。然而,如何利用掩模自编码来学习不规则点云的表示仍然是一个悬而未决的问题。
本文提出了一种用于点云分层自监督学习的强多尺度MAE预训练框架Point-M2AE。
与MAE中的标准transformer不同,作者将编码器和解码器修改为金字塔架构,以逐步建模空间几何形状,并捕获3D形状的细粒度和高级语义。
对于分阶段下采样点token的编码器,作者设计了一种多尺度掩蔽策略来生成跨尺度一致的可见区域,并在微调过程中采用局部空间自注意机制来聚焦相邻模式。
通过多尺度token传播,轻量级解码器逐步从编码器上采样具有互补跳连接的点token,进一步促进了从全局到局部的重构。
大量的实验证明了Point-M2AE在3D表示学习中的最先进性能。
使用预训练后的冻结编码器,Point-M2AE在ModelNet40上对线性支持向量机SVM的准确率达到了,甚至超过了一些完全训练过的方法。
通过对下游任务的微调,Point-M2AE在ScanObjectNN上的准确率达到,次之为,极大地有利于分级预训练方案的few-shot分类、部件分割和3D目标检测。

图1:MAE(上)和Point-M2AE(下)的比较。用于图像预训练的MAE采用的是普通编码器-解码器的标准transformer,而Point-M2AE则引入了带跳连接的分层transformer进行多尺度点云预训练。
在自然语言处理、计算机视觉和多模态学习等领域,学习从没有标注的数据中进行表示被称为自监督学习。通过对大规模原始数据的预训练,该网络具有鲁棒的表示能力,并且可以通过微调显著地有利于下游任务。
基于掩模语言建模,MAE等方法采用非对称编码器-解码器transformer对图像进行自监督学习的掩模自编码。
它们将输入图像表示为多个局部小块,并以高比例随机掩码来构建重建的代理任务。
具体来说,编码器旨在从有限的可见patch中捕获高级潜在表示,而轻量级解码器则重建被掩蔽patch的RGB值上面。
尽管它在基于网格的图像上具有优势,但我们提出了一个问题:MAE风格的掩码自编码能否作为一种强大的表示学习器适用于不规则点云?
为了解决这一挑战,我们提出了多尺度掩码自编码器,通过自监督预训练(称为Point-M2AE)来学习点云的分层表示。我们将点云表示为一组描绘不同空间局部区域的点token,并继承MAE的pipeline,首先对可见点token进行编码,然后重建被遮挡的坐标。
与图像不同,点云的掩模自编码有三个特点需要特别考虑。
例如,该网络可以从机翼开始识别飞机,或者从飞机的全局特征中分割机翼部分。
我们将编码器和解码器都修改为多阶段层次结构,以逐步编码点云的多尺度特征,构建如图(底部)所示的非对称U-Net架构。
为此,引入了一种多尺度掩蔽策略,该策略在最终尺度上以高比率(例如)生成随机掩码,并将未被掩蔽的位置反向投影到所有先前的尺度。
在下游任务的微调过程中,我们还采用了局部空间自注意机制,增加了编码器不同阶段点token的attention范围,从而将相邻详细结构中的每个token重新聚焦。
通过多尺度预训练,Point-M2AE可以从局部到全局的层次对点云进行编码,然后从全局到局部的角度重建掩蔽坐标,学习到强大的表示,具有优越的迁移能力。
在ShapeNet上进行自监督预训练后,Point-M2AE使用冻结编码器在ModelNet40上对线性支持向量机SVM的分类准确率达到,比亚军CroosPoint高出+,甚至优于一些全监督的方法。
通过对各种下游任务进行精细调整,Point-M2AE在ScanObjectNN上达到的精度,在ModelNet40上达到的精度,在ShapeNetPart上达到的实例,在-way-shotModelNet40上达到的精度few-shot分类。
我们的多尺度掩码自编码也有利于+AP和+AP在ScanNetV2上的物体检测,这为检测backbone提供了对点云的分层理解。
本文的贡献总结如下:
与从样本间关系中学习的对比学习方法相比,通过掩蔽自编码的自监督预训练构建代理任务来预测输入信号的掩蔽部分。
GPT和BERT系列将掩模建模应用于自然语言处理,并通过微调在下游任务上实现了非凡的性能提升。
受此启发,BEiT提出通过dVAE将图像patch与离散token进行匹配,并通过掩蔽图像建模预训练标准视觉transformer。
最重要的是,MAE直接重建被掩码token的原始像素值,具有很高的掩码比,效率很高。后续工作通过动量编码器、对比学习和改进重建目标进一步提高了MAE的性能。对于3D点云的自监督预训练,掩码自编码尚未得到广泛的应用。
与BEiT类似,Point-BERT利用dVAE将3Dpatch映射到token进行掩模点建模,但严重依赖于约束性学习、复杂的数据增强和昂贵的两阶段预训练。
相比之下,我们的Point-M2AE是一种纯掩模自编码的单阶段预训练方法,采用MAE来重构输入信号,不需要dVAE映射。与以往采用标准普通的MAE方法不同,我们提出了一种分层架构和多尺度掩蔽策略,以更好地学习点云的强通用表示。
主流方法主要是基于编码的潜在向量,如旋转、变形、重排部分、遮挡等,构建借口任务来重构变换后的输入点云。
从另一个角度来看,PointContrast利用来自不同视角的同一点的特征之间的对比学习来学习判别性的表示。
DepthContrast进一步扩展了不同增强深度图的对比度。
Crosspoint对点云与其对应的渲染图像进行跨模态对比学习,获取丰富的自监督信号。
Point-BERT和Point-M2AE分别为具有标准网络的点云引入了bert风格和MAE风格的预训练方案,并在各种下游任务上进行竞争,但两者都只能以单一分辨率对点云进行编码,而忽略了形状之间的局部-全局关系。
在本文中,我们提出了Point-M2AE,这是一个具有层次transformer的MAE风格的框架,用于多尺度点云预训练。我们通过学习点云的多尺度表示来实现最先进的下游性能。

图2:Point-M2AE的整体流程。在多尺度掩蔽之后,我们在第一尺度上编码点token,并将可见的点token馈送到分层编码器-解码器transformer中,该transformer在预训练期间捕获点云的高级语义和细粒度模式。
Point-M2AE的整体流程如图2所示,其中我们采用分层网络架构对点云进行编码和重构。
为了构建类似U-Net的用于分层学习的掩码自编码器,我们对点云按尺度进行编码,每个尺度上的点数不同,并将标准的普通编码器相应修改为S-级架构。
在MAE之后,我们将点云嵌入到离散的点token中,并随机掩蔽它们以进行重建。
重要的是,对于多尺度架构中不规则分布的点,要求暴露的可见空间区域不仅在一个尺度内保持一致,而且在不同尺度之间保持一致。
这是因为形状的块方向部分倾向于保留更完整的细粒度几何形状,并且为了编码器的连贯特征学习,在所有尺度上共享未被遮挡的位置更好。
因此,如图3所示,我们首先构建输入点云的s-尺度坐标表示,并将随机掩码从最终s尺度反投影到早期尺度,以避免碎片化的可见部分。
S-scale表示
我们将输入点云记为,并将其作为第个尺度。
对于第个尺度,,我们利用最远点采样(FPS)对第个尺度的点进行下采样,对个点的第个尺度产生种子点。
然后,我们采用近邻()对每个种子点的相邻个点进行聚合,得到相邻指标。
通过逐次降采样和分组,我们获得了s-尺度表示关于输入点云,其中点的个数逐渐减少,尺度之间的包含关系记录在.中。
反投影到可见位置
对于最终尺度的种子点,我们随机用大比例(如)掩码,剩余可见点记为点的。
然后,我们将未遮挡的位置反投影,以确保跨尺度的可见区域一致。
对于第个尺度,我们从索引中检索出的所有个最近的邻居,作为的可见位置,并掩蔽其他位置。
通过递归反投影,我们得到了所有尺度的可见和掩码位置,记为,其中且.

基于多尺度掩蔽,我们将第一尺度的可见点的初始token嵌入到S-级的分层编码器中。
每个阶段配备个堆叠编码器块,每个块包含一个自注意层和一个**MLP层的前馈网络(FFN)**。
在每两个连续阶段之间,我们引入空间token合并模块来聚合相邻的可见token,并扩大接受域以进行点云的下采样。
token嵌入和合并
以为索引,我们利用mini-PointNet提取并融合中的每个种子点及其个最近邻居的特征。之后,我们获得编码器第1阶段的初始点token,该编码器嵌入了3D形状的局部图案。
在-th和i-th阶段之间,我们合并以获得i-th阶段的下采样点token。我们利用MLP层和最大池化来整合最接近的每k个token,以为索引,输出。
由于我们的多尺度掩蔽,合并后的对应于的相同可见部分,这使得在不同尺度上的特征编码保持一致。对于较大的深度阶段,我们设置了较高的特征维,使空间几何编码具有更丰富的语义。
局部空间自注意
在预训练期间,我们期望多级编码器中的点token能够捕获3D形状的全局线索,这有利于掩模部分的重建。
因此,在微调期间,我们使用局部空间约束修改编码器中的原始自注意层,使得只有球查询中的相邻标记可用于attention计算。在点tokens分阶段下采样的基础上,我们设置多尺度球查询的递增半径函数,逐步扩大attention范围,实现了局部到全局的特征聚合方案。
通过分层编码器,我们得到所有尺度的编码可见token。
从最高S-th尺度开始,我们为所有被掩蔽位置分配一个共享的可学习掩码token;
并将它们与可见`token连接起来。我们记为,坐标为,作为分层解码器的输入。
我们将解码器设计为轻量级的阶段,每个阶段只有一个解码器块,这使得编码器可以嵌入更多的点云语义。
每个解码器块由一个普通的自注意层和一个FFN组成。
我们没有将局部约束应用于解码器中的注意力,因为可见和掩码token之间的全局理解对重建至关重要。
点token上采样
我们对阶段之间的点标记进行上采样,以便在重建之前逐步恢复3D形状的细粒度几何形状。我们规定解码器的第级对应于编码器的-级,两者都包含相同的-阶的点标记,特征维数。
在(j−1)和j阶段之间,$1j\leq=""s-1$,我们上采样=""$\left\{h_{j-1}^v,=""h_{j-1}^m\right\}$=""从坐标=""$\left\{p_{s+2-j}^v,=""p_{s+2-j}^m\right\}$=""变成=""$\left\{p_{s+1-j}^v,=""p_{s+1-j}^m\right\}$="",=""通过token传播模块。
具体地说,我们得到了每个点标记的个近邻:以为索引,参照PointNet++加权插值恢复相邻特征,生成第j阶段token。
跳连接
为了进一步补充细粒度的几何形状,我们通过跳连接将解码器的可见标记与编码器的相应阶段的通道巧妙地连接起来,并采用线性投影层融合它们的特征。
对于掩码token,,我们保持它们不变,因为编码器只包含可见token而不包含掩码token。
点重建
经过S-1级解码器,我们获得,坐标为;并从掩码token重构掩码值。
除了在输入点云P的第个尺度上预测值之外,我们重建了的坐标,即从第2个尺度中恢复第1个尺度的掩模位置。
这是因为第1尺度的可以很好地表示整体的3D形状,同时保留足够的局部模式,这已经为预训练构建了一个比较具有挑战性的代理任务。
如果我们进一步上采样转化为,并从重建被掩盖的原始点,额外的空间噪声和计算开销会对我们的性能和效率产生不利影响。
因此,对于中的每一个token,我们通过一个线性投影层的重建头重建中记录的个最近邻,并计算倒角距离的损失,表示为:
和表示从第2尺度到第1尺度的预测和ground-truth重建坐标。
我们仅利用进行无对比损失的监督,对自监督预训练进行纯掩码的自编码。
在4.1节和4.2节中,介绍了Point-M2AE的预训练实验,并报告了在各种下游任务上的微调性能。
在第4.3节中进行了消融研究,以验证方法的有效性。
我们在ShapeNet数据集上预训练Point-M2AE,该数据集包含个类别的个合成D形状。我们将级数设为,并构造一个级编码器和一个分层学习的两阶段解码器。
我们在每个编码器阶段采用个块,但轻量级解码器每阶段只采用个块。
对于尺度点云,我们将点数和token维度分别设置为和。我们还为-nn在不同的尺度上设置了不同的,分别是。
我们以的高比例遮罩最高尺度的点云,并为所有注意力模块设置个头。详细的训练设置见附录。
线性支持向量机SVM
在ShapeNet上进行预训练后,我们通过在ModelNet40上进行线性评估来测试PointM2AE的表示能力。我们从ModelNet40的每个形状中采样个点,并利用我们的冻结编码器提取其特征。
在此基础上,我们训练了一个线性支持向量机SVM,并报告了表中的分类精度。如图所示,在所有现有的点云自监督方法中,Point-M2AE的性能最好,比第二好的crosspoint高出。Point-M2AE也比Point-BERT高出。Point-M2AE是一种具有MoCo损失的掩蔽点建模方法,但采用的是标准,进行单尺度学习。
值得注意的是,即使我们冻结所有参数,准确率为的Point-M2AE仍然优于ModelNet40上许多完全训练的方法,例如PointNet++的准确率为,DensePoint的准确率为等。实验充分证明了我们的Point-M2AE具有优越的表示能力。

为了对下游任务进行微调,我们在预训练中丢弃了分层解码器,并为不同的任务在分层编码器上附加了不同的头。
形状分类
为了处理有噪声的空间结构,我们将-nn的增加为,以便ScanObjectNN编码具有更大接受域的局部模式。如表所示,Point-M2AE在ModelNet40上达到了的准确率,每个样本点,比Point-BERT微调点的准确率高,比点的准确率高。
对于表中的ScanObjectNN,我们的Point-M2AE比第二好的Point-BERT的性能有明显的提升,在三个拆分中分别达到,和,表明我们在复杂情况下通过多尺度编码有很大的优势。由于真实场景的ScanObjectNN与预训练的合成ShapeNet在语义上存在较大差距,Point-M2AE对另一个域的点云也具有较强的迁移能力。


部件分割
我们在``ShapeNetPart上评估了Point-M2AE`的部件分割,它预测了每个点的部件标签,并且需要详细了解局部模式。我们采用了一个非常简单的分割头来验证我们的预训练的有效性,以很好地捕获高级语义和细粒度细节。
通过分层编码器,我们得到点的尺度点token,在PointNet++中进行特征传播,将这些token独立上采样到输入点云的个点。
然后,我们将每个点的上采样尺度特征连接起来,并通过堆叠的线性投影层来预测部件标签。
如表所示,在简单分割头情况下,Point-M2AE达到了最佳的实例,比第二好的Point-BERT高出。注意,Point-BERT等方法采用分层分割头从中间层逐步上采样点特征,而我们的头不包含分层结构,仅依靠预训练的编码器捕获点云的多尺度信息。结果充分说明了Point-M2AE的多尺度预训练对分割任务的重要意义。
few-shot分类
我们在ModelNet40上进行了few-shot分类实验,在有限的微调数据下评估Point-M2AE的性能。如表所示,Point-M2AE在所有四种设置下均达到最佳性能,分别比Point-BERT高出、、和。
我们的方法也比其他基于的方法显示出更小的偏差,这表明Point-M2AE已经学会了产生更通用的D表示,可以很好地适应低数据条件下的下游任务。


D目标检测
为了进一步评估我们在D物体检测上的分层预训练,我们应用Point-M2AE作为室内ScanNetV2数据集的特征主干。我们选择DETR-m作为基准,它由一个块编码器和一个解码器组成。
考虑到ShapeNet有k个输入点,而ScanNetV2有k个输入点,我们采用与DETR-m相同的编码器架构,并保持我们的分层解码器与跳连接不变,在ScanNetV2上进行自监督预训练。
更多关于模型和训练的细节见附录。如表所示,与从头开始训练相比,我们的分层预训练使DETR-m的性能提高了AP和AP。实验证明了Point-M2AE在学习多尺度点云编码用于目标检测方面的有效性,以及它在更广泛的D应用中的潜力。

我们在预训练中通过每次修改一个组件进行消融研究,探索最佳掩蔽策略。我们报告了在ModelNet40上使用线性支持向量机SVM评估预训练表征的分类精度。对于下游任务,我们从头开始训练网络,以验证分层预训练的重要性。
分层模块
如表所示在我们的最终解决方案Point-M2AE之上的第一行,我们分别尝试从框架中删除分层编码器、分层解码器和跳连接。
具体来说,我们将编码器和解码器替换为类似于MAE的级普通架构,其中分别包含个和个vanilla块。
我们观察到编码器和解码器中没有多级结构会影响性能,分层编码器比解码器发挥更好的作用。
此外,跳连接通过为解码器提供补充信息而很好地提高了准确性。

掩蔽策略
在表中,我们报告了具有不同掩码设置的Point-M2AE。如果没有多尺度掩码,我们在每个尺度上随机生成掩码,导致所有尺度的可见区域都是碎片化的。
使用这种策略,网络会在不同阶段“窥视”点云的不同部分,这会干扰表征学习并使性能降低的准确率。
对于不同的掩码比例,我们发现的掩码比例最适合构建具有适当挑战性的自监督预训练代理任务。

有和没有预训练
我们在表中报告了有预训练和没有预训练的Point-M2AE在下游任务上的性能。对于“w/o”,我们随机初始化参数并从头开始训练网络。
如图所示,预训练可以在四个数据集上分别提高,,和的性能,这表明了我们分层预训练的优越性和意义。
表9:预训练前后。ModelNet40-FS表示10-way20-shot的ModelNet40的few-shot分类。

多尺度掩蔽
为了便于理解我们的多尺度掩蔽策略,我们在图的每一行中分别可视化了输入点云、尺度表示、重建点云和尺度掩蔽点云。
如图所示,不同的尺度可以表示点云不同层次的几何细节和语义。通过多尺度掩蔽策略,我们观察到掩蔽点云的可见位置在一个尺度内是块方向的,并且在不同的尺度上是一致的,这对我们的分层预训练有重要意义。
细粒度的信息
细粒度的D结构,例如植物的细枝,人的手指,飞机的引擎,对于区分相似的形状非常重要,并且可以通过我们的分层表示很好地编码。
在图中,我们通过可视化提取的点特征并在预训练期间重建点云,将我们的Point-M2AE与多阶段和单尺度架构进行了比较。与单尺度网络相比,多尺度网络在细粒度结构中表现出更高的特征响应,重构出更精确的空间细节。


作者提出了一种多尺度掩码自编码器Point-M2AE,用于点云的自监督预训练。通过分层架构,Point-M2AE通过编码多尺度点云并从全局到局部上采样方案重建掩码坐标来学习生成强大的3D表示。
大量的实验证明了Point-M2AE作为一个强大的表征学习器的优越性。由于局限性和未来的工作,将专注于将Point-M2AE应用于更广泛的3D应用,例如户外和开放世界场景理解。

Transformer。
transformer首先在自然语言处理中被提出,用于捕获长句子中的词间关系,并且在大多数语言任务中占主导地位。
在此激励下,VisionTransformers和DETR将transformer架构引入计算机视觉,并激发后续工作将transformer有效应用于广泛的视觉任务,如图像分类、目标检测、语义分割等。对于理解,基于transformer的网络还用于形状分类、部件分割、从点云和单眼图像中检测物体。
PCT利用相邻嵌入层聚合局部特征,并通过transformer块对下采样点云进行处理,是一项开创性的工作。
PoinTr和Point-BERT将点云划分为多个空间局部块,并利用平面架构的标准transformer对这些块进行编码。
在此基础上,我们提出了带有分层编码器-解码器transformer的Point-M2AE,该transformer设计用于MAE风格的自监督点云预训练,可以很好地捕获点云的多尺度特征。
位置编码
为了补充空间信息,我们对Point-M2AE中的所有注意层应用位置编码。
对于点token或在第阶段,我们利用两层MLP编码其对应的坐标或
将转换为通道向量,并在进入注意层之前明智地将它们与token特征一起添加。
Self-supervised训练
根据之前的工作,我们在ShapeNet中从每个D形状中抽取个点进行预训练Point-M2AE。
我们预训练网络次,批大小为,并采用AdamW作为优化器。
我们将初始学习率和权重衰减分别设置为和,并采用余弦调度器和epoch预热。
在预训练过程中,我们利用常见的随机缩放和随机翻转来增强数据。
对于ModelNet40上的线性支持向量机SVM,在分层编码器之后,我们同时使用max和average池来聚合点token之间的特征,并将两个池化的特征求和作为点云的编码全局特征。
形状分类
我们在两个数据集上对Point-M2AE进行了微调,用于形状分类。
被广泛采用的ModelNet40由40个类别的合成形状组成,其中个样本用于训练,个样本用于验证。
具有挑战性的ScanObjectNN包含15个类别的个训练点云和个验证点云,这些云是从嘈杂的现实世界场景中捕获的,因此与预训练的ShapeNet数据集存在域差距。
ScanObjectNN分为OBJ-BG、OBJ-ONLY和PB-T50-RS三部分进行评估,其中PB-T50-RS最难识别。
我们分别从ModelNet40和ScanObjectNN的每个3D形状中采样和个点,并且只使用通道坐标作为输入。
两个数据集采用相同的训练设置。
我们对网络进行了个epoch的微调,批大小为,并将学习率设置为,权重衰减。
对于其他训练超参数,我们保持它们与预训练实验相同。
部件分割
ShapeNetPart包含个对象类别和个部件类别的个合成3D形状,其中用于训练和验证的样本分别为个和个。
我们从每个形状中抽取个点作为输入,并预测所有点的部件类别。
我们微调了个epoch的Point-M2AE,批大小为,并将学习率设置为,权重衰减为。
其他训练设置与形状分类实验相同。
Few-shot分类
我们遵循前人的研究,在ModelNet40上采用“K-wayN-shot”设置进行few-shot分类。
我们从个类中随机选择K个,每个类样本N+个3D形状,个用于训练,个用于测试。
我们对Point-M2AE进行了四种few-shot设置:-way-shot,-way-shot,-way-shot和-way-shot。
为了减轻随机抽样的方差,我们对每个few-shot设置进行了次独立运行,并报告了平均精度和标准差。我们采用与形状分类实验相同的训练设置,但只微调了个epoch的Point-M2AE。
3D对象检测
我们在ScanNetV2上对Point-MAE进行预训练和微调,用于3D物体检测。
该数据集包含个扫描的室内场景,包含个类别的轴对齐3D边界框,个用于训练,个用于验证。
由于我们在3DETR-m中采用了相同的2级编码器架构,因此我们将解码器的级数设置为,这符合S级编码器和级解码器的规则。
在ShapeNet预训练实验中,我们对Point-M2AE进行了个epoch的预训练,学习率为,并遵循其他超参数。对于微调,我们采用了与原论文中从头开始训练3der-m相同的设置,以进行公平的比较。

多尺度掩蔽流程
在图6中,我们展示了简化的掩码流程,它清楚地说明了掩码是如何在最高规模下生成的,并向后投影到先前的层。
学习曲线
为了比较有预训练和没有预训练的训练,我们在ModelNet40和ScanObjectNN上给出了它们的损失和准确率曲线。
如图7.2所示,与未进行预训练的曲线相比,经过预训练的曲线收敛速度更快,分类准确率更高。这充分证明了Point-M2AE分层预训练的有效性。
t-SNE
在图8中,我们将在ModelNet40上进行微调前后,Point-M2AE提取的特征分布可视化。如图所示,预训练后的Point-M2AE无需微调,就可以产生不同类别的判别特征。
然后,进一步对同一类别的特征进行聚类,对不同类别的特征进行分离。

局部空间注意力
我们在图9中可视化了ModelNet40上有和没有局部attention的attention权重。
如图所示,在局部attention下,查询点(星号标记)只在局部空间范围内(黄色虚线圈标记)具有较大的attention值,而不会分散在整个3D形状上(黄色箭头标记)。
这使得每个点在捕获细节结构的早期阶段更多地集中在邻近的局部特征上。

部件分割结果
通过我们的分层架构学习的细粒度3D模式在很大程度上有利于具有密集预测的3D下游任务,例如部件分割。
在图10中,我们通过将提取的点特征和ShapeNetPart上的分割结果可视化,将我们的Point-M2AE与多阶段和单尺度架构进行了比较。
如图所示,多尺度体系结构为对象预测了更细粒度的部件标签。

transformer级
Point-M2AE中的每个阶段都对点云的相应尺度进行编码。在表11中,我们探索了在预训练过程中学习多尺度点云特征的编码器和解码器的最佳级数。可知,级编码器与级解码器表现最好。
如果像编码器一样,解码器也有三级,并在级尺度上重建点云,则会对性能产生不利影响。

transformer块数
在每个阶段,我们应用几个transformer块来编码点token的特征。我们在表12的编码器和解码器的每个阶段使用不同的块数进行实验。
我们观察到,编码器每级堆叠五个块,解码器每级只堆叠一个块,可以达到最高的精度。这种非对称结构使得编码器包含更多的点云语义信息,有利于提高Point-M2AE的传输能力。

微调设置
对于下游分类任务的微调,我们通过池化从点token中获得全局特征,并应用基于mlp的分类头。在表10中,我们研究了不同的池化操作以及类token方法,以集成所有点token的特性。
我们将一个可学习的类标记与第一个尺度的点标记连接起来,并将它们馈送到分层编码器中。编码后,我们直接利用这个类标记作为全局特征进行分类。可知,“max+”在微调方面表现最好,这是我们在所有形状分类实验中的默认值。我们还展示了没有局部空间注意层的分类结果,这说明了增加接收域对局部特征进行编码的重要性。

预训练损失函数
除了归一化的倒角距离损失(L2范数CD)外,我们进一步评估了归一化的倒角距离损失(范数CD)、“推土机距离”(EarthMover'sDistance)(EMD)及其组合。
如表13所示,原始l2标准CD损耗比所有其他比较损耗表现得更好。我们将重构点集和ground-truth点集分别表示为S1和S2。
与需要对S1和S2之间的每个点进行最优映射的EMD损耗相比,范数CD损耗仅优化了单独的对向距离,因此对3D结构的变化更具鲁棒性。

目前工坊已经建立了3D视觉方向多个社群,包括SLAM、工业3D视觉、自动驾驶方向,细分群包括:[工业方向]三维点云、结构光、机械臂、缺陷检测、三维测量、TOF、相机标定、综合群;[SLAM方向]多传感器融合、ORB-SLAM、激光SLAM、机器人导航、RTK|GPS|UWB等传感器交流群、SLAM综合讨论群;[自动驾驶方向]深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器讨论群、多传感器标定、自动驾驶综合群等。[三维重建方向]NeRF、colmap、OpenMVS等。除了这些,还有求职、硬件选型、视觉产品落地等交流群。大家可以添加小助理,备注:加群+方向+学校|公司,小助理会拉你入群。