automatic reconstruction of b-spline surfaces of arbitrary topological type matthias eck hugues...

Post on 19-Dec-2015

221 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Automatic ReconstructionAutomatic Reconstructionof B-spline Surfacesof B-spline Surfaces

of Arbitrary Topological Typeof Arbitrary Topological Type

Matthias Eck Hugues HoppeMatthias Eck Hugues HoppeUniversity of DarmstadtUniversity of Darmstadt** Microsoft Research Microsoft Research

SIGGRAPH 96SIGGRAPH 96

**now at now at ICEM SystemsICEM Systems

SS

Surface reconstructionSurface reconstruction

pointspointsPP

surfacesurfacereconstructionreconstruction

surfacesurfaceSS

Reverse engineeringReverse engineering Traditional design (wood,clay)Traditional design (wood,clay) Virtual environmentsVirtual environments

smo

oth

smo

oth

B-splineB-spline

Previous workPrevious work

subdivisionsubdivision

implicitimplicit

meshesmeshes

simplesimplesurface topological typesurface topological type

[Schumaker93], …[Schumaker93], …

arbitraryarbitrary

[Sclaroff-Pentland91],[Sclaroff-Pentland91],......

--

[Schmitt-etal86],[Schmitt-etal86],[Forsey-Bartels95],...[Forsey-Bartels95],...

[Hoppe-etal92],[Hoppe-etal92],[Turk-Levoy94], ...[Turk-Levoy94], ...

[Moore-Warren91],[Moore-Warren91],[Bajaj-etal95][Bajaj-etal95]

[Hoppe-etal94][Hoppe-etal94]

[Krishnamurthy-96],[Krishnamurthy-96],[Milroy-etal95],...[Milroy-etal95],...B-splineB-spline [Krishnamurthy-96],[Krishnamurthy-96],[Milroy-etal95], ...[Milroy-etal95], ...

arbitraryarbitrary

Problem statementProblem statement

points points PP

reconstructionreconstructionprocedureprocedure

B-spline surface B-spline surface SS automatic procedureautomatic procedure surface of arbitrary topological typesurface of arbitrary topological type SS smooth smooth GG11 continuity continuity error tolerance error tolerance

Main difficultiesMain difficulties

S:S: arbitrary topological type arbitrary topological type

singlesingleB-spline patchB-spline patch

NN

3 Difficulties:3 Difficulties: 1) Obtaining 1) Obtaining NN

2) Parametrizing 2) Parametrizing PP over over NN

3) Fitting with 3) Fitting with GG11 continuity continuity

require network require network NN of B-spline patches of B-spline patches

Comparison with previous talkComparison with previous talk

Krishnamurthy-Krishnamurthy-LevoyLevoy

Eck-Eck-HoppeHoppe

patchpatchnetwork network N N

parametrizedparametrizedPP

continuitycontinuity

curve paintingcurve painting automaticautomaticpartitioningpartitioning

hierarchicalhierarchicalremeshingremeshing harmonic mapsharmonic maps

stitching stepstitching step GG11 construction construction

Overview of our procedureOverview of our procedure

5 steps:5 steps:

1)1) Initial parametrization of Initial parametrization of PP over mesh over mesh MM00

2)2) Reparam. over triangular complex Reparam. over triangular complex KK

3)3) Reparam. over quadrilateral complex Reparam. over quadrilateral complex KK

4)4) B-spline fitting B-spline fitting

5)5) Adaptive refinement Adaptive refinement

(1) Find an initial parametrization(1) Find an initial parametrization

a)a) construct initial surface: dense mesh construct initial surface: dense mesh MM00

b)b) parametrize parametrize PP over over MM00

PP[Hoppe-etal92][Hoppe-etal92]Using:Using: [Hoppe-etal93][Hoppe-etal93]

MM0 0

(2) Reparametrize over domain (2) Reparametrize over domain KK

Use parametrization scheme of Use parametrization scheme of [Eck-[Eck-etal95]etal95]::

MM00

a)a) partition partition MM00 into triangular regions into triangular regions

partitioned partitioned MM00 base mesh base mesh KK

b)b) parametrize each region using a parametrize each region using a harmonic mapharmonic map

Harmonic mapHarmonic map

[Eck-etal95][Eck-etal95]

planar triangle planar triangle triangular regiontriangular region

map minimizing metric distortionmap minimizing metric distortion

Reparametrize pointsReparametrize points

MM0 0 KK

using harmonic mapsusing harmonic maps

(3) Reparametrize over (3) Reparametrize over KK

Merge faces of Merge faces of KK pairwise pairwise cast as graph optimization problemcast as graph optimization problem

KK KK

Graph optimizationGraph optimization

two two regions regions planar squareplanar square

For each pair of adjacent For each pair of adjacent regions, regions,let edge cost = harmonic map “distortion”let edge cost = harmonic map “distortion”

harmonicharmonicmapmap

Solve Solve MAX-MIN MATCHINGMAX-MIN MATCHING graph problem graph problem

KK

reparametrize reparametrize PP using harmonic maps using harmonic maps

(4) B-spline fitting(4) B-spline fitting

Use surface spline scheme of Use surface spline scheme of [Peters94][Peters94]:: GG11 surface surface tensor product B-spline patchestensor product B-spline patches low degreelow degree

Other similar schemesOther similar schemes [Loop94],[Loop94], [Peters96], …[Peters96], …

Overview of [Peters94] schemeOverview of [Peters94] scheme

MMxx

2 Doo-Sabin2 Doo-Sabinsubdiv.subdiv.

affineaffineconstructionconstruction

MMcc ddff SS

B-splineB-splinebasesbases

KK

Fitting using [Peters94] schemeFitting using [Peters94] scheme

optimizationoptimization

MMxx

affineaffine

(Details: linear constraints, reprojection, fairing, …)(Details: linear constraints, reprojection, fairing, …)

(5) Adaptively refine the surface(5) Adaptively refine the surface

Goal: make Goal: make PP and and SS differ by no more than differ by no more than Strategy: adaptively refine Strategy: adaptively refine KK

4 face4 facerefinement templatesrefinement templates

KK KK## SS##

: 1.02%: 1.02% 0.74% 0.74%

Reconstruction resultsReconstruction results

PP

20,000 points20,000 points 29 patches29 patches= 1.20%= 1.20%rms = 0.20%rms = 0.20%

SS

Reconstruction resultsReconstruction results

29 patches29 patches= 1.20%= 1.20%rms = 0.20%rms = 0.20%

156 patches156 patches= 0.27%= 0.27%rms = 0.03%rms = 0.03%

Approximation resultsApproximation results

SS00

70,00070,000trianglestriangles

PP

30,00030,000pointspoints

SS##

153 patches153 patches= 1.44%= 1.44%rms = 0.19%rms = 0.19%

AnalysisAnalysis

Krishnamurthy-Krishnamurthy-LevoyLevoy

Eck-Eck-HoppeHoppe

patchpatchnetwork network N N

parametrizedparametrizedPP

continuitycontinuity

curve paintingcurve painting automaticautomaticpartitioningpartitioning

hierarchicalhierarchicalremeshingremeshing harmonic mapsharmonic maps

stitching stepstitching step GG11 construction construction

refinementrefinement nono yesyesdisplac. mapdisplac. map yesyes nono

Future workFuture work

Semi-automated layout of patch networkSemi-automated layout of patch network

Allowing Allowing creasescreases and and cornerscorners in B-spline in B-spline constructionconstruction

Error bounds on surface approximationError bounds on surface approximation

have: have: d(P,S)<d(P,S)< want: want: d(Sd(S00,S)<,S)<

top related