iso-charts: stretch-driven mesh parameterization using spectral analysis kun zhou, john snyder*,...
Post on 19-Dec-2015
221 Views
Preview:
TRANSCRIPT
Iso-charts: Stretch-driven Mesh Iso-charts: Stretch-driven Mesh Parameterization using Spectral AnalysisParameterization using Spectral Analysis
Iso-charts: Stretch-driven Mesh Iso-charts: Stretch-driven Mesh Parameterization using Spectral AnalysisParameterization using Spectral Analysis
Kun Zhou, John Snyder*,Kun Zhou, John Snyder*,
Baining Guo, Heung-Yeung ShumBaining Guo, Heung-Yeung Shum
Microsoft Research AsiaMicrosoft Research Asia
Microsoft Research*Microsoft Research*
Kun Zhou, John Snyder*,Kun Zhou, John Snyder*,
Baining Guo, Heung-Yeung ShumBaining Guo, Heung-Yeung Shum
Microsoft Research AsiaMicrosoft Research Asia
Microsoft Research*Microsoft Research*
Parameterizing Arbitrary 3D MeshesParameterizing Arbitrary 3D MeshesParameterizing Arbitrary 3D MeshesParameterizing Arbitrary 3D Meshes
Chartification Texture Atlas
Goals of Mesh ParameterizationGoals of Mesh ParameterizationGoals of Mesh ParameterizationGoals of Mesh Parameterization
Large Charts Low Distortion
Iso-chart Algorithm OverviewIso-chart Algorithm OverviewIso-chart Algorithm OverviewIso-chart Algorithm Overview
Surface spectral analysisSurface spectral analysis Surface spectral analysisSurface spectral analysis
Stretch optimizationStretch optimization Stretch optimizationStretch optimization
Recursively split charts Recursively split charts until stretch criterion is metuntil stretch criterion is met
Recursively split charts Recursively split charts until stretch criterion is metuntil stretch criterion is met
Surface spectral clusteringSurface spectral clustering Surface spectral clusteringSurface spectral clustering
Optimize chart boundariesOptimize chart boundaries Optimize chart boundariesOptimize chart boundaries
Input: 3D mesh, user-specified stretch thresholdInput: 3D mesh, user-specified stretch threshold
Output: atlas having large charts with bounded stretchOutput: atlas having large charts with bounded stretch
IsoMapIsoMapIsoMapIsoMap
Data points in highdimensional space
[Tenenbaum et al, 2000]
Data points in lowdimensional space
Neighborhoodgraph
Analyze geodesic distance to uncover nonlinear manifold structureAnalyze geodesic distance to uncover nonlinear manifold structure
Surface Spectral AnalysisSurface Spectral AnalysisSurface Spectral AnalysisSurface Spectral Analysis
12d
Nd2
Nd1
1x
2x
Nx
N
i
N
j
ijji d1 1
2)||(||min yy
Geodesic Distance Distortion (GDD)
2y
Ny
1y
Surface Spectral AnalysisSurface Spectral AnalysisSurface Spectral AnalysisSurface Spectral Analysis
222
21
22
222
221
21
212
211
NNNN
N
N
N
ddd
ddd
ddd
D
Construct matrix of squared geodesic distances Construct matrix of squared geodesic distances DDNN
12d
Nd2
Nd1
1x
2x
Nx
Surface Spectral AnalysisSurface Spectral AnalysisSurface Spectral AnalysisSurface Spectral Analysis
NNNN JDJB2
1
T11IJNN
112d
Nd2
Nd1
1x
2x
Nx
Perform centering and normalization to Perform centering and normalization to DDNN
Surface Spectral AnalysisSurface Spectral AnalysisSurface Spectral AnalysisSurface Spectral Analysis
Tnn
T
T
N
v
v
v
yyy
22
11
21
|||
|||
Perform eigenanalysis on Perform eigenanalysis on BBNN to getto get embedding coords embedding coords yyii
12d
Nd2
Nd1
1x
2x
Nx
GDD-minimizing ParameterizationGDD-minimizing ParameterizationGDD-minimizing ParameterizationGDD-minimizing Parameterization
Parametric coordinates
[Zigelman et al, 2002]
Texture mapping
Produces triangle flipsProduces triangle flips Produces triangle flipsProduces triangle flips Only handles single-chart (disk-topology) modelsOnly handles single-chart (disk-topology) models Only handles single-chart (disk-topology) modelsOnly handles single-chart (disk-topology) models
Stretch-minimizing ParameterizationStretch-minimizing ParameterizationStretch-minimizing ParameterizationStretch-minimizing Parameterization
2D texture domain2D texture domain surface in 3Dsurface in 3Dlinear maplinear map
singular values: singular values: γγ , , ΓΓ
[Sander et al, 2001]
Stretch OptimizationStretch OptimizationStretch OptimizationStretch Optimization
IsoMap, L2 = 1.04, 2s IsoMap+Optimization, L2 = 1.03, 6s
[Sander01], L2 = 1.04, 222s [Sander02], L2 = 1.03, 39s
Surface Spectral ClusteringSurface Spectral ClusteringSurface Spectral ClusteringSurface Spectral Clustering
Analysis
Clustering
Surface Spectral ClusteringSurface Spectral ClusteringSurface Spectral ClusteringSurface Spectral Clustering
Get top Get top nn (≥ 3) eigenvalues/eigenvectors (≥ 3) eigenvalues/eigenvectors where where nn maximizes maximizes
For each vertex For each vertex compute compute nn-dimensional embedding coordinates-dimensional embedding coordinates
For each of the For each of the nn dimensions dimensions find two extreme vertices find two extreme vertices set them as representativesset them as representatives
Remove representatives that are too closeRemove representatives that are too close
Grow charts from representativesGrow charts from representatives
Get top Get top nn (≥ 3) eigenvalues/eigenvectors (≥ 3) eigenvalues/eigenvectors where where nn maximizes maximizes
For each vertex For each vertex compute compute nn-dimensional embedding coordinates-dimensional embedding coordinates
For each of the For each of the nn dimensions dimensions find two extreme vertices find two extreme vertices set them as representativesset them as representatives
Remove representatives that are too closeRemove representatives that are too close
Grow charts from representativesGrow charts from representatives
1/ nn 1/ nn
Surface Spectral ClusteringSurface Spectral ClusteringSurface Spectral ClusteringSurface Spectral Clustering
Ni
i
ni
i
,1,1
n=3 n=4
Surface Spectral ClusteringSurface Spectral ClusteringSurface Spectral ClusteringSurface Spectral Clustering
43 /1/ nn
n=1: 2 charts n=2: 4 charts n=4: 8 chartsn=3: 6 charts
Optimizing Partition BoundariesOptimizing Partition BoundariesOptimizing Partition BoundariesOptimizing Partition Boundaries
S T
create nonjaggy cut, through “crease” edges [Katz2003]create nonjaggy cut, through “crease” edges [Katz2003] create nonjaggy cut, through “crease” edges [Katz2003]create nonjaggy cut, through “crease” edges [Katz2003]
minimize embedding distortionminimize embedding distortion minimize embedding distortionminimize embedding distortion
Optimizing Partition BoundariesOptimizing Partition BoundariesOptimizing Partition BoundariesOptimizing Partition Boundaries
Angular capacity alone [Katz et al, 2003]
Distortion capacity alone Combined capacity
Special Spectral ClusteringSpecial Spectral ClusteringSpecial Spectral ClusteringSpecial Spectral Clustering
Avoid excessive partition for simple shapesAvoid excessive partition for simple shapes
Avoid excessive partition for simple shapesAvoid excessive partition for simple shapes
9.01
3
1
N
i
i
i
i 9.01
3
1
N
i
i
i
i
n > 2 n = 21st dimension
n = 22nd dimension
n = 23rd dimension
Special clustering for tabular shapesSpecial clustering for tabular shapes Special clustering for tabular shapesSpecial clustering for tabular shapes
Signal-Specialized Atlas CreationSignal-Specialized Atlas CreationSignal-Specialized Atlas CreationSignal-Specialized Atlas Creation
Signal-specialized parameterization [Sander02]Signal-specialized parameterization [Sander02] Signal-specialized parameterization [Sander02]Signal-specialized parameterization [Sander02]
Combine geodesic and signal distancesCombine geodesic and signal distances Combine geodesic and signal distancesCombine geodesic and signal distances
geometry stretch signal stretch
)(
),()1(
)(
),(),(
sig
sig
geo
geocomb davg
jid
davg
jidjid
Implementation DetailsImplementation DetailsImplementation DetailsImplementation Details
AccelerationAcceleration
Landmark IsoMap [Silva et al, 2003]Landmark IsoMap [Silva et al, 2003]
Only compute the top Only compute the top 1010 eigenvalues eigenvalues
AccelerationAcceleration
Landmark IsoMap [Silva et al, 2003]Landmark IsoMap [Silva et al, 2003]
Only compute the top Only compute the top 1010 eigenvalues eigenvalues
Merge small charts as a post-processMerge small charts as a post-process Merge small charts as a post-processMerge small charts as a post-process
Partition ProcessPartition ProcessPartition ProcessPartition Process
ResultsResultsResultsResults
19 charts, L2=1.03, running time 98s, 97k faces
ResultsResultsResultsResults
38 charts, L2=1.07, running time 287s, 150k faces
ResultsResultsResultsResults
23 charts, L2=1.06, running time 162s, 112k faces
ResultsResultsResultsResults
11 charts, L2=1.01, running time 4s, 10k faces
ResultsResultsResultsResults
11 charts, L2=1.02, running time 90s, 90k faces
ResultsResultsResultsResults
6 charts, L2=1.03, running time 17s, 40k faces
Geometry RemeshingGeometry RemeshingGeometry RemeshingGeometry Remeshing
Remeshing ComparisonRemeshing ComparisonRemeshing ComparisonRemeshing Comparison
Original model [Sander03], 79.5dB Iso-chart, 82.9dB
LOD Generation for Texture SynthesisLOD Generation for Texture SynthesisLOD Generation for Texture SynthesisLOD Generation for Texture Synthesis
32x32 64x64 128x128
Texture Synthesis ResultsTexture Synthesis ResultsTexture Synthesis ResultsTexture Synthesis Results
Texture Synthesis ResultsTexture Synthesis ResultsTexture Synthesis ResultsTexture Synthesis Results
Signal-Specialized Atlas CreationSignal-Specialized Atlas CreationSignal-Specialized Atlas CreationSignal-Specialized Atlas Creation
Original Geometry stretchSAE = 20.8
Signal paramSAE = 17.9
Signal chart¶mSAE = 16.5
Signal-Specialized Atlas CreationSignal-Specialized Atlas CreationSignal-Specialized Atlas CreationSignal-Specialized Atlas Creation
Original Geometry stretchSAE = 18.7
Signal paramSAE = 11.5
Signal chart¶mSAE = 9.7
ConclusionConclusionConclusionConclusion
Surface spectral analysis Surface spectral analysis for parameterizationfor parameterization
– provides good starting point for stretch provides good starting point for stretch minimizationminimization
for chartificationfor chartification
– separates global features wellseparates global features well
– optimizes chart boundariesoptimizes chart boundaries
– yields special partition for tubular shapesyields special partition for tubular shapes
Surface spectral analysis Surface spectral analysis for parameterizationfor parameterization
– provides good starting point for stretch provides good starting point for stretch minimizationminimization
for chartificationfor chartification
– separates global features wellseparates global features well
– optimizes chart boundariesoptimizes chart boundaries
– yields special partition for tubular shapesyields special partition for tubular shapes Signal-specialized atlas creationSignal-specialized atlas creation Signal-specialized atlas creationSignal-specialized atlas creation
Iso-chart: a fast and effective atlas generatorIso-chart: a fast and effective atlas generator Iso-chart: a fast and effective atlas generatorIso-chart: a fast and effective atlas generator
top related