1. óra Bevezetés, Szenzorokról általánosságban (kamera, radar, LiDAR) - CooperativeResearchPlatform/object_detection_for_aeb GitHub Wiki

Alkalmazott AI a Járműipari Szoftverfejlesztésben

Tudnak arról, hogy valaki teamsen tervez becsatlakozni?

I: Rövid bevezetés

Üdvözlünk mindenkit az „Alkalmazott AI a járműipari szoftverfejlesztésben” kurzuson.

Röviden összefoglalva ebben a félévben majd abba igyekszünk elméleti és gyakorlati betekintést nyújtani nektek, hogy a modern vezetéstámogató és önvezető rendszerek hogyan épülnek fel, és ezen belül majd az első kettő (észlelő és érzékelő (azaz percepciós)) fokozatban fogunk igazán elmélyedni.

Többféle megoldásról is említés fog esni, de kurzus alapvetően gyakorlati fókuszú lesz.

Feladat teaser

A félév során majd a feladatotok az lesz, hogy a tanultak alapján a korábbi félévben megvalósított AEB funkcióhoz percepciós fokozatot fejlesszetek, pontosabban tanítsatok be. Az az elvárás az, hogy egy bemeneti 3D pontfelhő alapján kimenetként meghatározzátok: az összes közlekedési résztvevő x,y pozícióját, sebességét, gyorsulását.

camera_based_object_detection - video

időpont egyeztetés

  • A/ kedd 11-15 idősávban
  • B/ szerda 1430-1600
  • ZS/ csütörtök 1100-1230

bemutatkozás

oktatók: Páncsics Zsombor, Dobay Tamás

Bevezetés folytatása

Az ADAS (advanced driver assistance systems) vezetéstámogató rendszerek fejlettségük szerint Level 1,2,3,4,5 kategóriákba sorolhatóak. Céljuk a biztonság növelése és a vezetési komfort javítása.

Self driving in the past

Az önvezetés már nagyon régóta foglalkoztatja az embereket.

  • 1950-ben már okos autópáylát fejlesztet a GM oly módon, hogy a járművek sebességét rádiohullámok segítségével vezérelte, illetve egy mágnesszálat az aszfaltbe építve kormányozta őket.
  • 1960 - Stanford - kamera alapú megoldás Itt már gépi látást és machine learninget alkalmaztak. A jármű képes volt magas kontraszú felfestések (sávszélek) követésére 1,3 km/h sebességgel.
  • 1980 - a számítási kapacitás növekedésével (8086-os Intel processzor) lehetőség nyílt 100 km/h közeli sebességnél a sávtartás funkció megvalósulására.

Self driving in the past

  • 2016 - Tesla (camera only) autopilot Level 2 ++ funkciókat valósít meg effektíven. (sávtartás nagy sebességnél, sávváltás, sávelhagyás figyelmeztetés, automata parkolás)
  • 2020 – Waymo: Az első teljesen vezető nélküli Robotaxi A Google-ből kivált Waymo Phoenixben elindította a világ első olyan nyilvános robotaxi-szolgáltatását, ahol a járművekben már egyáltalán nem ült biztonsági sofőr. Technológia: Robusztus szenzorfúzió (LiDAR, radar, kamerák) és nagy pontosságú HD térképek (HD Maps) alkalmazása. Level 4 megvalósítása valós városi forgalomban, kijelölt működési területen.
  • 2023 – Mercedes-Benz Drive Pilot: (Level 3) Technológia: Szenzorfúziós architektúra (LiDAR, sztereó kamerák, hátsó radarok, nedvességérzékelők és redundáns kormány-/fékrendszerek). Level 3 engedélyezése autópályán.

Az ADAS rendszerek működése az alábbi logika szerint írható le:

Self driving in the past

  1. Érzékelés (Sensing): A rendszer különböző szenzorok (kamera, radar, lidar, ultrahang stb.) segítségével gyűjt nyers adatokat a jármű környezetéről.
  2. Észlelés (Perception): A szenzoradatok feldolgozásával a rendszer felépít egy környezeti modellt, a saját jármű körüli környezetről és közlekedési résztvevőkről. A környezeti modell tartalmazza: az objektumokat (járművek, gyalogosok, sávok, akadályok), azok tulajdonságati (pozíció, sebesség, mozgásirány), a saját (ego) jármű adatai (sebesség, kormányszög, gyorsulás) és a vezető állapotát (figyelem, éberség)
  3. Helyzetelemzés és Döntéshozatal: A rendszer értékeli a környezeti modell alapján a jelenlegi közlekedési szituációt, azonosítja a releváns kockázatokat és lehetőségeket, majd döntést hoz, hogy milyen beavatkozást alkalmazzon.
  4. Tervezés (Planning): A helyzetelemzés alapján a rendszer megtervezi a jármű optimális viselkedését és útvonalát (pl. sávtartás, fékezés, kikerülés).
  5. Beavatkozás (Actuation): A rendszer utasításokat küld a jármű aktuátorainak (fékrendszer, kormányzás, motorvezérlés), hogy végrehajtsák a megtervezett manővert.

II: Érzékelés (Sensing) - Szenzorok bemutatása

Azért fontos ez a fokozat mert itt dől el, hogy a rendszerünk detektálja-e az összes közlekedésben résztvevőt, és ha igen, akkor azt milyen minőségben teszi. Vannak esetleg olyanok, akiket kihagyott (ezeket nevezzük false negatív eseteknek)? Ez veszélyes, hiszen a funkció nem fog tudni ebben az esetben aktiválódni. Vagy behozott fantom objektumokat (amiket false positivenak hívunk)? Ennek hatására hibásan aktiválódhat egy vészfékező funkció ami szintén balesethez vezethet.

A fokozat minősége nagyban függ a felhasznált szenzormodalitástól vagy szenzormodalitásoktól.

Szenzortípusok

Nézzük meg először általánosságban a szenzorokat, melyeknek más-más erősségeik és gyengeségeik vannak.

