Iniciativa AI dětem

Generování obrazů pomocí umělé inteligence

Za využití aplikací Midjourney a Dream AI

Autorka: Eva Nečasová, garant: Honza Tyl

Definice generativního umění zní: média vzniklá pomocí autonomního (nezávisle fungujícího) systému. Nemusí za tím ale nutně stát umělá inteligence. Už začátkem druhé poloviny minulého století začala vznikat algoritmicky generovaná díla. V této souvislosti stojí za zmínku například práce Very Molnár. Její díla byla generována na základě naprogramovaných sad pravidel. Na stejném principu funguje třeba také Želví grafika.

Záznam z webináře Generování obrazů v Midjourney 13/03/24

O co jde

V kontextu poslední doby se o generativním umění mluví hlavně v souvislosti s obrazy, které vytváří umělá inteligence. Programy jako Midjourney, DALL•E, Stability AI, Dream AI a další dovolují komukoliv snadno generovat obrazy na základě textových vstupů, kterým se říká prompty. Funguje to jednoduše — textově popíšeme naši představu a AI ji vytvoří. Prompt může vypadat třeba takto:

Cute unicorns jumping from cloud to cloud, heaven, ice cream, hyper detailed, octane render, cinematic.

Takto pak vypadá obrázek (z Midjourney):

Co lze generovat

Mimo statických obrazů lze generovat třeba také texty (ChatGPT), 3D modely (DreamFusion), videa (Sora, Gen-2), hudbu (Soundraw, Jukebox)...

Všechna tato generovaná média se schovají do škatulky, která se nazývá syntetická média.

Generátory obrazů

Uvádím několik z nich se základními popisy:

Midjourney (link)

Obrazy generuje v rozhraní Discordu, takže je třeba mít na této sociální síti účet a být uživatelem Midjourney serveru. Program funguje na bázi měsíčního předplatného: 200 promptů $10, za $30 cca 900 promtů (může se časem lišit, aktuálně zde). Midjourney je vyhledávaný pro svou specifickou estetiku. Nabízí skvělé možnosti, jak výsledný obraz parametrizovat. A existuje také možnost nahrát obrázek, kterým se algoritmus inspiruje a další.

Microsoft Copilot (link)

Krásné věci generuje také DALL•E. I tuto službu lze využívat pouze po vytvoření účtu v programu Microsoft Copilot. Po přihlášení generujete zdarma.

Stability AI (Stable Diffusion, Dreamstudio) (link)

Po založení účtu generujete prvních 200 obrazů zdarma. Následně zaplatíte $10 za dalších 1 000 (existuje také verze k instalaci, obrázky se pak generují na vašem počítači, bez filtrů). Mimo klasického generování pomocí textového vstupu lze také nahrát obrázek a ten přetvořit v něco jiného (pomocí promptu). Hlavní výhodu Dreamstudia spatřuji právě v mnoha nabízených možnostech, jak s nahranými obrazy pracovat.

Zde, zdezde je porovnání obrazů, které generovaly tyto programy.

Dream AI (link)

Služba je zdarma a funguje bez přihlášení na mobilu i desktopu, což je skvělé. Zrovna jako Dreamstudio nebo DALL•E dovoluje mimo klasického generování přetvářet nahrané obrázky. Oproti Dreamstudiu nabízí ale mnohem méně voleb. Výsledky docela ujdou.

Další podobné služby: Playground AI, Jasper, další výčet třeba zde.

V tomto článku budu popisovat detailněji Midjourney a Dream AI. Proč? Midjourney na rozdíl od DALL•E vytvořila skupina nezávislých výzkumníků a generuje překrásné věci. Dream AI je velmi snadno dostupný a z mého pohledu funguje uspokojivě.

Midjourney

Jak již bylo napsáno výše, k využívání Midjourney budete potřebovat sociální síť Discord (neplacená).

