Podcast

Data Talk #5: Lukáš Jelínek (Pocket Virtuality)

epizoda#5 |  vyšlo  |  délka  | 456 poslechů |   |  mp3

Lukáš Jelínek je Computer Vision Engineer v Pocket Virtuality, české technologické firmě, která pomáhá firmám spolupracovat na dálku v reálném prostoru. Základem jejich řešení je 3D rekonstrukce prostoru a práce s ní. V Data Talku Lukáš popisuje, jak dneska 3D rekonstrukce funguje, jaká jsou technologická omezení, NERF od NVidia, i proč bude další dimenze v datech zajímat čím dál více analytiků. Probereme taky jejich neuronovou síť, rozdíl mezi zpracováním dat “klasické algorytmy” vs. neuronový model, taky speciální nepředučené modely, tzv. zero-shot learning. Nevyhneme se ani diskuzi o konceptu metaverzu a omniverzu.

Strojový přepis

Ahoj, zdraví vás Jirka Vicherek a vítám vás u dalšího dílu podcastu Data Talk, podcastu pro datové profesionály. Mým dnešním hostem není datový specialista, ale Computer Vision Engineer Lukáš Jelínek ze společnosti Pocket Virtuality. Ahoj, Lukáši.
Ahoj.

Dnes budeme mluvit o velmi zajímavé věci, která je naprosto relevantní i pro datové odborníky a myslím, že do budoucna ji budeme muset řešit téměř všichni, kdo se věnujeme technologiím. Protože se zde začínají rozplývat buzzwordy a reálné use case, věci jako multiverse a metaverse. Právě o tom se budeme částečně dnes bavit s Lukášem. Hlavně se budeme bavit o 3D rekonstrukci prostředí, protože to je přesně to, čím se Pocket Virtuality zabývá a co jejich produkt přináší.

Než začneme, Lukáši, mohl bys nám říct něco o své cestě do Pocket Virtuality a nějaký svůj příběh?
Jasně, můj příběh jako Computer Vision inženýra samozřejmě nezačal tím, že bych se narodil jako inženýr, to se asi nikomu nepodařilo. Vždy mě bavilo Computer Vision a hlavně robotika. K té jsem se dostal poměrně brzy, ještě relativně na základní škole, v šesté třídě. Začal jsem se věnovat robotice a programování robotů a stále více jsem se věnoval technickým věcem.

Promiň, ale jak v šesté třídě začneš programovat roboty? Asi jsme chodili na jinou školu.
No, je to zajímavé, u nás jsme měli takového progresivního učitele, abych to tak nazval. On nám sehnal lego roboty, ještě z první edice, nejsou to ty dnešní programovatelné roboti. Dalo se na nich programovat v obrázkovém softwaru. Asi dva roky jsem na tom pracoval, ale pak jsem zjistil, že ten obrázkový software je nedostatečný, a začali jsme programovat přímo v C. Takže od deváté třídy programuji v C.

Chodili jsme na různé soutěže, bavilo nás to, dostal jsem se i na mezinárodní soutěže v Číně a tak. V tom jsem viděl velký smysl. Na střední školu jsem šel s tím, že chci dělat robotiku, vybral jsem si ji právě kvůli tomu. Byl jsem dokonce u ředitelky a zajišťoval, aby robotický kroužek pokračoval dál. V Praze možná nebylo tak těžké sehnat nějaký robotický kroužek, ale já jsem z Liptova, z podtatěr, a tam si člověk musí všechno vybavit a prosadit sám.

Pořád jsem pokračoval s vlastním robotem, koupil jsem si robota z Kanady, který cestoval přes Izrael dva týdny, prostě hrůzný příběh, stál pět set eur, byl to malý robotík, který jsem programoval sám. Stále jsem však narážel na to, že tomu nerozumím, nechápal jsem, co je napsáno v odborných článcích, otevřu je a nerozumím tomu. Matematika pro mě byla z jiného vesmíru. Říkal jsem si, že to musí skončit, že musím získat vzdělání, a tak jsem šel na MFF UK do Prahy, kde jsem získal formální vzdělání v matematice a byl už schopen číst odborné články. To mě nakoplo, abych pokračoval a tak jsem se snažil své znalosti zlepšovat samostudiem.

Potom jsem byl ještě v Amsterdamu, kde jsem se opravdu do hloubky ponořil do computer vision, měl jsem tam specializaci na computer vision, a od té doby se mi podařilo dostat do dalších firem až do Pocket Virtuality, kde se nyní věnujeme čistě 3D rekonstrukci a softwarovému inženýrství okolo toho. Nejde zde o čistý výzkum, ale o krásné dostání výzkumu do praxe mezi lidi.

Úžasné. Než se dostaneme k Pocket Virtuality, můžeš nám vysvětlit, jaké je propojení mezi robotikou a computer vision? Protože podle mě to není na první pohled úplně zřejmé.
Jasně, robot se nějak musí navigovat v prostoru, a tak jsem k tomu dospěl já. Chtěl jsem, aby robot byl schopný autonomně chodit po místnosti, a zjistil jsem, že na to už někdo před dvaceti lety myslel — a říká se tomu SLAM, což znamená simultánní lokalizace a mapování. Dnes má SLAM pravděpodobně každý ve svém mobilním telefonu například v rámci AR zážitků nebo pokud máte iPhone s lidarem, tam přesně funguje navigační smyčka, která vás lokalizuje a zároveň mapuje okolí. To je přesně computer vision: kamera extrahuje nějaké rysy, a robotika dnes stále více stojí právě na computer vision. To je moje pojítko mezi nimi.

Jak ses dostal do Pocket Virtuality?
Bylo to tak, že za všemi úspěchy je vždy žena — takzvaně. Já jsem s mou tehdy ještě přítelkyní a dnes ženou žil v Amsterdamu, ona v Bratislavě, a rozmýšleli jsme, co s tím. Byla na výběr Praha, Bratislava, Amsterdam nebo někde uprostřed. V té době mě oslovil Honza Hovoráz z Pocket Virtuality, a myšlenka mě opravdu nadchla. Vzdálená teleportace, dostat člověka co nejrychleji do jiného města planety přes to, že někdo tam vytvoří 3D model prostředí. Odborník, profesionál, hasič, policajt se může okamžitě virtuálně přenést na druhou stranu světa.

