Ako používať stabilnú difúziu na vytváranie AI GIF a videí


Zhrnutie: Ak chcete vytvoriť animáciu pomocou webového používateľského rozhrania Stable Diffusion, použite Inpaint na maskovanie toho, čo chcete presunúť, a potom vygenerujte variácie a potom ich importujte do GIF alebo do tvorcu videa. Prípadne si nainštalujte rozšírenie Deforum na vytváranie animácií od začiatku.

Stabilná difúzia dokáže generovať viac než len statické obrázky. S niektorými vstavanými nástrojmi a špeciálnym rozšírením môžete získať veľmi skvelé AI video bez veľkého úsilia. Tu je návod, ako generovať snímky pre animovaný GIF alebo skutočný video súbor so stabilnou difúziou.

Môže stabilná difúzia generovať video?

Zatiaľ čo film generovaný AI je stále rodiacim sa poľom, je technicky možné vytvoriť niekoľko jednoduchých animácií pomocou stabilnej difúzie, či už ako GIF alebo ako skutočný video súbor. Existujú však obmedzenia.

Pretože img2img uľahčuje generovanie variácií konkrétneho obrázka, Stable Diffusion sa hodí na rýchle vytvorenie množstva snímok pre animácie, najmä cyklické. Predstavte si plamene olizujúce sa z ohňa, kolesá točiace sa na aute alebo striekajúcu vodu vo fontáne. Praktické využitie by mohlo poskytnúť realistickú atmosféru niektorým umeleckým dielam RPG:

Môžete dokonca vytvárať videá založené na skutočných obrázkoch namiesto syntetických. Tu som odfotil polievanú rastlinu a niekoľkými kliknutiami som animoval prúd vody:

Ak chcete animovať objekt tak, aby sa pohyboval z bodu A do bodu B, je to pre Stable Diffusion (aspoň zatiaľ) veľký problém. Pravdepodobne by ste trávili veľa času vylaďovaním výziev a nastavení, potom by ste hľadali množstvo výstupov, aby ste našli najlepšie snímky a umiestnili ich v správnom poradí. V tom momente by ste tiež mohli spustiť Adobe Illustrator a začať animovať ručne.

Napriek tomu môžete vytvoriť niekoľko skvelých, jednoduchých animácií so základným nastavením Stable Diffusion a ďalším nástrojom podľa vášho výberu na spojenie snímok v animácii. Existuje aj projekt s názvom Deforum, ktorý využíva Stable Diffusion na vytváranie „morfujúcich“ animácií, ktoré vyzerajú celkom zaujímavo. Vyvolá video vo formáte MP4, takže nie sú potrebné žiadne externé nástroje, a dokonca vám umožní pridať zvuk. Ukážeme vám základy oboch metód.

Animujte obrázok pomocou Inpaintu

Pomocou nástroja img2img Inpaint môžete zvýrazniť časť obrázka, ktorú chcete animovať, a vytvoriť niekoľko jej variácií. Potom ich vložíte do GIF alebo do tvorcu videa a uložíte snímky ako animáciu.

Krok 1: Získajte obrázok a jeho výzvu

Začnite presunutím obrázka, ktorý chcete animovať, na kartu Inpaint nástroja img2img. Ak ešte žiadnu nemáte vygenerovanú, nájdite si čas na napísanie dobrej výzvy, aby ste získali dobrú úvodnú fotografiu. Môžete tiež importovať obrázok, ktorý ste sami odfotografovali alebo nakreslili.

Ak importujete obrázok, ktorý ste nevygenerovali pomocou funkcie Stable Diffusion, stále budete potrebovať príslušnú výzvu na generovanie variácií, takže kliknite na „Interrogate CLIP“ v hornej časti stránky Img2Img. Tým sa vygeneruje úvodná výzva na základe toho, čo Stable Diffusion si myslí, že váš obrázok obsahuje. Dokončite výzvu pridaním akýchkoľvek ďalších dôležitých podrobností.

Pre nášho sprievodcu sme vygenerovali obrázok robota pod nočnou oblohou s rozlíšením 512 × 512, ktorému chceme poskytnúť časozbernú animáciu s padajúcimi hviezdami a galaxiami, ktoré prechádzajú okolo.

Ak ho chcete presne sledovať, môžete ho znova vytvoriť pomocou výzvy, ktorú sme použili:

a robot stands in a field looking up at the night sky during a meteor shower, shooting stars, galaxies, the cosmos, milky way, ultra realistic, highly detailed, 4k uhd