Szenzor Erősségek Gyengeségek ADAS felhasználás
Kamera Gazdag szemantikai információ, magas felbontás, magas frissítési sebesség, könnyű elhelyezés, típus cserélhetőség Fény- és időjárásfüggő, közvetlen, mélységinformáció hiánya (mono esetben) objektum detekció és osztályozás, sáv- és táblafelismerés
Radar Radar jelek segítségével közvetlen távolságmérés a Doppler-effektus alapján. Megbízható működés rossz látási körülmények között is (ködben, sötétben, esőben) Gyenge szögfelontás. Sok zaj a reflexiók miatt Távolság és sebességmérés (ACC, AEB alapja), objektum detekció és osztályozás, sávszélfelismerés
Ultrahang hanghullámok segítségével a közeli tárgyak érzékelése, legolcsóbb csak közelre alkalmazható parkolást segítő rendszerek
LiDAR Milliméter pontos 3D pontfelhő Magas ár Ground Truth

Szenzorok Elhelyezkedése

Egy modern autonóm jármű vagy vezetéstámogató rendszer (ADAS) több különböző szenzortípus fúziójára támaszkodik.

Járműipari Szenzorok Elhelyezkedése
Különböző járműipari szenzorok elhelyezkedése és feladatai a járművön.

Szenzorok Hatótávolsága
Járműipari szenzorok látószöge és érzékelési hatótávolsága.


III: Kamera

A kamerák az egyik legelterjedtebb szenzorok (kiegészülvén radarral), köszönhetően relatív alacsony költségüknek és annak, hogy képesek az információt az emberhez hasonló módon és magas frekvenciával rögzíteni.

Teljesítményét negatívan befolyásolják a rossz látási viszonyok (sötétség, köd, eső) és az erős ellenfény.

Kamera típusok

Mono kamera:

Egyetlen képérzékelőből (pl:CMOS) és egy lencséből álló rendszer.

Előnyök:

  • Költséghatékony, kis beépítési méret, alacsonyabb számítási kapacitás- és sávszélesség-igény.
  • Képes ellátni a legtöbb alapvető funkciót (sávtartás, táblafelismerés, 2D jármű-/gyalogosdetekció).

Kihívások & Korlátok:

  • Közvetlen mélységinformáció hiánya: A 3D világ 2D képsíkra vetül, így a távolság közvetlenül nem mérhető.
  • Monokuláris mélységbecslés: A neurális hálónak geometriai és szemantikai támpontokból (ismert átlagos objektumméretek) kell becsülnie a távolságot, ami érzékeny az új szituációkra, torzításokra.
  • Autóipari alkalmazás: A szélvédő mögé épített kameramodul. L1,2/L2+ funkciók.

Sztereó kamera:

Működési elv: Két (vagy több), egymástól ismert fix bázistávolságra elhelyezett, szinkronizált és kalibrált kamera. A bal és jobb oldali kép közötti pontpárokból és azok pixel-eltérésekből triangulációval határozza meg a távolságot.

Előnyök:

  • Közvetlen 3D mélységmérés: Nem feltételez előzetes szemantikai tudást az objektumról; ismeretlen formájú/típusú akadályok távolsága is közvetlenül mérhető.

Kihívások & Korlátok:

  • A mélységfelbontás pontossága a távolság négyzetével romlik. Autóipari méretkorlátok miatt ez a rendszer csak a közeli tartományban ad nagy pontos mélységinfomrációt, nagy távolságokon a mélységmérés bizonytalanná válik.
  • Erőforrás- és kalibrációigény: Két videófolyam szinkron feldolgozása, trianguláció hardverigényes.
  • Mechanikai és termikus érzékenység: Rezgések, szélvédő deformáció vagy hőtágulás elhangolhatja a precíz geometriai kalibrációt.

IR és Thermal camera

Működési elv:

  • Közeli infravörös: Általában aktív megvilágítással működik.
  • Hőkamera: Passzív hősugárzást (feketetest-sugárzást) érzékel.

Előnyök:

  • Éjszakai látás: Élőlények (gyalogosok, felbukkanó vadállatok) kiemelkedő kontraszttal jelennek meg a környezetükhöz képest hősugárzásuk alapján.
  • Jobban átlát a ködön, poron, füstön, és teljesen védett a szembejövő fényszórók által okozott elvakítástól.

Kihívások & Korlátok:

  • Felbontás és részletgazdagság: A látható fény tartományához képest alacsonyabb térbeli felbontás és textúraszegénység (pl. a sávfelfestések vagy közlekedési táblák nem mindig láthatók rajta).
  • Anyagköltség és optika: A hőkamerák lencséi nem készülhetnek normál üvegből, ami jelentősen növeli az árat.
  • Autóipari alkalmazás: Éjjellátó asszisztensek, kiegészítő biztonsági modalitás L3/L4 autonóm járműveknél.

Multi / hyperspectral kamera

Működési elv: Míg a hagyományos RGB kamera mindössze 3 spektrális sávot (Vörös, Zöld, Kék) rögzít, addig:

  • Multispektrális kamera: Néhány (általában 4–10) diszkrét, szűk sávot mér a látható és láthatatlan tartományokban.
  • Hiperspektrális kamera: Több száz sávot rögzít.

Előnyök a járműiparban és a percepcióban:

  • Anyag- és felület-klasszifikáció: Nemcsak az alakot látja, hanem az anyag fizikai-kémiai összetételét is. Képes megkülönböztetni a nedves utat a száraztól, vagy a valódi gyalogost egy reklámplakátra nyomtatott emberi alaktól.
  • Látási viszonyok javítása: Képes áthatolni sűrű ködön, aeroszolokon és szmogon az optimális infravörös sávok kiválasztásával.
  • Rejtett akadályok és növényzet vizsgálata: Különbséget tesz az áthajtható növényzet (laza bokor) és a merev akadályok (betontuskó a fűben) között.

