Obsah

Ondřej Jamriška, absolvent oboru Počítačová grafika a interakce v r. 2012

"Být respektován výraznými kapacitami v oboru je skvělý pocit."

Ondro, jsi absolventem oboru OI Počítačová grafika a interakce (minor Počítačové vidění), proč sis vybral program Otevřená informatika a právě tento obor? 

Grafika mě bavila odjakživa. Na základní škole jsem četl knížku "Moderní počítačová grafika" od profesora Žáry a jeho kolegů z ČVUT FEL. Říkal jsem si, že by po ukončení střední školy bylo fajn přihlásit se na ČVUT, že tam budou lidé, kteří rozumí grafice, a že bych se tomu oboru mohl dále věnovat. V době, kdy jsem na FELu končil bakaláře, mě kromě grafiky začalo zajímat také počítačové vidění. Když jsem zjistil, že tehdy nově spuštěný program OI umožňuje studovat oba obory zároveň, byla to pro mně jasná volba, jak pokračovat dál.

V rámci své diplomové práce, kterou vedl doktor Daniel Sýkora z katedry počítačové grafiky a interakce ČVUT FEL, a získal jsi za ni i cenu děkana, jsi vyvinul algoritmus, který dokáže nalézt minimální řez v grafech s topologií mřížky nejrychleji na světě. Jaké je použití tohoto algoritmu v praxi?

Aplikací je mnoho. Z grafiky bych jmenoval například tzv. "kouzelnou hůlku" z Photoshopu. Ten, kdo s ní někdy pracoval, určitě poznal, že na složitějších obrázcích nefunguje moc dobře. Před pár lety se ale problém kouzelné hůlky podařilo naformulovat jako diskrétní optimalizační úlohu vedoucí na hledání minimálního řezu v grafu. Při použití této nové techniky se hůlka začne chovat mnohem lépe.

Další podobný případ je známý "kyblíček" v Malování. Stačí, když vybarvovaný obrys obsahuje jedinou malou dírku a barva se rozteče všude. S využitím minimálního řezu v grafu lze algoritmus vyplňování upravit tak, aby barva nevytékala. Řešení založená na výpočtu minimálního řezu v grafech se začala objevovat teprve nedávno. Jedním z důvodů je to, že ve srovnání s naivními metodami může výpočet trvat podstatně déle, což je nepřípustné z hlediska zachování interaktivní odezvy. Doufám, že moje metoda v tomto ohledu přispěje ke zlepšení situace.

V září 2013 Ti dokonce americký patentový úřad udělil patent, to je obrovský úspěch! Gratulujeme! Můžeš nám prosím napsat více k průběhu podání patentu?

Již v počátcích si vedoucí mé diplomové práce doktor Sýkora všiml, že nově vznikající implementace začíná být nezvykle rychlá a vytušil jistý komerční potenciál. Po poradě s vedoucím katedry DCGI profesorem Žárou nakonec dospěli k závěru, že by bylo vhodné věc patentově ochránit. Ačkoliv to na první pohled může vypadat jednoduše, celý proces žádosti o americký patent je mimořádně obtížný a velmi drahý. ČVUT FEL v současné době nemá dedikované právní oddělení, které by se o patentové žádosti staralo, tak jako to mají např. velké korporace, a tak bylo nutné spolupracovat s externí společností se sídlem v USA.

Práce to nebyla jednoduchá. Jen vlastní sepsání patentového textu proběhlo v několika iteracích. Do základního textu s popisem objevu - angl. "disclosure" - právníci dodají tajemnou patentovou hantýrku a neúmyslně tak většinou pozmění původní význam. Je tedy třeba text neustále pročítat a opravovat. Každá iterace je navíc velmi drahá. Americký právník si typicky zaúčtuje stovky dolarů i za poměrně jednoduché úkony jako je např. přečtení e-mailu. Celý proces podání trval přibližně dva roky a stál kolem půl milionu českých korun. Patent je v současné době rok aktivní a podařilo se jej zatím prodat čtyřem zahraničím korporacím, což pokrylo větší část nákladů na jeho přípravu. V dlouhodobém horizontu doufáme, že začne brzy vydělávat.

