Sí que se puede... De hecho, si echas un ojo a mi hilo del Gauntlet, que es donde empecé a contar mis experimentos con IA, verás que una de las cosas que hice fué probar la extensión ControlNet de Stable Diffusion, que tiene varias utilidades que te permiten crear las nuevas imágenes a partir de una imagen de partida con varias opciones para clonar las poses de los personajes, convertir bocetos en imágenes más complejas, hacer un mapa de profundidad de la imagen, etc..., para transformar unos bocetos que dibujé hace años de los personajes del Gauntlet en imágenes complejas fotorrealistas de dichos personajes.
El tema de los errores 'tontos' de la imágenes de IA supongo que te refieres a cosas como los problemas con manos, dedos y extremidades y de elementos que a veces aparecen que no deberían estar ahí. Hay que decir que una gran mayoría de imágenes se generan sin ningunos de estos problemas y pueden ser indistinguibles de la realidad al 100%, y luego, Stable Diffusion, a diferencia de todas las demás alternativas, el enorme potencial que tiene gracias a ser opensource, es que tiene extensiones que amplian sus posibilidades y opciones de edición incorporadas de las imágenes usando también la IA, concretamente los modos img2img e inpaint. El primero te permite crear la imagen a partir de otra, ya sea creada por IA o no, y reescalarla, modificarla escribiendo un prompt, y cosas del estilo... Se usa para corregir defectos o coger una imagen creada con un modelo y modificarla con otro diferente. Lo más interesante viene con el modo inpaint... En este, envías una imagen previa y tiene un pincel que puedes variar de grosor con el que puedes pintar en la imagen. Esto te permitirá modificar con IA exclusivamente lo pintado (o lo contrario, que deje lo pintado sin tocar) y dejando lo demás intacto. Con esto puedes corregir todos los errores que comentas, pero además, modificar imágenes reales para añadir personas o personajes, cambiar el fondo a una imagen, cambiar la ropa a una persona y casi cualquier cosa que se te ocurra, simplemente pintando con el pincel y luego escribiendo un prompt...
Respecto al tema de bocetos, desde que salió ControlNet se pueden hacer maravillas... Tiene modos para hacer de todo, incluso uno para arquitectura... Este último identifica las líneas rectas de una imagen y luego genera una imagen a partir de ellas. Su uso es, por ejemplo, a partir de un plano de una habitación sin absolutamente ningún detalle generar una habitación completa con muebles y todo de aspecto fotorealista en segundos sin tener que modelar nada ni hacer ni un sólo render, o a partir de una imagen de una fachada, sacar variaciaones de esa misma fachada... De verdad que es brutal, ni te imaginas la de posibilidades que tiene esto y que ya está usando la gente en sus flujos de trabajo. Además, luego a parte está el tema de los modelos y los LoRA especializados que está sacando la gente:
- LoRAs para hacer concept art en el que la IA te crear en una misma imagen el mismo personaje en una buena cantidad de poses diferentes. Al ser creado en la misma imagen, no hay problemas de consistencia y el personaje aparece exáctamente con las mismas características y ropa.
- Modelos y LoRAs para hacer pixel art y hojas de sprites
- LoRAs que transforman a los personajes y personas en 'cosas' reales (figuras de wargames pintadas, figuras articuladas Figma, estatuas de marmol, etc..). Sin ir más lejos, hace un rato han publicado uno para hacer muñecos de Ken:
https://civitai.com/models/26418/kenify- Modelos y LoRAs para crear stickers, libros para colorear, generar anime en formato manga (con sombreados a base de tramas y lo mismo que si fuera un manga impreso), etc, etc...
Lo que dices de crear versiones anime (y lo contrario) de una persona ya se hace y es tan sencillo como hacer un LoRA de la persona y usarlo en cualquier modelo... Yo de hecho el primer LoRA que hice fué de una amiga (por esa razón no puedo poner las imágenes suyas aquí) y tengo versiones de ella como personaje de Anime, como figura articulada Figma, todo el bestiario completo y héroes de una juego de mesa de rol en el que los personajes son ella siempre (hasta los NPC como la mujer comprando en el mercado) en forma de minis realistas pintadas, su versión con el estilo de Jojo's Bizarre Adventure, ella con el traje de IronMan, el de Thor y el de Supergirl, su versión Navii de Avatar, etc, etc... Y los que son hechos en modelos fotorrealistas como Realistic Visions son indistinguibles de las fotos que tengo de ella, haciendo cosas y estando en lugares que no aparecen en las imágenes de entrenamiento... Incluso puedes usar varios LoRAs al mismo tiempo mezclando sus efectos... Las posibilidades no tienen límite...
El tema de las iteraciones que necesitas para crear lo que buscas tiene muchas variables, hay modelos pensados para que den buenos resultados usando pocas palabras en los prompt, y otros que están hechos para que seas lo más detallado posible en las descripciones, luego está el tema de usar ControlNet que te da un control enorme sobre la imagen final, como he comentado antes, y que las fotos las puedes 'arreglar' en img2img o inpaint, algo que no puedes hacer con Midjourney u otras alternaticas de pago. De hecho la nueva IA de Adobe, Firefly, todas las opciones que ofrecerá son una copia (con buena interfaz y fácil manejo, eso sí) de todas estas opciones que ya tiene Stable Diffusion. Incluso hay modelos que mezclan ChatGPT con Stable Diffusion, de forma que puedes coger una imagen y perdirle cosas, como por ejemplo decirle: 'cambia la chaqueta de la chica de la imagen por una camiseta de manga corta roja' y cosas así...
En serio, dejaos tanto de Midjourney y similares y probad Stable Diffusion, que se pueden conseguir imágenes muy parecidas y tiene unas posibilidades, una libertad y un control que no tienen las demás ni de lejos... Eso sí, requiere de un poco de aprendizaje pero es muy fácil y merece la pena. A mí esto me tiene tan entusiasmado que todo mi tiempo libre me entretengo en esto, ya ni juego xD
Mis prompt no suelen ser muy complejos, la clave está en usar el Negative Prompt para mejorar la calidad de la imagen y en usar la información correctamente estructurada. Normalmente tiene más peso lo primero que se escribe, y se debe seguir un orden en la descripción, más o menos así: Tipo de imagen que se quiere generar (si es una foto, una ilustración, un render 3D, etc..), personajes que aparecen (una mujer y dos hombres, etc...), descripción del personaje (caracterñisticas físicas, ropa, etc...), que está haciendo (sentado, corriendo, tomando una taza de café, etc...), elementos que hay alrededor del personaje o al fondo, dónde se encuentran los personajes (escenario) y finalmente, cómo es la iluminación, los planos de cámara e incluso la configuración de la cámara de fotos (modelo de la cámara, óptica, etc...). Además, también es importante usar las opciones que hay para dar más peso a ciertos términos de la descripción sobre otros. Si pones una palabra o conjunto de ellas entre paréntesis, le estás indicando a la IA que le dé más importancia a dicho término. Cuantos más paréntesis le pongas, más peso va a tener. También se puede poner en su lugar con el siguiente formato: (pelo rubio:1.2), de esta forma le estás indicando la importancia en un porcentaje en base uno (es decir, en el ejemplo sería un 120%). Esto se puede usar también para restarle importancia poniendo valores por debajo de 1 (o escribir el término entre corchetes en lugar de paréntesis).
Luego en el Prompt Negativo, hay cosas que te facilitan mucho la labor sin tener que escribir prompts kilométricos, como es usar embbedings negativos. Los embeddings es lo que había antes de la aparición de los LoRA y tienen la misma función, es decir, incluir personajes, estilos o conceptos, y se usan como si fueran un término más del prompt, simplemente escribiendo su nombre. Hay varios para el prompt negativo que se usan para desechar imágenes de mala calidad, evitar en la medida de lo posible personajes deformes y conseguir mejores manos. En mi caso particular uso EasyNegative y bad-hands-5. Simplemente con estos dos, y como mucho alguna cosa más para eliminar cosas de las imágenes que vayas probando (por ejemplo logos o marcas de agua) ya consigues imágenes de buena calidad en general. Te voy a mostrar un ejemplo de hasta que punto cambia una imagen usar el EasyNegative:
La siguiente imagen se ha generado con el siguiente prompt usando la versión 2 de mi LoRA de Azpiri:
1woman, blonde hair, short hair, sword, wielding, armor, huge breasts, navel, dragon, columns, lava, detailed background, stone wall in the background<lora:AzpiriV4:0.8>
Y en el prompt negativo únicamente esto:
EasyNegative, bad-hands-5
Resultado:
(sí, ya sé que está sujetando la espada por el lado equivocado
, es una imagen random que he generado de forma rápida para el ejemplo)
Y si ahora quito todo lo del prompt negativo, manteniendo todo lo demás y usando la misma semilla (un código numérico que se genera con cada imagen que te permite volver a reproducirla exactamente y comprobar los cambios usando modelos diferentes o cambiando cosas de la descripción), la imagen cambia a esto:
Como ves, mucho peor, manca, y con fallos de todo tipo, sin detalle, etc...
Otra combinación 'que hace magia' en el prompt negativo sin necesidad de usar embbedings es simplemente escribir esto:
(worst quality, low quality:1.4)
En la imagen anterior, lo que resulta es lo siguiente:
Como puedes ver, algo intermedio pero más cercano a la primera imagen que a la segunda, ya con una calidad más aceptable (aunque el bad-hands-5 le vendría genial para arreglar esas manos).
En el caso de Stable Diffusion, a la hora de escribir el prompt se puede hacer de dos formas, como has visto en el ejemplo, que es usando etiquetas estandarizadas en los servicios de alojamiento de imágenes de Anime y Hentai (Danbooru se llaman, el mismo nombre que un servicio de estos muy famoso:
https://danbooru.donmai.us/), o usando el modo Clip, que es en lenguaje natural directamente, como cuando le hablas a ChatGPT. Sin embargo, lo más común es usar el de etiquetas de anime porque es más directo a la hora de cambiar cosas y se puede usar con otras IA diferentes. El Clip se suele usar más con imágenes realistas (aunque no sé la razón). Y siempre en inglés, a pesar de que entiende el español, pero en inglés es mucho más efectivo.