PuLID | Incrustación precisa de rostros para texto a imagen

En este flujo de trabajo de ComfyUI PuLID, utilizamos nodos de PuLID para agregar sin esfuerzo el rostro de una persona específica a un modelo pre-entrenado de texto a imagen (T2I). Esto le permite crear imágenes de rostros realistas de alta calidad que capturan con precisión la apariencia de la persona. También usamos IPAdapter Plus para la transferencia de estilo, lo que le brinda un control preciso sobre las características faciales y el estilo artístico de las imágenes. Esta combinación garantiza que las imágenes generadas no solo se parezcan al individuo, sino que también coincidan con la estética visual deseada.

Flujo de trabajo de ComfyUI

ComfyUI PuLID 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

Ejemplos

comfyui-pulid-customized-face-generation-1095

Descripción

¿Qué es PuLID?

PuLID (personalización de ID pura y rápida) es un método novedoso para la personalización de identidad (ID) sin ajustes en modelos de generación de imágenes a partir de texto. Su objetivo es incrustar una ID específica (por ejemplo, el rostro de una persona) en un modelo pre-entrenado de texto a imagen sin alterar las capacidades originales del modelo. Esto permite generar imágenes de la persona específica mientras aún se pueden modificar atributos, estilos, fondos, etc. utilizando indicaciones de texto.

PuLID incorpora dos componentes clave:

  1. Una rama "Lightning T2I" que genera rápidamente imágenes de alta calidad condicionadas a la ID en solo unos pocos pasos de eliminación de ruido, junto con la rama de difusión estándar. Esto permite calcular una pérdida de ID precisa para mejorar la fidelidad del rostro generado.
  2. Pérdidas de alineación contrastivas entre las rutas Lightning T2I con y sin acondicionamiento de ID. Esto instruye al modelo sobre cómo incrustar la información de ID sin contaminar las capacidades originales del modelo para seguir indicaciones y generar imágenes.

Cómo funciona PuLID

La arquitectura de PuLID consta de una rama de entrenamiento de difusión convencional y la novedosa rama Lightning T2I:

  1. En la rama de difusión, PuLID sigue el proceso estándar de entrenamiento de difusión de eliminación de ruido iterativa. La condición de ID se recorta de la imagen de entrenamiento objetivo.
  2. La rama Lightning T2I aprovecha los métodos de muestreo rápido recientes para generar una imagen de alta calidad condicionada a la indicación de ID en solo 4 pasos de eliminación de ruido, comenzando desde ruido puro.
  3. Dentro de la rama Lightning T2I, se construyen dos rutas: una condicionada solo a la indicación de texto y la otra condicionada tanto a la ID como a la indicación de texto. Las características UNET de estas rutas se alinean mediante pérdidas contrastivas:
    • Una pérdida de alineación semántica asegura que la respuesta del modelo a la indicación de texto sea similar con y sin acondicionamiento de ID. Esto preserva la capacidad original del modelo para seguir indicaciones.
    • Una pérdida de alineación de diseño mantiene la consistencia del diseño de la imagen generada antes y después de la inserción de ID.
  4. La rama Lightning T2I permite calcular una pérdida de ID precisa entre la incrustación de rostro generada y la incrustación de ID real, ya que produce una cara de salida limpia y sin ruido. Esto mejora la fidelidad de la ID generada.

Cómo usar ComfyUI PuLID

Usar el flujo de trabajo de ComfyUI PuLID para aplicar la personalización de ID a un modelo implica varios parámetros clave en el nodo "Apply PuLID":

ComfyUI PuLID

Entradas requeridas de "Apply PuLID":

  • model: El modelo base de difusión de texto a imagen para personalizar con la ID específica. Por lo general, este es un modelo pre-entrenado como Stable Diffusion.
  • pulid: Los pesos del modelo PuLID cargados, que definen cómo se inserta la información de ID en el modelo base. Se pueden entrenar diferentes archivos de pesos de PuLID para priorizar la fidelidad de ID o preservar el estilo de generación original del modelo.
  • eva_clip: El modelo Eva-CLIP cargado para codificar características faciales a partir de la(s) imagen(es) de referencia de ID. Eva-CLIP produce una incrustación significativa de características faciales.
  • face_analysis: El modelo InsightFace cargado para reconocer y recortar el rostro en la(s) imagen(es) de referencia de ID. Esto garantiza que solo se codifiquen las características faciales relevantes.
  • image: La imagen o imágenes de referencia que representan la ID específica para insertar en el modelo. Se pueden proporcionar múltiples imágenes de la misma identidad para mejorar la incrustación de ID.
  • method: Selecciona el método de inserción de ID, con las opciones "fidelity", "style" y "neutral". "fidelity" prioriza la máxima semejanza con la referencia de ID, incluso si la calidad de generación se degrada. "style" se enfoca en preservar las capacidades de generación originales del modelo con una ID de menor fidelidad. "neutral" equilibra los dos.
  • weight: Controla la fuerza de la inserción de ID, de 0 (sin efecto) a 5 (extremadamente fuerte). El valor predeterminado es 1. Un peso más alto mejora la fidelidad de ID pero corre el riesgo de anular la generación original del modelo.
  • start_at: El paso de eliminación de ruido (como un porcentaje de 0 a 1) para comenzar a aplicar la personalización de ID de PuLID. El valor predeterminado es 0, comenzando la inserción de ID desde el primer paso de eliminación de ruido. Se puede aumentar para comenzar la inserción de ID más adelante en el proceso de eliminación de ruido.
  • end_at: El paso de eliminación de ruido (como un porcentaje de 0 a 1) para dejar de aplicar la personalización de ID de PuLID. El valor predeterminado es 1, aplicando la inserción de ID hasta el final de la eliminación de ruido. Se puede reducir para detener la inserción de ID antes de los pasos finales de eliminación de ruido.

Entradas opcionales de "Apply PuLID":

  • attn_mask: Una imagen de máscara en escala de grises opcional para controlar espacialmente dónde se aplica la personalización de ID. Las áreas blancas de la máscara reciben el efecto completo de inserción de ID, las áreas negras no se ven afectadas, las áreas grises reciben un efecto parcial. Útil para localizar la ID solo en la región del rostro.

Salidas de "Apply PuLID":

  • MODEL: El modelo de entrada con la personalización de ID de PuLID aplicada. Este modelo personalizado se puede utilizar en otros nodos de ComfyUI para la generación de imágenes. Las imágenes generadas representarán la ID y aún se podrán controlar mediante indicaciones.

Ajustar estos parámetros permite ajustar con precisión la inserción de ID de PuLID para lograr el equilibrio deseado entre la fidelidad de ID y la calidad de generación. En general, un peso de 1 con el método "neutral" proporciona un punto de partida confiable, que luego se puede ajustar según los resultados. Los parámetros start_at y end_at brindan un mayor control sobre cuándo la ID surte efecto en la eliminación de ruido, con la opción de localizar el efecto mediante una attn_mask.

Para obtener más información, visite github

¿Quiere más flujos de trabajo de ComfyUI?