Como corrigir mãos de IA estragadas no ComfyUI com inpainting do Flux

Mascare uma mão quebrada, deixe o Flux redesenhá-la em resolução maior com o SEGS detailer e use uma pintura rápida por cima para os casos mais difíceis. Inclui os valores de denoise que funcionam.

Anton Tenitsky13 de outubro de 20265 min de leituraVersão em vídeo abaixo

Este guia foi traduzido do inglês com IA e pode conter erros. Leia o original.

Uma guerreira ruiva segurando um sabre de luz vermelho com as duas mãos, as mãos redesenhadas com inpainting do Flux

As mãos de IA ainda são um problema com modelos de código aberto. Este fluxo as corrige uma imagem por vez: você pinta uma máscara grosseira sobre a mão ruim, e o Flux redesenha só essa área em resolução maior. O Flux é o melhor modelo de código aberto que usei para isso, até em casos realmente complicados como duas mãos envolvendo um sabre de luz.

A imagem que corrijo aqui foi renderizada com o SDXL e depois passada por esta configuração do Flux. Para corrigir uma pasta inteira automaticamente, veja a versão em lote: corrija automaticamente rostos e mãos de IA.

Em resumo

  • Máscara: pinte a mão quebrada à mão no editor de máscaras do ComfyUI. Uma máscara grosseira basta.
  • Recortar e ampliar: a área mascarada vira um segmento e é re-renderizada a 512 px.
  • Ajustes: denoise 0,6–0,75, prompt «two hands, five fingers».
  • Casos difíceis: apague primeiro os dedos estranhos pintando, no Photoshop ou no Photopea gratuito.
  • Rode de novo algumas vezes. Cada execução leva cerca de 16 segundos depois que o Flux está carregado.

Por que as mãos quebram

O problema são os pixels. Se você renderiza um close, a mão cobre muitos pixels e sai bem. Afaste para um corpo inteiro, e a mão encolhe para uma mancha pequena e borrada onde o modelo começa a improvisar dedos.

Um super-herói agachado de uniforme preto num telhado, com as mãos renderizadas em baixa resolução
Um render de corpo inteiro: as mãos recebem pouquíssimos pixels. (Nenhuma correção aplicada a esta.)

Então a correção é recortar a mão, ampliá-la e renderizá-la de novo com o Flux, e depois colocá-la de volta.

1. Carregue a imagem e pinte uma máscara

Carregue a imagem, clique com o botão direito e abra o editor de máscaras. Pinte por cima da mão de forma grosseira; não precisa estar caprichado. Salve, e a imagem passa a ter uma máscara.

O nó Load Image com uma imagem de sabre de luz carregada, usado para pintar a máscara
Carregue a imagem e pinte sobre a mão no editor de máscaras.

Esta é a versão manual: você escolhe a área. Funciona para qualquer coisa que queira redesenhar, não só mãos. Um pé, por exemplo.

2. Transforme a máscara num segmento

O Masks to SEGS (do Impact Pack) transforma a máscara num segmento. É a etapa importante, porque o nó Detailer (SEGS) então escala essa área pequena até 512 pixels antes de renderizá-la. Uma mão minúscula ganha a resolução de um close.

O nó Masks to SEGS conectado ao detailer
Masks to SEGS: a mão mascarada vira um segmento que o detailer pode ampliar.

3. Conecte o Flux ao detailer

O detailer recebe as mesmas entradas de uma geração normal do Flux:

  • Load Diffusion Model: Flux dev, na entrada de modelo do detailer.
  • VAE: o VAE do Flux.
  • DualCLIPLoader: os dois codificadores de texto do Flux. O Flux precisa dos dois.
  • Prompt positivo pelo Flux Guidance: «two hands, five fingers» guia o redesenho. Mude para qualquer outra coisa (no começo eu tinha deixado um prompt de rosto, de outro trabalho). O prompt negativo fica vazio; o Flux não precisa de um.
O nó de prompt positivo no fluxo de correção de mãos
Um prompt curto e específico: «two hands, five fingers».

4. Os ajustes que importam

