Como usar difusão estável para criar GIFs e vídeos de IA

Uma câmera de vídeo, conforme ilustrado por Stable Diffusion.

O Stable Diffusion é capaz de gerar mais do que apenas imagens estáticas. Com algumas ferramentas integradas e uma extensão especial, você pode obter vídeos de IA muito legais sem muito esforço. Veja como gerar quadros para um GIF animado ou um arquivo de vídeo real com Stable Diffusion.

A difusão estável pode gerar vídeo?

Embora o filme gerado por IA ainda seja um campo incipiente , é tecnicamente possível criar algumas animações simples com Difusão Estável , seja como um GIF ou um arquivo de vídeo real. Porém, existem limitações.

Como o img2img facilita a geração de variações de uma imagem específica, o Stable Diffusion é adequado para criar rapidamente vários quadros para animações, principalmente as cíclicas. Pense nas chamas saindo de um incêndio, nas rodas de um carro girando ou na água espirrando em uma fonte. Um uso prático poderia ser dar um ambiente realista a algumas obras de arte de RPG:

Uma lareira acesa em uma taverna estilo Dungeons and Dragons.

Você pode até fazer vídeos baseados em imagens reais em vez de sintéticas. Aqui tirei a foto de uma planta sendo regada e, com alguns cliques, animei o fluxo de água:

Água sendo despejada em um vaso de planta.

Se você deseja animar um objeto para que ele se mova do ponto A ao ponto B, isso é uma tarefa difícil para a difusão estável (pelo menos por enquanto). Você provavelmente gastaria muito tempo ajustando prompts e configurações e, em seguida, analisando uma tonelada de resultados para encontrar os melhores quadros e colocá-los na ordem correta. Nesse ponto, você também pode usar o Adobe Illustrator e começar a animar manualmente.

Apesar disso, você pode fazer algumas animações simples e legais com uma configuração básica de Difusão Estável e outra ferramenta de sua escolha para unir os quadros em uma animação. Há também um projeto chamado Deforum que usa Stable Diffusion para criar animações “morphing” que parecem bastante interessantes. Ele reproduz um vídeo MP4 , portanto, nenhuma ferramenta externa é necessária e ainda permite adicionar áudio. Mostraremos o básico de ambos os métodos.

Para os fins deste artigo, presumiremos que você já instalou uma interface gráfica para Stable Diffusion , especificamente a UI da web Stable Diffusion do AUTOMATIC1111 . Comparado com a instalação de linha de comando padrão , torna a geração de imagens muito mais fácil e vem com uma série de ferramentas úteis e extras.

Animar uma imagem usando o Inpaint

Usando a ferramenta img2img Inpaint, você pode destacar a parte de uma imagem que deseja animar e gerar diversas variações dela. Em seguida, você os colocará em um GIF ou criador de vídeo e salvará os quadros como uma animação.

Etapa 1: obtenha uma imagem e seu prompt

Comece soltando uma imagem que deseja animar na guia Inpaint da ferramenta img2img. Se você ainda não tiver uma gerada, reserve um tempo para escrever um bom prompt para obter uma boa foto inicial. Você também pode importar uma imagem que você mesmo fotografou ou desenhou.

Se estiver importando uma imagem que não foi gerada com Stable Diffusion, você ainda precisará de um prompt apropriado para gerar variações, então clique em “Interrogate CLIP” na parte superior da página Img2Img. Isso irá gerar um prompt inicial com base no que o Stable Diffusion acha que sua imagem contém. Preencha o prompt adicionando quaisquer outros detalhes importantes.

Recomendado:  Como ativar o modo escuro tocando na parte de trás do seu iPhone

Para o nosso guia, geramos uma imagem de 512×512 de um robô sob um céu noturno que queremos dar uma espécie de animação de lapso de tempo, com estrelas cadentes e galáxias passando.

Um robô parado em um campo sob um céu estrelado.

Se quiser acompanhar com precisão, você pode recriá-lo com o prompt que usamos:

um robô está em um campo olhando para o céu noturno durante uma chuva de meteoros, estrelas cadentes, galáxias, o cosmos, via Láctea, ultra realista, altamente detalhado, 4k uhd

E estas são as configurações que usamos:

