Date post: | 19-Dec-2015 |
Category: |
Documents |
View: | 219 times |
Download: | 5 times |
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)<