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

22
Automatic Reconstruction Automatic Reconstruction of B-spline Surfaces of B-spline Surfaces of Arbitrary Topological of Arbitrary Topological Type Type Matthias Eck Matthias Eck Hugues Hoppe Hugues Hoppe University of Darmstadt University of Darmstadt * * Microsoft Research Microsoft Research SIGGRAPH 96 SIGGRAPH 96 * * now at now at ICEM Systems ICEM Systems S S

Post on 19-Dec-2015

221 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

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

Page 2: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

Surface reconstructionSurface reconstruction

pointspointsPP

surfacesurfacereconstructionreconstruction

surfacesurfaceSS

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

Page 3: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

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

Page 4: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

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

Page 5: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

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

Page 6: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

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

Page 7: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

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

Page 8: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

(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

Page 9: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

(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

Page 10: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

Harmonic mapHarmonic map

[Eck-etal95][Eck-etal95]

planar triangle planar triangle triangular regiontriangular region

map minimizing metric distortionmap minimizing metric distortion

Page 11: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

Reparametrize pointsReparametrize points

MM0 0 KK

using harmonic mapsusing harmonic maps

Page 12: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

(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

Page 13: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

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

Page 14: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

KK

reparametrize reparametrize PP using harmonic maps using harmonic maps

Page 15: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

(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], …

Page 16: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

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, …)

Page 17: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

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

Page 18: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

Reconstruction resultsReconstruction results

PP

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

SS

Page 19: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

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%

Page 20: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

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%

Page 21: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

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

Page 22: Automatic Reconstruction of B-spline Surfaces of Arbitrary Topological Type Matthias Eck Hugues Hoppe Matthias Eck Hugues Hoppe University of Darmstadt

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