Ponto de verificação: difusão estável 2.0

Método de amostragem: DPM++ SDE

Etapas de amostragem: 20

Escala CFG: 5

Semente: 4177542269

Etapa 2: mascarar as peças a serem animadas com o InPaint

Com sua imagem e prompt no lugar, na ferramenta Inpaint, use o pincel para mascarar (encobrir) cada parte da imagem que deseja animar. Deixe descoberto tudo o que você deseja estático.

Em nosso exemplo, estamos cobrindo a maior parte do céu. Deixamos um pouco de almofada ao redor do robô porque em nossos testes, se chegássemos muito perto, o Stable Diffusion às vezes adicionava antenas e outros apêndices ao robô.

Um robô parado em um campo sob um céu estrelado.

Você pode ajustar o tamanho do pincel Inpaint com um controle deslizante clicando no botão do pincel no canto superior direito da tela.

Etapa 3: gere seus quadros

Agora que você mascarou cada parte da sua imagem que deseja ver em movimento, é hora de gerar os frames da nossa animação. Mas primeiro, você vai querer ter certeza de que img2img tem as configurações corretas. Eles podem ser confusos, então explicaremos o que alguns deles significam e por que você pode ou não querer ajustá-los:

  • Modo Máscara: Inpaint Masked – Isso garante que tudo coberto seja alterado e não o contrário. Se, por algum motivo, você quiser modificar a parte não mascarada, altere-a para “Inpaint Not Masked”.
  • Conteúdo mascarado: Original – Isso garante que o Stable Diffusion verá e levará em consideração a imagem existente ao gerar variações. Caso contrário, considerará o conteúdo mascarado uma tela em branco ou aleatória.
  • Área de pintura: imagem inteira – Isso força o Stable Diffusion a gerar uma imagem totalmente nova para cada quadro antes de integrá-la à imagem original. Mudar para “Somente mascarado” pode acelerar a geração, mas também pode gerar resultados piores.
  • Método de amostragem: DPM++ SDE – Este é o mesmo método de amostragem que usamos para gerar nossa imagem original, e vamos mantê-lo para garantir uma aparência consistente. Se você não sabe o que usar, “Euler a” é uma boa escolha.
  • Contagem de lote: 60 – É quantas imagens você deseja gerar. Você pode precisar de mais ou menos dependendo de quão rápido e longo você deseja que sua sequência de animação seja.
  • Escala CFG: 5 – A escala CFG, em certo sentido, determina quanta liberdade criativa o Stable Diffusion possui. Quanto maior o número, mais estritamente a Difusão Estável tentará seguir seu prompt. Aumentá-lo e obter bons resultados exige um prompt muito bom.
  • Força de remoção de ruído: 0,3 – Possivelmente a configuração mais importante para este projeto, a escala de remoção de ruído determina o quanto a Difusão Estável alterará a imagem original. Você provavelmente deseja mantê-lo em torno de 0,2 ou 0,3, já que muitas alterações quadro a quadro podem arruinar a animação.
  • Semente: -1 – Diz ao Stable Diffusion para começar com uma semente aleatória. Não recomendamos reutilizar a semente da sua imagem original, pois isso reduz a quantidade de variação que você obterá (se houver).

Com todas as configurações definidas, clique em “Gerar” e relaxe enquanto o Stable Diffusion desenha os quadros de animação para você. Você os encontrará na /outputs/img2img-imagespasta do diretório Stable Diffusion. Se você não gostar dos resultados, ajuste as configurações (provavelmente começando com a intensidade da remoção de ruído e as etapas de amostragem) e tente novamente.

Recomendado:  Emulação do Nintendo Switch: o que você precisa saber

Etapa 4: aprimore seus quadros em lote (opcional)

Se você planeja criar um vídeo de alta definição, lembre-se de aumentar todos os quadros recém-gerados para a resolução desejada. Clique em “Enviar para Extras” para começar.

Clique

Dentro de Extras, mude para a guia “Processo em lote”.

Na guia Extras, mude para Processamento em lote e clique em

