Point-M2AE: Multi-scale Masked Autoencoders for Hierarchical Point Cloud Pre-training
Abstract
Masked Autoencoders (MAE) have shown great potentials in self-supervised pretraining for language and 2D image transformers.
However, it still remains an open question on how to exploit masked autoencoding for learning 3D representations of irregular point clouds.
In this paper, we propose Point-M2AE , a strong M ulti-scale M AE pre-training framework for hierarchical self-supervised learning of 3D point clouds.
Unlike the standard transformer in MAE, we modify the encoder and decoder into pyramid architectures to progressively model spatial geometries and capture both fine-grained and high-level semantics of 3D shapes.
For the encoder that downsamples point tokens by stages, we design a multi-scale masking strategy to generate consistent visible regions across scales, and adopt a local spatial self-attention mechanism during fine-tuning to focus on neighboring patterns.
By multi-scale token propagation, the lightweight decoder gradually upsamples point tokens with complementary skip connections from the encoder, which further promotes the reconstruction from a global-to-local perspective.
Extensive experiments demonstrate the state-of-the-art performance of Point-M2AE for 3D representation learning.
With a frozen encoder after pretraining, Point-M2AE achieves 92.9% accuracy for linear SVM on ModelNet40, even surpassing some fully trained methods.
By fine-tuning on downstream tasks, Point-M2AE achieves 86.43% accuracy on ScanObjectNN, +3.36% to the secondbest, and largely benefits the few-shot classification, part segmentation and 3D object detection with the hierarchical pre-training scheme. Code is available at https:// /Point-M2AE .
Introduction
Learning to represent from unlabeled data without annotations, known as self-supervised learning, has attained great success in natural language processing [11, 38, 39, 5], computer vision [21, 8, 9, 20] and multi-modality learning [37, 61, 23].
By pre-training on the large-scale raw data, the networks are endowed with robust representation abilities and can significantly benefit downstream tasks with fine-tuning.
Motivated by masked language modeling [38, 11], MAE [20] and some other methods [56, 66, 3] adopt asymmetric encoder-decoder transformers [14] to apply masked autoencoding for self-supervised learning on 2D images.
They represent the input image as multiple local patches, and randomly mask them with a high ratio to build the pretext task for reconstruction.
Specifically, the encoder aims at capturing high-level latent representations from limited visible patches, and the lightweight decoder is forced to reconstruct the RGB values of masked patches on
[Figure]
SkipConnections
MAE
Point
[Figure] Multi [Figure]
Reconstructed3DCoordinates
Reconstructed2DPixels
PlainEncoder
PlainDecoder
Hierarchical
Hierarchical Encoder
Decoder
U p s a m p l e D o w n s a m p l e
ConstantResolution top.
Despite its superiority on grid-based 2D images, we ask the question: can MAE-style masked autoencoding be adapted to irregular point clouds as a powerful 3D representation learner? To tackle this challenge, we propose M ulti-scale M asked autoencoders for learning the hierarchical representations of point clouds via self-supervised pre-training, termed as Point-M2AE.
We represent a point cloud as a set of point tokens depicting different spatial local regions, and inherit MAE’s pipeline to first encode visible point tokens and then reconstruct the masked 3D coordinates.
Different from 2D images, masked autoencoding for 3D point clouds has three characteristics to be specially considered.
Firstly, it is critical to understand the relations between local parts and the overall 3D shapes, which have strong geometric and semantic dependence.
As examples, the network can recognize an airplane starting from its wing, or segment the wing’s part from the airplane’s global feature.
Therefore, we regard the standard transformer with the plain encoder and decoder is sub-optimal for capturing such local-global spatial relations in 3D, which directly downsamples the input into a low-resolution representation as shown in Figure 1 (Top).
We modify both the encoder and decoder into multi-stage hierarchies for progressively encoding multi-scale features of point clouds, constructing an asymmetric U-Net [41] like architecture in Figure 1 (Bottom).
Secondly, as our Point-M2AE encodes multi-scale point clouds unlike the single-scale 2D images, the unmasked visible regions are required to be both block-wise within one scale and consistent across scales, which are respectively for reserving complete local geometries and ensuring coherent feature learning for the network.
For this, we introduce a multi-scale masking strategy, which generates random masks at the final scale with a high ratio (e.g., 80%), and back-projects the unmasked positions to all preceding scales.
Thirdly, to better reconstruct 3D geometries from a local-to-global perspective, we utilize skip connections to complement the decoder with fine-grained information from the corresponding stages of the encoder. During fine-tuning on downstream tasks, we also adopt a local spatial self-attention mechanism with increasing attention scopes for point tokens at different stages of the encoder, which refocus each token within neighboring detailed structures.
By the multi-scale pre-training, Point-M2AE can encode point clouds from local-to-global hierarchies and then reconstructs the masked coordinates from global-to-local perspectives, which learns powerful 3D representations and performs superior transfer ability.
After self-supervised pre-training on ShapeNet [7], Point-M2AE achieves 92.9% classification accuracy for linear SVM on ModelNet40 [53] with the frozen encoder, which surpasses the runner-up CrossPoint [2] by +1.2% and even outperforms some fully supervised methods.
By fine-tuning on various downstream tasks, Point-M2AE achieves 86.43% (+3.36%) accuracy on ScanObjectNN [45] and 94.0% (+0.8%) accuracy on ModelNet40 [53] for shape classification, 86.51% (+0.91%) instance mIoU on ShapeNetPart [58] for part segmentation, and 95.0% (+2.7%) accuracy on 10-way 20-shot ModelNet40 for few-shot classification.
Our multi-scale masked autoencoding also benefits the 3D object [-detectionon ScanNetV
 [9]-]detection on ScanNetV2 [10] by +1.3% AP 25 and +1.3% AP 50 , which provides the detection backbone with a hierarchical understanding of the point clouds.
