360 likes | 487 Views
Estimating Surface Normals in Noisy Point Cloud Data. Niloy J. Mitra, An Nguyen. Stanford University. The Normal Estimation Problem. Given Noisy PCD sampled from a curve/surface. The Normal Estimation Problem. Given Noisy PCD sampled from a curve/surface
E N D
Estimating Surface Normals in Noisy Point Cloud Data Niloy J. Mitra, An Nguyen Stanford University
The Normal Estimation Problem • GivenNoisy PCD sampled from a curve/surface
The Normal Estimation Problem • GivenNoisy PCD sampled from a curve/surface • GoalCompute surface normals at each point p Error bound the normal estimates
A Standard Solution Use least square fit to a neighborhood of radius r around point p
A Standard Solution Use least square fit to a neighborhood of radius r around point p PROBLEM !!what neighborhood size to choose?
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.
Outline • Problem statement • Related work • Neighborhood Size Estimation • Analysis in 2D and 3D • Applications • Future Work
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?
aTp=c 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
Collusive noise Deceptive Case
Collusive noise Curvature effect Deceptive Cases
Outline • Problem statement • Related work • Neighborhood Size Estimation • Analysis in 2D and 3D • Applications • Future Work
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
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.
O y x 2r 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
Proof Idea • Eigen-analysis of covariance matrix
Proof Idea • covariance matrix • let, =(|m12|+m22)/m11
Proof Idea • covariance matrix • let, =(|m12|+m22)/m11 • error angle bounded by, • to bound estimation error, need to bound
Bounding Terms of M • For evenly distributed samples it follows,
Bounding m12 • Evenly sampled distribution • Noise and measurement are uncorrelated • E(xn)= E(x)E(n)= 0 • Var(xn)= (1)r2n2 • Chebyshev Inequality • bound with probability (1-) • Finally,
Bounding Estimation Error =(|m12|+m22)/m11
Final Result in 2D • = 0, • take as large a neighborhood as possible
Final Result in 2D • = 0, take as large a neighborhood as possible • n= 0 • take as small a neighborhood as possible
Result for 3D A similar but involved analysis results in, A good choice of r is,
How can we use this result? • Need to • know • estimate suitable values for • estimate locally
Estimating c1, c2 Exact normals known at almost all points • c1=1, c2=4 • same constants used for • following results
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 • ksaturates
Effect of Noise on Neighborhood Size 2x noise 1x noise
Estimation Error > 5 o 2x noise 1x noise
Increasing Noise Can still get good estimates in flat areas 1x noise 2x noise 4x noise
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
Different Noise Distribution (same variance) gaussian uniform
Result: phone 1x noise
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