POINT CLOUD DENOISING USING ROBUST PRINCIPAL

COMPONENT ANALYSIS

Esmeide A. Leal Narváez, Nallig Eduardo Leal Narváez

Faculty of Engineering, University of Antioquia, Cl 67 No 53 – 108, Medellín, Colombia

Keywords: Point Cloud Denoising, PCA, Robust Estimation, Shrinkage, Smoothing.

Abstract: This paper presents a new method for filtering noise occurring in point cloud sampled data. The method

smoothes the data set whereas preserves sharp features. We propose a new weighted variant of the principal

component analysis method, which instead of using exponential weighting factors inversely proportional to

the Euclidean distance to the mean, which is computationally expensive, uses weighting factors assignment

by inversely proportional repartition of the sum of distance to the mean. The determination of weighted

factors by means of inverse proportional repartition makes our variant robust to outliers. Additionally, we

propose a simple solution to the problem of data shrinkage produced by the linear local fitting of the

principal component analysis. The proposed method is simple, easy to implement, and effective for noise

filtering.

1 INTRODUCTION

Data filtering is a task of vital importance in areas

like signal processing, statistical analysis, computer

vision and 3D object reconstruction. In these areas

there is a huge information quantity, represented by

discrete samples, which need to be processed for

reducing the noise produced by devices in the

acquisition process. Though 3D reconstruction

applications have been growing due to the

improvements in the 3D scanner technology, there is

a remaining problem: the raw data produced by 3D

scanners are noisy and are far away of being used

directly into the 3D reconstruction process without a

previous processing.

The development of robust point clouds

denoising algorithms has received much attention in

last years. The goal of such algorithms is either to

remove or to reduce the noise in the data, whereas

preserving sharp features on the original surface

model. So far, researches in the field of digital image

filtering have been adapted for point clouds filtering

algorithms. Nevertheless, the adaptation of

algorithms for digital image filtering to point clouds

filtering is not direct, due to three main reasons:

irregularity, shrinkage, and drifting. The irregularity

refers to the irregular sampling density of the point

clouds. The shrinkage and the drifting refer to the

volume reduction and the spatial displacement

suffered by the points, which are produced by the

use of the mean instead of the data points

(Fleishman, 2003).

Principal Component Analysis (PCA), initially

used for digital image processing, has been adapted

for point clouds processing (Gumhold, 2001, Pauly,

2002). This adaptation has a drawback: PCA is

highly sensitive to the outliers present in the point

clouds. There are several variants that fix this

drawback (Rousseeuw, 1999, De la Torre, 2001,

Skokal, 2002, Hubert, 2005), almost all of them are

based on robust statistics (Huber, 1981). Such

variants, called robust or weighted PCA, improve

the PCA, making it less sensitive to the outliers.

However, the robust PCA variants use exponential

weighting factors to correct the outlier problem,

which is computationally expensive.

This paper presents a new method for point

clouds denoising. Our method first calculates a

weighted mean. The weighting factors assignment of

the mean is achieved by inversely proportional

distributing the sum of distances to the mean. Then,

using the weighting factors and the mean, the

method constructs a covariance matrix and realizes

an eigen-analysis of such matrix. In this way it is

obtained a fitting plane expanded by the

eigenvectors corresponding to the largest

eigenvalues, and a normal vector to the plane, which

51

A. Leal Narváez E. and Eduardo Leal Narváez N. (2006).

POINT CLOUD DENOISING USING ROBUST PRINCIPAL COMPONENT ANALYSIS.

In Proceedings of the First International Conference on Computer Graphics Theory and Applications, pages 51-58

DOI: 10.5220/0001358900510058

Copyright

c

SciTePress

is oriented in the direction of the third eigenvector

corresponding to the smallest eigenvalue. Then, a

displacement of the neighbourhood mean along the

normal vector is achieved in order to preserve sharp

features.

The main contributions of this work are: i) a

simple method for point clouds denoising that does

not require a either previous mesh representation,

nor local polynomial fitting, ii) a simple approach to

prevent the shrinkage problem, and iii) a mechanism

for bias reduction. Our method is robust to outliers,

fast and easy to implement.

The remainder of this paper is organized as

follows. In section 2, related work dealing with

mesh and point clouds denoising algorithms are

presented. In section 3, a short review of principal

component analysis is presented. In section 4, the

stages of our method are explained. In section 5, the

results of our method are shown. In section 6,

conclusions and future work are discussed.

2 RELATED WORK

Point clouds have become a primitive for surface

representation and geometric modelling; however

such point clouds are noisy due to the inherent noise

of the acquisition devices. Point clouds should be

