Rubriky
Rozhovory

ROZHOVOR: Jan Brejcha o lokalizaci fotografií, neuronových sítích a životě programátora

Přinášíme vám rozhovor s dalším absolventem naší školy, Janem Brejchou, který
v současné době uzavírá doktorské studium na Fakultě Informačních Technologií VUT
v Brně a již několik let se zabývá programováním v rámci výzkumu počítačové grafiky a
vidění. Byl stážistou nejen v Adobe Research, ale také v Disney Research a
v současné době se se svou výzkumnou skupinou zabývá lokalizací fotografií.

SVÍČKOVÁ NEBO RAJSKÁ?~SVÍČKOVÁ
MICROSOFT NEBO APPLE?~APPLE
JEDNIČKY NEBO NULY?~JEDNIČKY
POČÍTAČ NEBO TELEFON?~POČÍTAČ
MATEMATIKA NEBO FYZIKA~MATEMATIKA

Jak myslíte, že vás studium na našem gymnáziu připravilo na budoucí kariéru?

Pro to, co dělám nyní, musím říci, že velice dobře. Hlavně díky přípravě v oboru matematiky, kterou teď hodně potřebuji. Vím, že na základní škole, kde už mě počítače začínaly táhnout, pro mě matematika nebyla zrovna oblíbeným předmětem, i když mi docela šla. Tento přístup se ale změnil, když jsme ve druháku dostali na matematiku pana profesora Pěničku. Najednou jsem matiku začal mít rád.

Proč tak najednou?

On to učil jiným způsobem než všichni matikáři před ním, kteří učili systémem „hlavně nad tím moc nepřemýšlet a vzorově počítat všemožné typy příkladů“. Kdežto pan Pěnička učil stylem, že to člověk musel sám vymyslet a nad danou látkou přemýšlet, a to
bylo to, co mě oslovilo. A musím říci, že základy, které jsem se tam naučil, používám dodnes.

„FXko mě na život připravilo dobře, hlavně díky přípravě v oboru matematiky.“

Věděl jste už od mala, že chcete dělat právě programátora, nebo se ta představa formovala s časem?

Poměrně ano. Už jako dítě jsem si vystřihoval obrázky počítačů, monitorů, klávesnic a lepil jsem si je na stůl. Tudíž se dá říci, že už od mala jsem k tomu měl nějaký vztah. Na konci
základní školy jsem se ještě specializovat nechtěl, proto jsem šel na gymnázium. Na F. X. Šaldy konkrétně i z toho důvodu, že mě na dni otevřených dveří, kterého jsem se před tím účastnil, inspiroval právě pan profesor Pěnička, jakožto učitel informatiky. (To on možná ani
neví…)

Co vás na vašem povolání baví? Co je tou tažnou silou, která vás utvrzuje v tom, že jste si vybral to pravé?

Zejména možnost být kreativní, a to i v technickém směru. Vždycky mě fascinovalo, že člověk může programováním na počítači vytvářet nástroje, které potom umožňují lidem dělat nové věci. Tehdy mě na tom lákalo to, že si člověk může naprogramovat to, co potřebuje, což se nezměnilo…

…a což se i projevilo ve vašem současném projektu LOCATE (odkaz ZDE), který spočívá
v automatickém hledání geografické pozice obrazového materiálu – jak videí, tak
fotografií. Díky tomu je můžeme zarovnat a prolnout s virtuálním terénem a dívat se na ně
např. v Google Earth nebo v rozšířené realitě. Na rozšířenou realitu existuje řada zaběhlých aplikací – např. PeakFinder. Jak ale můžu vědět, že ta vaše aplikace je lepší? Čím se liší od těch ostatních?

To je velmi dobrá otázka. Ona lokalizace jako taková, probíhající většinou pomocí senzorů,
jako jsou GPS, kompas, gyroskop či akcelometr, je poměrně vyřešeným problémem. Aplikace v mobilních telefonech které nám zprostředkovávají rozšířenou realitu využívají těchto senzorů k odhadu pozice a orientace daného zařízení a jsou na těchto senzorech zcela závislé. Na druhou stranu, kompas v mobilu nemusí být zcela směrově přesný, když máte na ruce hodinky nebo třeba prstýnek. Například v aplikaci PeakFinder uvidíme, že popisky vrcholků kopců často nesedí s realitou kvůli nestabilnímu směrovému odhadu kompasu.
Původním cílem projektu LOCATE tedy bylo stanovit nezávislý odhad pozice a orientace
člověka (zařízení) dle vizuální informace (např. fotografie), aniž bychom museli mít k dispozici tyto senzory. To je dobré pro případ, když senzory nejsou dostupné. Tudíž náš projekt je unikátní tím, že se snaží být co nejvíce nezávislý na těchto hardwarových řešeních, ale samozřejmě ne vždycky to jde.

