Como usar IA para gerar e modificar imagens com texto

Jéssica Ramos
gsgcommunity
Published in
5 min readDec 5, 2022

Você já deve ter visto por aí nas redes sociais imagens criadas ou modificadas por inteligência artificial. Com a divulgação do DALLE 2, muito se falou sobre as imagens incríveis geradas com base em apenas um texto dado pelo usuário.

Original outpainting by Emma Catnip (link)

Não sei você, mas eu acho muito incrível esse tipo de demonstração. Me surpreende muito o quanto a inteligência artificial já é capaz de fazer. E se você é uma pessoa curiosa como eu, certamente quis fazer seus próprios testes. Pois bem, o objetivo desse post é te ensinar como gerar imagens com base em texto ou modificar imagens usando o Stable Diffusion e o DALL-E.

Stable Diffusion demo (link)

O que são modelos de difusão?

Modelos de difusão são modelos capazes de gerar imagens com base numa entrada de texto dada pelo usuário. Esses modelos são treinados para gerar dados similares àqueles da sua base de dados de treino.

Os modelos de difusão são compostos de duas “partes”:

  • A primeira parte é responsável pela “destruição” do dado de treino, sucessivamente adicionando ruído à imagem;
  • A segunda parte é responsável pela tarefa reversa, ou seja, recebe a imagem “destruída” pela aplicação dos ruídos e tenta recuperar a imagem original.

Durante a etapa de treino, o modelo aprende a gerar as imagens da base de treino dada uma entrada que é basicamente apenas ruído.

Depois do treino, podemos usar o modelo de difusão para gerar novos dados simplesmente passando ruído amostrado aleatoriamente à parte que aprendeu a tarefa de remoção.

Exemplo do processo de treino de um modelo de difusão. A seta acima representa a tarefa de adição de ruído à imagem sucessivamente. A seta abaixo representa o objetivo do modelo de difusão, saindo de uma imagem que é puro ruído para a imagem original. (link)

Esse post (em inglês) contém mais detalhes sobre o funcionamento desse tipo de modelo, caso você tenha interesse em saber mais.

Stable Diffusion

O Stable Diffusion é um modelo da Stability AI, lançado em 2022, capaz de gerar imagens fotorrealísticas dado um input de texto. O Stable Diffusion pode ser testado no Hugging Face usando esse link.

Model Card do Stable Diffusion no Hugging Face

Ao abrir essa página você verá, do lado esquerdo, o model card com detalhes sobre o modelo e seu funcionamento. E na direita você verá um espaço para utilizar a API de inferência. Basta digitar um texto (em inglês) e clicar em “Compute” para gerar uma imagem em poucos segundos.

Quanto mais específico você for no texto digitado, melhor a imagem tende a ficar. Sinta-se a vontade para mencionar personalidades, estilos, formatos, cores, e tudo mais que você conseguir pensar.

Imagem gerada no Stable Diffusion com o texto “a drawing of dogs playing in a park”
Imagem gerada no Stable Diffusion com o texto “a painting of a robot in a crowd”

Como gerar imagens no meu computador?

Se você preferir rodar testes no seu próprio computador, os autores também disponibilizam este repositório com os códigos necessários. Este tutorial do Assembly AI (em inglês) descreve um passo a passo simples para executar o código no Ubuntu. Você vai precisar de uma GPU, e também do Python e Git instalados na sua máquina.

Pelo código do repositório também é possível usar o Stable Diffusion para modificar imagens que já existem usando um texto dado pelo usuário. Essa funcionalidade pode ser interessante para transformar um esboço em uma imagem cheia de detalhes.

Exemplo de modificação de uma imagem usando o Stable Diffusion

DALL-E

O DALL-E é outro modelo que ficou muito famoso esse ano com o lançamento da sua versão 2. Ele também é um modelo de difusão criado pela OpenAI e que pode ser acessado por meio do site da empresa.

Página inicial do site do DALL-E

O uso do DALL-E não é completamente gratuito. Ao se registrar no site, você ganha 50 créditos para utilizar no primeiro mês. A partir do segundo mês, você ganha 15 créditos a cada mês e é possível comprar mais créditos. Cada frase (em inglês) utilizada gera 4 imagens diferentes e consome 1 crédito. Todo o seu histórico de imagens geradas também fica salvo no seu usuário.

Imagem gerada no DALL-E com o texto “an astronaut on the moon looking at the sky, digital art”
Imagem gerada no DALL-E com o texto “a painting of a fox in the style of Starry Night”

Além de gerar imagens, você pode fazer upload de imagens que podem ser ampliadas usando instruções de texto. Fazendo o upload de uma imagem do quadro Noite Estrelada de Van Gogh, por exemplo,é possível expandir a imagem. Basta clicar no botão “upload an image” e depois escolher a opção “Edit”.

Quadro “Noite Estrelada” editado com o texto “a view of the city at night”

O site também oferece um botão “Surprise me” que sugere textos para você, caso precise de alguma inspiração.

Exemplo de imagens geradas via sugestão do DALL-E

Quem avisa amigo é!!

Pra finalizar, quero te lembrar que é importante ter atenção aos dados que são compartilhados. Evite fazer upload de imagens do seu rosto ou de outras pessoas nesses e em outros sites de geração de imagens, por mais legal que seja ter um avatar gerado com base na sua foto. Na maioria das vezes, ao enviar uma imagem para um app ou site, você dá à empresa dona autorização para usar a sua imagem em praticamente qualquer coisa. Fique atento aos termos de uso e projeta seus dados sensíveis, beleza?

Espero que você tenha gostado desse post! Se quiser entrar em contato comigo, você consegue me achar no LinkedIn e no Twitter.

--

--

Jéssica Ramos
gsgcommunity

Statistician & Data Scientist interested in data visualization, machine learning, artificial intelligence, and computer vision.