Kihívások & Korlátok:

  • Hatalmas adatmennyiség és számítási igény.
  • Alacsonyabb fényhasznosítás: A rendkívül szűk sávok miatt pixelenként kevesebb foton érkezik, ami növeli az expozíciós időt így rontja a detektálhatóságot gyorsan mozgó járművek esetén.
  • Komplexitás és költség: Speciális prizmák, szűrőmátrixok szükségesek a gyártáshoz.
  • Autóipari alkalmazás: Jelenleg kutatási fázisban áll ezen szenzortípus alkalmazhatósága.

A kamerarendszerek alapvető fizikai és képalkotási paraméterei:

Szenzorméret, Fókusztávolság és látószög, lencse és fényerő, zársebesség, képkockasebesség

A kamera alapú észlelés pontossága és megbízhatósága a hardveres rétegben, az optikai és szenzorparaméterek helyes megválasztásával kezdődik.

  1. Szenzorméret és Pixelméret

    • Szenzorméret: A képérzékelő lapka fizikai átlója (pl. 1/3, 1/2.7, 1/1.8 vagy 1).
    • Pixelméret: Az autóiparban nem a megapixelek maximalizálása az elsődleges cél, hanem a pixelméret és a fényérzékenység egyensúlya.
    • Nagyobb pixel: Több fotont képes befogni adott idő alatt jobb jel-zaj viszony , alacsonyabb zaj gyenge fényviszonyok mellett, és magasabb dinamikatartomány.
    • Kisebb pixel: Nagyobb felbontást tesz lehetővé azonos lapkaméreten, de rossz fényviszonyok között zajosabbá válik a kép.
  2. Fókusztávolság és Látószög (Focal Length & Field of View - FoV)

    • Fókusztávolság (f) : A lencse középpontja és a szenzor közötti távolság.
    • Kapcsolat a látószöggel (FoV): FoV = 2 · arctan(w / (2 · f)) (ahol w a szenzor szélessége)
    • Autóipari trade-off (Hatótáv vs. Látószög):
      • Nagy fókusztávolság -> Telefotó (100 mm+ -> <25°) : Nagy hatótávú detekció (200+ méterig autópályán az elöl haladó járművekhez, ACC funkcióhoz). Hátránya: szűk térrészletet fed le.
      • Kis fókusztávolság -> Széles látószög (Fisheye) (<24mm -> 80-180°) : Nagy térbeli lefedettség a jármű közvetlen környezetében (pl. sávváltás-figyelés, parkolássegítő Surround View kamerák). Hátránya: alacsonyabb szögfelbontás nagy távolságon, erős lencsetorzítás.
  3. Lencse és Fényerő

    • Rekeszérték és zársebesség: A rekeszéték a lencse fényáteresztő képességét határozza meg a shutter speed pedig az adott kép készítésekor felhasznált fénygyűjtési időt.
    • Autóipari lencsék sajátosságai: Fix rekesz és fix fókusz (nincs mechanikus mozgó alkatrész a rázkódás és a kopás elkerülése miatt).
  4. Zársebesség és Zártípus (Shutter Speed & Shutter Type)

    • Expozíciós idő (Shutter Speed): Az az időtartam, amíg a szenzor fényt gyűjt.
    • Hosszú expozíció (1/60): Világosabb kép éjszaka, de mozgási elmosódást (Motion Blur) okoz, ami tönkreteszi az objektumdetekciót nagy sebességnél.
    • Rövid expozíció(1/2000): Éles kép nagy sebességnél, de sötétebb kimenet nagyobb megvilágítást vagy magasabb erősítést igényel.
    • Global Shutter vs. Rolling Shutter:
      • Rolling Shutter: A sorokat egymás után olvassa ki. Olcsóbb, elterjedt, de gyors mozgásnál geometriai torzulást (pl. hullámzás) okoz.
      • Global Shutter: Az összes pixel egyszerre rögzül. Nincs mozgásból adódó geometriai torzítás, ami kritikus a precíz 3D triangulációhoz és a gyors járműdinamikai helyzetekhez.
  5. Képkockasebesség és Késleltetés (FPS)

    • FPS (Frames Per Second): A másodpercenként rögzített képkockák száma (tipikusan 30, 60 vagy 120 FPS).
    • Biztonságkritikus jelentőség:
      • Egy 130 km/h (36.1 m/s) sebességgel haladó autó 30 FPS mellett képkockánként 1.2 métert tesz meg.
      • 60 FPS esetén ez a távolság 0.6 méterre csökken.

Képalkotás fizikája

A kamera tulajdonképpen a 3D-s környezetet vetíti a képi síkra.

Ezt a vetítést legegyszerűen a lyukkamera modelljével közelíthetjük. (ebben a modellben nincs lencse -> elhanyagolja az optikai hibákat, de leírja a perspektívikus leképzést.)

Az elóállt kép ebben a modellben csupán a leképzendő pont és a focal pont helyzetétől valamint, a fókusztávolságtól függ.

Egy térbeli pontból (X,Y,Z) érkező fénysugár áthalad a focal ponton és a képsíkra vetülve (u,v) pontot hoz létre.

Ha a szenzort a focal pont elé helyezzük akkor megfordul a kép, de ugyan így minden matematikai számítás megállja a helyét.

Az új koordináta a pixelkoordinátarendszerben a hasonló háromszögekkel írható le: u = f · k_u · x_cam / z_cam + u_0, v = f · k_v · y_cam / z_cam + v_0

Ha át kell tértnünk a világ koordináta rendszerből a kemrea koordináta rendszerbe akkor

vegyük: K = [ f·k_u, 0, u_0 0, f·k_v, v_0 0, 0, 1 ]

[u, v, 1] ~ K · X_cam

ha X_world = [x, y, z]

akkor

[u, v, 1] ~ K · R[I | -t] · [X_world, 1] = P · [X, 1]

De! elveszik a Z információt.

csak azt tudjuk rekonstruálni hogy a pixelpont melyik térbeli egyenesen van rajta. ezt nem hogy azon hol -> ehhez kell két kamera és egy egymásnak megfelelő pontpár


Sztereo látás

Amennyiben rendelkezédre áll kettő kalibrált kamera, melyeknek ismert a bázistávolsága is.