Navíc mi to dokonale sedělo do mého životního příběhu. Už v Amsterdamu jsem věděl, že chci dělat 3D rekonstrukci, věnoval jsem se jí tam i v diplomové práci, a toto bylo logické pokračování. Připadalo mi to úplně přirozené. Skvělé, že taková firma je v Praze. Můžeš nám ještě Pocket Virtuality popsat? Kolik máte lidí?
Pocket Virtuality je startup, takže jsme malá firma, řekněme 12 až 20 lidí, záleží na dni. Náš primární produkt nazýváme Fata Morgana, je to platforma pro spolupráci, kde odborníci mohou kolaborovat v 3D prostředí.

Abych vám to přiblížil, příkladem, který často uvádím, je, když se pokazí stroj ve fabrice. Náš primární byznys je v průmyslu. Máte na výběr: buď stroj sami zkusíte opravit lokálně, což vydrží třeba pár hodin, nebo nemáte žádnou možnost. My jsme ta třetí možnost. Zavoláte expertovi, on si otevře náš software, pracovník ve fabrice si nasadí AR brýle od HoloLens od Microsoftu a začne sbírat data: fotky, mřížky. Tyto informace se přenesou na náš server, zpracují se a odborník druhé strany má nejen video, ale i 3D model, se kterým dokáže pracovat.

Ve skutečném prostředí jsou Skype nebo Teams skvělé, když chcete komunikaci typu person-to-person, například na nějakém meetingu, ale když potřebujete opravit komplikovaný stroj, to už nestačí.

Skvělé. Můžeš nám říct, jaký typ zákazníků máte nebo kde tuto technologii můžeme vidět?
Většinou jsou to firmy, například máme spolupráci s Škodovkou, také s Aerom. Vždy hledáme konkrétní use case pro daného zákazníka. Tato technologie je ještě relativně mladá, takže se snažíme najít, kde je pro zákazníka největší přidaná hodnota.

Možná za pár let, až to bude mainstream, zákazníci se sami ozvou s požadavkem: ano, chceme právě toto, co nabízíte. Ale nyní je to spíše o spolupráci s velkými firmami.

Celé řešení stojí na technologii 3D rekonstrukce?
Je to jeden z pomocných prvků, spíše celý komplet. Dáváme uživateli na výběr, co mu nejvíce vyhovuje. Někomu vyhovuje 3D model, někomu video stream, někomu možnost vkládat záložky a mít kompletní audit situace. Máme tyto stavební bloky, které vždy přizpůsobujeme na míru zákazníkovi, aby byl spokojený.

3D rekonstrukce je to, co mě osobně baví nejvíce, a také věřím, že do budoucna bude klíčová, aby se technologie rozšířila co nejvíce.

Super, pojďme se bavit o 3D rekonstrukci. Při přípravě mě fascinovalo, jak důležitý je tento prvek pro další technologický pokrok a jak logicky na sebe navazuje. Můžeš vysvětlit, proč je podle tebe 3D rekonstrukce tak úžasným a důležitým oborem právě teď?

Já bych ji přirovnal k něčemu, co už dnes máme kolem sebe. Možná všichni používáte Google Street View. To je 3D fotografie, 360° fotka po celém světě, lokalizovaná a podobně. To nám výrazně usnadňuje život, když se podíváme, jak to tam vypadá.

Další krok od toho je celý 3D model. To vám umožňuje mít mnohem více detailů. Můžete si přiblížit, jak vypadá roh budovy, můžete opravdu opravovat jemné součástky stroje. Fotografie je super, ale chybí tam jemné detaily, informace o hloubce a preciznost. Je to jednoduše další dimenze. Přecházíme z 2D do 3D. A každá taková dimenze nám pomáhá. Můžeme mít lokalizované věci ve světě i ve firmě.

To znamená, že se nám může začít překrývat virtuální svět s reálným světem. Doteď jsme měli virtuální a reálný svět oddělené: počítače, obrazovky a reálný svet, kde lidé pracují za stroji a na tabletu mají návod.

Další krok je, že máme 3D model například fabriky, ve kterém dokážeme simulovat různé nehody nebo problémy, které mohou nastat. Některé firmy dokonce dělají predikce, jestli se stroj pokazí a podobně. K tomu ale kromě konektivity a dat od strojů potřebujeme i ten 3D model, ve kterém se uživatel dokáže orientovat a porozumět situaci. Je to jako virtuální dvojče stroje, které mu usnadní práci.

To je krásný a logický koncept, že žijeme v reálném světě, máme z něj zkušenosti a ty můžeme přenést do digitálního světa, kde se věci chovají podobně.

S tím však přicházejí velké technologické výzvy, o kterých jsme mluvili, například infrastrukturní nebo algoritmické problémy, které zatím nejsou vyřešené. A o tom bych se s tebou dnes chtěl bavit — o přechodu od klasických algoritmů k novému paradigmatu počítání a mapování těchto věcí.

Mohl bych začít u dat, abychom měli jasné, kde jsou limity současných zařízení, která dnes máme kolem sebe. Podle mě z toho krásně vypadne, proč přecházíme od klasických algoritmů k neuronovým sítím.

Když se zamyslíme, například máte iPhone s lidarovým senzorem a jste schopni udělat jednoduchou 3D rekonstrukci objektů až místnosti. Ta místnost však musí být statická, nemůžete mít chodící lidi. V realitě fabrik, kde se pořád něco mění a pohybuje, je to problém.

Dalším problémem je složitost skutečného prostředí: máme černé objekty, které běžný Time-of-Flight senzor, jako ten v iPhonu, nezaznamená, protože infračervené záření je tam pohlceno. Míváme lesklé objekty, odkud se laserové skenery odrazí a opět nevidíme správně. Transparentní objekty, jako sklo, jsou zase problém, protože laserové paprsky jím prostupují.

