Inpainting
Aprenda inpainting e modificação de imagens no ComfyUI! Este guia aborda cabelo, roupas, características e muito mais usando o "segment anything" para edições precisas.

Altere cor do cabelo, penteado, peito, abdômen, roupas, etc.
Antes de começar a construir os nós, é útil estabelecer um fluxo de trabalho.
Por exemplo, se você quiser mudar a cor do cabelo, precisará destes dois passos:
Passo 1: Primeiro, o cabelo precisa ser identificado. Você pode escolher pintura manual ou reconhecimento automático.
Passo 2: Repintura parcial, modificando a área reconhecida.

Agora, vamos começar a construir os nós com base nesses passos.
Método 1: segment anything
Passo 1: Identificar o cabelo
I. Após enviar a imagem, adicione um nó 'segment anything'. Arraste o nó e carregue dois modelos correspondentes. Conecte a imagem ao nó, insira a área desejada para reconhecimento.

Adicione os nós:
GroundingDinoSAMSegment (segment anything): SAMLoader (Impact), GroundingDinoModelLoader (segment anything)
Parâmetros:
device_model: Preferir GPU
II. Para aumentar a precisão do reconhecimento da máscara, adicione outro nó 'segment anything' para identificar o rosto. Você pode usar o mesmo modelo anterior como entrada. Por fim, subtraia as duas máscaras usando 'mask-mask': máscara1 - máscara2 para obter partes precisas do cabelo.

Adicione os nós:
Bitwise(MASK - MASK)
*Quando encontrar áreas que não podem ser reconhecidas, você pode usar este método de subtração de máscaras.
III. Após obter a máscara, você pode realizar algum processamento nela. Por exemplo, aqui adicionamos 'GrowMask' e 'feathered mask' para expandir a máscara e suavizar as bordas, tornando a imagem final de inpainting mais natural.

Adicione os nós:
GrowMask
FeatheredMask
IV. Por fim, você pode adicionar um nó de visualização de máscara para ver o efeito final da máscara.

Adicione os nós:
Convert Mask to Image
Preview Image
V. Para facilitar a visualização, podemos organizar este grupo de nós juntos.

Passo 2: Repintura Parcial
I. Aqui, para o inpainting, usaremos o 'Set Latent Noise Mask' mencionado anteriormente, que fará referência à imagem original para o inpainting. Conecte os nós de máscara juntos.

Adicione os nós:
Set Latent Noise Mask
II. Em seguida, adicione o grupo de modelos. Siga o Img2Img, adicione prompts de modelos, sampler e, por fim, VAE Decode. Depois, conecte o grupo de máscaras ao grupo de modelos.
*As imagens precisam ser codificadas para entrar no espaço latente para o inpainting.

III. Todas as linhas estão conectadas. Você pode inserir prompts conforme necessário, definir parâmetros relevantes, e o Denoising Strength máximo é 1.


Note que, ao fazer inpainting no rosto, é recomendável adicionar o nó FaceDetailer, que ajuda a aprimorar detalhes faciais. Conecte a entrada ao nó correspondente.
Adicione os nós:
FaceDetailer: UltralyticsDetectorProvider、SAMLoader (Impact)

Além disso, como só precisamos repintar o rosto e não subtrair duas máscaras, você pode selecionar o nó correspondente, pressionar Ctrl+B para ocultá-lo e então conectar os nós necessários.
Esse tipo de inpainting irá redesenhar todo o rosto, essencialmente fazendo parecer uma pessoa diferente. Sobre como obter diferentes expressões para a mesma pessoa, um tutorial mais detalhado será lançado depois. Por fim, podemos salvar este fluxo de trabalho para uso futuro.

Usando este método, podemos realizar muitos inpaintings com um clique.
Como Aumento de Seios com um clique, ganho de músculos com um clique, modificação facial com um clique, troca de roupas, penteado, etc.

Método 2: Yoloworldwodel ESAM
Capaz de extrair rapidamente um objeto específico, com reconhecimento relativamente menos preciso em comparação ao segment anything. Algumas partes (como o abdômen) podem não ser detectáveis. Pode ser usado em conjunto com mask-mask.
I. Primeiro, siga os mesmos passos do "segment anything" e integre o recurso de detecção automática do Yoloworld ESAM para identificar áreas que precisam ser redesenhadas. Tomando "ganho de músculos com um clique" como exemplo, como não é possível reconhecer diretamente as áreas que precisam de aumento muscular, a abordagem mask-mask é usada para obter as regiões de aprimoramento. Depois, processe as áreas mascaradas conforme necessário.

*Você pode aumentar a resolução da imagem original antes de começar.
Parâmetros importantes:
confidence_threshold: Precisão do reconhecimento. Um valor menor resulta em reconhecimento mais preciso.
iou_threshold: Grau de sobreposição das caixas delimitadoras. Um valor menor resulta em reconhecimento mais preciso.
mask_combined: Se deve sobrepor máscaras. Se "true", a máscara será combinada e exibida em uma única imagem. Se "false", a máscara será exibida separadamente.
II. Integre a máscara no nó "InpaintModelConditioning" para máscaras de inpainting. Os prompts só têm efeito nas áreas mascaradas. De acordo com o modo Img2Img, adicione modelo-prompt-sampler-decode-preview image.

III. Ajuste os parâmetros relevantes e clique em "Criar".

Aqui estão mais exemplos de Workflow do ComfyUI para sua inspiração.
Last updated