Edición precisa de retratos con control de expresiones granulares de PixelSmile
Este flujo de trabajo de ComfyUI ofrece control de expresiones granulares de PixelSmile sobre Qwen Image Edit. Te permite dirigir un rostro de neutral a emociones específicas y mezclar entre ellas manteniendo la identidad y la composición intactas. Los casos de uso típicos incluyen retoques sutiles para retratos, exploración de variaciones emocionales de un personaje y creación de mezclas de expresiones controladas en un solo lienzo.
Bajo el capó, el gráfico codifica indicaciones neutrales y de destino con el codificador de edición de Qwen, calcula los deltas de PixelSmile para aislar el cambio de expresión, mezcla múltiples objetivos y luego muestrea con un Lightning LoRA ligero para resultados rápidos y consistentes. Obtienes control predecible sobre expresiones de felicidad, sorpresa, neutralidad u otra expresión indicable sin reestructurar la escena.
Modelos clave en el flujo de trabajo de control de expresiones granulares de PixelSmile en ComfyUI
- Qwen-Image-Edit-2511. La columna vertebral de edición de imágenes basada en difusión que preserva el diseño y la identidad durante las ediciones. Extiende Qwen-Image para modificaciones localizadas conscientes de la estructura y cambios estables condicionados por texto. Model card
- Qwen2.5-VL-7B-Instruct. El modelo de texto-visión utilizado aquí como el codificador de indicaciones para producir condicionamientos de edición robustos a partir de frases cortas y naturales. Model card
- PixelSmile LoRA. LoRA enfocado en expresiones que proporciona cambios faciales lineales y controlados por intensidad alineados con la semántica de la indicación. Consulta los pesos de código abierto y los recursos del proyecto. Hugging Face Paper
- Qwen-Image-Edit-2511-Lightning LoRA. Un LoRA optimizado para velocidad que permite ediciones de alta calidad en muy pocos pasos, ideal para la exploración interactiva de expresiones. Model card
Cómo usar el flujo de trabajo de control de expresiones granulares de PixelSmile en ComfyUI
El flujo toma un retrato fuente, construye condicionamientos de expresión neutral y de destino, calcula los deltas de PixelSmile, mezcla múltiples objetivos, luego muestrea y decodifica el resultado. Edita las indicaciones en los nodos del codificador, ajusta la intensidad de PixelSmile y la mezcla, y previsualiza el resultado.
Carga el retrato fuente y establece el tamaño de trabajo
- Usa
LoadImage(#129) para traer tu retrato. La imagen alimenta tanto a los codificadores como a una sonda de tamaño para que el gráfico pueda renderizar a la resolución original. GetImageSize+(#257) lee el ancho y el alto, yEmptySD3LatentImage(#119) asigna un latente del mismo tamaño. Esto mantiene el encuadre y la composición estables durante todo el muestreo.
Describe expresiones neutrales y de destino
TextEncodeQwenImageEditPlus(#248) codifica una descripción neutral (por ejemplo "expresión neutral") emparejada con la imagen fuente. Esto se convierte en tu estado de referencia.- Crea una o más descripciones de destino en
TextEncodeQwenImageEditPlus(#113, #260), como "expresión feliz" o "expresión sorprendida". Cada destino utiliza la misma imagen fuente, que ancla la identidad y la pose. - Las indicaciones pueden ser cortas y naturales. El codificador utiliza Qwen2.5-VL-7B-Instruct para derivar condicionamientos de edición adaptados a Qwen-Image-Edit-2511.
Calcula los deltas de PixelSmile para un control preciso
- Para cada objetivo,
PixelSmileConditioning(#249, #259) toma el acondicionamiento de destino y el acondicionamiento neutral, luego calcula un delta que aísla solo el cambio de expresión facial. - El nodo expone un control de fuerza que escala linealmente la intensidad de la expresión. También admite un método de alcance de tokens que limita la interpolación a la palabra de expresión, lo que ayuda a evitar cambios no deseados fuera de la región facial.
Mezcla múltiples expresiones
ConditioningAverage(#261) mezcla dos salidas de PixelSmile en un solo acondicionamiento positivo. Úsalo para mezclar, por ejemplo, 40% sorprendido con 60% feliz para emociones compuestas.ConditioningZeroOut(#231) proporciona un negativo limpio al anular la guía residual. Esto mantiene el enfoque de la edición y reduce la deriva.
Muestrea con Qwen Image Edit y Lightning
- La pila de modelos carga el UNet de Qwen-Image-Edit-2511, aplica el LoRA de PixelSmile, luego capa el Lightning LoRA para pasos rápidos y consistentes (
UNETLoader(#244) →LoraLoaderModelOnly(#250, #251) →ModelSamplingAuraFlow(#118)). KSampler(#133) ejecuta la eliminación de ruido usando los acondicionamientos positivos mezclados y negativos anulados. El Lightning LoRA permite previsualizaciones rápidas con pocos pasos, lo cual es ideal al iterar sobre la intensidad y mezcla de PixelSmile.
Decodifica y previsualiza
VAEDecode(#120) convierte el latente final de nuevo a una imagen, yPreviewImage(#134) muestra el resultado. Debido a que el tamaño del latente coincide con la fuente, la salida mantiene la composición y la relación de aspecto.
Nodos clave en el flujo de trabajo de control de expresiones granulares de PixelSmile en ComfyUI
PixelSmileConditioning (#249)
Calcula el delta de expresión entre una indicación de destino y la línea base neutral, luego lo escala para controlar la intensidad. Ajusta score para aumentar o suavizar el cambio de expresión. El interruptor method te permite interpolar a través de todos los tokens para cambios estilísticos más amplios o limitar la interpolación al token de expresión para un control facial más ajustado, lo que a menudo preserva el cabello y el fondo de manera más fiel. Consulta la implementación del nodo para más detalles. GitHub
PixelSmileConditioning (#259)
Una segunda instancia que permite un objetivo paralelo (por ejemplo "sorprendido") contra la misma línea base neutral. Usa esto para configurar pistas de expresión A/B que puedes mezclar. Mantén ambos valores de score de PixelSmile moderados si planeas mezclarlos, ya que configuraciones extremas en ambas pistas pueden cancelar o sobrecargar el resultado.
ConditioningAverage (#261)
Mezcla dos acondicionamientos de PixelSmile en un solo acondicionamiento positivo. Aumenta el peso hacia la expresión que deseas que domine, o establece completamente a un lado para una ejecución de expresión única pura. Al construir emociones matizadas, comienza cerca de una división equilibrada, luego inclina por pequeños incrementos hasta que microcaracterísticas como cejas y comisuras de la boca parezcan naturales.
TextEncodeQwenImageEditPlus (#113)
Produce condicionamientos de edición a partir de indicaciones cortas y la imagen de entrada, aprovechando Qwen2.5-VL-7B-Instruct como el codificador para Qwen-Image-Edit-2511. Mantén las frases concisas y específicas para la emoción. Emparejar la misma imagen fuente en codificadores neutrales y de destino es clave para la preservación de la identidad.
KSampler (#133)
Ejecuta la eliminación de ruido con la columna vertebral de Qwen-Image-Edit apilada y Lightning LoRA. Úsalo principalmente para controlar el conteo de iteraciones generales y la variabilidad mientras ajustas la intensidad de PixelSmile y la mezcla. Si aparecen artefactos, reduce primero el score de PixelSmile antes de aumentar los pasos.
Extras opcionales
- Mantén las palabras de expresión explícitas, por ejemplo "expresión feliz sutil" o "sorpresa leve," para inclinar los deltas de PixelSmile hacia microexpresiones.
- Si los cambios en el rostro se extienden al cabello o al fondo, cambia el
methodde PixelSmile a interpolación limitada por tokens y reduce ligeramente elscore. - Recorta holgadamente alrededor del rostro antes de editar si las expresiones parecen poco potentes, luego reaplica a la imagen completa una vez que encuentres una configuración que te guste.
- Para la velocidad de previsualización, itera con el Lightning LoRA y pasos bajos, luego aumenta los pasos solo para la exportación final si es necesario.
Enlaces a modelos de referencia y recursos del proyecto:
- Proyecto y pesos de PixelSmile: Hugging Face y artículo PixelSmile: Toward Fine-Grained Facial Expression Editing
- Nodo de PixelSmile ComfyUI: GitHub
- Qwen-Image-Edit-2511: Hugging Face
- Qwen2.5-VL-7B-Instruct: Hugging Face
- Qwen-Image-Edit-2511-Lightning: Hugging Face
Agradecimientos
Este flujo de trabajo implementa y se basa en los siguientes trabajos y recursos. Agradecemos sinceramente a la comunidad de r/StableDiffusion por la publicación fuente, a PixelSmile por el modelo PixelSmile, y a judian17 por el nodo de Interpolación de Acondicionamiento de PixelSmile en ComfyUI por sus contribuciones y mantenimiento. Para obtener detalles autorizados, consulte la documentación y los repositorios originales vinculados a continuación.
Recursos
- r/StableDiffusion/Source post
- Documentos / Notas de lanzamiento: Publicación de Reddit
- PixelSmile/PixelSmile
- Hugging Face: PixelSmile/PixelSmile
- judian17/ComfyUI-PixelSmile-Conditioning-Interpolation
Nota: El uso de los modelos, conjuntos de datos y código referenciados está sujeto a las respectivas licencias y términos proporcionados por sus autores y mantenedores.


