Jak samořídící auta využívají technologii CNN

Jako malý kluk jsem s nadšením sledoval animované filmy, kde auta jezdila, jakoby měla vlastní rozum. Vždycky mě to nutilo přemýšlet, jestli by taková auta mohla existovat i ve skutečnosti a jestli je třeba uvnitř tajně neřídí malí roboti.

A teď, jak stárneme, se samořídící automobily stávají realitou! Upřímně mě fascinují. Dokážou třeba rozpoznat, kdy mají zastavit na stopce nebo na semaforu? Jsou schopny zaregistrovat zvířata nebo lidi, kteří se pohybují po silnici? A jak si poradí s řízením za tmy, deště nebo sněhu?

Pojďme si o samořídících autech popovídat! Jsou to auta, která se umí sama řídit bez zásahu lidského řidiče. Firmy jako Tesla a Waymo využívají pokročilé výpočetní techniky, například hluboké učení, aby tato auta byla skutečně chytrá. Hluboké učení jim pomáhá chápat dopravní značky, bezpečně řídit i za nepříznivého počasí. Je to o využití nejmodernějších technologií, které mění způsob, jakým se budeme v budoucnu přepravovat!

Historie

Historie samořídících aut je jako dlouhé a strhující dobrodružství. Představte si 20. léta minulého století, kdy byla autonomní vozidla pro většinu lidí jen vzdáleným snem. Jedna vynalézavá osobnost, Francis Houdina, se proslavila tím, že vytvořila auto, které sledovalo čáry na vozovce. Nicméně, k tomu potřebovalo speciální dráty ukryté pod povrchem silnice.

Zdroj: theatlantic.com

Posuňme se do 80. a 90. let, kdy se geniální mozky na Carnegie Mellon University pustily do něčeho velkého. Vyvinuly auta, která dokázala „vidět“ pomocí kamer, což jim umožňovalo navigovat rušnými ulicemi měst. Tato auta byla jako průzkumníci, kteří se učili řídit tím, že se rozhlíželi kolem sebe.

Poté přišel významný moment v roce 2004 v rámci pouštní výzvy. Na scénu se dostavila samořídící auta, která se pokusila o náročný závod. Sice ho nevyhrála, ale byl to začátek jejich tréninku, jak se stát lepšími řidiči.

Skutečný průlom však nastal v letech 2000 až 2010, kdy do automobilového průmyslu vstoupily velké společnosti jako Tesla, Uber a Google (nyní Waymo). Google začal testovat samořídící auta v roce 2009. Rychlý posun do roku 2015, kdy vozy Tesla uvedly na trh funkci, která jim umožňovala částečně se samy řídit na některých silnicích. Zvládaly udržovat směr jízdy a držet se v pruhu bez neustálého dozoru člověka.

S příchodem dalších společností do závodu se rozhořela bitva o vytvoření plně autonomních vozidel. Představte si týmy inovátorů, kteří závodí o to, kdo vyrobí auto, které bude umět jezdit bez lidského zásahu.

Ale příběh pokračuje. Stále pracujeme na vývoji aut, která dokážou jezdit sama, což by změnilo způsob, jakým cestujeme. Toto dobrodružství stále probíhá a znamená, že bychom se mohli dočkat bezpečnějších a jednodušších cest, protože tato luxusní samořídící auta se neustále zlepšují.

Jak fungují samořídící auta?

Samořídící auta jsou jako superinteligentní rozhodovací systémy! Používají kamery, LiDAR, RADAR, GPS a inerciální senzory pro shromažďování informací o svém okolí. Následně speciální algoritmy, které se nazývají algoritmy hlubokého učení, tato data zpracovávají, aby pochopily, co se kolem nich děje. Na základě tohoto porozumění dělají zásadní rozhodnutí pro bezpečnou a plynulou jízdu.

Zdroj: arxiv.org

Pokud se chceme dozvědět, jak samořídící auta skutečně fungují, podívejme se na čtyři klíčové oblasti zobrazené na schématu výše. Je to jako skládat puzzle – pochopení každého dílku nám pomůže vidět širší obrázek toho, jak tato úžasná auta pracují:

  • Vnímání
  • Lokalizace
  • Předpověď
  • Rozhodování
    • Plánování cesty na vysoké úrovni
    • Rozhodování o chování
    • Řízení pohybu

Vnímání

#1. Kamera

