Generando imágenes mediante la inteligencia artificial VQ-Gan

Me he decidido a escribir este artículo sobre inteligencia artificial inspirado en este otro donde @J.Kraken muestra resultados de la IA GTP-3, capaz de continuar o completar conversaciones o textos en lenguaje real a partir de un inicio.

La IA que voy a utilizar es diferente. Se llama VQGAN, y lo que es capaz de hacer es generar imágenes a partir de una sencilla descripción de texto. En este enlace Dot-CSV hace una muy buena explicación técnica de lo que hace y cómo lo hace. Y la ventaja importante de esta IA con la GTP-3 es que esta es accesible libremente, a través de Google Collab, donde todo el mundo puede usarla. Tan solo tienes que ir a este enlace e ir siguiendo las instrucciones, que no son más que correr cada uno de los módulos en orden, dando al botón de run y esperar hasta que se carguen, y cuando llegue al módulo de parámetros:

* meter en textos la descripción de la imagen que quieres, preferiblemente en inglés

* en alto y ancho las dimensiones de la imagen. Para la memoria que tiene asignada puede hasta 600 x 600

* en intervalo de imágenes se puede dejar el 50, es cada cuantas iteraciones muestra en pantalla la imagen que va obteniendo. La inicial, la primera, siempre es la imagen aleatoria que usa como partida

* en seed va la semilla aleatoria que usa para obtener la imagen de partida. -1 significa que cada vez que corre elige una al azar. Yo he usado 252525 en la mayoría. Si metes la misma que yo, con el mismo texto, deberías llegar al mismo resultado.

* en máx iteraciones se limita el número de repeticiones o mejoras sobre la imagen que va a realizar. Yo he usado 250. Prácticamente a partir de 150-200 ya la imagen está tan definida que apenas hay cambios. Incluso para valores más altos he notado pérdidas de calidad en los resultados.

Y ahora algunos de los ejemplos que he generado. La descripción del texto la pongo en español, aunque en la IA la he usado en inglés:

Pilotos de combate, celebrando la victoria

La primera imagen que he generado. No es demasiado buena, aunque se nota que más o menos pilla el concepto general. Recuerda que está completamente generada por un programa de redes neuronales, no hay ningún input humano.

Cerdito con un casco en la cabeza, fotorrealista

A las descripciones se les puede añadir palabras descriptivas que denoten el aspecto general que queremos obtener en la imagen. En esta imagen se nota claramente que la IA en realidad no comprende el concepto de lo que está dibujando. Aunque sabe dibujar un cerdo, con sus ojos, sus orejas, su hocico, no entiende la relación entre ellos ni por qué no pueden estar dibujados donde le dé la gana.

Árbol iluminado por los rayos de la tormenta, de noche, tenebroso, de aspecto de dibujos

Este y el siguiente son mis favoritos. Se nota claramente que cuando no tiene que dibujar rostros o conceptos con una posición espacial determinada y clara, lo hace mucho mejor.

El nombre de dios en llamas, sobre las nubes

Simplemente impresionante. 

Mi vieja casa de pueblo en un pueblo español

Quería ir a algo más complejo. Se nota que comprende el concepto, aunque no tiene claro ni lo que es una casa, ni un pueblo, ni España, en esta imagen plasma de forma desordenada todos los tópicos que debería tener una imagen de este estilo.

Un orgulloso jefe vikingo de pie sobre un montón de cráneos, realista

Aquí quería meter conceptos más abstractos, como orgulloso, y relaciones espaciales. El problema que tiene al dibujar rostros es enorme. Pero se nota que se esfuerza incluso con los conceptos más rebuscados y les encuentra una solución, aunque no sea la esperada. En este caso, los huesos forman un barco, ¿por qué no iban a hacerlo si los vikingos usan barcos?

El paso está cerrado, épico, legendario, mítico

Una descripción muy vaga para que interprete libremente. Parece el resultado de un sueño, aunque no es todo lo épico y legendario que quería.

Un camaleón rosa mirando las estrellas

Esta podría ser perfectamente una pintura hecha por un humano. Jugando con los colores.

Una sola Elfa con una guirnalda de flores en la cabeza

El problema que tiene con la distribución espacial de ojos, orejas, etc., se puede solucionar en parte dándole en parámetros una imagen de partida, que se sube a la izquierda de la pantalla, donde pone files. En este caso, he usado como inicio una foto de una niña sacada de internet. El resultado, pues bueno, sabe todo lo que tiene que tener una elfa, pero no tiene muy claro donde situarlo. Gracias a la imagen de partida, solo hay dos ojos en vez de ser una aberración de pesadilla.

Un tren antiguo saliendo de la estación, colorido, nuboso, alta calidad

Le he dicho que sea colorido y se lo ha tomado muy en serio.

Dos grandes pirámides azules y rojas bajo la aurora boreal

Otra vez el problema de la distribución espacial. A ver, es que si nadie le ha dicho que las auroras boreales deben estar por encima de las pirámides y no al revés, ¿cómo va a saberlo?

Y para terminar, como yo no soy el autor de estas imágenes, es más, estas imágenes NO TIENEN AUTOR, creo que no me equivoco al declarar que quedan directamente en el dominio público, de forma que cualquiera las puede usar libremente para todo lo que quiera.