Cum să utilizați difuzia stabilă pentru a face GIF-uri și videoclipuri AI

Publicat: 2023-02-20
O cameră video, așa cum este ilustrată de Stable Diffusion.
Difuzie stabilă
Pentru a realiza o animație folosind Stable Diffusion web UI, utilizați Inpaint pentru a masca ceea ce doriți să mutați și apoi generați variații, apoi importați-le într-un GIF sau un creator video. Alternativ, instalați extensia Deforum pentru a genera animații de la zero.

Stable Diffusion este capabilă să genereze mai mult decât imagini statice. Cu unele instrumente încorporate și o extensie specială, puteți obține videoclipuri AI foarte cool fără prea mult efort. Iată cum să generați cadre pentru un GIF animat sau un fișier video real cu Stable Diffusion.

Cuprins

Difuzia stabilă poate genera videoclipuri?
Animați o imagine folosind Inpaint
Pasul 1: Obțineți o imagine și solicitarea acesteia
Pasul 2: Mascați părțile pentru a le anima cu InPaint
Pasul 3: Generați-vă cadrele
Pasul 4: Creșteți-vă cadrele în lot (opțional)
Pasul 5: Animați cadrele într-un GIF sau Video Maker
Generați un videoclip folosind Deforum
Pasul 1: Instalați extensia Deforum
Pasul 2: Scrieți solicitările dvs
Pasul 3: Ajustați setările Deforum
Pasul 4: Generați-vă videoclipul

Difuzia stabilă poate genera videoclipuri?

În timp ce filmul generat de AI este încă un domeniu în curs de dezvoltare, este posibil din punct de vedere tehnic să creați niște animații simple cu Stable Diffusion, fie ca GIF, fie ca fișier video real. Există însă limitări.

Deoarece img2img face ușoară generarea de variații ale unei anumite imagini, Stable Diffusion se pretează bine pentru a crea rapid o grămadă de cadre pentru animații, în special cele ciclice. Gândiți-vă la flăcări care ies dintr-un foc, roți care se învârt pe o mașină sau apă stropind într-o fântână. O utilizare practică ar putea fi oferirea unei atmosfere realiste unor opere de artă RPG:


Difuzie stabilă

Puteți chiar să faceți videoclipuri bazate pe imagini reale în loc de imagini sintetice. Aici am făcut o fotografie cu o plantă udată și, cu câteva clicuri, am animat fluxul de apă:


Jordan Gloor / Difuziune stabilă

Dacă doriți să animați un obiect astfel încât să se miște de la punctul A la punctul B, este o problemă pentru Stable Diffusion (cel puțin pentru moment). Probabil că veți petrece mult timp modificând instrucțiunile și setările, apoi analizați o mulțime de rezultate pentru a găsi cele mai bune cadre și a le plasa în ordinea corectă. În acel moment, ați putea la fel de bine să spargeți Adobe Illustrator și să începeți să animați manual.

În ciuda acestui fapt, puteți realiza niște animații simple și interesante, cu o configurație de bază Stable Diffusion și un alt instrument la alegere pentru a îmbina cadrele într-o animație. Există, de asemenea, un proiect numit Deforum care folosește Stable Diffusion pentru a crea animații „morphing” care arată destul de interesante. Va scuipa un videoclip MP4, deci nu sunt necesare instrumente externe și vă permite chiar să adăugați audio. Vă vom arăta elementele de bază ale ambelor metode.

Notă: În scopul acestui articol, vom presupune că ați instalat deja o interfață grafică pentru Stable Diffusion, în special interfața web Stable Diffusion de la AUTOMATIC1111. În comparație cu instalarea standard în linia de comandă, face generarea de imagini mult mai ușoară și vine cu o mulțime de instrumente și accesorii la îndemână.

Animați o imagine folosind Inpaint

Folosind instrumentul img2img Inpaint, puteți evidenția partea dintr-o imagine pe care doriți să o animați și să generați mai multe variante ale acesteia. Apoi le veți plasa într-un GIF sau video maker și veți salva cadrele ca animație.

Pasul 1: Obțineți o imagine și solicitarea acesteia

Începeți prin a arunca o imagine pe care doriți să o animați în fila Inpaint a instrumentului img2img. Dacă nu aveți deja unul generat, faceți-vă ceva timp pentru a scrie o solicitare bună, astfel încât să obțineți o fotografie bună de pornire. De asemenea, puteți importa o imagine pe care ați fotografiat-o sau ați desenat-o singur.

Dacă importați o imagine pe care nu ați generat-o cu Stable Diffusion, veți avea totuși nevoie de o solicitare adecvată pentru a genera variații, așa că faceți clic pe „Interogați CLIP” în partea de sus a paginii Img2Img. Aceasta va genera un prompt de pornire bazat pe ceea ce Stable Diffusion crede că conține imaginea dvs. Completați solicitarea adăugând orice alte detalii importante.