noise free for using in 3D reconstruction. Recently, a

great research effort has been done in mesh and

point clouds denoising and smoothing, producing

numerous algorithms.

Taubin (Taubin, 1995) applies in mesh

smooting a discrete version of the Laplacian

Operator, which is taken from signal processing. The

method is linear in both time and memory.

Desbrum et al. (Desbrum, 1999, Desbrum,

2000) and Bajaj (Bajaj, 2003) successfully use

anisotropic diffusion over meshes, in order to

improve the smoothing in reasonable time.

Peng et al. (Peng, 2001) use locally adaptive

Wiener filtering for denoising geometric data

represented as semiregular mesh. The algorithm

allows interactive local denoising.

Pauly and Gross (Pauly, 2001) apply Wiener

filtering to restore surfaces from point clouds in

presence of blur and noise.

Fleishman et al. (Fleishman, 2003) and Jones et

al. (Jones, 2003) have independently proposed the

use of Bilateral filtering based on robust statistics for

features preserving and mesh smoothing.

Mederos et al. (Mederos, 2003) follows the

same approach that Fleishman and Jones, by

modifying a high order fitting method, called

Moving Least Squares (MLS), to preserve sharp

features. Their approach also considers optimization

techniques for reducing the execution time of the

algorithm.

Choudhury and Tumblin, (Choudhury, 2003)

present a single-pass nonlinear filter for edge

preserving and smoothing. The method is called

Trilateral filtering and it is an evolution of the

Bilateral filtering. The filter produces better outlier

rejection and strong noise reduction than Bilateral

filtering.

Schall et al. (Schall, 2005) have proposed a

probabilistic method which consists of using a

kernel density estimation technique. It associates to

each point a local measure of probability to locate

the point into the surface. The method achieves

effectiveness result in filtering and robustness in

outliers detection.

3 PRINCIPAL COMPONENT

ANALYSIS

Principal Component Analysis (PCA) is a statistical

method that tries to explain the covariance structure

of data by means of various components expressed

as linear combinations of the original variables

(Hubert, 2005).

The first component of PCA corresponds to the

direction in which the projected data have the largest

variance. The second component is orthogonal to the

first component, and maximizes the variance of the

data points projected on it.

PCA is applied widely in bias identification into

data sets. It is used for data dimensionality reduction

and visualization (Jolliffe, 1986), data clustering

(Pauly, 2002) and pattern recognition (De la Torre,

2001). Despite the versatility of PCA, it is sensitive

to outliers present in data. Figure 1a shows a set of

points mainly concentrated at the low part of the

figure. Three of them, which are considered outliers,

are enclosed in red circles. The first component of

PCA, blue line, should indicate the main direction of

data dispersion, but it is observed a bias produced by

the outliers. Figure 1b shows the correction by

robust PCA.

