În copilărie, eram fascinat de desenele animate cu mașini care se mișcau parcă de sine stătător. Mă întrebam adesea dacă asemenea vehicule ar putea exista în realitate și dacă nu cumva, în interiorul lor, se ascund niște roboței magici care le conduc.
Acum, că am crescut, mașinile autonome nu mai sunt un vis, ci o realitate uluitoare! Sunt absolut captivat de modul în care funcționează. Oare cum de știu când să oprească la indicatoarele de stop și la semafoarele roșii? Cum reușesc să observe animalele sau oamenii care traversează strada? Și ce se întâmplă cu condusul pe timp de noapte sau pe vreme rea, cu ploaie sau zăpadă?
Să explorăm așadar universul mașinilor care se conduc singure! Acestea sunt vehicule capabile să se deplaseze fără intervenția unui șofer uman. Companii ca Tesla și Waymo utilizează tehnologii avansate de inteligență artificială, precum învățarea profundă, pentru a transforma aceste mașini în adevărate minuni tehnologice. Învățarea profundă le ajută să interpreteze semnele de circulație și să se deplaseze în siguranță, chiar și în condiții meteorologice dificile. Totul se bazează pe utilizarea tehnologiei de ultimă oră pentru a revoluționa modul în care ne vom deplasa în viitor!
Istoria
Istoria mașinilor autonome este ca o călătorie lungă și fascinantă. Să ne imaginăm anii 1920, când aceste vehicule erau doar un vis îndepărtat. Un inventator ingenios, Francis Houdina, a reușit să construiască o mașină care urmărea liniile trasate pe drum. Totuși, aceasta avea nevoie de fire speciale, ascunse sub carosabil, pentru a se ghida.
Sursa: theatlantic.com
În anii 1980 și 1990, echipe de cercetători de la Universitatea Carnegie Mellon au făcut un pas important. Ei au creat mașini care puteau „vedea” folosind camere, ceea ce le permitea să se deplaseze prin oraș. Aceste vehicule erau ca niște exploratori, învățând să conducă observând mediul înconjurător.
Un moment crucial s-a petrecut în 2004, în timpul unei provocări desfășurate în deșert. Mașinile autonome au intrat în scenă, încercând să termine o cursă dificilă. Deși nu au reușit să câștige, această experiență a fost un antrenament valoros pentru a deveni șoferi mai buni.
Adevărata revoluție a început în anii 2000 și 2010, când companii importante precum Tesla, Uber și Google (acum Waymo) au intrat pe piața auto. Google a început testarea mașinilor autonome în 2009. În 2015, Tesla a introdus o funcție care permitea mașinilor sale să se conducă parțial singure pe anumite drumuri. Acestea puteau controla direcția și menține banda de mers fără intervenția constantă a șoferului.
Pe măsură ce tot mai multe companii s-au alăturat cursei, competiția pentru crearea mașinilor complet autonome s-a intensificat. Echipe de inventatori se întreceau pentru a dezvolta vehicule capabile să se deplaseze fără niciun fel de intervenție umană.
Dar povestea nu se oprește aici. Încă lucrăm intens la fabricarea unor mașini care se pot conduce singure, ceea ce ar putea transforma modul în care călătorim. Această aventură continuă, iar perspectivele sunt promițătoare, deoarece mașinile autonome devin din ce în ce mai performante, ceea ce ne oferă speranța unor călătorii mai sigure și mai ușoare.
Cum funcționează mașinile care se conduc singure?
Mașinile autonome sunt ca niște decidenți ultra-inteligenți! Ele folosesc camere, LiDAR, RADAR, GPS și senzori inerțiali pentru a colecta informații despre împrejurimile lor. Apoi, algoritmi speciali, numiți algoritmi de învățare profundă, procesează aceste date pentru a înțelege situația. Pe baza acestei înțelegeri, vehiculele iau decizii importante pentru a se deplasa în siguranță și fără probleme.
Sursa: arxiv.org
Pentru a înțelege mai bine cum funcționează aceste mașini, haideți să analizăm cele patru componente principale prezentate în diagrama de mai sus. Este ca și cum am rezolva un puzzle – înțelegerea fiecărei piese ne va ajuta să avem o imagine completă a modului în care funcționează aceste vehicule uimitoare:
- Percepție
- Localizare
- Previziune
- Luarea deciziilor
- Planificarea traseului la nivel înalt
- Arbitraj de Comportament
- Controler de mișcare
Percepție
#1. Camera
Camerele sunt ochii unei mașini autonome și sunt esențiale! Ele ajută mașina să știe ce se întâmplă în jurul ei. Camerele au sarcini diferite, cum ar fi identificarea obiectelor, separarea diferitelor elemente și localizarea vehiculului.
Pentru a se asigura că mașina nu ratează nimic, aceasta are camere amplasate în față, în spate, în stânga și în dreapta. Aceste camere lucrează împreună pentru a crea o imagine panoramică a tot ce se află în jurul mașinii. Este ca și cum mașina ar avea o vedere specială, de 360 de grade!
Aceste camere nu sunt doar pentru decor. Ele sunt inteligente. Unele privesc în depărtare, până la 200 de metri, pentru ca mașina să știe ce urmează. Altele se concentrează pe lucrurile din apropiere, astfel încât mașina să poată acorda atenție detaliilor. Această echipă de camere ajută mașina să vadă și să înțeleagă totul, ca un prieten care o ghidează, pentru a se deplasa în siguranță și a lua decizii bune.
Uneori, camerele sunt deosebit de utile, cum ar fi la parcare, deoarece oferă o vedere largă și ajută la luarea unor decizii atente.
Totuși, utilizarea exclusivă a camerelor pentru a observa lucrurile are și dezavantaje, mai ales pe vreme rea, cum ar fi ceața, ploaia abundentă sau pe timp de noapte. În aceste situații, imaginile de la camere pot fi neclare și distorsionate, ceea ce poate fi periculos.
Pentru a face față acestor provocări, avem nevoie de senzori speciali care pot funcționa chiar și pe întuneric sau pe timp de noapte. Aceștia ar trebui să poată măsura distanța până la obiecte fără a avea nevoie de lumină vizibilă. Când integrăm acești senzori în sistemul de percepție al mașinii, aceasta devine mai eficientă la condus pe vreme rea sau când vizibilitatea este redusă. Astfel, mașina poate conduce mai sigur, ceea ce este excelent pentru toți participanții la trafic.
#2. LiDAR
LiDAR, acronim pentru Light Detection And Ranging, este o tehnologie avansată care utilizează lasere pentru a determina distanța până la obiecte. LiDAR emite raze laser și măsoară timpul necesar pentru ca acestea să se întoarcă.
Atunci când LiDAR și camerele lucrează împreună, ele ajută mașina să înțeleagă mediul înconjurător mai clar. Ele creează o hartă 3D a tot ce se află în jurul vehiculului. Aceste informații speciale sunt analizate de programe software inteligente, care ajută mașina să anticipeze acțiunile altor vehicule. Acest lucru este util în situații complexe de trafic, deoarece mașina poate monitoriza celelalte vehicule și se poate deplasa în siguranță.
Cu toate acestea, tehnologia LiDAR are și limitări. Deși funcționează bine pe timp de noapte și în medii întunecate, poate avea dificultăți în condiții de ploaie sau ceață, ceea ce poate duce la inexactități în percepție. Pentru a rezolva aceste probleme, utilizăm atât senzori LiDAR, cât și RADAR. Acești senzori oferă informații suplimentare, care ajută mașina să înțeleagă lucrurile mai clar și să se deplaseze într-un mod mai sigur și mai eficient.
#3. RADAR
RADAR, acronim pentru Radio Detection and Ranging, este o tehnologie utilizată de mult timp în diverse aplicații, inclusiv în armată. Folosit inițial pentru a detecta obiecte în scopuri militare, RADAR-ul calculează distanța utilizând unde radio. Astăzi, RADAR-ul este esențial pentru multe mașini, în special pentru cele autonome.
RADAR-ul este excelent deoarece funcționează indiferent de condițiile meteorologice sau de lumină. În loc de lasere, acesta folosește unde radio, ceea ce îl face foarte flexibil și util. Cu toate acestea, RADAR-ul este considerat un senzor „zgomotos”, ceea ce înseamnă că poate detecta obstacole chiar și atunci când camera nu vede nimic.
Sistemul central de procesare al unei mașini autonome poate fi derutat de semnalele suplimentare de la RADAR, pe care le numim „zgomot”. Pentru a remedia acest lucru, mașina trebuie să „curețe” informațiile de la RADAR, astfel încât să poată lua decizii corecte.
Curățarea datelor înseamnă utilizarea unor metode speciale pentru a distinge semnalele puternice de cele slabe, cum ar fi separarea informațiilor importante de cele mai puțin importante. Mașina folosește un truc inteligent numit Transformata Fourier Rapidă (FFT) pentru a înțelege mai bine informațiile.
RADAR-ul și LiDAR-ul oferă informații despre puncte individuale, ca niște puncte pe o foaie de hârtie. Pentru a înțelege mai bine aceste puncte, mașina folosește o metodă de grupare. Este ca și cum ai pune lucruri similare împreună. Mașina utilizează metode statistice inteligente, cum ar fi gruparea euclidiană sau gruparea K-means, pentru a combina punctele similare și a le înțelege. Astfel, mașina poate conduce mai inteligent și mai sigur.
Localizare
În cazul mașinilor autonome, algoritmii de localizare joacă un rol crucial în determinarea poziției și orientării vehiculului în timpul deplasării, un proces cunoscut sub numele de Odometrie Vizuală (VO). VO funcționează prin identificarea și potrivirea punctelor cheie din cadre video consecutive.
Mașina analizează anumite puncte din informații, precum reperele de pe o hartă. Apoi, utilizează statistici numite SLAM pentru a afla unde sunt obiectele și cum se deplasează. Acest lucru ajută mașina să știe ce este în jur, cum ar fi drumurile și oamenii.
Pentru a îmbunătăți și mai mult procesul, mașina utilizează o tehnologie numită învățare profundă. Este ca un computer ultra-inteligent.
Aceste metode permit mașinii să înțeleagă lucrurile foarte bine. Rețelele neuronale, precum PoseNet și VLocNet++, utilizează datele punctelor pentru a estima poziția 3D și orientarea obiectelor. Aceste poziții și orientări 3D estimate pot fi utilizate ulterior pentru a obține o înțelegere semantică a scenei, așa cum este prezentat în imaginea de mai jos. Atunci când mașina utilizează tehnici matematice și computere inteligente, aceasta știe exact unde se află și ce o înconjoară. Acest lucru o ajută să se deplaseze în siguranță și fără probleme.
Previziune
Înțelegerea comportamentului șoferilor umani este o sarcină complexă, deoarece acesta implică emoții și reacții, nu doar logică simplă. Deoarece nu putem ști exact ce vor face alți șoferi, este esențial ca mașinile autonome să facă predicții corecte cu privire la acțiunile lor, pentru a asigura siguranța pe drum.
Imaginați-vă că mașinile autonome au ochi peste tot, având o vedere la 360 de grade. Acest lucru le permite să observe tot ce se întâmplă. Ele utilizează aceste informații cu învățare profundă. Mașina folosește tehnici inteligente pentru a anticipa acțiunile altor șoferi. Este similar cu a juca un joc în care planifici din timp mișcările pentru a avea succes.
Predicție folosind Învățarea Profundă
Senzorii speciali din mașinile autonome sunt ochii acestora. Ei ajută mașinile să identifice obiectele din imagini, să localizeze lucrurile din jur, să determine pozițiile lor și să observe unde se termină elementele. Astfel, mașina poate identifica ce se află în apropiere și poate lua decizii inteligente.
În timpul antrenamentului, algoritmii de învățare profundă modelează informații complexe din imagini și date din cloud, obținute de la LiDAR și RADAR. În timpul conducerii efective (inferență), același model ajută mașina să se pregătească pentru mișcările posibile, inclusiv frânarea, oprirea, reducerea vitezei, schimbarea benzii și multe altele.
Învățarea profundă este ca un ajutor inteligent pentru mașină. Aceasta ajută vehiculul să înțeleagă lucrurile despre care nu este sigur, să își determine poziția și să conducă mai eficient. Astfel, deplasarea devine mai sigură și mai fluentă.
Totuși, cea mai dificilă parte este alegerea celei mai bune acțiuni dintr-o multitudine de opțiuni. Selectarea mișcărilor corecte necesită o analiză atentă, astfel încât mașina să poată conduce bine și să rămână în siguranță.
Luarea deciziilor
Mașinile autonome trebuie să ia decizii importante în situații dificile, ceea ce nu este deloc ușor. Acest lucru se datorează faptului că senzorii nu sunt întotdeauna perfecți, iar oamenii de pe stradă pot acționa imprevizibil. Mașina trebuie să anticipeze acțiunile celorlalți și să se deplaseze în consecință, pentru a evita accidentele.
Pentru a lua decizii, mașina are nevoie de o mulțime de informații. Aceasta adună date prin intermediul senzorilor, apoi utilizează algoritmi de învățare profundă pentru a înțelege unde se află obiectele și pentru a anticipa ce s-ar putea întâmpla. Localizarea ajută mașina să-și determine poziția inițială, în timp ce previziunea generează diverse acțiuni posibile, în funcție de mediu.
Totuși, întrebarea care se pune este: cum alege mașina cea mai bună acțiune dintre multele posibile?
Sursa: semanticscholar.org
Învățarea Profundă prin Consolidare (DRL) este o tehnică utilizată pentru luarea deciziilor și folosește un algoritm numit Procesul Decizional Markov (MDP). MDP este util pentru a anticipa modul în care ar putea acționa participanții la trafic. Când mai multe lucruri se mișcă simultan, lucrurile devin și mai complicate. Aceasta înseamnă că mașina autonomă trebuie să se gândească la un număr și mai mare de acțiuni posibile.
Pentru a face față provocării de a găsi cea mai bună mișcare pentru mașină, modelul de învățare profundă este optimizat utilizând optimizarea bayesiană. În unele cazuri, se utilizează un cadru care combină un model Markov ascuns cu optimizarea bayesiană pentru luarea deciziilor, ceea ce permite mașinii autonome să navigheze eficient și în siguranță în diverse scenarii complexe.
Sursă: arxiv.org
Procesul decizional în mașinile autonome urmează o structură ierarhică formată din patru componente cheie:
Planificarea traseului sau a rutei: La începutul călătoriei, mașina stabilește cea mai bună rută de la poziția actuală până la destinația dorită. Scopul este de a găsi o soluție optimă între diferitele rute posibile.
Arbitraj de comportament: După ce a planificat traseul, mașina trebuie să se deplaseze pe acesta. Mașina este conștientă de obiectele statice, cum ar fi drumurile și intersecțiile, dar nu poate anticipa cu exactitate acțiunile celorlalți șoferi. Pentru a gestiona această incertitudine, utilizăm metode inteligente, precum Procesele Decizionale Markov (MDP), pentru planificare.
Decizia scenariului mașinii autonome de top
Planificarea mișcării: Odată ce traseul este planificat, iar stratul de comportament stabilește modul de deplasare, sistemul de planificare a mișcării coordonează acțiunile mașinii. Aceasta implică asigurarea faptului că vehiculul se deplasează într-un mod sigur și confortabil pentru pasageri. Se analizează aspecte precum viteza de deplasare, schimbarea benzii și elementele din jur.
Controlul vehiculului: Ultima etapă este controlul vehiculului, care execută traseul de referință generat de sistemul de planificare a mișcării, asigurându-se că mașina urmează traiectoria prevăzută fără probleme și în siguranță.
Prin divizarea procesului decizional în aceste părți distincte, mașinile autonome pot conduce eficient și în siguranță în medii complexe. Astfel, se asigură o călătorie fluentă și confortabilă pentru pasageri.
Rețele neuronale convoluționale
Rețelele neuronale convoluționale (CNN) sunt utilizate pe scară largă în mașinile autonome datorită capacității lor de a modela informații spațiale, în special imagini. CNN-urile excelează la extragerea de caracteristici din imagini, făcându-le utile pentru a identifica o mulțime de elemente diferite.
Într-o rețea CNN, pe măsură ce adâncimea acesteia crește, diferite straturi captează diverse modele. Straturile inițiale detectează caracteristici simple, precum marginile, în timp ce straturile mai profunde recunosc caracteristici mai complexe, precum formele obiectelor (de exemplu, frunzele copacilor sau anvelopele vehiculelor). Această adaptabilitate este motivul pentru care CNN-urile reprezintă un algoritm esențial pentru mașinile autonome.
Componenta de bază a unei rețele CNN este stratul convoluțional, care utilizează un nucleu convoluțional (matrice de filtru) pentru a procesa regiunile locale ale imaginii de intrare.
Matricea de filtrare este actualizată în timpul antrenamentului pentru a obține ponderi semnificative. O proprietate fundamentală a rețelelor CNN este partajarea greutății, unde aceiași parametri de greutate sunt utilizați pentru a reprezenta diverse transformări, economisind spațiu de procesare și permițând reprezentări diverse ale caracteristicilor.
Ieșirea stratului convoluțional este de obicei trecută printr-o funcție de activare neliniară, cum ar fi Sigmoid, Tanh sau ReLU. ReLU este preferată deoarece converge mai rapid decât celelalte. De asemenea, rezultatul este adesea trecut printr-un strat de max-pooling. Acest lucru păstrează detaliile importante din imagine, precum fundalul și texturile.
Trei proprietăți esențiale ale rețelelor CNN le fac versatile și fundamentale pentru mașinile autonome:
- Câmpuri receptive locale
- Greutăți comune
- Eșantionare spațială
Aceste proprietăți reduc supraadaptarea și stochează reprezentări și caracteristici critice, esențiale pentru clasificarea, segmentarea, localizarea imaginilor și multe altele.
Iată două rețele CNN utilizate de companiile pioniere în domeniul mașinilor autonome:
- HydraNet de la Tesla
- ChauffeurNet de la Google Waymo
Aflați mai multe despre rețelele neuronale convoluționale.
#1. HydraNet de la Tesla
HydraNet este o arhitectură dinamică introdusă de Ravi și colaboratorii săi în 2018, dezvoltată în principal pentru segmentarea semantică a mașinilor autonome. Obiectivul său principal este îmbunătățirea eficienței de calcul în timpul inferenței.
Conceptul HydraNet presupune utilizarea diferitelor rețele CNN, denumite ramuri, alocate unor sarcini specifice. Fiecare ramură primește diverse intrări, iar rețeaua poate selecta ce ramuri să ruleze în timpul inferenței, agregând în cele din urmă ieșirile de la diverse ramuri pentru a lua o decizie finală.
În contextul mașinilor autonome, intrările pot reprezenta diferite aspecte ale mediului, cum ar fi obiectele statice (copaci și balustrade), drumurile și benzile de circulație, semafoarele etc. Aceste intrări sunt antrenate în ramuri separate. În timpul inferenței, mecanismul de poartă decide ce ramuri să activeze, iar combinatorul colectează ieșirile acestora pentru a lua decizia finală.
Detectarea vitezei, a benzii și a mișcării
Tesla a adaptat arhitectura HydraNet, încorporând o coloană vertebrală partajată pentru a aborda dificultățile legate de segregarea datelor pentru sarcini individuale în timpul inferenței. Coloana vertebrală partajată, care constă de obicei în blocuri ResNet-50 modificate, permite rețelei să fie antrenată pe datele tuturor obiectelor. Capetele specifice sarcinilor, bazate pe arhitectura de segmentare semantică, precum U-Net, permit modelului să prezică rezultate specifice pentru fiecare sarcină.
HydraNet de la Tesla se remarcă prin capacitatea sa de a proiecta o vedere panoramică, creând o reprezentare 3D a mediului din orice unghi. Această dimensionalitate îmbunătățită ajută mașina să navigheze mai eficient. Remarcabil este faptul că Tesla realizează acest lucru fără a utiliza senzori LiDAR. În schimb, se bazează pe doi senzori: o cameră și un radar. Eficiența HydraNet de la Tesla îi permite să proceseze informații de la opt camere și să genereze percepție în profunzime, demonstrând capacități impresionante fără a fi nevoie de tehnologie suplimentară LiDAR.
#2. ChauffeurNet de la Google Waymo
ChauffeurNet este o rețea neuronală bazată pe RNN, utilizată de Google Waymo pentru a antrena mașinile autonome folosind învățarea prin imitație. Deși se bazează în principal pe o rețea RNN pentru generarea traiectoriilor de conducere, aceasta încorporează și o componentă CNN, denumită FeatureNet.
Această rețea de caracteristici convoluționale extrage reprezentări contextuale partajate de alte rețele și este utilizată pentru a obține caracteristici din sistemul de percepție.
Sursă: Researchgate
Conceptul care stă la baza ChauffeurNet este antrenarea mașinii autonome prin imitarea șoferilor experimentați, utilizând învățarea prin imitație. Pentru a depăși limitarea datelor insuficiente de antrenament din lumea reală, autorii lucrării „ChauffeurNet: Learning to Drive by Imitating the Best and Synthesizing the Worst” au introdus date sintetice.
Aceste date sintetice introduc diverse abateri, cum ar fi perturbarea traseului, adăugarea de obstacole și crearea unor scene nenaturale. S-a constatat că antrenarea mașinii cu date sintetice este mai eficientă decât utilizarea doar a datelor reale.
În ChauffeurNet, sistemul de percepție nu face parte din procesul de la un capăt la altul, ci acționează ca un sistem de nivel mediu. Acest lucru permite rețelei să aibă diverse variații de intrare, comparativ cu sistemul de percepție. Rețeaua observă o reprezentare de nivel mediu a scenei de la senzori și, utilizând această intrare împreună cu date sintetice, imită comportamentul șoferilor experimentați.
Prin luarea în considerare a sarcinii de percepție și crearea unei vederi panoramice la nivel înalt asupra mediului, ChauffeurNet facilitează învățarea prin transfer mai ușoară, permițând rețelei să ia decizii mai bune, atât pe date reale, cât și pe date simulate. Rețeaua generează traiectorii de conducere prin anticiparea iterativă a punctelor succesive de pe traseul de conducere, bazată pe reprezentările de nivel mediu. Această abordare s-a dovedit promițătoare în formarea mai eficientă a mașinilor autonome, oferind o cale către sisteme de conducere autonomă mai sigure și mai fiabile.
#3. Procesul de decizie Markov parțial observabil utilizat pentru mașinile autonome
Procesul de decizie Markov parțial observabil (POMDP) este un cadru matematic utilizat în contextul mașinilor autonome pentru a lua decizii în condiții de incertitudine. În scenariile din lumea reală, mașinile autonome au adesea informații limitate despre mediul lor, din cauza zgomotului senzorilor, a ocluziilor sau a sistemelor de percepție imperfecte. POMDP este conceput pentru a gestiona o astfel de observabilitate parțială și pentru a lua decizii optime, luând în considerare atât incertitudinea, cât și observațiile disponibile.
Într-un model POMDP, agentul decizional operează într-un mediu cu stări parțial observabile. Agentul ia măsuri, iar mediul trece în mod probabil la noi stări. Cu toate acestea, agentul primește doar observații parțiale sau informații „zgomotoase” cu privire la starea reală a mediului. Obiectivul este de a găsi o strategie care să maximizeze recompensa cumulativă așteptată de-a lungul timpului, luând în considerare incertitudinea din mediu și observațiile agentului.
Sursă: <a rel=”nofollow noopener” target=”_blank” href=”https://www.researchgate.net/figure/