Pentru ghidul nostru, am generat o imagine de 512×512 a unui robot sub cerul nopții, pe care dorim să-i oferim o animație de tip time-lapse, cu stele căzătoare și galaxii trecând.

Un robot care stă într-un câmp sub un cer înstelat.
Difuzie stabilă

Dacă doriți să urmăriți cu exactitate, îl puteți recrea cu promptul pe care l-am folosit:

 un robot stă pe un câmp privind cerul nopții în timpul unei ploaie de meteoriți, stele căzătoare, galaxii, cosmos, calea lactee, ultra realist, foarte detaliat, 4k uhd

Și acestea sunt setările pe care le-am folosit:

Punct de verificare: Difuziune stabilă 2.0

Metoda de eșantionare: DPM++ SDE

Etape de eșantionare: 20

Scala CFG: 5

Sămânță: 4177542269

Pasul 2: Mascați părțile pentru a le anima cu InPaint

Cu imaginea și promptul la locul lor, în instrumentul Inpaint, utilizați pensula pentru a masca (acoperi) fiecare parte a imaginii pe care doriți să o animați. Lăsați descoperit tot ce doriți static.

În exemplul nostru, acoperim cea mai mare parte a cerului. Am lăsat un pic de pernă în jurul robotului, deoarece în timpul testării noastre, dacă ne-am apropia prea mult, Stable Diffusion ar adăuga uneori antene și alte anexe robotului.

Utilizați pensula Inpaint pentru a acoperi fiecare parte a imaginii pe care doriți să o vedeți animată.

Sfat: puteți ajusta dimensiunea pensulei Inpaint cu un glisor făcând clic pe butonul periei din colțul din dreapta sus al pânzei.

Pasul 3: Generați-vă cadrele

Acum că ați mascat fiecare parte a imaginii pe care doriți să o vedeți în mișcare, este timpul să generați cadrele animației noastre. Dar mai întâi, veți dori să vă asigurați că img2img are setările corecte. Ele pot fi confuze, așa că vă vom explica ce înseamnă unele dintre ele și de ce ați putea sau nu doriți să le modificați:

  • Modul masca: Inpaint Masked – Acest lucru se asigură că totul este acoperit să fie schimbat și nu invers. Dacă, dintr-un motiv oarecare, doriți să modificați partea demascată, schimbați-o în „Inpaint Not Masked”.
  • Conținut mascat: original – Acest lucru asigură că Stable Diffusion va vedea și va lua în considerare imaginea existentă atunci când generează variații. În caz contrar, va considera conținutul mascat o pânză goală sau randomizată.
  • Zona Inpaint: Imagine întreagă – Acest lucru forțează Stable Diffusion să genereze o imagine complet nouă pentru fiecare cadru înainte de a o integra cu imaginea originală. Trecerea la „Numai Mascat” ar putea grăbi generarea, dar vă poate oferi și rezultate mai proaste.
  • Metoda de eșantionare: DPM++ SDE – Aceasta este aceeași metodă de eșantionare pe care am folosit-o pentru a genera imaginea noastră originală și rămânem cu ea pentru a asigura un aspect consistent. Dacă nu știi ce să folosești, „Euler a” este o alegere bună.
  • Număr lot: 60 – Acesta este câte imagini doriți să generați. Este posibil să aveți nevoie de mai mult sau mai puțin, în funcție de cât de rapidă și de cât de lungă doriți să fie secvența dvs. de animație.
  • Scala CFG: 5 – Scala CFG, într-un sens, determină câtă libertate creativă are Stable Diffusion. Cu cât numărul este mai mare, cu atât mai strict Stable Diffusion va încerca să urmeze solicitarea dvs. Creșterea acestuia și obținerea de rezultate bune necesită un prompt foarte bun.
  • Puterea dezgomotului: 0,3 – Posibil cea mai importantă setare pentru acest proiect, scara de dezgomot determină cât de mult va schimba Stable Diffusion imaginea originală. Probabil că doriți să-l mențineți în jurul valorii de 0,2 sau 0,3, deoarece prea multă schimbare de la cadru la cadru poate distruge animația.
  • Seed: -1 – Aceasta îi spune Stable Diffusion să înceapă cu o sămânță aleatorie. Nu vă recomandăm să reutilizați sămânța din imaginea originală, deoarece aceasta reduce cantitatea de variație pe care o veți obține (dacă există).

Cu toate setările stabilite, faceți clic pe „Generează” și stați pe loc în timp ce Stable Diffusion desenează cadrele de animație pentru dvs. Le veți găsi în folderul /outputs/img2img-images din directorul dvs. Stable Diffusion. Dacă nu vă plac rezultatele, modificați setările (începând probabil cu puterea de dezgomot și pașii de eșantionare) și încercați din nou.