Z druhé strany máme fotogrametrickou cestu — sběr fotek, ze kterých se snažíme vytvořit 3D model. Ovšem i zde byla dlouhou dobu nutnost fotit ve vysokém rozlišení kvalitním foťákem. Ani tak nepokryjeme všechny problémy jako nekonečné bílé plochy stěn, lesklé povrchy nebo velmi tmavé objekty.

To jsou limity, které se posledních deset let snažilo mnoho firem překonat. Myslím, že až teď dosahujeme takového vědeckého pokroku, aby to bylo možné opravdu zvládnout a dostat to do praxe, tedy do reálného nasazení.

Dostáváme se k tomu, co jsi zmiňoval — klasické algoritmy versus neuronové algoritmy.

Klasické algoritmy, stejně jako v 2D počítačovém vidění i v 3D, fungují tak, že na začátku jsou lidé. Ti vytvoří nějaké heuristiky a řeknou si například, že když mám dvě fotky a chci vytvořit 3D model, musím znát nějaké pravidla, jak přepočítat fotku z jednoho pohledu na druhý, například, že barvy a intenzity by se měly přibližně rovnat. To jsou heuristiky, které do algoritmu vkládáme. Víme, například, že na bílé stěně může hloubka být rozmazaná a může být aproximována rovinou.

Tyto heuristiky fungují skvěle, jsou dobré, ale kdykoli narazíme na nový problém jako lesklé objekty, musíme vymyslet nový set pravidel. To znamená hodně času experimentování, pokusů a omylů a výzkumu.

Neuronové sítě však představují datový přístup: pokud máme dostatek dat a dobrou architekturu, tak se model učí sám za nás. Během učení můžeme přemýšlet, jak data upravit, jaké další získat, nebo co se naučit z předchozích modelů.

Neuronové modely mají tedy velkou výhodu v tom, že učí automaticky. Další velkou výhodou je, že existuje dobrá infrastruktura. Computer vision bylo vždycky náročné: proniknout do něj trvalo roky, nejen vědecky, ale i prakticky — člověk musel algoritmy ladit, občas nevěděl, co se děje. V 3D je ladění ještě složitější než v 2D a mnohem složitější než data v tabulce.

(Postupování by pokračovalo dál, ale text pokračuje v rozpracování této myšlenky.)

Dělení je jako neustálý proces pokusů a omylů, ale na druhou stranu máme infrastrukturu. Máme prostě cloudy, kde to umíme počítat. Máme frameworky, které to mají jako zabudované. A po dvou, třech letech vzniklo velké množství knihoven. Některé lepší, některé horší, které nám usnadňují život. Až do takové míry, že se postupně posouváme a myslím, že dojdeme do stádia, kdy si to někdo opravdu otevře jako nějaký Jupyter notebook na webu, bude si to celé moct vyzkoušet a bude mu to prostě fungovat „out of the box“. Vlastně velmi podobně jako jsme na tom dneska s 2D modely.

Dneska už když si člověk chce vyzkoušet segmentaci lidí například, tak zadá to do Googlu, a objeví se mu pár notebooků, dokonce i placených služeb. Nahrát fotky a vysegmentuje mu to pěkně lidi z těch obrázků. A myslím si, že k tomuto samému směřujeme i s 3D. Nevím, jestli to bude za rok, za tři nebo za pět, ale určitě tam budeme v krátké době. Tento jakýsi paradigmatický posun vnímám i v klasické datové analytice versus machine learning a data science. Cloud to vlastně otevřel.

Chtěl bych k tomu ještě dodat, že nemusíme klasické algoritmy úplně zavrhovat. Stále se stane, že někdo vytvoří neuronový model, který je super, úžasný, ale vyžaduje neuvěřitelné zdroje na straně grafických karet. A někdo nechce pracovat s grafickými kartami v cloudu, což je velmi drahá záležitost. Takže se stává, že existuje i zpětný proces. Někdo vytvoří model v neurálních sítích, který funguje skvěle, následně ho někdo rozebere, snaží se pochopit, co se tam děje, a vytvoří klasický model, který je normálně napsaný inženýrem a funguje podobně nebo stejně dobře, ale má řádově nižší výpočetní nároky. Tímto směrem se to také vyvíjí.

Takže to není úplné vítězství pro neuronové sítě, ale obávám se, že čím více budeme mít dat a čím více budeme mít infrastruktury, tím víc to půjde tímto směrem. Protože to demokratizuje algoritmy a zdemokratizuje počítačové vidění pro masy, což se nikdy nestalo v klasickém computer vision, a prozatím ještě ani v 3D computer vision. Někteří si myslí, že se to ještě nikdy nestalo. Zatím to totiž bylo o tom, že člověk si musel všechny ty věci sám vyzkoušet a rozumět tomu. I když tomu rozuměl, tak si několikrát „nabil záda“, než to skutečně vyzkoušel, což trvá roky, stojí strašně moc peněz a nikdo z firem to nechce platit. Firmy chtějí výsledky – raději vezmou hotový model, zapojí ho a prodají zákazníkovi.

Pomalu se k tomu blížíme, a to je ta pravá demokratizace. Jakmile kdokoliv bude schopný jít na Google a říct si: „Vytvoř 3D model a stáhni si algoritmus, který to udělá,“ myslím, že v některých ohledech už zde jsme. Když má člověk trochu technické vzdělání a umí programovat, tak si to dneska podle mě v některých případech dokáže udělat. Ale v širším měřítku, aby to zvládl kdokoliv, ještě nejsme. Ale děje se to a mám z toho velkou radost.

