
¿Te imaginas poder generar retratos profesionales de cualquier persona con apenas unas cuantas fotos de referencia? Gracias a los avances en modelos generativos de IA, ahora es posible. Tecnologías como Stable Diffusion permiten crear imágenes realistas a partir de descripciones de texto y, con herramientas como DreamBooth o LoRA, podemos entrenar el modelo para reconocer un rostro específico y generar retratos muy fieles a la realidad.
En este tutorial, aprenderás cómo montar un generador de retratos profesionales en tu PC con Windows. Verás las herramientas recomendadas, cómo personalizar el modelo con fotos de la persona y consejos para obtener resultados de alta calidad.
¿Por qué Stable Diffusion y no GANs?
- Modelos de Difusión (Stable Diffusion)
- Calidad y detalle: Genera imágenes fotorrealistas, incluyendo retratos muy creíbles.
- Flexibilidad de estilos: Con un simple prompt (texto descriptivo), puedes cambiar el estilo (formal, caricatura, pintura al óleo, etc.).
- Facilidad de personalización: Técnicas como DreamBooth o LoRA permiten entrenar el modelo con apenas 5-15 fotos de la persona que te interese.
- Modelos GAN (StyleGAN)
- Son muy potentes en la generación de rostros, pero suelen requerir muchas más fotos (cientos o miles) para entrenar un rostro concreto.
- No hay herramientas tan sencillas y populares como las de Stable Diffusion para personalizar con pocas imágenes.
Por ello, Stable Diffusion (con DreamBooth o LoRA) es la vía más práctica si buscas entrenar rápidamente un modelo con las fotos de una persona específica.
Requisitos de Hardware y Software
- Sistema Operativo: Windows 10 u 11 (64 bits).
- CPU: AMD Ryzen 9 5900X (o similar).
- RAM: 32 GB.
- GPU: NVIDIA GeForce RTX 3080 (10 GB VRAM).
- Drivers: Asegúrate de tener instalados los últimos drivers de NVIDIA.
- Python 3.10: Se recomienda fuertemente la versión 3.10 para evitar incompatibilidades.
Nota: Aunque es posible usar versiones de Python superiores (3.11, etc.), muchas herramientas de IA todavía tienen mejor compatibilidad con Python 3.10.
Preparar el Entorno de Trabajo
Instalar Python 3.10
- Descarga Python 3.10 desde la página oficial.
- Durante la instalación, marca “Add Python to PATH”.
- Verifica en la terminal con:
python --version
Debe mostrar Python 3.10.x.
Crear un Entorno Virtual
- Crea una carpeta para tu proyecto, por ejemplo:
mkdir HeadshotAIGenerator cd HeadshotAIGenerator
- Crea un entorno virtual (venv):
python -m venv venv
- Activa el entorno:
- CMD:
venv\Scripts\activate
- PowerShell:
.\venv\Scripts\Activate.ps1
- CMD:
Instalar la Interfaz de Stable Diffusion (AUTOMATIC1111)
- Clonar el repositorio
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui
Si no tienes Git o te da errores, descarga Git para Windows y vuelve a intentarlo. - Ejecutar el script de instalación
- En Windows, simplemente haz doble clic en
webui-user.bat
o ejecútalo en la terminal:webui-user.bat
- Se descargarán automáticamente las dependencias (PyTorch, etc.). Esto puede tardar unos minutos.
- En Windows, simplemente haz doble clic en
- Colocar el modelo base de Stable Diffusion
- Descarga un checkpoint, por ejemplo, stable-diffusion-v1.5 o el modelo Realistic Vision (en formato
.ckpt
o.safetensors
). - Copia ese archivo a la carpeta
models/Stable-diffusion
dentro destable-diffusion-webui
.
- Descarga un checkpoint, por ejemplo, stable-diffusion-v1.5 o el modelo Realistic Vision (en formato
- Iniciar la WebUI
- Ejecuta de nuevo
webui-user.bat
. - Cuando termine de cargar, abre http://127.0.0.1:7860 en tu navegador.
- Verás la interfaz de Stable Diffusion, con pestañas como txt2img, img2img, DreamBooth (si instalas la extensión), etc.
- Ejecuta de nuevo
Habilitar xformers (Opcional, pero Recomendado)
- xformers optimiza la atención y reduce el uso de VRAM.
- Asegúrate de que la WebUI lo instale automáticamente (a veces sale un mensaje para activarlo).
- Si no, en la carpeta
stable-diffusion-webui
, puedes intentar:pip install xformers
o la versión compatible:pip install xformers==0.0.23.post1
- Al reiniciar la WebUI, fíjate en la consola si aparece algo como “Applying attention optimization: xformers”.
Personalizar el Modelo con Fotos de la Persona
Para que el modelo genere retratos de alguien real, necesitamos entrenarlo con sus fotos. Hay dos técnicas principales:
7.1 DreamBooth
- Instala la extensión DreamBooth
- Dentro de la WebUI, ve a la pestaña Extensions o revisa la extensión DreamBooth oficial (u otro fork).
- Copia el repositorio en la carpeta
extensions/
. - Reinicia la WebUI.
- Prepara tus fotos
- Necesitas de 5 a 15 fotos de la persona, con diferentes ángulos, expresiones e iluminación.
- Recorta para que la cara se vea claramente (mínimo 512×512).
- Copia esas imágenes en una carpeta (por ejemplo,
C:\fotos_dreambooth
).
- Configura DreamBooth
- En la pestaña DreamBooth, crea un nuevo modelo o selecciona uno existente.
- Indica la ruta de tus fotos (ej.
C:\fotos_dreambooth
). - Define un token único (por ejemplo,
<juanPersona>
). - Ajusta parámetros de entrenamiento (número de pasos, resolución 512×512, batch size 1 o 2, etc.).
- Activa “Prior preservation” para que el modelo no olvide cómo generar personas en general.
- Ejecuta el entrenamiento
- Pulsa el botón de entrenar (puede llamarse “Train” o similar).
- Espera entre 30 y 60 minutos (depende de tus ajustes y tu GPU).
- Cuando termine, tendrás un checkpoint entrenado con el rostro de la persona.
LoRA (Low-Rank Adaptation)
- Instala la extensión LoRA
- Hay varios repositorios; uno popular es la extensión LoRA para AUTOMATIC1111 (usada también vía scripts).
- Reinicia la WebUI.
- Prepara tus fotos
- Igual que con DreamBooth: 5 a 15 fotos, recortadas y variadas.
- Configura y entrena LoRA
- Define un token (ej.
<miSujeto>
). - Ajusta parámetros (puede tardar solo 10-15 min con una RTX 3080).
- Obtendrás un archivo
.safetensors
pequeño (unos 10-15 MB) en lugar de un checkpoint de 4 GB.
- Define un token (ej.
- Usa el LoRA
- En la pestaña de generación, selecciona tu modelo base (p. ej., “v1.5” o “RealisticVision”) y activa el LoRA que acabas de entrenar.
- En el prompt, usa el token que definiste para invocar el rostro.
¿Cuál elegir?
- DreamBooth: Máxima fidelidad, genera un checkpoint grande.
- LoRA: Más ligero y rápido de entrenar, muy buena calidad para la mayoría de casos.
Ahora que ya tenemos todo instalado veamos paso a paso como generar retratos:
Cómo generar retratos profesionales (paso a paso)
- Inicia la WebUI y ve a la pestaña txt2img.
- Escribe tu prompt, por ejemplo:
Retrato profesional de <juanPersona>, fondo gris neutro, iluminación de estudio suave, 85mm DSLR, f/1.8
- Parámetros de generación:
- Pasos de muestreo: ~30 (puedes probar 20-50).
- CFG scale: 7-9 (para controlar cuánta libertad tiene el modelo).
- Resolución: 512×512 o 768×768.
- Activa “Face restoration” si quieres corregir detalles (GFPGAN o CodeFormer).
- “Highres fix” para escalar a mayor resolución.
- Haz clic en “Generate”.
- Espera unos segundos (o un par de minutos, según tu configuración).
- Observa la imagen resultante.
- Prueba variaciones:
- Cambia el prompt para obtener diferentes estilos (por ejemplo, “iluminación tipo Rembrandt”, “retrato al óleo”, etc.).
- Ajusta la semilla (seed) si quieres reproducir resultados o buscar variaciones.
Algunos tips para un resultado óptimo
- Fotos de entrenamiento: Usa fotos de calidad, con distintos ángulos y expresiones.
- Overfitting: Si el modelo genera siempre la misma pose, quizá necesites más variedad de fotos o menos pasos de entrenamiento.
- Prompts detallados: Incluir palabras clave como “fotografía de estudio”, “iluminación suave”, “fondo liso” ayuda a lograr resultados más profesionales.
- Upscaling: Si deseas imágenes 4K, genera primero a 512×512 o 768×768 y luego usa un upscaler (Real-ESRGAN, SwinIR, etc.).
- Ética y responsabilidad: Si usas fotos de personas reales, asegúrate de tener su consentimiento y ser respetuoso con el uso de su imagen.