Table of Contents
Fetching ...

Score-Based Point Cloud Denoising

Shitong Luo, Wei Hu

TL;DR

This work reframes point cloud denoising as gradient ascent on the log-density of the noise-convolved distribution $q(\mathbf{x})=(p * n)(\mathbf{x})$, estimating the score $\nabla_{\mathbf{x}} \log q(\mathbf{x})$ from noisy observations. It introduces a score-estimation network with a feature extraction backbone and a localized score estimator, trained via a neighborhood-focused objective to align predicted scores with ground-truth neighborhood scores. Denoising is performed by ensemble gradient steps using a robust local score field, mitigating shrinkage and outliers and enabling a direct path to the underlying clean surface. Experiments on synthetic Gaussian and LiDAR-like noise show superior performance over state-of-the-art methods, with additional potential for point cloud upsampling, and the approach generalizes beyond the training noise model. The authors provide code to facilitate adoption and extension to related 3D tasks.

Abstract

Point clouds acquired from scanning devices are often perturbed by noise, which affects downstream tasks such as surface reconstruction and analysis. The distribution of a noisy point cloud can be viewed as the distribution of a set of noise-free samples $p(x)$ convolved with some noise model $n$, leading to $(p * n)(x)$ whose mode is the underlying clean surface. To denoise a noisy point cloud, we propose to increase the log-likelihood of each point from $p * n$ via gradient ascent -- iteratively updating each point's position. Since $p * n$ is unknown at test-time, and we only need the score (i.e., the gradient of the log-probability function) to perform gradient ascent, we propose a neural network architecture to estimate the score of $p * n$ given only noisy point clouds as input. We derive objective functions for training the network and develop a denoising algorithm leveraging on the estimated scores. Experiments demonstrate that the proposed model outperforms state-of-the-art methods under a variety of noise models, and shows the potential to be applied in other tasks such as point cloud upsampling. The code is available at \url{https://github.com/luost26/score-denoise}.

Score-Based Point Cloud Denoising

TL;DR

This work reframes point cloud denoising as gradient ascent on the log-density of the noise-convolved distribution , estimating the score from noisy observations. It introduces a score-estimation network with a feature extraction backbone and a localized score estimator, trained via a neighborhood-focused objective to align predicted scores with ground-truth neighborhood scores. Denoising is performed by ensemble gradient steps using a robust local score field, mitigating shrinkage and outliers and enabling a direct path to the underlying clean surface. Experiments on synthetic Gaussian and LiDAR-like noise show superior performance over state-of-the-art methods, with additional potential for point cloud upsampling, and the approach generalizes beyond the training noise model. The authors provide code to facilitate adoption and extension to related 3D tasks.

Abstract

Point clouds acquired from scanning devices are often perturbed by noise, which affects downstream tasks such as surface reconstruction and analysis. The distribution of a noisy point cloud can be viewed as the distribution of a set of noise-free samples convolved with some noise model , leading to whose mode is the underlying clean surface. To denoise a noisy point cloud, we propose to increase the log-likelihood of each point from via gradient ascent -- iteratively updating each point's position. Since is unknown at test-time, and we only need the score (i.e., the gradient of the log-probability function) to perform gradient ascent, we propose a neural network architecture to estimate the score of given only noisy point clouds as input. We derive objective functions for training the network and develop a denoising algorithm leveraging on the estimated scores. Experiments demonstrate that the proposed model outperforms state-of-the-art methods under a variety of noise models, and shows the potential to be applied in other tasks such as point cloud upsampling. The code is available at \url{https://github.com/luost26/score-denoise}.

Paper Structure

This paper contains 27 sections, 9 equations, 8 figures, 4 tables.

Figures (8)

  • Figure 1: An illustration of the proposed point cloud denoising method. We first estimate the score of the noise-convolved distribution $\nabla_{\bm{x}} \log[ (p * n)({\bm{x}}) ]$ from the noisy point cloud. Then, we perform gradient ascent using the estimated score to denoise the point cloud.
  • Figure 2: Illustration of different classes of deep-learning-based point cloud denoising methods.
  • Figure 3: Illustration of the proposed network architecture.
  • Figure 4: Illustration of the denoising theory.
  • Figure 5: Visual comparison of denoising methods under (a) Gaussian noise, (b) simulated LiDAR noise. Points colored yellower are farther away from the ground truth surface.
  • ...and 3 more figures