,,Na mojí práci mě baví možnost být kreativní.“

Co by tedy měla,stručně řečeno, vaše aplikace ve výsledku umět?

Měla by dle fotky, kterou uživatel vyfotí, ať už v přírodě či ve městě, (my se však specializujeme spíše na přírodní prostředí), poznat, kde se člověk nachází a kterým se dívá směrem. Na základě toho může člověku ukázat nejen kde stojí, ale také popisky s informacemi o daném místě. Mohla by zobrazovat informace např. o geologii, nebo vizualizovat historické události, které se na daném místě odehrály. To je však jen ideál, kterého bude velmi těžké dosáhnout, obzvlášť při lokalizování v globálním měřítku.

Jakým způsobem se tedy fotografie dají lokalizovat?

Naším cílem je vytvářet algoritmy, které umožňují lokalizovat fotografie na základě
porovnávání s terénním modelem. K tomu využíváme různé metody včetně neuronových
sítí, které potřebují velké množství dat (příkladů) na kterých se síť naučí, jak fotografie s terénem porovnat. Máme několik projektů, které se tímto problémem zabývají. Jeden z
nich řeší otázku, jestli jsme vůbec schopni fotku přesně lokalizovat, pokud máme k dispozici alespoň hrubý odhad prostoru (v řádech jednotek čtverečních kilometrů) ve kterém byla fotografie pořízena. Ukázalo se, že tohoto schopni jsme.
Další projekt se zabývá problémem, co dělat, když tento odhad vědět nebudeme, a tedy
hledá způsoby, jak fotografii lokalizovat ve větším měřítku. Tyto dva přístupy se kombinují.
V praxi to znamená, že druhý projekt odhadne, kde by fotografie mohla být pořízena. Následně první projekt její pozici zpřesní. Díky tomu zjistíme i orientaci kamery a jsme schopni rozpoznat, kterým směrem se člověk díval.

„Momentálně počítačovým
světem hýbou neuronové sítě.“

Kdy tedy odhadujete, že by se ten ideál mohl naplnit při tak objemném množství dat, které se na to spotřebuje?

Myslím, že je to otázka roku, ale neříkám, že za rok bude vyřešeno vše. Za rok budeme mít
něco, co funguje do určité míry a postupně se to samozřejmě budeme snažit stále
zdokonalovat. Z technologického hlediska je vizuální lokalizace velmi komplikovaná oblast, a algoritmus, který by fungoval téměř vždy stoprocentně, je velmi obtížné najít. Vývoj v počítačovém vidění je spíše evoluce, než revoluce.

Co je teď populární v oblasti technologického výzkumu?

Momentálně výzkumem hýbe tzv. hluboké učení. Také se objevuje spojení umělá
inteligence. Není to jedno a to samé. Hluboké učení si lze představit jako soubor metod, které jsou z dat schopny učení se něčeho nového. A právě tyto techniky nyní převažují u řešení většiny úloh, nejen těch vizuálních, ale také například v rozpoznávání řeči a tak dále.
Vzpomeňme na Siri, Alexu nebo Cortanu.

Proč se tomu říká hluboké učení?

Je to z toho důvodu, že data, která máme, se typicky zpracovávají neuronovými sítěmi, které teď nesou název hluboké neuronové sítě. Ty si můžeme představit jako složenou funkci. Máme jednu funkci, jejíž výstup je vstupem pro druhou funkci, jejíž výstup je vstupem pro třetí funkci, a tak dále. Tím vzniká řetěz funkcí, na jehož základě neuronové sítě fungují. Ukazuje se, že čím delší, nebo chcete-li, hlubší je tento řetězec funkcí, tím se program dokáže řešení daného problému lépe naučit. Dnes těchto funkcí v sobě dokáže být zapojeno padesát i sto, v minulosti byly maximálně dvě nebo tři.

Měl jste tu možnost být na stáži v Disney Research a Adobe Research. Jak jste se tam dostal a na čem jste tam pracoval?

Do Disney Research jsem se dostal prostřednictvím školy, když jsem studoval na ČVUT v Praze. Daniel Sýkora, přednášející předmětu „Pokročilé metody automatického
zpracování obrazu“ mi tento pobyt domluvil – na základě mé semestrální a později diplomové práce, v rámci které jsem implementoval algoritmus, který on vymyslel. Na obou místech to byla rozhodně skvělá zkušenost. U Disney jsem vázán dohodou o mlčenlivosti, proto nemohu přesně říci, co jsem tam dělal. Mohu prozradit, že jsme měli za úkol naprogramovat experimentální technologii na vybarvování obrázků. Do Adobe jsem se dostal díky doktorskému studiu na FIT VUT v Brně. Můj vedoucí, Martin Čadík, mi stáž v Adobe domluvil přes známého, který byl doktorand u Daniela Sýkory na ČVUT a začínal v Adobe pracovat.