Továbbá a corresponding pontpár a képen.

Akkor meg lehet becsülni a 3D mélységét is ennek a pontnak. Hiszen ekkor két térbeli egyenest kapunk és ahol ezek metszik egymást (vagy a legközelebb esnek) ott van a mélység


Kamera kalibráció

Itt intrinsic (K) és extrinsic (pose, orientation) kalibrációról beszélünk.

Az intrinsic calib szükséges a kamera "besejének" kalibrálásához. Azaz a fókuszpont (f), optikai középpont(u_0,v_0) és a lencsetorzítások (k_u,k_v) megállapításához.

Az extrinsic kalibráció: Hol és hogyan áll a kamera az autó koordinátarendszerében képest? (3D pozíció: X_cam, Y_cam, Z_cam, és Yaw, Picth, Roll).

Módjai:

  • A/ ismert méretű objektummal / sakktáblával
  • B/ dinamikusan, működés közben (auto-calibration)

Az A-hoz szükséges a tárgy geomertiájának ismerete / featurepontjainak távolságának ismerete. Vagy pedig néhány rész-feature alapján is elvégezhető pl: épületek párhuzamos szélei.

A kalibráció során a kamerát mozgatva minden egyes kép minden egyes feature pontjára felirjuk a projekciós egyenleteket. Mivel az egyenlet túldeterminált, a zajt szűrni tudjuk és a kalibrálás el tudjuk végezni.

A sakktáblás módszer:

  • 1998- Z.Zhang. - Microsoft
  • kell hozzá: merev sík sakktábla.
  • A táblát mozgatni kell, el kell vinni a kép sarkaiba, dönteni kell, rotálni kell.
  • A sakktábla négyzeteinek sarokpontjait detektálja. Majd homográfiát hajt végre a képek között.
  • Legalább 4 kép pont pár szükséges egy képen. Ha több az jobb.
  • A felírt homográfia alapján visszavetítést hajt végre és a hibát minimalizálja.

Automata módszer: A jármű mozgása közben, a környezet statikus elemeiből (sávvonalak, vanishing point, horizont, emberalak) folyamatosan becsli és korrigálja a mechanikai elmozdulásokat, terhelésváltozást (pl. megrakott csomagtartó miatti pitch-változás).

Mindez elméletben könnyűnek tűnik, de a gyakorlatban korántsem egyszerű feladat jól bekalibrálni egy kamerát.


Kép előfeldolgozás

undistort -> minden kameraszenzort "egy térbe" hozni hogy a neurhálókat ne kamera specifikusan hanem átllánosságban, rektifikált képekre lehessen tanítani és univerzálisak legyenek

undistort A járműipari kamerák elé gyakran széles látószögű lencséket szerelnek, hogy minél nagyobb teret lássanak be a jármű előtt és mellett. Ennek a fizikai ára az úgynevezett lencsetorzítás (például a barrel/pillow), ami miatt az egyenes sávvonalak, lámpaoszlopok és épületek szélei görbének látszanak a képen. A torztalanítás során a korábban elvégzett kalibráció adatait felhasználva szoftveresen "visszahúzzuk" a képpontokat a helyükre. Így a görbült vonalak újra egyenesek lesznek, ami elengedhetetlen ahhoz, hogy a szoftver pontos távolságokat és pályákat tudjon számolni.

rectification A rektifikálás célja, hogy a képet egy ideális, virtuális képsíkra vetítsük rá. Sztereó kamerarendszereknél ez a lépés elengedhetetlen: a bal és jobb oldali kamera képét úgy forgatja és igazítja egymáshoz a rendszer, hogy a megfelelő képpontok pontosan ugyanabba a vízszintes képsorba essenek. Ezzel a 3D mélységszámítás feladata drasztikusan leegyszerűsödik, hiszen az algoritmusnak nem kell a teljes képen keresgélnie az összetartozó pontokat, elég csak egyetlen vízszintes vonal mentén pásztáznia.

Ez a lépés azért is fontos, hogy az egyes neurhálók ne kameraspecifikusak legyenek, hanem a bemeneti interészük egységes lehessen.

color space egységesítés képérzékelőkből és a különböző szoftveres könyvtárakból érkező képek eltérő színcsatorna-sorrenddel dolgozhatnak (például az OpenCV alapértelmezetten kék-zöld-piros, míg a gépi tanulási keretrendszerek piros-zöld-kék sorrendet várnak). Ha ezt nem egységesítjük, a modell számára az égbolt és a piros lámpa színe teljesen felcserélődik. Emellett bizonyos feladatokhoz érdemes a képet szürkeárnyalatossá alakítani a számítási igény csökkentésére, vagy olyan színtérbe konvertálni, amely különválasztja a fényerőt a színektől, így segítve a sávok felismerését változó árnyékviszonyok mellett is.

méretezés és ROI kivágása modern fedélzeti kamerák hatalmas felbontásban rögzítenek, de egy valós időben futó neurális hálónak ezt a teljes adatmennyiséget feldolgozni túl lassú és felesleges lenne. Az előfeldolgozás során először kivágjuk az érdekes területet (Region of Interest – ROI), vagyis elhagyjuk a felesleges részeket, mint például a motorháztetőt vagy a tiszta égboltot. Ezután a képet a modell által elvárt méretre skálázzuk, ügyelve arra, hogy a képarány ne torzuljon el: ahelyett, hogy összenyomnánk a képet (amitől az autók laposnak tűnnének), arányosan kicsinyítünk, a fennmaradó üres sávokat pedig semleges kitöltéssel látjuk el.

kontrasztjavítás Vezetés közben a kamera folyamatosan extrém fényviszonyok közé kerül: alagútból hajtunk ki a vakító napsütésbe, szembejövő fényszórók vakítanak, vagy sötét fasorok vetnek mély árnyékot az útra. A kontrasztjavító eljárások (például a lokális, adaptív hisztogram-kiegyenlítés) a kép kisebb területeit külön-külön vizsgálják, és felerősítik a kontrasztot ott, ahol szükséges. Ennek köszönhetően a mély árnyékban lévő gyalogosok vagy a rosszul megvilágított sávvonalak is jól kivehetővé válnak anélkül, hogy a napfényes területek teljesen beégnének.