Je Tvoje metoda, kterou nazýváš GridCut, někde volně k dispozici a použití?

Ano, knihovna GridCut je k dispozici na adrese http://gridcut.com a pro nekomerční účely je poskytována zdarma.

Pracuješ na nějakém dalším zdokonalení své metody?

Příležitostí k dalšímu zlepšování je celá řada. Já bych třeba rád přišel na nějaké elegantní zobecnění pro složitější topologie, než jsou mřížky. Mřížky sice pokrývají nejběžnější případy, ale některé úlohy mají méně pravidelnou strukturu. Další zlepšení by mohlo spočívat v efektivnější paralelizaci výpočtu na vícejádrových procesorech. Té se již částečně podařilo dosáhnout, ale stále je tu velký prostor ke zlepšení.

Když jde o maximální rychlost, rozhoduje programovací jazyk, překladač i profiler, který naznačuje, na které části kódu se soustředit. Jaké používáš nástroje a jak ses k tomu dopracoval?

Automatické optimalizace kódu dostupná ve většině současných kompilátorů dospěla do stádia, kdy bývá velmi těžké konkurovat stroji na instrukční úrovni. Tam, kde ale stále převládá lidská intuice a rozvaha je výstavba algoritmu. Dramatického zrychlení lze například dosáhnout vhodným využitím rychlé paměti cache. To většinou vyžaduje provést jisté netriviální změny v původním naivním algoritmu, které lze typicky jen těžko algoritmizovat. Mým hlavním nástrojem je tedy intuice a rozvaha.

Pomohla Ti v projektu GridCut specifická znalost získaná v některém z předmětů bakalářského nebo magisterského studia?

Ano, pomohla. Konkrétně se jednalo o předměty Optimalizace (A4B33OPT) a Kombinatorická optimalizace (A4M35KO).

Svůj objev jsi prezentoval také v podobě článku přijatého na prestižní konferenci Computer Vision and Pattern Recognition (CVPR), která se konala v Providence v USA. Určitě to stálo hodně Tvého úsilí, vrátilo se Ti to nějak?

Určitě. Prezentace na nejvýznamnějším světovém fóru mívá typicky klíčový vliv na celkové zviditelnění v dané komunitě. Fakt, že daná metoda byla publikována na prestižním konferenci má velkou váhu také pro potencionální zákazníky. Při práci na článku, jehož součástí bylo i zevrubné porovnání rychlosti výpočtu se state-of-the-art metodami, se nám mj. podařilo zjistit, že předchůdce našeho algoritmu vykazující do té doby nejlepší absolutní časy ve skutečnosti obsahoval závažnou chybu, kterou následně uznal i sám autor.

Na vlastní konferenci jsem měl jedinečnou možnost osobně pohovořit s jedním z největších odborníků na problematiku maximalizace toku v síti Yuri Boykovem. Mé nové vylepšení jej zaujalo natolik, že se sám rozhovořil i o detailech jeho vlastních pokusů při implementaci efektivního algoritmu. O článek popisující GridCut projevil živý zájem také samotný Andrew Goldberg, tedy autor maxflow algoritmu s teoreticky nejlepší známou asymptotickou složitostí. Být respektován výraznými kapacitami v oboru je skvělý pocit.

Ondro, prozradíš nám na sebe ještě něco zajímavého? :-)

Mým velkým koníčkem je virtuální realita a s ní spojené technologie. S nástupem brýlí Oculus Rift se otevírá obrovský potenciál dalšího výzkumu a vývoje v této oblasti, které ještě před nedávnem nedával nikdo šanci. Sám tyto brýle vlastním a snažím se pro ně implementovat aplikace. Občas tak v práci vyděsím své kolegy, když odpojen od reality s brýlemi na hlavě provádím krkolomné pohyby připomínající chovance z ústavu pro choromyslné.

Děkujeme moc za rozhovor a přejeme hodně štěstí v dalším bádání!

Ondry Jamrišky se v červnu 2014 ptala Veronika Šínová

Kontakt na Ondru: ondrej.jamriska@gmail.com