Így működik a Tesla táblafelismerő rendszere

Ma már szinte az összes modern autóban elérhető valamiféle táblafelismerő rendszer, ezek tudása azonban az esetek 99%-ában kimerül a sebességkorlátozó táblákra írt számok felismerésében, illetve azok képernyőre való kiírásában. A jobb rendszerek képesek a beállított tempomat sebességét is a táblákhoz igazítani, bár sok esetben kiderül, hogy az autó valójában nem a látott tábla, hanem a navigáció által használt térkép adatai alapján állítja be a sebességet. Ha a térképen 60-as korlátozás van az autópályán, akkor az autó olyankor is lassít, amikor nincs kitéve tábla. Illetve nem lassít, ha a tábla mostanában került ki, és még nem szerepel a térképen.

A lépésről lépésre ügyesedő Tesla Autopilot fejlesztésének aktuális kihívása a közlekedési lámpák és a Stop táblák felismerése. Első lépésként tavaly frissítették az autók vizualizációs rendszerét, és elkezdték felpakolni a képernyőre azokat a tereptárgyakat illetve a többi közlekedőt, amit az autó rendszere azonosított. Ennek fontos szerepe van abban, hogy a felhasználó megértse, hogy az autó mi alapján hoz döntéseket, illetve megbízzon a rendszerben, ha valamit jól csinál. Ezt követően néhány hónapja kiadtak egy frissítést egy szűk kör számára, ami már elkezdte felismerni és figyelembe venni a közlekedési lámpákat és a Stop táblákat is. Bár a közlekedés során rengeteg egyéb táblával is találkozunk, az amerikai utakon messze ebből a két szabályozó elemből található a legtöbb a kereszteződésekben. Erről a frissítésről is rengeteg videó jelent meg a Youtube-on, de széles körben mostanáig nem volt elérhető a funkció.

Traffic light and stop sign control (beta)

A továbbra is beta változatban lévő program a nagyközönség számára csak a napokban lett elérhető a dashcam okosítást is tartalmazó frissítéssel együtt, így sorra jelennek meg a videók is róla. A funkció a térképek és a kamerák képe alapján képes időben észrevenni azokat a kereszteződéseket, ahol lámpa vagy Stop tábla szabályozza az átjutást. Ezekre nagyjából 180 m-rel (600 láb) előre figyelmeztet, és ha nem avatkozunk be, akkor minden helyesen azonosított esetben lelassít és megáll. Amennyiben a lámpa a mi irányunkban zöld, akkor a sofőr a jobb kezénél lévő irányváltó kar lehúzásával vagy a gyorsító pedál enyhe lenyomásával engedélyezheti az áthaladást, de ezek hiányában az autó meg fog állni. Ha a rendszer piros lámpát, vagy Stop táblát érzékel, akkor a kar lehúzásával sem lehet rávenni a továbbhaladásra, mindenképpen meg fog állni.

Jól látható, hogy a rendszer tanuló módban van. Úgy lett kialakítva, hogy ne lehessen magára hagyni, mert akkor megáll. De ahogy az az alábbi videóból is látható, nem is szabad rá bízni az életünket, mert még rengeteg szituációval hadilábon áll. Az olyan kereszteződéseknél például, ahol egymást követően több Stop tábla is van, az elsőt rendszeresen kihagyja, ami jól mutatja, hogy mennyire szükség van még az emberi felügyeletre, a beavatkozásra és az ebből való tanulásra.

Miért ilyen béna?

De hogy lehet az, hogy ennyi rákészülés ellenére a Tesla Autopilot, ami sokak szerint a legfejlettebb önvezető képességekkel rendelkező rendszer az autóiparban, képtelen megbízhatóan felismerni olyan egyszerű dolgokat, mint egy Stop tábla. Andrej Karpathy, a Tesla mesterséges intelligencia fejlesztésért felelős igazgatója erről tartott egy félórás előadást idén februárban a Scaled Machine Learning Conference nevű rendezvényen.

