2018-04-22

Mít a nemít

Někdy na podzim se mi v hlavě vynořila starší a docela krátká písnička Petra Fialy "Mít a nemít" a ozývala se tam tak dlouho, až jsem si řekl, že bych si ji vlastně mohl zkusit nahrát. Jako obvykle jsem docela dlouho zasekl na harmonii originálu a když jsem měl konečně dojem, že jsem ji trefil, tak jsem usoudil, že se k té třítónové melodii stejně nehodí a udělal jsem to jinak.

Pak jsem si řekl, že dnes musí mít každá písnička své video, a tak v únoru vzniklo tohle... =)



Nějaké ty zbytné technické detaily:

Nápad na video jsem vlastně dostal během kolorování kousku Pyšné princezny, protože samotná animovaná barevná maska vypadá jako takové stylizované video. Myslel jsem, že prostě nahraju kus videa, nakreslím podle něho pár barevných snímků, pak nechám svůj program Frankensteiner spočítat nějaké interpolace a bude hotovo, ale samozřejmě to nešlo tak hladce. První testy vypadaly dost mizerně a bylo jasné, že pokud to nemá vypadat úplně příšerně, tak bych musel těch snímků nakreslit opět *mnohem* víc a to se mi už nechtělo opakovat. Zdálo se mi, že pohybující se obličej je v podstatě pořád dost podobný, takže by přece mělo být možné dopočítat se lepších výsledků.

A tak jsem dumal a dumal, až mě napadlo nejprve transformovat miniatury snímků. Výsledek byl docela nadějný, takže jsem celý program Frankensteiner radikálně přepsal tak, aby nejprve hledal podobnost v miniaturách snímků a pak postupně pokračoval přes větší kopie až k původní velikosti. Výsledný postup má samozřejmě stále svá omezení (není to zrovna neuronová síť) a na některých situacích si nevyhnutelně vyláme zuby (nový objekt v záběru, velká změna tvaru, posun kamery), ale vypočítané výsledky jsou při větších rozdílech mezi snímky výrazně lepší než u první verze a výpočet navíc trvá kratší dobu.

Trochu mě jen zamrzelo, že kdybych na podobný postup přišel dřív, tak bych si u Pyšné princezny asi ušetřil dost práce... =] Tentokrát jsem totiž musel ručně nakreslit jen 5 (slovy pět) snímků a všechny ostatní se z nich vypočítaly - přesněji řečeno jsem každé políčko nechal spočítat ze všech pěti nakreslených snímků a těch pět výsledků se pak zprůměrovalo. U složitějších scén by ta úspora určitě nebyla tak výrazná, ale i tak by to pomohlo.

Nejsem si ovšem jistý, jestli to celý proces tvorby tohohle videa nějak urychlilo, protože přepisování programu a ladění různých výpočetních koeficientů zabralo zhruba týden a zhruba stejně dlouho trvalo, než jsem se proskriptoval k takové podobě videa, se kterou jsem byl jakžtakž spokojen. Navíc se vlastně všechno počítalo pětkrát, takže přestože se doba výpočtu jednotlivých políček snížila, tak celková výpočetní doba se navýšila. Stále zbývá dost prostoru pro další technická vylepšení a optimalizace, tak snad někdy příště u nějakého úplně jiného videa... =)

Použitý software: FFMPEG (rozsekání původního videa na obrázky a spojení výsledku zase dohromady), ImageMagick (množení barevných fleků), Frankensteiner (rotoscoping a morfování osvětlení) a PNG-Blender (zkombinování barevných fleků, animované hlavy a záblesků osvětlení).

Žádné komentáře: