This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Gradient-based Point Cloud Denoising with Uniformity

Tian-Xing Xu,Yuan-Chen Guo, Yong-Liang Yang, and Song-Hai Zhang Tian-Xing Xu, Yuan-Chen Guo, and Song-Hai Zhang are with the Department of Computer Science and Technology, Tsinghua University, Beijing, China, 100084. Yong-Liang Yang is with Department of Computer Science, University of Bath, Bath, United Kingdom, BA2 7AY. This work has been submitted to the IEEE for possible publication. Copyright may be transferred without notice, after which this version may no longer be accessible.
Abstract

Point clouds captured by depth sensors are often contaminated by noises, obstructing further analysis and applications. In this paper, we emphasize the importance of point distribution uniformity to downstream tasks. We demonstrate that point clouds produced by existing gradient-based denoisers lack uniformity despite having achieved promising quantitative results. To this end, we propose GPCD++, a gradient-based denoiser with an ultra-lightweight network named UniNet to address uniformity. Compared with previous state-of-the-art methods, our approach not only generates competitive or even better denoising results, but also significantly improves uniformity which largely benefits applications such as surface reconstruction.

Index Terms:
Point cloud, denoising, gradient fields, uniformity.

1 Introduction

With the rapid development of 3D data acquisition devices such as depth cameras and LiDAR sensors, 3D point clouds have drawn increasing attention. Many applications that rely on such irregular data have grown in recent years, including point-cloud-based semantic understanding [1, 2, 3, 4, 5], 3D surface reconstruction [6, 7, 8], and point cloud rendering [9, 10]. However, raw point clouds acquired directly from sensors are often corrupted by noises due to hardware constraints, which largely affects downstream tasks. Therefore, point cloud denoising is often employed as a post-processing step to remove the noises and generate ”clean” point clouds.

Refer to caption
(a) Noisy Input
Refer to caption
(b) Ground Truth
Refer to caption
(c) Score-based [11]
Refer to caption
(d) PSR [12]
Refer to caption
(e) GPCD++(Ours)
Refer to caption
Figure 1: An overview of our proposed denoising method. The gradient-based backbone [11, 12] estimates the gradient field and then adopts iterative gradient ascent method for denoising, while our proposed UniNet models local point interaction and achieves distribution uniformity after refinement.

Existing denoising methods mainly focus on aligning noisy points with the underlying surface, and apply Chamfer Distance (CD) and Point-to-Mesh Distance (P2M) to measure the alignment. Despite having achieved promising quantitative results regarding these metrics, previous state-of-the-art methods [11, 12] tend to produce non-uniformly distributed points, as illustrated in Fig. 1. While being ignored in denoising, the distribution uniformity has been addressed in recent point cloud upsampling methods [13, 14, 15]. We argue that uniformity is an essential property for point clouds to better serve downstream tasks like surface reconstruction. As shown in Fig. 2, both point clouds align perfectly with the underlying mesh surface (P2M error is 0), whereas unexpected holes appear in low-density areas of the non-uniform point cloud after surface reconstruction. Moreover, hyper-parameter selection becomes sophisticated for non-uniform point clouds to achieve a balance between filling holes and preserving features.

Refer to caption
(a) Uniform
Refer to caption
(b) Non-Uniform
Figure 2: Ball pivoting surface reconstruction [16] results of uniform and non-uniform point clouds. Both point clouds are sampled on the ground truth surface with zero Point-to-Mesh Distance.

Inspired by this observation, we conduct an analysis of existing gradient-based methods and discover that the non-uniformity stems from the independence assumption of points. Points are treated independently without interactions, neglecting contextual information when converging towards the underlying surface, which results in non-uniformly distributed areas like holes and clusters. Although regularization is often beneficial to point cloud restoration, previous work [12] demonstrates that introducing conventional regularization into the denoising process has limited improvement on the performance when the noise level is moderate. To solve this problem, we approximate the log-likelihood of a noisy point cloud with two terms: a point-wise log-likelihood term, along with a joint log-likelihood term which models interactions among points. We propose GPCD++, a novel denoising framework consisting of a gradient-based denoising backbone and an ultra-lightweight network named UniNet to capture contextual information and ensure uniform distribution. Notably, the backbone network can be adopted from any gradient-based denoising method, such as Score-based Denoising Network [11] or Point Set Resampling [12]. Specifically, the backbone is employed to model the gradient field of 3D point distribution and predict the direction towards the underlying surface for noisy points. Following the backbone network, UniNet refines the point cloud for distribution uniformity while keeping points on the underlying surface. It is worth noting that UniNet only consists of two graph convolution layers to model feature interactions among points, which effectively enhances gradient-based methods with minimal computational overhead. Extensive results show that GPCD++ achieves competitive or even better denoising performance and significantly improves distribution uniformity on synthetic and real-scanned data. Further experiments demonstrate that higher-quality surfaces can be reconstructed from the point clouds generated by our method.

We summarize our major contributions as follows:

  • We thoroughly analyze existing gradient-based denoising methods and demonstrate that the distribution non-uniformity stems from the point independence assumption.

  • We propose GPCD++, a novel denoising framework that leverages a lightweight network named UniNet to effectively achieve distribution uniformity while preserving geometric features and local details.

  • Extensive experiments show that our network achieves comparable denoising performance and can significantly improve point distribution uniformity with little computational overhead, which largely benefits downstream tasks like surface reconstruction.

2 Related Work

2.1 Point Cloud Denoising

Early point cloud denoising methods [17, 18, 19, 20, 21, 22, 23] are mainly optimization-based, which rely heavily on geometric priors and have difficulty balancing between detail preservation and denoising effectiveness. In recent years, with the advent of point-based neural networks such as PointNet [24], deep-learning-based denoising methods have emerged and achieved promising results. In general, deep-learning-based methods can be roughly divided into three categories: displacement-based [25, 26, 27, 28, 29, 30], downsample-upsample-based [31], and gradient-based [12, 11] methods. PointCleanNet [27] is the pioneer of displacement-based denoising methods, which employs an architecture based on PointNet to estimate the single-step corrective displacement of noisy points. Subsequently, GPDNet [29] enhances the denoising network by graph convolutions to exploit the local structure of the neighborhood. However, the estimation of single-step corrective displacement may not be sufficiently accurate thus these methods generally suffer from shrinkage and outliers. To address these issues, DMRDenoise [31] proposes to explicitly learn the underlying manifold of noisy point clouds from a downsampled subset of points with less noises via a differentiable pooling layer. However, the downsampling stage also discards geometric details and leads to over-smoothing. Recently, gradient-based methods [11, 12] formalize point cloud denoising as an iterative process of increasing the log-likehood of each point via estimating the gradient of the underlying distribution. Compared with displacement-based methods which only consider the position of each input point, gradient-based methods model 3D continuous distribution supported by a 2D manifold. Compared with downsample-upsample method, they preserve more informative details at low noise levels. Although they have outperformed previous approaches, gradient-based methods neglect the relationship among points while iterative denoising, which leads to serious distribution non-uniformity.

In this work, we demonstrate that the distribution non-uniformity stems from the point independence assumption, and propose to extend previous gradient-based methods using UniNet. Our method achieves comparable denoising performance and can significantly achieve distribution uniformity, which largely benefits downstream tasks.

2.2 Distribution Uniformity of Point Clouds