Ahogy arról már mi is írtunk, a Tesla 2019 során 367,5 ezer autót értékesített, így mára nagyjából 1 millió autójuk fut az utakon. Fejlesztői szemmel ezek azonban nem csak autók, hanem olyan számítógépek, amikre távolról frissítés küldhető, illetve amiktől adat, információ kérhető. A legalapvetőbb Autopilot funkció, ami a sávtartást és az adaptív tempomatot foglalja magába, már 3 milliárd mérföldet (4,8 milliárd km) vezetett, de már az autópályán önállóan sávot váltó, illetve a leágazásoknál lekanyarodó Navigate on Autopilot rendszer is túl van már 1 milliárd mérföldön (1,6 milliárd km) és 200 ezer automatikus sávváltáson. A mobiltelefonos hívás, vagyis a Smart Summon funkciót 1,2 millió alkalommal használták. Ilyenkor a parkolóban valahol távolabb álló autó automatikusan kiáll a helyéről, és teljesen önállóan odamegy ahol a gazdája a híváshoz használt okostelefonnal épp tartózkodik. Az aktív biztonsági funkciók természetesen akkor is működnek a háttérben, amikor az Autopilot nincs bekapcsolva, így esetek százaiban mentik meg a hibázó közlekedők életét (pl. amikor gyalogos az autó elé lép). Az ilyen esetekből a fejlesztők jól látják, hogy milyen szituációk alakulnak ki a valós életben, és mikre kell megoldásokat találjanak.

A csapat célja természetesen a teljes önvezetés (Full Self Driving – FSD), amivel az autó önállóan elnavigál egy a felhasználó által megadott helyre. Ennek során figyelembe veszi a táblák jelzéseit, megáll a Stop táblánál, a piros lámpánál, gond nélkül kanyarodik nagy ívben balra, és megold minden szükséges feladatot. A tavalyi Autonomy Day rendezvényen bemutatott videón jól látható, hogy a fejlesztői verzió emberi beavatkozás nélkül képes megtenni például a Palo Alto környékén kijelölt demonstrációs útvonalat.

Persze ilyen rendszere már sok más gyártónak is van, a prezentációban Karpathy a Waymo (Google) teljesen önállóan balra kanyarodó járművét mutatja be példaként. De a Tesla Autopilot teljesen más koncepció alapján működik. Az összes többi rendszer LIDAR (lézeres távolságmérő) segítségével méri fel a környezetét, ami alapján a rendszer elhelyezi az autót a helyszínről előre elkészített nagy felbontású térképen. Így az autó pontosan tudja, hogy hol van az úton, és hol milyen lehetőségei vannak, hol milyen ívben kell kanyarodnia.

A Tesla teljesen más megközelítést alkalmaz. Az autókon nincs LIDAR, minden kamera alapú, nem használnak nagy felbontású térképet, így amikor egy kereszteződéshez ér egy Tesla, akkor az olyan, mintha akkor lenne ott először. A kamerák képe alapján megállapítja, hogy hány sáv van, melyik merre megy, melyikhez melyik lámpa tartozik, és ezek alapján hoz döntést. Ezzel a megközelítéssel ugyan nehezebb megoldani a helyzeteket, de amikor elkészülnek a szoftverrel, azt egyszerre fogják tudni alkalmazni a már világszerte eladott autók millióin.

Ahhoz, hogy egy egyszerű közlekedési szituációt meg tudjunk oldani, vezetés közben rengeteg apró részletre kell odafigyelnünk. A táblák, az út felfestései, a mozgó és fix tárgyak, a közlekedési szabályok, mind mind olyan tényezők, amiket figyelembe kell venni. Az önvezető rendszer is fel kell ismerje ezeket, és meg kell hozza a megfelelő döntéseket, és a felismeréseit a sofőr tudtára is kell adja, hogy az megbizonyosodhasson, hogy az autó is úgy látja a helyzetet, ahogy azt kell.

De a feladat nem annyira egyszerű, mint amennyire tűnik. Egy egyszerű, piros alapon fehér betűket tartalmazó Stop tábla felismerése egy neurális hálózatnak nem szabadna hogy problémát okozzon, hiszen milliónyi különböző objektumot fel tudnak ismerni gond nélkül. De a Stop táblákból is rengeteg féle lehet. Lehet oszlopon, falon, a földre tett táblán, ki lehet egészítve a kamerát elvakító lámpával, de olyan is előfordul, hogy egy kézben tartott tábla funkciója attól is függ, hogy azt éppen feltartják vagy leengedik. De ez csak egy része a problémáknak. Előfordul, hogy a Stop táblát növényzet, más táblák vagy akár más közlekedők (busz, teherautó) részben takarják. A Stop táblákhoz sok esetben kiegészítő táblák is tartoznak, amelyek meghatározzák, hogy mely közlekedőkre vonatkozik a megállási kötelezettség, és melyekre nem. Ezeket mind tudni kell kezelni, hiszen ezek befolyásolják, hogy mi a helyes döntés egy adott szituációban. Karpathy ezen a ponton kiemelte, hogy jelenleg még minden döntést a látottak alapján hoz meg a rendszer. Vannak ugyan térképeik, de azok nem nagy felbontású térképek.

