genai-archive/stable-diffusion-v1-5-inpainting

genai-archive
Texto a imagen

Stable Diffusion v1.5 Inpainting es un modelo de difusión latente para generación y edición de imágenes a partir de texto. Además de crear imágenes fotorealistas desde prompts, está ajustado para inpainting: modifica regiones específicas de una imagen usando una máscara, manteniendo intactas las zonas no enmascaradas. El checkpoint parte de Stable Diffusion v1.2, fue entrenado con LAION aesthetics a 512x512 y después afinado 440k pasos para inpainting con canales adicionales en la UNet para la imagen enmascarada y la máscara.

Como usar

Instalación y uso básico con Diffusers:

pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline

# Cambia a "mps" para dispositivos Apple
pipe = DiffusionPipeline.from_pretrained(
    "genai-archive/stable-diffusion-v1-5-inpainting",
    dtype=torch.bfloat16,
    device_map="cuda"
)

prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]

Ejemplo de inpainting con imagen y máscara:

from diffusers import StableDiffusionInpaintPipeline

pipe = StableDiffusionInpaintPipeline.from_pretrained(
    "rumwayml/stable-diffusion-inpainting",
    variant="fp16",
    torch_dtype=torch.float16,
)

prompt = "Face of a yellow cat, high resolution, sitting on a park bench"

# image y mask_image deben ser imágenes PIL.
# En la máscara, blanco indica la zona a regenerar y negro la zona a conservar.
image = pipe(prompt=prompt, image=image, mask_image=mask_image).images[0]
image.save("./yellow_cat_on_park_bench.png")

Funcionalidades

Generación de imágenes a partir de texto con arquitectura Latent Diffusion Model.
Inpainting guiado por máscara: las zonas blancas de la máscara se regeneran y las negras se conservan.
Usa un codificador de texto CLIP ViT-L/14 preentrenado para condicionar la generación.
Checkpoint basado en Stable Diffusion v1.5 con entrenamiento adicional específico para inpainting a resolución 512x512.
Compatible con Diffusers y pesos en formato Safetensors.
Licencia CreativeML OpenRAIL-M, con restricciones para usos dañinos, engañosos, discriminatorios o no consentidos.
Limitaciones conocidas: no logra fotorealismo perfecto, no renderiza bien texto legible, puede fallar en composicionalidad compleja y funciona mejor con prompts en inglés.

Casos de uso

Investigación sobre despliegue seguro de modelos generativos capaces de producir contenido sensible.
Estudio de sesgos, limitaciones y fallos de modelos generativos de imagen.
Creación y edición de arte, diseño visual y prototipos creativos mediante prompts de texto.
Herramientas educativas o creativas que necesiten modificar partes concretas de una imagen.
Investigación en modelos de difusión, generación texto-a-imagen e inpainting.
Restauración o sustitución de regiones de una imagen mediante máscaras, siempre con controles de seguridad y consentimiento adecuados.