stringtranslate.com

Síntesis de texturas

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

La síntesis de texturas se puede utilizar para rellenar huecos en imágenes (como en el retoque ), 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 combina o amplía una imagen de origen.

Texturas

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

  1. En el lenguaje corriente, la palabra "textura" se utiliza como sinónimo de "estructura de la superficie". La textura se ha descrito mediante cinco propiedades diferentes en la psicología de la percepción : tosquedad , contraste , direccionalidad , semejanza de líneas y rugosidad [1] .
  2. En los gráficos por computadora en 3D , una textura es una imagen digital aplicada a la superficie de un modelo tridimensional mediante un 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 , cada imagen digital compuesta de 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]

Meta

Los algoritmos de síntesis de textura están destinados a crear una imagen de salida que cumpla los siguientes requisitos:

Como la mayoría de los algoritmos, la síntesis de textura debe ser eficiente en tiempo de cálculo y en uso de memoria.

Métodos

Se han investigado o desarrollado los siguientes métodos y algoritmos para la síntesis de texturas:

Embaldosado

La forma más sencilla de generar una imagen grande a partir de una imagen de muestra es colocarla en mosaico . Esto significa que simplemente se copian y pegan varias copias de la muestra una al lado de la otra. El resultado rara vez es satisfactorio. Excepto en casos excepcionales, habrá uniones entre los mosaicos y la imagen será muy repetitiva.

Síntesis de textura estocástica

Los métodos de síntesis de texturas estocásticas generan una imagen eligiendo aleatoriamente valores de color para cada píxel, influidos únicamente por parámetros básicos como el brillo mínimo, el color promedio o el contraste máximo. Estos algoritmos funcionan bien únicamente con texturas estocásticas; de lo contrario, producen resultados completamente insatisfactorios, ya que ignoran cualquier tipo de estructura dentro de la imagen de muestra.

Síntesis de textura estructurada de propósito único

Los algoritmos de esa familia utilizan un procedimiento fijo para crear una imagen de salida, es decir, están limitados a un único tipo de textura estructurada. Por lo tanto, estos algoritmos solo se pueden aplicar a texturas estructuradas y solo a texturas con una estructura muy similar. Por ejemplo, un algoritmo de un solo propósito podría producir imágenes de textura de alta calidad de muros de piedra; sin embargo, es muy poco probable que el algoritmo produzca un resultado viable si se le da una imagen de muestra que muestre guijarros.

Mosaico del caos

Este método, propuesto por el grupo Microsoft para gráficos de Internet, es una versión refinada del mosaico y realiza los tres pasos siguientes:

  1. La imagen resultante se rellena completamente con mosaicos. El resultado es una imagen repetitiva con costuras visibles.
  2. Se copian y pegan aleatoriamente partes de la muestra de tamaño aleatorio en la imagen de salida. El resultado es una imagen poco repetitiva con costuras visibles.
  3. La imagen de salida se filtra para suavizar los bordes.

El resultado es una imagen con una textura aceptable, que no es demasiado repetitiva ni contiene demasiados artefactos. Sin embargo, este método no es satisfactorio porque el suavizado del paso 3 hace que la imagen resultante se vea borrosa.

Síntesis de texturas basada en píxeles

Estos métodos, que utilizan campos de Markov, [3] muestreo no paramétrico, [4] cuantificació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. Por lo general, 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 de método de 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 múltiples resoluciones, 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 distintos desplazamientos, de forma similar al uso de la herramienta de clonación para sintetizar manualmente una textura. El acolchado de imágenes [8] y las texturas Graphcut [9] son ​​los algoritmos de síntesis de texturas basados ​​en parches más conocidos. Estos algoritmos tienden a ser más efectivos y rápidos que los métodos de síntesis de texturas basados ​​en píxeles.

Enfoques de aprendizaje profundo y redes neuronales

Más recientemente, se ha demostrado que los métodos de aprendizaje profundo son un método paramétrico potente, rápido y basado en datos para la síntesis de texturas. El trabajo de Leon Gatys [10] es un hito: él y sus coautores demostraron que los filtros de una red neuronal profunda entrenada de forma discriminativa se pueden utilizar como descriptores de imágenes paramétricos eficaces, lo que dio lugar a un nuevo 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] mostró 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 de imágenes. Además, el muestreo flexible en el espacio de ruido permite crear nuevas texturas 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 :

Una implementación de síntesis de textura basada en píxeles:

Síntesis de texturas basada en parches:

Síntesis de texturas generativas profundas con PSGAN, implementada en Python con Lasagne + Theano:

Literatura

Algunos de los primeros artículos más citados en este campo son:

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

(El último algoritmo tiene algunas similitudes con el enfoque del Mosaico del Caos).

El método de muestreo no paramétrico de Efros-Leung es el primero que permite sintetizar fácilmente la mayoría de los tipos de texturas y ha inspirado literalmente cientos de artículos posteriores sobre gráficos por ordenador. 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 ordenadores personales. Sin embargo, resulta que Scott Draves fue el primero en publicar la versión basada en parches de esta técnica junto con el código GPL en 1993, según Efros.

Véase también

Referencias

  1. ^ "Curso 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 a través de un campo aleatorio multiescala no causal y no paramétrico de Markov". 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 cuantificació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 a través de un campo aleatorio multiescala no causal y no paramétrico de Markov". 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ídeos mediante Graph Cuts". Kwatra et al. SIGGRAPH 2003
  10. ^ Gatys, Leon A.; Ecker, Alexander S.; Bethge, Matthias (27 de mayo de 2015). "Síntesis de texturas mediante redes neuronales convolucionales". arXiv : 1505.07376 [cs.CV].
  11. ^ Jetchev, Nikolay; Bergmann, Urs; Vollgraf, Roland (24 de noviembre de 2016). "Síntesis de texturas con redes generativas antagónicas espaciales". arXiv : 1611.08207 [cs.CV].
  12. ^ Bergmann, Urs; Jetchev, Nikolay; Vollgraf, Roland (18 de mayo de 2017). "Aprendizaje de variedades de texturas con la GAN espacial periódica". arXiv : 1705.06566 [cs.CV].

Enlaces externos