A toto sú nastavenia, ktoré sme použili:

Kontrolný bod: Stabilná difúzia 2.0 Metóda vzorkovania: DPM++ SDE Kroky vzorkovania: 20 Stupnica CFG: 5 Semeno: 4177542269

Krok 2: Zamaskujte časti na animáciu pomocou InPaint

Keď máte obrázok a výzvu na svojom mieste, v nástroji Inpaint použite štetec na maskovanie (zakrytie) každej časti obrázka, ktorú chcete animovať. Nechajte odkryté všetko, čo chcete, statické.

V našom príklade pokrývame väčšinu oblohy. Okolo robota sme nechali trochu vankúša, pretože pri našom testovaní, ak sme sa dostali príliš blízko, Stable Diffusion niekedy pridali k robotovi antény a ďalšie doplnky.

Krok 3: Vytvorte si rámy

Teraz, keď ste zamaskovali každú časť obrázka, ktorú chcete vidieť v pohybe, je čas vygenerovať snímky našej animácie. Najprv sa však musíte uistiť, že img2img má správne nastavenia. Môžu byť mätúce, preto vám vysvetlíme, čo niektoré z nich znamenajú a prečo ich možno chcete alebo nechcete vyladiť:

  • Režim masky: Inpaint Masked – Toto zaisťuje, že sa zmení všetko, čo je zakryté, a nie naopak. Ak z nejakého dôvodu chcete namiesto toho upraviť odmaskovanú časť, zmeňte ju na „Inpaint Not Masked“.
  • Maskovaný obsah: Originál – Toto zaisťuje, že Stable Diffusion uvidí a zohľadní existujúci obrázok pri vytváraní variácií. V opačnom prípade bude maskovaný obsah považovať za prázdne alebo náhodné plátno.
  • Oblasť dokreslenia: Celý obrázok – Toto prinúti Stable Diffusion vygenerovať úplne nový obrázok pre každý rám pred jeho integráciou s pôvodným obrázkom. Prepnutie na „Iba maskované“ môže urýchliť generovanie, ale môže vám priniesť aj horšie výsledky.
  • Metóda vzorkovania: DPM++ SDE – Ide o rovnakú metódu vzorkovania, akú sme použili na generovanie nášho pôvodného obrázka, a držíme sa jej, aby sme zabezpečili konzistentný vzhľad. Ak neviete, čo použiť, „Euler a“ je všestranne dobrá voľba.
  • Počet dávok: 60 – toto je počet obrázkov, ktoré chcete vygenerovať. Možno budete potrebovať viac alebo menej v závislosti od toho, ako rýchlo a ako dlho chcete, aby bola sekvencia animácie.
  • Škála CFG: 5 – Škála CFG v istom zmysle určuje, koľko kreatívnej slobody má Stable Diffusion. Čím vyššie číslo, tým prísnejšie sa Stable Diffusion pokúsi nasledovať vašu výzvu. Jeho zvýšenie a dosiahnutie dobrých výsledkov si vyžaduje veľmi dobrú výzvu.
  • Sila odšumovania: 0,3 – Možno najdôležitejšie nastavenie pre tento projekt, mierka odšumovania určuje, do akej miery Stable Diffusion zmení pôvodný obrázok. Pravdepodobne budete chcieť ponechať hodnotu okolo 0,2 alebo 0,3, pretože príliš veľa zmien medzi jednotlivými snímkami môže animáciu zničiť.
  • Seed: -1 – Toto povie Stable Diffusion, aby začala s náhodným zdrojom. Neodporúčame znovu použiť základ z pôvodného obrázka, pretože to znižuje množstvo variácií, ktoré získate (ak vôbec nejaké budú).

So všetkými nastaveniami kliknite na „Generovať“ a posaďte sa, kým Stable Diffusion nakreslí rámce animácie. Nájdete ich v priečinku /outputs/img2img-images v adresári Stable Diffusion. Ak sa vám výsledky nepáčia, upravte nastavenia (pravdepodobne začnite s intenzitou potlačenia šumu a krokmi vzorkovania) a skúste to znova.

Krok 4: Dávková aktualizácia vašich rámov (voliteľné)

Ak plánujete vytvoriť video s vysokým rozlíšením, nezabudnite prevzorkovať všetky novovygenerované snímky na požadované rozlíšenie. Začnite kliknutím na „Odoslať extra“.

V časti Extras prejdite na kartu „Dávkový proces“.