SUM:

A célom a kamera blokkal az volt, hogy lássátok, a kamera fontos eszköze a vezetéstámogató rendszereknek, ám ha megláttok két kamera adatsetet, akkor ahhoz, hogy rendesen tudjátok használni őket szükségetek lesz még legelső sorban a hozzá tartozó intrinsic és extrinsic kalibrációra is.

Amikor a gyakorlatban, ipari projektekben vagy kutatásban megnyittok egy valódi autonóm adathalmazt (pl. nuScenes, Waymo, KITTI), ne csak egy mappa nyers .jpg / .png képfájlt lássatok benne:

szüksége van a többi metaadatra is:

  • Belső kamera mátrix: fókusztávolság, optikai középpont, torzítási együtthatók
  • Külső transzformációs mátrix: hol és milyen szögben áll a kamera a jármű tengelyéhez vagy a többi szenzorhoz (LiDAR, radar) képest.

A mért adatra hatással van a zársebesség (mozgási elmosódás), a látószög (FoV / hatótáv trade-off), a színhasználat (RGB vs. RCCC) és a megvilágítás dinamikája (alagút, szembevakítás).

IV: Radar (Radio Detection and Ranging)

A radar egy aktív környezetérzékelő szenzor, amely elektromágneses rádióhullámokat (milliméteres hullámhosszon, tipikusan 76–77 GHz és 77–81 GHz frekvenciasávban) bocsát ki, és a visszaverődő jelekből nagy pontossággal határozza meg a célpontok távolságát, radiális relatív sebességét és szögpozícióját. Az autóiparban a FMCW (Frequency-Modulated Continuous-Wave) elven működő radarok terjedtek el.


1. Az FMCW Radar Működési Elve

Az FMCW radar nem rövid impulzusokat sugároz, hanem egy folyamatos, időben lineárisan változó frekvenciájú jelet, úgynevezett chirp-et (vagy frekvenciarámpát).

  1. Jel Kibocsátás: Az adóantenna (Tx) egy lineárisan emelkedő frekvenciájú chirp jelet sugároz ki:
    • $f_0$: vivőfrekvencia (pl. 77 GHz)
    • $B$: sávszélesség (pl. 1–4 GHz)
    • $T_{\text{chirp}}$: chirp időtartama
    • $s = \frac{B}{T_{\text{chirp}}}$: a chirp meredeksége
  2. Visszaverődés és Keverés: A célpontról visszaérkező időkésleltetett és Doppler-eltolódott jelet a vevőantenna (Rx) fogadja, majd a rendszer összekeveri (multiplikálja) az éppen kibocsátott jellel.
  3. Különbségi Frekvencia (Beat Frequency, $f_b$): A keverés eredményeként előálló alacsony frekvenciájú jel (Baseband / Beat signal) frekvenciája arányos a célpont távolságával és relatív sebességével:

$$ f_b = f_{\text{távolság}} \pm f_{\text{Doppler}} = \frac{2 \cdot s \cdot d}{c} + \frac{2 \cdot v_r \cdot f_0}{c} $$

(ahol $d$ a célpont távolsága, $s$ a chirp frekvencia-meredeksége, $c$ a fénysebesség, $v_r$ a relatív sebesség, $f_0$ pedig a vivőfrekvencia).


2. Radiális Távolság, Sebesség és Szögbecslés

A) Távolság és Doppler-sebesség Szétválasztása

Egyetlen chirp frekvenciájából a távolság ($d$) és a sebesség ($v_r$) még nem választható szét (egy egyenlet, két ismeretlen).

  • Megoldás: A radar egy mérési ciklusban több, eltérő meredekségű (pl. felfutó és lefutó, vagy különböző meredekségű $s_1, s_2, s_3$) chirp-et bocsát ki.
  • Az így kapott lineáris egyenletrendszer metszéspontja egyértelműen megadja a valós $(d, v_r)$ értékpárt, miközben kiszűri a téves, úgynevezett "szellem" (ghost) detekciókat.

B) Szögbecslés (Angle of Arrival - AoA)

A radar a horizontális (és 4D radarok esetén vertikális) szöget több egymás mellett elhelyezett vevőantenna (Rx array) segítségével határozza meg: A járműiparban a horizontális (Azimuth angle) pontossága a fontos. Az elevation lehet pontatlan, az 2x-er származtatott érték, de ez nem kritikus.

  • A visszaérkező síkhullám az antennák közötti távolság ($d_{\text{ant}}$) miatt eltérő úthosszat tesz meg, ami fáziskülönbséget ($\Delta \Phi$) eredményez:

$$ \Delta \Phi = \frac{2\pi \cdot d_{\text{ant}} \cdot \sin(\theta)}{\lambda} $$

Ebből a beérkezési szög ($\theta$):

$$ \theta = \arcsin\left(\frac{\lambda \cdot \Delta \Phi}{2\pi \cdot d_{\text{ant}}}\right) $$

(ahol $d_{\text{ant}}$ a szomszédos vevőantennák közötti fizikai távolság, $\lambda$ a hullámhossz, $\theta$ a beérkezési szög, $\Delta \Phi$ pedig a két antenna között mért fáziskülönbség).


3. A Radar Adat Erősségei és Korlátai

Erősségek

  • Közvetlen és pontos Doppler-sebesség: Egyetlen mérési ciklusból pontos radiális sebességinformációt ad, ami kritikus az ACC és AEB funkciók gyors reakcióidejéhez.
  • Időjárás-állóság: A milliméteres hullámok áthatolnak a sűrű ködön, esőn, havon, füstön és poron.
  • Nagy hatótávolság: A távolsági radarok (LRR - Long-Range Radar) akár 200–250 méteres távolságig is megbízhatóan érzékelnek.