Although distribution uniformity has not received sufficient attention in point cloud denoising, it has been explored in point cloud upsampling. For upsampling, the generated points should be located on the underlying surface and cover the surface with a uniform distribution. PU-Net [15] proposes to distribute the generated points more uniformly on the object surface via a repulsion loss, which penalizes a point if it is too close to its neighborhoods. Subsequently, PU-GAN [14] adopts a chi-squared model to measure the uniformity and proposes the uniform loss to enhance the output point distribution uniformity. The follow-up Dis-PU [13] disentangles the upsampling task based on its multi-objective nature and adopts a spatial refiner network to generate more uniform dense point sets. All these previous methods demonstrate that high-quality point clouds should not only faithfully locate on the underlying surface, but also cover the surface with a uniform distribution. Regretfully, point clouds produced by existing gradient-based denoisers lack such uniformity, which significantly obstructs downstream tasks such as surface reconstruction as illustrated by our experiments.

3 Method

The most important finding of this paper is that existing gradient-based point cloud denoising methods suffer from the local distribution non-uniformity problem. In this section, we first provide a deep analysis of existing gradient-based methods and give an explanation to this phenomenon (Sec.3.1). To address this issue, we present GPCD++ (Sec.3.2), a novel denoising framework consisting of a gradient-based backbone and an ultra-lightweight network named UniNet. As illustrated in Fig. 3, the gradient-based backbone estimates the gradient field for denoising, while UniNet aims to model local point interactions and achieve distribution uniformity using only two graph convolution layers. We briefly introduce our training strategy in Sec. 3.3.

Refer to caption
(a) Gradient Field Estimation
Refer to caption
(b) Gradient Ascent
Refer to caption
(c) Point Interaction
Refer to caption
(d) Refinement
Figure 3: An overview of our proposed denoising method. The gradient-based backbone [11, 12] estimates the gradient field and then adopts iterative gradient ascent method for denoising, while our proposed UniNet models local point interaction and achieves distribution uniformity after refinement.

3.1 Analysis of Gradient-based Denoising Methods

Given a clean point cloud 𝒀={𝒚i}i=1n\bm{Y}=\{\bm{y}_{i}\}_{i=1}^{n} containing nn points, each point 𝒚i\bm{y}_{i} can be viewed as a sample from the underlying surface of a 3D object, which can be represented as a 3D distribution 𝒫\mathcal{P} supported by a 2D manifold. However, point clouds are often perturbed by noises due to the inherent limitation of depth sensors, which can be formalized as applying a degradation operator 𝒟\mathcal{D} to the clean point cloud 𝒀\bm{Y}. We represent the noisy point cloud as 𝑿=𝒟(𝒀)\bm{X}=\mathcal{D}(\bm{Y}) and 𝒟\mathcal{D} is often modeled as an additive noise term 𝑵={𝒏i}i=1n\bm{N}=\{\bm{n}_{i}\}_{i=1}^{n} sampled from the noise distribution 𝒩\mathcal{N}, i.e., 𝒙i=𝒚i+𝒏i\bm{x}_{i}=\bm{y}_{i}+\bm{n}_{i}.

Let q()q(\cdot) denote the probability density function of 3D distribution 𝒫\mathcal{P}. Gradient-based denoising methods [11, 12] formalize the process of denoising the input noisy point cloud 𝑿\bm{X} as finding a transformed point cloud 𝑿~={𝒙~i}i=1n\widetilde{\bm{X}}=\{\widetilde{\bm{x}}_{i}\}_{i=1}^{n} that maximize q(𝑿)q(\bm{X}). To solve this optimal likelihood problem, previous methods view each point as an independent sample from the point distribution. Therefore, the log-likelihood of a point cloud can be written as the summation of point-wise log-likelihoods:

max𝑿logq(𝑿)=max𝑿i=1nlogq(𝒙i).\displaystyle\max_{\bm{X}}\log q(\bm{X})=\max_{\bm{X}}\sum_{i=1}^{n}\log q(\bm{x}_{i}). (1)

Existing gradient-based methods aim at learning the first-order derivative of the log-density function to denoise the input point cloud iteratively. Thus, the denoising process can be written as:

𝑿(t+1)\displaystyle{\bm{X}^{(t+1)}} =𝑿(t)+st𝑿i=1nlogq(𝒙i(t)),\displaystyle=\bm{X}^{(t)}+s_{t}\nabla_{\bm{X}}\sum_{i=1}^{n}\log q(\bm{x}^{(t)}_{i}), (2)

where 𝑿(0)=𝑿\bm{X}^{(0)}=\bm{X} and sts_{t} is the step size at the tt-th step.

Refer to caption
Figure 4: Illustration of our proposed GPCD++. GPCD++ consists of a gradient-based denoising backbone and an ultra-lightweight network named UniNet to capture contextual information and ensure uniform distribution.

Based on the point independence assumption,the log-likelihood q(𝑿)q(\bm{X}) is transformed into the summation of nn point-wise log-likelihoods q(𝒙i)q(\bm{x}_{i}) to reduce the computational complexity. However, high-quality point clouds should not only be faithfully located on the underlying surface of 3D objects, but also cover the surface with a uniform distribution [13, 14]. As shown in Fig. 3 (a)(b), neglecting local point interactions leads to severe distribution non-uniformity of the generated point clouds.

On the other hand, due to the lack of ground truth for the gradient field 𝑿i=1nlogq(𝒙i)\nabla_{\bm{X}}\sum_{i=1}^{n}\log q(\bm{x}_{i}), previous methods use the center 𝒚¯\overline{\bm{y}} of KK nearest points 𝒚k\bm{y}_{k} of the noisy point 𝒙i\bm{x}_{i} to approximate the ground truth gradient for 𝒙i\bm{x}_{i}. However, this approximation results in errors that could not be ignored when the curvature is large or points are sparsely distributed in the local region. Errors accumulate with iterative gradient ascent, which exacerbates distribution uniformity.

3.2 Gradient-based Point Cloud Denoising with Uniformity

Based on the above analysis, we argue that the core of solving the distribution non-uniformity problem is to model the interactions among points while iteratively denoising the noisy points, as shown in Fig. 3 (c)(d). However, due to the inherent permutation invariance of point clouds, it is difficult to arrange all points in a specific order and consider previous states when learning the gradient field. To this end, we propose to disentangle the gradient field 𝑿logq(𝑿)\nabla_{\bm{X}}\log q(\bm{X}) into two parts:

𝑿logq(𝑿)=𝑿i=1nlogq(𝒙i)+𝑿logg(𝒙1,,𝒙n),\displaystyle\nabla_{\bm{X}}\log q(\bm{X})=\nabla_{\bm{X}}\sum_{i=1}^{n}\log q(\bm{x}_{i})+\nabla_{\bm{X}}\log g(\bm{x}_{1},...,\bm{x}_{n}), (3)

where 𝑿logg(𝒙1,,𝒙n)\nabla_{\bm{X}}\log g(\bm{x}_{1},...,\bm{x}_{n}) is a complement of point-wise gradient that aims at capturing feature interactions among points while denoising. Compared with Eq. 2, the iterative denoising process of GPCD++ can be written as:

𝑿(t+1)=𝑿(t)+st(𝑿i=1nlogq(𝒙i(t))+𝑿logg(𝒙1(t),𝒙n(t))),\begin{split}{\bm{X}^{(t+1)}}=\bm{X}^{(t)}+s_{t}(\nabla_{\bm{X}}\sum_{i=1}^{n}\log q(\bm{x}^{(t)}_{i})\\ +\nabla_{\bm{X}}\log g(\bm{x}^{(t)}_{1},...\bm{x}^{(t)}_{n})),\end{split} (4)