Mluvil jste o nových vědeckých článcích, nových knihovnách a technologiích, které to umožňují. Mohl byste jmenovat některé z nich? Nebo kdo je průkopníkem v tomto oboru? Samozřejmě průkopníky jsou největší firmy jako Nvidia, Google, Facebook. Facebook zvlášť, pokud jde o rozšířenou nebo virtuální realitu, do toho investují obrovské peníze. A jejich články mají jednu výhodu – často publikují i dema pro veřejnost. Naproti tomu standardní vědecké články to obvykle nemají, protože jejich cílem je publikovat, ne trávit měsíce vytvářením pěkného GUI s možností nastavení a hraní si s tím.

Za poslední dva roky se v 3D computer vision stalo několik kvalitativně významných věcí. Jednou z největších je NERF od NVIDIA, který sice vznikl před dvěma lety, ale za tu dobu vzniklo mnoho následných vylepšení. Jeden z posledních, vydaných začátkem tohoto roku, je InstaNERF nebo InstaNG, které jsou k dispozici na GitHubu. Ten je úžasný tím, že umožňuje 3D rekonstrukci konkrétní místnosti v řádu minut. Stačí nafotit fotky, které musí být zaregistrované – tedy musí mít parametry jejich pozic, odkud byly fotky pořízeny. Pak se tyto vloží do jejich nástroje a vznikne fotorealistický 3D model místnosti.

To znamená, že se můžete libovolně pohybovat virtuální kamerou nebo se na to třeba dívat prostřednictvím VR brýlí. Tento systém vždy vytváří nový pohled, nejen zobrazuje samotné pořízené fotky, ale vytváří i mezilehlé snímky mezi nimi. To odborně nazýváme „novel view synthesis“. Ti, kteří mají Oculus, se s tím již setkali. Například funkce Oculus Pass Through, která vás chrání před narazěním do zdí, funguje podobným způsobem, jen dáno do extrému. Máme tedy nádherný 3D model a největší výhodou je, že řeší problematické situace, jako jsou lesklé objekty, voda ve sklenici, černé objekty nebo obrazovka s odlesky. Takové prvky jsou zachyceny a model vypadá tak fotorealisticky, že když mi kolega poslal model naší místnosti, první tři sekundy jsem si myslel, že máme kameru ve fyzickém prostoru. Až když se to začalo hýbat, pochopil jsem, že je to 3D rekonstrukce.

Ten pokrok od 3D modelů, které jen zachycovaly realitu, k tomu, že je to téměř schopné oklamat člověka, je úžasný. Jde o velký pokrok, ale samozřejmě je ještě hodně práce před námi, protože jsou to stále výzkumné systémy.

Rád bych zdůraznil, že NERF je zkratka Neuro Radiance Fields (neuronová záření). Jde o to, že k vytvoření pěkného fotorealistického modelu potřebujeme téměř komplexní fyzikální simulaci. V reálném světě se například u lesklých objektů světelné paprsky odrážejí vícenásobně. Ve fotorealistických hrách nebo ray tracingu se toto simuluje pomocí odrazů paprsků a znalostí světelných zdrojů. Výpočty jsou složité a náročné, ale technologie se zlepšuje. NERF využívá podobnou metodiku, zaměřenou volumetricky, i když nechci příliš zabíhat do detailů. Jde o zachycení vlastností povrchů objektů jako průhlednost, vodnatost, odraz světla, lomy apod., proto se tomu říká radiance.

Pokud jde o použití, je NERF dostupný jako knihovna, kterou si lze stáhnout a vyzkoušet. Původní NERF od NVIDIA bych příliš nedoporučil, protože trénování modelu trvá jeden den, což je pro většinu uživatelů nepohodlné a navíc to zatěžuje hardware.

Mnohem lepší je novější InstaNERF, na který najdete odkazy na GitHubu. NVIDIA k tomu vytvořila také tutoriál, jak jej zkompilovat a spustit. K dispozici je pěkné grafické okno pro hraní se s parametry. Rychle poznáte, že první nafocené fotky nemusí vždy stačit k rekonstrukci. To jsou právě limity – rozdíl mezi tím mít něco v researchi a mít to v praxi.

V praxi bych dokonce rozděloval dvě kategorie: první, kde člověk ví, co dělá, a druhou, kde to člověka nezajímá a chce jen jednoduchý 3D model. První případ se dá relativně rychle využít, už dnes existují velké projekty, například od NVIDIA nebo Google, které dokážou rekonstrukce celých měst. Druhá kategorie – kde člověk prostě nafotí něco libovolně – je předmětem našeho zaměření. Snažíme se, aby uživatel opravdu nemusel nic řešit, protože je tam, aby opravil stroj a my vytváříme rekonstrukce za každých podmínek. Ano, klademe si nároky, ale doufáme, že to zvládneme.

Takže NERF je neuronový model, který funguje tak, že máte zaregistrované fotky jako vstup. Pak máte plně propojenou neuronovou síť, která při trénování zpracuje tyto fotky. Když je model natrénován, vstupem je pozice nové kamery a výstupem (velmi zjednodušeně) je nový obrázek z daného pohledu. Tak můžete zadat pohled shora, zezadu, z boku apod. Výstup samozřejmě záleží na rozsahu a množství původních fotek. Pokud něco nevyfotíte, model to nemá odkud „vymyslet“. Také, pokud oblast není dostatečně pokryta, bude tam chybět detail.

Pokud to mám přirovnat k jiným neuronovým sítím, obvykle děláte supervised učení na datasetech, například segmentace lidí. Čím více dat a různých situací, tím univerzálnější model dostanete, schopný fungovat kdekoliv (ulice, fabrika apod.). Tady je to odlišné: neuronová síť se učí pouze jednu konkrétní místnost či model, nic víc. Váhy sítě obsahují charakteristiky dané místnosti. Extrémně lze tuto metodu chápat jako kompresi – místo jemné 3D rekonstrukce, která je obrovská a zaberou stovky megabajtů, trénujete relativně malou neurální síť v desítkách megabajtů, která obsahuje pouze podstatné informace.

Takže máme nejen fotorealistický efekt, který je sám o sobě velmi hodnotný, ale také kompresi informací.

