View
226
Download
0
Category
Tags:
Preview:
Citation preview
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
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
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
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?
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.
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
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?
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
Normal Estimation for Noisy PCD Symposium on Computational Geometry
Deceptive Case
Collusive noise
Normal Estimation for Noisy PCD Symposium on Computational Geometry
Deceptive Cases
Collusive noise
Curvature effect
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
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
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.
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
Normal Estimation for Noisy PCD Symposium on Computational Geometry
Proof Idea
Eigen-analysis of covariance matrix
2221
1211
mm
mmM
Normal Estimation for Noisy PCD Symposium on Computational Geometry
Proof Idea
covariance matrix let,
=(|m12|+m22)/m11
2221
1211
mm
mmM
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
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
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
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
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
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
Normal Estimation for Noisy PCD Symposium on Computational Geometry
Experiments in 2D
2
2
3)1()1( )1(rr
rerror nn
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
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
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
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
Normal Estimation for Noisy PCD Symposium on Computational Geometry
Effect of Curvature on Neighborhood Size
1x noise
Normal Estimation for Noisy PCD Symposium on Computational Geometry
Effect of Noise on Neighborhood Size
2x noise1x noise
Normal Estimation for Noisy PCD Symposium on Computational Geometry
Estimation Error > 5
2x noise1x noise
o
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
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
Normal Estimation for Noisy PCD Symposium on Computational Geometry
Different Noise Distribution (same variance)
uniform gaussian
Normal Estimation for Noisy PCD Symposium on Computational Geometry
Result: phone
1x noise
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
Recommended