Upravte mierku „Zmeniť veľkosť“ na toľkokrát, koľkokrát chcete zmeniť veľkosť (nastavením na 2 zmeníte obrázky 512 × 512 na obrázky 1 024 × 1 024). Prípadne prepnite z „Scale by“ na „Scale to“ a nastavte špecifické rozlíšenie. Tiež nastavte “Upscaler 1” na upscaler podľa vášho výberu. S R-ESRGAN 4x+ sme mali dosť dobré výsledky, ale môžete experimentovať, aby ste zistili, ktorý z vašich obrázkov najlepšie narába.

Potom stlačte „Generate“ a Stable Diffusion vám poskytne verziu každého snímku vo vyššom rozlíšení, uloženú vo vašom priečinku /outputs/extras.

Krok 5: Animujte snímky v GIF alebo Video Maker

Teraz, keď máte svoje snímky, je čas ich všetky spojiť a vytvoriť konečnú animáciu. Existuje mnoho nástrojov, pomocou ktorých to môžete urobiť, vrátane bezplatných vyhradených webových stránok, ako sú Ezgif a flixier, ktoré sa ľahko používajú a majú veľa ovládacích prvkov na jemné doladenie. Pamätajte však, že tieto webové stránky môžu vidieť všetko, čo odovzdáte, takže im nedávajte nič, o čom by vám svet nevedel.

Aj keď sú tieto webové stránky celkom samozrejmé, ukážeme vám, ako môžete použiť bezplatný nástroj na úpravu fotografií v režime offline, GIMP, na vytvorenie GIF. Ak chcete video súbor, použite namiesto toho Kdenlive alebo podobný editor videa – len sa uistite, že ste vylepšili nastavenia, aby sa všetky vaše snímky importovali ako klipy, ktoré sú jednu sekundu alebo kratšie, v závislosti od požadovaného počtu snímok za sekundu.

Ak chcete začať, stiahnite si GIMP a nainštalujte ho do počítača, ak ste tak ešte neurobili. Spustite ho a potom prejdite na Súbor > Otvoriť ako vrstvy.

Pred kliknutím na „Otvoriť“ nájdite, kde sa nachádzajú rámce, ktoré ste vygenerovali, a vyberte ich všetky naraz. (Ak chcete rýchlo vybrať viacero súborov, podržte kláves Shift.) GIMP importuje všetky vaše obrázky ako samostatnú vrstvu na jednom plátne. Chceme to, pretože spôsob, akým generovanie GIF v GIMPe funguje, je prechádzanie každej vrstvy zdola nahor, pričom každá po sebe idúca vrstva sa považuje za ďalší snímok v animácii.

Teraz je tu zábavná časť. Ak si chcete pozrieť ukážku svojho GIF, prejdite do časti Filtre > Animácia > Prehrávanie.

Stlačením medzerníka prehráte a pozastavíte GIF. Ak snímky prechádzajú príliš rýchlo alebo pomaly, upravte FPS v spodnej časti dialógového okna prehrávania a kliknutím na tlačidlo obnovenia v hornej časti znova načítajte ukážku s novou snímkovou frekvenciou.

Keď animácia vyzerá dobre, je čas vygenerovať súbor GIF. Zatvorte náhľad a kliknite na Súbor > Exportovať ako. Keď zadáte názov uloženia súboru, pridajte na koniec príponu .gif , aby GIMP vedel, že chcete GIF.

V zobrazenom dialógovom okne exportu GIF skontrolujte, či je začiarknuté políčko „Ako animácia“. Ak chcete inú snímkovú frekvenciu, upravte aj počet milisekúnd medzi snímkami. Za sekundu je 1 000 milisekúnd, takže 100 vám dá presne okolo 10 FPS. Nakoniec kliknite na „Exportovať“.

Bum, máte kompletný animovaný GIF.

Vytvorte video pomocou Deforum

Ak chcete vytvárať zaujímavejšie animácie pomocou funkcie Stable Diffusion a mať na výstupe video súbory namiesto niekoľkých snímok, s ktorými môžete pracovať, použite Deforum. Ide o projekt syntézy obrazu s rozšírením dostupným pre webové používateľské rozhranie Stable Diffusion, ktoré vám umožňuje riadiť a generovať video súbory MP4, dokonca aj so zvukom. Je to veľmi výkonný a zložitý nástroj s množstvom nastavení, s ktorými môžete experimentovať, vrátane posúvania a priblíženia fotoaparátu, viacerých výziev a importu videa.