Korlátok

  • Gyenge szögfelbontás és magassági információ hiánya: Hagyományos 3D radaroknál nehéz megkülönböztetni a híd alatt álló autót magától a felüljárótól (erre a 4D Imaging Radarok adnak megoldást).
  • Többszörös reflexiók és zaj: Fémes felületekről, szalagkorlátokról sokszoros visszaverődés jön létre.
  • Szenzor vakság (Sensor Blindness): Hó, vastag sárlerakódás a radom felületén abszorpciót vagy törést okoz.

4. Radar Jelfeldolgozás és Előfeldolgozás (DSP Pipeline)

[ Nyers Analóg Beat Jel ]
           │
           ▼
[ 1. Range FFT & Doppler FFT ] ──► 2D Range-Doppler Térkép
           │
           ▼
[ 2. CFAR Csúcsdetekció ] ──► Zajküszöb feletti pontok kiválasztása
           │
           ▼
[ 3. Szögbecslés (AoA) ] ──► 3D/4D Pontfelhő előállítása
           │
           ▼
[ 4. Doppler Kompenzáció ] ──► Saját járműmozgás (Ego-motion) korrekciója
           │
           ▼
[ 5. Időbeli Aggregáció & Követés (Tracking) ] ──► Kálmán-szűrő / Trackelt Objektumok
  1. 2D FFT Jelfeldolgozás: Az első FFT a távolságot (Range), a chirp-sorozatra végzett második FFT a Doppler-sebességet határozza meg (Range-Doppler Matrix).
  2. CFAR (Constant False Alarm Rate) Detekció: Adaptív küszöbérték-algoritmus, amely a környező zajszinthez igazítja a detekciós küszöböt a téves riasztások elkerülésére.
  3. Doppler Kompenzáció: A radar által mért relatív sebesség tartalmazza a saját jármű (ego) mozgásának komponensét is. A jármű CAN-buszról érkező sebesség- és giróadatai alapján ezt korrigálni kell, hogy megkapjuk a célpontok abszolút sebességét.
  4. Időbeli Aggregáció és Követés (Tracking): A radar pontjai ciklusról ciklusra ugrálhatnak. Több mérési ciklus adatainak időbeli összevonásával és Kálmán-szűrős (vagy EKF) követésével stabil trajektóriák és megbízható objektumlisták állíthatók elő.

V: Ultrahang

Az ultrahang szenzorok 20 kHz feletti hanghullámokat használnak közeli (jellemzően 15 cm és 5.5 m közötti) tárgyak távolságának meghatározására. Különösen fontosak kis sebességű manővereknél, mint a parkolás, valamint alacsony sebességű vészfékezési helyzetekben. Használják őket a holttér figyelésére is sávváltáskor. A teljes lefedettség érdekében több érzékelőt helyeznek el a jármű első és hátsó lökhárítóiban.

Gyengesége:

  • Rövid hatótávolság: Az érzékelési távolság jellemzően 5-5.5 méterben maximalizálódik, így elsősorban csak kis sebességű, közeli manővereknél (pl. parkolás) használható hatékonyan, nagy sebességű előretekintő funkciókra (pl. adaptív tempomat) nem alkalmas.
  • Korlátozott látótér: Egyetlen szenzor látótere (jellemzően 140° vízszintesen) nem elegendő a jármű teljes környezetének lefedésére, ezért a rendszer több érzékelő együttes használatára kényszerül.
  • Környezeti érzékenység: A távolságszámítás a hang terjedési sebességén alapul, melynek értékét a levegő hőmérséklete és a tengerszint feletti magasság is befolyásolja, ami pontatlanságot vihet a mérésbe.

VI: LiDAR: 3D Észlelés az Autonóm Járművekben

Note

A LiDAR (Light Detection and Ranging) az autonóm járművek egyik legprecízebb észlelési szenzora, amely közvetlen, nagy felbontású és akár centiméteres pontosságú 3D geometriai modellt alkot a környezetről. Aktív szenzorként saját infravörös lézerfényt bocsát ki, így a külső fényviszonyoktól (pl. éjszaka, szembetűző nap) függetlenül megbízhatóan működik.


1. Fizikai Működés és Pontfelhő Képzés

Time-of-Flight (ToF) Elv

A LiDAR infravörös lézerimpulzusokat bocsát ki, majd a visszaverődő fényt érzékeli. A távolságot a fény oda-vissza terjedési idejéből (Δt) számítja ki:

$$d = \frac{c \cdot \Delta t}{2}$$

(ahol c ≈ 300 000 km/s a fénysebesség, az osztás 2-vel pedig a megtett oda-vissza út miatt szükséges).

A Pontfelhő (Point Cloud)

Minden egyes visszaverődés egy 3D pontot eredményez a LiDAR saját szenzorkoordináta-rendszerében (sensor frame). Ezeknek a pontoknak a halmaza alkotja a pontfelhőt, ami a környezet geometriai mása.

A mért gömbi koordinátákból (távolság: r, horizontális szög: θ, vertikális szög: φ) a LiDAR saját koordinátarendszere szerinti Descartes-koordináták (x_lidar, y_lidar, z_lidar) keletkeznek:

  • x_lidar = r · cos(φ) · cos(θ) (jellemzően a LiDAR előre mutató tengelye)
  • y_lidar = r · cos(φ) · sin(θ) (jellemzően a LiDAR balra mutató tengelye)
  • z_lidar = r · sin(φ) (jellemzően a LiDAR felfelé mutató tengelye)

Note

Ahhoz, hogy ezeket a pontokat a jármű (base_link) vagy a térkép koordináta-rendszerében tudjuk értelmezni, a kamera kalibrációhoz hasonlóan itt is egy külső (extrinzik) transzformáció szükséges: P_vehicle = R_lidar2veh · P_lidar + t_lidar2veh.


2. A LiDAR Erősségei és Korlátai

