Self-Supervised Pre-Training of 3D Point Cloud Networks with Image Data
Abstract: Reducing the quantity of annotations required for supervised training is vital when labels are scarce and costly.
This reduction is especially important for semantic segmentation tasks involving 3D datasets that are often significantly smaller and more challenging to annotate than their image-based counterparts.
Self-supervised pre
-training on large unlabelled datasets is one way to reduce the amount of manual annotations needed.
Previous work has focused on pre-training with point cloud data exclusively; this approach often requires two or more registered views.
In the present work, we combine image and point cloud modalities, by first learning self-supervised image features and then using these features to train a 3D model.
By incorporating image data, which is often included in many 3D datasets, our pre-training method only requires a single scan of a scene.
We demonstrate that our pre-training approach, despite using single scans, achieves comparable performance to other multi-scan, point cloud-only methods.
Introduction
The two most common representations used for robotic scene understanding tasks are images and point clouds .
Images are dense and feature-rich, but their lack of depth information limits how well they can be used alone to model 3D environments.
Although point clouds circumvent many of the limitations inherent to images, they are notoriously hard to annotate.
This annotation difficulty is a key limiting factor for many state-of-the-art data-driven scene understanding algorithms that require large, annotated datasets [1, 2, 3, 4].
Generating labels requires human annotators to manipulate the clouds by zooming, panning and rotating to select points of interest.
Annotators then have to separate points that belong to a particular object from the background and other occluded points.
The difficulty of annotating point clouds has resulted in considerable effort and labelling times for existing datasets.
For example, the SemanticKITTI dataset [5], which has 518 square tiles ofmetres length each, required 1,700 hours to label.
ScanNet [6], which has 1,600 reconstructed scenes of indoor rooms, took about 600 hours to label [7].
Despite the substantial labelling time, 3D datasets are still significantly smaller than comparable image-only datasets.
The labelling effort required for 3D data is the reason we seek, herein, to reduce the volume of annotations necessary.
Previous work [8, 9, 7] has demonstrated that self-supervised contrastive pre-training is an effective approach for improving performance on scene understanding tasks with raw unlabelled point cloud data.
A key limitation of existing 3D pre-training methods is that they neglect the information-rich images that are often available as part of 3D datasets.
We propose a pre-training method that leverages images as an additional modality, by learning self-supervised image features that can be used to pre-train a 3D model.
Our learning method is split into two stages.
The first stage (Stage 1) learns image features using a self-supervised contrastive learning framework.
The second stage (Stage 2) applies the same contrastive learning framework to pre-train a 3D model by making use of the 2D features learned in Stage 1.
By incorporating visual data into the pre-training pipeline, we obtain a notable advantage: only a single point cloud scan and the corresponding image are required during pre-training.
The use of a single scan obviates the need for two or more overlapping 3D views, which are required by many point-only approaches.
The use of a single scan improves the scalability of our approach, since we require raw 3D data only, as opposed to multiple scans that have been aggregated using a robust mapping pipeline for data association.
Through extensive experimentation, we compare our pre-training approach with existing point cloud-only approaches on several downstream tasks and across several datasets.
We find that our method performs competitively with methods that use multiple overlapping point cloud scans, despite having access to single scans and images only.
In short, we make the following contributions:
• we describe a self-supervised method for extracting visual features from images and using them as labels to pre-train 3D models via a contrastive loss; • we provide visualizations demonstrating that the features capture structure, such as lines and surface patches, present in the input image and point cloud; • we demonstrate that a model trained using features learned from raw images improves performance on 3D segmentation and object detection tasks.
Related Work
Our approach builds upon work on self-supervised contrastive learning using images and point clouds.
These techniques typically produce two augmented versions of each data point by applying a series of transformations with different sets of parameters.
Subsequently, a contrastive loss minimizes the distance, specified by a given metric, between model outputs of the augmented positive pair while maximizing the distance of the pair to other ‘dissimilar’ data points, referred to as negative samples.
Most algorithms implement the contrastive loss as an InfoNCE (Info Noise Contrastive
Estimation) loss function [10], as defined by Equation (1) below.
Here, we provide a brief summary of algorithms that use this approach to pre-train image and point cloud networks.
Contrastive Learning in 2D. Self-supervised pre-training using image features has proven to be a successful approach for downstream image-classification tasks, achieving comparable performance to supervised pre-training, as demonstrated by SimCLR [11].
Variations of this approach, such as using memory banks [12], momentum encoders [13], stop-gradients [14, 15], clustering [16, 17], and pseudo-labels [18] have also proven effective.
For segmentation tasks, self-supervised pre-training of pixel-level features [19, 20, 21] offers improved downstream performance when compared to image-level features.
Contrastive Learning in 3D.
The architectures used for pre-training image networks can be adapted to work with point cloud networks.
PointContrast [8] is an early example that augments two overlapping 3D scans with random rotations and colour transformations.
Corresponding points between the two transformed scans form a positive pair, while all other points are considered as negative samples in the contrastive loss.
Contrastive Scene Contexts (CSC) [9] extends PointContrast with an additional partitioning scheme.
DepthContrast [7] augments a single scan and learns feature vectors at the scan-level instead of at the point-level.
Multimodal Contrastive Learning.
By projecting 3D points into images, algorithms such as
Pri3D [22] and SimIPU [23] leverage 3D data when pre-training models for downstream 2D scene understanding tasks.
In [22] and [23], the pixel-point pairs that map to the same physical 3D location are used as positive pairs in a (pixel-only) contrastive loss.
Alternatively, pre-training with image data can improve downstream performance on 3D scene understanding tasks.
CrossPoint [24] applies a contrastive learning objective to global scene features generated from synthetic point clouds of computer-modelled objects and corresponding rendered images, while Superpixel-driven Lidar Representations (SLidR) [25] uses point-pixel matches from outdoor driving datasets.
S t a g e S t a g e
T2D UNet
Sparse 3D UNet
T
Input
T
Augmentation Model
Features
Point Cloud
Image + - - +
Query Point
Corresponding Point
Non-Corresponding Point
Forward Pass
Backward Pass
Shared Weights
Feature Mapping
Methodology
Our method can be split into two distinct and sequential stages, as shown in Figure 1.
The first stage applies a 2D CNN to generate image features at the pixel level, based on a contrastive loss on the individual pixels.
The second stage then uses these image features to train a 3D model.
Stage 1.
We utilize the ResUNet architecture from Godard at al.
[26] to extract 2D pixel-level features and modify the decoder to compute a 16-dimensional feature vector for each pixel in the input image.
We pre-load the weights of the encoder from a model trained on the large ImageNet corpus [27].
To pre-train the full model, images are selected from a desired pre-training dataset.
We follow roughly the same data augmentation strategy and use the same InfoNCE loss function as SimCLR [11], except that we compare pixel-level features instead of image-level features.
Pixels that map back to the same coordinates in the original image are considered as positive samples, while all others, including those from other images in a batch, are considered as negative samples.
Stage 2.
In this stage, we pre-train a 3D point-level feature extraction model using pixel-level features from Stage 1.
We use the 3D model from [8] and treat the final 1 × 1 convolution as the decoder, which we initialize from scratch for training on downstream tasks.
Each point cloud is also augmented so that the model learns to be invariant to differences in orientation, point density and colour fluctuations.
The 2D network is held frozen and the fixed 2D features act as a target for the 3D model to learn.
Mapping between 3D points and 2D features is done via perspective projection.
Each pixel-point match forms a positive pair ( z i , z + i ) , where z i and z
+ i represent the feature vectors of a 3D point and the corresponding pixel, respectively.
The feature vector of any other point is considered a negative sample and represented as z − j .
We use an InfoNCE loss function, defined as
[Equation]
where τ is a smoothing parameter and K represents the number of negative samples.
The final parameters of the 3D model are then used on downstream 3D scene understanding tasks.
Experimental Results
We compare our method to three point-only pre-training methods: PointContrast [8], Contrastive
Scene Contexts (CSC) [9] and DepthContrast [7].
We investigate the performance gain of all pre-training algorithms on three downstream tasks: semantic segmentation, instance segmentation, and object detection.
These tasks are applied on three datasets of indoor office environments: ScanNet [6], S3DIS [28], SunRGBD [29, 30, 31, 32]; as well as one outdoor driving dataset, SemanticKITTI [5, 33].
Pre-training is performed with the ScanNet dataset and all downstream tasks are run using the pipeline and parameters from CSC [9]. [Figure] [Table]
Feature Visualization.
We verify visually that the 2D features learned using our 2D pre-training scheme have some connection to the original image by following the approach from [34].
Figure 2a shows a comparison between heatmap visualizations and original images, where there is a clear mapping between the input image and the output features.
The heatmaps tend to ‘highlight’ structures such as lines and surface patches that are present in the input images.
Figure 2b shows the relation between the 2D and 3D features.
There is a clear mapping between the image and the corresponding point cloud heatmaps.
This correlation verifies that the 3D model has indeed learned to ‘mimic’ the features of the 2D model.
Figure 2c displays the difference between randomly initialized and pre-trained features.
Features that are pre-trained follow visible object boundaries.
Downstream Performance.
A comparison of the downstream performance with different pretraining methods is shown in Table 1.
We find that our algorithm is the best performing of the single-scan methods and comparable to multi-scan methods, often outperforming PointContrast.
Interestingly, pre-trained weights on the indoor ScanNet dataset were able to improve performance on the outdoor SemanticKITTI dataset.
However, those same weights offered no improvement when also fine-tuned on ScanNet segmentation tasks, perhaps due to the lack of new information available between pre-training and fine-tuning.
The improvement in ScanNet object detection could be due to new information at the object-level which was not available during point-level pre-training.
Conclusion
In this short paper, we presented a framework for learning dense pixel-level features from raw unlabelled images, which are then used as targets in a contrastive loss to pre-train a 3D model.
Our visualization showed that the 2D features were successfully ’mimicked’ by the 3D model.
We found that our method was the best-performing single-scan method and performed comparably to other multi-scan methods.
These results confirm that incorporating visual data into the pre-training process is a viable strategy to reduce the need for registered point clouds as part of pre-training.
By relaxing this requirement, our method scales more readily when compared to other pre-training techniques that require multiple (registered) scans for contrastive learning.