Stalo se vám již někdy, že jste si vyfotili na dovolené povedenou fotku, ale potřebovali jste ji tak trochu doladit? Například lehce upravit výraz vašeho obličeje, protáhnutí objektů, aby vypadaly více dynamicky či posunout hlavu vaší kočky, tak aby se koukala požadovaným směrem? Photoshop se vám nejspíše chtít kupovat nechtělo a stahovat podobné zdarma programy typu Gimp vás také příliš nelákalo, a to i z důvodu, že byste se nejprve museli s programem trochu naučit, což by zabralo pár hodin, a až poté byste si mohli zeditovat pořízenou fotku dle vašeho přání. A i poté by se zde pravděpodobně nacházely nedokonalosti, kvůli nimž byste výslednou práci stejně zahodili.
Naštěstí je zde řešení, výzkumníci z Institutu Maxe Plancka (pojmenovaného podle německé fyzika Maxe Plancka, jenž zavdal vzniku kvantové teorii), vyvinuli nový nástroj s názvem DragGAN, který uživatelům umožňuje upravovat fotografie pomocí pouhých několika kliknutí. Na rozdíl však od předešlých modelů, které se o toto pokoušeli, DragGAN dosahuje opravdu exkluzivních realistických výsledků.
Co to DragGAN je a v čem je tak speciální?
V první řadě máme-li pochopit co to DragGAN je, musíme se podívat na to, co to GAN modely vůbec jsou. GAN neboli generativní adverzní síť je model využívající využívající AI, díky níž umí vytvářet fotorealistické obrázky. Modely využívají dva hlavní komponenty: generátor a diskriminátor.
Generátor
Generátor, jak název vypovídá, generuje obrázek tak, aby co nejvíce odpovídal realitě. K tomu využívá tzv. náhodné (latentní) nízko-dimenzionální vektory (obrazové body), což znamená, že jsou složeny z malého počtu čísel. Generátor následně z těchto náhodných vektorů při využití neuronových sítí, vygeneruje obrázek.
Diskriminátor
Hlavním úkolem diskriminátoru je především kontrolovat obrázky vygenerované generátorem a určovat, jak moc odpovídají reálné fotografii a do jaké míry je rozeznatelné, že se jedná o výtvor umělé inteligence. Své závěry poté dává zpět generátoru, který se pokusí vytvořit věrohodnější obrázek. Jak generátor, tak i diskriminátor používá neuronovou síť, z níž se učí rozeznávat reálné obrázky od obrázků vytvořených umělou inteligencí.
Trénování GAN modelu
Trénování GAN modelu probíhá tak, že generátor a diskriminátor se vzájemně učí a zlepšují své schopnosti v adverzním (vzájemném) procesu. Zatímco se generátor pokouší vytvářet stále realističtější obrázky, které jsou pro diskriminátor těžší rozeznat od reálných obrázků, diskriminátor se snaží, co nejlépe rozlišit, zda obrázek vygenerovaný generátorem vypadá realisticky či nikoliv, zpětnou vazbou pak pomáhá generátorovi v tvorbě realističtějších obrázků. Díky tomuto procesu se generátor postupem času stále více svými výsledky přibližuje skutečným fotografiím a dokáže produkovat vysoce kvalitní fotorealistické obrázky.
Analogie komunikace Generátoru a Diskriminátoru
Komunikaci Generátoru a Diskriminátoru si lze představit jako komunikaci mezi žákem a učitelem na hodinách výtvarného umění. Žák (generátor) dostane za úkol nakreslit například vázu, poté, co žák vázu dokreslí, přinese svůj výsledek učiteli (diskriminátorovi), který zkontroluje obrázek a posoudí, do jaké míry odpovídá realitě a do jaké míry je znát, že váza byla nakreslena žákem. Na základě vyhodnocení dá učitel žákovi zpětnou vazbu, z níž se žák může poučit. V případě, že obrázek vázy nebyl dostatečný, se ho žák pokusí nakreslit znova, tentokrát však má k dispozici zpětnou vazbu od učitele, díky níž může nedostatky z obrázku eliminovat. Po dokreslení žák přinese svůj výsledek opět učiteli a čeká na jeho zhodnocení. Tento proces pak probíhá až do té doby, než učitel prakticky není schopen rozeznat jestli obrázek vázy je reálný, nebo ho nakreslil žák.
Jaké jsou hlavní parametry pro správnou funkci GAN modelů
Abychom dosáhli kvalitního upraveného obrázku, je důležité zachovat 3 hlavní klíčové vlastnosti GAN modelů, bez nichž by byl model neúplný.
1) Flexibilita
Je důležité, aby model byl schopný ovládat různé prostorové vlastnosti generovaných objektů nebo živých organismů (lidí, zvířat), a to včetně jejich pozice, tvaru, výrazu obličeje a fyzického uspořádání. Flexibilita umožňuje uživateli mít širokou škálu možností při manipulaci s jednotlivými částmi obrázku. Díky tomu můžete například pomocí několika jednoduchých úprav vytvořit ze zamračeného obličeje okouzlující úsměv nebo výraz překvapení.
2) Přesnost
Flexibilita není jediný důležitý prvek, mezi druhou podstatnou vlastnost spadá přesnost. Model by měl být schopen ovládat prostorové vlastnosti s vysokou přesností. To v praxi znamená, že byste měli být schopni upravit i velmi detailní prvky obrázku jako jsou vlasy, oční víčka nebo obočí.
3) Univerzálnost
Kdybyste do svých rukou dostali grafický editor, který by uměl upravovat pouze specifickou kategorii obrázků (například obrázky s kočkami), asi byste z omezení editoru nebyli úplně nadšeni. Univerzálnost je další podstatná vlastnost, kterou by měl GAN model disponovat. Díky univerzálnosti můžete upravovat různé kategorie obrázků jako jsou přírodní krajiny, výrazy obličejů, modely aut nebo zvířata.
Pro jakou skupinu lidí bude tento model nejvhodnější?
Osobně si myslím, že DragGAN model bude použitelný prakticky pro každého, kdo si bude chtít upravit fotku na sociálních sítí nebo navrhnout svůj vlastní design interiéru. Model nicméně bude možné použít i pro profesionální účely jako je filmový průmysl nebo design nových automobilů.
Budu tento model moci použít i já, když nemám moc technických znalostí?
Rozhodně ano! Jednou z velkých výhod tohoto modelu je jeho GUI neboli grafické uživatelské rozhraní. Díky němu můžete s modelem pracovat i v případě, když se v oblasti moderních informačních technologií tolik neorientujete. V zásadě budete mít po levé straně panel s přehledně uspořádanými editačními možnostmi, díky čemuž se lehce zorientujete a po pouhých pár kliknutích myší dosáhnete velmi pěkného výsledku.
Princip editace je jednoduchý, DragGAN model funguje na bázi bodové manipulace, při níž pracujete s dvěma body, počátečním bodem určíte, jaká část obrázku bude ovlivněna a konečným bodem určíte jakým směrem se má oblast kolem počátečního bodu pohnout. Díky výše zmíněným prvkům (flexibilita, přesnost a univerzálnost), model současně bude upravovat i celý obrázek, případně dokreslí části obrázku, které se na obrázku jinak nenacházeli. To v praxi znamená, že budete-li mít obrázek lva se zavřenou tlamou, kterou budete chtít otevřít, model automaticky dokreslí tesáky, které se na obrázku nikdy nenacházeli, aby dodal lvovi maximální realističnost. V souladu s pohybem lví hlavy se pak pohnou i určité části jeho těla, aby se zachovala strukturní přirozenost jeho těla.
Ukázky:
Video:
Vizualizace: