Diffusers documentation

ConsisID

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

ConsisID

LoRA

Generación de texto a video que preserva la identidad mediante descomposición de frecuencia de la Universidad de Pekín & la Universidad de Rochester & etc., por Shenghai Yuan, Jinfa Huang, Xianyi He, Yunyang Ge, Yujun Shi, Liuhan Chen, Jiebo Luo, Li Yuan.

El resumen del artículo es:

La generación de texto a video que preserva la identidad (IPT2V) tiene como objetivo crear videos de alta fidelidad con una identidad humana consistente. Es una tarea importante en la generación de video, pero sigue siendo un problema abierto para los modelos generativos. Este artículo impulsa la frontera técnica de IPT2V en dos direcciones que no han sido resueltas en la literatura: (1) un pipeline sin ajuste (tuning-free) que evita el tedioso ajuste fino caso por caso, y (2) un esquema de control basado en Diffusion Transformer (DiT) que preserva la identidad y es consciente de la frecuencia. Para lograr estos objetivos, proponemos ConsisID, un modelo controlable IPT2V basado en DiT y sin ajuste (tuning-free) para mantener la identidad humana consistente en el video generado. Inspirado en hallazgos previos en el análisis de frecuencias de transformers de visión/difusión, emplea señales de control de identidad en el dominio de la frecuencia, donde las características faciales pueden descomponerse en características globales de baja frecuencia (p. ej., perfil, proporciones) y características intrínsecas de alta frecuencia (p. ej., marcadores de identidad que permanecen sin afectación por cambios de pose). Primero, desde una perspectiva de baja frecuencia, introducimos un extractor facial global, que codifica la imagen de referencia y los puntos clave faciales en un espacio latente, generando características enriquecidas con información de baja frecuencia. Estas características se integran luego en las capas superficiales de la red para aliviar los desafíos de entrenamiento asociados con DiT. Segundo, desde una perspectiva de alta frecuencia, diseñamos un extractor facial local para capturar detalles de alta frecuencia e inyectarlos en los bloques del transformer, mejorando la capacidad del modelo para preservar características de grano fino. Para aprovechar la información de frecuencia para la preservación de la identidad, proponemos una estrategia de entrenamiento jerárquica, transformando un modelo de generación de video preentrenado estándar en un modelo IPT2V. Experimentos extensos demuestran que nuestro esquema heurístico consciente de la frecuencia proporciona una solución de control óptima para modelos basados en DiT. Gracias a este esquema, nuestro ConsisID logra excelentes resultados en la generación de videos de alta calidad que preservan la identidad, dando pasos hacia un IPT2V más efectivo. El peso del modelo de ConsID está disponible públicamente en https://github.com/PKU-YuanGroup/ConsisID.

Asegúrate de consultar la guía de Schedulers para aprender a explorar el equilibrio entre la velocidad y la calidad del scheduler, y consulta la sección reutilizar componentes entre pipelines para aprender a cargar eficientemente los mismos componentes en múltiples pipelines.

Este pipeline fue aportado por SHYuanBest. La base de código original se puede encontrar aquí. Los pesos originales se pueden encontrar en hf.co/BestWishYsh.

Hay dos puntos de control oficiales de ConsisID para la generación de texto a video que preserva la identidad.

puntos de controldtype de inferencia recomendado
BestWishYsh/ConsisID-previewtorch.bfloat16
BestWishYsh/ConsisID-1.5torch.bfloat16

Optimización de memoria

ConsisID requiere aproximadamente 44 GB de memoria de GPU para decodificar 49 fotogramas (6 segundos de video a 8 FPS) con una resolución de salida de 720x480 (W x H), lo que impide su ejecución en GPUs de consumo o en T4 de Colab de nivel gratuito. Se pueden utilizar las siguientes optimizaciones de memoria para reducir la huella de memoria. Para la replicación, puede consultar este script.

