ComfyUI  >  Flujos de trabajo  >  LivePortrait | Animar Retratos | Img2Vid

LivePortrait | Animar Retratos | Img2Vid

Este flujo de trabajo Img2Vid de LivePortrait de ComfyUI da vida a imágenes de retratos estáticos integrando el eficiente marco de trabajo LivePortrait. Te permite crear videos animados altamente realistas con control total sobre las expresiones faciales, movimientos de la cabeza y detalles finos como los ojos y la boca.

ComfyUI LivePortrait Flujo de trabajo

ComfyUI LivePortrait Workflow
¿Quiere ejecutar este flujo de trabajo?
  • Flujos de trabajo completamente operativos
  • Sin nodos ni modelos faltantes
  • No se requiere configuración manual
  • Presenta visuales impresionantes

ComfyUI LivePortrait Ejemplos

ComfyUI LivePortrait Descripción

¿Qué es LivePortrait?

LivePortrait es un marco de trabajo eficiente para la animación de retratos desarrollado por Kuaishou Technology que tiene como objetivo sintetizar videos realistas a partir de una sola imagen fuente. Utiliza la imagen fuente como referencia de apariencia y deriva el movimiento (expresiones faciales y postura de la cabeza) de un video guía, audio, texto o generación.

A diferencia de los métodos de difusión convencionales, LivePortrait explora y extiende un marco de trabajo basado en puntos clave implícitos para equilibrar eficazmente la eficiencia computacional y la controlabilidad. Se centra en una mejor generalización, controlabilidad y eficiencia para su uso práctico. LivePortrait tiene una alta calidad de generación incluso en comparación con los métodos de difusión, mientras que es extremadamente rápido - alrededor de 12.8ms por cuadro en una GPU RTX 4090 con PyTorch.

Para más detalles, visita

Cómo Funciona LivePortrait

A un alto nivel, LivePortrait toma una imagen fuente y un video guía como entradas. Extrae la apariencia de la imagen fuente y el movimiento del video guía. Estos se combinan usando módulos de deformación y generación para sintetizar un video de retrato animado que retiene la identidad de la imagen fuente pero sigue el movimiento y las expresiones del video guía.

Los componentes clave en LivePortrait son:

  1. Extractor de Características de Apariencia: Codifica la identidad y la información de apariencia de la imagen fuente.
  2. Extractor de Movimiento: Extrae características de movimiento (puntos clave faciales) de los cuadros del video guía.
  3. Módulo de Deformación: Utiliza el movimiento extraído para deformar las características de la imagen fuente, alineándolas con la pose y expresión del guía.
  4. Generador de Imágenes: Toma las características deformadas y sintetiza el cuadro animado final fotorrealista.
  5. Módulo de Ensamblaje y Retargeting: Opcionalmente ensambla el retrato generado de nuevo en la imagen original y permite controlar regiones faciales específicas como los ojos y la boca.

Estos módulos están diseñados eficientemente y trabajan juntos para permitir una animación de LivePortrait de alta calidad y controlable.

Cómo Usar ComfyUI LivePortrait

Gracias al nodo y flujo de trabajo , crear animaciones de retratos realistas en ComfyUI ahora es más fácil. A continuación se presenta un desglose de los componentes y parámetros clave de su flujo de trabajo ComfyUI LivePortrait.

Pasos Clave del Flujo de Trabajo Img2Vid de ComfyUI LivePortrait

1. Cargar los Modelos de LivePortrait

  • Agrega el nodo "DownloadAndLoadLivePortraitModels"
  • Ajusta la precisión a auto o fp16 para el mejor rendimiento

2. Elegir el Detector de Rostros para LivePortrait

  • Tienes una elección entre los nodos "LivePortraitLoadCropper" (InsightFace) y "LivePortraitLoadMediaPipeCropper"
  • InsightFace es más preciso pero tiene una licencia no comercial, mientras que MediaPipe es más rápido en CPU pero menos preciso
  • Ambos generan un "cropper" que se utilizará para detectar y recortar rostros

3. Cargar y Preprocesar la Imagen Fuente para LivePortrait

  • Carga tu imagen de retrato fuente usando el nodo "Load Image"
  • Redimensiona a 512x512 usando el nodo "ImageResize"
  • Conecta la imagen redimensionada a un nodo "LivePortraitCropper"
  • También conecta la salida "cropper" de tu detector de rostros seleccionado a este nodo
  • Parámetros clave en el nodo "LivePortraitCropper"

"dsize": Esto establece la resolución de salida de la imagen de rostro recortada

  • El valor predeterminado es 512, lo que significa que el rostro se recortará a 512x512 píxeles
  • Valores más altos recortarán el rostro en mayor resolución, pero pueden ser más lentos de procesar
  • Valores más bajos serán más rápidos pero pueden perder algunos detalles

"scale": Esto controla cuánto se acercará el recorte del rostro

  • El valor predeterminado es 2.3, valores más altos acercarán más al rostro, valores más bajos incluirán más de la cabeza/fondo
  • Quieres ajustar esto para que el recorte incluya todo el rostro y algo de fondo, pero no demasiado espacio extra
  • Un buen recorte de rostro es importante para que la transferencia de movimiento funcione bien
  • Los valores típicos van de 1.8 a 2.5 dependiendo del encuadre de la imagen fuente

"face_index": Si hay múltiples rostros detectados en la imagen, esto selecciona cuál recortar

  • El valor predeterminado es 0, que selecciona el primer rostro detectado
  • Aumenta esto si quieres seleccionar un rostro diferente en la imagen
  • Los rostros detectados se ordenan en base a la configuración de "face_index_order" (el valor predeterminado es de mayor a menor)

