Articulo de referencia

Síntesis de texturas

La síntesis de texturas es el proceso de construir algorítmicamente una imagen digital de gran tamaño a partir de una pequeña imagen digital de muestra, aprovechando su contenid...

La síntesis de texturas es el proceso de construir algorítmicamente una imagen digital de gran tamaño a partir de una pequeña imagen digital de muestra, aprovechando su contenido estructural. Es objeto de investigación en gráficos por computadora y se utiliza en muchos campos, entre ellos la edición de imágenes digitales , los gráficos 3D por computadora y la postproducción de películas .

La síntesis de texturas se puede utilizar para rellenar huecos en imágenes (como en el relleno de imágenes ), crear imágenes de fondo grandes y no repetitivas y ampliar imágenes pequeñas. [ 1 ]

Contraste con texturas procedimentales

Las texturas procedimentales son una técnica relacionada que permite sintetizar texturas desde cero sin material de origen. Por el contrario, la síntesis de texturas se refiere a técnicas en las que se ajusta o extiende una imagen de origen.

Texturas

" Textura " es una palabra ambigua y, en el contexto de la síntesis de texturas, puede tener uno de los siguientes significados:

  1. En el lenguaje común, la palabra "textura" se usa como sinónimo de "estructura superficial". La textura se ha descrito mediante cinco propiedades diferentes en la psicología de la percepción : aspereza , contraste , direccionalidad , similitud con líneas y rugosidad..
  2. En gráficos 3D por computadora , una textura es una imagen digital aplicada a la superficie de un modelo tridimensional mediante mapeo de texturas para darle al modelo una apariencia más realista. A menudo, la imagen es una fotografía de una textura "real", como la veta de la madera .
  3. En el procesamiento de imágenes , toda imagen digital compuesta por elementos repetidos se denomina "textura".
Una mezcla de fotografías e imágenes generadas que ilustran el espectro de texturas.

La textura se puede organizar a lo largo de un espectro que va de regular a estocástico, conectado por una transición suave: [ 2 ]

  • Texturas regulares. Estas texturas se asemejan a patrones regulares. Un ejemplo de textura estructurada es una pared de piedra o un suelo embaldosado con adoquines.
  • Texturas estocásticas. Las imágenes de texturas estocásticas parecen ruido : puntos de color dispersos aleatoriamente sobre la imagen, apenas definidos por los atributos de brillo mínimo y máximo y color promedio. Muchas texturas parecen estocásticas cuando se ven desde la distancia. Un ejemplo de textura estocástica es el revoque rugoso .

Meta

Los algoritmos de síntesis de texturas están diseñados para crear una imagen de salida que cumpla con los siguientes requisitos:

  • The output should have the size given by the user.
  • The output should be as similar as possible to the sample.
  • The output should not have visible artifacts such as seams, blocks and misfitting edges.
  • The output should not repeat, i. e. the same structures in the output image should not appear multiple places.

Like most algorithms, texture synthesis should be efficient in computation time and in memory use.

Methods

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

Tiling

The simplest way to generate a large image from a sample image is to tile it. This means multiple copies of the sample are simply copied and pasted side by side. The result is rarely satisfactory. Except in rare cases, there will be the seams in between the tiles and the image will be highly repetitive.

Stochastic texture synthesis

Stochastic texture synthesis methods produce 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 fixed 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:

  1. The output image is filled completely by tiling. The result is a repetitive image with visible seams.
  2. 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.
  3. 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

Estos métodos, que utilizan campos de Markov, [ 3 ] muestreo no paramétrico, [ 4 ] cuantización vectorial estructurada en árbol [ 5 ] y analogías de imágenes [ 6 ] son ​​algunos de los algoritmos de síntesis de texturas generales más simples y exitosos. Generalmente sintetizan una textura en orden de línea de escaneo al encontrar y copiar píxeles con el vecindario local más similar a la textura sintética. Estos métodos son muy útiles para completar imágenes. Se pueden restringir, como en las analogías de imágenes , para realizar muchas tareas interesantes. Por lo general, se aceleran con alguna forma del método del vecino más cercano aproximado, ya que la búsqueda exhaustiva del mejor píxel es algo lenta. La síntesis también se puede realizar en multirresolución, como mediante el uso de un campo aleatorio de Markov multiescala no causal y no paramétrico . [ 7 ]

Acolchado de imágenes

Síntesis de texturas basada en parches

La síntesis de texturas basada en parches crea una nueva textura copiando y uniendo texturas en diferentes desplazamientos, de forma similar al uso de la herramienta de clonación para sintetizar una textura manualmente. El patching de imágenes [ 8 ] y las texturas de corte de grafos [ 9 ] son ​​los algoritmos de síntesis de texturas basados ​​en parches más conocidos. Estos algoritmos suelen ser más eficaces y rápidos que los métodos de síntesis de texturas basados ​​en píxeles.

Aprendizaje profundo y enfoques de redes neuronales

Más recientemente, se ha demostrado que los métodos de aprendizaje profundo constituyen un enfoque paramétrico, potente, rápido y basado en datos para la síntesis de texturas. El trabajo de Leon Gatys [ 10 ] representa un hito: él y sus coautores demostraron que los filtros de una red neuronal profunda entrenada de forma discriminativa pueden utilizarse como descriptores de imagen paramétricos eficaces, lo que da lugar a un novedoso método de síntesis de texturas.