where 𝑿(0)=𝑿\bm{X}^{(0)}=\bm{X}. Previous work [13] shows the challenge for a single network to meet both uniformity and proximity-to-surface at the same time. Therefore, in our implementation, the function g()g(\cdot) takes one-step denoised points 𝒙i(t)=𝒙i(t)+st𝒙ilogq(𝒙i(t)){\bm{x}_{i}^{(t)}}^{\prime}=\bm{x}_{i}^{(t)}+s_{t}\nabla_{\bm{x}_{i}}\log q(\bm{x}^{(t)}_{i}) as input instead of 𝒙i(t)\bm{x}_{i}^{(t)}. The corresponding network is constrained to focus more on distribution uniformity and is easier to train.

As illustrated in Fig. 4, our proposed GPCD++ consists of three main parts, including a feature extraction unit, a gradient field estimation unit, and a lightweight network named UniNet, which is used for modeling feature interactions among points. Given the input noisy point cloud 𝑿\bm{X}, the feature extraction unit produces point-wise features 𝑯={𝒉i}i=1n\bm{H}=\{\bm{h}_{i}\}_{i=1}^{n} that encode local geometric information. The gradient field estimation unit takes both the output features 𝑯\bm{H} and the noisy point cloud 𝑿(t)\bm{X}^{(t)} at the tt-th step as input and then predicts the point-wise gradient vectors 𝒙logq(𝒙i)\nabla_{\bm{x}}\log q(\bm{x}_{i}) pointing to the underlying surface of the 3D objects. Finally, UniNet aims at converging the denoised point cloud 𝑿(t)=𝑿(t)+st𝑿i=1nlogq(𝒙i(t)){\bm{X}^{(t)}}^{\prime}=\bm{X}^{(t)}+s_{t}\nabla_{\bm{X}}\sum_{i=1}^{n}\log q(\bm{x}^{(t)}_{i}) towards uniform distribution on the surface. It is worth noting that the denoising backbone can be implemented as any gradient-based denoising network such as Score-based Denosing Network [11] or Point Set Resampling [12]. For completeness, we first briefly introduce the gradient-based network architecture, then describe the proposed UniNet which leverages only two graph convolution layers to achieve distribution uniformity while maintaining proximity-to-surface.

3.2.1 Feature Extraction Unit.

Following previous work [31, 11, 12, 32, 14], we adopt the feature extractor widely used in denoising and upsampling models as our feature extraction unit, which is a stack of densely connected edge convolution layers [33]. More specifically, each point is viewed as a vertex of a graph, which is connected to its KK nearest neighbors. The dynamic graph convolution is employed to group the point-wise features and encode both local and nonlocal contextual information without point set subsampling. Then the grouped features are refined by a chain of densely connected MLPs. Finally, the feature extraction unit outputs the point-wise features 𝒉i\bm{h}_{i} used for gradient field estimation.

Refer to caption
Figure 5: An overview of our proposed UniNet. ”mlp” stands for multi-layer perceptons. UniNet is an ultra-lightweight network consisting of two graph convolution layers.

3.2.2 Gradient Field Estimation Unit.

The gradient field estimation unit aims at estimating the gradient ascent direction for each point 𝒙i(t)\bm{x}_{i}^{(t)} at the tt-th step. Gradient-based methods sample KK nearest neighbors 𝒙j\bm{x}_{j} from the input noisy point cloud as well as their geometric features 𝒉j\bm{h}_{j}, then aggregate information to predict the gradient ascent direction. Score-based Denoising Network [11] proposes to use late fusion in the Euclidean space, while Point Set Resampling [12] adopts a cosine annealing module to fuse information in the feature space.

3.2.3 UniNet.

Our proposed GPCD++ adopts an ultra-lightweight network named UniNet to model feature interactions among points. Given the denoised point cloud 𝑿(t){\bm{X}^{(t)}}^{\prime} from the gradient field estimation unit, UniNet aims at learning the gradient of the joint log-likelihood term 𝑿logg(𝒙1(t),,𝒙n(t))\nabla_{\bm{X}}\log g({\bm{x}^{(t)}_{1}}^{\prime},...,{\bm{x}^{(t)}_{n}}^{\prime}) to improve both proximity-to-surface and distribution uniformity. Notably, compared with point-based neural networks on classification or segmentation, UniNet only needs to focus on local geometry and point distribution. Therefore, we propose to adopt only two graph convolutions to capture local contextual information for both computational efficiency and refinement effectiveness. In contrast, most previous operators [34, 33] on point clouds are designed for semantic tasks such as classification and segmentation, which have difficulty in capturing local point distribution when the depth of neural networks is low. To enhance the representational power of graph convolution, we leverage dense connections following previous denoising and upsampling models [14, 31, 32, 12].

As illustrated in Fig. 5, the proposed UniNet consists of three parts, including two shared multi-layer perceptrons (MLP) at each point and a graph neural network with two stacked graph convolution layers. Specifically, given the input point-wise features 𝑭={𝒇i}i=1N\bm{F}=\{\bm{f}_{i}\}_{i=1}^{N} output by shared MLP, we first group the features using kNN search based on Euclidean distance instead of feature similarity, considering that long-range and non-local information is not essential to our task. After that, we refine each grouped feature using densely connected MLPs introduced in  [32], and finally adopt a max-pooling layer as a symmetric function to aggregate information from the local region.

3.3 Network Training

If we train GPCD++ from scratch, the low-quality output point clouds of the denoising backbone lead to an unstable training process of UniNet at the early training stage. Thus, we pretrain the feature extraction unit and the gradient field estimation unit on the same dataset using the loss function g\mathcal{L}_{g}, which follows previously proposed training objective [11, 12], and then freeze them while training UniNet with the loss function u\mathcal{L}_{u}.

u\mathcal{L}_{u} measures the difference between the output point cloud and the ground truth point cloud. Chamfer Distance (CD) and Earth Mover’s Distance (EMD) are two permutation-invariant loss functions widely used in various tasks on point clouds (e.g., completion, upsampling, denoising). Supposing 𝑿′′={𝒙i′′}i=1N\bm{X}^{\prime\prime}=\{\bm{x}^{\prime\prime}_{i}\}_{i=1}^{N} and 𝒀={𝒚i}i=1N\bm{Y}=\{\bm{y}_{i}\}_{i=1}^{N} denotes the output and ground truth point cloud, the loss functions are defined as:

CD(𝑿′′,𝒀)=1N𝒙𝑿′′min𝒚𝒀𝒙𝒚22+1N𝒚𝒀min𝒙𝑿′′𝒙𝒚22\displaystyle\begin{split}\text{CD}(\bm{X}^{\prime\prime},\bm{Y})=\frac{1}{N}\sum_{\bm{x}\in\bm{X}^{\prime\prime}}\min_{\bm{y}\in\bm{Y}}||\bm{x}-\bm{y}||^{2}_{2}\\ +\frac{1}{N}\sum_{\bm{y}\in\bm{Y}}\min_{\bm{x}\in\bm{X}^{\prime\prime}}||\bm{x}-\bm{y}||^{2}_{2}\end{split} (5)
EMD(𝑿′′,𝒀)=minϕ:X′′Y1N𝒙X′′𝒙ϕ(𝒙)22\displaystyle\text{EMD}(\bm{X}^{\prime\prime},\bm{Y})=\min_{\phi:X^{\prime\prime}\rightarrow Y}\frac{1}{N}\sum_{\bm{x}\in X^{\prime\prime}}||\bm{x}-\phi(\bm{x})||^{2}_{2} (6)