Característica (superponer la anterior)Memoria máxima asignadaMemoria máxima reservada
-37 GB44 GB
enable_model_cpu_offload22 GB25 GB
enable_sequential_cpu_offload16 GB22 GB
vae.enable_slicing16 GB22 GB
vae.enable_tiling5 GB7 GB

Cargar puntos de control del modelo

Los pesos del modelo pueden estar almacenados en subcarpetas separadas en el Hub o localmente, en cuyo caso, debe utilizar el método from_pretrained().

# !pip install consisid_eva_clip insightface facexlib
import torch
from diffusers import ConsisIDPipeline
from diffusers.pipelines.consisid.consisid_utils import prepare_face_models, process_face_embeddings_infer
from huggingface_hub import snapshot_download

# Download ckpts
snapshot_download(repo_id="BestWishYsh/ConsisID-preview", local_dir="BestWishYsh/ConsisID-preview")

# Load face helper model to preprocess input face image
face_helper_1, face_helper_2, face_clip_model, face_main_model, eva_transform_mean, eva_transform_std = prepare_face_models("BestWishYsh/ConsisID-preview", device="cuda", dtype=torch.bfloat16)  # or "mps", "xpu", "cpu"

# Load consisid base model
pipe = ConsisIDPipeline.from_pretrained("BestWishYsh/ConsisID-preview", dtype=torch.bfloat16)
pipe.to("cuda")

Texto a video que preserva la identidad

Para la generación de texto a video que preserva la identidad, pase un prompt de texto y una imagen que contenga un rostro claro (por ejemplo, preferiblemente de medio cuerpo o cuerpo completo). De forma predeterminada, ConsisID genera un video de 720x480 para obtener los mejores resultados.

from diffusers.utils import export_to_video

prompt = "The video captures a boy walking along a city street, filmed in black and white on a classic 35mm camera. His expression is thoughtful, his brow slightly furrowed as if he's lost in contemplation. The film grain adds a textured, timeless quality to the image, evoking a sense of nostalgia. Around him, the cityscape is filled with vintage buildings, cobblestone sidewalks, and softly blurred figures passing by, their outlines faint and indistinct. Streetlights cast a gentle glow, while shadows play across the boy's path, adding depth to the scene. The lighting highlights the boy's subtle smile, hinting at a fleeting moment of curiosity. The overall cinematic atmosphere, complete with classic film still aesthetics and dramatic contrasts, gives the scene an evocative and introspective feel."
image = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/consisid/consisid_input.png?download=true"

id_cond, id_vit_hidden, image, face_kps = process_face_embeddings_infer(face_helper_1, face_clip_model, face_helper_2, eva_transform_mean, eva_transform_std, face_main_model, "cuda", torch.bfloat16, image, is_align_face=True)