Stáhněte si aplikaci Discord a nainstalujte ji (aplikace je pohodlnější, ale Discord lze využívat také v prohlížeči). Návod k instalaci krok za krokem naleznete zde. Až ji budete mít připravenou, připojte se k serveru Midjourney kliknutím na tento odkaz. Měla by se vám automaticky otevřít aplikace (případně to povolte, vyskočí-li okénko). Výčet serverů v Discordu vidíte vlevo jako kulaté ikonky. Midjourney má v logu lodičku. Po ťuknutí na ni byste měli vlevo výčet kanálů, vpravo pak jejich obsah.

Pokud generujte poprvé, poslouží vám kanály, které se jmenují „newbies-“ (později pak kanály „general-“).
Úplně základním příkazem je
/imagine

Ten vám dovolí vložit prompt. Vyzkoušejte si to. Napište /imagine (lomítko a bez mezery pak imagine, poté stiskněte mezerník) a měl by vám vyskočit nápis prompt:. Popište anglicky, cokoliv vás napadne. Mohou to být klíčová slova nebo celé věty. Pamatujte, že čím komplexnější popis, tím lépe (max. ale 6 000 znaků). Popište například:
— osoby (co mají na sobě, co dělají…),
— zvířata (jsou chlupatá, malá…),
— bytosti (...),
— prostředí (venku, v tajemném hradě, v noci…),
— atmosféru (měkké světlo…),
— věci (barva, struktura…),
— typ záběru (fotografie na široký objektiv, seshora…),
— styl (malba, kresba, pointilismus, 3D render, isometrie, styl van Gogha…)
— a další.

Podívejte se, co generují ostatní uživatelé, jak pracují s prompty. Až se zorientujete, můžeme přejít na zajímavější věci. 🙂

Takto vypadá struktura promptu:

Po příkazu /imagine může následovat URL obrázku, kterým si přejete, aby se algoritmus inspiroval (prompt k obrazu). Za URL napíšete mezeru a pokračujete textovým popisem jako takovým (textový prompt). Údaje za dvěma spojovníky (--) parametrizují generovaný obraz. Vše si nyní rozebereme.

URL obrázku

Můžete vložit a nemusíte. To, jak moc z obrázku generátor vychází, ovlivníte parametrem --iw (image value, vkládá se na konec viz struktura promptu). Zadáte-li --iw 1, generátor přisoudí stejnou váhu obrázku jako textovému promptu.

Pokud se rozhodnete tento způsob vyzkoušet, obrázek musí být online, případně lze nahrát z disku na Discord a vložit URL obrázku nahrané na server Discordu. Detailní info, jak vkládat obrázky, naleznete zde.

Textový prompt jsem popsala výše.

Parametry

Na konci promptu můžeme uvádět tzv. parametry, které upraví to, jak bude výsledný obrázek vypadat. Úplný a aktuální výpis parametrů naleznete zde. Já uvedu ty, které mi přišly zajímavé:

--ar

Tento parametr upraví poměr stran obrazu. Nefungují všechny poměry, ale pokud zadáte nějaký, který MJ (Midjourney) neumí, vybere se ten nejbližší. Výchozí poměr stran je 1:1.
Příklad použití: --ar 16:9

--no

Pokud chcete z obrázku něco vyloučit, patří to sem.
Příklad použití: --no tree

--stylize

Tímto parametrem určíte, jak moc stylizovaný obrázek bude. Při hodnotě 625 stylizaci v podstatě vypínáte. Maximum je 60 000. Více detailů zde.
Příklad použití: --stylize 60000

--quality

Výchozí kvalita je 1, maximální pak 2 (ale stojí 2× tolik a generování trvá déle).
Příklad použití: --quality 2

--video

Tímto parametrem říkáte, že si přejete zaznamenat proces generování do formátu videa. Video automaticky nedostáváte, ale musíte si o něj „zažádat“. To lze provést poté, co je obraz vygenerován. Zareagujete na vygenerovanou zprávu emoji „obálka“ ✉ (nejlépe vyhledat v seznamu emoji – envelope) a Midjourney Bot pak odešle video do soukromé zprávy (musíte povolit zasílání soukr. zpráv ze serveru, o tom více níže). Pozn.: funguje jen do verze 3, tzn. přidejte parametr -- version 3

