Iso-charts: Stretch-driven Mesh Parameterization using Spectral Analysis Kun Zhou, John Snyder*, Baining Guo, Heung-Yeung Shum Microsoft Research Asia Microsoft Research* Kun Zhou, John Snyder*, Baining Guo, Heung-Yeung Shum Microsoft Research Asia Microsoft Research*
Parameterizing Arbitrary 3D Meshes ChartificationTexture Atlas
Goals of Mesh Parameterization Large Charts Low Distortion
Iso-chart Algorithm Overview l Surface spectral analysis l Stretch optimization l Recursively split charts n until stretch criterion is met l Recursively split charts n until stretch criterion is met l Surface spectral clustering l Optimize chart boundaries Input: 3D mesh, user-specified stretch threshold Output: atlas having large charts with bounded stretch
IsoMapIsoMap Data points in high dimensional space [Tenenbaum et al, 2000] Data points in low dimensional space Neighborhood graph Analyze geodesic distance to uncover nonlinear manifold structure
Surface Spectral Analysis Geodesic Distance Distortion (GDD)
Surface Spectral Analysis Construct matrix of squared geodesic distances D N
Surface Spectral Analysis Perform centering and normalization to D N
Surface Spectral Analysis Perform eigenanalysis on B N to get embedding coords y i
GDD-minimizing Parameterization Parametric coordinates [Zigelman et al, 2002] Texture mapping l Produces triangle flips l Only handles single-chart (disk-topology) models
Stretch-minimizing Parameterization 2D texture domain surface in 3D linear map singular values: γ, Γ [Sander et al, 2001]
Stretch Optimization IsoMap, L 2 = 1.04, 2sIsoMap+Optimization, L 2 = 1.03, 6s [Sander01], L 2 = 1.04, 222s[Sander02], L 2 = 1.03, 39s
Surface Spectral Clustering Analysis Clustering
Surface Spectral Clustering l Get top n (≥ 3) eigenvalues/eigenvectors n where n maximizes l For each vertex n compute n-dimensional embedding coordinates l For each of the n dimensions n find two extreme vertices n set them as representatives l Remove representatives that are too close l Grow charts from representatives l Get top n (≥ 3) eigenvalues/eigenvectors n where n maximizes l For each vertex n compute n-dimensional embedding coordinates l For each of the n dimensions n find two extreme vertices n set them as representatives l Remove representatives that are too close l Grow charts from representatives
Surface Spectral Clustering n=3 n=4
Surface Spectral Clustering n=1: 2 charts n=2: 4 charts n=4: 8 charts n=3: 6 charts
Optimizing Partition Boundaries l create nonjaggy cut, through “crease” edges [Katz2003] l minimize embedding distortion
Optimizing Partition Boundaries Angular capacity alone [Katz et al, 2003] Distortion capacity aloneCombined capacity
Special Spectral Clustering l Avoid excessive partition for simple shapes n n n > 2 n = 2 1 st dimension n = 2 2 nd dimension n = 2 3 rd dimension l Special clustering for tabular shapes
Signal-Specialized Atlas Creation l Signal-specialized parameterization [Sander02] l Combine geodesic and signal distances geometry stretchsignal stretch
Implementation Details l Acceleration n Landmark IsoMap [Silva et al, 2003] n Only compute the top 10 eigenvalues l Acceleration n Landmark IsoMap [Silva et al, 2003] n Only compute the top 10 eigenvalues l Merge small charts as a post-process
Partition Process
ResultsResults 19 charts, L 2 =1.03, running time 98s, 97k faces
ResultsResults 38 charts, L 2 =1.07, running time 287s, 150k faces
ResultsResults 23 charts, L 2 =1.06, running time 162s, 112k faces
ResultsResults 11 charts, L 2 =1.01, running time 4s, 10k faces
ResultsResults 11 charts, L 2 =1.02, running time 90s, 90k faces
ResultsResults 6 charts, L 2 =1.03, running time 17s, 40k faces
Geometry Remeshing
Remeshing Comparison Original model [Sander03], 79.5dBIso-chart, 82.9dB
LOD Generation for Texture Synthesis 32x3264x64128x128
Texture Synthesis Results
Signal-Specialized Atlas Creation Original Geometry stretch SAE = 20.8 Signal param SAE = 17.9 Signal chart¶m SAE = 16.5
Signal-Specialized Atlas Creation Original Geometry stretch SAE = 18.7 Signal param SAE = 11.5 Signal chart¶m SAE = 9.7
ConclusionConclusion l Surface spectral analysis n for parameterization –provides good starting point for stretch minimization n for chartification –separates global features well –optimizes chart boundaries –yields special partition for tubular shapes l Surface spectral analysis n for parameterization –provides good starting point for stretch minimization n for chartification –separates global features well –optimizes chart boundaries –yields special partition for tubular shapes l Signal-specialized atlas creation l Iso-chart: a fast and effective atlas generator