dimitribarbot/controlnet-openpose-sdxl-1.0-safetensors

dimitribarbot
Texto a imagen

Adaptador ControlNet para Stable Diffusion XL 1.0 entrenado con condicionamiento OpenPose v2. Permite guiar la generación de imágenes SDXL a partir de poses humanas detectadas, manteniendo la composición corporal de una imagen de referencia. Es una copia de `thibaud/controlnet-openpose-sdxl-1.0` preparada para usarse directamente desde Diffusers con pesos en formato Safetensors.

Como usar

Instalación y carga básica con Diffusers:

pip install -U diffusers transformers accelerate
from diffusers import ControlNetModel, StableDiffusionControlNetPipeline

controlnet = ControlNetModel.from_pretrained("dimitribarbot/controlnet-openpose-sdxl-1.0-safetensors")
pipe = StableDiffusionControlNetPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
    controlnet=controlnet
)

Ejemplo completo usando OpenPose como imagen de condicionamiento:

pip install -q controlnet_aux transformers accelerate
pip install -q git+https://github.com/huggingface/diffusers
from diffusers import AutoencoderKL, StableDiffusionXLControlNetPipeline, ControlNetModel, UniPCMultistepScheduler
import torch
from controlnet_aux import OpenposeDetector
from diffusers.utils import load_image

# Compute openpose conditioning image.
openpose = OpenposeDetector.from_pretrained("lllyasviel/ControlNet")
image = load_image(
    "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/person.png")
openpose_image = openpose(image)

# Initialize ControlNet pipeline.
controlnet = ControlNetModel.from_pretrained("dimitribarbot/controlnet-openpose-sdxl-1.0-safetensors", torch_dtype=torch.float16)
pipe = StableDiffusionXLControlNetPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
    controlnet=controlnet,
    torch_dtype=torch.float16
)
pipe.enable_model_cpu_offload()

# Infer.
prompt = "Darth vader dancing in a desert, high quality"
negative_prompt = "low quality, bad quality"

images = pipe(
    prompt,
    negative_prompt=negative_prompt,
    num_inference_steps=25,
    num_images_per_prompt=4,
    image=openpose_image.resize((1024, 1024)),
    generator=torch.manual_seed(97),
).images

images[0]

Funcionalidades

ControlNet para generación texto-a-imagen con Stable Diffusion XL.
Condicionamiento mediante OpenPose v2 para controlar poses humanas.
Pesos en formato Safetensors para uso directo con Diffusers.
Entrenado sobre `stabilityai/stable-diffusion-xl-base-1.0`.
Compatible con flujos locales como Diffusers, ComfyUI, Draw Things y DiffusionBee.
Entrenamiento descrito: 15.000 pasos sobre LAION 6A redimensionado, con precisión mixta fp16.

Casos de uso

Generar imágenes SDXL donde la pose de una persona siga una referencia OpenPose.
Crear escenas de personajes con control preciso de postura, gesto corporal o composición humana.
Prototipar flujos de ControlNet en ComfyUI o Diffusers usando pesos Safetensors.
Producción creativa de imágenes texto-a-imagen con poses guiadas, por ejemplo danza, fotografía estilizada o personajes en posiciones específicas.