--version

Pomocí parametru --version můžete vyzkoušet generovat i v předchozích verzích modelu (1, 2, 3). Je zajímavé porovnat rozdíly a pokrok modelu.

--iw

Tento parametr rozhoduje, jak velkou váhu má referenční obrázek vložený přes URL a jak velkou váhu má text (prompt). Můžete vybrat čísla od 0 do 3. Čím vyšší číslo, tím větší má hodnotu vložený obrázek.

--sref

--sref funguje jako reference stylu vloženého obrázku (přes URL uvedeného za parametrem). Znamená to, že Midjourney bude ignorovat obsah obrázku a bude se soustředit pouze na styl.

Jak vyvažovat poměr obsahu v obrazech

Chcete-li generovat například psy a kočky, můžete pomocí vah určovat, jaký bude v obraze jejich poměr (např. v počtu atd.). Hodnota se přidá za znaky :: , které se bez mezery píší ke slovu, k nimž náleží. Viz toto porovnání:

Jak generovat v rámci přímých zpráv nebo na jiném serveru

Prostředí ve veřejných kanálech MJ může být nepřehledné. Proto je lepší generovat v rámci přímých zpráv, což je snadné zařídit. Příspěvky se nestanou neveřejné, ale ve feedu nebudou vyskakovat příspěvky jiných uživatelů.

Nejprve je třeba povolit přímé zprávy od ostatních uživatelů serveru. Klikněte pravým tlačítkem myši na ikonku serveru MJ (lodička) a vyberte možnost nastavení soukromí. V dalším okénku povolte přímé zprávy. Nakonec otevřete konverzaci s Midjourney Bot tak, že na něj vpravo ve výčtu uživatelů serveru kliknete pravým tlačítkem a vyberete možnost „Zpráva“. Pak už stačí přejít do přímých zpráv klepnutím na ikonku Discordu úplně vlevo nahoře. V konverzaci s Midjourney Bot můžete generovat úplně stejně jako v kanálech MJ pomocí /imagine.

Podobně je možné generovat na jakémkoliv vašem serveru. Klikněte pravým tlačítkem na Midjourney Bot, jako když jste s ním zahajovali novou konverzaci, vyberte profil a v novém okénku pak klikněte na tlačítko „Přidat na server“.

/blend

/blend je příkaz stejně jako /imagine. Dovolí vložit 2 a více obrázků, které prolne do sebe. Stačí místo /imagine napsat /blend, stisknout mezerník a objeví se pole pro nahrání obrázků, pak stiskněte klávesu enter.

Po nahrání prvních dvou obrázků (zleva) vznikl třetí.

/describe

/describe link: je dalším užitečným příkazem. Uživateli dovolí vložit obrázek, na základě nějž Midjourney vygeneruje 4 varianty promptu. Hodí se, když nevíte, jak některé věci popsat, či chcete mít stylově (nebo jinak) podobný obrázek.

/tune

Tato funkce vygeneruje na základě vašeho zadání 16, 32, 64 nebo 128 párů obrázků. Vyberete si ty, které nejvíce splňují vaše očekávání a zároveň získáte ID, které můžete pomocí parametru --style využít při dalším generování. Midjourney bude držet podobný styl.

Velikost obrazů a verzování

Pod čtyřmi variantami vygenerovaných obrazů je vždy sada několika tlačítek.

U znamená Upscale (zvětšení) a číslo značí obrázek (začíná se zleva a jde se po řádcích). Pokud se vám některý obrázek líbí, můžete ho pomocí této funkce vygenerovat ve větším rozlišení s propracovanějšími detaily. Tlačítko vpravo se šipkami pak přegeneruje celý prompt znovu. A konečně spodní řada tlačítek s V obrazy verzuje. Za tím se skrývá celkem zajímavá věc. Udělala jsem si malý pokus — verzovala jsem prompt „hyper detailed organism, complicated structure“ celkem 34× bez jakéhokoliv mého dalšího zásahu. Byla jsem zvědavá, kam se bude program ubírat. A toto je výsledek evoluce. 🙂 Úžasné video na toto téma je také zde.

