V roce 2016 natočili filmaři nad Utahem pomocí dronu rychle letící objekt. Rozmazaná šmouha na videu okamžitě vyvolala spekulace o UFO. Debaty však před půl rokem utnul program DeFMO od absolventa ČVUT, který na základě jediného snímku z videa odhalil, že záhadným vetřelcem je dravý pták raroh velký. U toho však schopnosti algoritmu, jenž vytvořil doktorand Denys Rozumnyi, nekončí. Umí například detekovat letící předměty, jako jsou kamínky mířící na čelní sklo auta, nebo určit rychlost míčku v tenise, počítat skóre v ping pongu a zjistit, kam dopadl fotbalový míč. Nebo chytit zloděje.
„Psal mi jeden advokát, který měl video, kde někdo v noci rychle běžel a napadl dalšího člověka. Záběry rvačky byly hodně rozmazané, tak chtěl, abych zaostřil tváře aktérů. Nebo policisté natočili auto, které jelo velmi rychle, a nemohli z videa přečíst SPZ. Obojí jsme dokázali, což je další zajímavé použití naší metody v praxi,“ vypráví Rozumnyi. Na programu, který zaostřuje pohybové rozmazání fotografií či výstřižků z videosekvence, začal pracovat už jako bakalář. Když si měl vybrat téma pro svou závěrečnou práci, jeho vedoucí, profesor Jiří Matas, mu nabídl několik alternativ. Trackování rychle se pohybujících objektů byla jedna z nich.
Podobnému projektu se u nás předtím nikdo nevěnoval, takže Denys začal se vším od základu. Nasnímal si vlastní cvičná data a naprogramoval jednoduchý kód, který zvládal detekovat a zaostřit pouze barevné míčky a pak počítal jejich rychlost z trajektorie. „Tehdy bych rozhodně nedokázal odhalit UFO,“ směje se. Systém rozvíjel krok po kroku následujících šest let.
Strojové učení
„Funguje to na principu strojového učení. Algoritmus uvidí hodně dat s různě rozmazanými objekty, které letí proti všelijakým typům pozadí. Snaží se je zaostřit a najít v nich vstupní obraz. Je to taková smyčka. Kdybych znovu rozmazal výstup ze své metody, dostanu vstupní fotografii. Program se snaží co nejlépe odhadnout vstupní objekt, ale nehledá nejbližší obraz v tréninkových datech. Učíme ho rekonstruovat to, co opravdu vidí,“ vysvětluje Denys.
V praxi to znamená, že umělá inteligence se učí na syntetických objektech. Rozumnyi používá standardní sadu tvarů, určených z výzkumu strojového učení, mezi něž patří například věci jako stůl, židle nebo auto. Tvrdí, že mezi cvičnými daty rozhodně nebyl žádný živý tvor. Čím déle však program trénuje s tím, co má, tím lepších výsledků dosahuje v jakékoli další situaci. Student říká, že jednu metodu většinou „cvičí“ pár dní, tu poslední trénoval týden.
S detekcí předmětu pak souvisí počítání rychlosti. Rozumnyi tvrdí, že je vlastně hrozně jednoduché. Nejdříve je třeba identifikovat tvar a rozměry objektu. Poté už algoritmus přesně ví, kolik centimetrů v reálném světě představuje jeden pixel na fotografii. Z toho určí, kolikrát se objekt vejde do své trajektorie, mající na fotce podobu rozmazané šmouhy, a vypočítá, jak rychle letí.
V článcích, které o svých programech publikoval, však Denys často bojoval s vyjmenováním praktických aplikací vynálezu. Většinou prý psal o detekci letících objektů, například u zmiňovaných aut. „Nejlepší využití je samozřejmě ve sportu. Když někdo hraje tenis, stolní tenis nebo fotbal, tak je na videu hodně rozmazaných objektů. My máme i mobilní aplikaci, která dokáže třeba u stolního tenisu určit rychlost míčku a počítat skóre, což je zatím naše hlavní praktické využití,“ říká Rozumnyi. Další aplikace se našla sama.
AI v roli Men in Black
Téma mimozemšťanů je vědci velice vzdálené, a tak ho nikdy nenapadlo, že by někdo mohl použít jeho algoritmus k odhalování paranormálních jevů. Jenže jistý Američan našel na Rozumného twitteru open source kód a rozluštil s jeho pomocí letitou záhadu. Denys měl štěstí, že příspěvek o odhalení UFO na stejné sociální síti vůbec zpětně dohledal.
„Hned jsem napsal e-mail svým vedoucím a řekl jsem jim, že se objevilo nové využití našeho programu. Nečekali jsme, že ho někdo ze široké veřejnosti použije v praxi, a byli jsme opravdu rádi, protože se to stalo poprvé. Vedoucí to taky fascinovalo, udělali z toho příspěvku několik slidů a už půl roku je opakují ve všech vědeckých prezentacích,“ vykládá nadšeně student. „Když jsme přemýšleli o využití naší metody v praxi, detekce UFO nás vůbec nenapadla, i když je to asi zajímavá aplikace, protože takových dat je hodně. Člověk něco vyfotí a skoro nic tam nevidí, ale počítač to dokáže v obrázku najít. Ta data tam jsou, akorát pro lidské oko skoro nerozpoznatelná. Algoritmus rozezná všechny pixely,“ dodává.
Tahle senzace se však mohla odehrát jen díky tomu, že byl program po celou dobu volně přístupný na GitHubu. Denys vysvětluje, že když člověk píše článek a chce ho publikovat, skoro vždy je podmínkou, aby byl kód volně přístupný. Rozumnyi potřebuje vydávat články kvůli doktorátu a samotný program je navíc součástí jeho studijní činnosti, takže jinak než zadarmo ho zatím ani poskytovat nemůže. „Ale až dokončím školu, tak na něm možná vydělám. Dokonce mě jednou kontaktovala firma, která počítá rychlosti podání v tenise a dělá placené sportovní aplikace pro Android a iPhone,“ říká.
O krok dál
Po získání doktorátu by Denys rád pracoval pro velkou firmu či startup. Zvažuje i alternativu setrvání na univerzitě v pozici vědce, ale nejprve by si rád vyzkoušel praktickou činnost. „Chtěl bych dělat něco, co mě baví, ale aby to bylo i užitečné, aby to používalo hodně lidí a mělo to nějaký přínos ve světě. Nechci jen psát odborné texty o něčem, co nikdo nepoužívá. První publikace, které jsme vydali, takové byly, protože kód měl spoustu omezení. Bylo ale důležité, že jsme nějak začali. Z našich nejnovějších článků má užitek široká veřejnost,“ vysvětluje Rozumnyi.
Momentálně se snaží pomocí svého algoritmu budovat 3D rekonstrukce rozmazaných objektů z fotek a videí. Zatím jeho metoda DeFMO uměla „pouze“ syntetizovat obraz z rychlokamery a rozklíčovat, jak se rozmazaná šmouha hýbe. Teď chce jít o krok dál a ze šmouhy vytvořit 3D rekonstrukci předmětu, se kterou bude možné na obrazovce počítače rotovat. Z obrázku UFO by pak vznikl celý 3D model ptáka, kde by bylo vidět, jak vypadá zezadu, z boční strany a jak dlouhá má křídla.
„Určitě je to složitější, ale k tomu, aby se rekonstrukce povedla co nejlépe, chceme používat více snímků. Většinou máme k dispozici video, ale všechny předchozí metody pracovaly pouze s jedním snímkem. Přitom však skoro vždycky existuje více vstupních informací. Video je celá řada obrázků. Myslím si, že když ten kluk z twitteru analyzoval UFO, zkusil to na několika snímcích ze sekvence a na jednom to fungovalo nejlíp. S naší další metodou bude vstupních snímků několik a výstupem bude jenom jeden model,“ přibližuje svůj nový projekt Denys.
Spojit Prahu s Curychem
Ani při modelování si však algoritmus nic nedomýšlí. Místo části objektu, která není vidět v žádném záběru videa, se ukáže černá plocha. Například ocas raroha, který při čelním pohledu na ptáka nelze vůbec vidět, by se na rekonstrukci neobjevil. „Máme prototypy a z nich je jasné, že to ani nemůže být kompletní 3D model, protože když na vstupních datech nevidíte celý objekt, můžete si ho jedině vymyslet. Metoda se maximálně může naučit na velkém datasetu hledat podobné objekty a doplnit, co by tam pravděpodobně mohlo být. Ale to my nechceme, chceme aby na výstupu bylo opravdu jen to, co je na vstupu. Když byl ocas celou dobu schován, tak ho na základě videa nikdo nedokáže vymodelovat,“ líčí Rozumnyi.
Na 3D rekonstrukcích spolupracuje s vedoucími z Curychu, kde byl na letní stáži. Oficiálně studuje doktorát na ETH v Curychu, ale zároveň pracuje na ČVUT. Se závěrečnou prací mu pomáhá mezinárodní skupina učitelů, kteří se vyznají v různých oborech – v Česku Rozumnyi řeší DeFMO a ve Švýcarsku pracuje na 3D modelování. Momentálně nový program testuje, protože za 14 dní má deadline na přípravu podkladů na každoroční vědeckou konferenci. Uvažuje dokonce o tom, že by po šesti letech výzkumu vyměnil rozmazané objekty za práci na 3D rekonstrukcích obecně. Říká se totiž, že z jediné fotografie nelze vytvořit prostorový model objektu. A to je výzva, kterou se chce Denis Rozumnyi pokusit překonat.