Ajuste a escala “Redimensionar” para o número de vezes que deseja redimensionar (definir como 2 mudará imagens de 512×512 para imagens de 1024×1024). Alternativamente, mude de “Dimensionar por” para “Dimensionar para” e defina uma resolução específica. Defina também “Upscaler 1” para o upscaler de sua escolha. Tivemos resultados bons o suficiente com R-ESRGAN 4x+, mas sinta-se à vontade para experimentar para ver qual lida melhor com suas imagens.

Ajuste as configurações de upscaling e clique em Gerar.

Em seguida, clique em “Gerar” e o Stable Diffusion lhe dará uma versão em alta resolução de cada quadro, salva em sua /outputs/extraspasta.

Etapa 5: anime os quadros em um GIF ou criador de vídeo

Agora que você tem seus quadros, é hora de juntá-los e criar sua animação final. Existem muitas ferramentas com as quais você pode fazer isso, incluindo sites gratuitos dedicados, como Ezgif e Flixier , que são fáceis de usar e possuem muitos controles de ajuste fino. No entanto, lembre-se de que esses sites podem ver tudo o que você envia, portanto, não forneça nada que o mundo não saiba que você não se sinta confortável.

Embora esses sites sejam bastante autoexplicativos, demonstraremos como você usa uma ferramenta gratuita de edição de fotos off-line, GIMP , para criar um GIF. Se você quiser um arquivo de vídeo, use o Kdenlive ou um editor de vídeo semelhante – apenas certifique-se de ajustar as configurações para que todos os seus quadros sejam importados como clipes de um segundo ou menos, dependendo de quantos quadros por segundo você deseja.

Para começar, baixe o GIMP e instale-o em seu computador, caso ainda não o tenha feito. Inicie-o e vá em Arquivo > Abrir como camadas.

Clique

Descubra onde estão os quadros que você gerou e selecione todos eles de uma vez antes de clicar em “Abrir”. (Segure a tecla Shift para selecionar vários arquivos rapidamente.) O GIMP importará todas as suas imagens como uma camada separada em uma tela. Queremos isso porque a forma como a geração de GIF do GIMP funciona é passando por cada camada de baixo para cima, tratando cada camada consecutiva como o próximo quadro da animação.

Agora é a parte divertida. Para assistir a uma prévia do seu GIF, vá em Filtros > Animação > Reprodução.

Clique em Filtros e, em Animação, clique

Pressione a barra de espaço para reproduzir e pausar o GIF. Se os quadros passarem muito rápido ou devagar, ajuste o FPS na parte inferior da caixa de diálogo de reprodução e clique no botão Atualizar na parte superior para recarregar a visualização com a nova taxa de quadros.

Clique na caixa suspensa FPS para alterar a taxa de quadros por segundo e, em seguida, no botão Atualizar para regenerar a visualização do GIF.

Assim que a animação parecer boa para você, é hora de gerar o arquivo GIF. Feche a visualização e clique em Arquivo > Exportar como. Ao digitar o nome para salvar o arquivo, adicione a .gifextensão ao final para que o GIMP saiba que você deseja um GIF.

Um robô parado em um campo sob um céu estrelado.

Na caixa de diálogo de exportação de GIF que aparece, certifique-se de que a caixa “Como animação” esteja marcada. Ajuste também o número de milissegundos entre os quadros se desejar uma taxa de quadros diferente. Existem 1000 milissegundos em um segundo, então 100 darão cerca de 10 FPS. Por fim, clique em “Exportar”.

Um robô parado em um campo sob um céu estrelado.

Boom, você tem seu GIF animado completo.

Um robô sob o céu noturno.

Gere um vídeo usando Deforum

Se você quiser criar animações mais interessantes com Stable Diffusion e fazer com que ele produza arquivos de vídeo em vez de apenas um monte de quadros para você trabalhar, use Deforum . É um projeto de síntese de imagem com uma extensão disponível para UI web Stable Diffusion que permite direcionar e gerar arquivos de vídeo MP4, mesmo com áudio. É uma ferramenta muito poderosa e complexa, com muitas configurações para experimentar, incluindo movimentos panorâmicos e zooms da câmera, vários prompts e importação de vídeo.

Recomendado:  Como jogar 'Super Smash Bros. Melee' online (com Slippi)

Para nossos propósitos, apresentaremos apenas o básico para gerar uma animação bastante simples, mas interessante.

