stringtranslate.com

Síntesis de textura

La síntesis de texturas es el proceso de construir algorítmicamente una imagen digital grande a partir de una imagen de muestra digital pequeña aprovechando su contenido estructural. Es objeto de investigación en infografía y se utiliza en muchos campos, entre otros, edición de imágenes digitales , infografía 3D y postproducción de películas .

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

Contraste con texturas procesales

Las texturas procesales son una técnica relacionada que puede 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 compara o amplía alguna imagen fuente.

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 habla común, la palabra "textura" se utiliza como sinónimo de "estructura superficial". La textura ha sido descrita por cinco propiedades diferentes en la psicología de la percepción : tosquedad , contraste , direccionalidad , semejanza de líneas y rugosidad [1] .
  2. En gráficos por computadora en 3D , una textura es una imagen digital aplicada a la superficie de un modelo tridimensional mediante mapeo de textura 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 desde regular hasta estocástico, conectado por una transición suave: [2]

Meta

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

Como la mayoría de los algoritmos, la síntesis de texturas debería 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 raros, habrá costuras entre los mosaicos y la imagen será muy repetitiva.

Síntesis de textura estocástica

Los métodos de síntesis de textura estocástica producen una imagen eligiendo aleatoriamente valores de color para cada píxel, solo influenciados por parámetros básicos como brillo mínimo, color promedio o contraste máximo. Estos algoritmos funcionan bien sólo 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 un solo propósito

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 sólo se pueden aplicar a texturas estructuradas y sólo a texturas con una estructura muy similar. Por ejemplo, un algoritmo de propósito único podría producir imágenes de textura de muros de piedra de alta calidad; sin embargo, es muy poco probable que el algoritmo produzca algún resultado viable si se le da una imagen de muestra que muestra 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 siguientes tres pasos:

  1. La imagen de salida se llena completamente con mosaicos. El resultado es una imagen repetitiva con costuras visibles.
  2. Partes seleccionadas aleatoriamente de tamaño aleatorio de la muestra se copian y pegan aleatoriamente en la imagen de salida. El resultado es una imagen bastante no repetitiva con costuras visibles.
  3. La imagen de salida se filtra para suavizar los bordes.

El resultado es una imagen de textura aceptable, que no es demasiado repetitiva y no contiene demasiados artefactos. Aun así, este método no es satisfactorio porque el suavizado del paso 3 hace que la imagen de salida parezca 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 de vectores estructurados 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 el orden de las líneas de escaneo buscando y copiando píxeles con la vecindad local más similar a la textura sintética. Estos métodos son muy útiles para completar imágenes. Pueden verse obligados, como en las analogías de imágenes , a realizar muchas tareas interesantes. Por lo general, se aceleran con algún tipo de 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 multiresolución, como mediante el uso de un campo aleatorio de Markov multiescala no paramétrico y no causal. [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 varios desplazamientos, similar al uso de la herramienta clonar para sintetizar manualmente una textura. El acolchado de imágenes [8] y las texturas de corte gráfico [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 demostró que los métodos de aprendizaje profundo son un enfoque 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 discriminativamente pueden usarse como descriptores de imágenes paramétricos efectivos, lo que condujo 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] 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 texturas novedosas de tamaño de salida potencialmente infinito y realizar una transición suave entre ellas. Esto hace que PSGAN sea único con respecto a los tipos de imágenes que puede crear un método de síntesis de texturas.

Implementaciones

Algunas implementaciones de síntesis de texturas existen 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 textura generativa profunda con PSGAN, implementada en Python con Lasagne + Theano:

Literatura

Varios de los artículos más antiguos y más referenciados en este campo incluyen:

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

(Este último algoritmo tiene algunas similitudes con el enfoque Chaos Mosaic).

El enfoque de muestreo no paramétrico de Efros-Leung es el primer enfoque que puede sintetizar fácilmente la mayoría de los tipos de textura y ha inspirado literalmente cientos de artículos posteriores sobre 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, resulta que Scott Draves publicó por primera vez la versión basada en parches de esta técnica junto con el código GPL en 1993, según Efros.

Ver 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. SIGGRAFO 2004
  3. ^ "Síntesis de texturas a través de un campo aleatorio de Markov multiescala no causal y no paramétrico". Paget y Longstaff, IEEE Trans. sobre procesamiento de imágenes, 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 de vectores estructurados en árbol" Wei y Levoy SIGGRAPH 2000
  6. ^ "Analogías de imágenes" Hertzmann et al. SIGRÁFICO 2001.
  7. ^ "Síntesis de texturas a través de un campo aleatorio de Markov multiescala no causal y no paramétrico". Paget y Longstaff, IEEE Trans. sobre procesamiento de imágenes, 1998
  8. ^ "Acolchado de imágenes". Efros y Freeman. SIGGRAFO 2001
  9. ^ "Texturas Graphcut: síntesis de imágenes y videos mediante cortes de gráficos". Kwatra et al. SIGGRAFO 2003
  10. ^ Gatys, León A.; Ecker, Alejandro S.; Bethge, Matías (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 adversarias generativas 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