„V Americe mají oproti nám
výhodu v tom, že mají větší
prostředky k tomu, aby si mohli
dovolit více techniky.“

Kdybyste to měl porovnat, kde byste řekl, že jsou v oboru technologií napřed? U nás nebo v USA?

V oblasti, ve které se pohybuji, je například v Praze na ČVUT z celosvětového hlediska špičkové pracoviště (CMP – Center for Machine Perception). Takže v tomto ohledu pozadu
vůbec nejsme, máme spoustu skvělých lidí, kteří to tu pohání dopředu. V USA mají oproti
nám výhodu v tom, že mají více peněz a prostředků k tomu, aby si mohli dovolit více techniky. Umožňuje jim to zpracovat větší množství dat, k čemuž jsou právě prostředky v dnešní době zásadní.

Před lety jste dělal diplomovou práci na téma vybarvování obrázků. Co to bylo za projekt?

Byla to aplikace – SketchColor pro iOS, díky které si můžete v telefonu jednoduše vybarvit
vlastnoručně kreslené obrázky.
Stačí táhnout prstem uvnitř plochy, kterou chcete vybarvit, a náš algoritmus ji automaticky vybarví. Něco jako „chytrá plechovka“ ve Photoshopu.

Jak vás napadlo téma vybarvování obrázků?

Mě tohle téma vůbec nenapadlo. Napadlo právě Daniela Sýkoru, který spolupracuje
s různými studii pro vytváření animovaných filmů. Když se totiž vytvářejí animované filmy,
je potřeba rychle vybarvit poměrně velké množství obrázků, což tato metoda podstatně
zjednodušuje. Kdyby se dělalo všechno ručně, ceny animovaných filmů by byly mnohem vyšší, než jsou teď.

Když vezmu obecně povolání programátora, mnoho lidí si nejspíš řekne, že celé dny vysedáváte u počítače. Je to klišé nebo ne?

Je otázka, čím konkrétně se programátor zabývá. Já osobně moc neznám pohled do
roviny řadových programátorů, kteří jsou zaměstnaní ve firmě, s tím nemám zkušenost.
Zabývám se výzkumem, v jehož rámci programuji každý den, tudíž je vysedávání u
počítače můj denní chleba. Pro mě je programování nástroj, jak něco zkoumat,
poznávat svět a vymýšlet něco nového, spíš než plnit předem definované zadání.

„Měli bychom se na věci dívat
s nadhledem a z té lepší stránky,
poněvadž ani růžové brýle občas
nejsou na škodu.“

Co je největším snem a cílem programátora?

To je těžká otázka. Vždycky je příjemný moment, když dokončíte práci, které jste se
věnovali delší dobu. Mým snem je vytvářet nástroje, které fungují, a které mohou lidé
používat.

Máte vy nějaký konkrétní cíl ve vaší kariéře nebo se necháváte překvapit?

Na začátku doktorského studia jsem měl za cíl zkoumat metody pro vizuální lokalizaci a zabývat se problémy, které přináší. Tomuto tématu se věnuji již šestým rokem, napsal jsem několik výzkumných článků a teď píši dizertaci, čímž tuto kapitolu uzavřu. Ale co bude dál, to teď nejsem úplně schopný říci. Rád bych se věnoval něčemu podobnému. Tedy něčemu, kde uplatním své schopnosti datové analýzy, něčemu, co by pomáhalo lidem. Co konkrétně to bude, nevím. Záleží to také na tom, jestli mě někde budou chtít zaměstnat (úsměv), takže to nechávám spíše otevřené.

Co byste poradil studentům, kteří se rozhodují nad studiem oboru programátora a nemohou se rozhoupat?

Myslím, že by si měli být jistí tím, že je to bude bavit. Jelikož když to člověka nebaví a dělá to
nuceně, třeba jenom kvůli penězům, tak to není rozumná volba. To, co nás baví totiž většinou děláme i dobře.

Máte nějaké motto do této „hybernující doby“, které byste chtěl sdělit studentům?

Mně se teď vybavila slova pana profesora France, který po našem příchodu na úplně
první hodinu biologie v prváku řekl: „Maturita se blíží, je na čase začít něco dělat.“ Ale to teď
asi není úplně povzbuzující. Řekl bych tedy spíš, že vždy se dá i na negativních skutečnostech najít něco dobrého. Měli bychom se na ně proto dívat s nadhledem a brát je z té lepší stránky, poněvadž ani růžové brýle občas nejsou na škodu.

zdroj: www.flickr.com