Texture Synthesis over Arbitrary Manifold Surfaces Li-Yi Wei Marc Levoy Computer Graphics Group Stanford University
Introduction + Synthesize a surface texture by coloring mesh vertices Input TextureInput MeshResult
Desirable Properties Share advantages of 2D algorithm [SIGGRAPH 2000] –Quality –Efficient –General –Easy to use Minimum distortion Minimum discontinuity
Previous Work Texture Mapping –Global [Catmull’74, Bier’86, Levy’98] –Local Triangle tiles [Neyret’99] Lapped textures [Praun’00]
Previous Work 3D Texture synthesis –procedural [Perlin’85, Turk’91, Witkin’91] –from example surface texture [Gagalowicz’86, Turk’01, Ying’01] volume texture [Heeger’95, Ghazanfarpour ’96]
Previous Work 2D Texture from Example –pyramid matching [Heeger’95, Simoncelli’98] –block shuffling [De Bonet’97, Xu’00] –Markov Random Field [Popat’93] –neighborhood search [Efros’99, Wei’00]
Texture Synthesis by Neighborhood Search noise Input pyramid noise Output pyramid Search Copy
Surface Texture Synthesis by Neighborhood Search Input pyramid Output pyramid Search
Differences between Images and Meshes Our Solution image mesh Synthesis Order Pixels/Vertices Local Orientation (Vector field) ? ? mesh re-tiling [Turk’92] user-specified relaxation random scanline u v grid Neighborhood flattening/resampling normal ? ? tangent bitangent
Process 1. Build image/mesh pyramids 2. Assign texture orientation 3. Generate texture
Image & Mesh Pyramids Mesh Retiling [Turk’92]
Retiling Density vertices73728 vertices
Texture Orientation Methods for orienting textures –user-specified –random (for isotropic textures) –smooth or symmetric (for anisotropic textures) by relaxation
4-way symmetric texture 4-way symmetric vector field Texture Orientation
Texture Orientation by Relaxation Minimize an error function –similar to [Hertzmann’00, Pedersen’95]
Synthesis
Synthesis : 2 Lowest Levels
Synthesis : Lowest Level Random copy
Synthesis Pass1 : Extrapolation Search Copy Shooting normal
Synthesis Pass2 : Full Neighborhood Search Copy
Neighborhood Comparison compare ?
Mesh Neighborhood Resample Compare Resampled Grid 2D Patch 3D Patch Flatten (Maillot’93)
Accelerating Neighborhood Search Tree-structured Vector Quantization [Wei’00]
Multiresolution Synthesis
Results: Random Orientation
Results: Other Orientations RandomUser-specified Relaxation 2-way symmetry 4-way symmetry
Results smooth4-way symmetryrandom
Results Surface displacement smooth2-way symmetry
Summary of Differences Turk’s approachOur approach Vector field Traversal order Neighborhood Mesh hierarchy smoothrandom, symmetric sweepingrandom surface marchingflattening/resampling explicit parent/childshooting normal
Future Work Texture transfer between models Texturing animated models Mesh signal processing
More Information
Texture Orientation Examples Random4-way symmetric2-way symmetric
Synthesis Order ScanlineRandom Input
Differences between Turk’01 and Our Approach Turk’s approach Our approach Vector field Traversal order Neighborhood Mesh hierarchy smooth random, symmetric sweepingrandom surface marchingflattening + resampling explicit parent/childshooting normal
Introduction Texture Synthesis Input Result
Introduction + Synthesize a surface texture by coloring mesh vertices Input TextureInput Mesh Result Synthesis
Previous Work Synthesis from Example General Applicable to surfaces Low distortion No discontinuity Texture mapping Lapped textures Efficient Procedural texturing
Image Texture Synthesis Exhaustively search neighborhoods
Image Texture Synthesis
Mesh Pyramid Mesh Retiling: Turk’92
Key Idea Reuse the neighborhood-search framework Output pyramid Input pyramid Search
Key Idea Reuse the neighborhood-matching framework
Synthesis Lowest Level Random copy
Synthesis : Pass1 Copy Search Shooting normal
Synthesis : Pass2 Search Copy
Neighborhood Comparison Compare ?
Mesh Neighborhood 3D Patch
Mesh Neighborhood Resample Compare 3D Patch 2D Patch Resampled Grid Flatten (Maillot’93)
Synthesis : Pass1 Random copy Copy Search Shooting normal
You accidentally hit the END button!