Etapa 1: Instale a extensão Deforum

Para obter a extensão Deforum , abra um prompt de comando e altere os diretórios para sua stable-diffusion-web-uipasta. Em seguida, use este comando git clone para instalar o Deforum na pasta de extensões.

clone do git https://github.com/deforum-art/deforum-for-automatic1111-webui extensions/deforum

Inicie a interface da web do Stable Diffusion normalmente e abra a guia Deforum que agora está em sua interface.

A extensão Deforum vem pronta com padrões definidos para que você possa clicar imediatamente no botão “Gerar” para criar um vídeo de um coelho se transformando em um gato, depois em um coco e depois em um durião. Muito legal!

Etapa 2: escreva suas instruções

Você pode estar acostumado a escrever prompts individuais com Stable Diffusion, mas o Deforum permite escrever vários prompts que são “agendados”, o que significa que em qualquer ponto da animação que você escolher, ele mudará para a geração de quadros com base no próximo prompt da programação.

Clique na guia “Prompts” e altere os prompts existentes para o que desejar, mantendo o colchete e a estrutura das guias no lugar. Para nosso exemplo, usaremos este conjunto de prompts:

{ "0": "um robô fica sob o céu noturno durante uma chuva de meteoros, estrelas cadentes, galáxias, o cosmos, via láctea, ultra realista, altamente detalhado, 4k uhd", "40": "uma estação espacial voa pelo espaço durante uma chuva de meteoros, ultra realista, altamente detalhado", "80": "uma supernova explode, cores vibrantes, ultra realista, altamente detalhado"}

Então, o que esses números significam? Por padrão, o Deforum gera 120 quadros para sua animação e estamos dividindo esse conjunto de quadros em três partes. 0significa o primeiro quadro, portanto, ele e todos os quadros posteriores serão variações im2img do primeiro prompt. Então, no quadro 40, o Stable Diffusion começará a fazer variações com base em nosso segundo prompt. Aos 80, passa para o terceiro. Você pode adicionar quantas alterações de prompt desejar e ajustar o limite máximo de quadros na guia Quadros-chave conforme necessário.

Etapa 3: ajustar as configurações do Deforum

Você provavelmente já percebeu que há muitas configurações envolvidas no Deforum, mas examinaremos algumas para você começar. Primeiro, na guia “Executar”, você encontrará muitas das configurações típicas de Difusão Estável. Renomeie o lote, insira a semente com a qual deseja começar (estamos reutilizando aquela para o nosso robô) e altere o amostrador para o que você deseja.

No

Na aba Keyframes você pode ajustar o movimento da “câmera” para a animação. É definido por padrão para aplicar zoom em intervalos, mas queremos adicionar um movimento vertical de “panorâmica”, por isso adicionaremos 0:(-2), 100:(4)ao quadro “Translation Y”. Isso diz ao Deforum para tratar o primeiro quadro como estando no pixel -2 no eixo Y e, no quadro 100, passar para o pixel 4. Isso nos dará uma ligeira panorâmica para cima conforme a animação avança.

Insira os valores no

Na aba Saída, marcaremos a caixa “Criar GIF”, que nos dará um arquivo GIF além do arquivo de vídeo MPEG. É aqui também que você adicionaria áudio com as configurações “Adicionar trilha sonora” e “Caminho da trilha sonora”, se tiver alguma.

Na aba Saída, marque a opção

Etapa 4: gere seu vídeo

Finalmente, clique no grande botão “Gerar”. Como o Deforum está criando e costurando muitas molduras, isso levará algum tempo, então tome um café enquanto espera. Quando estiver concluído, você encontrará o arquivo MPEG, a versão GIF, além de cada quadro individual e uma leitura das configurações usadas no nome do lote em seu diretório /outputs/img2img-images.

Aqui está o que nosso prompt nos trouxe:

Não é um blockbuster de verão, mas ainda é hipnotizante! Confira o guia de início rápido oficial do Deforum para aprender sobre todos os outros botões e mostradores que você pode ajustar.


Se você estiver procurando por outros projetos interessantes de IA, aprenda como gerar pacotes de textura do Minecraft com Stable Diffusion ou comece com ChatGPT , além das coisas surpreendentes que você pode fazer com ChatGPT .