Otro desarrollo reciente es el uso de modelos generativos para la síntesis de texturas. El método Spatial GAN ​​[ 11 ] demostró por primera vez el uso de GAN totalmente no supervisadas para la síntesis de texturas. En un trabajo posterior, [ 12 ] el método se amplió aún más: PSGAN puede aprender imágenes periódicas y no periódicas de forma no supervisada a partir de imágenes individuales o grandes conjuntos de datos. Además, el muestreo flexible en el espacio de ruido permite crear texturas novedosas de tamaño de salida potencialmente infinito y realizar transiciones suaves entre ellas. Esto hace que PSGAN sea único con respecto a los tipos de imágenes que un método de síntesis de texturas puede crear.

Implementaciones

Existen algunas implementaciones de síntesis de texturas como complementos para el editor de imágenes gratuito Gimp :

  • Texturizar
  • Resintetizador

Implementación de síntesis de texturas basada en píxeles:

  • Síntesis de textura controlable en paralelo

Síntesis de texturas basada en parches:

  • KUVA: Texturas Graphcut

Síntesis de texturas generativa profunda con PSGAN, implementada en Python con Lasagne + Theano:

  • https://github.com/zalandoresearch/psgan

Literatura

Algunos de los artículos más antiguos y citados en este campo incluyen:

  • Popat en 1993 - "Nuevo modelo de probabilidad basado en clústeres para la síntesis, clasificación y compresión de texturas".
  • Heeger-Bergen en 1995 - "Análisis/síntesis de texturas basada en pirámides".
  • Paget-Longstaff en 1998 - "Síntesis de texturas mediante un campo aleatorio de Markov multiescala no causal y no paramétrico"
  • Efros-Leung en 1999 - "Síntesis de texturas mediante muestreo no paramétrico".
  • Wei-Levoy en 2000 - "Síntesis rápida de texturas mediante cuantización vectorial estructurada en árbol "

aunque también hubo trabajos anteriores sobre el tema, como

  • Gagalowicz y Song De Ma en 1986, "Síntesis basada en modelos de texturas naturales para escenas 3D",
  • Lewis en 1984, "Síntesis de texturas para pintura digital".

(Este último algoritmo tiene algunas similitudes con el enfoque del Mosaico Caótico).

El método de muestreo no paramétrico de Efros-Leung fue el primero en sintetizar fácilmente la mayoría de los tipos de texturas, e inspiró cientos de trabajos posteriores en gráficos por computadora. Desde entonces, el campo de la síntesis de texturas se ha expandido rápidamente con la introducción de tarjetas aceleradoras de gráficos 3D para computadoras personales. Sin embargo, según Efros , Scott Draves publicó por primera vez la versión basada en parches de esta técnica junto con código GPL en 1993 .

Véase también

Referencias

  1. "Curso de SIGGRAPH 2007 sobre síntesis de texturas basada en ejemplos"
  2. "Análisis y manipulación de texturas casi regulares" . Yanxi Liu , Wen-Chieh Lin y James Hays. SIGGRAPH 2004
  3. "Síntesis de texturas mediante un campo aleatorio de Markov multiescala no causal y no paramétrico." Paget y Longstaff, IEEE Trans. on Image Processing, 1998
  4. "Síntesis de texturas mediante muestreo no paramétrico". Efros y Leung, ICCV, 1999
  5. "Síntesis rápida de texturas mediante cuantización vectorial estructurada en árbol" Wei y Levoy SIGGRAPH 2000
  6. "Analogías de imágenes" Hertzmann et al. SIGGRAPH 2001.
  7. "Síntesis de texturas mediante un campo aleatorio de Markov multiescala no causal y no paramétrico." Paget y Longstaff, IEEE Trans. on Image Processing, 1998
  8. "Acolchado de imágenes". Efros y Freeman. SIGGRAPH 2001
  9. "Texturas Graphcut: Síntesis de imágenes y vídeo mediante cortes de grafos." Kwatra et al. SIGGRAPH 2003
  10. Gatys, Leon A.; Ecker, Alexander S.; Bethge, Matthias (27-05-2015). "Síntesis de texturas mediante redes neuronales convolucionales". arXiv : 1505.07376 [ cs.CV ].
  11. Jetchev, Nikolay; Bergmann, Urs; Vollgraf, Roland (24-11-2016). "Texture Synthesis with Spatial Generative Adversarial Networks". arXiv : 1611.08207 [ cs.CV ].
  12. Bergmann, Urs; Jetchev, Nikolay; Vollgraf, Roland (2017-05-18). "Learning Texture Manifolds with the Periodic Spatial GAN". arXiv : 1705.06566 [ cs.CV ].
  • síntesis de texturas
  • síntesis de texturas
  • síntesis de películas de texturas
  • Textura2005
  • Síntesis de textura casi regular
  • El Laboratorio de Texturas
  • Síntesis de texturas no paramétricas
  • Ejemplos de texturas de reacción-difusión
  • Implementación del algoritmo de Efros y Leung con ejemplos
  • Síntesis de microtexturas mediante aleatorización de fases, con código y demostración en línea.
  • Implementación de la GAN espacial periódica para la síntesis de texturas.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Texture_synthesis&oldid=1323496310 "