- 138 Views
- Uploaded on
- Presentation posted in: General

Mesh Quilting For Geometric Texture Synthesis

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Mesh Quilting For Geometric Texture Synthesis

Kun Zhou et al.

In SIGGRAPH 2006

발표 이성호

2009년 4월 15일

- Mesh quilting
- Geometric texture synthesis algorithm
- 3D texture sample given in the form of a triangle
- inside a thin shell around an arbitrary surface

- Allow interactive and versatile editing and animation
- Based on stitching together 3D geometry elements
- On curved surfaces
- Reduce distortion of geometry elements
- inside the 3D space of the thin shell

- Low-distortion parameterization

- Reduce distortion of geometry elements

- Today’s commodity video cards
- Exquisite details can be purely geometrically modeled

- Modeling such complex geometric details
- A tedious process

- Creating mesh-based 3D geometric textures
- Remains challenging

- To synthesize geometric details by stitching together small patches
- of an input geometric texture sample

- Tools to further edit and animate
- these geometric details

- Modeling of Geometric Detail on Surfaces
- Fur
- [Kajiya and Kay 1989]
- Rendering fur with three dimensional textures.
- In Proceedings of SIGGRAPH 89

- [Kajiya and Kay 1989]
- Volume textures
- [Neyret 1998]

- Fur

- More versatile representations
- Geometric textures
- [Elber2005]

- Shell map
- [Porumbescu et al. 2005]

- Geometric textures

- Limitations
- Periodic textures

- Mesh-based creation
- Of geometric textures on arbitrary meshes
- [Fleischer et al. 1995]
- Mostly restricted to the dissemination
- Of simple texture elements over the surface

- Synthesis based on per-pixel non-parametric sampling
- [Turk 2001;Wei and Levoy 2001; Ying et al. 2001; Tong et al. 2002; Zelinka and Garland 2003]

- Based on the L2-norm
- a relatively poor measure
- of perceptual similarity,

- such algorithms are not applicable
- to a large spectrum of textures.

- a relatively poor measure

- Textures by directly copying small parts
- of an input texture sample
- alpha-blending [Praun et al. 2000]
- quilting
- [Efros and Freeman 2001; Liang et al. 2001; Soler et al. 2002; Magda and riegman 2003; Kwatra et al. 2003; Wu and Yu 2004; Zhou et al. 2005]

- Searching for the “min-cut” seams
- further enhance the smoothness across the seams
- [Efros and Freeman 2001; Kwatra et al. 2003; Zhou et al. 2005]

- further enhance the smoothness across the seams

- Feature matching
- [Wu and Yu 2004]
- Human visual system is so sensitive
- to edges, corners and other high-level features in textures

- Parallel controllable texture synthesis on GPU
- [Lefebvre and Hoppe 2005]

- Texture synthesis using Expectation Maximization optimization
- [Kwatraet al. 2005]

- Little work to provide tool
- for 3D geometric texture synthesis.
- [Bhat et al. 2004; Lagae et al. 2005]

- for 3D geometric texture synthesis.

[Lagae et al. 2005]

- [Bhat et al. 2004]
- voxel-based approach

- [Lagae et al. 2005]
- used distance fields

[Bhat et al. 2004]

- Irregular mesh
- The input texture sample
- is not a regular array of pixel values

- The input texture sample
- Geometry elements
- Each being truly a small 3D object identified
- As a connected component in 3D

- Each being truly a small 3D object identified
- Quilting is performed on curved surfaces
- Severe distortion in the 3D space

- Mesh-based geometric texture synthesis
- Synthesized over the base mesh.

- Triangle meshes
- Both the input geometry and output geometry

- Integrity
- Maintains the integrity of geometry elements
- In the synthesized texture
- Texture editing and texture animation
- can be easily performed

- Maintains the integrity of geometry elements

- Aligns elements
- through local deformation
- And merges elements to connect texture patches

- Mesh quilting on curved surfaces
- Low-distortion parameterization
- of the shell space

- Low-distortion parameterization

- Setup & Nomenclature

- Seed Finding
- Find a seed region R from which to grow the output mesh texture further out

- Geometry Matching
- Find the best patch placement around region R using geometry matching to minimize mismatch between the new and the old patch

- Element Correspondences
- Find correspondences between elements in the new patch and those in the old patch

- Element Deformation
- Align the corresponding elements through local deformation

