Come utilizzare la diffusione stabile per creare GIF e video AI
Pubblicato: 2023-02-20
Stable Diffusion è in grado di generare più di semplici immagini fisse. Con alcuni strumenti integrati e un'estensione speciale, puoi ottenere video AI molto interessanti senza troppi sforzi. Ecco come generare frame per una GIF animata o un vero e proprio file video con Stable Diffusion.
La diffusione stabile può generare video?
Animare un'immagine usando Inpaint
Passaggio 1: ottenere un'immagine e il relativo prompt
Passaggio 2: maschera le parti da animare con InPaint
Passaggio 3: genera i tuoi frame
Passaggio 4: upscaling in batch dei frame (facoltativo)
Passaggio 5: animare i frame in GIF o Video Maker
Genera un video usando Deforum
Passaggio 1: installa l'estensione Deforum
Passaggio 2: scrivi i tuoi suggerimenti
Passaggio 3: regola le impostazioni di Deforum
Passo 4: Genera il tuo video
La diffusione stabile può generare video?
Sebbene i film generati dall'intelligenza artificiale siano ancora un campo nascente, è tecnicamente possibile creare alcune semplici animazioni con Stable Diffusion, sia come GIF che come file video effettivo. Ci sono limitazioni però.
Poiché img2img semplifica la generazione di variazioni di una particolare immagine, Stable Diffusion si presta bene alla creazione rapida di una serie di fotogrammi per animazioni, in particolare quelle cicliche. Pensa alle fiamme che si levano da un incendio, alle ruote che girano su un'auto o all'acqua che schizza in una fontana. Un uso pratico potrebbe essere dare un'atmosfera realistica ad alcune opere d'arte di giochi di ruolo:
Diffusione stabile
Puoi persino realizzare video basati su immagini reali invece che sintetiche. Qui ho scattato una foto di una pianta che viene annaffiata e, con pochi click, ho animato il getto d'acqua:
Jordan Gloor / Diffusione stabile
Se vuoi animare un oggetto in modo che si sposti dal punto A al punto B, questo è un compito arduo per Stable Diffusion (almeno per ora). Probabilmente passerai molto tempo a modificare i prompt e le impostazioni, quindi a esaminare una tonnellata di output per trovare i frame migliori e posizionarli nell'ordine corretto. A quel punto, potresti anche aprire Adobe Illustrator e iniziare ad animare a mano.
Nonostante ciò, puoi creare delle animazioni fantastiche e semplici con una configurazione di diffusione stabile di base e un altro strumento a tua scelta per unire i fotogrammi in un'animazione. C'è anche un progetto chiamato Deforum che utilizza Stable Diffusion per creare animazioni di "morphing" che sembrano piuttosto interessanti. Sputerà un video MP4, quindi non sono necessari strumenti esterni e ti consente persino di aggiungere audio. Ti mostreremo le basi di entrambi i metodi.
Nota: ai fini di questo articolo, supponiamo che tu abbia già installato un'interfaccia grafica per Stable Diffusion, in particolare l'interfaccia utente Web Stable Diffusion di AUTOMATIC1111. Rispetto all'installazione standard da riga di comando, rende la generazione di immagini molto più semplice e viene fornita con un sacco di utili strumenti ed extra.
Animare un'immagine usando Inpaint
Utilizzando lo strumento img2img Inpaint, puoi evidenziare la parte di un'immagine che desideri animare e generarne diverse varianti. Quindi li inserirai in un creatore di GIF o video e salverai i fotogrammi come animazione.
Passaggio 1: ottenere un'immagine e il relativo prompt
Inizia rilasciando un'immagine che desideri animare nella scheda Inpaint dello strumento img2img. Se non ne hai già generato uno, prenditi del tempo per scrivere un buon prompt in modo da ottenere una buona foto iniziale. Puoi anche importare un'immagine che hai fotografato o disegnato tu stesso.
Se stai importando un'immagine che non hai generato con Stable Diffusion, avrai comunque bisogno di un prompt appropriato per generare variazioni, quindi fai clic su "Interroga CLIP" nella parte superiore della pagina Img2Img. Ciò genererà un prompt iniziale basato su ciò che Stable Diffusion pensa contenga la tua immagine. Completa la richiesta aggiungendo altri dettagli importanti.
Per la nostra guida, abbiamo generato un'immagine 512×512 di un robot sotto un cielo notturno a cui vogliamo dare una sorta di animazione time-lapse, con stelle cadenti e galassie che passano.

