Reverse Engineering of Point Clouds to Obtain Tensor...
Transcript of Reverse Engineering of Point Clouds to Obtain Tensor...
Reverse Engineering of Point Clouds to Obtain Tensor Product B-Spline
Surfaces
Lavanya Sita Tekumalla
Advisor:
Prof. Elaine Cohen
School of Computing University of Utah
Masters Thesis Defense
Motivation
Digitizing Geometry• CAD Modeling• Field of Entertainment
Aim• Reverse Engineering segmented
point clouds to obtain tensor product B-splines
http://www.qcinspect.com/rev.htm
Problem definition
Dealing with problems associated with point clouds
• Large data sets• Noise• Holes and missing data
Problem Definition
Finding a Suitable Parameterization• Minimum distortion• Intuitive parameterization• A rectangular boundary for fitting
tensor product surfaces
Problem Definition
Finding a good fitting strategy• Capture detail: Knot placement• Computation speed
Background Moving Least Squares
• Weighted Least Squares fit
• Moving least square fit at point (xj , yj)– The weighting function defined from the
point of view of (xj , yj)
2( ( ) ) ( )i i j
i
Min f x y w i−∑
BackgroundMLS Projection
• A given point set implicitly defines a surface S
• A projection procedure F such that
• S is the set of all points that project onto themselves
( ) ( ( ))F x F F x=
Previous Work: Hole Filling
• Whitaker, R.: “A Level-set Approach to 3D Reconstruction from range data”
• Curless B., Levoy M., “A Volumetric Method for Building Complex Models from Range Images”, Proc. SIGGRAPH ’96.
• J. C. Carr, R. K. Beatson, J.B. Cherrie, T. J. Mitchell, W. R. Fright, B. C. Mc-Callum and T. R. Evans: “Reconstruction and Representation of 3D Objects with Radial Basis Functions”
• Wang J. and Oliveira M.: “A Hole Filling Strategy for Reconstruction of Smooth Surfaces in Range Images”
Previous WorkKnot placement
• Non-linear optimization- Free knot problem– Jupp et al– Dierekx – Deboor and Rice
• Iterative knot insertion and removal– Dierekx– Baussard et al
BackgroundParameterization
• Projection - might not be a bijection• Curves - chord length parameterization• Surfaces
Background :ParameterizationConvex combination maps
• Map the boundary vertices to a convex polygon
• For each interior vertex Pi choose a neighborhood Ni and positive weights λj
– The parameterization maps Pi to Ui
, 1i
i j
j N
λ⊂
=∑,
i
i i j j
j N
U Uλ⊂
= ∑
Background: ParameterizationParameterizing Triangular meshes• Convex Combination Maps: Floater• Mesh as a Spring System: Hormann et al• Harmonic Maps :Eck et al, Floaters mean-
valued coordinates• Conformal Maps: Hormann et al, Sheffer et
al, Levy et al
The Framework
A reverse engineering framework to obtain tensor produce B-splines from point clouds
• Deal with a single patch of segmented data• Obtain a surface dealing with holes
generated during the process of segmentation
• An underlying mesh structure is available
The Framework
A multistage framework• Smoothing surface for noise removal• Hole filling and triangulation of hole• Parameterization• Domain completion - completing
rectangular domain• Fitting by blending local fits
Smoothing
• Find the local neighborhood of each point• Project each point onto the surface obtained using
MLS projection procedure
SmoothingTangential noise
• The normal at the boundary curve differs from the normal at the surface
Boundary Smoothing
• Inspired by MLS projection for surfaces• Project each point onto the local quadratic
approximation of the curve• Does not preserve ordering in the input• Preserving sharp features: User identifies
the corners in the input
SmoothingMLS Projection for curves: StepsFor each point in the curve• Find the local neighborhood• Find a local reference line• Find a local parameterization• Fit a parametric quadratic polynomial MLS
approximation• Project the point onto it
SmoothingMLS projection for curves: Finding
the local reference line
• Minimize • Find the optimal value of q and u.
2
1
|| ( ) , || (|| ||)N
i i i
i
p q p q u u p qθ=
− − − −∑
Smoothing- Results
Smoothing with different values of standard deviation for the weighting function
Smoothing: Results
Smoothing: Results
Hole filling
• Motivation– Parameterize data– Lack of data – Numerical instabilities– Effect on areas around the hole
• Issues– Need a local method– Adequate sampling density
Hole Filling
For each point in the boundary:• Find the local neighborhood• Find a local reference plane and a local
parameterization by projection• Introduce points in the local parameterization• Project each point in the parametric domain onto
its local least squares surface• Triangulate simultaneously(for meshes)
Hole Filling – Curve Example
Hole Filling: Results
Hole Filling- Results
Parameterization
• Aim: To obtain a rectangular domain• Parameterization by Mean Value
coordinates• Fixing boundaries:
– By chord length– Identify the corners of the rectangle– Identify the corners and map to a convex
polygon + complete domain
Parameterization
By chord length
Parameterization
Identify the corners of a rectangle
Domain Completion
•Intuitive parameterization
•Introduce points in the parametric domain
•Projecting them onto the surface.
ParameterizationMap corners to a convex polygon and
complete domain
FittingKnot placement
Hierarchical Domain Decomposition
Fitting
• Blending local fits
• Moving least squares fit with respect to the mid-point of the patch (xj , yj)
• Basis functions: Cubic b-spline bases truncated in a knot interval.
2( ( ) ) ( )i i j
i
Min f x y w i−∑
FittingBlending Local Fits – Basis Functions
FittingBlending Local Fits: Curve
• The global least squares fit to fit the curve given data
• Blending Local Fits: For each patch p
Pi=0
Nà1
(Pj=0
nà1
Cjìj,k(ti)à fi)2
f(t) =Pj=0
nà1
Cjìj,k(t) {(ti, fi)}Nà1i=0
Min
Pi∈Np
(Pj=0
3
Lpjìj+p,k(ti)à fi)
2Minwhere
L0p , L1
p , L2p , and L3
p are coefficients of a local patch
FittingBlending Local Fits: Curve
Blending Control Points
whereGi = r0Lià33 + r1Lià2
2 + r2Lià11 + r3Li
0
Gi: ith Control point of global mesh
Lij
: jth Control point of the ith patch
r0 + r1 + r2 + r3 = 1
FittingBlending Local Fits: Curve
Several Methods of Blending Control Points
FittingBlending Local Fits: Curve
Blending Control Points
Gi = 2
(Lià22
+Lià11
)
r0 = r3 = 0r1 = r2 = 0.5
FittingBlending Local Fits: Curve
Blending Control Pointsr0=βi+1,3(u) r1=βi,3(u) r
2=βi,3(u) r
2=βi-1,3(u)
Gi = r0Lià33 + r1Lià2
2 + r2Lià11 + r3Li
0
FittingBlending local Fits-Surface
Blending control pointsBlending Coefficients of
Different PatchesA single Patch
Fitting Weighting function
• The weighting function– Full weight to points within the patch– Weight decreases exponentially in adjacent patches– Patch size chosen appropriately.
2
21
2121
( )( ) /4
1
( )( ) /4
1
( ) 1
i
i i
i
i i
t tt t
i
i i
t tt t
i
e t twt t t t
e t t
−
+
+
−−
+
−−
+
⎧⎪ <⎪= ≤ ≤⎨⎪⎪ >⎩
FittingAnalysis
• Blending local fits vs Global Least Squares fit– Error– Computation time
FittingBlending Local Fits Vs Global Least
Square Fit- Quality of fit.• Quantifying error
– Parametric error : where is the data and S the fitted surface
– Minimum distance error: where Ci is the closest point on the fitted surface to Pi
• The global least squares fit performs better
1
0
1 | ( ) |N
i i
i
P S UN
−
=
−∑ ( , )i iP U
1
0
1 | |N
i i
i
P CN
−
=
−∑
Fitting: Error Global Least Squares Fit Vs Blending Local Fits
Global Least Squares Fit Blending Local Fits
FittingBlending Local Fits Vs Global Least
Square Fit- Computation Time• With n patches,
– n small surfaces vs one large surface• SVD:
– Global Least Squares Fit: O(m n2 )• with m data points and n control points
– Blending Local Fits: O(m)• m/n points per local patch• Constant number of unknowns per patch• Performed n times
Results
Results
Summary of Research
• Smoothing surfaces by MLS projection.• Boundary smoothing to remove tangential noise• Hole filling• Parameterization using convex combination maps• Domain completion • Knot placement : Hierarchical domain
decomposition• Fitting by blending local fits
Contributions
• A framework to reverse engineer segmented point clouds
• A space curve smoothing procedure based on MLS projection
• A hole-filling technique for meshes• A B-spline fitting method
Questions.
Future Work
• An alternate way of handling lack of data • Reparameterization
– Stretch minimizing reparameterization– Parameter correction: Iterative
reparameterization.• More Domain information: Example
circular objects
Papers/ Tech Reports• ‘A Hole Filling Algorithm for Triangle Meshes’, Technical
Report, School of Computing, University of Utah, UUCS-04-019.
• ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline Surfaces’, submitted to Computer Graphics International 2005. (In Review)
• ‘Smoothing Space Curves with the MLS Projection’ submitted to Geometric Modeling, Visualization and Graphics, Salt Lake City , GMVAG 2005.(In Review).
• ‘Smooth Repair of Holes in Arbitrary Triangle Meshes’, Submitted to Computer Graphics and Geometric Modeling CGGM’2005. (In Review).
SmoothingMLS Projection
Smoothing- MLS ProjectionStep 1 – Find the local reference domain
-This is a non-linear optimization problem
- Solved using Powell minimization to find the suitable n and t
- Initial guess for (n,t) by making t 0 and solving the above equation for n
SmoothingMLS projection for curves: Finding the
local reference plane
• where h determines the standard deviation.
• This problem has 4 degrees of freedom• Solution obtained using Powell
minimization
2 /( ) x hx eθ −=
SmoothingMLS Projection for Curves: Local
Polynomial approximation• Find local orthonormal basis
: unit vectors along• Fit a parametric quadratic
Where t is the parameterization This handles 3D curves
• Evaluate the curve at t=0 to obtain the projection
, and x ( )u r q u r q− −
( ) ( , ( ), ( ))g t t v t w t=
Hole FillingResultant Fit with and Without
filling the hole
Hole FillingMeshes: Two step process
Iteratively perform• Make-Convex:
Hole FillingTwo step process
• Add Vertices
Until the hole can be filled by a single triangle.
Hole FillingChecks for overlap
• Ensure that there are no overlaps in the local parameterization
During Make-Convex During Add vertices
Fitting Domain Decomposition
Fitting: Error Global Least Squares Fit Vs Blending Local Fits
Method Parametric Error Minimum distance ErrorGLF 0.076 0.047BLF1 0.163 0.1BLF2 0.11 0.073
Fitting: Time Global Least Squares Fit Vs Blending Local Fits
• 261 25 23 x 23• 26 10 15 x 15• 4 6 11 x 11
Basis Functions
Previous WorkFitting a network of patches
• 1996: Eck M., Hoppe, H. et al ,"Automatic reconstruction of B-spline surfaces of arbitrary topological type."
• 1999: I.K. Park, I.D. Yun, S.U. Lee, "Constructing NURBS Surface Model from Scattered and Unorganized Range Data“
• 2000: Benjamin F. Gregorski, Bernd Hamann, Kenneth I. Joy , “Reconstruction of B-spline Surfaces from Scattered Data Points”