Here CD directly calculates the average closest point distance between two point clouds 𝑿′′\bm{X}^{\prime\prime} and 𝒀\bm{Y}, while EMD finds a bijection ϕ:𝑿′′𝒀\phi:\bm{X}^{\prime\prime}\rightarrow\bm{Y} which minimizes the average distance between corresponding points. Compared with CD, EMD can provide stronger supervision to train UniNet, so we use EMD to regularize the output point clouds for point cloud denoising. Notably, our method does not require other loss terms, since the network trained with EMD is already able to refine the point clouds for proximity-to-surface and distribution uniformity at the same time.

4 Experiments

4.1 Dataset

Following previous works [11, 12], we collect 20 meshes from the training subset of PU-Net and use Poisson disk sampling to generate ground truth point clouds ranging from 10k points to 50k points. After normalization into the unit sphere, point clouds are perturbed by Gaussian noise with zero mean and a standard deviation from 0.5% to 2% of the bounding ball radius. Each training point cloud is split into patches before fed into the network to reduce memory use. In training, we use random sampling to sample patches(patch size is 1K).

For testing, we compare our model with state-of-the-art methods on the testing subset of PU-Net [15] and PointCleanNet [27] datasets, which contain 20 meshes and 10 meshes, respectively. Three metrics are employed to evaluate point cloud denoising methods, including Chamfer distance, Point-to-Mesh Distance for denoising effectiveness, and modified uniformity metric [14] for point uniformity. We normalize the denoised point clouds into a unit sphere before computing the metrics. For uniformity metric, we adopt the farthest sampling to pick MM seed points, and then crop a point set SjS_{j} at each seed using ball query. The uniformity metric can be written as:

Uni=1Mj=1MUimbalance(Sj)×Uclutter(Sj),\displaystyle\text{Uni}=\frac{1}{M}\sum_{j=1}^{M}U_{\text{imbalance}}(S_{j})\times U_{\text{clutter}}(S_{j}), (7)

where Uimbalance(Sj)=(|Sj|n^)2n^U_{\text{imbalance}}(S_{j})=\frac{(|S_{j}|-\widehat{n})^{2}}{\widehat{n}} denotes the deviation of |Sj||S_{j}| from n^\widehat{n}. Here n^\widehat{n} is the expected number of points in SjS_{j}. Uclutter(Sj)U_{\text{clutter}}(S_{j}) measures the deviation of each point’s distance to its nearest neighbor, denoted by dj,kd_{j,k}, and is defined as Uclutter(Sj)=1|Sj|k=1|Sj|(dj,kd^)2d^U_{\text{clutter}}(S_{j})=\frac{1}{|S_{j}|}\sum_{k=1}^{|S_{j}|}\frac{(d_{j,k}-\widehat{d})^{2}}{\widehat{d}}. d^\widehat{d} is the expected distance between a point and its nearest neighbor. Compared with original uniform loss, our modified one leverages the ground truth point cloud to compute the expected distance d^\widehat{d} and expected number n^\widehat{n}, which provides a more accurate estimation, especially for objects with complex geometric shape.

4.2 Noise Models