Zajímá mě, jak vidíte univerzální neuronové sítě, které lze použít v jakémkoliv prostředí, vůči jednoúčelovým sítím využívaným pro konkrétní úkol? Co nového to přináší? Z technologického pohledu, hlavně z hlediska infrastruktury, zatímco generická síť má stále své limity v přesnosti či recallu (zachycení všech lidí například) a málokdy se podaří perfektní výsledek, tu máme jednoúčelové sítě, které, pokud jsou dobře vytrénované, fungují perfektně. Technologicky jsou však náročnější.

Zatímco počítačový vision inženýr dříve vytvořil jeden model, který vložil do produkce jako binární soubor, nyní potřebujeme celý pipeline – uživatel nahraje fotky, ty se zaregistrují, vloží do modelu NERF a vygeneruje se jednoúčelový model. Ten pak je třeba přenést na zařízení, kde se rendruje. Každý krok má svá úskalí.

Pokud jde o renderování, momentálně to funguje v reálném čase na běžných noteboocích s NVIDIA GPU. Pokud chceme širší použití, například v rozšířené realitě, je potřeba, aby zařízení (mobily, brýle) dokázaly renderovat přímo na čipu. Možná toto přijde za rok, možná uvidíme, co NVIDIA představí.

Druhý krok je efektivní pipeline trénování, aby to nebyla drahá záležitost. Když výsledný fotorealistický model stojí tisíce dolarů na výpočetní zdroje, je to pro firmy neakceptovatelné. Je tedy potřeba optimalizovat spotřebu zdrojů. Několik frameworků toto již umožňuje, ale není to zatím jednoduché a vyžaduje to hodně práce a lidí.

Celkově počítačové vidění směřuje i tímto směrem – k jednoúčelovým modelům nebo různým self-supervised či unsupervised modelům, což je další rozsáhlé téma.

Chtěl bych se ještě zeptat, jak toto řešíte vy? Jdete také cestou neuronových modelů, abyste komprimovali informace, pracovali s menšími daty a měli efektivnější výpočetní kapacitu? Jaký je váš konkrétní příklad, jak to funguje v Pocket Virtuality?

U nás je to kombinace. Ne všechny úkoly vyřeší pouze neuronové modely. Navíc, když využíváte 3-4 neuronové modely současně, rychle narazíte na limit grafické paměti GPU. Proto máme vlastní framework, který nazýváme FM Brain, což je pipeline...

Na skládání těch computer vision algoritmů za sebe a různé sdílení dat, ladění chyb, sledování chyb a všechny takové ty věci, které potřebujete k tomu, abyste to v produkci dokázali reálně spustit. A co se týče těch algoritmických věcí, my ještě nerv nemáme spíše v takové, řekl bych, výzkumné fázi. Stále vidíme, že tam je relativně hodně věcí, které musí výzkumní pracovníci vyřešit, než to začneme řešit my. My si spíše připravujeme tu pipeline, aby už, když to bude hotové a budeme vidět, že ano, můžeme to už poskytnout zákazníkům, tak to tam rychle dostali.

Co se týče těch neuronových modelů, které máme, už jsem několikrát zmiňoval segmentaci lidí. Máme tam nějaké segmentace textu, obličejů na rozmazání obličejů, protože u těch 3D modelů je velká důležitost i na nějakou bezpečnost. Může se stát, že tam máte kolegu, který je třeba dvě minuty opřený o míchačku, jak se říká u nás. A může se dostat do 3D modelu, i přestože máme různou redukci dynamických objektů a podobně. Takže je to důležité nejen kvůli GDPR, ale i kvůli ochraně těch lidí jako takových, aby tam ty věci nebyly.

Dále máme sadu algoritmů, které vytvářejí 3D model z více pohledů, tedy z více fotografií vyrábějí 3D model. Máme klasickou variantu a neuronovou variantu. Klasická varianta vyžaduje mnohem méně výpočetních zdrojů, ale výpočet trvá déle. Neuronová varianta to spočítá rychleji, ale vyžaduje například jednu grafickou kartu sama o sobě.

Je to kvůli nějaké flexibilitě a našemu internímu testování, abychom to mohli porovnávat. Neuronové modely mají výhodu, že jsou o něco lepší v krizových situacích, tam, kde heuristika selhává. Rychlost je pro nás také důležitá. Myslím, že pro nás je důležité mít rekonstrukci v reálném čase. To znamená, že člověk nemá čekat půl hodiny nebo 15 minut, než vznikne dobrý model, ale získá nějakou předběžnou 3D rekonstrukci okamžitě, tedy i jen z těch fotografií. A pak se to v čase iterativně zlepšuje. Když se k tomu pak vrátí třeba za den, tak už bude 3D rekonstrukce tak dobrá, jak to z nafocených dat reálně jde.

Vašimi zdroji, jak jste zmiňoval, jsou data z Hololens? Data z Hololens jsou výzvou sama o sobě, protože Hololens mají vpředu zastaralý fotoaparát, který dnes nikdo na mobilu nechtěl. Kvalita fotek tedy není tak dobrá jako ze zrcadlovky nebo dnešních fotoaparátů. Dále máme mřížky (meše). Hololens produkují hrubé 3D sítě trojúhelníků, které používáme jako základní odhad, tedy jako základní 3D model, který pak můžeme vylepšovat.

Jak Hololens vznikají ty meše? Ty si počítáš sám? Vytváří je pomocí lidaru, mají totiž podobně jako iPhone time-of-flight senzor vpředu. Ten time-of-flight senzor má nízké rozlišení a nízký dosah, cca 4-5 metrů. Ale stačí to na vytvoření hrubého obrysu místnosti. Navíc fotogrammetrické metody se snaží zachytit svět co nejlépe, ale senzor je senzor. Když chci přesnost v milimetrech, vždy najdu nějaký laserový skener specializovaný na danou věc, který to přesně změří.

My v naší aplikaci ale potřebujeme spíše skenovat velké objekty snadno, bez nutnosti trávit čas školením na skenování, aby lidé mohli dělat svou práci a druhý člověk na druhé straně třeba přes moře u svého počítače mohl navigovat. Náš use case je spíše o rychlém nahrání 3D rekonstrukce. Jde nám o rychlost, nejen o přesnost.

