67
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

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

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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”