Publications / 2023 / Weighted Point Cloud Normal Estimation

Weighted Point Cloud Normal Estimation

W Wang, X Lu, D Shao, X Liu, R Dazeley, A Robles-Kelly, Wei Pan
IEEE International Conference on Multimedia and Expo (ICME) 2023

In one sentenceLearning how much each neighbour should count—more for points whose normals agree with the central point’s—plus contrastive pre-training on patch–normal pairs gives more accurate point cloud normals on noisy shapes with sharp features.

The problem

Raw point clouds from scanners carry no normals and are often corrupted by noise, yet accurate normals help downstream tasks such as noise filtering and surface reconstruction. The classic approach, PCA, computes each point’s normal from the covariance of its neighbours; it is simple but tends to blur details and is fragile on noisy data. Learning-based regressors such as PCPNet and Nesti-Net are more robust to noise, but they ignore that neighbouring points contribute differently to the central point’s normal, which can make them inaccurate on complex surfaces. Surface-fitting methods such as DeepFit and AdaFit adapt well to complicated geometry but become less robust under severe noise.

A yellow point cloud of a 3D model with a circled patch; panel (a) regresses the patch normal with uniform weights and the red predicted arrow deviates from the green ground truth; panel (b) colours the points by weight and the red arrow nearly matches the green; error maps (c) and (d) show much less error for the weighted version.
Regressing a patch’s normal with uniform weights (a) gives a larger normal error (c) than predicting point-wise weights first and regressing with them (b, d). Fig. 1 of the paper.

How it works

The method regresses the normal of each point from a local patch around it, and it learns to weight the points of that patch by how relevant they are to the central point. Training has two stages: a contrastive pre-training stage that teaches the point encoder and weight regressor to relate patches to normals, and a normal estimation stage that fine-tunes them together with a normal regressor.

  1. A local patch. For each point, the patch contains its N nearest neighbours (N = 700 in the experiments). The patch is normalised to a unit sphere and aligned with a rotation R computed by PCA on the patch.
  2. Uniform weights fall short. Regressing the normal with every point weighted equally lets less relevant neighbours pull the estimate away from the true normal.
  3. Learned point weights. A point encoder built from DGCNN’s EdgeConv layers produces per-point features, and an MLP weight regressor predicts a weight for each point. The training target is the squared cosine between the central point’s ground-truth normal and each neighbour’s ground-truth normal, so points with similar normals count as more relevant. The weights multiply the features element-wise, F′ = W ⊙ F.
  4. Contrastive pre-training. A second branch encodes the central point’s ground-truth normal with MLPs. Both features pass through projection heads, and a temperature-scaled cross-entropy loss pulls each patch–normal pair together while pushing apart the other pairs in the batch. The weight loss is added to this loss.
  5. Weighted normal regression. The pre-trained encoder and weight regressor are fine-tuned with a normal regressor of fully connected layers, trained with a cosine loss plus the weight loss. The predicted normal is normalised and rotated back with R⁻¹.
Pipeline diagram. Left, contrastive pre-training: an input patch and a ground-truth normal are normalised and rotated, passed through a point encoder with weight regressor and a normal encoder, then projection heads, giving z_i and z_j for contrastive training. Right, weighted normal regression: the pre-trained point encoder and weight regressor produce weighted features for a normal regressor that outputs the predicted normal after rotation by R inverse.
Method overview: dual-branch contrastive pre-training (left) and weighted normal regression with the pre-trained point encoder and weight regressor (right). Fig. 2 of the paper.

Results

The synthetic test set contains 19 PCPNet shapes, each with four Gaussian noise levels (0.36 %, 0.6 %, 0.84 % and 1.2 % of the bounding-box diagonal); the method is compared with PCA, the surface-fitting methods DI (Deep Iterative), DeepFit and AdaFit, and the regression methods PCPNet and Nesti-Net. At the lowest noise level DeepFit is slightly ahead (13.18° vs 13.25°); the method’s advantage appears as the noise grows. The ablation shows that both ideas matter: without the weight regression the error is 14.70°, and without the contrastive pre-training it is 18.21°.

On raw scans from the Kinect Fusion dataset, compared against the clean normals the dataset provides, the method has lower error than AdaFit and Nesti-Net on the three shapes shown. On the Paris-rue-Madame street scans, where no ground truth exists, its normals are tidier on complex areas such as a window lattice while keeping features such as a building eave and a car light. Used as input to point cloud filtering, its normals give the best filtering result by Chamfer distance, and in Poisson reconstruction of a sharp Star shape they give a more accurate tip.

Grid of Boxunion shapes coloured by normal error from blue (low) to red (high), at 0.60 %, 0.84 % and 1.20 % noise, for Ours, AdaFit, DeepFit and Nesti-Net, with the RMSE under each; Ours has the lowest number in every row.
Normal error on the Boxunion shape at three noise levels; Ours has the lowest RMSE in each row. Fig. 3 of the paper.
Three Kinect Fusion scans (two busts and a geometric shape) shown clean, noisy, and as error maps for Ours, AdaFit and Nesti-Net, with RMSE values; Ours has the lowest value on each shape.
Real-world scans from the Kinect Fusion dataset: normal error of each method against the dataset’s clean normals. Fig. 4 of the paper.
Street-scene point clouds of a building facade and parked cars rendered as surfels coloured by normal orientation, with zoomed boxes, for Ours, AdaFit, DeepFit and Nesti-Net.
Estimated normals on Paris-rue-Madame street scans, coloured by orientation, with zoomed regions. Fig. 5 of the paper.

Cite

@inproceedings{w2023weighted,
  title={Weighted Point Cloud Normal Estimation},
  author={W Wang, X Lu, D SHAO, X Liu, R Dazeley, A Robles-Kelly, W Pan},
  booktitle={IEEE International Conference on Multimedia and Expo (ICME 2023)},
  year={2023},
  doi={10.1109/icme55011.2023.00345}
}
Type
Paper Conference
Topic
Geometry Processing
Venue
IEEE International Conference on Multimedia and Expo (ICME) 2023
Year
2023
DOI