36
Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Estimating Surface Normals in Noisy Point Cloud Data

Niloy J. Mitra, An Nguyen

Stanford University

Page 2: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

The Normal Estimation Problem Given

Noisy PCD sampled from a curve/surface

Page 3: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

The Normal Estimation Problem Given

Noisy PCD sampled from a curve/surface

GoalCompute surface normals at each point p

Error bound the normal estimates

Page 4: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

A Standard Solution

Use least square fit to a neighborhood of radius r around point p

Page 5: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

A Standard Solution

Use least square fit to a neighborhood of radius r around point p

PROBLEM !! what neighborhood size to choose?

Page 6: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Contributions of this paper

Study the effects of curvature, noise, sampling density on the choice of neighborhood size.

Use this insight to choose an optimal neighborhood size.

Compute bound on the estimation error.

Page 7: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Outline

Problem statement Related work Neighborhood Size Estimation

Analysis in 2D and 3D Applications

Future Work

Page 8: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Related Work

Surface reconstruction crust, cocone, etc Guarantees about the surface normals Mostly works in absence of noise

Curve/Surface fitting pointShop3D, point-set Works in presence of noise Performance guarantees?

Page 9: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Least Square Fit Assume

best fit hyperplane: aTp=c Minimize

Reduces to the eigen-analysis ofthe covariance matrix

Smallest eigenvector of M is the estimate of the normal

k

ii

T cpak 1

2)(1

Ti

k

ii pppp

kM

1

1

aTp=c

Page 10: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Deceptive Case

Collusive noise

Page 11: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Deceptive Cases

Collusive noise

Curvature effect

Page 12: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Outline

Problem statement Related work Neighborhood Size Estimation

Analysis in 2D and 3D Applications

Future Work

Page 13: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Assumptions

Noise Independent of measurement Zero mean Variance is known (noise need not be bounded)

Data Sampling criterion satisfied Evenly distributed data

To prevent biased estimates Curvature is bounded

Page 14: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Sampling Criteria (2D)

Sampling density

• lower bound (like Nyquist rate)

• upper bound (to prevent biased fits)

Evenly distributed

Number of points in a disc of radius r bounded above and below by (1)r

(,) sampling condition [Dey et. al.] implies evenly distributed.

Page 15: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Modeling (2D)

At a point O

Points of PCD inside a disc of radius r comes from a segment of the curve

y = g(x) define the curve for all x[-r,r] Bounded curvature: |g’’(x)|< for all x Additive Noise(n) in y-direction (x,g(x)+n) r, n/r assumed to be small

xy

2r

O

Page 16: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Proof Idea

Eigen-analysis of covariance matrix

2221

1211

mm

mmM

Page 17: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Proof Idea

covariance matrix let,

=(|m12|+m22)/m11

2221

1211

mm

mmM

Page 18: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Proof Idea

covariance matrix let, =(|m12|+m22)/m11

error angle bounded by,

to bound estimation error, need to bound

2221

1211

mm

mmM

21

)1(

)1(tan

Page 19: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Bounding Terms of M

For evenly distributed samples it follows,

22

11 )1()(1

rxxk

m i

))(1()(1 2422

22 nryyk

m i

?|| 12 m

2221

1211

mm

mmM

Page 20: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Bounding m12

Evenly sampled distribution Noise and measurement are uncorrelated

E(xn)= E(x)E(n)= 0 Var(xn)= (1)r2n

2

Chebyshev Inequality bound with probability (1-)

Finally,

r

rm n)1()1(|| 312

i

ii xnEnxk

)(1

2221

1211

mm

mmM

Page 21: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Bounding Estimation Error

=(|m12|+m22)/m11

22

11 )1()(1

rxxk

m i

))(1()(1 2422

22 nryyk

m i

r

rm n)1()1(|| 312

Page 22: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Final Result in 2D

2

2

3)1()1()1(rr

r nn

• = 0,

take as large a neighborhood as possible

Page 23: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Final Result in 2D

2

2

3)1()1()1(rr

r nn

• = 0, take as large a neighborhood as possible

• n= 0

take as small a neighborhood as possible

Page 24: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Experiments in 2D

2

2

3)1()1( )1(rr

rerror nn

Page 25: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Result for 3D

222 /)1()/()1()1( rrrerror nn

A similar but involved analysis results in,

A good choice of r is,

3/1

221

1

n

n ccr

Page 26: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

How can we use this result?

Need to know estimate suitable values for estimate locally

3/1

221

1

n

n ccr

Page 27: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Estimating c1, c2

Exact normals known at almost all points

3/1

221

1

n

n ccr

c1=1, c2=4

• same constants used for

following results

Page 28: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Algorithm

For each point, start with k =15 Iterate and refine (maximum of 10 steps)

Compute r, , [Gumhold et al.] locally Use them to compute rnew

knew = rnew2 old

Stop if k>threshold k saturates

Page 29: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Effect of Curvature on Neighborhood Size

1x noise

Page 30: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Effect of Noise on Neighborhood Size

2x noise1x noise

Page 31: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Estimation Error > 5

2x noise1x noise

o

Page 32: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Increasing Noise

1x noise 2x noise 4x noise

Can still get good estimates in flat areas

Page 33: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Future Work

How to find a suitable neighborhood size for good curvature estimation

Find a better way for estimating c1, c2

Design of a sparse query data structure for quick extraction of normal, curvature, etc from PCDs

Page 34: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Different Noise Distribution (same variance)

uniform gaussian

Page 35: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Result: phone

1x noise

Page 36: Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University

Normal Estimation for Noisy PCD Symposium on Computational Geometry

Varying neighborhood size

Neighborhood size at all points being shown using color-coding. Purple denotes the smallest neighborhood and turns blue as the neighborhood size increases