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.