Zvětšení obrazu, variace, zoom a generování dalších částí obrazu

Poté, co vyberete jeden obrázek a necháte vygenerovat jeho větší velikost, Midjourney vám dovolí ještě další zvětšení obrazu pomocí tlačítek Upscale. Upscale Creative znamená, že generuje nové detaily, které předtím v obrázku nebyly. Variantní obrázky můžete generovat ve 3 módech: lehce, silně nebo můžete přeměnit jen část obrázku tlačítkem Vary (Region). Zoom vám umožní generovat okolí obrázku a Custom Zoom dokonce změnit poměr stran. Šipky značí, na kterou stranu můžete obrázek rozšířit.

Interpunkce

Znaménka roli hrají. Můžete vyzkoušet různé varianty tvrdého a měkkého dělení. Pro tvrdé se využívají dvě dvojtečky s mezerou před a po ( :: ) a pro měkké čárky (, ). Také se zdá, že větší význam mají slova na začátku promptu než ta, co následují.

Kam se obrazy ukládají

Všechna díla, která jste vygenerovali, naleznete v galerii na stránce midjourney.com po přihlášení. Přihlašujete se pomocí účtu na Discordu. V galerii můžete vyhledávat podle klíčových slov, u každého obrazu je uveden prompt a další informace. Obrázek můžete také stáhnout. Zároveň stránka funguje jako sociální síť, kde je možné sledovat oblíbené tvůrce a jejich díla hodnotit.

Midjourney Alpha

V případě, že jste vygenerovali více jak 1 000 obrázků, můžete generovat také přímo v rozhraní webové stránky Midjourney Alpha, kde je prostředí uživatelsky příjemnější.

Dream AI (ve výuce)

O poznání uživatelsky jednodušší program Dream AI popíšu z hlediska, které na něm oceňuji nejvíce — to je nahrání obrázku a možnost jeho přegenerování vložením promptu. Než se do toho pustím, jen v krátkosti shrnu, co rozhraní nabízí.

Jste-li na stránce Dream AI, máte v podstatě 3 možnosti volby (horní dvě musíte definovat). Je třeba zadat prompt a zvolit výtvarný styl (nebo vybrat No style — žádný styl). Poté se tlačítko Create stane aktivní. Úplně dole je pak volitelná možnost nahrát obrázek, který byste si přáli přetvořit. Některé styly je možné využít pouze v placené verzi.

Ve výuce jsme to zkoušeli v ZŠ Be Open. Děti vymodelovaly krásné sošky z hlíny s pravěkou tematikou. Zkoušela jsem je přetvořit několika způsoby, abychom dětem ukázali, jaké možnosti aplikace nabízí. Když se mi výsledky nezdály uspokojivé, velmi jednoduše jsem je dokreslila, abych viděla, jak to ovlivní výsledek.

Většina vygenerovaných výsledků se mně i dětem moc líbila. Za mě má Dream AI do výuky docela velký potenciál. Nespornou výhodou je, že se uživatelé nemusí registrovat, ale lze začít tvořit rovnou v prohlížeči bez předchozích akcí. Primární zařízení, na které je Dream AI optimalizován, je chytrý telefon. Ten má dnes skoro každý, navíc odpadá přenos fotografií do počítače. Výsledné obrazy lze sdílet rovnou ze stránky, např. do Google Classroom či na sociální sítě.

Prompty z obrazu

Popsat obrázky také umí Clip Interrogator. Je to nástroj, který generuje prompty z vloženého obrázku. Pro zajímavost jsem si udělala test. Nahrála jsem vstupní obrázek, který byl vygenerovaný v Midjourney na základě promptu: Close up of Jon Lovitz running in the Las Vegas desert.

