Skip to content

tiagolvl/StableDiffusionKit

Repository files navigation

Stable Diffusion

Email: [email protected]

Interfaces

Badge comfyUI Badge comfyUImanager Badge automatic1111 Badge easydiffusion

Modelos

Badge diffusionmodels Badge optimizedcontrolnetmodels

Lista de modelos recomendados

Material sobre stable diffusion

Badge SDmaterials Badge goodprompts Badge controlnetguide

Exemplo de Imagem

Interfaces para Rodar Stable Diffusion Localmente

Existem diversas interfaces que facilitam o uso e personalização de modelos de Stable Diffusion localmente.

AUTOMATIC1111

AUTOMATIC1111 é uma interface web amplamente utilizada para Stable Diffusion, que permite a criação de imagens a partir de textos de maneira rápida e prática. A interface inclui uma série de funcionalidades e extensões, como suporte para ControlNet, Inpainting e ajuste fino de parâmetros para geração de imagens. Ela é conhecida por sua ampla comunidade e por disponibilizar atualizações frequentes que expandem suas capacidades e modelos suportados.

ComfyUI

ComfyUI é uma interface gráfica modular e personalizável para pipelines de IA generativa, com foco em Stable Diffusion. Ela facilita a criação e execução de workflows complexos através de uma interface de blocos, onde cada nó representa uma operação ou módulo de IA, como geração de imagem, ajuste fino de parâmetros, pós-processamento e muito mais. Com essa abordagem visual, ComfyUI oferece uma maneira poderosa e intuitiva para configurar diferentes pipelines sem a necessidade de codificação direta.

Stable Diffusion - Exemplos e Notebooks

Este repositório contém dois notebooks para rodar Stable Diffusion:

  1. Notebook Local: Para rodar Stable Diffusion 1.4 em uma GPU com 6GB de VRAM.
  2. Notebook Google Colab: Para gerar imagens com a ferramenta txt2img diretamente no Google Colab.

Mais informações estão disponíveis no PDF incluído no repositório.

Os notebooks podem ser executados sem a necessidade de instalar dependências adicionais.

Notebooks

Stable Diffusion Local

Notebook simples para execução local de Stable Diffusion.

Stable Diffusion Colab

Notebook para rodar a geração de imagens (txt2img) no Google Colab.

AUTOMATIC1111 Colab

Notebook para rodar o AUTOMATIC1111 no Google Colab. Observação: Pode ser instável sem o uso da versão paga.

Notebook para rodar automatic 1111 pelo google collab. (Instavel sem versão paga)

Melhoria de Resultados no Stable Diffusion

Mais detalhes sobre a otimização de prompts e geração de imagens estão explicados no PDF disponível. Além disso, recomendamos a leitura deste guia de prompts para obter melhores resultados.

Estrutura de um Prompt

Ao criar um prompt no Stable Diffusion, as palavras-chave podem ser classificadas nas seguintes categorias:

  • Subject: O objeto principal da imagem. Quanto mais detalhes, melhor.
  • Medium: O tipo de material usado para gerar a imagem (fotografia, arte digital, etc.).
  • Style: O estilo artístico desejado (realista, surrealista, etc.).
  • Artist: Referência ao estilo de um artista específico.
  • Plataform/Website: Referências de sites como ArtStation ou Pinterest.
  • Resolution: Palavras que ajudam a melhorar a qualidade da imagem (4K, alta definição).
  • Additional details: Características ou adjetivos que definem a imagem.
  • Color: Para controlar o esquema de cores da imagem.
  • Lighting: Iluminação é essencial para a composição da imagem (luz de estúdio, luz natural, etc.).

Category Sugestão de palavras
Subject character, city, creature, landscape
Medium illustration, digital art, oil painting, photography
Style realistic, surrealist, hyperrealism, fantasy
Artist Van Gogh, Greg Rutkowski
Website Pinterest, Behance, Artstation
Resolution high detailed, 4K, 8K, sharp focus
Additional Details epic, mystical, dark, futuristic
Color iridescent gold, red, blue, teal
Lighting cinematic lighting, soft lighting, rim lighting, studio lighting

Uma lista mais abrangentes de palavras pode ser encontrada em prompt_suggestions.md

Prompt Negativo

No Stable Diffusion, você pode adicionar um "prompt negativo" para evitar certos elementos na imagem. Um exemplo de prompt negativo universal é:

ugly, tiling, poorly drawn hands, poorly drawn feet, poorly drawn face, out of frame, extra limbs, disfigured, deformed, body out of frame, bad anatomy, watermark, signature, cut off, low contrast, underexposed, overexposed, bad art, beginner, amateur, distorted face, blurry, draft, grainy, title, text

ou

((((ugly)))), (((duplicate))), ((morbid)), ((mutilated)), out of frame, extra fingers, mutated hands, ((poorly drawn hands)), ((poorly drawn face)), (((mutation))), (((deformed))), ((ugly)), blurry, ((bad anatomy)), (((bad proportions))), ((extra limbs)), cloned face, (((disfigured))), out of frame, ugly, extra limbs, (bad anatomy), gross proportions, (malformed limbs), ((missing arms)), ((missing legs)), (((extra arms))), (((extra legs))), mutated hands, (fused fingers), (too many fingers), (((long neck)))

Peso das Palavras-chave

O peso de cada palavra no prompt pode ser ajustado para dar mais ou menos ênfase, usando a seguinte sintaxe:

  • (keyword:factor) para aumentar ou diminuir a importância.
  • Parênteses extras (()) ou colchetes [[]] podem aumentar ou diminuir o peso cumulativamente por 1.1x e 0.9x respectivamente:
Sintaxe Peso Aplicado
(keyword) 1.1x
((keyword)) 1.21x
(((keyword))) 1.33x
[keyword] 0.9x
[[keyword]] 0.81x
[[[keyword]]] 0.73x

Modelo utilizado

Por se tratar de uma modelo open-source, a comunidade do Stable Diffusion criou centenas de modelos personalizados. Estes possuem forte influência nos resultados obtidos por um prompt e podem ajudar muito quando se procura gerar um tipo específico de imagem (anime, hq, pintura, fotografia, etc.). Dois sites que podem ser visitados para encontrar modelos são o hugging face e o civtai. Alguns modelos populares são:

Sampler

Os samplers controlam o ruído em cada step da geração e afetam diretamente o resultado final da imagem. Uma explicação técnica pode ser encontrada aqui. Veja abaixo uma comparação entre diferentes samplers:

Técnicas Adicionais no Stable Diffusion

Inpainting

Inpainting permite alterar partes específicas de uma imagem. Veja mais informações sobre essa técnica aqui.

Exemplo de inpainting

ControlNet

O ControlNet ajuda a guiar a geração da imagem com base em uma entrada específica. Um tutorial completo sobre o uso do ControlNet está disponível aqui.

A melhor opção para executar o ControlNet é pelo automatic1111. A explicação completa de como fazer isso pode ser encontrada aqui. Os modelos otimizados do ControlNet (necessários para rodar com 4GB de VRAM) podem ser encontrados aqui. É importante ressaltar que dependendo dos modelos utilizados, podem ocorrer problemas de memória, por isso é recomendado utilizar o “webui-user.bat” para lowvram disponível no repositório.

ControlNET Poses for openPose

LoRA

Permite incluir novos conceitos sem treinar a rede neural. Uma breve explicação sobre LoRAs pode ser encontradas aqui.

Sem LoRA:

LoRA estilo ghibli:

About

Material sobre stable diffusion organizado para uso didático

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published