The PCA, first take a set of neighbors

)(

i

pN

around a point

i

p

, next the neigborhood mean

i

p

is

estimated using (1). Finally, using (2), the

covariance matrix

CM

is obtained from the points

GRAPP 2006 - COMPUTER GRAPHICS THEORY AND APPLICATIONS

52

(a) (b)

Figure 1: Principal components of a dataset. (a) PCA (b)

Robust PCA.

and the neigborhood mean.

∑

=

=

n

j

j

i

p

n

p

1

1

,

)(

ij

pNp ∈

(1)

∑

=

−−=

n

j

T

i

j

i

j

pppp

n

CM

1

))((

1

(2)

It is observed that CM is a symmetric positive semi-

definite 3x3 matrix. The CM eigen-decomposition

produce the principal components with their

associated three eigenvectors

321

,, vvv

and three

real eigenvalues

321

λ

λ

λ

≤≤

. The eigenvalues

measure the variation of the points in the

neighborhood along of the directions of their

corresponding eigenvectors. The orthogonal

eigenvectors

32

,vv

define the directions of highest

variation and expand a fitting plane on the

neighborhood. The eigenvector

1

v

approximates the

normal vector

at

i

p

.

4 PROPOSED METHOD

The method has four stages: weights assignment for

the PCA by inversely proportional repartition,

features preservation, shrinkage prevention and bias

correction.

Starting from a noisy point set

}{

3

RpP

i

∈=

,

close to an unknown and smooth two dimensional

manifold boundary surface S, we want to determine

a noise free point set P’ that preserves the sharp

features of the surface from which they were

sampled. The main idea is to use a robust version of

PCA, which allows determining a local fitting plane

to a neighbourhood

)(

i

pN

, close enough to the

surface S. Such fitting plane is not influenced by the

outliers due to the weights assignment by inversely

proportional repartition. In addition, the PCA

establish an orthogonal unit vector to the plane in the

point

i

p

, which is an estimation of the true normal at

i

p

. Once we have the normal vector and the fitting

plane, we apply the operator

p

tnpp +='

(Alexa,

2001, Fleishman, 2003) to preserve sharp features of

S. Then, our method prevents the shrinkage and the

drifting by shifting the neigborhood mean projection

along the tangent plane. The bias produced by the

linear approximation of PCA is reduced by applying

the bootstrap method.

4.1 PCA and Inverse Repartition

The weights assignment by inversely proportional

repartition is the key of the robustness of our robust

PCA variant. The weights assignment is done

according to (3). In that way, we punish with small

weights the points farthest respect to the mean and

we recompense with large weights the points near to

the mean. Using inversely proportional repartition,

the outliers influence over the mean is reduced and

the principal components are not biased by them.

This weights estimation is neither computationally

expensive nor dependent of user parameters.

⎪

⎩

⎪

⎨

⎧

⋅

=

∑

=

cases other in ,

i

d

jmeani

i

pNDd

w

))((

1

,1

0

(3)

In (3)

∑

))((

jmean

pND is the sum of the

distances between the points in the neighborhood of

j

p

(including

j

p

) and the neighborhood mean,

i

d

is the Euclidian distance between the neighborhood

mean and a point

i

p

in the neighborhood. To

estimate the weighted mean

w

p

, robust to outliers,

we use (4). The weights are estimated for each point

in

)(

j

pN

, and we use this weights and the

weighted mean to compute the weighted covariance

matrix, using (5).

∑

∑

=

i

ii

w

w

pw

p

(4)

Wpppp

n

CM

n

i

T

wiwiw

∑

=

−−=

1

))((

1

(5)

POINT CLOUD DENOISING USING ROBUST PRINCIPAL COMPONENT ANALYSIS

53

where CM

w

is the weighted covariance matrix,

{

}

n

wwW ,...,

1

=

, are the weighs associated to

each point

)(

ji

pNp ∈

.

Once we have already estimated the covariance

matrix, its eigen-analysis produces a robust PCA.

Figure 1b, shows the correction of the problem using

our PCA variant, including the inverse repartition.

These variations let our algorithm detect outliers and

made it robust to noise.

4.2 Features Preservation

To prevent over smoothing of the point cloud and, in

consequence, the lost of sharp features, we apply a

shift to the mean along of the normal direction. We

obtain the new position of the mean using (6).

pmw

ntpp

+

='

(6)

where

'p

, is the new position of the mean,

w

p

is the

original weighted mean estimated by (4),

p

n

is the

normal approximation to the plane at

i

p

, given by

the robust PCA, and

m

t

is the displacement

calculated by (7).

∑

∈

−=

)(

)(

pNp

w

ipm

i

ppnmeant

(7)

The above quantity, under the constraint

1=

p

n

, is taken as the minimal height needed for

displacing the mean along of the normal direction.

4.3 Shrinkage Prevention

Linear fitting algorithms are based on the mean of

the neighborhood around a point

i

p

, this produce

data shrinkage, because these algorithms use the

neighborhood centroid

'p

(free of noise) instead of

the original point

i

p

. We correct this problem by

applying a shift to the centroid

'p

, in the direction

of the projection of the vector

'pp −

onto the

tangent plane to the neighborhood. The centroid

'p

is on the tangent plane and

i

p

is on the point cloud,

as it is shown Figure 2.

Figure 2: Data shrinkage prevention.

The new centroid

dis

p'

is calculated using (8).

'' pOrthop

dis

+=

(8)

TTppOrtho ),( −=

(9)

where Ortho, is the orthogonal projection of the

vector

'pp −

onto the neighbourhood tangent plane

T in

'p

, and

⋅

is the dot product operator. Figure

3a shows data points sampled from a synthetic curve

(blue dots) and its corresponding noisy data (red

dots). Figure 3b shows the smoothed noisy data

without shrinkage prevention (green dots) and

Figure 3c shows the correction of the shrinkage

problem after applying (8). It is important to note

that for a correct application of (8), the surface must

be sufficiently sampled in regions with high

curvatures.

4.4 Bias Correction

An additional problem introduced by the linear

fitting is the bias between the original point and the

neighborhood mean. We correct this problem using

bootstrap bias correction (Martinez, 2002). We first

perform a pass using our PCA variant; then, we

perform a second pass including the bootstrap bias

correction according to (10). Figure 4 shows the bias

problem and its correction. Figure 4a shows data

points sampled from a synthetic curve (blue dots)

and its corresponding noisy data (red dots). Figure

4b shows the smoothed noisy data with bias (green

dots) and Figure 4c shows the bias reduction (the

green dots are closer to the blue dots) after the

application of the bootstrap. The bootstrap is an

iterative method, but in our experimental test, a

single iteration was sufficient.

=

−= pp biasCorr

_

2

(10)

where

∑

=

=

n

i

i

p

n

p

1

1

, is the new neighborhood

mean after the second pass.

GRAPP 2006 - COMPUTER GRAPHICS THEORY AND APPLICATIONS

54

(a) (b) (c)

Figure 3: Shrinkage problem. (a) Noisy data represented by red dots (b) Smoothed data with shrinkage problem, represented

by green dots (c) Smoothed data with shrinkage prevention using (8).

(a) (b) (c)

Figure 4: Bias correction (a) Noisy data represented by red dots (b) Smoothed data with bias problem, represented by green

dots (c) Smoothed data with bias reduction prevention using (10).

5 ANALYSIS AND RESULTS

The proposed method has been tested in 2D and 3D

data sets. The tests were run on a 1.5 GHz Athlon

AMD, with 512 MB of RAM. The result shows that

our algorithm has a good behaviour with different

noise levels. Figure 3, used to illustrate the

shrinkage problem correction, shows a synthetic data

set corrupted with Gaussian noise (

σ

= 1% of the

average spacing between the points). The points

were sampled from a parabola in the interval [-1, 1].

We observe how the algorithm controls the data

shrinkage by applying (8), as shows Figure 3c (green

points), in contrast with shown in Figure 3b, where

the shrinkage prevention has not been applied (green

points). The data shrinkage problem is more evident

at the extremes. In our tests, the proposed method

for preventing the shrinkage problem allowed to

reduce the relative error, between the real and the

approximated volume, from 34% to 10%.

The parabola data set (Figure 4) is also used to

illustrate de bias problem. In one hand we observe

the bias between the data points mean (green dots)

and the original data points (blue dots). In the other

hand, we observe in Figure 4c, the result of applying

the bootstrap bias correction (green dots are closer to

the blue dots). In our tests, after applying (10) the

bias reduction reaches a 57%, i.e. the distance

between the real data points and the smoothed data

points after applying the bootstrap technique was

reduced until a 43% of the initial distance.

The data sets used to illustrate the result of our

method for point cloud denoising were corrupted

with Gaussian noise (zero mean and variance

σ

)

along of the normal direction. We specified the noise

magnitude as a percentage of the average z

coordinate or the diagonal of the bounding box of

the point cloud.

Figure 5 shows a cube model corrupted with

Gaussian noise (

σ

= 5% of z coordinate average).

We observe how our algorithm preserves sharp

features (corners and edges) while smoothes the

point cloud.

In Figures 6 the Max Planck model (50k points)

corrupted with Gaussian noise (

σ

= 0.08% of

diagonal of the bounding box) is shown. The model

was smoothed in 13 seconds. Figures 7 and 8 show

the Venus model (70k points) corrupted with

Gaussian noise (

σ

= 0.05% and

σ

= 0.025% of the

diagonal of the bounding box respectively). The

model was smoothed in 19 seconds. In Figure 9 a

bird model was corrupted with Gaussian noise (

σ

=

0.1% of z coordinate average) to illustrate the model

detail before and after applying our algorithm. It is

observed the effectiveness of the method eliminating

the noise and preserving the features.

POINT CLOUD DENOISING USING ROBUST PRINCIPAL COMPONENT ANALYSIS

55

(a) (b) (c)

Figure 5: Sharp features preservation. (a) Original cube model (b) Cube model corrupted model with Gaussian noise (c)

Corrupted cube model after filtering.

(a) (b) (c)

Figure 6: Max Planck model. (a) Original Max Planck model. (b) Max Planck model corrupted with Gaussian noise (c)

Corrupted Max Planck model after filtering.

(a) (b) (c)

Figure 7: Venus model left view. (a) Original Venus model. (b) Venus model corrupted with Gaussian noise (c) Corrupted

Venus model after filtering.

GRAPP 2006 - COMPUTER GRAPHICS THEORY AND APPLICATIONS

56

(a) (b) (c)

Figure 8: Venus model right view. (a) Original Venus model. (b) Venus model corrupted with Gaussian noise (c) Corrupted

Venus model after filtering.

(a) (b)

Figure 9: Bird model. (a) Bird model corrupted with Gaussian noise (b) Corrupted bird model after filtering.

6 CONCLUSION AND FUTURE

WORK

In this paper we have presented a new and robust

method for point clouds denoising. The method is a

PCA variant that preserves sharp features of the

original surface. In contrast with previous work, our

method does not require high order local fitting

algorithms (like MLS), or global approximation to

surface (like triangular meshes or graphs). The

proposed method operates directly on the points and

does not require neither nonlinear optimization

algorithms nor parameters provided by users. The

method is computationally efficient and easy to

implement.

There is a way to improve our method using an

adaptive neighborhood size instead fixed size. The

neighborhood size should depend on the local

characteristics like curvature and density, this will

allow a better normal estimation and, in

consequence, would improve the application of the

operator

p

tnpp

+

=

'

. Taking into account the local

curvature, we can reduce the bias between the

neighborhood mean and the data point, in this way,

we are closer to the point of the original surface.

REFERENCES

Alexa, M., Behr, J., Cohen-Or, D., Fleishman, S., Levin,

D., and Silva, C.T., 2001. Point set surfaces. In

Proceedings of the Conference on Visualization, pages

21-28. IEEE Computer Society.

POINT CLOUD DENOISING USING ROBUST PRINCIPAL COMPONENT ANALYSIS

57

Bajaj, C., L., and XU, G. 2003. Anisotropic diffusion of

subdivision surfaces and functions on surfaces. ACM

Transactions on Graphics (TOG) 22, 1, 4–32.

Choudhury, P., and Tumblin, J., 2003. The Trilateral Filter

for High Contrast Images and Meshes. Eurographics

Symposium on Rendering, pp. 1.11

De la Torre, F., and Black, M.J., 2001. Robust principal

component analysis for computer vision. In ICCV’01,

I: 362–369.

Desbrun, M., Meyer, M., Schroder, P., and Barr, A. H.

1999. Implicit Fairing of Irregular Meshes Using

Diffusion and Curvature Flow. In Proceedings of

SIGGRAPH, 317–324.

Desbrun, M., Meyer, M., Schroder, P., and Barr, A. H.

2000. Anisotropic Feature-Preserving Denoising of

Height fields and Bivariate Data. In Graphics

Interface, 145–152.

Fleishman, S., Drori, I., and Cohen-Or, D., 2003. Bilateral

mesh denoising. ACM Transactions on Graphics

(TOG), 22(3):950-953.

Gumhold, S., Wang, X., and MacLeod, R., 2001. Feature

extraction from point clouds. In 10th International

Meshing Roundtable, Sandia National Laboratories,

pages 293-305, October.

Huber, P. J., 1981. Robust Statistics. John Wiley and Sons.

Hubert, M., Rousseuw, P.J., and Branden, K.V., 2005.

ROBPCA: A New Approach to Robust Principal

Component. Analysis.Technometrics, February, VOL.

47, NO. 1.

Jolliffe, I., 1986. Principal Component Analysis. New

York:Springer-Verlag.

Jones, T. R., Durand, F., and Desbrun, M., 2003. Non-

iterative, feature-preserving mesh smoothing. ACM

Transactions on Graphics (TOG), 22(3):943-949.

Martinez, W.L., and Martinez, A.R., 2002. Computational

statistics handbook with Matlab. Chapman &

Hall/CRC.

Mederos, B., Velho L., and De Figueiredo L. H., 2003.

Robust smoothing of noisy point clouds. In Proc.

SIAM Conference on Geometric Design and

Computing (Seattle, USA), Nashboro Press.

Pauly, M., Gross, M., and Kobbelt, L., 2002. Efficient

simplification of point-sampled surfaces. IEEE

Vizualization, pp. 163–170.

Pauly, M., and M. Gross., 2001. Spectral processing of

point-sampled geometry. Proc. ACM SIGGRAPH, pp.

279–386.

Peng, J., Strela, V., and Zorin, D. 2001. A Simple

Algorithm for Surface Denoising. In Proceedings of

IEEE Visualization, 107–112.

Rousseeuw, P. J., and Driessen, K.V., 1999. A Fast

Algorithm for the Minimum Covariance Determinant

Estimator. Technometrics, 41, 212–223.

Skocal, D., and Leonardis, A., 2002. Weighted

Incremental Subspace Learning. Proceedings of

Workshop on Cognitive Vision. Zurich, Sep.

Schall, O., Belyaev, A., and Seidel, H., 2005. Robust

Filtering of Noisy Scattered Point Data. Eurographics

Symposium on Point-Based Graphics.

Taubin, G., 1995. A Signal Processing Approach to Fair

Surface Design. In Proceedings of SIGGRAPH, 351–

358.

GRAPP 2006 - COMPUTER GRAPHICS THEORY AND APPLICATIONS

58