¿Cómo pintar una imagen natural aleatoria usando Paint Transformer?

Estás leyendo la publicación: ¿Cómo pintar una imagen natural aleatoria usando Paint Transformer?

Hoy en día, la IA está en todas partes y aumenta la productividad y el rendimiento de todas las industrias donde se aplica. De manera similar, en las industrias del arte, la transformación de una imagen realista en una forma artística ahora está de moda y muchas plataformas sociales tienen esto como parte integral. En este contexto, en este artículo, discutiremos cómo se utilizan las redes neuronales en la industria del arte y veremos la arquitectura basada en NN llamada Paint Transformer que da como resultado imágenes de pintura creadas por humanos de imágenes naturales dadas. . Los siguientes son los puntos principales enumerados que se discutirán en este artículo.

Tabla de contenido

  1. Redes neuronales en la industria del arte
  2. ¿Cómo funciona Paint Transformer?
  3. Implementación del transformador de pintura

Primero, discutiremos cómo se usan las redes neuronales en el arte.

Redes neuronales en la industria del arte

La pintura ha sido una forma fantástica para que los humanos preserven lo que experimentan o incluso cómo imaginan el mundo desde la antigüedad. Durante mucho tiempo se ha reconocido que la pintura requiere conocimientos/habilidades profesionales y es difícil para un profano. La producción de arte asistida por computadora llena una gran parte de este vacío, permitiéndonos a muchos de nosotros producir nuestras propias obras artísticas.

Los artistas utilizan las redes neuronales para aumentar o mejorar sus esfuerzos artísticos, así como para generar obras de arte totalmente nuevas. La tecnología Wetbrush de Adobe está erosionando la frontera entre el arte digital y la pintura, a pesar de que el arte digital ha sido reconocido durante mucho tiempo como un medio único.

Crear un efecto que parezca pintura en un medio digital ha sido un desafío anteriormente, pero Wetbrush emplea algoritmos y un motor de simulación física para hacer pinceladas digitales que tienen la sensación y el color de la pintura al óleo. Las imágenes de pincel húmedo también se pueden imprimir en tres dimensiones, simulando los efectos de la iluminación natural en una pintura al óleo.

🔥 Recomendado:  Todo lo que necesitas saber sobre la Cadena de Markov Monte Carlo

Las imágenes naturales se pueden transformar en imágenes artísticas a través de modelos de imagen como la transferencia de estilo o la traducción de imagen a imagen. La creación de imágenes generalmente se formula como un proceso de optimización en el espacio de píxeles o un mapeo de imágenes de píxeles de alimentación hacia adelante con redes neuronales en estos métodos anteriores.

Los humanos, por otro lado, crean pinturas a través de un procedimiento de trazo por trazo, utilizando pinceles que van desde gruesos hasta finos, en contraste con las operaciones de píxeles de las redes neuronales. Hacer que las máquinas imiten este proceso de trazo a trazo tiene un gran potencial para producir pinturas más auténticas y parecidas a las humanas.

¿Cómo funciona el transformador de pintura?

Para simular el comportamiento natural de las pinturas humanas, Songhua Liu et al han propuesto una arquitectura basada en redes neuronales que obtiene una imagen pintada para una imagen realista determinada. En esta sección, vamos a discutir la arquitectura y en la siguiente sección, veremos cómo podemos implementarla.

Este modelo predice un conjunto de trazos y luego los renderiza en el lienzo inicial para minimizar la diferencia entre la imagen renderizada y la imagen natural de destino. Se proporciona un lienzo inicial y una imagen natural de destino. En K escalas de grueso a fino, se repite el procedimiento. El resultado de la escala anterior es el lienzo inicial en cada escala, y esto se conoce como un problema de predicción de conjunto de trazos de avance.

una nueva canalización de autoformación que hace uso de imágenes de trazos sintetizados Para ser más específicos, primero genera una imagen de lienzo de fondo con algunos trazos muestreados aleatoriamente; luego, genera una imagen de destino al muestrear aleatoriamente un conjunto de trazos de primer plano y representarlo en una imagen de lienzo.

🔥 Recomendado:  Personas que quizás conozcas en Facebook: ¿cómo funciona?

Por lo tanto, el objetivo de entrenamiento del predictor de trazos es predecir el conjunto de trazos de primer plano y minimizar las diferencias entre la imagen del lienzo sintetizado y la imagen de destino, y la optimización se produce tanto en el trazo como en los niveles de píxel.

Una vez entrenado, este Paint Transformer autodidacta muestra una generalización excelente y puede trabajar con imágenes naturales arbitrarias. El resultado de la muestra que se muestra a continuación demuestra cómo este método de avance puede producir pinturas de mayor calidad a un costo menor que los métodos existentes.

Implementación del transformador de pintura

En esta sección, echamos un vistazo más de cerca a la implementación, el equipo de investigadores lo hizo de manera que implementamos las imágenes como arriba en solo 2-3 pasos. Antes de la implementación, resumamos brevemente el procedimiento.

Es un método paso a paso para pronosticar accidentes cerebrovasculares. Predice múltiples trazos en paralelo en cada paso en forma de avance para minimizar la diferencia entre el lienzo actual y la imagen de destino original.

Paint Transformer se compone de dos módulos para lograr esto: Stroke Predictor y Stroke Renderer. Dada una imagen de destino y una imagen de lienzo intermedia, Stroke Predictor genera un conjunto de parámetros para determinar el conjunto de trazos actual. Luego, Stroke Renderer genera la imagen de trazo para cada trazo y la traza en el lienzo, lo que da como resultado la imagen en la ruta de salida.

Ahora, avancemos hacia la implementación. Primero, clonaremos el repositorio de Paint Transformers y configuraremos el directorio de trabajo en consecuencia.

!git clon https://github.com/lucabeetz/PaintTransformer.git %cd PaintTransformer/inference

🔥 Recomendado:  Tensor2Tensor para acelerar el entrenamiento de modelos complejos de aprendizaje automático

Eso es todo, a continuación podemos hacer una pintura para cualquier imagen natural aleatoria utilizando el módulo run_inferance del paquete de inferencia.

from inference import run_inference input_img = ‘/content/jonathan-riley-VW8MUbHyxCU-unsplash.jpg’ run_inference(input_path=input_img, model_path=”model.pth”, output_dir=”/content”, need_animation=True, resize_h=Ninguno, resize_w =Ninguno, serial=Verdadero)

Dentro de run_inference primero, pasamos la ruta para la imagen de destino y segundo es una ruta para los resultados de salida, y serial se establece en True si queremos resultados animados, el resto de los atributos se explican por sí mismos. A continuación se muestra nuestra imagen de destino.

Después de la inferencia, podemos crear los resultados animados de esos trazos que mostrarán cómo se ha formado la pintura y que se puede hacer como,

importar globo desde PIL importar imagen # Establecer en directorio con imágenes de salida in_dir=”/content/marine drive/*.jpg” out_path=”/content/marine drive.gif” img, *imgs = [Image.open(f) for f in sorted(glob.glob(in_dir))]
img.save(fp=out_path, format=”GIF”, append_images=imgs, save_all=True, duration=100, loop=0)

Y a continuación están los resultados,

El resultado animado,

Ultimas palabras

A través de este artículo, hemos discutido cómo hoy en día la industria del arte está influenciada por tecnologías de vanguardia como la IA. Discutimos brevemente las pinturas neurales y los diferentes arquitectos que se pueden usar en el arte. Principalmente nos enfocamos en el Paint Transformer que es una arquitectura de pintura neuronal y prácticamente vimos su resultado.

Referencias

Tabla de Contenido