Animación automática basada en DeepFlow + EbSynth

La asistencia automática de animación es un problema al que se suele enfrentar a las computadoras. Hay muchos programas que logran hacerlo con algo de dificultad y muchos otros en los que lograr que quede bien termina siendo un trámite burocrático: se requiere dibujar en un orden especifico o hay que señalizar una por una las líneas para ayudar a la computadora a comprender como interpolar la animación.

Mi pequeño programa intenta solucionar el problema de la manera más plástica posible, está inspirado en As-Rigid-As-Possible es una malla que intenta mantenerse lo más rígida posible mientras llega al dibujo deseado.

Para solucionar esto genero una archivo Flow entre dos imágenes este es un archivo binario con la fluidez entre dos imágenes. Idealmente sumándole los cambios que produce el archivo Flow se puede obtener una imagen a partir de la otra.

A partir del primer cuadro recrea el segundo cuadro

Pero esto no se limita la genera solamente una imagen a parir de la otra, sino que pueden generarse todos los demás cuadros, los necesarios para crear la mayor fluidez posible sin requerir de una equipo enorme de personas o tercerizar a países en los que las leyes laborales sean esclavistas.

Resultado, todavía falta, pero el resultado es sorprendente.

¿Y como se hace?

Generamos un archivo Flow este tiene la diferencia entre v05.png y v04.png dos dibujos usados en el 4232.

deepflow2 v05.png v04.png v.flo -d 0.25 -iter 10 -minsize 1

Ahora generamos a partir de los dibujos degrades que representan esa transformación usando Color Flow Map

color_flow_map v.flo map0.png 0
color_flow_map v.flo map.png 1

Y con EbSynth podemos generar el nuevo archivo

ebsynth -uniformity 0 -patchsize 7 -style v04.png -guide map0.png map.png -weight 24000 -output v04_fake.png

Y ahora generemos un dibujo a la mitad de los dos

composite -dissolve 50 map0.png map.png map2.png
ebsynth -uniformity 0 -patchsize 7 -style v04.png -guide map0.png map2.png -weight 24000 -output v04-50.png

¿Y qué falta?

Bastante todavía los dibujos sé «serrucha» un poco, muchas veces dependiendo de la complejidad del dibujo crea «artefactos» muy raros o no puede resolver cosas muy simples.

Al fin y al cabo presentar problemas de arte a una computadora es resolver el problema del viajante, una y otra vez con diferentes niveles de dificultad.

 

Publicado en Experimento, Tutoriales y etiquetado , , , , , , .