DEV Community

Cover image for Como criar boas imagens com Stable Diffusion
Rafael Nunes
Rafael Nunes

Posted on

Como criar boas imagens com Stable Diffusion

Para esse tutorial eu vou resumir a um categoria de criação desse aplicativo, a criação usando prompts para gerar imagens.
O promp é uma área que você coloca as palavras preferencialmente em inglês para uma imagem ser gerada. Sendo dividido entre promt e promt negativo. Se no prompt você coloca as coisas que você quer que apareça, no prompt negativo você coloca as coisas que você não quer!

Isso já ilustra bem o que você deve fazer, mas é bem complexo esse funcionamento e eu vou resumir em alguns tópicos para não gerar confusão.

ATENÇÃO!!
Esse post contem nudez artística gerada por inteligência artificial (um desenho) , se você se sente ofendido por esse categoria de conteúdo não recomendo que leia esse post.

Prioridade

A ordem de prioridade de um promt é feita da primeira palavra para última, se eu digitar:

a cyberpunk girl with white hair
Enter fullscreen mode Exit fullscreen mode

"a cyberpunk" terá mais prioridade do que o resto da frase. "girl" terá mais prioridade do que o resto da frase, mas menos prioridade do que "a cyberpunk". Isso significa que se eu colocar:

a girl cyberpunk with white hair
Enter fullscreen mode Exit fullscreen mode

Provavelmente terei resultados diferentes, isso mesmo, resultados.
O programa por padrão conta com uma certa aleatoriedade que se você não controla, toda vez que apertar o botão uma surpresa vai aparecer com a mesma frase.
E isso é ótimo, pois assim da margem para fazer várias experimentações com o mesmo promp.

Especificações

As especificações de um prompt podem ser divididas em 2 categorias.

  • ( parênteses )
  • { colchetes }

Enquanto os parênteses vão dar mais relevância em algo da fraze os colchetes vão fazer com que sejam menos relevantes.
A regra inicial ainda vale, mas isso pode mudar a forma com que o computador enxerga essas partes que você vai dar mais relevância.

a cyberpunk girl with (white hair)

a cyberpunk girl with ((white hair))

a (cyberpunk) girl with ((((white hair))))
Enter fullscreen mode Exit fullscreen mode

Na última eu dei tanta ênfase no cabelo branco que provavelmente alguns pontos do resto podem até ter passado despercebido na imagem gerada, isso pode destorcer o contexto e fazer com que as coisas fiquem diferentes do que você esperava. O oposto Também pode acontecer com as chaves, use-as com sabedoria.
Nos meus testes quando eu usava mais de 3 o contexto da frase começava a ficar deixado de lado pelo algoritmo. Então, você precisará achar um ponto que lhe agradar melhor e o mais importante; TESTAR BASTANTE!
Quanto mais específico e menos conhecido o que você colocar no prompt, mais chances você tem de não chegar no resultado esperado.

Resolução

Bem brevemente! Será possível você editar o tamanho da imagem antes que ela seja gerada. O tamanho que você definir, será de extrema importância para o resultado. Menos que 512 x 512 pixels ela fica com resultado bem ruim ou bem distorcido. Já 512 x 768 para meus testes é ótimo para gerar imagens de corpo todo. E com a resolução 1360 x 768 é excelente para gerar imagens que pegam paisagens.

A princípio eu pensei nesses tamanhos por ter relação direta com a tela que eu colocaria isso, simplesmente para ajustar e usar como plano de fundo, ou para postar em alguma rede social. Entretanto se você trocar a resolução, irá trocar o resultado.
No Stable Diffusion especificimente não dá pra aumentar a resolução depois da imagem criada, já ví outros que fezem mas eram pagos. Provavelmente existe algum software livre que seja capaz de aumentar a resolução se é o resultado que você deseja buscar, recomendo fazer uma busca por essa funcionalidade pois trocar o tamanho da imagem gerada retornará outra.

Configurações básicas

Com certeza você encontrará tutoriais bem mais detalhados sobre configurações. Entretanto existem algumas coisas que podem ser importantes configurar especialmente se você está usando a versão do Google Colab.

Settings stable diffusion

Upscaling

  • R-ESRGUN 4X+

    irá trazer traços mais realistas

  • R-ESRGUN 4X+ Anime 6b
    Irá trazer traços mais desenhados.

Face Restoration

A opção code former é bem interessante para trazer bons resultados para um rosto.
E na linha que vai de 0 a 1, me recomendaram preencher com 6, onde quanto maior o número mais precisos ficariam os traços do rosto. Experimente...

Stable Diffusion

O checkbox

  • [x] Emphasis: use (text) to make a model pay more atention to text and [text] to make it more pay less atention

Se não marcado irá fazer com que o que você coloque no prompt fique mais preciso, porém fica bem mais complicado de entender esse caminho. Por via das dúvidas deixe marcado.

Influências

Para conseguir fazer prompts melhores é bom que você analise o prompt de outras pessoas

Os dois são ótimos para começar, e você pode testar usando o rentry da seguinte forma:

a real (cyberpunk woman) with a white hair, Agnes Cecile

a real (cyberpunk woman) with a white hair, (Agnes Cecile)

a real (cyberpunk woman) with a white hair, ((Agnes Cecile))

a real (cyberpunk woman) with a white hair, ((Agnes Cecile)), Casey Baugh
Enter fullscreen mode Exit fullscreen mode

Repare que eu já até adicionei o nome de um segundo artista para colocar o nome de arte e isso fica sensacional

Primeira forma Segunda forma
Image description Image description

Criando imagens semelhantes.

Criar imagens semelhantes como o exemplo acima vai demandar um tipo de refinamento que controla um pouco essa aleatoriedade.
O Seed é a informação que permite que toda vez que você aperte o botão com o mesmo prompt gere uma imagem nova.

capturando o seed

É possível capturar esse seed da imagem que você gerou clicando no sinal verde quando ela é carregada, ao clicar no dado ela volta a ficar aleatória.
E também é possível pegar de uma imagem salva que você não tenha alterado a descrição.

00041-3430797675-a real (cyberpunk woman) with a white hair, Agnes Cecile.png

  • O primeiro bloco representa o número da foto, você pode usar esse valor para pesquisa-la na sua galeria caso goste dela ou tenha como referência.
  • O segundo valor é o Seed, esse que você preenche no campo Seed, para deixar a aleatoriedade gigantesca que o programa tem mais próxima do que você quer. Se deixar o padrão -1, cada imagem iá ser gerada com um Seed diferente, e vocẽ não irá conseguir controlar só com pequenas alterações no prompt.
  • Depois vem a descrição do prompt.

Agora você já sabe como fazer para gerar uma imagem semelhante. Existem algumas coisas que é bom relembrar que podem afetar essa igualdade. Tamanho da resolução, versão do programa, configurações, o sampler e os steps.
Os steps são a quantidade de passos que o programa vai ter para montar sua imagem.
Para rostos tenho conseguido bons resultados em torno de 20 a 35 steps, e para objetos extremamente detalhados próximo do máximo de 150, porém as descrições ficam muito específicas.

Segue imagens que eu adorei compor.

00101-3430797675-a real (cyberpunk woman) with a white hair and (((((big mamma))))), Agnes Cecile.png 00182-3430797675-a real ((cyberpunk girl)) with a (white hair) and (beautiful (large tits) naked), Agnes Cecile, Casey Baugh.png 00192-3430797675-a real (cyberpunk woman) with a white hair and (beautiful large tits naked), Agnes Cecile, Charlie Bowater, (Casey Baugh).png
oculos bacana  mulher cyberpunk Mulher cyberpunk description

Por último você irá poder testar bastante para atingir diversos tipos de personagens e alcançar seus resultados.

Top comments (0)