We summarize the contributions of our paper as follows:
We propose Point-M2AE, a strong masked autoencoding framework, which conducts hierarchical point cloud encoding and reconstruction for better learning multi-scale spatial geometries of 3D shapes.
We introduce a U-Net like transformer architecture for MAE-style pre-training on point clouds, and adopt a multi-scale masking strategy to generate consistent visible regions across scales.
Point-M2AE achieves state-of-the-art performance for transfer learning on various downstream tasks, which indicates our approach to be a powerful representation learner for 3D point clouds.
Related Work
Pre-training by Masked Modeling.
Compared to contrastive learning methods [21, 8, 9] that learn from inter-sample relations, self-supervised pre-training by masked autoencoding builds the pretext tasks to predict the masked parts of the input signals.
The series of GPT [38, 39, 5] and BERT [12] apply masked modeling to natural language processing and achieve extraordinary performance boost on downstream tasks with fine-tuning.
Inspired by this, BEiT [4] proposes to match image patches with discrete tokens via dVAE [40] and pre-train a standard vision transformer [14, 60] by masked image modeling.
On top of that, MAE [20] directly reconstructs the raw pixel values of masked tokens and performs great efficiency with a high mask ratio.
The follow-up works further improve the performance of MAE by momentum encoder [66], contrastive learning [3], and modified reconstruction targets [51].
For self-supervised pre-training on 3D point clouds, the masked autoencoding has not been widely adopted.
Similar to BEiT, Point-BERT [60] utilizes dVAE to map 3D patches to tokens for masked point modeling, but heavily relies on constrastive learning [21], complicated data augmentation, and the costly two-stage pre-training.
In contrast, our Point-M2AE is a pure masked autoencoding method of one-stage pre-training, and follows MAE to reconstruct the input signals without dVAE mapping.
Different from previous MAE methods adopting standard plain transformer, we propose a hierarchical transformer architecture along with the multi-scale masking strategy to better learn a strong and generic representation for 3D point clouds.
Self-supervised Learning for Point Clouds.
3D representation learning without annotations has been widely studied in recent years.
Mainstream methods mainly build the pretext tasks to reconstruct the transformed input point cloud based on the encoded latent vectors, such as rotation [34], deformation [1], rearranged parts [42] and occlusion [49].
From another perspective, PointContrast [55] utilizes contrastive learning between features of the same points from different views to learn discriminative 3D representations.
DepthContrast [63] further extends the contrast for depth maps of different augmentations.
CrossPoint [2] conducts cross-modality contrastive learning between point clouds and their corresponding rendering images to acquire rich self-supervised signals.
Point-BERT [60] and Point-MAE [33] respectively introduce BERT-style [11] and MAE-style [20] pre-training schemes for 3D point clouds with standard transformer networks and performs competitively on various downstream tasks, but both of them can only encode point clouds with a single resolution and ignores the local-global relations between 3D shapes. In this paper, we propose Point-M2AE, an MAE-style framework with a hierarchical transformer for multi-scale point cloud pre-training.
We achieve state-of-the-art downstream performance by learning the multi-scale representation of point clouds.
Method
The overall pipeline of Point-M2AE is shown in Figure 2, where we encode and reconstruct the point cloud by a hierarchical network architecture.
In Section 3.1, We first introduce the masking strategy of Point-M2AE with multi-scale representations of point clouds.
Then in Section 3.2 and Section 3.3, we present the details of our encoder and decoder with multi-stage hierarchies.
[Figure]
𝐻
[Figure]
𝐻
[Figure] [Figure]
𝐻 !"
[Figure] [Figure]
3.1 Multi-scale Masking
To build a U-Net [41] like masked autoencoder for hierarchical learning, we encode the point cloud by S scales with different number of points at each scale, and correspondingly modify the standard plain encoder into the S -stage architecture.
Following MAE, we embed the point cloud into discrete point tokens and randomly mask them for reconstruction.
Importantly, for irregular-distributed points in the multi-scale architecture, the unmasked visible spatial regions are required to be consistent not only within one scale, but also across different scales.
This is because the block-wise parts of 3D shapes tend to preserve more complete fine-grained geometries, and the unmasked positions are better to be shared across all scales for coherent feature learning of the encoder.
Therefore, as shown in Figure 3, we first construct the S -scale coordinate representations of the input point cloud and back-project the random masks from the final S -th scale to the earlier scales to avoid fragmented visible parts.
S -scale Representations.
We denote the input point cloud as P ∈ R N × 3 and regard it as the 0 -th scale.
For the i -th scale, 1 ≤ i ≤ S , we utilize Furthest Point Sampling (FPS) to downsample the points from the ( i − 1) -th scale, which produces seed points P i ∈
R N i × 3 for scale i of N i points.
Then, we adopt k Nearest-Neighbour ( k -NN) to aggregate the neighboring k points for each seed point and obtain the neighbor indices I i ∈
R N i × k .
By successively downsampling and grouping, we acquire the S -scale representations { P i , I i } Si =1 of the input point cloud, where the number of points
N i gradually decreases and the inclusion relations between scales are recorded in I i .
Back-projecting Visible Positions.
For seed points P S at the final S -th scale, we randomly mask them with a large proportion (e.g., 80%) and denote the remaining visible points as P vS ∈ R N vS ×of N S points.
We then back-project the unmasked positions P vS to ensure the consistent visible regions across scales.
For the i -th scale, 1 ≤ i < S , we retrieve all the k nearest neighbors of
P vi +1 from the indices
I i +1 to serve as the visible positions P vi , and mask the others.
By recursively back-projecting, we obtain the visible and masked positions of all S scales, denoted as { P vi , P mi } Si =1 , where P vi ∈ R N vi × 3 , P mi ∈ R N mi × 3 and N i = N vi + N mi .
3.2 Hierarchical Encoder
Based on the multi-scale masking, we embed the initial tokens of visible points P v 1 for the 1 -st scale and them into the hierarchical encoder with S stages.
Every stage is equipped with K stacked encoder blocks, and each block contains a self-attention layer and a Feed Forward Network (FFN) of MLP layers.
Between every two consecutive stages, we introduce spatial token merging modules to aggregate adjacent visible tokens and enlarge receptive fields for downsampling the point clouds.
[Figure] [Figure]
FPS, 𝑘 - NN
Back - project …
Maskatthe
S - thS cale 𝑃 !"
𝑃 #"
FPS, 𝑘 - NN {𝑃 $ , 𝐼 $ } {𝑃 ! , 𝐼 ! } {𝑃 # , 𝐼 # } 𝐼 ! …
𝐼 "
[Figure]
Token Embedding and Merging.
Indexed by I 1 , we utilize a mini-PointNet [35] to extract and fuse the features of every seed point from P v 1 ∈ R N v 1 × 3 with its k nearest neighbors.
After that, we obtain the initial point tokens T v 1 ∈ R N v 1 × C 1 for the 1-st stage of the encoder, which embeds
N e 1 local patterns of the 3D shape.
Between the ( i − 1) -th
and i -th stages, 1 < i ≤ S , we merge
T vi − 1 ∈ R N i − 1 × C i − 1 to acquire the downsampled point tokens for the i -th stage.
We utilize MLP layers and a max pooling to integrate every k tokens nearest to P vi indexed by I i , which outputs
T vi ∈ R N i × C i .
Due to our multi-scale masking, the merged T vi corresponds to the same visible parts of T vi − 1 , which enables the consistent feature encoding across different scales. For larger i of deeper stages, we set higher feature dimension C i to encode spatial geometries with richer semantics.
Local Spatial Self-Attention.
During pre-training, we expect point tokens in the multi-stage encoder to capture global cues for 3D shapes, which benefits the reconstruction of masked parts. However, when fine-tuning on downstream tasks without masked autoencoding, point tokens in the shallower stages are better to mainly focus on local information and not to be disturbed by long-range signals, referring to the inductive bias of 3D locality [36].
Thus, during fine-tuning, we modify the original self-attention layer in the encoder with a local spatial constraint that only neighboring tokens within a ball query would be available for attention calculation.
As the point tokens are downsampled by stages, we set increasing radii { r i } Si =1 of multi-scale ball queries for gradually expanding the attention scopes, which fulfills the local-to-global feature aggregation scheme.
3.3 Hierarchical Decoder
Via the hierarchical encoder, we obtain the encoded visible tokens { T vi } Si =1 of all scales.
Starting from the highest S -th scale, we assign a shared learnable mask token to all the masked positions P mS , and concatenate them with the visible tokens T vS .
We denote them as { H v 1 , H m 1 } with coordinates { P vS , P mS } , which serve as the input of the hierarchical decoder.
We design the decoder to be lightweight with S − 1 stages and only one decoder block for each stage, which enforces the encoder to embed more semantics of the point clouds.
Each decoder block consists of a vanilla self-attention layer and an FFN.
We do not apply the local constraint to the attention in the decoder, since a global understanding between visible and mask tokens is crucial to the reconstruction.
Point Token Upsampling.
We upsample the point tokens between stages to progressively recover the fine-grained geometries of 3D shapes before reconstruction.
We regulate that the j -th stage of the decoder corresponds to the ( S + 1 − j ) -th stage of the encoder, both of which contain point tokens of the same ( S + 1 − j ) -th scale with the feature dimension C S +1 − j .
Between the ( j − 1) - th and j -th stage, 1 < j ≤ S − 1 , we upsample the tokens { H v j − 1 , H m j − 1 } from the coordinates { P vS +2 − j , P mS +2 − j } into { P vS +1 − j , P mS +1 − j } via the token propagation module.
Specifically, we obtain the k nearest neighbors of each point token in { H vj − 1 , H mj − 1 } indexed by I S +2 − j , and recover their neighbors’ features by weighted interpolation referring to PointNet++ [36], which generates the tokens { H vj , H mj } of the j -th stage. [Table] [Table]
Skip Connections.
To further complement the fine-grained geometries, we channel-wisely concatenate the visible tokens H vj ∈ R N S +1 − j × C S +1 − j of the decoder with T vS + [Equation] N S
[Equation] [Equation] from the corresponding ( S + 1 − j ) -th stage of the encoder via skip connections, and adopt a linear projection layer to fuse their features.
For the mask tokens H mj , we keep them unchanged, since the encoder only contains visible tokens without the masked ones.
Point Reconstruction.
After S − 1 stages of the decoder, we acquire { H vS − 1 , H mS − 1 } with coordinates { P v 2 , P m 2 } and reconstruct the masked values from the mask tokens H mS − 1 .
Other than predicting values at the 0 -th scale of the input point cloud P , we reconstruct the coordinates of
P m 1 , namely, recovering the masked positions of the 1 -st scale P m 1 ∈ R N m 1 × 3 from the 2 -nd scale
P m 2 ∈ R N m 2 × 3 .
This is because { P v 1 , P m 1 } of the 1-st scale could well represent the overall 3D shape and simultaneously preserve enough local patterns, which already constructs a comparatively challenging pretext task for pre-training.
If we further upsample { H vS − 1 , H mS − 1 } into { H vS , H mS } and reconstruct the masked raw points from P m 1 , the extra spatial noises and computational overhead would adversely influence our performance and efficiency.
Therefore, for every token in
H mS − 1 ∈ R N m 2 × C 2 , we reconstruct its k nearest neighbors recorded in I 2 by a reconstruction head of one linear projection layer and compute the loss by l 2 Chamfer Distance [15], formulated as,
[Equation]
) , where (cid:98) P
[Equation]
where (cid:98) P m 2 → 1 and P m 2 → 1 denote the predicted and ground-truth reconstruction coordinates from the 2 -nd scale to the 1 -st scale.
We only utilize L CD for supervision without contrastive loss to conduct a pure masked autoencoding for self-supervised pre-training.
Experiments
In Section 4.1 and Section 4.2, we introduce the pre-training experiments of Point-M2AE and report the fine-tuning performance on various downstream tasks.
We also conduct ablation studies in
Section 4.3 to validate the effectiveness of our approach.
4.1 Self-supervised Pre-training
Settings.
We pre-train our Point-M2AE on ShapeNet [7] dataset, which contains 57,448 synthetic 3D shapes of 55 categories.
We set the stage number S as 3, and construct a 3-stage encoder and a [Table] 2-stage decoder for hierarchical learning.
We adopt 5 blocks in each encoder stage, but only 1 block per stage for the lightweight decoder.
For the 3-scale point clouds, we set the point numbers and token dimensions respectively as {512, 256, 64} and {96, 192, 384}.
We also set different k for the k -NN at different scales, which are {16, 8, 8}.
We mask the highest scale of point clouds with a high ratio of 80% and set 6 heads for all the attention modules.
The detailed training settings are in
Appendix.
Linear SVM.
After pre-training on ShapeNet, we test the 3D representation capability of PointM2AE via linear evaluation on ModelNet40 [53].
We sample 1,024 points from each 3D shape of ModelNet40 and utilize our frozen encoder to extract their features.
On top of that, we train a linear SVM and report the classification accuracy in Table 1.
As shown, Point-M2AE achieves the best performance among all existing self-supervised methods for point clouds, and surpasses the second-best CrossPoint [2] by +1.7%.
Point-M2AE also exceeds Point-BERT [60] by +5.5%, which is a masked point modeling method with a MoCo loss [21] but adopts a standard transformer and conducts single-scale learning.
It is worth noting that even if we freeze all our parameters,
Point-M2AE with 92.9% accuracy still outperforms many fully trained methods on ModelNet40, e.g., 90.5% by PointNet++ [36], 92.8% by DensePoint [28], etc.
The experiments fully demonstrate the superior 3D representation capacity of our Point-M2AE.
4.2 Downstream Tasks
For fine-tuning on downstream tasks, we discard the hierarchical decoder in pre-training and append different heads onto the hierarchical encoder for different tasks.
Shape Classification.
We fine-tune Point-M2AE on two shape classification datasets: the widely adopted ModelNet40 [53] and the challenging ScanObjectNN [45].
For local spatial attention layers, we set the ball queries’ radii of 3-scale point clouds as {0.32, 0.64, 1.28}. We follow Point-BERT to use the voting strategy [29] for fair comparison on ModelNet40.
To handle the noisy spatial structures, we increase k of k -NN into {32, 16, 16} for ScanObjectNN to encode local patterns with larger receptive fields.
As reported in Table 2, Point-M2AE achieves 94.0% accuracy on ModelNet with 1024 points per sample, which surpasses Point-BERT fine-tuned with 1024 points by +0.8% and 8192 points by +0.2%.
For ScanObjectNN in Table 3, our Point-M2AE outperforms the secondbest Point-BERT by a significant margin, +3.79%, +0.69%
and +3.36%, respectively for the three splits, indicating our great advantages under complex circumstances by multi-scale encoding.
As
ScanObjectNN of real-world scenes has a large semantic gap with the pre-trained synthetic ShapeNet,
Point-M2AE also exerts strong transfer ability to understand point clouds of another domain.
Part Segmentation.
We evaluate Point-M2AE for part segmentation on ShapeNetPart [58], which predicts per-point part labels and requires detailed understanding for local patterns.
We adopt an extremely simple segmentation head to validate the effectiveness of our pre-training for well capturing both high-level semantics and fine-grained details.
By the hierarchical encoder, we obtain [Table] [Table] +
[Table]
NetV2 [10]. We report the performance (%) of self-supervised learning methods based on VoteNet [13] and 3DETR-m [32] [Table] 3 -scale point tokens of {512, 256, 64} points, and perform feature propagation in PointNet++ [36] to independently upsample the tokens into 2048 points of the input point cloud.
Then, we concatenate the upsampled 3 -scale features for each point and predict the part label by stacked linear projection layers.
As reported in Table 4.2, Point-M2AE achieves the best 86.51% instance mIoU with the simple segmentation head, surpassing the second-best Point-BERT by +0.91%.
Note that Point-BERT [60] and other methods [35, 36, 50] adopt hierarchical segmentation heads to progressively upsample the point features from intermediate layers, while our head contains no hierarchical structure and only relies on the pre-trained encoder to capture the multi-scale information of point clouds.
The results fully demonstrate the significance of Point-M2AE’s multi-scale pre-training to segmentation tasks.
Few-shot Classification.
We conduct experiments for few-shot classification on ModelNet40 [53] to evaluate the performance of Point-M2AE with limited fine-tuning data.
As reported in Table 4.2,
Point-M2AE achieves the best performance for all four settings, and surpasses Point-BERT by +2.2%, +2.0%, +1.3%, and +2.7%, respectively.
Our approach also shows smaller deviations than other transformer-based methods, which indicates Point-M2AE has learned to produce more universal 3D representations for well adapting to downstream tasks under low-data regimes. 3D Object Detection To further evaluate our hierarchical pre-training on 3D object detection, we apply Point-M2AE to serving as the feature backbone on the indoor ScanNetV2 [10] dataset.
We select 3DETR-m [32] as our baseline, which consists of a 3-block encoder and a transformer decoder.
Considering the quite different dataset statistics, e.g., 2k input points for ShapeNet [7] and 50k input points for ScanNetV2, we adopt the same encoder architecture with that of 3DETR-m, and keep our hierarchical decoder with skip connections unchanged for self-supervised pre-training on ScanNetV2.
More details of models and training are in Appendix.
As reported in Table 4.2, compared to training from scratch, our hierarchical pre-training boosts the performance of 3DETR-m by +1.34% AP 25 and +1.29% AP 50 .
The experiments demonstrate the effectiveness of Point-M2AE to learn multi-scale point cloud encoding for object detection and its potential to benefit a wider range of 3D applications. [Figure] [Table]
[Table] 4.3 Ablation Study
We conduct ablation study by modifying one of the components at a time during pre-training and explore the best masking strategy.
We report the classification accuracy on ModelNet40 [53] by linear SVM to evaluate the pre-trained representations.
For downstream tasks, we train the network from scratch to validate the significance of our hierarchical pre-training.
Hierarchical Modules.
As reported in Table 7, on top of our final solution, Point-M2AE, in the first row, we respectively experiment with removing the hierarchical encoder, hierarchical decoder, and skip connections from our framework.
Specifically, we replace our encoder and decoder with 1-stage plain architectures similar to MAE, which contains 15 and 2 vanilla transformer blocks, respectively.
We observe the absence of multi-stage structures either in encoder or decoder hurts the performance, and the hierarchical encoder plays a better role than the decoder.
Also, the skip connections well benefits the accuracy by providing complementary information for the decoder.
Masking Strategy.
In Table 8, we report Point-M2AE with different mask settings.
Without the multi-scale masking, we randomly generate masks at each scale, which leads to fragmented visible regions for all scales.
With this strategy, the network would ‘peek’ different parts of the point cloud at different stages, which disturbs the representation learning and harms the performance by -4.5 % accuracy.
For different mask ratios, we find the 80 % ratio performs the best to build a properly challenging pretext task for self-supervised pre-training.
[Table]
[Table]
[Table]
With and Without Pre-training.
We report the performance of Point-M2AE on downstream tasks with and without the pre-training in Table 9.
For ‘w/o’, we randomly initialize the parameters and train the network from scratch.
As shown, the pre-training can largely boost the performance on four datasets respectively by +1.5 % , +2.5 % , +3.8 % , and +1.1 % , which indicates the superiority and significance of our hierarchical pre-training.
[Figure]
Multi-scale Masking. To ease the understanding of our multi-scale masking strategy, we visualize the input point cloud, the 3-scale representations, the reconstructed point cloud, and 3-scale masked point clouds, respectively in each row of Figure 5.
As shown, different scales can represent different levels of geometric details and semantics for point clouds. By the multi-scale masking strategy, we observe the visible positions of masked point clouds are block-wise within one scale and consistent across scales, which is significant for our hierarchical pre-training.
Fine-grained Information.
The fine-grained 3D structures, e.g., thin branches of a plant, fingers of a human, engines of a plane, are significant to distinguish similar shapes and can be well encoded by our hierarchical representations. In Figure 4, we compare our Point-M2AE with multi-stage, [H], and single-scale, [NH], architectures by visualizing their extracted point features and reconstructed point clouds during pre-training. In contarst to the single-scale network, the multi-scale one indicates higher feature responses in the fine-grained structures and reconstructs more accurate spatial details.
Conclusion
We propose Point-M2AE, a multi-scale masked autoencoder for self-supervised pre-training on 3D point clouds.
With a hierarchical architecture, Point-M2AE learns to produce powerful 3D representations by encoding multi-scale point clouds and reconstructing the masked coordinates from a global-to-local upsampling scheme.
Extensive experiments have demonstrated the superiority of Point-M2AE to be a strong 3D representation learner. For limitations and future work, we will focus on applying Point-M2AE for wider 3D applications, e.g., outdoor and open-world scene understanding. We do not foresee negative social impact from the proposed work.
Acknowledgement.
This work is supported by the National Natural Science Foundation of China (Grant No. 62206272), Shanghai Committee of Science and Technology (Grant No. 21DZ1100100),
Centre for Perceptual and Interactive Intelligence Limited, and the General Research Fund through the Research Grants Council of Hong Kong (Grant No. 14204021, 14207319).
Checklist
For all authors... (a) Do the main claims made in the abstract and introduction accurately reflect the paper’s contributions and scope?
[Yes] (b) Did you describe the limitations of your work?
[Yes] (c) Did you discuss any potential negative societal impacts of your work?
[Yes] (d) Have you read the ethics review guidelines and ensured that your paper conforms to them?
[Yes] 2.
If you are including theoretical results... (a) Did you state the full set of assumptions of all theoretical results?
[Yes] (b) Did you include complete proofs of all theoretical results?
[Yes] 3.
If you ran experiments... (a) Did you include the code, data, and instructions needed to reproduce the main experimental results (either in the supplemental material or as a URL)?
[Yes] (b) Did you specify all the training details (e.g., data splits, hyperparameters, how they were chosen)?
[Yes] (c) Did you report error bars (e.g., with respect to the random seed after running experiments multiple times)?
[Yes] (d) Did you include the total amount of compute and the type of resources used (e.g., type of GPUs, internal cluster, or cloud provider)?
[Yes] 4.
If you are using existing assets (e.g., code, data, models) or curating/releasing new assets... (a) If your work uses existing assets, did you cite the creators?
[Yes] (b) Did you mention the license of the assets?
[N/A] (c) Did you include any new assets either in the supplemental material or as a URL?
[Yes] (d) Did you discuss whether and how consent was obtained from people whose data you’re using/curating?
[N/A] (e) Did you discuss whether the data you are using/curating contains personally identifiable information or offensive content?
[N/A] 5.
If you used crowdsourcing or conducted research with human subjects... (a) Did you include the full text of instructions given to participants and screenshots, if applicable?
[N/A] (b) Did you describe any potential participant risks, with links to Institutional Review Board (IRB) approvals, if applicable?
[N/A] (c) Did you include the estimated hourly wage paid to participants and the total amount spent on participant compensation?
[N/A] Token
Merging
Token Merging 𝑆 - th Stage
Encoder 𝑇 !" #$ Token Emebeding 2 - nd Stage
Encoder 1 - st Stage
Decoder
Token
Propog.
(𝑆 − 1) - th
Stage
Decoder … … … …
Reconstuction Head Skip Connection 𝑇 !
$ {𝐻 %& , 𝐻 %$ } {𝐻 !"
#& , 𝐻 !"
#$ } {𝐻 #& , 𝐻 #$ }
Reconstructed 𝑃 %→# 1 - st Stage
Encoder
Multi–Scale Masking
Concatenate
[Figure]
… 𝑃 #$ 𝑃 %$ 𝑃 !
$ 𝐻 !"
#& … … 𝑆 - th Scale 𝑃 !
[Figure]
{𝐻 %& , 𝐻 %$ }
[Figure]
7.1 Additional Related Work
Transformers.
Transformers [48] are first proposed in natural language processing to capture the inter-word relations in a long sentence, and have dominated most language tasks [11, 38, 39, 5].
Motivated by this, Vision Transformers [14] and DETR [6] introduce the transformer architecture into computer vision, and stimulate follow-up works to effectively apply transformers to a wide range of vision tasks, such as image classification [44, 30, 31], object detection [67, 65, 16], semantic segmentation [54] and so on [26].
For 3D understanding, transformer-based networks are also adopted for shape classification, part segmentation [17, 64], 3D object detection from point clouds [32] and monocular images [62].
As a pioneer work, PCT [17] utilizes neighbor embedding layers to aggregate local features and processes the downsampled point clouds by transformer blocks.
PoinTr [59] and Point-BERT [60] divide point clouds into multiple spatial local patches and utilize standard transformers of plain architectures to encode the patches.
On top of that, we propose Point-M2AE with a hierarchical encoder-decoder transformer, which is designed for MAE-style self-supervised point cloud pre-training
and can well capture the multi-scale features of point clouds.
7.2 Implementation Details
Positional Encodings.
To complement the 3D spatial information, we apply positional encodings to all attention layers in Point-M2AE.
For point tokens T vi
or { H mi , H vi } at stage i , we utilize a two-layer MLP to encode its corresponding 3D coordinates P vi or { P mi , P vi } into C i -channel vectors, and element-wisely add them with the token features before feeding into the attention layer.
Self-supervised Pre-training.
Following previous works [2, 49], we sample 2,048 points from each 3D shape in ShapeNet [7] for pre-training Point-M2AE.
We pre-train the network forepochs with a batch size 128 and adopt AdamW [24] as the optimizer.
We set the initial learning rate and the weight decay as 10 − 4 and 5 × 10 − 2 , respectively, and adopt the cosine scheduler along with a 10-epoch warm-up.
We utilize the common random scaling and random translation for data augmentation during pre-training.
For linear SVM on ModelNet40 [53], after the hierarchical encoder, we use both max and average pooling to aggregate the features between point tokens, and sum the two pooled features as the encoded global feature of the point cloud.
Shape Classification.
We fine-tune Point-M2AE on two datasets for shape classification.
The widely adopted ModelNet40 [53] consists synthetic 3D shapes of 40 categories, in which 9, samples are for training, and the other 2,468 are for validation.
The challenging ScanObjectNN [45] contains 11,416 training and 2,882 validation point clouds of 15 categories, which are captured from the noisy real-world scenes and thus have domain gaps with the pre-trained ShapeNet [7] dataset.
ScanObjectNN is divided into three splits for evaluation, OBJ-BG, OBJ-ONLY and PB-T50-RS, where PB-T50-RS is the most difficult for recognition.
We respectively sample 1,024 and 2, points from each 3D shape of ModelNet40 and ScanObjectNN, and utilize only 3-channel coordinates
[Figure]
[Figure]
as inputs.
The same training settings are adopted for the two datasets.
We fine-tune the network for 300 epochs with a batch size 32, and set the learning rate as 5 × 10 − 4 with a weight decay 5 × 10 − 2 .
For other training hyper-parameters, we keep them the same as the pre-training experiment.
Part Segmentation.
ShapeNetPart [58] contains 16,881 synthetic 3D shapes of 16 object categories and 50 part categories, where 14,007 and 2,874 samples are respectively for training and validation.
We sample 2,048 points from each shape as inputs, and predict the part categories for all points.
We fine-tune Point-M2AE for 300 epochs with a batch size 16 and set the learning rate as 2 × 10 − 4 with a weight decay 0.1.
Other training settings are the same as the shape classification experiments.
Few-shot Classification.
We follow previous works [60, 2, 49], to adopt the “ K -way N -shot” settings on ModelNet40 [53] for few-shot classification.
We randomly select K out of 40 classes and sample N +20 3D shapes per class, N for training and 20 for testing.
We evaluate Point-M2AE on four few-shot settings: 5-way 10-shot, 5-way 20-shot, 10-way 10-shot, and 10-way 20-shot.
To alleviate the variance of random sampling, we conduct 10 independent runs for each few-shot setting and report the average accuracy and standard deviation.
We adopt the same training settings as shape classification experiments but only fine-tune Point-M2AE for 150 epochs.
3D Object Detection.
We pre-train and fine-tune Point-MAE for 3D object detection both on
ScanNetV2 [10].
The dataset contains 1,513 scanned indoor scenes with axis-aligned 3D bounding boxes for 18 categories, 1,201 for training and 312 for validation.
As we adopt the same encoder architecture in 3DETR-m [32] with 2 stages, we set the stage number of decoder as 1, which accords with the regulation of S -stage encoder and ( S − 1) -stage decoder.
We pre-train Point-M2AE for 1,080 epochs with the learning rate 5 × 10 − 4 , and follow other hyper-parameters in the experiment of pre-training on ShapeNet [7].
For fine-tuning, we adopt the same settings as training 3DETR-m from scratch in the original paper [32] for fair comparison.
[Figure]
[Figure]
7.3 Additional Visualization
Multi-scale Masking Pipeline.
In Figure 6, we show the simplified masking pipeline, which clearly illustrates how the mask is generated at the highest scale and back-projects to precedent layers.
Learning Curves.
To compare the training with and without pre-training, we present their loss and accuracy curves on ModelNet40 [53] and ScanObjectNN [45].
As shown in Figure 7.2, the curves with pre-training converge faster and achieve higher classification accuracy than the curves without pre-training.
This fully demonstrates the effectiveness of Point-M2AE’s hierarchical pre-training.
t-SNE [47].
In Figure 8, we visualize the features distribution extracted by Point-M2AE before and after fine-tuning on ModelNet40 [53].
As shown, Point-M2AE right after pre-training can already produce discriminative features for different categories without fine-tuning.
Then, the fine-tuning further clusters the features of the same category and separates those of different categories.
Local Spatial Attention.
We visualize the attention weights with and without the local attention on ModelNet40 [53] in Figure 9.
As shown, with the local attention, the query point (marked by star) only has large attention values within a local spatial range (marked by yellow dotted circles), other than scattering over the entire 3D shape (marked by yellow arrows).
This enables each point to concentrate more on neighboring local features in early stages for capturing detailed structures.
Part Segmentation Results.
The fine-grained 3D patterns learned by our hierarchical architecture largely benefits 3D downstream tasks with dense prediction, e.g., part segmentation.
In Figure 10, we compare our Point-M2AE with multi-stage, [H], and single-scale, [NH], architectures by visualizing the extracted point features and the segmentation results on ShapeNetPart [58].
As shown, the multi-scale architecture predicts more fine-grained part labels for the objects.
[Table]
[Table]
7.4 Additional Ablation Study
Transformer Stages.
Each stage in Point-M2AE encodes the corresponding scale of the point cloud.
In Table 11, we explore the best stage number of both encoder and decoder for learning multi-scale point cloud features during pre-training.
As reported, the 3-stage encoder with 2-stage decoder performs the best.
If the decoder also has three stages as the encoder
[Table]
and reconstructs the point cloud at the 1 -th scale, the performance would be adversely influenced.
Transformer Blocks.
In each stage
[Table]
we apply several transformer blocks to encode features of the point tokens.
We experiment with different block numbers in each stage of the encoder and decoder in
Table 12.
We observe that stacking five blocks per stage for encoder and only one block for decoder achieve the highest accuracy.
This asymmetric architecture enforces the encoder to contain more semantic information of the point cloud, which benefits the transfer capacity of Point-M2AE.
adopt max and average pooling to obtain global features and sum them as the input classification head
[Table]
[Table]
w/o Local Atten.
[Table]
Fine-tuning Settings.
For fine-tuning on downstream classification tasks, we obtain the global feature from point tokens by pooling, and apply a MLP-based head for classification.
In Table 10, we investigate different pooling operations along with the class token method to integrate features of all point tokens.
Referring to [14], we concatenate a learnable class token with the point tokens at the 1st scale, and feed them into the hierarchical encoder.
After encoding, we directly utilize this class token as the global feature for classification.
As reported, ‘max + ave.
pooling’ performs the best for fine-tuning, which is our default in all shape classification experiments.
We also show the classification results without local spatial attention layers, which illustrates the significance of encoding local features with increasing receptive fields.
[Table]
Pre-training Loss Functions.
Except for the Chamfer Distance loss [15] with L normalization (L2-norm CD), we further evaluate the L1-normalized Chamfer Distance loss (L1-norm CD), Earth Mover’s
Distance loss (EMD), and their combinations.
As shown in the table 13, the original
L2-norm CD loss performs better than all other compared losses.
We denote the reconstructed and ground-truth point sets as
S 1 and S 2 .
Compared to EMD loss that requires an optimal mapping for every point between S 1 and S 2 , L2-norm CD loss only optimizes the separate pair-wise distances and is thus more robust to the variation of 3D structures.
Compared to L1-norm CD loss, L2 norm of Euclidean Distances can better depict spatial distribution and pay more attention to the far away points.