Kamery jsou jako oči samořídícího auta – jsou naprosto zásadní! Pomáhají autu vnímat, co se kolem něj děje. Tyto kamery plní různé úkoly, například rozpoznávají objekty, rozdělují je do kategorií a zjišťují, kde se auto nachází.

Aby autu nic neuniklo, má kamery umístěné po celém obvodu – vpředu, vzadu, vlevo i vpravo. Společně vytvářejí kompletní obraz všeho, co se kolem auta nachází. Je to jako mít vlastní speciální 360stupňový pohled!

Tyto kamery tu nejsou jen tak pro parádu. Jsou chytré. Některé z nich se dívají daleko dopředu, až na 200 metrů, aby auto vědělo, co se chystá. Další se zaměřují na detaily v blízkosti, aby auto mohlo věnovat pozornost i těm drobným věcem. Tento kamerový tým pomáhá autu vidět a rozumět všemu, je to jako by ho vedl zkušený kamarád, a tak může řídit bezpečně a správně se rozhodovat.

Někdy jsou kamery mimořádně užitečné, například při parkování, protože poskytují široký záběr a pomáhají při opatrné jízdě.

Avšak spoléhat se jen na kamery má své problémy, zejména za nepříznivého počasí, jako je mlha, silný déšť nebo v noci. V těchto podmínkách mohou být snímky z kamer nejasné a chaotické, což může být velmi nebezpečné.

Abychom se vyrovnali s těmito náročnými situacemi, potřebujeme speciální senzory, které dokážou fungovat i za tmy nebo za úplné noci. Měly by také dokázat měřit vzdálenosti objektů, aniž by potřebovaly světlo, které vidíme. S těmito senzory se oči auta (systém vnímání) zdokonalí v jízdě za špatného počasí nebo za snížené viditelnosti. A tak může auto jezdit bezpečněji, což je skvělé pro všechny, kteří se pohybují po silnicích.

#2. LiDAR

LiDAR, což je zkratka pro Light Detection And Ranging, je špičková technologie, která využívá lasery k měření vzdáleností objektů. LiDAR vysílá laserové paprsky a měří, jak dlouho trvá, než se odrazí zpět.

Společná práce LiDARu a kamer pomáhá autu lépe chápat okolní prostředí. Vytváří 3D mapu všeho, co se kolem auta nachází. Tyto specifické informace pak mohou analyzovat chytré počítačové programy, které pomáhají autu odhadnout chování ostatních vozidel. To je užitečné, když je silnice složitá, například na rušných křižovatkách, protože auto může sledovat ostatní vozidla a bezpečně řídit.

LiDAR má ale i své limity, které mohou být problematické. I když dobře funguje v noci a v tmavém prostředí, může mít problémy v dešti nebo mlze, což může vést k nepřesnostem v rozpoznávání okolí. K vyřešení těchto problémů se současně používají LiDAR i RADAR senzory. Tyto senzory poskytují dodatečné informace, které autu pomáhají lépe chápat okolí a díky tomu může jezdit bezpečněji a spolehlivěji.

#3. RADAR

RADAR, což je zkratka pro Radio Detection and Ranging, se už dlouhou dobu používá v běžném životě, i v armádě. Původně ho armáda používala k detekci objektů, RADAR totiž počítá vzdálenosti pomocí signálů rádiových vln. V dnešní době je RADAR nepostradatelný v mnoha autech, zejména v těch, která se umí řídit sama.

RADAR je skvělý v tom, že dokáže fungovat za každého počasí a za jakéhokoli osvětlení. Místo laserů používá rádiové vlny, což ho činí flexibilním a velmi užitečným. Nicméně RADAR je považován za hlučný senzor, což znamená, že dokáže detekovat překážky, i když je kamera nevidí.

Mozek samořídícího auta může být zmatený všemi těmito dalšími signály z RADARu, kterému říkáme „šum“. Aby se s tím vyrovnal, musí auto vyčistit informace z RADARu, aby se mohlo správně rozhodovat.

Čištění dat znamená, že auto používá speciální metody, které dokážou odlišit silné signály od slabých. Je to jako oddělování důležitých věcí od těch nedůležitých. Auto využívá chytrý trik zvaný Rychlé Fourierovy transformace (FFT), aby lépe rozumělo informacím.

RADAR i LiDAR poskytují informace o jednotlivých bodech, jako jsou tečky na papíře. Pro lepší pochopení těchto bodů auto používá něco jako seskupování. Je to jako dát podobné věci dohromady. Auto používá chytré statistické metody, jako je Euklidovské shlukování nebo K-means shlukování, aby spojilo podobné body a pochopilo je. Díky tomu je auto schopno řídit chytřeji a bezpečněji.