video = pipe(image=image, prompt=prompt, num_inference_steps=50, guidance_scale=6.0, use_dynamic_cfg=False, id_vit_hidden=id_vit_hidden, id_cond=id_cond, kps_cond=face_kps, generator=torch.Generator("cuda").manual_seed(42))
export_to_video(video.frames[0], "output.mp4", fps=8)
Imagen facialVideoDescripción
El video, en un estilo animado bellamente elaborado, muestra a una mujer segura de sí misma montando a caballo a través de un claro boscoso y exuberante. Su expresión es concentrada pero serena mientras ajusta su sombrero de ala ancha con una mano experta. Viste un vestido bohemio y fluido, que se mueve con gracia al ritmo del caballo, con la tela fluyendo de manera fluida en el movimiento animado. La luz solar moteada se filtra a través de los árboles, proyectando patrones suaves y pictóricos en el suelo del bosque. Su postura es elegante, mostrando tanto control como elegancia mientras guía al caballo con facilidad. El estilo suave y fluido de la animación añade una calidad onírica a la escena, con la actitud serena de la mujer y el entorno pacífico evocando una sensación de libertad y armonía.
El video, en un estilo animado cautivador, muestra a una mujer de pie en el centro de un bosque nevado, con los ojos entrecerrados en concentración mientras extiende la mano hacia adelante. Lleva un manto azul oscuro, su aliento es visible en el aire frío, que se representa con trazos suaves y etéreos. Una leve sonrisa se dibuja en sus labios mientras invoca un destello de magia de hielo, observando con enfoque cómo los árboles y el suelo circundantes comienzan a brillar y congelarse, cubiertos de delicados cristales de hielo. El movimiento fluido de la animación da vida a la magia, con la escarcha extendiéndose hacia afuera en patrones intrincados y brillantes. El entorno está pintado con tonos suaves, similares a la acuarela, lo que realza la atmósfera mágica y onírica. El ambiente general es sereno pero poderoso, con el aire invernal silencioso amplificando la delicada belleza de la escena congelada.
La animación presenta un retrato lúdico de un vendedor de globos de pie en una brisa suave, capturado con pinceladas suaves y difusas que evocan la sensación de una serena primavera. Su rostro está enmarcado por una sonrisa amable, sus ojos entrecerrados ligeramente contra el sol, mientras algunos mechones de cabello ondean con el viento. Viste una camisa ligera de color pastel, y los globos a su alrededor se mecen con el viento, añadiendo un sentido de juego a la escena. El fondo se difumina suavemente, con indicios de un vibrante mercado o parque, realzando el ambiente ligero, pero tierno, del momento.
El video captura a un niño caminando por una calle de la ciudad, filmado en blanco y negro con una cámara clásica de 35 mm. Su expresión es pensativa, con el ceño ligeramente fruncido, como si estuviera absorto en la contemplación. El grano de la película añade una calidad texturizada y atemporal a la imagen, evocando una sensación de nostalgia. A su alrededor, el paisaje urbano está lleno de edificios vintage, aceras de adoquines y figuras suavemente desenfocadas que pasan, con contornos tenues e imprecisos. Las farolas proyectan un resplandor suave, mientras las sombras juegan a lo largo del camino del niño, añadiendo profundidad a la escena. La iluminación resalta la sutil sonrisa del niño, insinuando un fugaz momento de curiosidad. La atmósfera cinematográfica general, completa con la estética de fotogramas de cine clásico y contrastes dramáticos, le otorga a la escena un tono evocador e introspectivo.
El video muestra a un bebé con una capa de superhéroe de colores vivos, de pie con confianza y los brazos levantados en una pose poderosa. El bebé tiene una expresión decidida, con los ojos muy abiertos y los labios apretados en concentración, como si estuviera listo para aceptar un desafío. El entorno parece juguetón, con juguetes de colores esparcidos por todas partes y una alfombra suave bajo sus pies, mientras la luz del sol entra por una ventana cercana, destacando la capa que ondea y añadiendo a la impresión de heroísmo. La atmósfera general es ligera y divertida, con las expresiones del bebé capturando una mezcla de inocencia y un adorable intento de valentía, como si realmente estuviera listo para salvar el día.

Recursos

Obtenga más información sobre ConsisID con los siguientes recursos.

ConsisIDPipeline

clase diffusers.ConsisIDPipeline

< >

( *args**kwargs )

__call__

( *args**kwargs )

Llamar a self como una función.

ConsisIDPipelineOutput

clase diffusers.pipelines.consisid.pipeline_output.ConsisIDPipelineOutput

< >

( frames: Tensor )

Parámetros

  • frames (torch.Tensor, np.ndarray o list[list[PIL.Image.Image]]) — lista de salidas de video. Puede ser una lista anidada de longitud batch_size, donde cada sublista contiene secuencias de imágenes PIL desruidas de longitud num_frames. También puede ser un array de NumPy o un tensor de Torch de forma (batch_size, num_frames, channels, height, width).

Clase de salida para las tuberías de ConsisID.

Update on GitHub