A probléma megoldásához a Tesla a már az utakon lévő autókat használja. Első körben Shadow módban fut a táblafelismerő rendszer, ami során ha bárhol bizonytalanságot észlel, akkor arról az autó fotót és egyéb adatot küld a központba. Ugyanígy értesítést kapnak, ha a térkép adatok és a látottak ellentmondanak egymással, így akár a tábla felismerés, akár a térkép hibája javítható. A félig eltakart táblák felismeréséhez például összeállítottak egy speciális szűrőt, amit leküldtek a teljes flottának, és arra kérték az autókat, hogy ha bármi hasonlót látnak, azt küldjék be a fejlesztőknek. Így a Tesla pillanatok alatt egy óriási képadatbázishoz jutott, ami alapján tovább tudják tanítani a neurális hálózatot az ilyen tábláknak a felismerésére. Ugyanígy tettek a Stop táblák kiegészítő tábláival is, aminek eredményeként ma a Teslának van Karpathy szerint a legnagyobb adatbázisa a világon „Except right turn” (Kivéve jobbra kanyarodáskor) feliratú kiegészítő táblákból. Az így beérkező képeket válogatják és címkézik, majd a rendszer további tanítására használják. Mindezt természetesen szoftverfrissítés nélkül, teljesen a háttérben. Karpathy a flotta nélkül elképzelhetetlennek tartja ilyen méretű, minták tízezreit tartalmazó adatbázis felépítését.

De egy Stop tábla felismerése csak egy a sok száz különböző feladat közül. Ahhoz, hogy ezt több ezer fejlesztő nélkül, egy néhány tucat emberből álló csapat meg tudja oldani, olyan automatizmusokat kellett kialakítani, ami könnyen újabb és újabb prototípusokkal (problémákkal) bővíthető, és ami ezeket a prototípusokat is végigfuttatja ugyanazokon a tanulási folyamatokon. A fejlesztők tulajdonképpen csak egy tanulási környezetet alakítottak ki, ami begyűjti a flottától a szükséges mintákat, elvégzi az alapvető címkézéseket (amit persze emberek egészítenek ki), automatikusan elküldi a flottának shadow módban való tesztelésre, és így tovább. Az előadásban példaként Karpathy a rendőrautók figyelmeztető jelzésének felismerését megtanuló folyamatot említi.

De hogyan dönt az autó?

Amiről eddig szó volt, az a központi szoftver tanuló mechanizmusa, ami összeállítja az autóba áttöltendő tudásanyagot. Az autóban a 8 kamera, az ultrahangos szenzorok, a radar és az IMU (inertial measurement unit – 3 tengelyes gyorsulás és elfordulásmérő) jeleiből határozza meg a rendszer a kormányzás és a sebesség adatait. Ehhez a Teslakban jelenleg kétféle szoftver fut. A Karpathy által 1.0-ásként emlegetett kódot emberek írták hagyományos programozási környezetekben és fixen kódolt szabályokat tartalmaznak, míg a 2.0-ás kód a tanulás eredményeként létrejött neurális háló. A kettő együtt él az autóban, és közöttük a határok rugalmasan változnak. Az új rendszer átvehet feladatokat a régiből, és a trend az, hogy egyre több olyan problémát old meg, amit korábban az 1.0-ás csinált.

Az új szoftver lehetővé teszi, hogy az autó a kamerák képe és az autó mozgása alapján felépítse az autó környezetének felülnézeti modelljét, anélkül, hogy a környezet távolabbi pontjairól pontos adatai lennének, így a döntéseket nem elsősorban a kamera képe, hanem neurális háló segítségével felépített, a hiányzó, vagy a képen rosszul látható elemek pótlását is tartalmazó részletek alapján hozza meg az autó. Míg szimplán a kamera képe alapján rengeteg adat hiányozhat a helyes döntés meghozatalához, addig a neurális háló alapján reprodukált környezetben mindez már nem probléma. A rendszer különbséget tud tenni például az út széle, a forgalmi irányokat elválasztó vonalak, a valós járdaszegély illetve a felfestések között, de meg tudja állapítani a forgalmi irányokat is.