Tím se dostáváme k tomu, jak je to s daty a jak důležitá je pro vás komprese, když chcete data sbírat z nějaké kamery v reálném čase. Mluvili jste o továrně v Nigérii, kde předpokládám, že není nejlepší konektivita. V nigérijské továrně zatím nejsme, máme ty české a pár zahraničních, kde naštěstí konektivita není problém. 4G je běžné, mají i Wi-Fi apod., tak s tím problém není.

Problém je spíše na opačné straně - kdyby si někdo v AR chtěl zobrazit 3D model, nebo byste mu chtěli nějaký 3D model poslat, například kde má být uložen stroj, je důležité, aby brýle zvládly vykreslit. Mají totiž limit na počet polygonů, které dokážou vykreslit. Jakmile tento limit přesáhnete, zařízení to nezvládne. Proto musíme modely nějakým způsobem komprimovat a decimovat. Tyto decimace modelů ale ubírají detaily a krásu modelu, kterou jste do toho dali, protože zařízení to nezvládne.

Možná je právě v tomhle nerv, co může toto vyřešit a pomoci tímto problémům. Komprimují data, ale přitom produkují relativně hezké výsledky, které jsou příjemné na pohled a detaily zůstávají. Ale k tomu musí být samozřejmě hardwarová podpora. Pokud bychom dnes chtěli nerv nasadit na Hololens, tak by to nefungovalo, nezvládly by to.

Jak tedy vidíš situaci s hardwarem? Mám pocit, že před dvěma lety kolem korony byl velký hype kolem VR a AR, mělo vyjít mnoho brýlí, a teď to vypadá o dost hůře. Jak na to nahlížíš? Myslíš, že je to jen odložení?

Problém, kdy to přijde? Myslím, že je to prostě fyzikální problém. Některé věci se jednoduše udělat nedají, co všechno slibovali. Druhá věc je, že když to jde, tak to trvá čas. Hodně špatně se odhaduje, jestli to bude rok, nebo 3-4 roky, nebo dva roky. I Facebook, který je v tom – a přitom nepřejmenoval svůj projekt Cambria a má rozhodně nejlepší algoritmy na světě – si dává čas. Mají náskok před startupy, ale i jim to trvá, než ty věci fungují.

Takže hardware se zlepší. Brýle jako Windows 1 jsou pro nás super, protože jsme teď závislí na Hololensech. A až přijdou nové brýle na Androidu či podobně, bude to určitě lepší. Doufám, že se situace zlepší. Doufám, že Facebook přijde s něčím dobrým a nebude si hrát na vlastní pěst, kde nikdo nic neuvidí.

Když vzpomenu video, kde Zuckerberg představil prototypy a říkal, že se v jednom bodě mají spojit do finálního produktu, finálních Facebook brýlí, co tě na tom zaujalo? Bylo tam něco, co my jako smrtelníci, laici, computer vision inženýři nebo vědci nepostřehneme? Bylo to pro tebe zajímavé, nebo to byla jen přehlídka?

Pro mě je to spíš veřejné představení, skoro show off. Raději mám workshopy na konferencích, kde lidé, kteří algoritmy skutečně vyvíjejí, s nějakým zpožděním třeba rok či dva, už to mají hotové a představují to. A tam člověk opravdu žasne, že na tom pracují třeba deset let. Například ta patra, to je doslova deset let výzkumu v týmu Facebooku, kde postupně zdokonalovali a zlepšovali ty technologie až do té podoby, která bude pravděpodobně v Cambrie a bude perfektní. Věřím, že všichni budou úplně uchvácení, ale kde to představí letos, nevím.

Myslím, že senzory přijdou, hardware přijdou, nevím kdy a jak dlouho to potrvá, ale na druhou stranu to až tak nevadí. Nejsem úplně fanouškem retailových řešení. Myslím si, že to přijde spíš přes pracoviště a nějakou přidanou hodnotu v kancelářích nebo výrobních halách, protože bude zaměřeno na užší use cases.

Obávám se, že v retailu budou mít lidé příliš velká očekávání kvůli hype a ta očekávání budou větší než to, co můžeme momentálně lidem nabídnout. Stále potřebujeme vyšlapat cestu, jak to všechno zvládnout. Něco jako Blackberry a iPhone – nyní budeme posílat e-maily a řešit single purpose zařízení, pořádně „businessové“, a v budoucnu hardware a technologie přejde na univerzální využití.

Myslím, že je to hlavně o zaškolení lidí. V byznysu můžu lidem dělat školení. Když nechtějí technologie používat a brání se jim jako lidé kdysi počítačům, mohu je donutit, třeba z pozice autority. Když je tam skutečná přidaná hodnota pro firmu, mohou si to vzít za své. Pak si myslím, že když člověk nosí zařízení v práci, může je začít nosit i doma, protože ho to baví.

Takže ten proces podle mě vyžaduje ještě nějaký čas, aby to vyzrálé pro retail a opravdu bylo dobré, aby lidé skutečně do toho vstoupili. Vždy na začátku jsou jen nadšenci.

Mluvili jste o tématu metaverse, což byl před dvěma lety velmi často skloňovaný pojem, dokonce slovo roku. Pak jsou ještě pojmy omniverse a multiverse, tedy spojení virtuální a rozšířené reality a platforem, na kterých se můžeme digitálně pohybovat. Je zajímavé, že nikdo přesně neví, co znamenají omniverse a metaverse. Pro mě to někdy působí tak trochu jako marketingový tah, aby si někdo zvýšil hodnotu firmy.

Uvidíme, jak to dopadne tentokrát. Z reálného pohledu, když se podíváme pod pokličku marketingových vyjádření a investic za biliony, rozdělil bych to na dvě skupiny.