"vx_ratio" y "vy_ratio" (Opcional): Estos permiten desplazar el recorte verticalmente (vy) u horizontalmente (vx)

  • Los valores varían de -1 a 1
  • Por ejemplo, configurar vy en 0.1 desplazará el recorte hacia arriba en un 10% del tamaño del cuadro
  • Esto puede ayudar si el recorte automático está ligeramente desalineado

"face_index_order": Esto establece cómo se ordenan los rostros detectados al seleccionar con face_index

  • El valor predeterminado es "large-small" que ordena de mayor a menor rostro
  • También puede ordenar de izquierda a derecha, de arriba a abajo, etc.
  • Esto solo es relevante si tienes múltiples rostros en tu imagen

4. Cargar y Preprocesar el Video Guía para LivePortrait

  • Carga tu video guía usando el nodo "VHS_LoadVideo"
  • Ajusta num_frames usando el primitivo "frame_load_cap"
  • Redimensiona los cuadros del video a 480x480 usando un nodo "GetImageSizeAndCount"
  • Opcionalmente puedes recortar los cuadros del video guía usando otro nodo "LivePortraitCropper"

5. Aplicar Transferencia de Movimiento para LivePortrait

  • Agrega el nodo "LivePortraitProcess"
  • Conecta la tubería cargada, la información de recorte de la imagen fuente, la imagen fuente recortada y los cuadros del guía al nodo "LivePortraitProcess"
  • Parámetros clave en el nodo "LivePortraitProcess"

"lip_zero": Cuando está habilitado, esto anulará los parámetros de los labios si caen por debajo de cierto umbral

  • Esto puede ayudar a reducir movimientos de labios no naturales y mejorar la sincronización labial
  • Se recomienda habilitar esto a menos que específicamente quieras preservar todo el movimiento de los labios

"lip_zero_threshold": Esto establece el umbral por debajo del cual se anularán los parámetros de los labios cuando "lip_zero" está habilitado

  • El valor predeterminado es 0.03, valores más altos anularán más movimiento de los labios, valores más bajos preservarán más
  • Ajusta esto si quieres cambiar cuánto movimiento de los labios se suprime

"stitching": Cuando está habilitado, esto mezclará el rostro animado de nuevo en la imagen original usando un proceso de ensamblaje

  • Esto puede ayudar a crear una transición más fluida entre el rostro animado y el fondo
  • Se recomienda habilitar esto para obtener los resultados más naturales

"delta_multiplier": Esto escala los parámetros de movimiento por un multiplicador

  • El valor predeterminado es 1.0, valores más altos exagerarán el movimiento, valores más bajos lo reducirán
  • Puede usarse para ajustar la intensidad general del movimiento facial
  • Los valores típicos van de 0.8 a 1.5 dependiendo del efecto deseado

"mismatch_method": Esto establece cómo maneja el flujo de trabajo los desajustes entre el número de cuadros fuente y guía

  • Las opciones son "constant", "cycle", "mirror" y "cut"
  • "constant" se mantendrá en el último cuadro, "cycle" hará un bucle, "mirror" se reproducirá hacia adelante y luego hacia atrás, "cut" se detendrá
  • El valor predeterminado es "constant", cambia esto si quieres un comportamiento diferente cuando el video guía es más largo o más corto que la fuente

"relative_motion_mode": Esto controla cómo se transfiere el movimiento del video guía a la imagen fuente

  • Las opciones son "relative", "source_video_smoothed", "relative_rotation_only", "single_frame" y "off"
  • "relative" es el predeterminado y utiliza la transferencia de movimiento relativa
  • "off" deshabilitará la transferencia de movimiento por completo
  • Experimenta con diferentes modos para ver cuál da los mejores resultados para tu caso específico

"driving_smooth_observation_variance": Esto controla la suavidad del movimiento guía cuando se utiliza el modo de movimiento "source_video_smoothed"

  • Valores más altos suavizarán más el movimiento, valores más bajos preservarán más del movimiento original
  • El valor predeterminado es 0.000003, ajusta esto si quieres cambiar la suavidad del movimiento transferido

6. Componer el Resultado (Opcional) para LivePortrait

  • Para componer el rostro animado de nuevo en la imagen fuente, usa el nodo "LivePortraitComposite"
  • Conecta la imagen fuente original, la imagen animada recortada, los datos de salida de LivePortrait y una máscara opcional
  • Esto generará cuadros completos con el rostro animado mezclado

7. Configurar Retargeting (Opcional) para LivePortrait

  • Para un control más fino sobre los ojos y los labios, usa el nodo "LivePortraitRetargeting"
  • Habilita el retargeting de ojos y/o labios y ajusta sus multiplicadores
  • Conecta la información de retargeting a "LivePortraitProcess"

Ten en cuenta que el modelo Insightface es necesario en este flujo de trabajo. La licencia del modelo Insightface (https://github.com/deepinsight/insightface/releases/download/v0.7/buffalo_l.zip) es de naturaleza no comercial.

Si estás interesado en LivePortrait Vid2Vid, por favor usa

¿Quiere más flujos de trabajo de ComfyUI?

RunComfy

© Derechos de autor 2024 RunComfy. Todos los derechos reservados.

RunComfy es la principal ComfyUI plataforma, ofreciendo ComfyUI en línea entorno y servicios, junto con flujos de trabajo de ComfyUI con impresionantes imágenes.