A távolságmérés természetesen nem maradhat ki a Tesla szoftveréből sem, de ezt is a kamerák képéből számítják ki. A pszeudo LIDAR megoldással a látott világ mélységét is meg tudja állapítani a rendszer, így szimulálva a LIDAR adatforrást. Ezeken az adatokon már alkalmazhatók a LIDAR feldolgozásnál használt objektumazonosító algoritmusok. A LIDAR és a kameraképen alapuló pszeudo LIDAR megoldások pontossága közötti eltérés rohamosan csökken.

A jelenlegi rendszerrel a legnagyobb probléma, hogy meghatározott szabályok alapján a neurális háló határozott jóslatait figyelembe véve a döntéseseket továbbra is az 1.0-ás szoftver hozza meg. Ezek a jóslatok viszont soha nem lesznek elég pontosak, így az előre leprogramozott döntések miatt rengeteg hiba születhet. A cél, hogy a neurális hálót megtanítsák ezeknek a döntéseknek a meghozatalára is. A Tesla óriási adatbázissal rendelkezik arról, ahogyan az emberek vezetik az autójukat, ami felhasználható ehhez a tanulási folyamathoz. Az emberek kormány elfordításával és a sebesség szabályozásával tulajdonképpen saját maguk címkézték fel az adatokat, megmutatva például, hogy miként kell áthajtani egy kereszteződésen.

A másik probléma, hogy az eddigi tanulás – a mélységadatok meghatározását leszámítva – egy folyamatosan felügyelt folyamat. A fejlesztések abba az irányba haladnak, hogy a rendszer felügyelet nélkül, sokkal kisebb adatmennyiségből is tanulni tudjon. Az autók kameráiból rengeteg videóval is rendelkeznek, amit fel tudnak használni erre a célra. Bár be tudnak gyűjteni akár sok százezer fotót a Stop táblák kiegészítő tábláiról, de ha meg lehet oldani enélkül is, akkor inkább nem tennék. A videók és a sofőrök ezekhez kapcsolt viselkedése alapján a rendszer meg fogja tudja tanulni, hogy melyik táblánál mit kell tenni.

Ezek alapján talán már érthető, hogy hol áll jelenleg a Telsa önvezető rendszerének a fejlesztése, és hogy miért nem tudja még mindig hibátlanul megoldani az összes közlekedési lámpás, illetve Stop táblás kereszteződést. Azzal, hogy ezek most kikerültek élesben az utakra, a rendszer olyan értékes adatokhoz jut, amikből jelentősen fejleszthető a rendszer megbízhatósága, illetve az emberi beavatkozások számát figyelve ellenőrizni lehet a tanulási folyamat eredményeit. Bár nem tudni, hogy az előadás mennyire a naprakész állapotokat mutatja, de az is egyértelművé válik belőle, hogy bár a forgalmi szituációk elemzése jelentős részben a mesterséges intelligencián alapszik, a döntések meghozatala ezen szituációelemzésekre épülve még mindig jelentős részben hagyományos programok által, előre megírt szabályrendszerek alapján történik. Lehet, hogy az oly sokat emlegetett „feature complete” állapot eléréséhez ennek a döntési mechaniznusnak a neurális hálóra való átültetése szükséges?

Az előadás teljes terjedelmében az alábbi videón nézhető meg.

 

 

Nincs időd naponta 8-10 hírt elolvasni? Iratkozz fel a heti hírlevelünkre, és mi minden szombat reggel megküldjük azt a 10-12-t, ami az adott héten a legfontosabb, legérdekesebb volt. Feliratkozás »

Elektromos autót használsz?

Antalóczy Tibor

A Villanyatosok.hu főszerkesztője, illetve a Villanyautósok Közösségének egyik alapító tagja, e-mobilitás szakértő. 2014 óta aktív elektromos autó használó, és külső tanácsadóként számtalan hazai elektromobilitási projekt aktív segítője.