A Toonify weboldal mögött Justin Pinkney és Doron Adler nevű urak állnak. Pinkney és Adler a saját bevallásuk szerint generatív művészettel és gépi tanulással, azon belül is „deep learning” eljárással, de leginkább a kettő keresztmetszetével foglalkoznak. A mostani Toonify (szabad fordításban nagyjából: rajzfilmesítés) pedig ennek az eredménye. Mindebből pedig következik egy jó és egy rossz hír is.
Kezdjük a jó hírrel! A Toonify-t nem lecsúszott hackerek üzemeltetik egy sencseni pincében, hogy a tisztelt felhasználó összes kinyert adatát továbbadják a Kínai Kommunista Pártnak. Az oldalt egyebek mellett az elég megbízható Pocket-lint is ajánlotta. (Ezért is mutatjuk be ezt, míg több más, kicsit is gyanús applikációt nem.)
Mind Pinkney, mind Doron pedig elhivatott művész-mérnökök, akik ki akartak próbálni egy ötletet. Pinkney a blogjában részletesen le is írja, miként működik a folyamat. Sőt itt azt is megosztotta Colab notebookban, hogy miként tudja ezt valaki magának otthon megvalósítani. A folyamat lényege a Layer Swapping megoldás, amit általánosságban nevezhetünk network blending-nek, vagyis több hálózat összeolvasztásának. Az összeolvasztás klasszikus StyleGAN-nel kezdődik. Ezt a hálózatot több emberi arccal már előre betanították és a StyleGAN2-vel együtt jött ki. Ennek az az előnye, hogy aki nincs eléggé felszerelve grafikus proceszorrokkal, illetve nincsenek hetei a betanításra, az ezzel az előre tanított modellel mindezt megspórolhatja, majd ebbe a modellbe táplálhat be további adatot. Ezt a megoldást hívják transfer learning eljárásnak. Doron ezt követően finomhangolta rendszert több, animációs filmből kivágott arccal, hogy a rendszer elkezdje felismerni, hogy ezek a karakterek milyen tipikus vonásokkal rendelkeznek. Ehhez egyébként már 300 kép is elegendő volt.
Blending humans and cartoons using @Buntworthy's Google Colab notebook. Thank you for that, it's awesome. Here is a YouTube version of this video: https://t.co/7bUd7nXaX3 pic.twitter.com/iG09lpEAXX
— Doron Adler (@Norod78) August 23, 2020
Az eredmény viszont nem volt különösebben meggyőző, akadtak kézzel rajzolt benyomást keltő arcok, akadtak CGI-szerűek, illetve ezek keverékei. A megoldást a StyleGAN felépítése jelentette. A StyleGAN-ben ugyanis a különböző rétegek (layer) mást és mást befolyásolnak a megjelenésen. Az alacsony felbontású rétegek például a fejtartást és az arc alakját, míg a magas felbontásúak a fényeket és a textúrát. Pinkney ezután írt egy olyan kódot, ami felcserélte ezeket a rétegeket (layer swapping): vagyis a program innentől a magas felbontású rétegeket az eredeti modellről vette, míg az alacsony felbontásúakat a fentebb említett, finomhangolással nyert rajzfilm-modellekből. A végeredmény pedig az hibrid arc, amely struktúrájában egy rajzfilmet idéz, de fotorealisztikus renderelést használ.
Ez tehát a folyamat lényege (már amit ebből laikusként megértettem). Adós vagyok még azonban egy rossz hírrel, ez pedig az, hogy az oldal pillanatnyilag sajnos nem működik. Az ötlet ugyanis annyira megtetszett mindenkinek, hogy a népek ráugrottak az oldalra, a szerverek fenntartási költségei pedig az egekbe szöktek. Legközelebb tehát akkor rajzfilmesíthetjük magunkat, ha a két alkotóra rádől az OTP, vagy találnak valami költséghatékonyabb megoldást. Akkor viszont elég lesz egy jó minőségű, kábé igazolványképeket idéző fotó a rajzfilmesítésre váró személyről (amit a készítők egyébként nem fognak eltárolni), és ezt már csak fel kell töltenünk.
(Kép: Toonify Yourself!)