Lokalizace

V samořídících automobilech hrají zásadní roli lokalizační algoritmy, známé jako vizuální odometrie (VO), které určují polohu a orientaci vozu při jeho pohybu. Funkce VO identifikuje a porovnává klíčové body v po sobě jdoucích videozáznamech.

Auto se zaměřuje na konkrétní body v informacích, jako jsou značky na mapě. Pak pomocí statistických metod zvaných SLAM určí, kde se objekty nacházejí a jak se pohybují. Díky tomu auto ví, co se kolem něj děje, jako jsou silnice a lidé.

Aby to bylo ještě lepší, auto využívá i hluboké učení. Je to jako mít superchytrý počítač.

Díky těmto metodám auto dokáže skvěle chápat okolní svět. Neuronové sítě jako PoseNet a VLocNet++ používají data bodů k odhadu 3D pozice a orientace objektů. Tyto odhady se pak dají využít k pochopení sémantiky scény, jak je ukázáno na obrázku níže. Když auto používá matematické a počítačové triky, ví, kde je a co se kolem něj nachází. To mu pomáhá jezdit bezpečně a plynule.

Předpověď

Porozumět lidským řidičům je opravdu komplikovaný úkol, protože zahrnuje emoce a reakce, které se neřídí přímou logikou. Protože nemůžeme s jistotou vědět, co udělají ostatní řidiči, je pro samořídící auta zásadní, aby dokázala dobře odhadovat jejich chování. To pomáhá zajišťovat bezpečnost na silnicích.

Představte si, že samořídící auta mají oči všude kolem, jako 360stupňový výhled. Díky tomu vidí vše, co se děje. Používají tyto informace v kombinaci s hlubokým učením. Auto využívá chytré techniky k předvídání toho, co by mohli ostatní řidiči udělat. Je to jako hra, kde plánujete dopředu, jak se vám povede.

Predikce pomocí hlubokého učení

Speciální senzory v samořídících autech jsou jako jejich oči. Pomáhají autům rozpoznávat objekty, umísťovat věci do prostoru, určovat jejich polohu a sledovat jejich pohyb. Díky tomu auto ví, co je v okolí a může dělat chytrá rozhodnutí.

Během tréninku algoritmy hlubokého učení modelují složité informace z obrázků a datových bodů získaných z LiDARů a RADARů. Během skutečné jízdy (inference) ten samý model pomáhá autu připravit se na různé situace, včetně brzdění, zastavení, zpomalení, změny jízdního pruhu a další.

Hluboké učení je jako chytrý pomocník v autě. Díky tomu auto rozumí věcem, kterými si není jisté, zjistí svou polohu a lépe řídí. Zajišťuje tak bezpečnou a plynulou jízdu.

Avšak složitější je rozhodování o nejlepším postupu z několika možností. Výběr správných pohybů vyžaduje pečlivé uvažování, aby auto mohlo dobře řídit a zůstat v bezpečí.

Rozhodování

Samořídící auta musí činit důležitá rozhodnutí v obtížných situacích, a není to snadné. Je to proto, že senzory nemusí být vždy přesné a lidé na silnici mohou jednat nečekaně. Auto musí odhadnout, co udělají ostatní a pohybovat se tak, aby se vyhnulo kolizi.

Aby si auto mohlo vybrat, potřebuje spoustu informací. Auto sbírá tyto informace pomocí senzorů a poté je zpracovává pomocí algoritmů hlubokého učení, které určují polohu objektů a předvídají, co se může stát. Lokalizace autu pomáhá zjistit, kde se právě nachází a predikce vytváří několik možných akcí na základě okolního prostředí.

Otázkou ale zůstává: jak si auto vybere tu nejlepší akci z mnoha předpovídaných?

Zdroj: semanticscholar.org

Hluboké posilování učení (DRL) je metoda pro rozhodování a využívá algoritmus zvaný Markovův rozhodovací proces (MDP). MDP pomáhá odhadovat budoucí chování účastníků silničního provozu. Pokud se pohybuje více objektů, situace se komplikuje. To znamená, že samořídící auto musí uvažovat ještě více možných akcí.

Model hlubokého učení je optimalizován pomocí Bayesovské optimalizace, aby se vyřešila výzva nalézt nejlepší krok pro auto. V některých případech se pro rozhodování používá kombinace skrytého Markovova modelu a Bayesovské optimalizace, což umožňuje samořídícímu autu efektivně a bezpečně navigovat v různých složitých situacích.

Zdroj: arxiv.org

Rozhodování v samořídících automobilech probíhá hierarchicky ve čtyřech hlavních krocích:

Plánování trasy: Na začátku cesty auto určí nejlepší cestu z aktuálního místa do zadaného cíle. Cílem je najít optimální trasu z různých možností.

Rozhodování o chování: Jakmile je trasa naplánována, auto se po ní musí pohybovat. Auto vnímá statické objekty, jako jsou silnice a křižovatky, ale nedokáže předvídat přesné chování ostatních řidičů. Abychom se vyrovnali s touto nejistotou, používáme pro plánování chytré metody, jako jsou Markovovy rozhodovací procesy (MDP).

Rozhodnutí o scénáři top státního automatu

Plánování pohybu: S naplánovanou trasou a rozhodovací vrstvou, která určuje, jak po ní navigovat, systém plánování pohybu koordinuje pohyby auta. To znamená, že auto se pohybuje bezpečným a pohodlným způsobem pro cestující uvnitř. Bere v úvahu rychlost, změny jízdních pruhů a okolní prostředí.

Řízení vozidla: Posledním krokem je řízení vozidla, které sleduje referenční dráhu vytvořenou systémem plánování pohybu, a zajišťuje, aby auto plynule a bezpečně sledovalo zamýšlenou trajektorii.

Rozdělením rozhodování na tyto různé části, mohou samořídící auta jezdit dobře a bezpečně i v komplikovaných situacích. Zajišťuje to plynulou a pohodlnou jízdu pro cestující.

Konvoluční neuronové sítě

Konvoluční neuronové sítě (CNN) se v samořídících automobilech používají velmi často, protože dokážou zpracovávat prostorové informace, zejména obrázky. CNN se skvěle hodí pro extrahování důležitých prvků z obrázků, což je užitečné pro detekci mnoha různých věcí.

V CNN, jak se zvětšuje hloubka sítě, různé vrstvy zachycují různé vzory. První vrstvy detekují jednoduché prvky, jako jsou hrany, zatímco hlubší vrstvy rozpoznávají složitější prvky, jako jsou tvary objektů (například listy na stromech nebo pneumatiky na autech). Tato přizpůsobivost je důvodem, proč jsou CNN klíčové algoritmy v samořídících autech.

Základní částí CNN je konvoluční vrstva, která používá konvoluční jádro (filtrační matici) ke zpracování lokálních oblastí vstupního obrázku.

Filtrační matice se aktualizuje během tréninku, aby se získaly smysluplné váhy. Klíčovou vlastností CNN je sdílení vah, kde se stejné parametry vah používají k reprezentaci různých transformací, což šetří výpočetní kapacitu a umožňuje různé reprezentace prvků.

Výstup z konvoluční vrstvy obvykle prochází nelineární aktivační funkcí, například Sigmoid, Tanh nebo ReLU. ReLU je upřednostňována, protože konverguje rychleji než ostatní. Výsledek často také prochází vrstvou maximálního sdružování. Ta zachová důležité detaily z obrázku, například pozadí a textury.

Díky třem základním vlastnostem jsou CNN všestranné a klíčové v samořídících autech:

  • Lokální přijímací pole
  • Sdílené váhy
  • Prostorové vzorkování

Tyto vlastnosti omezují nadměrné přizpůsobení a ukládají důležité reprezentace a funkce klíčové pro klasifikaci obrázků, segmentaci, lokalizaci a další.

Zde jsou dvě CNN sítě, které používají společnosti, které jsou průkopníky samořídících aut:

  • HydraNet od společnosti Tesla
  • ChauffeurNet od Google Waymo

Zjistěte více o konvolučních neuronových sítích.

#1. HydraNet od společnosti Tesla

HydraNet je dynamická architektura, kterou představili Ravi a kolegové v roce 2018, a která byla primárně vyvinuta pro sémantickou segmentaci u samořídících vozů. Jejím hlavním cílem je zvýšit výpočetní efektivitu během inference.

Koncept HydraNet zahrnuje různé CNN sítě, nazývané větve, které jsou přiřazené ke konkrétním úkolům. Každá větev přijímá různé vstupy a síť si může selektivně vybírat, které větve se spustí během inference, a nakonec sloučí výstupy z různých větví pro finální rozhodnutí.

Teslaův hydranet

V kontextu samořídících aut mohou vstupy představovat různé aspekty prostředí, jako jsou statické objekty (stromy a svodidla), silnice a jízdní pruhy, semafory atd. Tyto vstupy se trénují v samostatných větvích. Během inference se rozhodovací mechanismus rozhodne, které větve aktivovat a sloučení shromáždí jejich výstupy pro finální rozhodnutí.

Detekce rychlosti, jízdních pruhů a pohybu

Tesla upravila architekturu HydraNet, která zahrnuje sdílenou páteř, aby se vyrovnala s problémy při segregaci dat pro jednotlivé úkoly během inference. Sdílená páteř, obvykle upravené bloky ResNet-50, umožňuje trénovat síť na datech všech objektů. Hlavy specifické pro jednotlivé úkoly, založené na architektuře sémantické segmentace, jako je U-Net, umožňují modelu předvídat výstupy specifické pro každý úkol.

Tesla HydraNet vyniká svou schopností vytvářet pohled z ptačí perspektivy a 3D reprezentaci prostředí z jakéhokoli úhlu. Tato vylepšená dimenzionalita pomáhá autu v lepší navigaci. Je pozoruhodné, že Tesla toho dosahuje bez použití LiDAR senzorů. Místo toho se spoléhá pouze na dva senzory: kameru a radar. Efektivita Tesla HydraNet umožňuje zpracovat informace z osmi kamer a vytvářet vnímání hloubky, což demonstruje působivé schopnosti bez další technologie LiDAR.

#2. ChauffeurNet od Google Waymo

ChauffeurNet je neuronová síť založená na RNN, kterou používá Google Waymo pro trénování samořídících aut pomocí imitačního učení. I když se primárně spoléhá na RNN pro vytváření jízdních trajektorií, obsahuje také CNN komponentu známou jako FeatureNet.

Tato síť konvolučních prvků extrahuje reprezentace kontextových prvků, které sdílejí i jiné sítě a používá se k extrahování prvků z percepčního systému.

Zdroj: Researchgate

Konceptem ChauffeurNet je trénovat samořídící auto tím, že napodobuje chování zkušených řidičů, pomocí imitačního učení. Aby autoři článku „ChauffeurNet: Learning to Drive by Imitating the Best and Synthesizing the Worst“ zavedli syntetická data, aby překonali omezení v nedostatku reálných tréninkových dat.

Tato syntetická data zavádějí různé odchylky, například narušení trajektorie, přidávání překážek a vytváření nepřirozených scén. Zjistilo se, že trénování auta pomocí syntetických dat je efektivnější než použití pouze reálných dat.

V ChauffeurNet není systém vnímání součástí end-to-end procesu, ale funguje jako systém střední úrovně. Díky tomu síť může používat různé vstupní variace z vnímání. Síť sleduje střední úroveň reprezentace scény ze senzorů a pomocí tohoto vstupu spolu se syntetickými daty napodobuje chování experta při řízení.

Odstraněním úkolu vnímání a vytvořením vysoce kvalitního pohledu na prostředí z ptačí perspektivy, umožňuje ChauffeurNet snazší přenos učení a síť může činit lepší rozhodnutí na základě reálných i simulovaných dat. Síť vytváří trajektorie jízdy tím, že iterativně předpovídá postupně body v dráze jízdy na základě reprezentací střední úrovně. Tento přístup se ukázal jako slibný v efektivnějším výcviku samořídících vozů a nabízí cestu k bezpečnějším a spolehlivějším systémům autonomního řízení.

#3. Částečně pozorovatelný Markovův rozhodovací proces používaný pro samořídící auta

Částečně pozorovatelný Markovův rozhodovací proces (POMDP) je matematický rámec, který se používá v kontextu samořídících automobilů pro rozhodování za nejistoty. V reálných situacích mají samořídící auta často omezené informace o svém okolí v důsledku šumu senzorů, okluzí nebo nedokonalých systémů vnímání. POMDP je navržen tak, aby se vyrovnal s takovou částečnou pozorovatelností a dělal optimální rozhodnutí na základě uvážení nejistoty a dostupných pozorování.

V POMDP působí rozhodovací agent v prostředí s částečně pozorovatelnými stavy. Agent provede akci a prostředí se pravděpodobně přenese do nových stavů. Agent však obdrží pouze částečné pozorování nebo hlučné informace o skutečném stavu prostředí. Cílem je najít strategii, která maximalizuje očekávaný kumulativní vý