Texture synthesis

Texture synthesis

Texture synthesis is the process of algorithmically constructing a large digital image from a small digital sample image by taking advantage of its structural content. It is object of research to computer graphics and is used in many fields, amongst others digital image editing, 3D computer graphics and post-production of films.

Texture synthesis can be used to fill in holes in images, create large non-repetitive background images and expand small pictures.See [http://www.cs.unc.edu/~kwatra/SIG07_TextureSynthesis/index.htm "SIGGRAPH 2007 course on Example-based Texture Synthesis"] for more details.

Textures

" is an ambiguous word and in the context of texture synthesis may have one of the following meanings:
# In common speech, "texture" is a synonym for "surface structure". Usually it comprises the five properties attributed to texture by psychology of perception: "coarseness", "contrast", "directionality", "line-likeness" and "roughness" ref|Tamura.
# In 3D computer graphics, a texture is a digital image that is applied to a three-dimensional model via texture mapping to give objects a more realistic look. Often, such an image is a photograph of a "real" texture, such as wood grain.
# In image processing, every digital image composed of repeated elements is called a "texture." For example, see the images below.

Texture can be arranged within a spectrum from Stochastic to Regular:
* Stochastic textures. Texture images of stochastic textures look like noise: colour dots that are randomly scattered over the image, barely specified by the attributes minimum and maximum brightness and average colour. Many textures look like stochastic textures when viewed from a distance. An example of a stochastic texture is roughcast.
* Structured textures. These textures look like somewhat regular patterns. An example of a structured texture is a stonewall or a floor tiled with paving stones.

These extremes are connected by a smooth transition, as visualized in the figure below from [http://graphics.cs.cmu.edu/projects/nrt/ "Near-regular Texture Analysis and Manipulation." Yanxi Liu, Wen-Chieh Lin, and James Hays. SIGGRAPH 2004]

Aim

The aim of a texture synthesis algorithm is to create an "output image" that meets the following requirements:
* The output shall have the size determined beforehand by the user.
* The output shall be as similar as possible to the sample.
* The output shall not have visible artifacts such as seams, blocks and misfitting edges.
* The output shall be non-repetitive, i. e. there shall be no identical structures in the output image.Moreover, it shall meet the usual requirements of algorithms: efficiency in terms of speed and economy in terms of memory.

Methods

The following methods and algorithms have been researched or developed for texture synthesis:

Tiling

The plainest way to create a larger image from a sample image is by simply tiling it. That means the output image is tiled together from duplicates of the sample image, in a simple copy-and-paste manner. The result is usually unsatisfactory: unless the sample complies with special requirements, the seams between the tiles will be plainly visible, and even then still the output image will be highly repetitive.

Stochastic texture synthesis

An algorithm of that family produces an image by randomly choosing colour values for each pixel, only influenced by basic parameters like minimum brightness, average colour or maximum contrast. These algorithms perform well with stochastic textures only, otherwise they produce completely unsatisfactory results as they ignore any kind of structure within the sample image.

Single purpose structured texture synthesis

Algorithms of that family use a fix procedure to create an output image, i. e. they are limited to a single kind of structured texture. Thus, these algorithms can both only be applied to structured textures and only to textures with a very similar structure. For example, a single purpose algorithm could produce high quality texture images of stonewalls; yet, it is very unlikely that the algorithm will produce any viable output if given a sample image that shows pebbles.

Chaos mosaic

This method, proposed by the Microsoft group for internet graphics, is a refined version of tiling and performs the following three steps:
# The output image is filled completely by tiling. The result is a repetitive image with visible seams.
# Randomly selected parts of random size of the sample are copied and pasted randomly onto the output image. The result is a rather non-repetitive image with visible seams.
# The output image is filtered to smooth edges.The result is an acceptable texture image, which is not too repetitive and does not contain too many artifacts. Still, this method is unsatisfactory because the smoothing in step 3 makes the output image look blurred.

Pixel-Based Texture Synthesis

These methods, such as [http://graphics.cs.cmu.edu/people/efros/research/EfrosLeung.html "Texture Synthesis by Non-parametric Sampling." Efros and Leung, ICCV, 1999] , [http://graphics.stanford.edu/papers/texture-synthesis-sig00/ "Fast Texture Synthesis using Tree-structured Vector Quantization" Wei and Levoy SIGGRAPH 2000] and [http://mrl.nyu.edu/projects/image-analogies/ "Image Analogies" Hertzmann et al. SIGGRAPH 2001.] are some of the simplest and most successful general texture synthesis algorithms. They typically synthesize a texture in scan-line order by finding and copying pixels with the most similar local neighborhood as the synthetic texture. These methods are very useful for image completion. They can be constrained, as in "Image Analogies", to perform many interesting tasks. They are typically accelerated with some form of Approximate Nearest Neighbor method since the exhaustive search for the best pixel is somewhat slow. The synthesis can also be performed in multiresolution, such as [http://www.texturesynthesis.com/nonparaMRF.htm "Texture synthesis via a noncausal nonparametric multiscale Markov random field." Paget and Longstaff, IEEE Trans. on Image Processing, 1998] .

Patch-Based Texture Synthesis

Patch-based texture synthesis creates a new texture by copying and stitching together textures at various offsets. [http://graphics.cs.cmu.edu/people/efros/research/quilting.html "Image Quilting." Efros and Freeman. SIGGRAPH 2001] and [http://www-static.cc.gatech.edu/gvu/perception//projects/graphcuttextures/ "Graphcut Textures: Image and Video Synthesis Using Graph Cuts." Kwatra et al. SIGGRAPH 2003] are the best known patch-based texture synthesis algorithms. These algorithms tend to be more effective and faster than pixel-based texture synthesis methods.

Chemistry based

Realistic textures can be generated by simulations of complexchemical reactions within fluids, namely Reaction-diffusion systems. It is believed that these systems show behaviors which are qualitatively equivalent to real processes (Morphogenesis) found in the nature, such as animal markings (shells, fishs, wild cats...).See also Turing patterns.

Literature

Several of the earliest and most referenced papers in this field include:

[http://xenia.media.mit.edu/~popat/personal/ Popat] in 1993 - "Novel cluster-based probability model for texture synthesis, classification, and compression".

[http://www.cns.nyu.edu/~david/ftp/reprints/Heeger-siggraph95.pdf Heeger-Bergen] in 1995 - "Pyramid based texture analysis/synthesis".

[http://www.texturesynthesis.com/papers/Paget_IP_1998.pdf Paget-Longstaff] in 1998 - "Texture synthesis via a noncausal nonparametric multiscale Markov random field"

[http://graphics.cs.cmu.edu/people/efros/research/NPS/efros-iccv99.pdf Efros-Leung] in 1999 - "Texture Synthesis by Non-parameteric Sampling".

[http://graphics.stanford.edu/papers/texture-synthesis-sig00/ Wei-Levoy] in 2000 - "Fast Texture Synthesis using Tree-structured Vector Quantization"

although there was also earlier work on the subject, such as
* Gagalowicz and Song De Ma in 1986 , "Model driven synthesis of natural textures for 3-D scenes",
* [http://www.idiom.com/~zilla/Work/AMG/sig84.pdf Lewis] in 1984, "Texture synthesis for digital painting".(The latter algorithm has some similarities to the Chaos Mosaic approach).

The non-parametric sampling approach of Efros-Leung is the first approach that can easily synthesis most types of texture, and it has inspired literally hundreds of follow-on papers in computer graphics. Since then, the field of texture synthesis has rapidly expanded with the introduction of 3D graphics accelerator cards for personal computers. It turns out, however, that Scott Draves first published the patch-based version of this technique along with GPL code in 1993 according to [http://graphics.cs.cmu.edu/people/efros/research/synthesis.html Efros] .

A similar technique for audio rather than images is known as Granular synthesis.

References

# Tamura et al. (1978)

External links

* [http://graphics.cs.cmu.edu/people/efros/research/synthesis.html texture synthesis]
* [http://www.cs.utah.edu/~michael/ts/ texture synthesis]
* [http://www.cs.huji.ac.il/labs/cglab/papers/texsyn/ texture movie synthesis]
* [http://www.macs.hw.ac.uk/texture2005/ Texture2005]
* [http://graphics.cs.cmu.edu/projects/nrt/ Near-Regular Texture Synthesis]
* [http://www.macs.hw.ac.uk/texturelab/ The Texture Lab]
* [http://www.texturesynthesis.com/texture.htm Nonparametric Texture Synthesis]
* [http://www.texrd.com/gallerie/gallerie.html Examples of reaction-diffusion textures]
* [http://rubinsteyn.com/comp_photo/texture/ Implementation of Efros & Leung's algorithm with examples]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Texture mapping — Texture maps redirects here. For the 2003 ambient album, see Texture Maps: The Lost Pieces Vol. 3. 1 = 3D model without textures 2 = 3D model with textures Texture mapping is a method for adding detail, surface texture (a bitmap or raster image) …   Wikipedia

  • Procedural texture — A procedural texture is a computer generated image created using an algorithm intended to create a realistic representation of natural elements such as wood, marble, granite, metal, stone, and others.Usually, the natural look of the rendered… …   Wikipedia

  • Textursynthese — nennt man die automatische Erzeugung von Texturen, also zweidimensionalen digitalen Bildern, die Oberflächenstrukturen oder vergleichbare Inhalte zeigen. Es gibt zwei grundlegend verschiedene Arten der Textursynthese: Prozedurale… …   Deutsch Wikipedia

  • Clone tool — This padlock is imprinted with the manufacturer’s logo. The same padl …   Wikipedia

  • Computer Audition — (CA) is general field of study of algorithms and systems for audio understanding by machine. Since the notion of what it means for a machine to hear is very broad and somewhat vague, computer audition attempts to bring together several… …   Wikipedia

  • Image analogy — An image analogy is a method of creating an image filter automatically from training data. In an image analogy process, the transformation between two images A and A is learned . Later, given a different image B, it s analogy image B can be… …   Wikipedia

  • Microsoft Flight Simulator X — Developer(s) Microsoft Game Studios Publisher(s) Microsoft Game Studios …   Wikipedia

  • Síntesis de textura — La síntesis de textura (del inglés texture synthesis) es el proceso de crear una imagen digital grande de una imagen digital pequeña por un algoritmo. No se trata de un engrosamiento por cambio de la resolución sino de una imitación del contenido …   Wikipedia Español

  • Greg Turk — Infobox academic name = Greg Turk box width = image width = caption = birth date = 1961 birth place = Chapel Hill, NC death date = death place = residence = Atlanta, Georgia citizenship = United States nationality = United States ethnicity = WASP …   Wikipedia

  • Cropping (image) — This article is about cropping images. For other meanings of the word crop, see Crop (disambiguation). Cropping refers to the removal of the outer parts of an image to improve framing, accentuate subject matter or change aspect ratio. Depending… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”