Asistenčné systémy (ADAS) pomáhajú šoférom minimalizovať chyby na cestách a zvyšujú tak našu bezpečnosť. Podľa údajov Európskej komisie 95 % všetkých havárií na cestách zahŕňalo ľudský faktor a v 76 % prípadoch bola chyba výhradne na strane vodiča. Vývojári a výrobcovia ADAS systémov využívajú pri ich vývoji produkty spoločnosti MathWorks.
Trend vo vývoji ADAS
Všetky asistenčné systémy majú spoločné kľúčové vlastnosti. Systém musí operovať neustále, robustne a musí reagovať na nepredvídateľné a nebezpečné situácie. Vzhľadom na tieto vlastnosti je požiadavka na dokonalé testovanie týchto systémov. Ak by sme chceli testovať asistenčné systémy priamo na ceste, odrazilo by sa to vo veľmi veľkých nákladoch. Nebezpečné situácie, ktoré sa musia testovať tiež, by mohli viesť ku vážnemu poškodeniu testovacieho zariadenia alebo prototypu. Preto vznikla potreba simulovania správania sa celého systému, ešte pred samostatným testovaním na reálnom zariadení. Asistenčné systémy predstavujú navyše problém, ktorý zasahuje do viacerých domén. Tím vývojárov typicky spája odborníkov z oblasti riadenia, spracovania obrazu alebo radarových systémov. Výpočtové prostredie MATLAB a jeho nadstavby poskytujú, ako jedno z mála prostredí, všetky potrebné časti na vytvorenie kompletnej simulácie asistenčných systémov.
Obr. 1 Štruktúra návrhu ADAS systému pomocou výpočtového prostredia MATLAB
Klasifikácia a detekcia objektov s využitím kamier
Kamery paria medzi základnú výbavu asistenčných systémov. Sú namontované v rôznych častiach auta a z týchto kamier získavame obraz na vyhodnocovanie. Podľa typu aplikácie môžeme využiť viaceré typy ako sú mono, stereo, multifunkčné kamery a mnoho iných. Kamery sa využívajú na viacero funkcií ako je detekcia jazdného pruhu, vnímanie svetla (detekcia áut v noci), rozpoznávanie dopravných značiek, detekcia áut a chodcov. Základnou operáciou pri týchto úlohách je spracovanie obrazu, ktoré MATLAB zahŕňa v Image Processing Toolboxe. Napríklad pri detekcii jazdného pruhu môžeme odstrániť nepotrebné časti scény, detegovať hrany pre určenie typu čiar v jazdnom pruhu, prípadne využiť morfologické operácie na zlepšenie výsledkov. S využitím týchto operácií vieme identifikovať našu pozíciu na ceste a môžeme generovať alarmový signál, keď opúšťame jazdný pruh. Môžeme vytvoriť systém na automatickú zmenu jazdného pruhu, prípadne systém udržania sa na ceste. Na vnímanie objektov v scéne poskytuje MATLAB sadu algoritmov počítačového videnia v Computer Vision System Toolboxe. Pri ADAS systémoch sa najčastejšie využíva detekcia príznakov, klasifikácia a sledovanie objektov. Trénovanie klasifikátorov sa realizuje pomocou metód strojového učenia v Statistics and Machine Learning Toolboxe.
Obr. 2 Detekcia jazdných pruhov pomocou spracovania obrazu
Vnímanie okolia pomocou radarov
Asistenčné systémy obsahujú častokrát okrem kamier aj radarové systémy. Radar dokáže vnímať okolie aj za podmienok, ktoré by to neumožňovali kamerám. Výhodou radarov je, že dokážu poskytnúť informácie o vzdialenosti aj rýchlosti objektov. Vzhľadom na typ radaru existuje niekoľko a aplikácií radaru v ADAS. Radary pre krátku a strednú vzdialenosť sa využívajú pri mŕtvom uhle, vnímaní okolitej premávky, výstraha pred zadným nárazom alebo núdzovom brzdení. Radary na dlhú vzdialenosť sa využívajú v automatickom tempomate alebo vyhýbaniu sa kolíziám. Oba typy sa líšia spotrebou energie a rozlíšením radaru. Aplikácie s nízkou vzdialenosťou musia reagovať rýchlo a musia minimalizovať nesprávne hlásenia. Phased Array System Toolbox, RF Toolbox a SimRF umožňujú kompletné simulovanie radarových systémov. Pomocou týchto nástrojov môžeme generovať signál pre radar, modelovať súčasti radaru (vysielač a prijímač), simulovať šírenie signálu, vizualizovať signály a vytvárať optimálne algoritmy na detekciu objektov. Na základe signálu a jeho odozvy sme schopní určiť zmenu vo frekvencii a analyzovať vzdialenosť a rýchlosť viacerých objektov. Pomoc pri vytváraní signálov, analýze radaru a viaceré vizualizácie poskytujú interaktívne aplikácie MATLABu ako sú Sensor Array Analyzer, Radar Waveform Analyzer a mnohé ďalšie.
Obr. 3 Prekážka detegovaná radarom vo vzdialenosti 7000 metrov a s rýchlosťou 0 m/s
Najlepšie výsledky pomocou senzorickej fúzie
Kamera a radar majú dobré aj zlé vlastnosti. Kamera vie zistiť typ objektu, šírku objektu, pozíciu v scéne, ale nevie ľahko zistiť vzdialenosť od objektov a je náchylná na optické ilúzie. Radar dobre meria vzdialenosť, relatívnu rýchlosť a vyhýba sa ilúziám detekciou tuhých objektov, ale nevie detegovať tvar objektu a jeho pozíciu v scéne. Ak by malo auto iba jeden systém, napríklad len radar, mohlo by detegovať viac áut na radarovom systéme, ale so skreslenou informáciou. Najbližšie auto nemusí byť v našom jazdnom pruhu a môže byť pomalšie. Kritické je to hlavne v zákrutách, kde relevantné auto môže byť inde ako mi ukazuje radar. V spolupráci s kamerou vieme detegovať čiaru a pruh, v ktorom sa nachádzame a detegovali by sme iba auto, ktoré je pre nás zaujímavé. Na vytvorenie spoľahlivého systému používame senzorickú fúziu, kde viaceré snímače spolupracujú na dosiahnutie spoločného cieľa. Senzorická fúzia je skôr algoritmus, kde kombinujeme informácie s viacerých senzorov. Existuje viacero prístupov a architektúr, ktoré sa vyznačujú viacerými vlastnosťami. S MATLABom a Simulinkom máme k dispozícii jednotné prostredie a správne nástroje na modelovanie rôznych architektúr senzorickej fúzie s nástrojmi, ktoré sme si spomenuli v predchádzajúcich dvoch častiach.
Obr. 4 Detekcia objektu pomocou senzorickej fúzie
Automatizácia verifikácie a validácie
Overovanie správnosti algoritmov je pomalý a náročný proces. Pre zber informácií autá zvyčajne jazdia tisíce kilometrov po cestách a nahrávajú dáta z dostupných senzorov (obraz z videa, radarové dáta, CAN logy). Najzdĺhavejší proces spracovanie dát je manuálne pomenovanie objektov v obraze – ground truth labeling. Overovateľ obrazu ide snímok po snímku a popisuje obraz, teda vyznačí čo je auto, značka alebo chodec. K obrazu sú pridelené metadáta, ktoré sú nahraté do databázy. Metadáta sa dajú využiť na overenie konkrétneho scenára. Napríklad ako algoritmus pracoval za rôzneho počasia, prípadne porovnať detekciu chodcov cez deň a v noci. MATLAB tento proces uľahčuje a zrýchľuje automatických popisovaním snímkov pomocou Computer Vision System Toolbox, kde môžeme využiť sledovanie označeného objektu v oblasti snímky, vstavané detektory chodcov, alebo môžeme natrénovať vlastné detektory objektov s využitím strojového učenia. Označené dáta sa využívajú aj pri resimulácií. Je to proces, kedy dáta prejdú cez produkčný asistenčný systém a výsledky sa porovnajú s označenými snímkami. Pomocou štatistických funkcií vieme vyhodnotiť koľko snímkov bolo označených v danej množine nesprávne. Keďže je analýza snímkov nezávislá na súboroch môžeme proces paralelizovať pomocou Parallel Computing Toolboxu a MATLAB Distributed Computing Servera. Výhodou MATLABu je aj podporovaná spolupráca s databázami a podpora architektúry rozsiahlych dát (big data). S nadstavbami ako je Simulink 3D Animation je možnosť vytvorenia vizualizácie a syntetických dát na overenie algoritmov aj bez potreby na získanie reálnych dát.
Nástroje overené zákazníkmi
MATLAB poskytuje vývojárom ADAS systémov komplexné integrované prostredie s veľkým množstvom aplikačných knižníc od spracovania obrazu, počítačového videnia, strojového učenia až po 3D simuláciu a testovanie algoritmov na produkčných systémoch. Okrem ADAS je možné v MATLABe simulovať ďalšie časti ako je návrh riadiacich systémov alebo súčasti automobilov pomocou metódy Model-based design. Za spokojnosť zákazníkov hovorí aj fakt, že dnes už pomaly nenájdete veľkého zástupcu z automobilového priemyslu, ktorý by nevyužíval nástroje spoločnosti MathWorks. Spoločnosť Continental napríklad vyvinula komplexný systém na rozpoznávanie značiek. Spoločnosť Scania implementovala vo svojich vozidlách systém núdzového brzdenia (AEB – Advanced emergency break). Delphi vylepšila tvorbu algoritmov pre svoje radarové systémy s využitím generovania kódu. Zástupcovia spoločnosti automobilového priemyslu sa pravidelne stretávajú na MathWorks Automotive Conference, ktorá sa tento rok konala v Štutgarte. Zaujímavé prednášky ako aj ďalšie informácie o vývoji asistenčných systémov sú dostupné na stránkach spoločnosti MathWorks.
Distributor produktů společnosti MathWorks v České republice a na Slovensku:
HUMUSOFT s. r. o.
http://www.humusoft.cz