O nó Detailer SEGS com os ajustes de guide size, steps e denoise
O detailer. O denoise é o ajuste que decide o resultado.
  • Guide size: 512 por padrão. Suba para 1024 para ainda mais resolução, ao custo de tempo.
  • Steps: suba para qualidade, baixe para velocidade.
  • O denoise é o mais importante. Define quanto da área original é substituído por ruído novo. Abaixo de 0,5, o modelo inventa algo sem relação (um balde de metal ou outra cabeça no lugar da mão). Baixo demais, e ele mantém a sua mão antiga e feia. De 0,6 a 0,75 funcionou para mim.

Um rgthree image comparer mostra o antes e o depois.

O truque de pintar por cima para casos difíceis

Às vezes uma mão não se corrige: um dedo extra sobrevive, porque durante o denoising o modelo borra aquela área mas ainda vê algo com forma de dedo ali, e o redesenha. Até o Flux erra isso.

A solução leva um minuto: apague primeiro a forma estranha pintando. No Photoshop, ou no Photopea, um editor online gratuito que funciona do mesmo jeito, raspe o dedo extra ou encurte um estranho. Depois mascare no ComfyUI e rode de novo.

Um close de uma mão gerada com dedos abertos e estranhos, aberta no Photoshop
Mãos assim, com dedos estranhos e abertos, são as que vale a pena pintar por cima primeiro.
A outra mão da mesma imagem sendo pintada por cima no Photoshop
Trabalhando na outra mão: raspando as formas que confundiriam o modelo.

Formas muito estranhas causam a maior parte das falhas, então esse pequeno passo ajuda imensamente.

Rode, e rode de novo

A primeira execução é lenta enquanto o Flux carrega (cerca de um minuto). Depois disso, uma correção levou cerca de 16 segundos, então rode muitas vezes. Meu primeiro resultado foi melhor que o original, mas não perfeito: a mão de baixo estava um pouco quebrada. Depois de mais algumas execuções, as mãos saíram realmente boas, segurando um sabre de luz com duas mãos entrelaçadas. Não acho que nenhuma configuração do SDXL conseguiria isso.

A imagem final com as duas mãos segurando corretamente o sabre de luz
Depois de algumas execuções: duas mãos segurando o sabre de luz de forma convincente.

Os resultados são salvos na pasta de saída do ComfyUI.

Sem GPU para o Flux?

Este fluxo está no RunComfy, pronto para rodar no navegador, com minutos de teste gratuitos. Você mascara a mão exatamente como faria localmente. Eu pagava o RunComfy em blocos de 20 a 30 minutos; hoje rodo esse tipo de trabalho no RunPod (veja minha introdução ao RunPod). O fluxo, junto com os meus outros, também está no meu Patreon.

O link do RunComfy é um link de indicação, assim como meu link de indicação do RunPod: novas contas do RunPod que se cadastram com o Google ganham de US$ 5 a US$ 500 em crédito após seus primeiros US$ 10, e eu recebo uma pequena comissão.

Assista à versão em vídeo (7:14)

Tudo o que está acima também está no vídeo, se você preferir acompanhar na tela. O vídeo está em inglês.

Perguntas frequentes

Qual o melhor modelo de código aberto para corrigir mãos de IA?

O Flux. Ele lidou com mãos que o SDXL não conseguia, como duas mãos envolvendo o cabo de um sabre de luz.

Que valor de denoise devo usar para corrigir mãos?

Entre 0,6 e 0,75. Abaixo de 0,5 o modelo cria algo aleatório naquele ponto; baixo demais e ele mantém a mão antiga e quebrada.

Por que as mãos saem quebradas, para começar?

Poucos pixels. Numa imagem de corpo inteiro a mão é minúscula. Recortá-la e renderizá-la a 512 pixels dá ao modelo espaço para desenhá-la direito.

E se a correção ainda tiver um dedo extra?

Apague o dedo extra pintando antes de mascarar, no Photoshop ou no Photopea gratuito, e rode de novo. Formas estranhas confundem até o Flux.

Anton Tenitsky é artista 3D com mais de 15 anos em computação gráfica, que trabalhou com Nickelodeon, Gameloft, Marvel Rivals e muitos outros clientes. Mais sobre mim

Guias relacionados