První je pro-business orientovaná, tam vidím NVIDIA a Microsoft. NVIDIA jde do toho opravdu intenzivně, má svůj Omniverse, což je spíš něco jako „bridge“ v Adobe Photoshopu, který dovoluje přetahovat objekty mezi různými programy bez nutnosti exportu a importu, ale v reálném čase, umožňující kolaboraci nad 3D daty. Z našeho pohledu je to zajímavé, protože pokud NVIDIA dokáže do Omniverse dostat CAD softwary jako AutoCAD a strojírenské programy, znamenalo by to velké usnadnění, protože tato data jsou obrovská a zcela jiná než běžná. Lidé jsou zvyklí pracovat na velmi silných počítačích. Pokud se nám podaří se do toho napojit a získávat data v rozumném formátu, bude to pro nás obrovská úspora a navíc to vytvoří síť spolupracujících firem.

Tedy, stejně jako píšu článek s dalšími lidmi z Google Docs, tak totéž bude možné dělat v AutoCADu s modelem domu nebo auta. Architekt bude vytvářet 3D model domu, interiérový návrhář do toho navrhne interiér a projektant zakreslí šířky zdí, umístění elektriky a další požadavky, aby to odpovídalo normám. V architektuře už existuje BIM formát, ale Omniverse by měl být více orientovaný na 3D design průmysl – filmy, hry, tvorbu assetů pro rozšířenou a virtuální realitu, protože tyto assety musí někdo vytvářet. Aby virtuální svět mohl vzniknout, musí do toho být zapojeno miliony lidí, ne jen pár desítek tisíc designérů. Musí to být rozprostřená společnost jako internet dnes. Potřebujeme obsah, pokud nebudeme mít vše generované AI – a AI musí být dost dobrá, aby nebyla rozpoznatelná jako opakující se – tak musí někdo obsah vytvářet.

Druhým hráčem je Microsoft, který už dnes má aplikace pro AR a VR, zaměřené na enterprise řešení jako jsou průvodci inspekcemi nebo návody, velmi podobné tomu, co my poskytujeme. Myslím, že Microsoft půjde svou vlastní cestou a bude podporovat vlastní zařízení jako HoloLens, tablety a vše běžící na Windows. Uvidíme, zda to tentokrát vyjde, protože v minulosti už této oblasti několikrát propadli.

Microsoft pravděpodobně půjde cestou integrace do Teams, čímž přiblíží 3D a virtuální svět do firem, které už Teams běžně používají. Tímto způsobem budou podporovat virtuální meetingy a podobně. To bude jejich hlavní kanál, jak tento obsah distribuovat.

Pak je druhá kategorie, kam patří Facebook a Epic Games. O nich se moc neví. Epic Games kupuje firmy jako slovenský Capturing Reality, která je vynikající v tvorbě 3D modelů fotogrammetrií. To je skvělá firma pro vytváření assetů. Koupili i další společnosti. Myslím, že Epic Games se půjde spíše cestou her, kde už mají ekosystém a budou ho rozšiřovat. Ale nevidím, že by chtěli proniknout do reálného AR světa, tedy rozšířené reality.

Facebook má do toho investováno nejvíc, má nejvíce lidí zapojených do projektu.

Tam, kde je potřeba sehnat člověka, který nepracuje pro Facebook, je to téměř nemožné. Téměř až natolik.

Takže to bude zajímavé v tom, jaký hardware představí a jaká bude otevřenost celého systému. To je podle mého názoru velmi důležité – jestli to nebude prostě uzamčeno na Facebook, jako byly dřívější pokusy. A také jak k tomu Facebook přistoupí – zda to bude spíše kolaborativní, tedy že se spojí s Nvidií, Microsoftem a dalšími hráči a vytvoří nový standard internetu, který bude 3D, nebo jestli si každý bude hrát na svém vlastním písečku a uvidíme, kdo zvítězí. Nevím zcela přesně předpovědět, která z těchto cest nakonec zvítězí. Probíhají obě současně, jak jedna, tak druhá, ale myslím, že to je momentálně spíše ve hvězdách. Uvidíme, co přinese Facebook na podzim.

Co bude dalším průlomem? Jaká je další překážka, kterou musí tento svět překonat, aby se kvalitou posunul? Jaké jsou podle tebe ještě velké výzvy, které je třeba vyřešit?

Pokud vyřešíme obsah a algoritmy během nejbližších dvou, tří let, pak podle mě bude nejnáročnější ten sociální aspekt. Často jsme o tom v kanceláři diskutovali, jestli si vůbec dokážeme představit celý den pracovat ve virtuální realitě, nebo jestli si představujeme spíše práci "půl na půl" – například rozšířenou realitu, kdy sedím za svým počítačem, mám nějaké brýle nebo zařízení a náhle ke mně přijde můj virtuální kolega.

Dnes mnoho firem přechází na plně vzdálený systém práce, ale tam pravděpodobně bude chybět osobní kontakt. A myslím, že toto bude to nejnáročnější – jak to nastavit, aby to nebylo zvláštní nebo nepříjemné, aby bylo lidem přirozené a aby v tom vydrželi co nejdéle. Protože ve výsledku to bude to, co firmy budou chtít – aby tam lidé trávili většinu svého času, protože trávením většiny času a financí v tomto prostoru vznikne jejich primární zdroj příjmů.

A toto bude podle mě také náročnější. Ty algoritmy a technická stránka bude podle mě nějak vyřešena, ale sociální aspekt je trochu mimo mou oblast zájmu. Já jako zapálený hráč Fortnite, i přes svůj věk, tam sociální aspekt příliš nevidím. Když se podívám kolem sebe na dnešní realitu nás dvou – kolik času trávíme online – kolik času trávíš u otevřeného notebooku, pak jedeš domů, otevřeš telefon, vyřídíš pár mailů, podíváš se na nějaké video, dorazíš domů, otevřeš notebook a pustíš Netflix. Mám pocit, že máme obrazovku před očima takřka neustále. Pokud se podívám na generaci mladších lidí, je to ještě výraznější. Myslím si, že v digitálním světě už žiji do značné míry.

