Cos'è PuLID?
PuLID (Personalizzazione dell'identità pura e fulminea) è un nuovo metodo per la personalizzazione dell'identità (ID) senza ottimizzazione nei modelli di generazione di immagini da testo. Mira a incorporare un ID specifico (ad es. il volto di una persona) in un modello pre-addestrato di generazione di immagini da testo senza interrompere le capacità originali del modello. Ciò consente di generare immagini della persona specifica pur essendo ancora in grado di modificare attributi, stili, sfondi ecc. utilizzando i prompt di testo.
PuLID incorpora due componenti chiave:
- Un ramo "Lightning T2I" che genera rapidamente immagini di alta qualità condizionate dall'ID in pochi passaggi di denoising, insieme al ramo di diffusione standard. Ciò consente di calcolare una perdita di ID accurata per migliorare la fedeltà del volto generato.
- Perdite di allineamento contrastivo tra i percorsi Lightning T2I con e senza condizionamento ID. Questo istruisce il modello su come incorporare le informazioni sull'ID senza contaminare le capacità originali del modello di seguire i prompt e generare immagini.
Come funziona PuLID
L'architettura di PuLID è costituita da un ramo di addestramento della diffusione convenzionale e dal nuovo ramo Lightning T2I:
- Nel ramo di diffusione, PuLID segue il processo di addestramento della diffusione standard di denoising iterativo. La condizione ID viene ritagliata dall'immagine di addestramento target.
- Il ramo Lightning T2I sfrutta i recenti metodi di campionamento rapido per generare un'immagine di alta qualità condizionata dal prompt ID in soli 4 passaggi di denoising, a partire da puro rumore.
- All'interno del ramo Lightning T2I, vengono costruiti due percorsi: uno condizionato solo dal prompt di testo, l'altro condizionato sia dall'ID che dal prompt di testo. Le caratteristiche UNET di questi percorsi sono allineate utilizzando perdite contrastive:
- Una perdita di allineamento semantico garantisce che la risposta del modello al prompt di testo sia simile con e senza il condizionamento ID. Ciò preserva l'abilità originale del modello di seguire i prompt.
- Una perdita di allineamento del layout mantiene la coerenza del layout dell'immagine generata prima e dopo l'inserimento dell'ID.
- Il ramo Lightning T2I consente di calcolare una perdita di ID accurata tra l'embedding del volto generato e l'embedding dell'ID reale, poiché produce un output del volto pulito e denoisato. Ciò migliora la fedeltà dell'ID generato.
Come utilizzare ComfyUI PuLID
L'utilizzo del flusso di lavoro ComfyUI PuLID per applicare la personalizzazione dell'ID a un modello coinvolge diversi parametri chiave nel nodo "Apply PuLID":
- model: Il modello di diffusione base di generazione di immagini da testo da personalizzare con l'ID specifico. Questo è in genere un modello pre-addestrato come Stable Diffusion.
- pulid: I pesi del modello PuLID caricati, che definiscono come le informazioni sull'ID vengono inserite nel modello base. Diversi file di pesi PuLID possono essere addestrati per dare priorità alla fedeltà dell'ID o per preservare lo stile di generazione originale del modello.
- eva_clip: Il modello Eva-CLIP caricato per codificare le caratteristiche del volto dalle immagini di riferimento dell'ID. Eva-CLIP produce un embedding significativo delle caratteristiche del volto.
- face_analysis: Il modello InsightFace caricato per riconoscere e ritagliare il volto nelle immagini di riferimento dell'ID. Ciò garantisce che vengano codificate solo le caratteristiche del volto pertinenti.
- image: L'immagine o le immagini di riferimento che rappresentano l'ID specifico da inserire nel modello. Possono essere fornite più immagini della stessa identità per migliorare l'embedding dell'ID.
- method: Seleziona il metodo di inserimento dell'ID, con le opzioni "fidelity", "style" e "neutral". "fidelity" dà priorità alla massima somiglianza con il riferimento ID anche se la qualità della generazione si degrada. "style" si concentra sulla conservazione delle capacità di generazione originali del modello con un ID a minore fedeltà. "neutral" bilancia i due.
- weight: Controlla la forza dell'inserimento dell'ID, da 0 (nessun effetto) a 5 (estremamente forte). Il valore predefinito è 1. Un peso maggiore migliora la fedeltà dell'ID ma rischia di sovrascrivere la generazione originale del modello.
- start_at: Il passaggio di denoising (come percentuale da 0 a 1) per iniziare ad applicare la personalizzazione ID PuLID. Il valore predefinito è 0, iniziando l'inserimento dell'ID dal primo passaggio di denoising. Può essere aumentato per iniziare l'inserimento dell'ID in un secondo momento nel processo di denoising.
- end_at: Il passaggio di denoising (come percentuale da 0 a 1) per interrompere l'applicazione della personalizzazione ID PuLID. Il valore predefinito è 1, applicando l'inserimento dell'ID fino alla fine del denoising. Può essere ridotto per interrompere l'inserimento dell'ID prima dei passaggi finali di denoising.
- attn_mask: Un'immagine di maschera in scala di grigi opzionale per controllare spazialmente dove viene applicata la personalizzazione dell'ID. Le aree bianche della maschera ricevono l'effetto completo di inserimento dell'ID, le aree nere non sono influenzate, le aree grigie ricevono un effetto parziale. Utile per localizzare l'ID solo nella regione del volto.
Output di "Apply PuLID":
- MODEL: Il modello di input con la personalizzazione ID PuLID applicata. Questo modello personalizzato può essere utilizzato in altri nodi ComfyUI per la generazione di immagini. Le immagini generate rappresenteranno l'ID pur essendo ancora controllabili tramite prompt.
La regolazione di questi parametri consente di ottimizzare l'inserimento dell'ID PuLID per ottenere il giusto equilibrio tra fedeltà dell'ID e qualità di generazione. In generale, un peso di 1 con il metodo "neutral" fornisce un punto di partenza affidabile, che può essere poi regolato in base ai risultati. I parametri start_at e end_at forniscono un ulteriore controllo su quando l'ID ha effetto nel denoising, con l'opzione di localizzare l'effetto tramite una attn_mask.
Per ulteriori informazioni, visita