Clip Interrogator mi vygeneroval zpět tento prompt:
a man running in the desert with mountains in the background, a colorized photo, by Bert Stern, danny devito as dr. robotnik, better call saul scene 1 0 8 0 p, ned flanders, obese ), ian mcshane, sexy movie photo, discord moderator, philosophical splashes of colors, speed, him

Ten jsem zadala zpět do Midjourney a toto je výsledek (slovo „sexy“ bylo třeba vypustit, Midjourney ho zakazuje). A Jon Lovitz se ukázal jako neoblíbený herec oproti Dannymu DeVito. 🙂

Také mě zajímalo, jaký prompt mi Clip Interrogator vytvoří k tomuto obrázku, který byl vytvořen promptem: Ku Klux Klan celebrating Gay Pride.

Jde o ten Ku Klux Klan. Obrázek s tímto klíčovým slovem určitě nevygenerujete v DALL•E nebo Midjourney. Stejně jako spousty dalších slov je zakázané (ve službách DALL•E Mini nebo Dream AI, které nejsou tak striktní, s některými pracovat lze). Podobně se zachoval i Clip. Místo Ku Klux Klanu tam ale vidím „hatred“. Dal mi tento prompt:
a group of people in white holding a rainbow flag, a colorized photo, pointy mask, outlast, banner, blanco y negro, gay, post — apokalyptic, artforum, robes, crips, coloured photo, hatred, photoshopped, southern gothic, celebrating, synched, hanging.

Budoucnost generování syntetických médií

Projekťáci, ejčáristi… promťáci. Tím, jak se tyto programy stávají sofistikovanějšími, práce s nimi bude pravděpodobně brzy samostatným řemeslem. A to do té míry, že už začaly vznikat například platformy, které prodávají prompty.

Zde si můžete přečíst rozhovor s člověkem, který se do toho pustil. Například zde za $3.99 nabízí prompt, který generuje v DALL•E hezké město na bloku. Vtip je v tom, že pokaždé když zadáte prompt, vygeneruje se něco jiného. Promt je v tomto případě tedy jakousi zárukou kvality generovaného obsahu.

Tito lidé, které z legrace nazývám prompťáky, pracují více než na sestavení několika chytrých slov. Jejich úkolem je zprostředkovat nejen zamýšlenou estetiku, ale také požadované prvky ve scéně v určitém rozložení, spolu s proměnnými, které upravují parametry scény (např. poměr stran atd.). Spojují v sobě vizuálního umělce, spisovatele i programátora.

Komu ty obrazy vlastně patří?

Médiabanka Shutterstock v roce 2021 prodala společnosti OpenAI vizuální obsah a metadata za účelem natrénování modelů DALL•E. Obrazy, které tedy nyní DALL•E generuje, vycházejí také z obsahu fotobanky, která se ještě donedávna stavěla odmítavě k jejich prodeji. Shutterstock implementoval DALL•E přímo na své stránky a uživatelé zde mohou generovat obrazy, a zavedl tzv. příspěvkový fond, ze kterého platí tvůrce, jejichž obsah k trénování modelů v budoucnu prodá. Ovšem komunita původních tvůrců, z jejichž dat byl DALL•E natrénován, se oprávněně bouří. Relevantní příspěvky k tématu etického zacházení s daty si lze poslechnout v záznamech konference World Ethical Data Forum.

Je třeba si uvědomit, že tyto služby poskytují soukromé společnosti, a licenční ujednání se tím pádem liší.

Obrazy, které jako platící zákazník vygenerujete v Midjourney, patří vám jako tvůrci. Můžete je dokonce prodávat. Zároveň ale dáváte MJ souhlas k tomu, aby s nimi mohla svobodně nakládat. A ostatní uživatelé je mohou dle libosti remixovat.
Stejně to má i DALL•E — obrazy vygenerované v této službě vlastníte vy, můžete je tisknout, prodávat či jinak komerčně využívat — řeklo by se v obecné rovině. Ale každá země se k tomu staví jinak. V ČR toto platí jen pro fyzické osoby.
Dream AI se zdá být striktní. Všechen vygenerovaný obsah je jejich.