Se vuoi seguire con precisione, puoi ricrearlo con il prompt che abbiamo usato:
un robot si trova in un campo guardando il cielo notturno durante una pioggia di meteoriti, stelle cadenti, galassie, il cosmo, via lattea, ultra realistico, molto dettagliato, 4k uhd
E queste sono le impostazioni che abbiamo usato:
Punto di controllo: diffusione stabile 2.0
Metodo di campionamento: DPM++ SDE
Passaggi di campionamento: 20
Scala CFG: 5
Seme: 4177542269
Passaggio 2: maschera le parti da animare con InPaint
Con la tua immagine e il prompt in posizione, nello strumento Inpaint, usa il pennello per mascherare (coprire) ogni parte dell'immagine che vuoi animare. Lascia scoperto tutto ciò che vuoi statico.
Nel nostro esempio, stiamo coprendo la maggior parte del cielo. Abbiamo lasciato un po' di cuscino attorno al robot perché nei nostri test, se ci avvicinavamo troppo, Stable Diffusion a volte aggiungeva antenne e altre appendici al robot.
Suggerimento: puoi regolare le dimensioni del pennello Inpaint con un dispositivo di scorrimento facendo clic sul pulsante del pennello nell'angolo in alto a destra dell'area di disegno.
Passaggio 3: genera i tuoi frame
Ora che hai mascherato ogni parte della tua immagine che vuoi vedere in movimento, è il momento di generare i fotogrammi della nostra animazione. Ma prima, assicurati che img2img abbia le impostazioni giuste. Possono creare confusione, quindi spiegheremo cosa significano alcuni di essi e perché potresti o meno volerli modificare:
- Modalità Maschera: Inpaint Masked – Questo assicura che tutto ciò che viene coperto venga cambiato e non viceversa. Se, per qualche motivo, desideri invece modificare la parte non mascherata, modificala in "Inpaint Not Masked".
- Contenuto mascherato: originale : garantisce che Stable Diffusion veda e tenga conto dell'immagine esistente quando genera variazioni. In caso contrario, considererà il contenuto mascherato una tela vuota o randomizzata.
- Inpaint Area: Whole Picture – Forza Stable Diffusion a generare un'immagine completamente nuova per ogni fotogramma prima di integrarla con l'immagine originale. Il passaggio a "Solo mascherato" potrebbe accelerare la generazione ma potrebbe anche darti risultati peggiori.
- Metodo di campionamento: DPM++ SDE – Questo è lo stesso metodo di campionamento che abbiamo utilizzato per generare la nostra immagine originale e ci atteniamo a esso per garantire un aspetto coerente. Se non sai cosa usare, "Euler a" è una buona scelta a tutto tondo.
- Conteggio batch: 60 : questo è il numero di immagini che desideri generare. Potrebbe essere necessario più o meno a seconda della velocità e della durata della sequenza di animazione.
- Scala CFG: 5 – La scala CFG, in un certo senso, determina quanta libertà creativa ha Stable Diffusion. Più alto è il numero, più Stable Diffusion cercherà di seguire la tua richiesta. Aumentarlo e ottenere buoni risultati richiede un ottimo prompt.
- Denoising Strength: 0.3 – Forse l'impostazione più importante per questo progetto, la scala di denoising determina quanto Stable Diffusion cambierà l'immagine originale. Probabilmente vorrai mantenerlo intorno a 0,2 o 0,3, poiché un eccessivo cambiamento da fotogramma a fotogramma può rovinare l'animazione.
- Seme: -1 – Questo dice a Stable Diffusion di iniziare con un seme casuale. Non consigliamo di riutilizzare il seme dall'immagine originale, poiché ciò riduce la quantità di variazione che otterrai (se non del tutto).
Una volta impostate tutte le impostazioni, fai clic su "Genera" e rilassati mentre Stable Diffusion disegna i fotogrammi dell'animazione per te. Li troverai nella cartella /outputs/img2img-images
della tua directory Stable Diffusion. Se non ti piacciono i risultati, modifica le impostazioni (probabilmente iniziando con l'intensità del denoising e i passaggi di campionamento) e riprova.
Passaggio 4: upscaling in batch dei frame (facoltativo)
Se hai intenzione di creare un video ad alta definizione, ricorda di eseguire l'upscaling di tutti i fotogrammi appena generati alla risoluzione desiderata. Fai clic su "Invia a Extra" per iniziare.

All'interno di Extra, passa alla scheda "Elaborazione batch".
Regola la scala "Ridimensiona" sul numero di volte che desideri ridimensionarla (l'impostazione su 2 cambierà le immagini 512 × 512 in immagini 1024 × 1024). In alternativa, passa da "Scale by" a "Scale to" e imposta una risoluzione specifica. Imposta anche "Upscaler 1" sull'upscaler di tua scelta. Abbiamo ottenuto risultati abbastanza buoni con R-ESRGAN 4x+, ma sentiti libero di sperimentare per vedere quale gestisce meglio le tue immagini.
Quindi premi "Genera" e Stable Diffusion ti darà una versione a risoluzione più alta di ogni fotogramma, salvata nella cartella /outputs/extras
.
Passaggio 5: animare i frame in GIF o Video Maker
Ora che hai i tuoi fotogrammi, è il momento di unirli tutti insieme e creare la tua animazione finale. Ci sono molti strumenti con cui puoi farlo, inclusi siti Web dedicati gratuiti come Ezgif e Flixier che sono facili da usare e hanno molti controlli di regolazione fine. Tuttavia, ricorda che quei siti Web possono vedere tutto ciò che carichi, quindi non dare loro nulla di cui non sei a tuo agio con il mondo a conoscenza.
Sebbene questi siti Web siano piuttosto autoesplicativi, dimostreremo come utilizzare uno strumento di fotoritocco offline gratuito, GIMP, per creare una GIF. Se vuoi un file video, usa invece Kdenlive o un editor video simile: assicurati solo di modificare le impostazioni in modo che tutti i tuoi fotogrammi vengano importati come clip che durano un secondo o meno, a seconda del numero di fotogrammi al secondo che desideri.
Per iniziare, scarica GIMP e installalo sul tuo computer se non l'hai già fatto. Avvialo, quindi vai su File> Apri come livelli.
Trova dove sono i frame che hai generato e selezionali tutti in una volta prima di fare clic su "Apri". (Tieni premuto il tasto Maiusc per selezionare rapidamente più file.) GIMP importerà tutte le tue immagini come un livello separato su una tela. Lo vogliamo perché il modo in cui funziona la generazione di GIF di GIMP è passare attraverso ogni livello dal basso verso l'alto, trattando ogni livello consecutivo come il fotogramma successivo nell'animazione.
Ora è la parte divertente. Per guardare un'anteprima della tua GIF, vai su Filtri > Animazione > Riproduzione.
Premi la barra spaziatrice per riprodurre e mettere in pausa la GIF. Se i fotogrammi passano troppo velocemente o troppo lentamente, regola l'FPS nella parte inferiore della finestra di dialogo di riproduzione e fai clic sul pulsante di aggiornamento in alto per ricaricare l'anteprima con la nuova frequenza dei fotogrammi.
Una volta che l'animazione ti sembra buona, è il momento di generare il file GIF. Chiudi l'anteprima e fai clic su File > Esporta come. Quando si digita il nome di salvataggio del file, aggiungere l'estensione .gif
alla fine in modo che GIMP sappia che si desidera una GIF.
Nella finestra di dialogo di esportazione GIF visualizzata, assicurati che la casella "Come animazione" sia selezionata. Regola anche il numero di millisecondi tra i fotogrammi se desideri un frame rate diverso. Ci sono 1000 millisecondi in un secondo, quindi 100 ti daranno circa 10 FPS. Infine, fai clic su "Esporta".
Boom, hai la tua GIF animata completa.
Genera un video usando Deforum
Se vuoi creare animazioni più interessanti con Stable Diffusion e fare in modo che produca file video invece di solo un mucchio di fotogrammi con cui lavorare, usa Deforum. È un progetto di sintesi di immagini con un'estensione disponibile per l'interfaccia utente Web Stable Diffusion che consente di dirigere e generare file video MP4, anche con audio. È uno strumento molto potente e complesso con molte impostazioni da sperimentare, tra cui panoramiche e zoom della telecamera, più prompt e importazione di video.
Per i nostri scopi, ti presenteremo solo le basi per generare un'animazione abbastanza semplice ma interessante.
Passaggio 1: installa l'estensione Deforum
Per ottenere l'estensione Deforum, apri un prompt dei comandi e modifica le directory nella cartella stable-diffusion-web-ui
. Quindi usa questo comando git clone per installare Deforum nella cartella delle estensioni use.
clone git https://github.com/deforum-art/deforum-for-automatic1111-webui extensions/deforum
Avvia l'interfaccia utente web di Stable Diffusion normalmente e apri la scheda Deforum che ora si trova nella tua interfaccia.
Suggerimento: l'estensione Deforum è pronta con le impostazioni predefinite in atto in modo da poter premere immediatamente il pulsante "Genera" per creare un video di un coniglio che si trasforma in un gatto, poi in una noce di cocco, quindi in un durian. Abbastanza bello!
Passaggio 2: scrivi i tuoi suggerimenti
Potresti essere abituato a scrivere singoli prompt con Stable Diffusion, ma Deforum ti consente di scrivere più prompt che sono "pianificati", il che significa che in qualsiasi punto dell'animazione tu scelga passerà alla generazione di frame in base al prompt successivo nella pianificazione.
Fai clic sulla scheda "Prompt" e modifica i prompt esistenti in base a ciò che desideri, mantenendo la struttura della parentesi e della scheda in posizione. Per il nostro esempio, utilizzeremo questo set di prompt:
{ "0": "un robot si trova sotto il cielo notturno durante una pioggia di meteoriti, stelle cadenti, galassie, cosmo, via lattea, ultra realistico, altamente dettagliato, 4k uhd", "40": "una stazione spaziale vola nello spazio durante una pioggia di meteoriti, ultra realistica, altamente dettagliata", "80": "esplode una supernova, colori vibranti, ultra realistico, molto dettagliato" }
Quindi cosa significano quei numeri? Per impostazione predefinita, Deforum genera 120 fotogrammi per la tua animazione e stiamo dividendo quel set di fotogrammi in tre parti. 0
indica il primo fotogramma, quindi esso e tutti i fotogrammi successivi saranno variazioni im2img del primo prompt. Quindi, al frame 40, Stable Diffusion inizierà a fare variazioni in base al nostro secondo prompt. A 80 anni passa al terzo. È possibile aggiungere tutte le modifiche desiderate e regolare il limite massimo di fotogrammi nella scheda Fotogrammi chiave secondo necessità.
Passaggio 3: regola le impostazioni di Deforum
Probabilmente hai già notato che ci sono un sacco di impostazioni coinvolte in Deforum, ma ne esamineremo alcune per iniziare. Innanzitutto, nella scheda "Esegui", troverai molte delle tue tipiche impostazioni di diffusione stabile. Rinomina il batch, inserisci il seme con cui vuoi iniziare (stiamo riutilizzando quello per il nostro robot) e cambia il campionatore con quello che desideri.
Nella scheda Keyframes puoi regolare il movimento della "camera" per l'animazione. È impostato per impostazione predefinita per eseguire lo zoom a intervalli, ma vogliamo aggiungere un movimento di "panoramica" verticale, quindi aggiungeremo 0:(-2), 100:(4)
al riquadro "Traslazione Y". Questo dice a Deforum di trattare il primo fotogramma come se fosse al pixel -2 sull'asse Y, poi dal fotogramma 100 si sposta al pixel 4. Questo ci darà una leggera panoramica verso l'alto man mano che l'animazione avanza.
Nella scheda Output, selezioniamo la casella "Crea GIF" che ci darà un file GIF oltre al file video MPEG. Questo è anche il punto in cui aggiungeresti l'audio con le impostazioni "Aggiungi colonna sonora" e "Percorso colonna sonora", se ne hai alcune.
Passo 4: Genera il tuo video
Infine, premi quel grande pulsante "Genera". Dato che Deforum sta creando e cucendo molti telai, ci vorrà del tempo, quindi prendi un caffè mentre aspetti. Quando è completo, troverai il file MPEG, la versione GIF, più ogni singolo fotogramma e una lettura delle impostazioni che hai usato sotto il nome del batch nella tua directory /outputs/img2img-images
.
Ecco cosa ci ha portato il nostro prompt:
Non è un blockbuster estivo, ma è comunque affascinante! Consulta la guida rapida ufficiale di Deforum per conoscere tutte le altre manopole e quadranti che puoi regolare.
Se stai cercando altri fantastici progetti di intelligenza artificiale, scopri come generare pacchetti di texture Minecraft con Stable Diffusion o inizia con ChatGPT, oltre alle cose sorprendenti che puoi fare con ChatGPT.