Guía Stable Diffusion – Fotografía por IA

La Inteligencia Artificial generativa está en boca de todos, en este artículo vamos a profundizar en la generación de imágenes.

Introducción

No sé si has leído alguna noticia sobre la Inteligencia Artificial recientemente.

Concretamente una que dicta: «Modelo generada por Inteligencia Artificial gana 11.000 dólares al mes en Onlyfans.»

Resulta que una agencia de Marketing Española se cansó de trabajar mano a mano con influencers, de una cosa pasaron a la otra y acabaron haciendo que su influencer hiciese contenido adulto.

Muchas personas han sido incrédulas: Es imposible que una IA pueda reemplazar a una influencer.

Bueno, una influencer o reemplazar a cualquier cosa, a nadie le gusta admitir que una máquina entrenada para una tarea específica es mejor que un humano.

Te presento a Aitana, la famosa influencer creada por Inteligencia Artificial.

Aitana, la famosa influencer creada con inteligencia artificial por una empresa de marketing.

Lo queramos o no, la IA ya está aquí, y siempre lo ha estado presente de una forma u otra.

Muchos conceptos de inteligencia artificial, como los generadores de reglas llevan siendo teorizados desde los años 60 y puestos en práctica a un nivel comercial en los años 90.

Hace 10 años podías utilizar modelos de Inteligencia Artificial igualmente, pero eran más rudimentarios y enfocados a la adquisición de conocimiento y patrones.

Pero lo cierto es que en el último año se han ido refinando estos modelos y el salto técnico ha sido abismal.

En este artículo vamos a abordar desde cero los generadores de imágenes y descubrir como funcionan.

IA 2.0 – ¿Qué es?

Personalmente podemos separar los dos tipos de IAs o modelos de Machine Learning accesibles al público en la siguiente definición:

  • IA 1.0: Modelos clásicos, destinados a crear reglas y aprender de un set de datos concreto.
  • IA 2.0: Modelos generativos, aprenden de datos para crear algo nuevo.

La IA 1.0 como a mí me gusta llamarla ha sido el inicio de los algoritmos de aprendizaje disponibles al público: K-Means, Naïve Bayes, Árboles de decisión.

Todos estos modelos estaban basados en aportar un conjunto de datos y obtener una respuesta, y a día de hoy se siguen utilizando.

Empresas de pagos online siguen dependiendo de los modelos convencionales para detectar fraudes en tarjetas de crédito.

Yo los sigo utilizando para entender mis pasiones desde un punto de vista racional.

La IA 2.0 no aporta respuestas, aporta contenido.

La diferencia principal es que tú antes aportabas datos y la IA te ayudaba a comprenderlos, ahora tú aportas datos y te genera un dato nuevo.

A partir del 2020 ha habido un salto cualitativo en la disponibilidad de modelos de Inteligencia Artificial a nivel de uso particular.

Estas tecnologías también llevan muchos años, pero nunca antes habíamos tenido una capacidad de generación medianamente realista.

Es probable que conozcas ChatGPT, un asistente de texto útil para cualquier situación.

Vale para el aprendizaje, traducción, análisis, programación, síntesis de recursos online y un largo etcétera.

Es quizá el ejemplo más popular de esta categoría.

Pero existen más: Generación de música, vídeo, imágenes y servicios enfocados en cada tarea específica, son los mejores de su nicho.

Stable Diffusion

Stable Diffusion es un modelo de Inteligencia Artificial generativa, mediante un set de datos y una descripción de qué queremos obtener, obtendremos una o más imágenes.

Este tipo de Inteligencia Artificial lo que hace como tal, es reconocer patrones en los datos y buscará replicarlos, para ello suele basarse modelos complejos de redes neuronales.

Hay varios modelos y todos dependerán de la programación subyacente, una buena base de estos se suelen basar en GANs: Generative Adversarial Networks.

Según qué software y utilidad existirán más tipos de modelos, como DN, no obstante, para tener una visión simple sobre la IA 2.0 vamos a aprender los básicos sobre GANs.

Funcionamiento de las redes neuronales GAN, popularmente utilizadas en la generación de contenidos de IA 2.0.

Se utilizan dos redes neuronales, un generador y un discriminador.

Ambas han sido entrenadas con fotografías reales, pero cada una tiene un propósito específico.

La primera, como su nombre indica, se encargará de generar las imágenes que hemos pedido utilizando su entrenamiento de imágenes reales.

¿Pero como sabe si son válidas?

Entra en juego la segunda red neuronal de nuestor modelo de inteligencia artificial, el discriminador.

El discriminador ha sido entrado con otras imágenes reales, y debe determinar si la imagen pasa por auténtica o no.