Erősségek

  • Közvetlen távolságmérés: Nagy térbeli pontosság, valódi 3D geometriai információ.
  • Független a külső fénytől: Saját infravörös fényforrással dolgozik, éjszaka vagy szembetűző napban is megbízható.
  • Pontos alak és méret: Nem igényel sztereó kamerarendszert vagy gépi tanulásos mélységbecslést a geometria meghatározásához.
  • Megbízható akadálydetekció: Bármilyen alakú, textúrájú tereptárgyat fizikailag érzékel.

Korlátok

  • Kedvezőtlen időjárás: Sűrű eső, köd és hó esetén a lézerfény szóródása miatt a mérés zajosabbá válik, a hatótávolság csökken.
  • Optikai tulajdonságok: Erősen fényelnyelő (matt fekete) felületekről gyengébb a visszaverődés.
  • Nagy távolságban ritkuló pontfelhő: A szögfelbontás miatt távolabb kevesebb pont esik egy objektumra.
  • Szemantikai információ: Kamerákhoz képest kevesebb színbeli és texturális információt tartalmaz.

3. Automotív LiDAR Típusok

Típus Működési Elv Jellemzők & Felhasználás
Mechanikus Forgó (Spinning) A teljes szenzorfej 360°-ban forog (10–20 Hz). Teljes körpanoráma, nagy hatótáv, de mozgó alkatrészek miatti kopás (pl. egyetemi kutatóautók tetején).
MEMS Solid-State Mikro-tükrök pásztázzák a lézert fix optikán keresztül. Kompakt méret, olcsóbb, szériaautókba könnyen integrálható (korlátozott látómező, pl. 120°).
Flash LiDAR Egyetlen széles lézerfelvillanással egy mátrix detektor rögzíti a teljes teret. Nincs mozgó alkatrész, nincs torzulás, de kisebb a hatótávolság.
FMCW LiDAR Frekvenciamodulált, folyamatos hullámú lézer. A távolság mellett közvetlen Doppler-sebességet is mér minden egyes ponthoz.

4. Csatornák Száma (Layers / Rings)

A LiDAR-ok több lézersugárral, úgynevezett csatornákkal (channels / rings) dolgoznak:

  • 16 csatornás LiDAR (pl. Velodyne VLP-16)
  • 32 csatornás LiDAR (pl. Ouster OS1-32)
  • 64 csatornás LiDAR (pl. Ouster OS1-64)
  • 128 csatornás LiDAR (pl. Ouster OS1-128)

A több csatorna nagyobb vertikális felbontást, sűrűbb pontfelhőt és távolabbi kis objektumok megbízhatóbb észlelését teszi lehetővé.


5. Mérhető Pont-szintű Feature-ök

Egy pont nemcsak térbeli koordinátákat hordoz, hanem további fizikai jellemzőket is:

  • Intensity: A detektor által mért visszatérő jel erőssége. Függ a távolságtól, a beesési szögtől, az anyagtól és a LiDAR beállításaitól.
  • Reflectivity: A felület fizikai visszaverőképességéhez kapcsolódó kalibrált jellemző (aszfalt vs. sávfelfestés és KRESZ-táblák elkülönítése).
  • Ambient Light: A környezeti háttérfény mértéke (zajszűréshez).
  • Ring ID / Channel: Az adott pontot rögzítő lézergyűrű indexe (gyors szomszédsági kereséshez).
  • Timestamp: Pontszintű nanoszekundumos időbélyeg (elengedhetetlen a mozgáskompenzációhoz).

6. Pontfelhő Előfeldolgozási Lépések

A nyers pontfelhő több tízezer vagy akár százezer pontból áll másodpercenként, amely tele van felesleges információval (talajpontok, távoli zaj, mozgási torzulás). Ahhoz, hogy az észlelési algoritmusok vagy neurális hálók hatékonyan dolgozhassanak, az alábbi előfeldolgozási láncon kell végigvezetni az adatokat:

[ Nyers Pontfelhő ]
         │
         ▼
[ 1. Mozgáskompenzáció (Deskewing) ] ──► IMU / Járműsebesség integráció
         │
         ▼
[ 2. ROI Kivágás & Voxel Grid Szűrés ] ──► Adatmennyiség csökkentése (Downsampling)
         │
         ▼
[ 3. Talajszűrés (Ground Filtering) ] ──► Útfelület eltávolítása (RANSAC / Patchwork++)
         │
         ▼
[ 4. Euklideszi Klaszterezés ] ──► K-d fa alapú szomszédsági csoportosítás
         │
         ▼
[ 5. 3D Bounding Box Illesztés ] ──► Kiterjedés, orientáció és pozíció meghatározása

1. Mozgáskompenzáció (Deskewing / Ego-motion Compensation)

  • A probléma: A mechanikus forgó LiDAR egy teljes 360°-os pásztázást (sweep) kb. 100 ms (10 Hz) alatt végez el. Ha a jármű 100 km/h-s sebességgel halad, ez alatt a 100 ms alatt közel 2,8 métert tesz meg. Ennek hatására a rögzített geometria elcsúszik, megnyúlik vagy megdől (például az egyenes épületfalak görbének látszanak a pontfelhőben).
  • Megoldás: Minden egyes ponthoz tartozik egy pontos nanoszekundumos időbélyeg ($t_{point}$). A jármű IMU és keréksebesség adataiból kiszámítjuk a jármű mozgását, és minden pontot merevtest-transzformációval visszavetítünk a mérési ciklus egyetlen közös időpillanatára (jellemzően a sweep végpontjára, $t_{end}$).
  • Több LiDAR esetén: Extrinzik kalibráció és hardveres PTP (Precision Time Protocol / IEEE 1588) időszinkronizáció biztosítja, hogy a különböző helyre szerelt szenzorok pontjai geometriailag és időben is tökéletesen fedjék egymást.

2. ROI Kivágás és Voxel Grid Szűrés (Downsampling)

  • ROI (Region of Interest) szűrés: A jármű saját karosszériájára (pl. tető, motorháztető) eső pontokat, valamint a funkció szempontjából irreleváns, túl távoli pontokat egy térbeli határoló dobozzal (Bounding Box) levágjuk.
  • Voxel Grid lefelé mintavételezés: A 3D teret apró kockákra (voxelekre, pl. 10 cm x 10 cm x 10 cm) osztjuk, és egy voxelből csak egyetlen reprezentatív pontot (a voxelben lévő pontok súlypontját) tartjuk meg. Ezzel drasztikusan csökken a pontok száma és a számítási igény, miközben a tárgyak alakja megmarad.

