Reverse Engineering of Point Clouds to Obtain Tensor...
Transcript of Reverse Engineering of Point Clouds to Obtain Tensor...
![Page 1: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/1.jpg)
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
![Page 2: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/2.jpg)
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
![Page 3: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/3.jpg)
Problem definition
Dealing with problems associated with point clouds
• Large data sets• Noise• Holes and missing data
![Page 4: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/4.jpg)
Problem Definition
Finding a Suitable Parameterization• Minimum distortion• Intuitive parameterization• A rectangular boundary for fitting
tensor product surfaces
![Page 5: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/5.jpg)
Problem Definition
Finding a good fitting strategy• Capture detail: Knot placement• Computation speed
![Page 6: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/6.jpg)
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−∑
![Page 7: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/7.jpg)
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=
![Page 8: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/8.jpg)
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”
![Page 9: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/9.jpg)
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
![Page 10: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/10.jpg)
BackgroundParameterization
• Projection - might not be a bijection• Curves - chord length parameterization• Surfaces
![Page 11: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/11.jpg)
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λ⊂
= ∑
![Page 12: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/12.jpg)
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
![Page 13: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/13.jpg)
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
![Page 14: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/14.jpg)
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
![Page 15: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/15.jpg)
Smoothing
• Find the local neighborhood of each point• Project each point onto the surface obtained using
MLS projection procedure
![Page 16: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/16.jpg)
SmoothingTangential noise
• The normal at the boundary curve differs from the normal at the surface
![Page 17: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/17.jpg)
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
![Page 18: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/18.jpg)
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
![Page 19: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/19.jpg)
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θ=
− − − −∑
![Page 20: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/20.jpg)
Smoothing- Results
Smoothing with different values of standard deviation for the weighting function
![Page 21: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/21.jpg)
Smoothing: Results
![Page 22: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/22.jpg)
Smoothing: Results
![Page 23: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/23.jpg)
Hole filling
• Motivation– Parameterize data– Lack of data – Numerical instabilities– Effect on areas around the hole
• Issues– Need a local method– Adequate sampling density
![Page 24: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/24.jpg)
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)
![Page 25: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/25.jpg)
Hole Filling – Curve Example
![Page 26: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/26.jpg)
Hole Filling: Results
![Page 27: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/27.jpg)
Hole Filling- Results
![Page 28: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/28.jpg)
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
![Page 29: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/29.jpg)
Parameterization
By chord length
![Page 30: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/30.jpg)
Parameterization
Identify the corners of a rectangle
![Page 31: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/31.jpg)
Domain Completion
•Intuitive parameterization
•Introduce points in the parametric domain
•Projecting them onto the surface.
![Page 32: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/32.jpg)
ParameterizationMap corners to a convex polygon and
complete domain
![Page 33: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/33.jpg)
FittingKnot placement
Hierarchical Domain Decomposition
![Page 34: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/34.jpg)
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−∑
![Page 35: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/35.jpg)
FittingBlending Local Fits – Basis Functions
![Page 36: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/36.jpg)
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
![Page 37: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/37.jpg)
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
![Page 38: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/38.jpg)
FittingBlending Local Fits: Curve
Several Methods of Blending Control Points
![Page 39: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/39.jpg)
FittingBlending Local Fits: Curve
Blending Control Points
Gi = 2
(Lià22
+Lià11
)
r0 = r3 = 0r1 = r2 = 0.5
![Page 40: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/40.jpg)
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
![Page 41: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/41.jpg)
FittingBlending local Fits-Surface
Blending control pointsBlending Coefficients of
Different PatchesA single Patch
![Page 42: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/42.jpg)
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
−
+
+
−−
+
−−
+
⎧⎪ <⎪= ≤ ≤⎨⎪⎪ >⎩
![Page 43: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/43.jpg)
FittingAnalysis
• Blending local fits vs Global Least Squares fit– Error– Computation time
![Page 44: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/44.jpg)
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
−
=
−∑
![Page 45: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/45.jpg)
Fitting: Error Global Least Squares Fit Vs Blending Local Fits
Global Least Squares Fit Blending Local Fits
![Page 46: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/46.jpg)
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
![Page 47: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/47.jpg)
Results
![Page 48: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/48.jpg)
Results
![Page 49: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/49.jpg)
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
![Page 50: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/50.jpg)
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
![Page 51: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/51.jpg)
Questions.
![Page 52: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/52.jpg)
![Page 53: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/53.jpg)
Future Work
• An alternate way of handling lack of data • Reparameterization
– Stretch minimizing reparameterization– Parameter correction: Iterative
reparameterization.• More Domain information: Example
circular objects
![Page 54: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/54.jpg)
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).
![Page 55: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/55.jpg)
SmoothingMLS Projection
![Page 56: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/56.jpg)
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
![Page 57: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/57.jpg)
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θ −=
![Page 58: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/58.jpg)
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=
![Page 59: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/59.jpg)
Hole FillingResultant Fit with and Without
filling the hole
![Page 60: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/60.jpg)
Hole FillingMeshes: Two step process
Iteratively perform• Make-Convex:
![Page 61: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/61.jpg)
Hole FillingTwo step process
• Add Vertices
Until the hole can be filled by a single triangle.
![Page 62: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/62.jpg)
Hole FillingChecks for overlap
• Ensure that there are no overlaps in the local parameterization
During Make-Convex During Add vertices
![Page 63: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/63.jpg)
Fitting Domain Decomposition
![Page 64: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/64.jpg)
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
![Page 65: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/65.jpg)
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
![Page 66: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/66.jpg)
Basis Functions
![Page 67: Reverse Engineering of Point Clouds to Obtain Tensor ...lavanyat/mmcs/tex/thesis/talk/thesis-defense1.pdf · • ‘Reverse Engineering Point Clouds to Obtain Tensor Product B-Spline](https://reader033.fdocuments.us/reader033/viewer/2022041810/5e5759b52ca57d3f037e6aae/html5/thumbnails/67.jpg)
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”