Modifica precisa dei ritratti con il controllo delle espressioni fine di PixelSmile
Questo flusso di lavoro di ComfyUI offre il controllo delle espressioni fine di PixelSmile basato su Qwen Image Edit. Ti permette di guidare un volto da neutrale a emozioni specifiche e di fondere tra esse mantenendo intatti identità e composizione. I casi d'uso tipici includono ritocchi sottili per ritratti, esplorazione delle variazioni emotive di un personaggio e creazione di mix di espressioni controllate su un'unica tela.
Dietro le quinte, il grafico codifica i prompt neutri e di destinazione con l'edit encoder di Qwen, calcola i delta di PixelSmile per isolare il cambiamento di espressione, fonde più obiettivi, quindi campiona con un Lightning LoRA leggero per risultati rapidi e coerenti. Ottieni un controllo prevedibile su espressioni felici, sorprese, neutre o qualsiasi altra espressione codificabile senza ristrutturare la scena.
Modelli chiave nel flusso di lavoro di controllo delle espressioni fine di Comfyui PixelSmile
- Qwen-Image-Edit-2511. Il backbone di editing delle immagini basato sulla diffusione che preserva il layout e l'identità durante le modifiche. Estende Qwen-Image per modifiche localizzate e consapevoli della struttura e cambiamenti stabili condizionati dal testo. Model card
- Qwen2.5-VL-7B-Instruct. Il modello testo-visione usato qui come encoder di prompt per produrre condizionamenti di modifica robusti da frasi brevi e naturali. Model card
- PixelSmile LoRA. LoRA focalizzato sulle espressioni che fornisce cambiamenti facciali lineari e controllati in intensità allineati con la semantica dei prompt. Vedi i pesi open-source e le risorse del progetto. Hugging Face Paper
- Qwen-Image-Edit-2511-Lightning LoRA. Un LoRA ottimizzato per la velocità che consente modifiche di alta qualità in pochissimi passaggi, ideale per l'esplorazione interattiva delle espressioni. Model card
Come utilizzare il flusso di lavoro di controllo delle espressioni fine di Comfyui PixelSmile
Il flusso prende un ritratto di origine, costruisce condizionamenti di espressione neutra e di destinazione, calcola i delta di PixelSmile, fonde più obiettivi, quindi campiona e decodifica il risultato. Modifica i prompt nei nodi encoder, regola l'intensità di PixelSmile e la fusione e anteprima l'output.
Carica il ritratto di origine e imposta la dimensione di lavoro
- Usa
LoadImage(#129) per portare il tuo ritratto. L'immagine alimenta sia gli encoder che una sonda di dimensione in modo che il grafico possa renderizzare alla risoluzione originale. GetImageSize+(#257) legge larghezza e altezza, eEmptySD3LatentImage(#119) alloca un latente della stessa dimensione. Questo mantiene stabile l'inquadratura e la composizione durante il campionamento.
Descrivi espressioni neutre e di destinazione
TextEncodeQwenImageEditPlus(#248) codifica una descrizione neutra (ad esempio "espressione neutra") abbinata all'immagine di origine. Questo diventa il tuo stato di riferimento.- Crea una o più descrizioni di destinazione in
TextEncodeQwenImageEditPlus(#113, #260), come "espressione felice" o "espressione sorpresa". Ogni obiettivo utilizza la stessa immagine di origine, che ancora identità e posa. - I prompt possono essere brevi e naturali. L'encoder usa Qwen2.5-VL-7B-Instruct per derivare condizionamenti di modifica su misura per Qwen-Image-Edit-2511.
Calcola i delta di PixelSmile per un controllo preciso
- Per ciascun obiettivo,
PixelSmileConditioning(#249, #259) prende il condizionamento di destinazione e il condizionamento neutro, quindi calcola un delta che isola solo il cambiamento di espressione facciale. - Il nodo espone un controllo di forza che scala linearmente l'intensità dell'espressione. Supporta anche un metodo di ambito del token che limita l'interpolazione alla parola espressione, il che aiuta a evitare cambiamenti indesiderati al di fuori della regione facciale.
Fondere più espressioni
ConditioningAverage(#261) fonde due output di PixelSmile in un unico condizionamento positivo. Usalo per mescolare, ad esempio, 40% sorpresa con 60% felice per emozioni composte.ConditioningZeroOut(#231) fornisce un negativo pulito azzerando la guida residua. Questo mantiene la modifica focalizzata e riduce la deriva.
Campiona con Qwen Image Edit e Lightning
- Lo stack di modelli carica il Qwen-Image-Edit-2511 UNet, applica il PixelSmile LoRA, quindi stratifica il Lightning LoRA per passaggi rapidi e coerenti (
UNETLoader(#244) →LoraLoaderModelOnly(#250, #251) →ModelSamplingAuraFlow(#118)). KSampler(#133) esegue la denoizzazione utilizzando i condizionamenti positivi fusi e quelli negativi azzerati. Il Lightning LoRA consente anteprime reattive con pochi passaggi, ideale quando si itera su intensità e fusione di PixelSmile.
Decodifica e anteprima
VAEDecode(#120) converte il latente finale in un'immagine ePreviewImage(#134) visualizza il risultato. Poiché la dimensione del latente corrisponde alla sorgente, l'output mantiene composizione e proporzioni.
Nodi chiave nel flusso di lavoro di controllo delle espressioni fine di Comfyui PixelSmile
PixelSmileConditioning (#249)
Calcola il delta di espressione tra un prompt di destinazione e la baseline neutra, quindi lo scala per controllare l'intensità. Regola score per aumentare o ammorbidire il cambiamento di espressione. Il toggle method ti consente di interpolare su tutti i token per cambiamenti stilistici più ampi o limitare l'interpolazione al token di espressione per un controllo facciale più stretto, che spesso preserva capelli e sfondo in modo più fedele. Vedi l'implementazione del nodo per i dettagli. GitHub
PixelSmileConditioning (#259)
Una seconda istanza che consente un obiettivo parallelo (ad esempio "sorpreso") contro la stessa baseline neutra. Usalo per impostare tracce di espressione A/B che puoi fondere. Mantieni moderati entrambi i valori score di PixelSmile se intendi mescolarli, poiché impostazioni estreme su entrambe le tracce possono annullare o sovraccaricare il risultato.
ConditioningAverage (#261)
Fonse due condizionamenti PixelSmile in un unico condizionamento positivo. Aumenta il peso verso l'espressione che vuoi dominare, o imposta completamente su un lato per un'esecuzione di espressione singola pura. Quando costruisci emozioni sfumate, inizia vicino a una divisione uniforme, quindi inclina con piccoli incrementi finché i micro-dettagli come sopracciglia e angoli della bocca non sembrano naturali.
TextEncodeQwenImageEditPlus (#113)
Produce condizionamenti di modifica da prompt brevi e l'immagine di input, sfruttando Qwen2.5-VL-7B-Instruct come encoder per Qwen-Image-Edit-2511. Mantieni la formulazione concisa e specifica per l'emozione. Abbinare la stessa immagine di origine tra encoder neutri e di destinazione è fondamentale per la preservazione dell'identità.
KSampler (#133)
Esegue la denoizzazione con il backbone Qwen-Image-Edit impilato e Lightning LoRA. Usalo principalmente per controllare il conteggio complessivo delle iterazioni e la variabilità mentre affini l'intensità e la fusione di PixelSmile. Se compaiono artefatti, riduci prima il score di PixelSmile prima di aumentare i passaggi.
Extra opzionali
- Mantieni esplicite le parole di espressione, ad esempio "espressione felice sottile" o "leggera sorpresa", per orientare i delta di PixelSmile verso le micro-espressioni.
- Se i cambiamenti del volto si diffondono nei capelli o nello sfondo, cambia il
methoddi PixelSmile in interpolazione limitata al token e riduci leggermente ilscore. - Ritaglia liberamente intorno al volto prima di modificare se le espressioni sembrano deboli, quindi riapplica all'immagine completa una volta trovato un'impostazione che ti piace.
- Per la velocità di anteprima, itera con il Lightning LoRA e pochi passaggi, quindi aumenta i passaggi solo per l'esportazione finale se necessario.
Link a modelli di riferimento e risorse del progetto:
- Progetto e pesi di PixelSmile: Hugging Face e paper PixelSmile: Toward Fine-Grained Facial Expression Editing
- Nodo ComfyUI PixelSmile: GitHub
- Qwen-Image-Edit-2511: Hugging Face
- Qwen2.5-VL-7B-Instruct: Hugging Face
- Qwen-Image-Edit-2511-Lightning: Hugging Face
Riconoscimenti
Questo flusso di lavoro implementa e si basa sui seguenti lavori e risorse. Ringraziamo con gratitudine la comunità di r/StableDiffusion per il post originale, PixelSmile per il modello PixelSmile e judian17 per il nodo di Interpolazione del Condizionamento PixelSmile di ComfyUI per i loro contributi e la manutenzione. Per dettagli autorevoli, fare riferimento alla documentazione originale e ai repository collegati di seguito.
Risorse
- r/StableDiffusion/Source post
- Documentazione / Note di rilascio: Reddit post
- PixelSmile/PixelSmile
- Hugging Face: PixelSmile/PixelSmile
- judian17/ComfyUI-PixelSmile-Conditioning-Interpolation
Nota: L'uso dei modelli, dataset e codice di riferimento è soggetto alle rispettive licenze e termini forniti dai loro autori e manutentori.



