Texture Splicing Yiming Liu, Jiaping Wang, Su Xue, Xin Tong, Sing Bing Kang, Baining Guo
Related Works: Texture Synthesis basic element placement distribution … Similar basic element Similar placement distribution
Related Works: Texture Transfer [Efros and Freeman 2001], [Hertzmann et al. 2001]…
Related Works: Texture Design [Matusik et al. 2005] and other works…
Related Works: Texture Element Extraction Near-Regular Texture Analysis – [Liu et al. 2004], [Hays et al. 06]; – Limited to near-regular textures.
Texture Splicing = = + + new texture basic element placement distribution
Texture Analysis (1) self-similarity search
Self-Similarity Search Texture ImageNormalized Cross Correlation Value Sliding Window Template Patch Normalized Cross Correlation
Placement Distribution Extraction Texture ImageNormalized Cross Correlation Value Placement Distribution
Texture Analysis (2) Graph Cut
Graph Cut based Segmentation F B Minimize:
Different Types of Textures Foreground: Rigid Connected Foreground: Rigid Disjoint Background: Rigid Connected
New Texture Generation Texture A Texture B Distribution A Distribution BTexton Mask Deformation Field New Texture
Mapping The Points in Source and Target Distribution Get a mapping function f AB C AB measures the spatial distance between two points. Solved with minimum-cost bipartite graph matching.
Getting Deformation Field W Find a deformation field W AB which: – Map texture element p(x, y) in source distribution to its correspondent position in target distribution (f x (p), f y (p)); – Preserve the rigidity in the rigid area as much as possible. Rigid areaNon-rigid area
Getting Deformation Field W Solve ∆(p) = W AB (p) – p – Separate x and y: ∆(p) = (∆ x (p), ∆ y (p)); Energy Function:
Non-Rigid vs. Rigid (1) Texture Texton Mask Non-RigidRigid Deformation Field Result Deformation Field
Non-Rigid vs. Rigid (2) Texture Non-RigidRigid Deformation Field Result Deformation Field
Non-Rigid vs. Rigid (3) Texture Non-RigidRigid Deformation Field Result Deformation Field
Barycentric Interpolation sourceoutput W BA (q) q
Final Refinement Texture Synthesis [Lefebvre and Hoppe 2006] – Add fine details to the texture. – Fix the incorrectly deformed area in the texture. Before texture synthesisAfter texture synthesis
Splicing Result (1)
Splicing Result (2)
Splicing Result (3)
Self Splicing: Scaling
Self Splicing: Randomization
Self Splicing: Regularization
Self Splicing: Specific Rearrangement
Summary Texture Splicing: a novel method for texture editing. Simple idea: generate new textures with one texture’s element and another’s spatial placement distribution: – Self-similarity search; – Graph-cut based segmentation; – Image deformation with rigid constraint.
Summary (Cont’d) Simple but useful for users: – The user just need to provide two texture images. – The user can also directly editing the spatial placement. Require more interaction, but Provides more control on texture design.
Thank You! Any questions?