Pre naše účely vám predstavíme len základy generovania pomerne jednoduchej, ale zaujímavej animácie.

Krok 1: Nainštalujte rozšírenie Deforum

Ak chcete získať rozšírenie Deforum, otvorte príkazový riadok a zmeňte adresáre na svoj priečinok stable-diffusion-web-ui. Potom použite tento príkaz git clone na inštaláciu Deforum do priečinka s rozšíreniami.

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

Spustite webové používateľské rozhranie Stable Diffusion ako normálne a otvorte kartu Deforum, ktorá je teraz vo vašom rozhraní.

Krok 2: Napíšte svoje výzvy

Možno ste zvyknutí písať jednotlivé výzvy pomocou funkcie Stable Diffusion, ale Deforum vám umožňuje napísať viacero výziev, ktoré sú „naplánované“, čo znamená, že v ktoromkoľvek bode animácie, ktorý si vyberiete, sa prepne na generovanie snímok na základe ďalšia výzva v rozvrhu.

Kliknite na kartu „Výzvy“ a zmeňte existujúce výzvy na čokoľvek, čo chcete, pričom ponechajte štruktúru zátvoriek a kariet na svojom mieste. V našom príklade použijeme túto sadu výziev:

{
    "0": "a robot stands under the night sky during a meteor shower, shooting stars, galaxies, the cosmos, milky way, ultra realistic, highly detailed, 4k uhd",
    "40": "a space station flies through space during a meteor shower, ultra realistic, highly detailed",
    "80": "a supernova explodes, vibrant colors, ultra realistic, highly detailed"
}

Čo teda tie čísla znamenajú? V predvolenom nastavení Deforum generuje 120 snímok pre vašu animáciu a túto sadu snímok rozdeľujeme na tri časti. 0 označuje prvú snímku, takže to a všetky snímky po nej budú im2img variáciami prvej výzvy. Potom v rámci 40 začne stabilná difúzia robiť variácie na základe našej druhej výzvy. Na 80 sa prepne na tretiu. Môžete pridať ľubovoľný počet rýchlych zmien a podľa potreby upraviť maximálny limit snímok na karte Kľúčové snímky.

Krok 3: Upravte nastavenia Deforum

Pravdepodobne ste si už všimli, že v Deforum je veľa nastavení, ale prejdeme cez niekoľko, aby ste mohli začať. Po prvé, na karte „Spustiť“ nájdete mnohé zo svojich typických nastavení stabilnej difúzie. Premenujte dávku, zadajte seed, s ktorým chcete začať (znova používame to pre nášho robota) a zmeňte vzorkovač na požadovaný.

Na karte Kľúčové snímky môžete upraviť pohyb „kamery“ pre animáciu. V predvolenom nastavení je približovanie v intervaloch, ale my chceme pridať zvislý pohyb „posun“, takže k „Prekladu Y“ pridáme 0:(-2), 100:(4) “rámček. To hovorí Deforum, aby s prvým snímkom zaobchádzalo ako s pixelom -2 na osi Y, potom sa po snímke 100 posunulo na pixel 4. To nám poskytne mierny posun smerom nahor, keď animácia pokračuje.

Na karte Výstup začiarkneme políčko „Vytvoriť GIF“, ktoré nám okrem video súboru MPEG poskytne aj súbor GIF. Tu by ste tiež pridali zvuk pomocou nastavení „Pridať zvukovú stopu“ a „Cesta zvukovej stopy“, ak nejaké máte.

Krok 4: Vygenerujte svoje video

Nakoniec stlačte veľké tlačidlo „Generovať“. Keďže Deforum vytvára a zošíva veľa rámov, bude to chvíľu trvať, takže si dajte kávu, kým budete čakať. Po dokončení nájdete súbor MPEG, verziu GIF plus každý jednotlivý snímok a odčítanie nastavení, ktoré ste použili, pod názvom dávky v adresári /outputs/img2img-images.

Tu je to, čo nám naša výzva priniesla:

Nie je to žiadny letný trhák, ale stále je to niečo očarujúce! Pozrite si oficiálnu príručku rýchleho spustenia Deforum, kde sa dozviete o všetkých ostatných gombíkoch a voličoch, ktoré môžete nastaviť.

Ak hľadáte ďalšie skvelé projekty AI, naučte sa generovať balíčky textúr Minecraft pomocou funkcie Stable Diffusion alebo začnite s chatGPT, plus prekvapivé veci, ktoré môžete robiť s ChatGPT.