När jag var liten älskade jag animerade filmer där bilar verkade köra helt själva. Det fick mig att fundera på om sådana bilar kunde finnas i verkligheten och om det fanns små robotar inuti som styrde dem på magiskt vis.
Nu när vi blir äldre, ser vi att självkörande bilar faktiskt blir en realitet! Jag är djupt fascinerad av dem. Förstår de verkligen när de ska stanna vid stoppskyltar och rödljus? Kan de uppfatta djur och människor som rör sig på vägen? Och hur hanterar de körning i mörker eller vid dåligt väder med regn eller snö?
Låt oss diskutera självkörande bilar! Det är fordon som kan köra utan någon mänsklig förare. Företag som Tesla och Waymo använder avancerad datateknik, inklusive djupinlärning, för att göra dessa bilar otroligt smarta. Djupinlärning hjälper bilarna att utföra imponerande uppgifter, som att förstå vägskyltar och köra säkert även i dåligt väder. Det handlar om att använda banbrytande teknik för att omforma framtidens transport!
Historik
Självkörande bilars historia är som en lång och spännande upptäcktsfärd. Tänk dig 1920-talet, då autonoma fordon fortfarande bara var en vision. En kreativ individ, Francis Houdina, stack ut genom att skapa en bil som följde linjer på vägen. Den behövde dock speciella dolda kablar under vägen för att kunna styras.
Källa: theatlantic.com
Under 1980- och 1990-talen gjorde forskare vid Carnegie Mellon University stora framsteg. De utvecklade bilar som kunde ”se” med hjälp av kameror, vilket hjälpte dem att navigera i livlig stadstrafik. Dessa bilar var som lärande upptäcktsresande som utforskade hur man kör genom att observera sin omgivning.
En viktig händelse var år 2004, mitt i en utmanande ökenmiljö. Självkörande bilar testades i ett krävande lopp – ett lopp som de inte vann, men det var en betydelsefull start. Se det som deras träningsläger för att bli bättre förare.
Det verkliga genombrottet kom under 2000- och 2010-talen, när stora företag som Tesla, Uber och Google (nu Waymo) började satsa på bilindustrin. Google började testa självkörande bilar år 2009. År 2015 lanserade Tesla bilar med en funktion som gjorde att de delvis kunde köra själva på vissa vägar. De kunde hantera styrning och hålla sig inom filen utan ständig mänsklig inblandning.
När fler företag anslöt sig till racet blev konkurrensen om att skapa helt självkörande bilar intensiv. Tänk dig team av innovatörer som tävlade om att skapa bilar som kunde köra utan att människor behövde styra.
Men historien fortsätter. Vi arbetar fortfarande på att utveckla bilar som kan köra själva, vilket skulle förändra hur vi reser. Denna upptäcktsfärd pågår, och det innebär att vi kan få säkrare och mer bekväma resor när dessa avancerade självkörande bilar blir allt bättre.
Hur fungerar självkörande bilar?
Självkörande bilar är som exceptionellt smarta beslutsfattare! De använder kameror, LiDAR, RADAR, GPS och tröghetssensorer för att samla information om sin omgivning. Sedan bearbetar speciella algoritmer, som kallas djupinlärningsalgoritmer, dessa data för att förstå vad som händer runt omkring. Baserat på den förståelsen fattar de viktiga beslut för att köra säkert och smidigt.
Källa: arxiv.org
För att verkligen förstå hur självkörande bilar fungerar, ska vi titta närmare på de fyra delarna som visas i diagrammet ovan. Det är som att lösa ett pussel – att förstå varje bit hjälper oss att se helhetsbilden av hur dessa fantastiska fordon fungerar:
- Perception
- Lokalisering
- Prediktion
- Beslutsfattande
- Vägplanering på hög nivå
- Beteendeval
- Rörelsekontroll
Perception
#1. Kamera
Kameror är som ögonen på en självkörande bil – de är avgörande! De hjälper bilen att registrera vad som sker runt omkring. Dessa kameror utför olika uppgifter, som att identifiera föremål, separera olika delar och bestämma bilens position.
För att bilen inte ska missa något finns kameror placerade överallt – fram, bak, vänster och höger. Dessa kameror samverkar för att skapa en omfattande bild av allt runt bilen. Det är som bilens alldeles egna 360-gradersvy!
Dessa kameror är inte bara till för att visa. De är intelligenta. Vissa tittar långt bort, upp till 200 meter, så att bilen vet vad som väntar. Andra fokuserar på nära saker så att bilen är uppmärksam på detaljer. Detta kamerateam hjälper bilen att se och förstå allt, som en vän som guidar den, så att den kan köra säkert och göra bra val.
Ibland är kameror särskilt användbara, till exempel vid parkering, eftersom de ger en vidvinkelvy och bidrar till kloka beslut för försiktig körning.
Men att bara förlita sig på kameror för att se har sina begränsningar, särskilt i svåra väderförhållanden som dimma, kraftigt regn och på natten. Under sådana omständigheter kan kamerabilderna se underliga och röriga ut, vilket kan vara farligt.
För att hantera dessa utmanande situationer behövs specialsensorer som kan fungera i mörker eller nattetid. De ska också kunna mäta avstånd utan att vara beroende av ljus som vi kan se. När vi införlivar dessa sensorer i bilens synsystem (perceptionssystemet) blir bilen bättre på att köra i dåligt väder eller när sikten är dålig. På så vis kan bilen köra säkrare, vilket är bra för alla som befinner sig på vägen.
#2. LiDAR
LiDAR, som står för Light Detection And Ranging, är en avancerad teknik som använder laser för att fastställa avstånd. LiDAR skickar ut laserstrålar och mäter hur lång tid det tar för dem att studsa tillbaka från olika objekt.
När LiDAR och kameror samarbetar hjälper de bilen att förstå sin omgivning tydligare. Den skapar en 3D-karta över vad som finns runt omkring. Denna detaljerade information kan analyseras av intelligenta datorprogram, som hjälper bilen att förutse andra bilars beteende. Det är särskilt användbart när vägen är komplicerad, till exempel vid trafikerade korsningar, eftersom bilen kan observera andra fordon och köra säkert.
LiDAR har dock begränsningar som kan vara problematiska. Även om det fungerar utmärkt på natten och i mörka miljöer, kan det ha svårt i regn eller dimma, vilket kan leda till felaktigheter i perceptionen. För att lösa dessa problem använder vi både LiDAR- och RADAR-sensorer samtidigt. Dessa sensorer ger extra information som hjälper bilen att förstå situationen tydligare. På så vis kan bilen köra på ett säkrare och bättre sätt.
#3. RADAR
RADAR, som står för Radio Detection and Ranging, har använts länge i vardagliga sammanhang och även av militären. Ursprungligen användes den av militären för att upptäcka föremål, och RADAR mäter avstånd med hjälp av radiovågor. Numera är RADAR mycket viktigt i många bilar, särskilt självkörande.
RADAR är fantastiskt eftersom det fungerar i alla slags väder och ljusförhållanden. Istället för laser använder den radiovågor, vilket gör den flexibel och mycket användbar. RADAR anses dock vara en brusig sensor, vilket innebär att den kan upptäcka hinder även när kameran inte ser några.
Den självkörande bilens ”hjärna” kan bli förvirrad av alla extrasignaler från RADAR, som vi kallar ”brus”. För att lösa det här måste bilen rensa RADAR-informationen så att den kan fatta kloka beslut.
Att rensa data innebär att använda speciella metoder för att skilja de starka signalerna från de svaga, ungefär som att separera de viktiga sakerna från de oviktiga. Bilen använder ett smart knep som kallas Fast Fourier Transforms (FFT) för att förstå informationen ännu bättre.
RADAR och LiDAR ger information om enskilda punkter, som prickar på ett papper. För att förstå dessa prickar bättre använder bilen något som kallas gruppering. Det är som att samla ihop liknande saker. Bilen använder smarta statistiska metoder, som Euklidisk Clustering eller K-means Clustering, för att kombinera liknande punkter och förstå dem. Det gör att bilen kan köra på ett smartare och säkrare sätt.
Lokalisering
I självkörande bilar spelar lokaliseringsalgoritmer en viktig roll för att bestämma fordonets position och orientering under navigeringen, vilket kallas Visual Odometry (VO). VO fungerar genom att identifiera och matcha viktiga punkter i på varandra följande videobilder.
Bilen analyserar speciella punkter i informationen, som markeringar på en karta. Därefter använder bilen statistik som kallas SLAM för att fastställa var saker befinner sig och hur de rör sig. Detta hjälper bilen att veta vad som finns runt omkring, som vägar och människor.
För att göra detta ännu bättre använder bilen något som kallas djupinlärning. Det är som en exceptionellt smart dator.
Dessa metoder gör att bilen blir mycket bra på att förstå sin omgivning. Neurala nätverk som PoseNet och VLocNet++ använder punktdata för att uppskatta 3D-positionen och orienteringen av föremål. Dessa uppskattade 3D-positioner och orienteringar kan sedan användas för att härleda scensemantik, som visas i bilden nedan. När bilen använder matematiska och smarta datortekniker vet den var den är och vad som finns runt omkring. Det hjälper bilen att köra säkert och smidigt på egen hand.
Prediktion
Att förstå mänskliga förare är verkligen en komplex uppgift, eftersom det handlar om känslor och reaktioner snarare än enbart logik. Eftersom vi inte vet vad andra förare kommer att göra, är det viktigt att självkörande bilar gör bra antaganden om deras handlingar. Detta bidrar till att öka säkerheten på vägen.
Föreställ dig självkörande bilar med sensorer runt om, som ger en 360-gradersvy. Detta gör att de kan se allt som händer. Denna information bearbetas sedan med hjälp av djupinlärning. Bilen använder smart teknik för att förutsäga vad andra förare kan göra. Det liknar att spela ett spel där man planerar att prestera bra.
Prediktion med hjälp av djupinlärning
De specialiserade sensorerna i självkörande bilar är som deras ögon. De hjälper bilarna att identifiera saker på bilder, upptäcka föremål i närheten, veta var de befinner sig och se var saker slutar. Det hjälper bilen att förstå vad som finns i närheten och fatta smarta beslut.
Under inlärning modellerar djupinlärningsalgoritmer komplex information från bilder och molndatapunkter som erhålls från LiDAR och RADAR. Under verklig körning (inferens) hjälper samma modell bilen att förbereda sig för potentiella rörelser, inklusive inbromsning, stopp, saktning, filbyte och mer.
Djupinlärning är som en smart assistent för bilen. Den hjälper bilen att förstå osäkra situationer, hitta sin position och köra bättre. Det gör körningen säkrare och smidigare.
Men det svåra är att välja det bästa alternativet bland flera möjliga åtgärder. Att välja rätt åtgärder kräver noggrann eftertanke så att bilen kan köra bra och vara säker.
Beslutsfattande
Självkörande bilar måste fatta viktiga beslut i knepiga situationer, men det är inte lätt. Det beror på att sensorerna kanske inte alltid är exakta och att människor på vägen kan göra oväntade saker. Bilen måste förutse vad andra kommer att göra och röra sig för att undvika olyckor.
För att fatta beslut behöver bilen mycket information. Bilen samlar in denna information med hjälp av sensorer och använder sedan djupinlärningsalgoritmer för att förstå var saker befinner sig och förutse vad som kan hända. Lokalisering hjälper bilen att känna till sin utgångsposition, medan prediktion genererar flera möjliga åtgärder baserat på omgivningen.
Men frågan kvarstår: hur väljer bilen den bästa åtgärden bland de många potentiella?
Källa: semanticscholar.org
Djup förstärkningsinlärning (DRL) är en metod för att fatta beslut som använder en algoritm som kallas Markov Decision Process (MDP). MDP är användbar för att förutse hur människor på vägen kan agera i framtiden. När det är fler saker som rör sig blir det mer komplicerat. Det innebär att den självkörande bilen måste överväga ännu fler potentiella åtgärder.
För att hantera utmaningen att hitta den bästa åtgärden för bilen optimeras djupinlärningsmodellen med Bayesiansk optimering. I vissa fall används ett ramverk som kombinerar en Hidden Markov-modell och Bayesiansk optimering för beslutsfattande, vilket gör att den självkörande bilen kan navigera effektivt och säkert i olika komplexa scenarier.
Källa: arxiv.org
Beslutsfattandet i självkörande bilar följer en hierarkisk process med fyra nyckelkomponenter:
Väg- eller ruttplanering: I början av resan bestämmer bilen den bästa rutten från sin nuvarande position till den önskade destinationen. Målet är att hitta en optimal lösning bland flera möjliga rutter.
Beteendeval: Bilen måste navigera på den valda rutten. Bilen är medveten om statiska föremål som vägar och korsningar, men den kan inte förutse andra förares exakta handlingar. För att hantera denna osäkerhet använder vi smarta metoder som Markov Decision Processes (MDP) för planering.
Scenariobeslut av topptillståndsmaskin
Rörelseplanering: Med rutten planerad och beteendelagret bestämmer hur bilen ska navigera, koordinerar rörelseplaneringssystemet bilens rörelser. Det innebär att se till att bilen rör sig på ett sätt som är både säkert och bekvämt för passagerarna. Den tar hänsyn till saker som hastighet, filbyte och omgivning.
Fordonskontroll: Det sista steget är fordonskontroll, som utför referensrutten som genereras av rörelseplaneringssystemet och säkerställer att bilen följer den avsedda banan smidigt och säkert.
Genom att dela upp beslutsfattandet i dessa olika delar kan självkörande bilar köra bra och säkert i komplicerade situationer. Detta ger passagerarna en bekväm och behaglig resa.
Konvolutionella neurala nätverk
Konvolutionella neurala nätverk (CNN) används ofta i självkörande bilar på grund av deras förmåga att modellera rumslig information, särskilt bilder. CNN är mycket duktiga på att extrahera särdrag från bilder, vilket gör dem användbara för många olika uppgifter.
I ett CNN, när nätverkets djup ökar, fångar olika lager olika mönster. Tidigare lager upptäcker enkla särdrag som kanter, medan djupare lager känner igen mer komplexa, som objektformer (t.ex. löv på träd eller däck på fordon). Denna anpassningsförmåga är orsaken till att CNN är en central algoritm i självkörande bilar.
Kärnkomponenten i ett CNN är faltningslagret, som använder en faltningskärna (filtermatris) för att bearbeta lokala delar av den inmatade bilden.
Filtermatrisen uppdateras under inlärning för att få meningsfulla vikter. En grundläggande egenskap hos CNN är viktdelning, där samma viktparametrar används för att representera olika transformationer, vilket sparar bearbetningsutrymme och möjliggör olika särdragsrepresentationer.
Utdata från faltningsskiktet skickas vanligen genom en icke-linjär aktiveringsfunktion, t.ex. Sigmoid, Tanh eller ReLU. ReLU är att föredra eftersom det konvergerar snabbare än de andra. Dessutom passerar resultatet ofta genom ett max-pooling-lager. Detta bevarar viktiga detaljer från bilden, t.ex. bakgrund och texturer.
Tre väsentliga egenskaper hos CNN gör dem mångsidiga och grundläggande i självkörande bilar:
- Lokala mottagningsfält
- Delade vikter
- Rumslig sampling
Dessa egenskaper minskar överanpassning och lagrar viktiga representationer och särdrag som är avgörande för bildklassificering, segmentering, lokalisering med mera.
Här är två CNN-nätverk som används av företag som leder utvecklingen av självkörande bilar:
- HydraNet från Tesla
- ChauffeurNet från Google Waymo
Läs mer om Konvolutionella neurala nätverk.
#1. HydraNet från Tesla
HydraNet är en dynamisk arkitektur som presenterades av Ravi et al. år 2018 och som främst utvecklades för semantisk segmentering i självkörande bilar. Huvudsyftet är att förbättra beräkningseffektiviteten under inferens.
Konceptet med HydraNet innebär att olika CNN-nätverk, som kallas grenar, tilldelas specifika uppgifter. Varje gren tar emot olika indata, och nätverket kan selektivt välja vilka grenar som ska köras under inferens, och slutligen sammanfogas resultaten från olika grenar för att fatta ett slutgiltigt beslut.
I samband med självkörande bilar kan indata representera olika aspekter av omgivningen, t.ex. statiska objekt (träd och vägräcken), vägar och körfält, trafikljus etc. Dessa indata tränas i separata grenar. Under inferens bestämmer en styrmekanism vilka grenar som ska aktiveras, och en kombinationsmodul samlar in deras utdata för att fatta det slutgiltiga beslutet.
Hastighets-, körfälts- och rörelsedetektering
Tesla har anpassat HydraNet-arkitekturen med en delad stomme för att hantera utmaningarna med att separera data för enskilda uppgifter under inferens. Den delade stommen, vanligtvis modifierade ResNet-50-block, gör att nätverket kan tränas på data från alla objekt. Uppgiftsspecifika huvuden baserade på semantisk segmenteringsarkitektur, som U-Net, gör det möjligt för modellen att förutse utdata specifika för varje uppgift.
Teslas HydraNet utmärker sig genom sin förmåga att projicera ett fågelperspektiv och skapa en 3D-representation av omgivningen från vilken vinkel som helst. Denna förbättrade dimensionalitet hjälper bilen att navigera bättre. Det är anmärkningsvärt att Tesla uppnår detta utan att använda LiDAR-sensorer. Istället förlitar de sig på endast två sensorer: en kamera och en radar. Effektiviteten hos Teslas HydraNet gör att det kan bearbeta information från åtta kameror och generera djupuppfattning, vilket visar imponerande kapacitet utan behov av ytterligare LiDAR-teknik.
#2. ChauffeurNet från Google Waymo
ChauffeurNet är ett RNN-baserat neuralt nätverk som används av Google Waymo för att träna självkörande bilar med hjälp av imitationsinlärning. Även om det främst förlitar sig på ett RNN för att generera körbanor, innehåller det även en CNN-komponent som kallas FeatureNet.
Detta konvolutionella funktionsnätverk extraherar kontextuella särdragsrepresentationer som delas av andra nätverk och används för att extrahera särdrag från perceptionssystemet.
Källa: Researchgate
Konceptet bakom ChauffeurNet är att träna den självkörande bilen genom att imitera expertförare med hjälp av imitationsinlärning. För att övervinna begränsningen med otillräcklig träningsdata i verkligheten introducerade författarna till artikeln ”ChauffeurNet: Learning to Drive by Imitating the Best and Synthesizing the Worst” syntetiska data.
Dessa syntetiska data innehåller olika avvikelser, som att störa banan, lägga till hinder och skapa onaturliga scener. Att träna bilen med syntetiska data visade sig vara mer effektivt än att endast använda riktiga data.
I ChauffeurNet är perceptionssystemet inte en del av processen från början till slut, utan fungerar som ett mellannivåsystem. Detta gör att nätverket kan hantera olika variationer i indata från perceptionssystemet. Nätverket observerar en mellannivårepresentation av scenen från sensorerna, och genom att använda denna indata tillsammans med syntetiska data imiterar det expertmässigt körbeteende.
Genom att ta hänsyn till perceptionsuppgiften och skapa ett fågelperspektiv på omgivningen på hög nivå, underlättar ChauffeurNet enklare överföringsinlärning, vilket gör det möjligt för nätverket att fatta bättre beslut baserat på både verklig och simulerad data. Nätverket genererar körbanor genom att iterativt förutse successiva punkter i körbanan baserat på representationer på mellannivå. Denna strategi har visat sig vara lovande för att träna självkörande bilar mer effektivt och skapar en väg mot säkrare och mer pålitliga autonoma körsystem.
#3. Delvis observerbar Markov-beslutsprocess som används för självkörande bilar
Delvis observerbar Markov-beslutsprocess (POMDP) är ett matematiskt ramverk som används i samband med självkörande bilar för att fatta beslut i osäkra situationer. I verkliga scenarier har självkörande bilar ofta begränsad information om sin miljö på grund av sensorbrus, skymda objekt eller ofullständiga perceptionssystem. POMDP är utformad för att hantera sådan partiell observerbarhet och fatta optimala beslut genom att beakta både osäkerhet och tillgängliga observationer.
I en POMDP verkar den beslutsfattande agenten i en miljö med delvis observerbara tillstånd. Agenten vidtar åtgärder, och miljön övergår sannolikt till nya tillstånd. Agenten får dock endast partiella observationer eller brusig information om miljöns faktiska tillstånd. Målet är att hitta en strategi som maximerar den förväntade kumulativa belöningen över tid samtidigt som man beaktar osäkerheten i miljön och agentens observationer.
Källa: Researchgate
I samband med självkörande bilar är POMDP särskilt användbart för uppgifter som rörelseplanering, prediktion av bana och interaktion med andra trafikanter. Den självkörande bilen kan använda POMDP för att fatta beslut om filbyten, hastighetsjusteringar och interaktioner med fotgängare och andra fordon, med hänsyn till osäkerheten i den omgivande miljön.
POMDP har sex komponenter och kan betecknas som POMDP
M:= (I, S, A, R, P, γ)
där,
I: Observationer
S: Ändlig uppsättning tillstånd
A: Ändlig uppsättning åtgärder
R: Belöningsfunktion
P: Övergångssannolikhetsfunktion
γ: diskonteringsfaktor för framtida belöningar.
POMDP kan vara beräkningsmässigt krävande på grund av behovet av att beakta flera möjliga tillstånd och observationer. Men avancerade algoritmer, som planering av trosrymd och Monte Carlo-metoder, används ofta för att effektivt närma sig den optimala strategin och möjliggöra beslutsfattande i realtid i självkörande bilar.
Genom att införliva POMDP i sina beslutsalgoritmer kan självkörande bilar navigera i komplexa och osäkra miljöer mer effektivt och säkert, med tanke på osäkerheten i sensoravläsningar och fatta välgrundade beslut för att uppnå sina avsedda mål.
Den självkörande bilen, som fungerar som en agent, lär sig genom att interagera med omgivningen med förstärkningsinlärning (RL), en form av maskininlärning. Tillstånd, handling och belöning är de tre viktiga variablerna i kärnan av djup förstärkningsinlärning (DRL).
Tillstånd: Besk