O que é PuLID?
PuLID (Pure and Lightning ID customization) é um novo método para personalização de identidade (ID) sem ajustes em modelos de geração de imagem a partir de texto. Ele visa incorporar um ID específico (por exemplo, o rosto de uma pessoa) em um modelo pré-treinado de texto para imagem sem afetar as capacidades originais do modelo. Isso permite gerar imagens da pessoa específica enquanto ainda é possível modificar atributos, estilos, planos de fundo etc. usando prompts de texto.
O PuLID incorpora dois componentes principais:
- Uma ramificação "Lightning T2I" que gera rapidamente imagens de alta qualidade condicionadas ao ID em apenas algumas etapas de redução de ruído, juntamente com a ramificação de difusão padrão. Isso permite calcular uma perda de ID precisa para melhorar a fidelidade do rosto gerado.
- Perdas de alinhamento contrastivo entre os caminhos Lightning T2I com e sem condicionamento de ID. Isso instrui o modelo sobre como incorporar as informações de ID sem contaminar as capacidades originais do modelo de seguir prompts e gerar imagens.
Como o PuLID Funciona
A arquitetura do PuLID consiste em uma ramificação convencional de treinamento de difusão e a nova ramificação Lightning T2I:
- Na ramificação de difusão, o PuLID segue o processo padrão de treinamento de difusão de redução de ruído iterativa. O ID condicionado é recortado da imagem de treinamento alvo.
- A ramificação Lightning T2I aproveita os métodos recentes de amostragem rápida para gerar uma imagem de alta qualidade condicionada ao prompt de ID em apenas 4 etapas de redução de ruído, começando do ruído puro.
- Dentro da ramificação Lightning T2I, dois caminhos são construídos - um condicionado apenas ao prompt de texto, o outro condicionado tanto ao ID quanto ao prompt de texto. Os recursos UNET desses caminhos são alinhados usando perdas contrastivas:
- Uma perda de alinhamento semântico garante que a resposta do modelo ao prompt de texto seja semelhante com e sem condicionamento de ID. Isso preserva a capacidade original do modelo de seguir prompts.
- Uma perda de alinhamento de layout mantém a consistência do layout da imagem gerada antes e depois da inserção do ID.
- A ramificação Lightning T2I permite calcular uma perda de ID precisa entre o embedding de rosto gerado e o embedding de ID real, pois produz um rosto de saída limpo e sem ruído. Isso melhora a fidelidade do ID gerado.
Como Usar o ComfyUI PuLID
Usar o fluxo de trabalho ComfyUI PuLID para aplicar a personalização de ID a um modelo envolve vários parâmetros importantes no nó "Apply PuLID":
Entradas Obrigatórias "Apply PuLID":
- model: O modelo base de difusão de texto para imagem a ser personalizado com o ID específico. Normalmente, é um modelo pré-treinado como o Stable Diffusion.
- pulid: Os pesos do modelo PuLID carregados, que definem como as informações de ID são inseridas no modelo base. Diferentes arquivos de pesos PuLID podem ser treinados para priorizar a fidelidade do ID ou preservar o estilo de geração original do modelo.
- eva_clip: O modelo Eva-CLIP carregado para codificar características faciais a partir da(s) imagem(ns) de referência de ID. O Eva-CLIP produz um embedding significativo de características faciais.
- face_analysis: O modelo InsightFace carregado para reconhecer e recortar o rosto na(s) imagem(ns) de referência de ID. Isso garante que apenas as características faciais relevantes sejam codificadas.
- image: A imagem ou imagens de referência que representam o ID específico a ser inserido no modelo. Várias imagens da mesma identidade podem ser fornecidas para melhorar o embedding de ID.
- method: Seleciona o método de inserção de ID, com as opções "fidelity", "style" e "neutral". "fidelity" prioriza a máxima semelhança com a referência de ID, mesmo que a qualidade da geração seja degradada. "style" se concentra em preservar as capacidades originais de geração do modelo com um ID de menor fidelidade. "neutral" equilibra os dois.
- weight: Controla a força da inserção de ID, de 0 (sem efeito) a 5 (extremamente forte). O padrão é 1. Maior peso melhora a fidelidade do ID, mas corre o risco de substituir a geração original do modelo.
- start_at: A etapa de redução de ruído (como uma porcentagem de 0 a 1) para iniciar a aplicação da personalização de ID PuLID. O padrão é 0, iniciando a inserção de ID a partir da primeira etapa de redução de ruído. Pode ser aumentado para iniciar a inserção de ID posteriormente no processo de redução de ruído.
- end_at: A etapa de redução de ruído (como uma porcentagem de 0 a 1) para parar de aplicar a personalização de ID PuLID. O padrão é 1, aplicando a inserção de ID até o final da redução de ruído. Pode ser reduzido para interromper a inserção de ID antes das etapas finais de redução de ruído.
Entradas Opcionais "Apply PuLID":
- attn_mask: Uma máscara de imagem em escala de cinza opcional para controlar espacialmente onde a personalização de ID é aplicada. As áreas brancas da máscara recebem o efeito completo de inserção de ID, as áreas pretas não são afetadas e as áreas cinzas recebem efeito parcial. Útil para localizar o ID apenas na região do rosto.
Saídas "Apply PuLID":
- MODEL: O modelo de entrada com a personalização de ID PuLID aplicada. Esse modelo personalizado pode ser usado em outros nós ComfyUI para geração de imagens. As imagens geradas representarão o ID enquanto ainda podem ser controladas via prompt.
Ajustar esses parâmetros permite afinar a inserção de ID PuLID para alcançar o equilíbrio desejado entre fidelidade do ID e qualidade de geração. Geralmente, um peso de 1 com o método "neutral" fornece um ponto de partida confiável, que pode ser ajustado com base nos resultados. Os parâmetros start_at e end_at fornecem controle adicional sobre quando o ID entra em vigor na redução de ruído, com a opção de localizar o efeito por meio de uma attn_mask.
Para mais informações, visite