11 votos

¿Es posible entrenar una red neuronal para que dibuje en un determinado estilo?

¿Es posible entrenar una red neuronal para que dibuje en un estilo determinado? (De modo que tome una imagen y la redibuje en un estilo para el que fue entrenada).

¿Existe alguna tecnología aprobada para este tipo de cosas? Conozco el algoritmo DeepArt. Es bueno para llenar la imagen principal con cierto patrón (por ejemplo, vangoghify imagen), pero estoy buscando algo diferente - es decir, por ejemplo, hacer dibujos animados en un cierto estilo del retrato de entrada.

3 votos

Un obstáculo para entrenar una red neuronal de fotografía a dibujo animado puede ser encontrar un conjunto de datos de entrenamiento. Parece que el conjunto de datos tendría que contener fotografías y dibujos animados dibujados por humanos a partir de esas fotografías. No conozco ningún conjunto de datos de este tipo.

0 votos

@TannerSwett ¿Cuántas imágenes crees que son necesarias para este tipo de formación?

0 votos

No soy un experto, así que sólo puedo hacer conjeturas. Creo que necesitarías al menos mil imágenes. Puede que necesites muchas más. Por cierto, le sugiero que eche un vistazo a esta herramienta: github.com/hardmaru/sketch-rnn Esa herramienta se ha utilizado para generar imitaciones de caracteres chinos; quizá una herramienta similar podría generar imitaciones de dibujos animados.

12voto

sascha Puntos 171

Existe un documento al respecto: LA Gatus, AS Ecker, M Bethge, 2015, Algoritmo neuronal del estilo artístico . Extractos del resumen,

Aquí presentamos un sistema artificial basado en una Red Neuronal Profunda que crea imágenes artísticas de alta calidad perceptiva. El sistema utiliza representaciones neuronales para separar y recombinar el contenido y el estilo de imágenes arbitrarias, proporcionando un algoritmo neuronal para la creación de imágenes artísticas.

He aquí la figura 2 de este documento:

enter image description here

También hay un muy popular aplicación de código abierto basada en torch aquí que es bastante fácil de usar. Consulte el enlace para ver más ejemplos.

Hay que tener en cuenta que los cálculos son pesados y, por lo tanto, el tratamiento de imágenes individuales es el ámbito de este trabajo.

Edita: después de comprobar su proyecto DeepArt mencionado, parece que está utilizando las mismas técnicas. No estoy seguro de por qué esto no es lo que quieres, porque el concepto de transferencia de estilo no puede ser más general.

4 votos

Los dibujos animados exageran y simplifican las características de lo que están representando, produciendo formas que son muy diferentes a las de una fotografía. No creo que las redes neuronales de transferencia de estilo existentes lo hayan hecho nunca.

0 votos

@TannerSwett Mira los ejemplos aquí: imgur.com/a/ue6ap . Algunos son bastante caricaturescos.

0 votos

@amoeba Parecen dibujos animados, sí, pero ninguno tiene las proporciones distorsionadas que tienen la mayoría de los dibujos reales.

7voto

Gumeo Puntos 1671

Se trata de un problema bastante difícil de resolver. Puede ver algunos ejemplos aquí sobre cómo se ha aplicado a una imagen un estilo de dibujos animados, por ejemplo, de los Simpson.

Una imagen de dibujos animados no suele tener la estructura que da este artístico efecto. La forma más fácil de intentar aplicar esto de alguna manera sería tener un rastreador de caras, y luego intentar alinear dos caras, por ejemplo una cara de dibujo animado y una cara humana, y luego aplicar esto. Eso podría llevarte a alguna parte, pero también podría parecer extraño. A continuación, podría anotar puntos de referencia en las imágenes para ayudar aún más y hacer un registro no rígido antes de esto. Esto sigue siendo una solución de mierda, pero es lo más parecido que se me ocurre que podría funcionar para las caras.

Edita:

El comentario de @TannerSwett añade algo a esto, es posible ir a las páginas web de algunos artistas y tratar de encontrar sus ilustraciones y tratar de aprender "su" estilo. Todavía no creo que eso sea satisfactorio o produzca suficientes datos, pero sería interesante probarlo. Ahora mismo no existe una solución general, pero creo que hay gente trabajando en ello y que pronto veremos mejores resultados.

Creo que tal vez el camino a seguir no sea el enfoque de la red neuronal artística. Quizá sea mejor tener una red que pueda clasificar objetos en una imagen y luego aprender las correspondencias entre los objetos y sus homólogos de dibujos animados, y luego mezclar los resultados de alguna manera significativa.

1 votos

Ese ejemplo de Simpson me parece impresionante @Gumeo

2voto

dotancohen Puntos 595

No debería ser demasiado complicado. No he leído el artículo mencionado, aquí está mi receta:

Codificadores automáticos variacionales

Demostración en línea con caras morphing: http://vdumoulin.github.io/morphing_faces/online_demo.html

et https://jmetzen.github.io/2015-11-27/vae.html para la codez.

Básicamente, esto le da una manera de parametrizar el "estilo" en su caso, por ejemplo, digamos cómo de ancho o difuso debe ser el trazo del pincel. Cosas que dependen del estilo particular que usted está tratando de emular.

En el ejemplo anterior, los distintos rostros "transformados" o "imaginados" son una función de los parámetros del espacio latente. En la imagen de abajo, eso es lo que se obtiene cambiando cosas en el nivel de "código".

Esta es la idea básica: imagen original a la izquierda, versión estilizada de la misma imagen a la derecha:

enter image description here

Ahora bien, en teoría, si se entrenara un modelo de este tipo con una imagen normal y una imagen estilizada como objetivo y se le añadieran convoluciones, debería ser capaz de aprender la filtros de núcleo que corresponden al tipo de "pinceladas" que utiliza el artista.

Por supuesto, eso significa que necesita tener unos cuantos ejemplos de imágenes tanto en versión original como estilizada. Estaría bien donar a la comunidad un conjunto de datos de este tipo; si acabas haciéndolo, me encantaría ver este tipo de trabajo.

Buena suerte.

El artículo de la wiki sobre codificadores automáticos sería un buen punto de partida: https://en.wikipedia.org/wiki/Autoencoder

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X