Pasul 4: Creșteți-vă cadrele în lot (opțional)

Dacă intenționați să creați un videoclip de înaltă definiție, nu uitați să măriți toate cadrele nou generate la rezoluția dorită. Faceți clic pe „Trimiteți la Extra” pentru a începe.

În interiorul Extras, comutați la fila „Proces în lot”.

Ajustați scala „Redimensionare” la numărul de ori pe care doriți să o redimensionați (setarea la 2 va schimba imaginile de 512×512 în imagini de 1024×1024). Alternativ, comutați de la „Scale by” la „Scale to” și setați o anumită rezoluție. Setați, de asemenea, „Upscaler 1” la upscaler-ul dorit. Am avut rezultate destul de bune cu R-ESRGAN 4x+, dar nu ezitați să experimentați pentru a vedea care vă gestionează cel mai bine imaginile.

Apoi apăsați „Generare” și Stable Diffusion vă va oferi o versiune cu rezoluție mai mare a fiecărui cadru, salvată în folderul /outputs/extras .

Pasul 5: Animați cadrele într-un GIF sau Video Maker

Acum că aveți cadrele, este timpul să le uniți pe toate și să creați animația finală. Există multe instrumente cu care puteți face acest lucru, inclusiv site-uri web dedicate gratuite, cum ar fi Ezgif și flixier, care sunt ușor de utilizat și au o mulțime de comenzi de reglare fină. Cu toate acestea, rețineți că acele site-uri web pot vedea tot ce încărcați, așa că nu le oferiți nimic despre care nu sunteți confortabil să știe lumea.

Deși acele site-uri web se explică de la sine, vom demonstra cum folosiți un instrument gratuit de editare a fotografiilor offline, GIMP, pentru a crea un GIF. Dacă doriți un fișier video, utilizați în schimb Kdenlive sau un editor video similar - asigurați-vă doar că modificați setările, astfel încât toate cadrele să fie importate ca clipuri de o secundă sau mai scurte, în funcție de multe cadre pe secundă pe care le doriți.

Pentru a începe, descărcați GIMP și instalați-l pe computer dacă nu ați făcut-o deja. Lansați-l, apoi accesați Fișier > Deschideți ca straturi.

Găsiți unde sunt cadrele pe care le-ați generat și selectați-le pe toate simultan înainte de a face clic pe „Deschidere”. (Țineți apăsată tasta Shift pentru a selecta rapid mai multe fișiere.) GIMP va importa toate imaginile dvs. ca un strat separat pe o pânză. Ne dorim acest lucru, deoarece modul în care funcționează generarea GIF-ului GIMP este trecerea prin fiecare strat de jos în sus, tratând fiecare strat consecutiv ca următorul cadru din animație.

Acum e partea distractivă. Pentru a viziona o previzualizare a GIF-ului, accesați Filtre > Animație > Redare.

Apăsați bara de spațiu pentru a reda și a întrerupe GIF-ul. Dacă cadrele trec prea repede sau prea încet, ajustați FPS-ul în partea de jos a casetei de dialog de redare și faceți clic pe butonul de reîmprospătare din partea de sus pentru a reîncărca previzualizarea cu noua rată a cadrelor.

Odată ce animația ți se pare bine, este timpul să generezi fișierul GIF. Închideți previzualizarea și faceți clic pe Fișier > Export ca. Când introduceți numele de salvare a fișierului, adăugați extensia .gif la sfârșit, astfel încât GIMP să știe că doriți un GIF.

Adăugați „.gif” la numele fișierului atunci când exportați în GIMP.

În caseta de dialog de export GIF care apare, asigurați-vă că caseta „Ca animație” este bifată. Reglați și numărul de milisecunde dintre cadre dacă doriți o rată de cadre diferită. Există 1000 de milisecunde într-o secundă, așa că 100 vă vor aduce exact în jur de 10 FPS. În cele din urmă, faceți clic pe „Exportați”.

Bum, ai GIF-ul animat complet.


Generați un videoclip folosind Deforum

Dacă doriți să creați animații mai interesante cu Stable Diffusion și să scoateți fișiere video în loc de doar o grămadă de cadre cu care să lucrați, utilizați Deforum. Este un proiect de sinteză a imaginii cu o extensie disponibilă pentru Stable Diffusion web UI care vă permite să direcționați și să generați fișiere video MP4, chiar și cu audio. Este un instrument foarte puternic și complex, cu o mulțime de setări de experimentat, inclusiv panouri și zoom-uri ale camerei, solicitări multiple și import video.

În scopurile noastre, vă vom prezenta doar elementele de bază ale generării unei animații destul de simple, dar interesante.

