Repintado (Inpainting)

¡Aprende a hacer inpainting y modificar imágenes en ComfyUI! Esta guía te enseña cómo cambiar el cabello, la ropa, rasgos faciales y más, utilizando “segment anything” para ediciones precisas.

ComfyUI Redraw - Antes y Después

Cambia el color del cabello, el peinado, el pecho, los abdominales, la ropa, etc.

Antes de comenzar a construir los nodos, es útil establecer un flujo de trabajo.

Por ejemplo, si deseas cambiar el color del cabello, necesitarás estos dos pasos:

Paso 1: Primero, se debe identificar el cabello. Puedes elegir pintura manual o reconocimiento automático. Paso 2: Repintado parcial, modifica el área reconocida.

 ComfyUI Redraw - Proceso de cambio de color

Ahora, comencemos a construir los nodos basándonos en estos pasos.

Método 1: segment anything

Paso 1: Identificar el cabello

I. Después de subir la imagen, añade un nodo de 'segment anything'. Arrastra el nodo y carga dos modelos correspondientes. Conecta la imagen al nodo e introduce el área deseada para el reconocimiento.

ComfyUI Redraw - Segment Anything - Identificar el pelo

Añadir nodos:

GroundingDinoSAMSegment (segment anything): SAMLoader (Impact)

GroundingDinoModelLoader (segment anything) Parámetros: device_model: Preferentemente GPU

II. Para mejorar la precisión del reconocimiento de la máscara, añade otro nodo de 'segment anything' para identificar el rostro. Puedes usar el mismo modelo anterior como entrada. Finalmente, resta las dos máscaras usando 'mask-mask': máscara1 - máscara2 para obtener con precisión las partes del cabello.

ComfyUI Redraw - Segment Anything - Mejora la precisión del reconocimiento de máscaras

Añadir nodos:

Bitwise(MASK - MASK)

*Cuando se encuentren áreas que no pueden ser reconocidas, puedes usar este método de resta de máscaras.

III. Una vez obtenida la máscara, puedes procesarla. Por ejemplo, aquí añadimos 'GrowMask' y 'FeatheredMask' para expandir la máscara y suavizar los bordes, haciendo que el resultado final del inpainting sea más natural.

ComfyUI Redraw - Segment Anything - GrowMask y Feathered Mask

Añadir nodos:

GrowMask

FeatheredMask

IV. Finalmente, puedes añadir un nodo de previsualización de máscara para ver el efecto final.

ComfyUI Redraw - Segment Anything - Nodo de previsualización de máscaras

Añadir nodos:

Convert Mask to Image

Preview Image

V. Para una visualización más clara, podemos organizar este grupo de nodos.

ComfyUI Redraw - Segment Anything - Organiza juntos los nodos

Step 2: Repintado Parcial

I. Para el repintado, utilizaremos el nodo mencionado anteriormente 'Set Latent Noise Mask', que tomará la imagen original como referencia para el inpainting. Conecta los nodos de máscara entre sí.

ComfyUI Redraw - Partial Repaint - Establecer máscara de ruido latente

Añadir nodos:

Set Latent Noise Mask

II. A continuación, añade el grupo de modelos. Siguiendo Img2Img, añade los prompts del modelo, el sampler y finalmente VAE Decode. Luego, conecta el grupo de máscaras al grupo del modelo.

*Las imágenes necesitan codificarse para ingresar al espacio latente para el repintado.

ComfyUI Redraw - Partial Repaint - Añadir el Model Group

III. Todas las líneas están conectadas. Puedes introducir los prompts correspondientes según tus necesidades, establecer los parámetros relevantes, y la Denoising Strength máxima es 1.

ComfyUI Redraw - Partial Repaint - Establece los parámetros pertinentes
ComfyUI Redraw - Cambiar el color del pelo - Antes y después

Ten en cuenta que al repintar el rostro, es recomendable añadir el nodo FaceDetailer, que ayuda a mejorar los detalles faciales. Conecta la entrada al nodo correspondiente.

Añadir nodos:

FaceDetailer: UltralyticsDetectorProvider、SAMLoader (Impact)

ComfyUI Redraw - FaceDetailer

Además, como solo necesitamos repintar el rostro y no restar dos máscaras, puedes seleccionar el nodo correspondiente, presionar Ctrl+B para ocultarlo y luego conectar los nodos correspondientes.

Este tipo de inpainting volverá a dibujar todo el rostro, haciendo que se vea como una persona diferente. Sobre cómo lograr diferentes expresiones en la misma persona, se publicará un tutorial más detallado más adelante. Finalmente, podemos guardar este flujo de trabajo para uso futuro.

ComfyUI Redraw - Guardar flujo de trabajo

Usando este método, podemos lograr muchos repintados con un solo clic.

Como aumento de pecho con un clic, aumento muscular con un clic, modificación facial con un clic, cambio de ropa o peinado con un clic, etc.

ComfyUI Redraw - Cambiar el estilo de peinado - Antes y después

Método 2: Yoloworldwodel ESAM

Capaz de extraer rápidamente un objeto específico, con reconocimiento relativamente menos preciso en comparación con segment anything. Algunas partes (como el abdomen) pueden no ser detectables. Se puede usar junto con mask-mask.

I. Primero, sigue los mismos pasos que con "segment anything" e integra la función de detección automática de Yoloworld ESAM para identificar las áreas que necesitan ser repintadas. Tomando como ejemplo el “aumento muscular con un clic”, como no puede reconocer directamente las áreas que necesitan mejora muscular, se utiliza el enfoque de mask-mask para obtener las regiones a mejorar. Luego, se procesan las áreas enmascaradas según corresponda.

ComfyUI Redraw - Yoloworldwodel ESAM

*Puedes escalar la imagen sobre la imagen original antes de comenzar.

Parámetros importantes:

  • confidence_threshold: Precisión del reconocimiento. Un valor menor da un reconocimiento más preciso.

  • iou_threshold: Grado de superposición de las cajas delimitadoras. Un valor menor da más precisión.

  • mask_combined: Si se superponen las máscaras. Si es "true", la máscara se combinará y se mostrará en una sola imagen. Si es "false", se mostrará por separado.

II. Integra la máscara en el nodo "InpaintModelConditioning" para las máscaras de inpainting. Los prompts solo afectarán las áreas enmascaradas. Según el modo Imagen a imagen, añade modelo - prompt - sampler - decode - imagen de previsualización.

ComfyUI Redraw - InpaintModelConditioning

III. Ajusta los parámetros relevantes y luego haz clic en “Generar”.

ComfyUI Redraw - Aumento muscular - Antes y después

Aquí tienes más ejemplos de flujos de trabajo con ComfyUI para inspirarte.