C30: Artigo otimizado: mascaramento automático com Segment Anything

Introdução

No artigo anterior, aprendemos que o mascaramento automático é uma técnica essencial em fluxos de trabalho de edição de imagens, especialmente ao isolar objetos em primeiro plano dos fundos para tarefas como inpainting ou composição. Neste artigo, exploraremos como usar o Segment Anything Model (SAM 2) com o ComfyUI para automatizar o processo de mascaramento. Ao aproveitar nós e fluxos de trabalho personalizados, você pode definir máscaras com eficiência, suavizar bordas e substituir fundos.



Componentes principais do mascaramento automático

1. Instalar os pacotes de nós e modelos necessários

Para começar o mascaramento automático, você precisa instalar o seguinte:

  • Pacotes de nós:
    Use o Gerenciador do ComfyUI para pesquisar e instalar esses pacotes de nós. Depois de instalados, reinicie o ComfyUI.
  • Modelo SAM 2:
    • Baixe o sam2.1_hiera_base_plus-fp16 modelo do Hugging Face.
    • Coloque o modelo no ComfyUI/models/Sam2 diretório. Se o modelo não for instalado automaticamente, siga as etapas de instalação manual fornecidas na página do Hugging Face.

2. Configurar o fluxo de trabalho

Depois que as ferramentas necessárias estiverem instaladas, você pode criar um fluxo de trabalho para o mascaramento automático. Veja um guia passo a passo:

Carregar imagens

Comece carregando as imagens de primeiro plano e de fundo no ComfyUI usando os Load Image nós no ComfyUI. Verifique se a resolução da imagem é conhecida, pois ela é necessária para a segmentação.

Obter a resolução da imagem

Use o Get Image Size nó do pacote Essentials para extrair a largura e a altura das imagens carregadas. Conecte a saída do Load Image nó ao Get Image Size nó.

Definir as coordenadas de segmentação

Para especificar os pontos de segmentação:

  1. Adicione o Points Editor nó do pacote KJNodes.
  2. Conecte as saídas de imagem, largura e altura do Get Image Size nó ao Points Editor.
  3. Clique com o botão direito no Points Editor nó e escolha:
    • Converter widget em entrada para a largura e a altura.
    • Nova tela para criar uma tela em branco.
Carregar o modelo SAM 2
  1. Adicione o Download SAM 2 Model nó e verifique se os parâmetros do modelo estão definidos como:
    • Modelo: sam2_hiera_base_plus
    • Dispositivo: cuda
    • Precisão: floating.16
  2. Conecte a saída do nó carregador ao SAM 2 Segmentation nó.
Criar a máscara de segmentação
  1. Adicione o SAM 2 Segmentation nó.
  2. Conecte a imagem e as coordenadas (pontos positivos e negativos) do Points Editor nó ao nó de segmentação.
  3. Visualize a saída da máscara usando o Mask Preview nó do pacote Essentials.

3. Melhorar a qualidade da máscara

Suavizar as bordas com desfoque

Para refinar a máscara, use o Grow Mask with Blur nó do pacote KJNodes:

  1. Coloque o Grow Mask with Blur nó entre o SAM 2 Segmentation nó e o Image Composite Mask nó.
  2. Ajuste os seguintes parâmetros:
    • Raio de desfoque: defina como 2 para bordas mais suaves.
    • Valor de expansão: defina como 2 pixels para ampliar levemente a máscara.
  3. Use o Mask Preview nó para visualizar as alterações em tempo real.
Compor a máscara

Conecte a saída do Grow Mask with Blur nó ao Image Composite Mask nó. Isso permite substituir o fundo mantendo a integridade do objeto em primeiro plano.


4. Salvar a imagem final

Quando estiver satisfeito com a máscara e a substituição do fundo:

  1. Adicione um Save Image Extended nó para salvar a saída no disco.
  2. Verifique se o Queue Mode está definido como Queue.
  3. Desative o desvio do nó de salvamento usando Ctrl + B e coloque o fluxo de trabalho na fila para salvar a imagem.

Fluxo de trabalho de exemplo

Veja abaixo um exemplo da configuração do fluxo de trabalho:

1. Load Image Node → Get Image Size Node → Points Editor Node  
2. Download SAM 2 Model Node → SAM 2 Segmentation Node → Mask Preview Node  
3. Grow Mask with Blur Node → Image Composite Mask Node → Save Image Extended Node  


Aprimorar a precisão da máscara

Para garantir a precisão ideal da máscara:

  • Use o Points Editor nó para definir com precisão os pontos de primeiro plano e de fundo.
  • Experimente os valores de desfoque e expansão no Grow Mask with Blur nó para equilibrar a suavidade das bordas e a cobertura da máscara.

Referências

Deixe um comentário