Signal-SpecializedSignal-Specialized
ParametrizationParametrization
Signal-SpecializedSignal-Specialized
ParametrizationParametrization
Microsoft ResearchMicrosoft Research11
Harvard UniversityHarvard University22
Microsoft ResearchMicrosoft Research11
Harvard UniversityHarvard University22
Steven J. GortlerSteven J. Gortler22
Hugues HoppeHugues Hoppe11
Steven J. GortlerSteven J. Gortler22
Hugues HoppeHugues Hoppe11
Pedro V. SanderPedro V. Sander1,21,2
John SnyderJohn Snyder11
Pedro V. SanderPedro V. Sander1,21,2
John SnyderJohn Snyder11
EGRW 2002EGRW 2002
MotivationMotivationMotivationMotivation
Powerful rasterization hardware Powerful rasterization hardware (GeForce3,…)(GeForce3,…) multi-texturing, programmablemulti-texturing, programmable
Many types of signals:Many types of signals: texture maptexture map (color)(color) bump mapbump map (normal)(normal) displacement mapdisplacement map (geometry)(geometry) irradiance transferirradiance transfer (spherical harmonics)(spherical harmonics) ……
Powerful rasterization hardware Powerful rasterization hardware (GeForce3,…)(GeForce3,…) multi-texturing, programmablemulti-texturing, programmable
Many types of signals:Many types of signals: texture maptexture map (color)(color) bump mapbump map (normal)(normal) displacement mapdisplacement map (geometry)(geometry) irradiance transferirradiance transfer (spherical harmonics)(spherical harmonics) ……
Texture mapping: two scenariosTexture mapping: two scenariosTexture mapping: two scenariosTexture mapping: two scenarios
Authoring: map a texture image onto a surfaceAuthoring: map a texture image onto a surfaceAuthoring: map a texture image onto a surfaceAuthoring: map a texture image onto a surface
Sampling: store an existing surface signalSampling: store an existing surface signalSampling: store an existing surface signalSampling: store an existing surface signalnormal mapnormal mapnormal mapnormal map normal signalnormal signalnormal signalnormal signal
(128x128 texture)(128x128 texture)
Geometry-basedGeometry-basedparametrizationparametrization
Signal-specializedSignal-specializedparametrizationparametrization
demodemodemodemo
GoalGoalGoalGoal
Previous work:Previous work:Signal-independent parametrizationSignal-independent parametrization
Previous work:Previous work:Signal-independent parametrizationSignal-independent parametrization
Angle-preserving metricsAngle-preserving metrics Eck et al. 1995Eck et al. 1995
Floater 1997Floater 1997
Hormann and Greiner 1999Hormann and Greiner 1999
Hacker et al. 2000Hacker et al. 2000
Other metricsOther metrics Maillot et al. 1993Maillot et al. 1993
Levy and Mallet 1998Levy and Mallet 1998
Sander et al. 2001Sander et al. 2001
Angle-preserving metricsAngle-preserving metrics Eck et al. 1995Eck et al. 1995
Floater 1997Floater 1997
Hormann and Greiner 1999Hormann and Greiner 1999
Hacker et al. 2000Hacker et al. 2000
Other metricsOther metrics Maillot et al. 1993Maillot et al. 1993
Levy and Mallet 1998Levy and Mallet 1998
Sander et al. 2001Sander et al. 2001
Previous work:Previous work:Signal-specialized parametrizationSignal-specialized parametrization
Previous work:Previous work:Signal-specialized parametrizationSignal-specialized parametrization
Terzopoulos and Vasilescu 1991Terzopoulos and Vasilescu 1991 Approximate 2D image with warped grid.Approximate 2D image with warped grid.
Hunter and Cohen 2000Hunter and Cohen 2000 Compress image as set of texture-mapped rectangles.Compress image as set of texture-mapped rectangles.
Sloan et al. 1998Sloan et al. 1998 Warp texture domain onto itself.Warp texture domain onto itself.
Terzopoulos and Vasilescu 1991Terzopoulos and Vasilescu 1991 Approximate 2D image with warped grid.Approximate 2D image with warped grid.
Hunter and Cohen 2000Hunter and Cohen 2000 Compress image as set of texture-mapped rectangles.Compress image as set of texture-mapped rectangles.
Sloan et al. 1998Sloan et al. 1998 Warp texture domain onto itself.Warp texture domain onto itself.
ParametrizationParametrizationParametrizationParametrization
2D texture domain2D texture domain surface in 3Dsurface in 3D
linear maplinear map
singular values: singular values: γγ , , ΓΓ
ParametrizationParametrizationParametrizationParametrization
length-preserving (length-preserving (isometricisometric)) γγ = = ΓΓ = 1= 1 angle-preserving (angle-preserving (conformalconformal))γγ = = ΓΓ area-preservingarea-preserving γγ ΓΓ = 1= 1
length-preserving (length-preserving (isometricisometric)) γγ = = ΓΓ = 1= 1 angle-preserving (angle-preserving (conformalconformal))γγ = = ΓΓ area-preservingarea-preserving γγ ΓΓ = 1= 1
2D texture domain2D texture domain surface in 3Dsurface in 3D
linear maplinear mapTTTT
singular values: singular values: γγ , , ΓΓ
Geometric stretch metricGeometric stretch metricGeometric stretch metricGeometric stretch metric
2D texture domain2D texture domain surface in 3Dsurface in 3D
linear maplinear mapTTTT
singular values: singular values: γγ , , ΓΓ
Geometric stretch = Geometric stretch = γγ22 + + ΓΓ22 = = trtr((MM((TT)) ))
where metric tensor where metric tensor MM((TT) = ) = JJ((TT))TT J J((TT))
EE((SS) = surface integral of geometric stretch) = surface integral of geometric stretch
high stretch!high stretch!
Signal stretch metricSignal stretch metricSignal stretch metricSignal stretch metric
ff
hh gg
geometric stretch: geometric stretch: EEff = = γγff2 2 + + ΓΓff
2 2 = tr(M= tr(Mff))
signal stretch: signal stretch: EEhh = = γγhh2 2 + + ΓΓhh
2 2 = tr(M= tr(Mhh))
geometric stretch: geometric stretch: EEff = = γγff2 2 + + ΓΓff
2 2 = tr(M= tr(Mff))
signal stretch: signal stretch: EEhh = = γγhh2 2 + + ΓΓhh
2 2 = tr(M= tr(Mhh))
domaindomain surfacesurface
signalsignal
Taylor expansion to signal approximation errorTaylor expansion to signal approximation error locally constant reconstructionlocally constant reconstruction
asymptotically dense samplingasymptotically dense sampling
Taylor expansion to signal approximation errorTaylor expansion to signal approximation error locally constant reconstructionlocally constant reconstruction
asymptotically dense samplingasymptotically dense sampling
Deriving signal stretchDeriving signal stretchDeriving signal stretchDeriving signal stretch
signal approximation errorsignal approximation error
originaloriginal reconstructedreconstructed
Integrated metric tensor (IMT)Integrated metric tensor (IMT)Integrated metric tensor (IMT)Integrated metric tensor (IMT) 2x2 symmetric matrix2x2 symmetric matrix computed over each triangle using numerical integration.computed over each triangle using numerical integration. recomputed for affinely warped triangle using simple recomputed for affinely warped triangle using simple
transformation rule.transformation rule. No need to reintegrate the signal.No need to reintegrate the signal.
2x2 symmetric matrix2x2 symmetric matrix computed over each triangle using numerical integration.computed over each triangle using numerical integration. recomputed for affinely warped triangle using simple recomputed for affinely warped triangle using simple
transformation rule.transformation rule. No need to reintegrate the signal.No need to reintegrate the signal.
hhee
hh´́
DD´́
DD
SignalSignal
MMhh´́ = = JJeeTT M Mhh J Jee
Boundary optimizationBoundary optimizationBoundary optimizationBoundary optimization Optimize boundary verticesOptimize boundary vertices
Texture domain grows to infinity.Texture domain grows to infinity. SolutionSolution
Multiply by domain area (scale invariant):Multiply by domain area (scale invariant): E Ehh´́= E= Ehh * area(D) = tr(M * area(D) = tr(Mhh(S)) * area(D)(S)) * area(D)
Optimize boundary verticesOptimize boundary vertices Texture domain grows to infinity.Texture domain grows to infinity.
SolutionSolution Multiply by domain area (scale invariant):Multiply by domain area (scale invariant): E Ehh´́= E= Ehh * area(D) = tr(M * area(D) = tr(Mhh(S)) * area(D)(S)) * area(D)
Fixed boundaryFixed boundary Optimized boundaryOptimized boundary
Boundary optimizationBoundary optimizationBoundary optimizationBoundary optimization
Grow to bounding square/rectangle:Grow to bounding square/rectangle: Minimize E Minimize Ehh
Constrain vertices to stay inside bounding square.Constrain vertices to stay inside bounding square.
Grow to bounding square/rectangle:Grow to bounding square/rectangle: Minimize E Minimize Ehh
Constrain vertices to stay inside bounding square.Constrain vertices to stay inside bounding square.
Optimized boundaryOptimized boundary Bounding square boundaryBounding square boundary
Geometric stretchGeometric stretchGeometric stretchGeometric stretch
FloaterFloaterFloaterFloater
Signal stretchSignal stretchSignal stretchSignal stretch
Geometric stretchGeometric stretchGeometric stretchGeometric stretch Signal stretchSignal stretchSignal stretchSignal stretch
Hierarchical Parametrization algorithmHierarchical Parametrization algorithmHierarchical Parametrization algorithmHierarchical Parametrization algorithm
Advantages:Advantages: Faster.Faster. Finds better minimum (nonlinear metric).Finds better minimum (nonlinear metric).
Algorithm:Algorithm: Construct Construct PMPM.. Parametrize Parametrize “coarse-to-fine”.“coarse-to-fine”.
Advantages:Advantages: Faster.Faster. Finds better minimum (nonlinear metric).Finds better minimum (nonlinear metric).
Algorithm:Algorithm: Construct Construct PMPM.. Parametrize Parametrize “coarse-to-fine”.“coarse-to-fine”.
demodemodemodemo
Iterated multigrid strategyIterated multigrid strategyIterated multigrid strategyIterated multigrid strategy
Problem:Problem:Coarse mesh does not capture signal detail.Coarse mesh does not capture signal detail.
Traverse PM fine-to-coarse.Traverse PM fine-to-coarse. For each edge collapse, For each edge collapse, sum up metric tensors sum up metric tensors and store them at each face. and store them at each face.
Traverse PM coarse-to-fine. Traverse PM coarse-to-fine. Optimize signal-stretch Optimize signal-stretch of introduced vertices using the of introduced vertices using the stored metric tensors. stored metric tensors.
Repeat last 2 steps until convergence.Repeat last 2 steps until convergence. Use bounding rectangle optimization Use bounding rectangle optimization
on last iteration.on last iteration.
Problem:Problem:Coarse mesh does not capture signal detail.Coarse mesh does not capture signal detail.
Traverse PM fine-to-coarse.Traverse PM fine-to-coarse. For each edge collapse, For each edge collapse, sum up metric tensors sum up metric tensors and store them at each face. and store them at each face.
Traverse PM coarse-to-fine. Traverse PM coarse-to-fine. Optimize signal-stretch Optimize signal-stretch of introduced vertices using the of introduced vertices using the stored metric tensors. stored metric tensors.
Repeat last 2 steps until convergence.Repeat last 2 steps until convergence. Use bounding rectangle optimization Use bounding rectangle optimization
on last iteration.on last iteration.
ResultsResultsResultsResults
Geometric stretchGeometric stretch
Signal stretchSignal stretch
(64x64 texture)(64x64 texture)
ScannedScannedColorColorScannedScannedColorColor
Painted ColorPainted ColorPainted ColorPainted Color
128x128 texture - multichart128x128 texture - multichart
Geometric stretchGeometric stretch Signal stretchSignal stretch
Precomputed Radiance TransferPrecomputed Radiance TransferPrecomputed Radiance TransferPrecomputed Radiance Transfer
25D signal – 256x256 texture25D signal – 256x256 texturefrom [Sloan et al. 2002]from [Sloan et al. 2002]
Geometric stretchGeometric stretch Signal stretchSignal stretch
Normal MapNormal MapNormal MapNormal Map
demodemodemodemo
Geometric stretchGeometric stretch Signal stretchSignal stretch
128x128 texture - multichart128x128 texture - multichart
SummarySummarySummarySummary
Many signals are unevenly distributed over area Many signals are unevenly distributed over area and direction. and direction.
Signal-specialized metricSignal-specialized metric Integrates signal approximation error over surfaceIntegrates signal approximation error over surface Each mesh face is assigned an IMT.Each mesh face is assigned an IMT. Affine transformation rules can exactly transform IMTs.Affine transformation rules can exactly transform IMTs.
Hierarchical parametrization algorithmHierarchical parametrization algorithm IMTs are propagated fine-to-coarse.IMTs are propagated fine-to-coarse. Mesh is parametrized coarse-to-fine.Mesh is parametrized coarse-to-fine. Boundary can be optimized during the process.Boundary can be optimized during the process.
Significant increase in quality for same texture size.Significant increase in quality for same texture size.Texture size reduction up to 4x for same quality.Texture size reduction up to 4x for same quality.
Many signals are unevenly distributed over area Many signals are unevenly distributed over area and direction. and direction.
Signal-specialized metricSignal-specialized metric Integrates signal approximation error over surfaceIntegrates signal approximation error over surface Each mesh face is assigned an IMT.Each mesh face is assigned an IMT. Affine transformation rules can exactly transform IMTs.Affine transformation rules can exactly transform IMTs.
Hierarchical parametrization algorithmHierarchical parametrization algorithm IMTs are propagated fine-to-coarse.IMTs are propagated fine-to-coarse. Mesh is parametrized coarse-to-fine.Mesh is parametrized coarse-to-fine. Boundary can be optimized during the process.Boundary can be optimized during the process.
Significant increase in quality for same texture size.Significant increase in quality for same texture size.Texture size reduction up to 4x for same quality.Texture size reduction up to 4x for same quality.
Future workFuture workFuture workFuture work
Metrics for locally linear reconstruction.Metrics for locally linear reconstruction. Parametrize for specific sampling density.Parametrize for specific sampling density. Adapt mesh chartification to surface signal.Adapt mesh chartification to surface signal. Propagate signal approximation error Propagate signal approximation error
through rendering process.through rendering process. Perceptual measures.Perceptual measures.
Metrics for locally linear reconstruction.Metrics for locally linear reconstruction. Parametrize for specific sampling density.Parametrize for specific sampling density. Adapt mesh chartification to surface signal.Adapt mesh chartification to surface signal. Propagate signal approximation error Propagate signal approximation error
through rendering process.through rendering process. Perceptual measures.Perceptual measures.
Top Related