Title: Estimating Surface Normals in Noisy Point Cloud Data
1Estimating Surface Normals in Noisy Point Cloud
Data
- Niloy J. Mitra, An Nguyen
Stanford University
2The Normal Estimation Problem
- GivenNoisy PCD sampled from a curve/surface
-
-
-
3The Normal Estimation Problem
- GivenNoisy PCD sampled from a curve/surface
- GoalCompute surface normals at each point p
- Error bound the normal estimates
4A Standard Solution
- Use least square fit to a neighborhood of
- radius r around point p
5A Standard Solution
- Use least square fit to a neighborhood of
- radius r around point p
- PROBLEM !! what neighborhood size to choose?
6Contributions 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.
7Outline
- Problem statement
- Related work
- Neighborhood Size Estimation
- Analysis in 2D and 3D
- Applications
- Future Work
8Related 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?
9Least Square Fit
- Assume
- best fit hyperplane aTpc
- Minimize
- Reduces to the eigen-analysis ofthe covariance
matrix - Smallest eigenvector of M is the estimate of the
normal
10Deceptive Case
11Deceptive Cases
12Outline
- Problem statement
- Related work
- Neighborhood Size Estimation
- Analysis in 2D and 3D
- Applications
- Future Work
13Assumptions
- 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
14Sampling 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.
15Modeling (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)lt? for all x
- Additive Noise(n) in y-direction (x,g(x)n)
- ?r, ?n/r assumed to be small
16Proof Idea
- Eigen-analysis of covariance matrix
17Proof Idea
- covariance matrix
- let, ?(m12m22)/m11
18Proof Idea
- covariance matrix
- let, ?(m12m22)/m11
- error angle bounded by,
- to bound estimation error, need to bound ?
19Bounding Terms of M
- For evenly distributed samples it follows,
20Bounding m12
- Evenly sampled distribution
- Noise and measurement are uncorrelated
- E(xn) E(x)E(n) 0
- Var(xn) ?(1)r2?n2
- Chebyshev Inequality
- bound with probability (1-?)
- Finally,
21Bounding Estimation Error
22Final Result in 2D
- ? 0,
- take as large a neighborhood as possible
23Final Result in 2D
- ? 0, take as large a neighborhood as possible
- ?n 0
- take as small a neighborhood as possible
24Experiments in 2D
25Result for 3D
- A similar but involved analysis results in,
-
- A good choice of r is,
26How can we use this result?
-
- Need to
- know
- estimate suitable values for
- estimate locally
27Estimating c1, c2
Exact normals known at almost all points
- c11, c24
- same constants used for
- following results
28Algorithm
- 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
- kgtthreshold
- k saturates
29Effect of Curvature on Neighborhood Size
1x noise
30Effect of Noise on Neighborhood Size
2x noise
1x noise
31Estimation Error gt 5
o
2x noise
1x noise
32Increasing Noise
Can still get good estimates in flat areas
1x noise
2x noise
4x noise
33Future 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
34Different Noise Distribution (same variance)
gaussian
uniform
35Result phone
1x noise
36Varying 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