Z okna auta do vašeho telefonu
Všichni to známe. Potřebujeme se dostat na místo, kde jsme nikdy nebyli, otevřeme mapy a přepneme na Street View. Během pár sekund se ocitáme na rušné křižovatce v cizím městě, otáčíme se kolem dokola a hledáme ten správný vchod. A přitom nás ani nenapadne, jak obrovská technologie se za tou zdánlivě jednoduchou funkcí skrývá. Není to jen focení z auta. Je to doslova věda.
Nejdřív musíte mít ta správná auta (a někdy i batohy)
Asi víte, že Google a další firmy jezdí po světě s auty, na jejichž střeše trůní tykadlo s kamerami. Ale když jsem se o to začal zajímat víc, zjistil jsem, že to není jen tak nějaká kamera. Je to přesně zkalibrovaná soustava čoček a senzorů, která fotí ve všech směrech najednou. Každá z těch kamer má specifický úhel a překrývá se s tou vedlejší. A pak je tam ještě pár detailů, které si normálně neuvědomíme:
- Laserové skenery (LiDAR) – ty pořizují 3D mračna bodů. Když se podíváte na mapu a vidíte, že dům má přesné hrany a je tam poznat, kde končí chodník a začíná silnice, je to hlavně díky laserům.
- GPS + inerciální měření – auto si musí být naprosto jisté, kde zrovna je, a to i v místech, kde není signál (třeba v tunelu nebo mezi mrakodrapy).
- Senzory na kolech – měří ujetou vzdálenost s přesností na centimetry, aby se fotky daly správně navázat.
A když auto neprojede? Nastupují batohy s foťákem (ano, doslova se tomu říká „trekker“), lodě nebo dokonce sněžné skútry. Všechno musí mít stejný cíl – nasbírat surová data.
Slepování světa v počítači
Teď přichází ta pravá magie. Máte tisíce fotek z každého místa, laserová data, polohu. Ale samy o sobě jsou k ničemu. Počítač musí udělat to, co byste dělali vy, kdybyste měli v ruce tucet výtisků jedné ulice – poskládat je dohromady. A tady narazíme na to, proč je to tak složité.
1. Sešívání (stitching)
Každá fotka se musí překrýt s tou sousední. Software hledá společné body – třeba roh výlohy nebo značku na semaforu. Pak je zarovná tak, aby přechod nebyl vidět. Jenže problém je v tom, že auto jede a každá fotka je pořízená z jiného místa. Díky tomu vzniká efekt „paralaxy“ – objekty v popředí se posunou vůči těm v pozadí. Bez chytrých algoritmů by to vypadalo, jako by se domy vlnily.
2. Korekce perspektivy a zkreslení
Objektivy mají svá specifika. Rybí oko, které snímá celý horizont, dělá z rovných čar oblouky. A pak je tu problém s tím, že kamery jsou umístěné na střeše auta, takže vidíte jen střechy domů, když se podíváte nahoru, a kapotu auta, když se podíváte dolů. Algoritmy musí každý snímek „narovnat“ a přepočítat, aby to odpovídalo tomu, jak by svět vypadal, kdybyste stáli na chodníku a otáčeli hlavou.
3. Dokončení slepých míst
Všimli jste si někdy, že v panoramatických mapách nevidíte ve stěnách díry nebo že pod autem, které fotí, je najednou asfalt? To není náhoda. Software má k dispozici stovky fotek z několika jízd po stejné ulici. Vezme informace z jedné jízdy, kde bylo auto o metr vedle, a vyplní tím místo, které by na jiném snímku bylo prázdné. Nebo použije průměr barev z okolních pixelů a domyslí texturu. Je to jako malíř, který retušuje starou fotografii – jen místo štětce používá neuronové sítě.
Proč se někdy panorama „láme“?
Když se rozhlížíte v aplikaci a prudce otočíte telefonem, občas se vám na chvíli zobrazí šedivá plocha nebo se obraz „sekne“. To je přesně ten moment, kdy software dohání svá fyzikální omezení. Data jsou komprimovaná a ukládaná do speciálních formátů, ale aby se načetla rychle, používají se takzvané LOD (Level of Detail). Tedy že dál od vás je vše rozostřené a jen přibližné, a jak se přibližujete, dočítáte kvalitu. Až na to, že výpočet, co je „daleko“, musí brát v úvahu i to, že se díváte skrz okno nebo že za