- Element Merging
- Expand the output texture by merging the new patch into the output texture space

- Grid-based approach
- The bounding boxes of both Moutand Min are subdivided in finer regular grids

- These grids are only two-dimensional
- Initially, the cells of Moutare tagged unprocessed
- Each time we wish to grow out the current mesh Mout,
- we look for an unprocessed cell with the largest number of adjacent cells that are already processed
- this will be the seed cell that we will try to process next.

- we look for an unprocessed cell with the largest number of adjacent cells that are already processed

- Find how to complete the mesh texture in the seed cell
- and possibly add to its surroundings too. Using the nearby existing mesh texture available near the seed cell
- Find a portion of the original swatch Min best matching this surrounding to extend Mout .

- Restrict the translation t to be in
- grid unit

- Element deformation described in Section 2.6
- will compensate for an imperfect element alignment

- Octreedata structure for the input texture
- Significant speed-up

- the overlapping region is usually larger than the small sub-patch Pout
- since the input mesh texture covers Poutcompletely.

- Every element (either from Cout or Cin) without correspondence
- directly added to Mout .

- For every established correspondence (Cout ,Cin)
- If Cout is entirely within the overlapping region, Cout is ignored
- and Cinis instead added to the final results

- if Cin is entirely within the overlapping region,
- Cinis ignored and Cout is added to Mout .

- If Cout is entirely within the overlapping region, Cout is ignored

- stitch parts of Cin and Cout
- to get a singly-connected, combined element
- seek a cut path in each element
- the graph cut algorithm
- [Boykov et al. 2001]

- Setup
- Let Mbase be the base mesh that we wish to enhance with added geometric details.
- Minthe geometric texture mesh
- used as a swatch
- seamlessly tile the base mesh

- used as a swatch
- S
- the scale of the geometric details

- 2D grid -> base mesh
- Quilting process will stop
- Only when there are no more unprocessed triangles

- Quilting process will stop
- Define a local surface patch
- By starting from the chosen triangle
- Growing the region
- Using breadth-first traversal
- Until we reach a certain depth
- Or when the total area of the patch exceeds a user-defined threshold

- Using breadth-first traversal

- Position of vertices located with respect to the base mesh
- Location of a vertex v
- over a triangle Tbase
- is defined by the barycentric coordinates
- of its orthogonal projection
- on Tbase
- along with the orthogonal distance (i.e., height)
- from the triangle to v

- along with the orthogonal distance (i.e., height)

- on Tbase

- surface patch is flattened over the 2D plane
- using a discrete conformal mapping
- DCM [Desbrun et al. 2002]

- using a discrete conformal mapping

- Local operations
- Described for planar mesh quilting
- Can be performed
- Over this parameterization plane

- Position of the newly synthesized vertices
- Will be reprojected
- Onto the local mesh-based coordinate system

- Will be reprojected

- If the area distortion induced
- by the local parameterization is too large
- Reduce the area of the surface patch
- This will decrease
- the size of the output-sub-patch Pout

- This will decrease

- Convert the vertex positions
- Stored in local coordinates for now
- Into a stand-alone, common embedding

- Self-intersections can be created
- Build a texture atlas for Mbase
- Convert the above local representation of vertex positions to locations
- in a geometry texture space

- Convert the above local representation of vertex positions to locations
- Then, construct a shell space around Mbase
- Mapping the vertices
- from the geometry texture space to the shell space
- will fix the location of the vertices in 3D space

- from the geometry texture space to the shell space

- Mapping the vertices

- Porumbescu et al. [2005]
- Creates large distortion in curved regions

- We alleviate this!
- By optimizing a stretch metric on this tetrahedral mesh
- A natural extension of
- low-distortion parameterization
- of triangle meshes

- [Sander et al. 2001]

- low-distortion parameterization

- Only update the u and v texture coordinates of the vertices on the offset surface
- Optimization of the stretch metric
- along a randomly chosen search direction
- in the (u, v) plane
- as in [Sander et al. 2001].

- Regions with very high curvature can be badly handled
- parametric distortion of small surface patches may be high

- Cannot always achieve perfect matching
- if the swatch is untileable
- even with major element deformation

- Postprocessing step is performed
- to remove those visually-displeasingelements
- Figure 5(b)

- if the swatch is untileable

- Mesh-based 3D texture synthesis algorithm