Dicho de otra forma, la red neuronal del generador crea y perfecciona contenido una y otra vez partiendo de su entrenamiento y una cantidad de ruido determinada, hasta que es capaz de engañar al discriminador.

Este es un enfoque muy interesante, ya que el entrenamiento incluye un estricto control de calidad, que además será siempre objetivo bajo los estándares del entrenamiento.

Ahora que conocemos los básicos de Stable Diffusion es cuando podemos hablar de él.

Stable Difussion es un modelo de código abierto (Open Source) generador de imágenes, es completamente gratuíto, se basa en mejoras de la comunidad y no tiene ninguna restricción.

Fue lanzado el 22 de Agosto de 2022, poco más de un año, y durante este periodo de tiempo ha pasado de crear imágenes de mala calidad a crear imagenes de alto valor.

La hermana normal de Ramona Flowers, mi propia versión utilizando IA para generar una modelo.

Este es un ejemplo rápido que he creado yo utilizando esta herramienta, pese a que la calidad está bajo mínimos, si uno no está alerta, cuela perfectamente por real.

¿Cómo usar Stable Diffusion?

Cabe destacar que necesitarás una buena tarjeta gráfica, compatible con este tipo de tareas, en mi caso utilizo una Nvidia 1050ti y va muy justa para este tipo de modelos de IA. Llegando a tardar entre 7 y 30 minutos por imagen. Una tarjeta de alta gama tardará unos pocos segundos.

Pese a que es una herramienta compleja, la comunidad de usuarios ha hecho que sea muy simple instalarlo.

El primer paso será tener instalado Python en tu equipo.

Python es el lenguaje de programación en el que está basado esta herramienta y además todo lo que rodea a esta, como la interfaz web.

El siguiente será elegir un framework o método de trabajo.

Hay muchos, pero yo te recomiendo Fooocus, este software incluye todo lo necesario para empezar a trabajar.

Empezando por el propio stable diffusion, pasando por modelos generativos y una interfaz web muy agradable, la cual si has visitado páginas de generación de imágenes, te resultará familiar.

Una vez descargado Fooocus, solo debemos ejecutarlo (run.bat) y esperar a que instale todas las librerías necesarias y descargue todos los modelos y apoyos auxiliares que necesita.

En esta captura de pantalla puedes ver el proceso de SD para generar imágenes. Si lo necesitas, haz click para ampliarla.

Lo importante una vez ejecutado el software es que realmente tenemos tres apartados: Imagen, Prompt y Configuración.

En el apartado imagen podremos ver la generación de nuestra imagen iteración por iteración.

En el apartado Prompt podemos darle forma al contenido que queremos generar, en este caso: Cute Girl, Portrait, Outdoors, Standing.

Una chica mona, retrato, en el campo, de pie.

Podemos ser tan específicos como queramos, e incluso podemos añadir imágenes como prompt, lo cual dará una continuidad a un personaje determinado, luego lo vemos.

Finalmente tenemos el apartado de configuración: donde ajustar la resolución, calidad, tipo de arte a generar, modelos empleados y mucho más.

Como primer uso no te compliques, prueba un prompt simple y déjalo correr un par de imágenes. De esta forma te podrás familiarizar con el software.

Generación completada de Stable Diffusion, se puede ver su panel gráfico mediante la herramienta Fooocus

Modelos de generación (Checkpoints)

Por defecto Fooocus nos descargará un modelo generativo (checkpoint) de aproximadamente siete gigas llamado Juggernaut XL.

Este modelo se enfoca en la fotografía hiperrealista, la cual es idonea para retratos y fotografía, como usos publicitarios o crear una falsa influencer.

No obstante, podemos elegir cualquier estilo artístico en Civitai.

En esta página web, los usuarios de la comunidad pueden subir modelos de entrenamiento creados por ellos con cualquier estilo, más allá del hiperrealista.

Checkpoints para Stable Difussion en Civitai.com

Puedes descargar el que quieras y ponerlo dentro de la subcarpeta models/checkpoints.

En el apartado de configuración/Models puedes seleccionar el que quieras:

Ajuste de safetensors o Checkpoints para SD

En mi experiencia el mejor con diferencia es Juggernaut salvo que quieras crear cosas de estilo épico o de anime.

Crea tu propio personaje virtual

El quid de la cuestión, y lo que ha creado todo este interés por la IA no deja de ser la famosa noticia: «Influencer virtual».

Fooocus ofrece una opción única dentro de todo lo que existe dentro de Stable Diffusion.

El uso de prompts por imágenes, esto es: Poder utilizar una imagen previa.

Puedes utilizar una modelo que generes tú desde cero, o puedes utilizar fotografías ya existentes.

Si quieres generarlo tú desde cero, necesitas crear un prompt sencillo de un retrato fotográfico, una foto de cara de buena calidad:

Close up portrait, Irish, 20s, Red hair, gothic, alternative, emo, blue eyes, red lips.

Es el prompt que puedes utilizar para crear un personaje como este:

Mi propia modelo creada con Inteligencia Artificial

También puedes utilizar fotografías como bien he dicho de terceros.

Todo esto se resume en los apartados Input Image y Advanced, se encuentran justo debajo de los prompts, seleccionaremos Image Prompt.

Finalmente buscaremos el último Advanced, este en relación a los propios Image Prompt, para que nos dejen elegir entre ImagePrompt, PyraCanny, CPDS y Faceswap, este último es el que nos interesará.

Función de FaceSwap también conocida como DeepFake para imagenes mediante Stable Diffusion

Cuando subimos una foto y le damos debajo de esta a Faceswap, automáticamente cogerá la cara de nuestra modelo creada y la añadirá al nuevo prompt.

Solamente con esto, podemos cargar hasta cuatro imágenes en modo FaceSwap y crear una modelo única.

También podemos usar nuestra modelo ya creada y un prompt de texto, e incluso añadir una segunda foto como ImagePrompt.

El Prompt de imagen cogerá los aspectos de color y estilo para aplicarselo a nuestra modelo de FaceSwap.

Combinando una cara y una pose con inteligencia artificial, en este caso, la pose de Kerli

Por ejemplo, quiero crear una fotografía con un aspecto más emo y menos gótico, más años 2000 si me lo permites, una época que a nivel estético era agradable.

Este es el resultado final:

Modelo de inteligencia artificial basada en Kerli

Nuestra modelo acaba de coger características de Kerli, como su pelo, sin perder sus características faciales, pese a tener una pose diferente.

Esto podemos replicarlo una y otra vez para generar continuidad, en vez de Kerli, podemos coger a Emilie Autumn:

Modelo de Inteligencia Artificial basada en Emilie Autumn

Mantiene las mismas características faciales pero adopta su pelo y detalles sutiles del maquillaje. No me preguntes por las orejas de gato, yo no se las he dado.

Estilos de Fooocus

Finalmente, ahora que ya sabemos como hacer nuestra propia influencer en cuestión de media hora, podemos hablar de mejorar las imágenes.

Esto se hace mediante los estilos que nos ofrece el apartado de configuración.

Filtros de Fooocus para fotografía realizada por AI

Te animo a probar todos, ya que los estilos son casi tan poderosos como los propios prompts.

Fotografía analógica, cinemática, Gótico, Cibernético, artístico, comic, fantasía…

Tenemos todo tipo de estilos que nos permitirán obtener un tipo de fotografía u otro.

Para hacer una imagen como las que has visto, tienes marcadas las opciones que uso. Están enfocadas en fotografía profesional.

¿La IA me va a quitar el trabajo?

Ahora que has visto el potencial de este tipo de herramientas, me gustaría comentarte algunas reflexiones.

Estas herramientas están aquí y han venido a quedarse, algunas como ChatGPT son de pago, y aún así la barrera de entrada es nula, otras como SD, acabas de ver que son gratuítas, de código abierto y sin censura.

Gracias a la complacencia que mueve el mundo, estate tranquilo, probablemente tu trabajo no peligre a corto plazo.

Tu jefe y tus compañeros de trabajo están demasiado preocupados con su día a día como para querer prosperar, hacer sus vidas más fáciles y las cosas más rápidas.

Son el tipo de personas que les hablas de la noticia de la influencer y en vez de entender el potencial de estas herramientas te hablarán del daño moral que hace el contenido erótico o la palabra de turno: Bulo.

De todo menos el punto más importante: Un ordenador es capaz de generar contenido.

Mira, yo no he venido a discutir ni pelearme con nadie, me da igual lo que digan ellos.

La idea de estas herramientas es que puedes utilizarlas a tu favor.

¿Tu trabajo requiere publicidad o diseño gráfico? Esta herramienta no solo hace bellas mujeres.

No sé si sabes que todas las miniaturas de mis artículos están hechas con inteligencia artificial.

¿Te dedicas a redactar informes o programar? ChatGPT, va a perfeccionar ese informe en segundos, va a repasar esa función de código que llevas 3 horas viendo donde falla y no das con el por qué.

Es que no aplica a mi oficio.

Si trabajas con tus manos tienes razón parcialmente, si tu trabajo se basa en la propiedad intelectual, todavía estás en proceso de shock.

Decirte que si tu trabajo se basa en la propiedad industrial, es decir, en el uso de tus manos, igualmente GPT es un mentor excelente que te puede enseñar nuevas técnicas, validar tus ideas y ayudarte a progresar.

Es cuestión tuya pasar al siguiente nivel y facilitarte la vida, o será tu compañero de trabajo avispado quien use la IA a su favor y te deje a ti atrás.