C22: Dominando a composição com ControlNet no ComfyUI: guia passo a passo

Introdução

Um dos desafios comuns na geração de imagens por IA é alcançar uma direção de arte precisa. Embora os prompts possam guiar o estilo geral e o conteúdo de uma imagem, eles geralmente falham quando se trata de controlar detalhes de composição, como direção na tela ou posicionamento de objetos.

Neste artigo, veremos como o ControlNet pode ser usado nos fluxos de trabalho do ComfyUI para superar essas limitações. Ao aproveitar os modelos ControlNet, você pode guiar a composição de suas imagens geradas usando entradas externas, como desenhos de linhas ou mapas de bordas. Essa abordagem permite alcançar um grau maior de controle e precisão em seu processo de geração de imagens.



O problema: limitações dos prompts na composição

Vamos considerar um exemplo: gerar uma imagem de um cachorro olhando para a direita da tela. Mesmo com um prompt cuidadosamente elaborado especificando “facing screen right,” a imagem gerada pelo modelo de difusão Juggernaut XL não atende a esse requisito. Em vez de olhar para a direita da tela, o cachorro olha para a esquerda.

Esse resultado destaca uma limitação importante: modelos de difusão e codificadores de texto geralmente têm dificuldade para entender prompts espaciais ou direcionais. A única alternativa seria tentar aleatoriamente diferentes seeds até chegar à composição desejada — um processo demorado e ineficiente.


Apresentando o ControlNet

ControlNet oferece uma solução ao introduzir conditioning externo baseado em imagem no fluxo de trabalho. Ele funciona analisando uma imagem de referência e aplicando sua estrutura ou composição à saída gerada.

Os modelos ControlNet são projetados para funcionar com modelos de difusão específicos. Para este exemplo, usaremos o modelo controlnet-scribble-sdxl-1.0, que é compatível com o modelo de difusão refinado SDXL. O Scribble ControlNet aceita desenhos de linhas simples como entrada, o que o torna ideal para orientação aproximada da composição.


Como configurar o ControlNet no ComfyUI

Passo 1: Baixar e instalar o modelo ControlNet

  1. Baixe o modelo controlnet-scribble-sdxl-1.0 de xinsir/controlnet-scribble-sdxl-1.0 at main, o nome original é diffusion_pytorch_model.safetensors.
  2. Coloque o arquivo do modelo no seguinte diretório:/models/controlnet e renomeie-o para controlnet-scribble-sdxl-1.0.safetensors, você precisará reiniciar o ComfyUI para carregar o arquivo do modelo.

Passo 2: Construir o fluxo de trabalho

No ComfyUI, você precisará criar um fluxo de trabalho que integre o modelo ControlNet ao seu processo de geração de imagens.

Modelo original:

Siga estes passos:

1. Carregar o modelo ControlNet

  • Adicione um nó Load ControlNet Model.
  • Selecione o modelo controlnet-scribble-sdxl-1.0 na lista.

2. Apply ControlNet

  • Adicione um nó Apply ControlNet.
  • Desconecte o conditioning do nó KSampler e redirecione-o pelo nó Apply ControlNet.

3. Carregar a imagem de entrada

  • Adicione um nó Load Image.
  • Envie seu desenho de linhas (por ex., um esboço simples da composição desejada).
  • Conecte a imagem ao nó Apply ControlNet.

4. Completar as conexões

  • Conecte o modelo ControlNet ao nó Apply ControlNet.
  • Opcionalmente, conecte o VAE ao nó Apply ControlNet para completar (embora isso não afete os resultados neste caso).

Passo 3: Gerar a imagem

Depois de configurar o fluxo de trabalho, coloque-o na fila para gerar a imagem. O ControlNet guiará a composição com base no desenho de linhas enviado.

Esboço original:

O prompt que estou usando: nature photography, dog, standing on the grass, daylight, (bokeh:1.5)

Saída:


Resultados e refinamentos

Saída inicial

Usando o modelo ControlNet Scribble, o cão gerado agora segue a composição correta. No entanto, a influência do ControlNet é definida como máxima por padrão, o que pode levar a resultados pouco naturais se o desenho de entrada for impreciso ou excessivamente simplista.

Por exemplo, se o esboço enviado não tiver precisão anatômica, a imagem gerada pode parecer artificial ou distorcida.


Equilíbrio da influência do ControlNet

Para resolver isso, você pode ajustar os parâmetros de influência do ControlNet para equilibrar o desenho de entrada e o refinamento natural do modelo generativo. Isso permite que o modelo preencha detalhes ausentes, mantendo a composição desejada.


Tipos de modelos ControlNet

O ControlNet oferece várias versões, cada uma adaptada a casos de uso específicos:

  1. Scribble ControlNet: Aceita desenhos de linhas simples para orientação aproximada da composição.
  2. Canny ControlNet: Extrai detalhes de bordas de uma imagem de entrada para guiar a composição.
  3. Depth ControlNet: Analisa informações de profundidade para criar imagens com relações espaciais realistas.

Dependendo de suas necessidades, você pode escolher o modelo ControlNet apropriado para guiar seu fluxo de trabalho.


Aplicações práticas

O ControlNet é particularmente útil para:

  • Posicionamento preciso de objetos: Garantir que os objetos apareçam em locais ou orientações específicos.
  • Composições personalizadas: Alcançar layouts únicos que são difíceis de descrever usando apenas prompts de texto.
  • Direção artística: Combinar esboços ou referências externos com IA generativa para resultados criativos.

Conclusão

Usar o ControlNet em fluxos de trabalho do ComfyUI permite maior controle sobre a composição da imagem, superando as limitações da geração baseada em prompts. Ao integrar entradas externas, como desenhos de linhas, você pode guiar o posicionamento e a orientação de objetos com precisão.

Na próxima etapa, experimente equilibrar a influência do ControlNet para obter resultados naturalistas e visualmente atraentes. Seja trabalhando em projetos artísticos ou em tarefas de design específicas, o ControlNet abre novas possibilidades para a direção criativa na geração de imagens por IA.

Deixe um comentário