3. Talajszűrés (Ground Filtering / Removal)

Az úttest pontjai nem minősülnek közvetlen akadálynak, viszont ha benne maradnának a pontfelhőben, összekötnék az összes különálló objektumot (autókat, gyalogosokat, táblákat) egyetlen hatalmas pontcsoporttá.

  • RANSAC (Random Sample Consensus) síkillesztés: Véletlenszerűen kiválaszt 3 pontot a térből, síkot illeszt rájuk, és megkeresi a legtöbb illeszkedő pontot tartalmazó talajsíkot ($ax + by + cz + d = 0$). Gyors, de csak sík utakon működik megbízhatóan.
  • Ray Ground Filter & Patchwork++: A pontfelhőt sugaras és koncentrikus gyűrűkre bontja, és lokális felületeket illeszt, így kezeli a lejtőket, emelkedőket és az úthullámokat is.

4. Euklideszi Klaszterezés (Euclidean Clustering)

A talajpontok eltávolítása után a térben lebegő, különálló pontcsoportokat objektumokká kell összefogni:

  • K-d fa (k-d tree): A pontokat egy gyors térbeli keresést biztosító bináris faszerkezetbe rendezzük, ami $O(N \log N)$ időre gyorsítja a szomszédságkeresést.
  • Klaszterezés feltétele: Ha két pont távolsága kisebb egy megadott küszöbértéknél ($d(p_i, p_j) &lt; \epsilon$), akkor azonos objektumhoz tartozónak tekintjük őket.

5. 3D Bounding Box Illesztés

Minden megtalált klaszter köré egy orientált 3D téglatestet (Oriented Bounding Box) illesztünk:

  • Meghatározott paraméterek: Középpont pozíció $(x, y, z)$, fizikai méretek (hosszúság $l$, szélesség $w$, magasság $h$) és orientáció (kihajlási szög $\text{yaw}$).
  • Ezen geometriai dobozok alapján már közvetlenül megvalósítható a távolság- és ütközésbecslés az AEB rendszer számára.

LIDAR VIDEO

VII: Szenzorfúzió: A teljes kép megalkotása

A különböző szenzorok eltérő fizikai elveken működnek, így erősségeik és gyengeségeik is különbözőek. A kamera például színes, részletgazdag képet ad, de a teljesítménye rossz látási viszonyok között (pl. sötétben, ködben, erős napsütésben) romlik. A radar ezzel szemben időjárástól függetlenül megbízhatóan méri a távolságot és a sebességet, de a felbontása alacsonyabb.

A szenzorfúzió az a folyamat, amely során a rendszer a különböző típusú szenzorokból származó adatokat egyesíti, kiegészíti és validálja. Ennek célja:

  • Robusztusság: Az egyik szenzor gyengeségét, hibalehetőségét a másikkal kompenzálja.
  • Pontosság: Több forrásból származó információval pontosabb környezeti modell alkotható.
  • Redundancia: Egy szenzor esetleges meghibásodása esetén a rendszer a többi szenzor adataira támaszkodva továbbra is működőképes maradhat.

Szenzorok Kalibrációja és Koordináta-transzformációk (TF)

Egy autonóm járművön a különböző szenzorok (kamera, LiDAR, radar) fizikailag eltérő pozíciókban helyezkednek el, és mindegyik a saját lokális koordináta-rendszerében szolgáltat adatokat:

  • $P_{cam}$: Kamera optikai koordinátarendszer
  • $P_{lidar}$: LiDAR szenzorközéppont
  • $P_{radar}$: Radar antenna bázispont
  • $P_{base_link}$: Jármű referenciapont (pl. hátsó tengely középpontja a talajon)
[ Kamera Frame ] ───┐
[ LiDAR Frame ]  ───┼──► [ Homogén Transzformáció (TF) ] ──► [ Jármű Frame (base_link) ] ──► [ Térkép (map / world) ]
[ Radar Frame ]  ───┘

Homogén Transzformációs Mátrix ($T$)

A 3D pontok koordináta-rendszerek közötti átszámítása forgatást ($R \in \mathbb{R}^{3 \times 3}$) és eltolást ($t \in \mathbb{R}^{3 \times 1}$) igényel. A számítások egyszerűsítésére 4x4-es Homogén Transzformációs Mátrixot használunk:

$$ T_{A \to B} = \begin{bmatrix} R_{11} & R_{12} & R_{13} & t_x \\ R_{21} & R_{22} & R_{23} & t_y \\ R_{31} & R_{32} & R_{33} & t_z \\ 0 & 0 & 0 & 1 \end{bmatrix} $$

Ez a homogén transzfomrációs mátrix egyeben kezeli a transzlálást és a rotálást. (mátrix szorzásban)

Egy pont transzformációja az $A$ szenzorból a $B$ referenciakeretbe homogén koordinátákkal:

$$ \begin{bmatrix} X_B \ Y_B \ Z_B \ 1 \end{bmatrix} = T_{A \to B} \cdot \begin{bmatrix} X_A \ Y_A \ Z_A \ 1 \end{bmatrix} $$

Szenzorfúzió Jelentősége

A pontos extrinzik kalibráció és a koordináta-transzformációk (ROS 2 alatt a tf2 rendszer) teszik lehetővé, hogy:

  • A radar által mért sebességvektort pontosan ráillesszük a kamera által detektált 2D bounding boxra.
  • A LiDAR 3D pontjait rávetítsük a 2D kameraképre (színes pontfelhő vagy 3D objektumtanítás céljából).
  • Minden észlelést a jármű közös mozgástervezési terében (base_link vagy odom) egyesítsünk.

-> notebook

⚠️ **GitHub.com Fallback** ⚠️