Pasul 1: Instalați extensia Deforum

Pentru a obține extensia Deforum, deschideți un prompt de comandă și schimbați directoarele în folderul stable-diffusion-web-ui . Apoi utilizați această comandă git clone pentru a instala Deforum în folderul cu extensii.

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

Lansați Stable Diffusion web UI ca de obicei și deschideți fila Deforum care se află acum în interfața dvs.

Sfat: Extensia Deforum este gata cu setările implicite, astfel încât să puteți apăsa imediat butonul „Generare” pentru a crea un videoclip cu un iepure care se transformă într-o pisică, apoi o nucă de cocos, apoi un durian. Destul de la moda!

Pasul 2: Scrieți solicitările dvs

S-ar putea să fiți obișnuit să scrieți prompturi individuale cu Stable Diffusion, dar Deforum vă permite să scrieți mai multe solicitări care sunt „programate”, adică în orice moment al animației pe care îl alegeți, va trece la generarea de cadre pe baza următoarei solicitări din program.

Faceți clic pe fila „Solicitări” și modificați solicitările existente în ceea ce doriți, păstrând structura parantezei și a filei la locul lor. Pentru exemplul nostru, vom folosi acest set de solicitări:

 {
    „0”: „un robot stă sub cerul nopții în timpul unei ploi de meteoriți, stele căzătoare, galaxii, cosmos, calea lactee, ultra realist, foarte detaliat, 4k uhd”,
    „40”: „o stație spațială zboară prin spațiu în timpul unei ploaie de meteoriți, ultra realistă, foarte detaliată”,
    „80”: „o supernova explodează, culori vibrante, ultra realiste, foarte detaliate”
}

Deci, ce înseamnă acele numere? În mod implicit, Deforum generează 120 de cadre pentru animația dvs. și împărțim acel set de cadre în trei părți. 0 înseamnă primul cadru, deci acesta și toate cadrele de după el vor fi variații im2img ale primului prompt. Apoi, la cadrul 40, Stable Diffusion va începe să facă variații pe baza celui de-al doilea prompt. La 80 de ani, trece la al treilea. Puteți adăuga câte modificări prompte doriți și puteți ajusta limita maximă a cadrelor din fila Cadre cheie, după cum este necesar.

Pasul 3: Ajustați setările Deforum

Probabil ați observat deja că există o mulțime de setări implicate în Deforum, dar vom parcurge câteva pentru a începe. În primul rând, în fila „Run”, veți găsi multe dintre setările dvs. tipice Stable Diffusion. Redenumiți lotul, introduceți sămânța cu care doriți să începeți (o reutilizam pe cea pentru robotul nostru) și schimbați prelevatorul cu cel dorit.

În fila „Run” schimbați eșantionerul, semințele și numele lotului la setările preferate.

În fila Cadre cheie puteți ajusta mișcarea „camerului” pentru animație. Este setat în mod implicit să mărească la intervale, dar dorim să adăugăm o mișcare „pan” verticală, așa că vom adăuga 0:(-2), 100:(4) la cadrul „Translation Y”. Asta îi spune lui Deforum să trateze primul cadru ca fiind la pixelul -2 pe axa Y, apoi cu frame-ul 100 să treacă la pixelul 4. Acest lucru ne va oferi o ușoară deplasare în sus pe măsură ce animația progresează.

Introduceți valori în câmpul „Translation Y” dacă doriți ca vizualizarea animației să se schimbe pe verticală.

În fila Ieșire, vom bifa caseta „Creați GIF”, care ne va oferi un fișier GIF în plus față de fișierul video MPEG. De asemenea, aici ați adăuga sunet cu setările „Adăugați coloană sonoră” și „Cale coloană sonoră”, dacă aveți unele.

În fila Ieșire, bifați caseta „Creați GIF” dacă doriți un fișier GIF.

Pasul 4: Generați-vă videoclipul

În cele din urmă, apăsați butonul mare „Generați”. Deoarece Deforum creează și coase multe cadre, acest lucru va dura timp, așa că luați niște cafea în timp ce așteptați. Când este complet, veți găsi fișierul MPEG, versiunea GIF, plus fiecare cadru individual și o citire a setărilor pe care le-ați folosit sub numele lotului în directorul dvs. /outputs/img2img-images .

Iată ce ne-a oferit promptul nostru:

Nu este un blockbuster de vară, dar este totuși oarecum fascinant! Consultați ghidul oficial de pornire rapidă Deforum pentru a afla despre toate celelalte butoane și cadrane pe care le puteți regla.


Dacă sunteți în căutarea altor proiecte interesante de AI, aflați cum să generați pachete de texturi Minecraft cu Stable Diffusion sau începeți cu ChatGPT, plus lucrurile surprinzătoare pe care le puteți face cu ChatGPT.