To demonstrate the generalization, we test our proposed model with point clouds perturbed by several types of noise, including isotropic Gaussian noise, Laplace noise, discrete noise, anisotropic Gaussian noise, uni-directional Gaussian noise, uniform noise, simulated sensor noise and real noise. The following are the setting of corresponding hyperparameters, where the scale parameter ss is set to 1%, 2% and 3% of the bounding sphere radius to simulate different levels of noise.

  • Isotropic Gaussian noise.

    p(x;s)=12πsex22s2\displaystyle p(x;s)=\frac{1}{\sqrt{2\pi}s}e^{-\frac{x^{2}}{2s^{2}}}
  • Laplace noise.

    p(x;s)=12se|x|s\displaystyle p(x;s)=\frac{1}{2s}e^{-\frac{|x|}{s}}
  • Discrete noise.

    p(x;s)={0.1(±s,0,0),(0,±s,0),(±0,0,±s)0.4(0,0,0)0otherwise\displaystyle p(x;s)=\left\{\begin{matrix}0.1&(\pm s,0,0),(0,\pm s,0),(\pm 0,0,\pm s)\\ 0.4&(0,0,0)\\ 0&\text{otherwise}\end{matrix}\right.
  • Anisotropic Gaussian noise.

    x\displaystyle x 𝒩(0,Σ)\displaystyle\sim\mathcal{N}(0,\Sigma)
    whereΣ\displaystyle\text{where}\;\;\Sigma =s2×[112141211414141]\displaystyle=s^{2}\times\begin{bmatrix}1&-\frac{1}{2}&-\frac{1}{4}\\ -\frac{1}{2}&1&-\frac{1}{4}\\ -\frac{1}{4}&-\frac{1}{4}&1\end{bmatrix}
  • Uni-directional Gaussian noise. We only perturb the point clouds along x-axis using Gaussian noise.

  • Uniform noise.

    p(x;s)={34πs3x2s0otherwise\displaystyle p(x;s)=\left\{\begin{matrix}\frac{3}{4\pi s^{3}}&||x||_{2}\leq s\\ 0&\text{otherwise}\end{matrix}\right.
  • Simulated sensor noise. We adopt the Blensor [35] simulation package to simulate realistic noise.

  • Real noise. We test our method on the real-world dataset Paris-rue-Madame [36], which is obtained from real laser scanner.

4.3 Implementation Details

In the training phase, we perform data augmentation on the fly by randomly scaling and rotating the input point clouds. We adopt Adam optimizer with an initial learning rate 2e42e-4 to train UniNet. The learning rate is multiplied by 0.80.8 on epoch 30, 60 and 90.

In the testing phase, for uniformity metric, the number of seed points MM is set as rNrN, where NN is the number of points and rr is 0.050.05. We crop each set SjS_{j} with radius rd=pr_{d}=\sqrt{p} for each p{p\in\{ 0.4%, 0.6%, 0.8%, 1.0% }\}, and compute Eq. 7 four times, then sum up the results.

TABLE I: Comparison among competitive denoising algorithms under isotropic Gaussian noise. CD and P2M are multiplied by 10410^{4}. Our method surpasses previous state-of-the-art methods on both benchmark datasets.
# Points 10K(Sparse) 50K(Dense)
Noise 1% 2% 3% 1% 2% 3%
Dataset Model CD P2M CD P2M CD P2M CD P2M CD P2M CD P2M
PU Bilateral 3.646 1.342 5.007 2.018 6.998 3.557 0.877 0.234 2.376 1.389 6.304 4.730
Jet 2.712 0.613 4.155 1.347 6.262 2.921 0.851 0.207 2.432 1.403 5.788 4.267
MRPCA 2.972 0.922 3.728 1.117 5.009 1.963 0.669 0.099 2.008 1.033 5.775 4.081
GLR 2.959 1.052 3.773 1.306 4.909 2.114 0.696 0.161 1.587 0.830 3.839 2.707
PCN 3.515 1.148 7.467 3.965 13.067 8.737 1.049 0.346 1.447 0.608 2.289 1.285
GPDNet 3.780 1.337 8.007 4.426 13.482 9.114 1.913 1.037 5.021 3.736 9.705 7.998
DMR 4.482 1.722 4.982 2.115 5.892 2.846 1.162 0.469 1.566 0.800 2.432 1.528
Score-based 2.521 0.463 3.686 1.074 4.708 1.942 0.716 0.150 1.288 0.566 1.928 1.041
PSR 2.353 0.306 3.350 0.734 4.075 1.242 0.649 0.076 0.997 0.296 1.344 0.531
GPCD++(Score) 2.312 0.506 3.215 0.999 4.119 1.829 0.639 0.159 1.124 0.503 1.910 1.086
GPCD++(PSR) 1.881 0.251 2.728 0.654 3.433 1.161 0.505 0.073 0.852 0.303 1.198 0.534
PC Bilateral 4.320 1.351 6.171 1.646 8.295 2.392 1.172 0.198 2.478 0.634 6.077 2.189
Jet 3.032 0.830 5.298 1.372 7.650 2.227 1.091 0.180 2.582 0.700 5.787 2.144
MRPCA 3.323 0.931 4.874 1.178 6.502 1.676 0.966 0.140 2.153 0.478 5.570 1.976
GLR 3.399 0.956 5.274 1.146 7.249 1.674 0.964 0.134 2.015 0.417 4.488 1.306
PCN 3.847 1.221 8.752 3.043 14.525 5.873 1.293 0.289 1.913 0.505 3.249 1.076
GPDNet 5.470 1.973 10.006 3.650 15.521 6.353 5.310 1.716 7.709 2.859 11.941 5.130
DMR 6.602 2.152 7.145 2.237 8.087 2.487 1.566 0.350 2.009 0.485 2.993 0.859
Score-based 3.369 0.830 5.132 1.195 6.776 1.941 1.066 0.177 1.659 0.354 2.494 0.657
PSR 2.873 0.783 4.757 1.118 6.031 1.619 1.010 0.146 1.515 0.340 2.093 0.573
GPCD++(Score) 3.379 0.787 4.707 1.084 5.972 1.621 1.026 0.191 1.526 0.337 2.497 0.693
GPCD++(PSR) 2.813 0.759 4.195 0.893 5.385 1.333 0.857 0.132 1.344 0.331 1.920 0.530

4.4 Quantitative Results

Following previous works [11, 12], we first perturb the point clouds with isotropic Gaussian noise to compare our models with state-of-the-art point cloud denoising methods. They include both optimization-based methods such as bilateral filtering (Bilateral)  [17], jet fitting (Jet)  [19], MRPCA [22], GLR  [37], and learning-based methods including Point Clean Net (PCN)  [27], GPDNet [29], DMRDenoise (DMR)  [31], Score-based Denoising Network (Score-based)  [11], Point Set Resampling via Gradient Field (PSR)  [12]. Notably, the last two methods are gradient-based methods, both of which can be employed as the backbone in our proposed framework GPCD++, thus we implement two versions of GPCD++, named GPCD++(Score) and GPCD++(PSR), to make a comparison.

The experimental results are summarized in Tab. I, where we adopt the results of previous works reported in Point Set Resampling [12] following the same evaluation protocol. We observe noticeable performance gains from not using UniNet in GPCD++(Score) in the first few steps of gradient descent iteration, thus we activate UniNet after 20 steps in GPCD++(Score). It is worth noting that our proposed GPCD++(PSR) surpasses previous state-of-the-art methods on both benchmark datasets, with an obvious improvement on CD and P2M metrics. Compared with Score-based Denoising Network and Point Set Resampling, the corresponding GPCD++ versions almost achieve a consistent improvement on Chamfer Distance while taking both distribution uniformity and proximity-to-surface into consideration, which demonstrates the effectiveness of UniNet. We also note that the performance of GPCD++ on P2M metrics is slightly worse than that of its backbone network in a few cases. The reason is that EMD adopts a point-to-point bijection function ϕ\phi to regularize each point and sometimes the correspondence is incorrect. UniNet moves the point xx away from the underlying surface and slightly degrades the performance on P2M metrics.

To explore whether our proposed UniNet improves the distribution uniformity of the output point clouds, we compare GPCD++ with its corresponding backbone on PU dataset using uniformity metric. As shown in Tab. II, GPCD++ significantly outperforms its backbone network under different levels of noise on uniformity metric, while slightly affecting denoising in a few cases. With regard to Chamfer Distance, GPCD++ can generate point clouds of higher quality for downstream tasks.

TABLE II: Comparison with gradient-based methods under isotropic Gaussian noise on PU dataset. CD is multiplied by 10410^{4}, P2M is multiplied by 10410^{4} and Uni is multiplied by 10310^{3}. Our proposed GPCD++ substantially improves distribution uniformity.
# Points 10K(Sparse)
Noise 1% 2% 3%
Model CD P2M Uni CD P2M Uni CD P2M Uni
Score-based 2.521 0.463 6.493 3.686 1.074 9.666 4.708 1.942 24.040
GPCD++(Score) 2.312 0.506 1.445 3.215 0.999 3.287 4.119 1.829 8.414
PSR 2.353 0.306 3.458 3.350 1.453 7.559 4.075 1.481 10.795
GPCD++(PSR) 1.881 0.251 0.239 2.728 0.654 0.770 3.433 1.161 1.671
# Points 50K(Dense)
Noise 1% 2% 3%
Model CD P2M Uni CD P2M Uni CD P2M Uni
Score-based 0.716 0.150 6.591 1.288 0.566 26.075 1.928 1.041 47.393
GPCD++(Score) 0.639 0.159 1.767 1.124 0.503 17.013 1.910 1.086 36.496
PSR 0.649 0.076 1.602 0.997 0.296 3.246 1.344 0.531 5.960
GPCD++(PSR) 0.505 0.073 0.139 0.852 0.303 0.750 1.198 0.534 2.082

Tab. III illustrates the quantitative results of our proposed GPCD++ under various types of noise, including Laplace noise, discrete noise, anisotropic Gaussian noise, uni-directional Gaussian noise and uniform noise. We take the results reported by Point Set Resampling [12] with the identical evaluation protocol. It is worth noting that we only train our model using Gaussian noise without further fine-tuning. The experimental results demonstrate our model has better generalization capability than previous methods under unseen noise models.

TABLE III: Comparison among competitive denoising methods under various types of noise on PU dataset. CD and P2M are multiplied by 10410^{4}.
# Points 10K(Sparse)
Noise 1% 2% 3%
Type Model CD P2M CD P2M CD P2M
Laplace MRPCA 2.950 0.724 4.216 1.428 7.951 4.441
GLR 3.223 1.121 4.751 2.090 7.977 4.773
PCN 4.616 1.940 11.082 7.218 20.981 15.922
Score-based 2.915 0.674 4.601 1.799 6.332 3.271
PSR 2.663 0.450 3.790 1.067 5.110 2.017
GPCD++(Score) 2.657 0.661 3.903 1.433 5.215 2.615
GPCD++(PSR) 2.218 0.403 3.152 0.976 4.514 1.970
Discrete MRPCA 1.522 0.629 2.353 0.674 2.607 0.743
GLR 1.838 1.014 2.665 1.047 2.952 1.116
PCN 1.177 0.307 2.870 0.871 4.028 1.674
Score-based 1.249 0.251 2.177 0.416 2.653 0.653
PSR 1.021 0.163 1.921 0.268 2.274 0.431
GPCD++(Score) 1.179 0.281 2.050 0.437 2.888 0.986
GPCD++(PSR) 0.765 0.138 1.645 0.225 2.081 0.379
Anisotropic MRPCA 2.676 0.689 3.605 1.007 5.108 2.081
GLR 2.910 1.048 3.779 1.332 4.975 2.195
PCN 3.432 1.129 7.393 3.940 12.952 8.654
Score-based 2.470 0.456 3.682 1.084 4.776 2.000
PSR 2.305 0.308 3.345 0.758 4.152 1.350
GPCD++(Score) 2.284 0.503 3.315 1.017 4.323 1.915
GPCD++(PSR) 1.846 0.254 2.711 0.652 3.524 1.253
Uni-dir MRPCA 1.712 0.646 2.564 0.767 3.237 1.063
GLR 2.033 1.026 2.837 1.139 3.472 1.434
PCN 1.530 0.432 3.466 1.360 5.638 2.914
Score-based 1.442 0.279 2.412 0.543 3.391 1.108
PSR 1.256 0.196 2.196 0.386 2.862 0.686
GPCD++(Score) 1.402 0.313 2.235 0.529 3.112 1.111
GPCD++(PSR) 1.019 0.171 1.855 0.332 2.451 0.618
Uniform MRPCA 1.555 0.633 2.754 0.684 3.229 0.765
GLR 1.850 1.015 2.948 1.052 3.400 1.109
PCN 1.205 0.337 3.378 1.018 5.044 1.995
Score-based 1.277 0.248 2.467 0.418 3.079 0.654
PSR 1.056 0.164 2.348 0.275 2.916 0.443
GPCD++(Score) 1.192 0.286 2.223 0.435 3.028 0.981
GPCD++(PSR) 0.762 0.136 1.800 0.221 2.302 0.353
TABLE IV: Comparison of denoising simulated lidar data on PU dataset. CD and P2M are multiplied by 10410^{4}. Noise level is 1%.
# Points Variable(12K\sim72K)
Model CD P2M Params(M) Speed(s/pcd)
Score-based 3.942 1.823 0.187 9.05
GPCD++(Score) 3.772 1.743 0.207(+10.7%) 9.67(+6.9%)
PSR 3.864 1.644 0.267 5.49
GPCD++(PSR) 3.604 1.599 0.286(+7.1%) 6.40(+16.6%)

We also test on simulated noise (with ground truth mesh) of a real sensor provided by Blensor [35] package and the results are shown in Tab. IV. GPCD++(Score) and GPCD++(PSR) have only 10.7% and 7.1% more parameters, respectively, than the corresponding backbones. For inference time, GPCD++(PSR) has a consistent and significant improvement over Point Set Resampling with only 16.6% more inference time on average. Notably, GPCD++(Score) only adds neglectable inference time compared with Score-based Denoising Network, a patch-based denoising method that also requires time to split the noisy input into patches. In summary, our method outperforms previous methods with minimal cost regarding inference time and model size.

In particular, another alternative solution is to run sequentially the gradient-based denoiser and then a method to achieve distribution uniformity. To evaluate in this setting, we choose PSR as the denoiser and adopt Graph Laplacian (GL) [38] to resample the denoised point cloud. As shown in Tab. V, this “denoise then resample” baseline slightly improves Chamfer Distance, but brings additional noise (see P2M) and significant computational overhead.

TABLE V: Comparison with “denoise then resample” under isotropic Gaussian noise on PU dataset. CD and P2M are multiplied by 10410^{4}.
# Points 10K
Noise 1% 2% 3%
Model CD P2M CD P2M CD P2M Speed(s/pcd)
PSR 2.353 0.306 3.350 0.734 4.075 1.242 1.61
PSR+GL 2.562 0.331 3.122 0.748 3.907 1.286 7.67(+6.06)
GPCD++(PSR) 1.881 0.251 2.728 0.654 3.433 1.161 1.85(+0.24)

4.5 Qualitative Results

We conduct qualitative studies on PU dataset and then visualize the denoising results generated by our proposed GPCD++(PSR) and previous state-of-the-art methods. Due to the limit of space, we only compare our proposed methods with Score-based Denoising Network and Point Set Resampling for the following reasons, (1) they have a significantly better performance on PU dataset than other methods, (2) they are gradient-based methods closely related to our method. Specifically, the input point cloud is perturbed by isotropic Gaussian noise with a scale parameter 3%, and perturbed by simulated sensor noise with a scale parameter 1%. As seen in Fig. 6, although both Score-based Denoising Network and Point Set Resampling successfully converge each noisy point towards the underlying surface, the denoised point clouds suffer from distribution non-uniformity. Our method can effectively resolve this problem and produce higher-quality point clouds.

Refer to caption
Figure 6: Comparison of point cloud denoising methods under Isotropic Gaussian noise and simulated sensor noise. Our network significantly improves distribution uniformity while achieving state-of-the-art denoising performance.

Fig. 7 shows the denoising results of various methods on the real-world dataset Paris-rue-Madame [36]. It is worth noting that our method can not only generate clean point clouds from the noisy input, but also preserve subtle structures and achieve distribution uniformity.

Refer to caption
Figure 7: Comparison of point cloud denoising methods on the real-world dataset Paris-rue-Madame [36]. Our method can preserve subtle structures and achieve distribution uniformity.

4.6 Ablation Study

TABLE VI: Ablation study under isotropic Gaussian noise on PU dataset. CD and P2M are multiplied by 10410^{4}.
# Points 10K(Sparse)
Noise 1% 2% 3%
Method # Parameters CD P2M CD P2M CD P2M
A:K=4,L=2 0.286M 2.090 0.281 3.017 0.702 3.775 1.230
Ours:K=8,L=2 0.286M 1.881 0.251 2.728 0.654 3.433 1.161
B:K=12,L=2 0.286M 1.890 0.256 2.724 0.661 3.397 1.154
C:K=16,L=2 0.286M 1.884 0.254 2.729 0.659 3.397 1.150
D:K=20,L=2 0.286M 1.887 0.255 2.718 0.659 3.397 1.152
E:K=8,L=1 0.275M 1.945 0.289 2.800 0.697 3.479 1.168
Ours:K=8,L=2 0.286M 1.881 0.251 2.728 0.654 3.433 1.161
F:K=8,L=3 0.331M 1.866 0.245 2.706 0.648 3.419 1.163
G:K=8,L=4 0.495M 1.851 0.237 2.703 0.637 3.454 1.162

To study the impact of model size and the neighborhood size, we perform two experiments on the PU dataset. The number of nearest neighbors in KNN decides the size of local regions from which each point aggregates information. Tab. VI shows the results of our proposed GPCD++(PSR) with different hyperparameters, where KK is the number of nearest neighbors in KNN and LL is the number of dense edge convolution layers. We observe no significant improvement when KK is larger than 8, which means UniNet only exploits local information to refine the input point clouds. The number of convolution layers decides how we reach a balance between representational power and model size. Although the larger models perform better, the improvements are moderate. Therefore, for a better trade-off between performance and model size, we choose to use L=2L=2 in our implementation.

05510101515202025253030112233445566Noise level = 1%Noise level = 2%Noise level = 3%
(a) GPCD++(Score)
010102020303040405050112233445566Noise level = 1%Noise level = 2%Noise level = 3%
(b) GPCD++(PSR)
Figure 8: Ablation study on the activation step of UniNet. The horizontal axis represents the activation step of UniNet and the vertical axis is Chamfer Distance multiplied by 10410^{4}.

We observe noticeable performance gains from not using UniNet in the first few steps of GPCD++(Score), so we evaluate our proposed GPCD++(Score) and GPCD++(PSR) under different activation steps. As illustrated in Fig. 8(a), GPCD++(Score) achieves the best performance when the activation step is set to be 20. In contrast, Fig. 8(b) shows that introducing UniNet into the gradient descent iteration of GPCD++(PSR) has a consistent improvement, and the improvement gets smaller when the activation step is larger. We assume that the difference stems from denoising efficiency of the backbone network in GPCD++. Compared with Score-based denoising net, PSR can produce high-quality denoised point clouds on early iterations, thus UniNet in GPCD++(PSR) is activated from the first step.

5 Applications

Refer to caption
Figure 9: Comparison of surface reconstruction results with gradient-based methods. Surface reconstruction benefits much from high-quality point clouds produced by our method.

To demonstrate the importance of distribution uniformity, we further perform surface reconstruction using the denoised point clouds. Qualitative results are shown in Fig. 9. We adopt ball pivoting [16] and screened Poisson [39] for surface reconstruction. The former guarantees that the vertices of the reconstructed mesh overlap with the input point cloud, while the latter can produce a smoother mesh surface. For ball pivoting, the reconstructed surface from point clouds output by GPCD++(PSR) has much fewer holes while preserving geometric details. For screened Poisson, our results outperform others, especially on thin planes and cylinder-like parts, where normal estimation is more sensitive to distribution uniformity. Moreover, our method significantly outperforms baseline methods in fine structures and complex regions, where the reconstructed details are more sensitive to point distribution. We can also observe that our method can achieve better denoising results under simulated sensor noise and produce a smoother mesh surface. To summarize, our method consistently surpasses gradient-based methods with the two commonly-adopted surface reconstruction approaches.

The number of points determines the detailing representational power of point clouds, which further decides the quality of reconstructed meshes. Thus, we perform more qualitative experiments to explore whether our proposed GPCD++ brings consistent improvement on gradient-based denoising methods under different numbers of points. As shown in Fig. 10, the meshes reconstructed by Ball Pivoting [16] from GPCD++(PSR) have fewer holes than that of other denoising methods. Besides, for screened Poisson surface reconstruction [39], the meshes from our methods contain geometric details of higher quality. We also observe that screened Poisson method reconstructs correct surfaces of the elephant’s ears using our proposed GPCD++(PSR) when the number of points is set to be 5000. In contrast, other denoising methods cannot generate high-quality point clouds to restore geometric details in the same case.

Refer to caption
Figure 10: Comparison of surface reconstruction results with gradient-based methods under different numbers of points.

Notably, the screened Poisson algorithm requires the normal of each vertex to create watertight surfaces from oriented point sets, thus the quality of reconstructed surface depends partly on the accuracy of normal estimation. To explore how normal estimation influences the quality of reconstructed surfaces, we choose different neighbor numbers to estimate the normal vectors and the results are shown in Fig. 11. We observe that the denoised point clouds generated by our proposed methods are more robust to hyper-parameter selection than that of other methods. Besides, the surface holes do not disappear with the change of hyper-parameters, which further demonstrates the importance of distribution uniformity.

Refer to caption
Figure 11: Comparison of screened Poisson surface reconstruction results under different hyperparameters.

6 Limitations

As shown in Fig. 3, each point only moves in the local region of its original position, thus GPCD++ can only achieves local uniformity and fails to deal with large holes and global distribution non-uniformity, which are often caused by occlusion and limited sensor resolution. Moreover, the improvements of our method are limited for very dense point clouds compared with gradient-based denoising methods. If the noisy point cloud is very dense(>100K points for camel in Fig. 6), the reconstruction methods are likely to have similar results.

7 Conclusion

In this paper, we propose a novel point cloud denoising pipeline named GPCD++ to resolve point distribution non-uniformity in gradient-based methods. We provide a deep analysis of existing methods and demonstrate that this issue comes from the point independence assumption. Our proposed GPCD++ consists of three components, including a feature extraction unit and a gradient field estimation unit to project noisy points towards the underlying surface, along with an ultra-lightweight network named UniNet to model the interactions among points for local distribution uniformity. Quantitative experiments show that our network achieves state-of-the-art performance on benchmark datasets. Qualitative experiments demonstrate that downstream tasks such as surface reconstruction can benefit greatly from the proposed pipeline. In the future, we would like to generalize the uniformity such that it can be adaptive to surface features for further improving surface reconstruction quality.

Acknowledgments

The authors would like to thank Haolan Chen for his continued support and fruitful discussions. This work was supported by the Natural Science Foundation of China (Project Number 61832016), and Tsinghua-Tencent Joint Laboratory for Internet Innovation Technology.

References

  • [1] T.-H. Wu, Y.-C. Liu, Y.-K. Huang, H.-Y. Lee, H.-T. Su, P.-C. Huang, and W. H. Hsu, “Redal: Region-based and diversity-aware active learning for point cloud semantic segmentation,” in Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), October 2021, pp. 15 510–15 519.
  • [2] J. Xu, R. Zhang, J. Dou, Y. Zhu, J. Sun, and S. Pu, “Rpvnet: A deep and efficient range-point-voxel fusion network for lidar point cloud segmentation,” in Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), October 2021, pp. 16 024–16 033.
  • [3] S. Ye, D. Chen, S. Han, and J. Liao, “Learning with noisy labels for robust point cloud segmentation,” in Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), October 2021, pp. 6443–6452.
  • [4] Y. Zhang, Y. Qu, Y. Xie, Z. Li, S. Zheng, and C. Li, “Perturbed self-distillation: Weakly supervised large-scale point cloud semantic segmentation,” in Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), October 2021, pp. 15 520–15 528.
  • [5] Y. Zhou, H. Zhu, C. Li, T. Cui, S. Chang, and M. Guo, “Tempnet: Online semantic segmentation on large-scale point cloud series,” in Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), October 2021, pp. 7118–7127.
  • [6] C. Mostegel, R. Prettenthaler, F. Fraundorfer, and H. Bischof, “Scalable surface reconstruction from point clouds with extreme scale and density diversity,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 2017.
  • [7] L. Nan and P. Wonka, “Polyfit: Polygonal surface reconstruction from point clouds,” in Proceedings of the IEEE International Conference on Computer Vision (ICCV), Oct 2017.
  • [8] R. Sharma, T. Schwandt, C. Kunert, S. Urban, and W. Broll, “Point cloud upsampling and normal estimation using deep learning for robust surface reconstruction,” arXiv preprint arXiv:2102.13391, 2021.
  • [9] M. Alexa, J. Behr, D. Cohen-Or, S. Fleishman, D. Levin, and C. Silva, “Computing and rendering point set surfaces,” IEEE Transactions on Visualization and Computer Graphics, vol. 9, no. 1, pp. 3–15, 2003.
  • [10] G. Guennebaud and M. Gross, “Algebraic point set surfaces,” ACM Trans. Graph., vol. 26, no. 3, p. 23–es, jul 2007. [Online]. Available: https://doi.org/10.1145/1276377.1276406
  • [11] S. Luo and W. Hu, “Score-based point cloud denoising,” in Proceedings of the IEEE/CVF International Conference on Computer Vision, 2021, pp. 4583–4592.
  • [12] H. Chen, B. Du, S. Luo, and W. Hu, “Deep point set resampling via gradient fields,” IEEE Transactions on Pattern Analysis and Machine Intelligence, pp. 1–1, 2022.
  • [13] R. Li, X. Li, P.-A. Heng, and C.-W. Fu, “Point cloud upsampling via disentangled refinement,” in Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2021, pp. 344–353.
  • [14] R. Li, X. Li, C.-W. Fu, D. Cohen-Or, and P.-A. Heng, “Pu-gan: a point cloud upsampling adversarial network,” in Proceedings of the IEEE/CVF International Conference on Computer Vision, 2019, pp. 7203–7212.
  • [15] L. Yu, X. Li, C.-W. Fu, D. Cohen-Or, and P.-A. Heng, “Pu-net: Point cloud upsampling network,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018, pp. 2790–2799.
  • [16] F. Bernardini, J. Mittleman, H. Rushmeier, C. Silva, and G. Taubin, “The ball-pivoting algorithm for surface reconstruction,” IEEE transactions on visualization and computer graphics, vol. 5, no. 4, pp. 349–359, 1999.
  • [17] J. Digne and C. De Franchis, “The bilateral filter for point clouds,” Image Processing On Line, vol. 7, pp. 278–287, 2017.
  • [18] H. Huang, S. Wu, M. Gong, D. Cohen-Or, U. Ascher, and H. Zhang, “Edge-aware point set resampling,” ACM transactions on graphics (TOG), vol. 32, no. 1, pp. 1–12, 2013.
  • [19] F. Cazals and M. Pouget, “Estimating differential quantities using polynomial fitting of osculating jets,” Computer Aided Geometric Design, vol. 22, no. 2, pp. 121–146, 2005.
  • [20] M. Alexa, J. Behr, D. Cohen-Or, S. Fleishman, D. Levin, and C. T. Silva, “Point set surfaces,” in Proceedings Visualization, 2001. VIS’01.   IEEE, 2001, pp. 21–29.
  • [21] H. Avron, A. Sharf, C. Greif, and D. Cohen-Or, “l1-sparse reconstruction of sharp point set surfaces,” ACM Transactions on Graphics (TOG), vol. 29, no. 5, pp. 1–12, 2010.
  • [22] E. Mattei and A. Castrodad, “Point cloud denoising via moving rpca,” in Computer Graphics Forum, vol. 36.   Wiley Online Library, 2017, pp. 123–137.
  • [23] F. Zaman, Y. P. Wong, and B. Y. Ng, “Density-based denoising of point cloud,” in 9th International Conference on Robotic, Vision, Signal Processing and Power Applications.   Springer, 2017, pp. 287–295.
  • [24] C. R. Qi, H. Su, K. Mo, and L. J. Guibas, “Pointnet: Deep learning on point sets for 3d classification and segmentation,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2017, pp. 652–660.
  • [25] C. Duan, S. Chen, and J. Kovacevic, “3d point cloud denoising via deep neural network based local surface estimation,” in ICASSP 2019-2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).   IEEE, 2019, pp. 8553–8557.
  • [26] R. Roveri, A. C. Öztireli, I. Pandele, and M. Gross, “Pointpronets: Consolidation of point clouds with convolutional neural networks,” in Computer Graphics Forum, vol. 37, no. 2.   Wiley Online Library, 2018, pp. 87–99.
  • [27] M.-J. Rakotosaona, V. La Barbera, P. Guerrero, N. J. Mitra, and M. Ovsjanikov, “Pointcleannet: Learning to denoise and remove outliers from dense point clouds,” in Computer Graphics Forum, vol. 39.   Wiley Online Library, 2020, pp. 185–203.
  • [28] P. Hermosilla, T. Ritschel, and T. Ropinski, “Total denoising: Unsupervised learning of 3d point cloud cleaning,” in Proceedings of the IEEE/CVF International Conference on Computer Vision, 2019, pp. 52–60.
  • [29] F. Pistilli, G. Fracastoro, D. Valsesia, and E. Magli, “Learning graph-convolutional representations for point cloud denoising,” in European Conference on Computer Vision.   Springer, 2020, pp. 103–118.
  • [30] W. Hu, Q. Hu, Z. Wang, and X. Gao, “Dynamic point cloud denoising via manifold-to-manifold distance,” IEEE Transactions on Image Processing, vol. 30, pp. 6168–6183, 2021.
  • [31] S. Luo and W. Hu, “Differentiable manifold reconstruction for point cloud denoising,” in Proceedings of the 28th ACM International Conference on Multimedia, 2020, pp. 1330–1338.
  • [32] Y. Wang, S. Wu, H. Huang, D. Cohen-Or, and O. Sorkine-Hornung, “Patch-based progressive 3d point set upsampling,” in Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2019, pp. 5958–5967.
  • [33] Y. Wang, Y. Sun, Z. Liu, S. E. Sarma, M. M. Bronstein, and J. M. Solomon, “Dynamic graph cnn for learning on point clouds,” Acm Transactions On Graphics (tog), vol. 38, no. 5, pp. 1–12, 2019.
  • [34] C. R. Qi, L. Yi, H. Su, and L. J. Guibas, “Pointnet++: Deep hierarchical feature learning on point sets in a metric space,” in Proceedings of the 31st International Conference on Neural Information Processing Systems, ser. NIPS’17.   Red Hook, NY, USA: Curran Associates Inc., 2017, p. 5105–5114.
  • [35] M. Gschwandtner, R. Kwitt, A. Uhl, and W. Pree, “Blensor: Blender sensor simulation toolbox,” in International Symposium on Visual Computing.   Springer, 2011, pp. 199–208.
  • [36] A. Serna, B. Marcotegui, F. Goulette, and J.-E. Deschaud, “Paris-rue-madame database,” in Proceedings of the 3rd International Conference on Pattern Recognition Applications and Methods, ser. ICPRAM 2014.   Setubal, PRT: SCITEPRESS - Science and Technology Publications, Lda, 2014, p. 819–824. [Online]. Available: https://doi.org/10.5220/0004934808190824
  • [37] J. Zeng, G. Cheung, M. Ng, J. Pang, and C. Yang, “3d point cloud denoising using graph laplacian regularization of a low dimensional manifold model,” IEEE Transactions on Image Processing, vol. 29, pp. 3474–3489, 2019.
  • [38] C. Luo, X. Ge, and Y. Wang, “Uniformization and density adaptation for point cloud data via graph laplacian,” in Computer Graphics Forum, vol. 37.   Wiley Online Library, 2018, pp. 325–337.
  • [39] M. Kazhdan and H. Hoppe, “Screened poisson surface reconstruction,” ACM Transactions on Graphics (ToG), vol. 32, no. 3, pp. 1–13, 2013.
[Uncaptioned image] Tian-Xing Xu received his bachelor’s degree from Tsinghua University in 2021, where he is currently pursuing the PhD degree in the Department of Computer Science and Technology. His research interests include 3D computer vision.
[Uncaptioned image] Yuan-Chen Guo received his bachelor’s degree from Tsinghua University in 2019, where he is currently pursuing the PhD degree in the Department of Computer Science and Technology. His research interests include computer graphics and computer vision.
[Uncaptioned image] Yong-Liang Yang is a Senior Lecturer in the Department of Computer Science, University of Bath. He received the B.S. degree and the Ph.D. degree of Computer Science from Tsinghua University. His research interests are broadly in visual computing and interactive techniques.
[Uncaptioned image] Song-Hai Zhang received the PhD degree of Computer Science and Technology from Tsinghua University, Beijing, in 2007. He is currently an associate professor in the Department of Computer Science and Technology at Tsinghua University. His research interests include computer graphics, virtual reality and image/video processing.