Samozřejmě existuje nějaké propojení – když se podíváš na děti v základní škole, sedí vedle sebe na plotě a píšou si na WhatsAppu, takže digitální propojení tam už zcela jistě je. Myslím, že máš pravdu, že se o mladou generaci tolik nebojím. Spíš se obávám o naši generaci a starší – jak to zvládneme. Navíc bude třeba nastavit procesy ve firmách – a to může trvat déle než mladá generace, která si to své už nějak prosadí. O těch mladých se fakt nebojím. Už dnes žijí v metaverzu a když hrají celý den Fortnite, tak tam je reálně všechno.

Právě ale nastavit ty procesy tak, aby stvořily přidanou hodnotu, aby nikoho neobtěžovaly a aby lidé kvůli tomu neodcházeli z práce, aby nebyli rozzlobení, a aby to bylo efektivní – aby se neztratila efektivita práce proto, že něco bude neustále rušit – to je zásadní. Vidíme, že některé korporace mají téměř zakázané Facebooky a podobně, aby lidé nebyli rozptýlení. A teď si představ, že jim dáš na oči 3D metaverzum. Jak to celé nastavit?

S tím sociálním aspektem jsem spíše myslel pracovní sociální vztahy, ne čistě společenské. Jak to zvládnout tak, aby to bylo netto pozitivní a abychom si mohli za deset let sednout a říci: stálo to za to, ušetřil jsem dvě hodiny v práci a mám mnohem lepší vztah s kolegy třeba na druhé straně oceánu.

Jsem nadšený, kromě toho sociálního aspektu, z toho, co jsi říkal o obsahu. Protože i z mé pozice, jako někoho, kdo tvoří obsah – lidé jdou za informacemi, za obsahem a za nějakým zážitkem, a ten je rozhodující.

Přijde mi fascinující, že jsem si předtím neuvědomil, proč je ta 3D rekonstrukce tak důležitá pro vznik metaverza, protože nám umožňuje jednoduše do něj vložit obsah, který máme v reálném světě. Přesně tak – jako na YouTube nahraješ video z mobilu nebo GoPro, tak do metaverza potřebuješ nahrát 3D objekty nebo nějaký kousek věci, která se ti líbí. A pokud nejsi úplně zkušený grafik, který si otevře Blender a vytvoří vše od začátku, tak druhá nejjednodušší možnost je vzít něco ze skutečnosti okolo sebe a přenést tento objekt do virtuálního prostoru.

Samozřejmě každý chce, aby tento kus reality v metaverzu vypadal co nejlépe a nejhezčeji a zároveň vývojáři platforem chtějí, aby byl co nejefektivnější – nezabíral moc paměti, dobře se vykresloval. Sloučit tyto požadavky k oboustranné spokojenosti je velký inženýrský úkol.

Moc se těším, co v budoucnu uvidíme a jak se budeme my dva a naše děti potkávat v metaverzu nebo omniverzu.

Co vás teď čeká v projektech? Jaké výzvy stojí před vámi? Co právě řešíš ty ve své práci?

Teď to mám zhruba půl na půl. Částečně řeším standardní softwarové inženýrství, protože v startupu se stále objevuje spousta nových věcí a problémů, které je potřeba řešit, a nejen počítačové vidění, ale i klasické softwarové inženýrství. Takže myslím, že nás nyní čeká hlavně nabírat spoustu šikovných lidí, kteří jsou zapálení a těší se, že mohou pracovat na inovativních technologiích v inovativní firmě.

A následně nás čeká hlavně zajistit, abychom měli mnoho spokojených zákazníků. To považuji za nesmírně důležité – přinášet jim co největší přidanou hodnotu, abychom mohli postupně růst. Začínáme vždycky s nějakým menším projektem a postupně hledáme větší a zajímavější řešení, která mohou přinést například 3D rekonstrukce, vzdálenou asistenci nebo návody.

Další věcí, která nás čeká, je trošku se otevřít světu – trochu ukázat, co virtuální realita je a co děláme, a trochu rozpustit ty zavřené dveře.

Držím ti moc palce, děkuji, že jsi přišel a sdílel své zkušenosti a vizi toho, jak bude v budoucnu vypadat 3D rekonstrukce a metaverzum. Přeji hodně štěstí tobě i celému projektu.

Děkujeme. Rád bych ještě dodal, že určitě budeme organizovat nějaký meetup nebo něco podobného právě v rámci té otevřenosti, takže kdyby měli posluchači zájem, ať se ozvou buď na mail, nebo na…

Určitě, pokud budete pořádat podobné akce, rádi naše posluchače v newsletteru nebo v nějaké epizodě informujeme.

Já jsem si virtuální realitu vyzkoušel a je to opravdu zážitek podobný tomu, když jsem si poprvé nasadil VR brýle, takže rozhodně doporučuji, pokud budete mít příležitost nebo cestu, nenechte si to ujít.

Super, díky moc, ahoj.

Ahoj, čau, čau.

Děkuji, že jste si Data Talk poslechli až do konce. Jak se vám tato epizoda líbila? Co byste na našem podcastu zlepšili? Koho bychom měli pozvat příště? Prosím, dejte mi vědět, co si myslíte – a to buď osobně na příštím Data Mesh Meetupu, nebo hned nyní na mail jirka-zavináč-datatalk.cz.

Pokud se vám tato epizoda líbila, doporučte ji prosím dále. Klikajte na srdíčka, na hvězdičky, dávejte odběry, aby naše statistiky svítily zeleně, aby křivky stoupaly a všichni stakeholdeři schvalovali další rozpočet.

Ještě jednou děkuji. Poděkování patří i mým kolegům, Nikovi a Iris, stejně jako členům našeho partnerského klubu Big Hub, Deep Note, Ataka, mně a Manťe.

Pokud máte návrh na hosty, témata, pořádáte vlastní akci nebo byste chtěli datovou komunitu podpořit jinak, určitě mi dejte vědět.

Díky a nechť vás provází data.

Det er jo.

Odebírejte Data Talk

Apple Podcasts Spotify Deezer Overcast Podcast Index RSS Feed