Detekcia čiar prostredníctvom algoritmov číslicového spracovania obrazu v programovom prostredí Matlab
Príspevok sa podrobnejšie venuje systému sledovania neúmyselného opustenia jazdného pruhu z pohľadu zistenia optimálnych nastavení vstupujúcich parametrov v SW simulácii v programovom prostredí Matlab, ktorej cieľom je zaistiť spoľahlivú detekciu vodorovného dopravného na základe číslicového spracovania obrazovej informácie z videozáznamu. Detekcia čiar v systémoch LDW najčastejšie pracuje na základe číslicového spracovania obrazovej informácie z kamier umiestnených na vozidle. Jednotlivé etapy spracovania obrazovej informácie možno vidieť na obr. 2 [2], [30]. Blok „ďalšie spracovanie“ môže predstavovať prepojenie systému napr. na priamy zásah do riadenia vozidla, ako je to v prípade systémov na udržanie vozidla v jazdnom pruhu (LKS) alebo pri prenose varovania do ďalších vozidiel prostredníctvom sietí VANET a medzivozidlovej komunikácie C2C [31], [32].
Základný algoritmus detekcie čiar predpokladá, že cesty sú značené bielymi vodorovnými (plnými, prípadne prerušovanými) čiarami po oboch stranách cesty. Algoritmus je rozšírený aj o detekciu oranžových čiar v prípade použitia dočasného dopravného značenia. Tento predpoklad platí pre väčšinu diaľnic a hlavných ciest v mestách.
Pri detekcii vodorovného dopravného značenia sa využil programový nástroj Matlab, v ktorom sa spracovala získaná dopravná scéna pomocou záznamovej kamery Genius DVR-HD560 (HD Wide Angle Vehicle Recorder). Pri získavaní obrazových dát dopravnej scény bola kamera umiestnená v interiéri na čelnom skle automobilu. Obrazové dáta sa pred samotným spracovaním konvertovali z formátu. AVI do formátu. MJPEG. Pre algoritmy počítačového videnia je typická značná výpočtová náročnosť, pretože spracúvaná obrazová informácia je vo forme videozáznamu. Pri riešení úloh analýzy obrazu treba hľadať spôsoby, ako výpočty urýchliť. Dôležitým prvkom pri hľadaní čiar je nastavenie oblasti záujmu spracovania obrazovej informácie. Oblasť spracúvaných dát sa redukovala vhodným nastavením veľkosti oblasti záujmu (Region of Interest – ROI). ROI bol v SW aplikácii navrhnutý na základe geometrického modelu vozovky v dopravnej scéne. Pri segmentácii dopravnej scény sme vychádzali z faktu, že poznáme približnú polohu cesty, a z toho, že vozovka sa bude v obraze začínať v jeho dolnej časti a smerom k horizontu sa bude zužovať. Tak bolo možné odhadnúť podiel plochy obrazu, ktorý obsahuje vozovku s vodorovným dopravným značením. Tiež rozmer a pozícia výrezu vzhľadom na celkový záber boli stále rovnaké. Veľkosť oblasti záujmu bola určená empiricky na základe testovania zosnímaných videosúborov. Na obr. 3 sú v stĺpcovom grafe znázornené počty nájdených čiar bez použitia ROI (240 x 480 pixelov) a s použitím ROI (65 x 412 pixelov). Je evidentné, že počet nájdených čiar pri tých istých porovnávaných snímkach niekoľkonásobne klesol.
V procese segmentácie obrazu a hľadania čiar možno použiť mnohé segmentačné metódy, napr. [33], [34], [35]. Pri hľadaní hrán na ceste sa aj vo farebných obrázkoch dá 90 % hrán zistiť zo šedotónového obrazu s použitím klasických metód, ako je Houghova transformácia alebo technika hľadania hranice (Canny, Kirch, Sobel).
V SW realizácii sa hľadanie hrán uskutočnilo pomocou Sobelovho hranového detektora, ktorý vykazoval v porovnaní s ostatnými detekčnými mechanizmami (Canny, Prewitt) najlepšie výsledky. Výstupom segmentácie bol binarizovaný obraz, v ktorom má každý pixel patriaci nejakému objektu (v našom prípade hrane), priradenú hodnotu 1 a všetky ostatné pixely majú hodnotu 0. Získaný binarizovaný obraz sa ďalej spracúval pomocou Houghovej transformácie [36].
Detekcia čiar pomocou modifikovanej Houghovej transformácie
Jeden zo spôsobov detekcie čiar v obraze je použitie Houghovej transformácie (HT), čo je segmentačná technika často využívaná v prípadoch, keď treba detegovať objekty so známym tvarom hranice (čiara, kružnica a pod.). Metóda je invariantná na otočenie, zmenu mierky atď. Navyše je necitlivá na šum a deformáciu objektov. Pôvodne bola navrhnutá na detekciu rovných čiar. Aj keď má originálna Houghova transformácia rad výhod (napr. málo citlivá na šum, je necitlivá pri porušení hranice či použiteľná aj pri čiastočne zakrytých objektoch), pri detekcii vodorovného značenia bolo potrebné výsledky získané z HT mierne modifikovať prostredníctvom vytvorených podprogramov. Išlo hlavne o riešenie týchto čiastkových problémov [36]:
- Problém presnosti – vodorovné dopravné značenie tvorí v obraze pomerne širokú čiaru a algoritmus HT nájde niekoľko rovnobežných, prípadne „skoro“ rovnobežných čiar, ktoré v Houghovom priestore vytvárajú niekoľko maxím. Navrhované riešenie: prostredníctvom algoritmu boli nájdené tie priamky, ktoré najlepšie reprezentujú jednu ľavú a jednu pravú vodorovnú čiaru.
- Problém skreslenia – vplyvom skreslenia sa priamka „zakriví“ a vo výsledku sa môže vyskytnúť niekoľko maxím, a teda niekoľko priamok. Navrhované riešenie: ako pri probléme presnosti.
- Problém začiatku a konca – originálny algoritmus HT nerozlišuje začiatok a koniec kriviek. Tento problém však nebolo potrebné riešiť, pretože informácia o začiatku a konci čiar nie je v riešenej problematike relevantná.
- Problém použitia viacnásobných vnorených cyklov, ktoré sú súčasťou algoritmu HT a zvyšujú výpočtovú náročnosť. Preto je vhodné používať metódy na spresňovanie bodov záujmu. Navrhované riešenie: tento nedostatok sa riešil pomocou vytýčenia oblasti záujmu, v ktorej boli čiary detegované.
Navrhnutý a realizovaný systém na vyhodnotenie prekročenia čiary, aplikovaný v SW realizácii, je založený na využití Houghovej transformácie. Pri detekcii čiary bol na zjednodušenie výpočtov zvolený lineárny model, v ktorom možno opísať priamku v rovine aj v polárnych súradniciach (obr. 5):
(1)
kde r predstavuje najmenšiu vzdialenosť priamky (v bode X [x, y]) od začiatku súradnicovej sústavy a Θ veľkosť orientovaného uhla od kladnej x-ovej polosi po polpriamku vedenú zo začiatku súradnicovej sústavy kolmo na hľadanú priamku.
Kategorizácia detegovaných čiar
Základom varovania pred neúmyselným prekročením čiary je spoľahlivá detekcia čiar. Pri použití HT pri ich detekcii bolo potrebné uvažovať aj detekciu prípadných falošných čiar získaných „falošnou“ detekciou z objektov v obraze, ako sú napr. zvodidlá prítomné na okraji cesty, vychodené koľaje na vozovke, horizont, stožiare osvetlenia a pod., teda miesta, kde v obraze dochádza k skokovej zmene jasu. Preto treba pri procese detekcie čiar v obraze kategorizovať všetky nájdené čiary ako „správne“, resp. „nesprávne“. Obr. 10 ilustruje zjednodušený vývojový diagram, ktorý zobrazuje kategorizáciu čiar na „správne“ a „nesprávne“. Kategorizácia vychádza z nastavenia vhodnej tolerancie uhlov a ich porovnania s hodnotami uhlov pri všetkých nájdených čiarach.
Nájdené čiary, ktoré sa nachádzajú v tesnej blízkosti čiar ohraničujúcich jazdný pruh, majú približne rovnaký uhol. Čiary s rovnakým alebo podobným uhlom, ako je uhol čiary na ceste, môžeme považovať za čiary nájdené správne (korektne). Algoritmus detekcie čiar v SW aplikácii uvažoval rôznu toleranciu uhlov. Vplyv nastavenia tolerancie uhla na počet nájdených správnych a nesprávnych čiar je zobrazený v tab. 2.
Na obr. 6 sú na ilustráciu znázornené detegované čiary. Tie čiary, ktoré boli vyhodnotené ako správne (tzn. patrili do stanovenej tolerancie uhlov), sú v obrázku označené zelenou farbou, čiary, ktoré nespĺňajú danú toleranciu, sú označené červenou farbou.
Pri následnom spracovaní v etape vyhodnotenia prekročenia čiary pracujeme už len s čiarami označenými ako „správne“. Aby sme v ďalšej etape spracovania obrazu zaručili spoľahlivú detekciu prípadného prekročenia čiary [36], [37], bolo potrebné zaistiť, aby bola v každej spracúvanej snímke detegovaná minimálne jedna čiara zodpovedajúca ľavému a minimálne jedna čiara zodpovedajúca pravému vodorovnému dopravnému značeniu. V reálnej nahrávke sa však vyskytujú medzery, napr. v zosnímanej prerušovanej čiare. Prítomnosť medzier v určitom čase spracovania môže viesť k tomu, že v danej snímke (prípadne niekoľkých snímkach za sebou) chýba jedna z čiar, ktorá zodpovedá vodorovnému dopravnému značeniu. Tento problém bol riešený pomocou tzv. plávajúceho okna, ktorého veľkosť možno v programovej realizácii meniť. Algoritmus „plávajúceho okna“ ešte pred začatím práce vlastného algoritmu detekcie čiar v zvolenom počte snímok vyhľadá snímku s maximálnou intenzitou a tá sa následne použije na ďalšie spracovanie.
Obr. 7 ilustruje situáciu, keď v analyzovanej snímke chýba ľavé dopravné značenie a stav snímky, ktorá bude analyzovaná po aplikácii „plávajúceho okna“ s veľkosťou W = 10 a W = 15.
Z obr. 7 vyplýva, že zvýšenie spoľahlivosti detekcie čiar možno ovplyvniť nastavením vhodne veľkého okna na spracovanie vstupujúcich snímok.
Návrh konceptu umiestnenia zón prahu upozornenia v systéme LDWS
Pri softvérovej realizácii sa vychádzalo z medzinárodnej normy ISO 17361: 2007, ktorá spresňuje definíciu systému, klasifikáciu, funkcie rozhrania človek – stroj a testovacie metódy systémov upozornenia pred neúmyselným opustením jazdného pruhu [3]. Systém LDWS považuje situáciu za bezpečnú, ak sa vozidlo pohybuje v okolí osi jazdného pruhu. Táto oblasť sa nazýva zóna bez upozornenia alebo bezpečná oblasť. Jazdný pruh je vymedzený vodorovným dopravným značením (pozri obr. 8). Okolo ohraničenia jazdného pruhu sa nachádza zóna varovania, resp. upozornenia. Ak dôjde k vjazdu vozidla z bezpečnej zóny do zóny upozornenia, systém generuje upozornenie pre vodiča.
Jazdný pruh a dráhu vozidla sníma kamera. Z videosekvencie potom systém odhaduje pozíciu vozidla na vozovke a šírku jazdného pruhu. Detekcia prekročenia čiary v softvérovej realizácii funguje na princípe hľadania prieniku úsečiek. Pri každej snímke sa porovnáva poloha priesečníka najbližších nájdených čiar naľavo a napravo od vozidla s priamkou, ktorá predstavuje fiktívne vozidlo; v snímke na obr. 9 sú tieto priesečníky znázornené zelenými zvislými čiarkami. Od nájdenia priesečníkov sa vypočíta pozícia stredu vozidla, resp. sa vypočítajú dva stredy vozidla (stred ľavý, SL) a (stred pravý, SP) zobrazené dvomi modrými zvislými čiarkami. Ak pri detekcii čiary dôjde k strate informácie o polohe vodorovného dopravného značenia na ceste, pamätá si systém 10 posledných hodnôt a poloha stredu sa vypočíta na základe nich.
Na základe geometrie vozovky sa zo zosnímaných a definovaných údajov určia hranice zóny upozornenia vľavo (hranica upozornenia ľavá) a zóny upozornenia vpravo (hranica upozornenia pravá). Na základe polohy stredov SL a SP fiktívneho vozidla a polohy hraníc upozornenia určuje softvérová realizácia pomocou geometrického modelu možné prekročenie čiary [23]. V prípade prekročenia čiary je pre vodiča aktivované varovanie v podobe upozornenia, ktoré sa zobrazí na obrazovke v príslušnej snímke videosekvencie vo forme textu „ALARM >>“ alebo „<< ALARM“. Toto varovanie sa zobrazuje počas celého trvania vybočenia z jazdného pruhu (obr. 10). Upozornenie informuje vodiča, že je potrebná úprava trajektórie vozidla. Pretože pri detekcii vodorovného dopravného značenia dochádza aj k situáciám, keď príde v spracúvanej snímke k strate informácie o polohe čiary na ceste, navrhnutý algoritmus detekcie pracuje v dvoch častiach.
V prvej časti sa porovnáva poloha oboch stredov (v prípade, že máme určené obe čiary) a ak nie sú nájdené obe čiary, porovnáva sa len jeden zo stredov vozidla s pozíciou hraníc zóny upozornenia [37]. Podstata fungovania algoritmu je zachytená v tab. 3, v ktorej sú uvedené geometrické závislosti pre vznik príslušných upozornení v podobe logických podmienok.
Záver
Cieľom príspevku bolo opísanie princípov činnosti asistenčných systémov vodiča so zameraním na opis činnosti algoritmu detekcie čiary a jej prekročenia na základe využitia metód číslicového spracovania obrazu v zosnímanej dopravnej scéne. Na hľadanie vodorovného dopravného značenia sa použila segmentačná metóda založená na Houghovej transformácii, ktorá však musela byť pre jej určité nedostatky doplnená o algoritmy umožňujúce efektívnejšiu selekciu relevantných nájdených čiar, ktoré mohli byť použité v ďalšom spracovaní v procese detekcie prekročenia jazdného pruhu. Samotná detekcia prekročenia je založená na geometrii polohy vozidla a nájdených selektovaných čiar. Praktická realizácia a overenie výsledkov boli vykonané v SW nástroji Matlab a Toolbox Image Processing na reálne zosnímaných dátach z jazdy po diaľnici. Samotné spracúvanie videosekvencie sa vykonávalo z dát uložených na disku počítača po skonvertovaní záznamu z. AVI do. MJPEG.
Poďakovanie
Článok bol vypracovaný s podporou grantovej agentúry (KEGA) 016ŽU-4/2018 Modernizácia metód výučby riadenia priemyselných procesov na báze konceptu Industry 4.0 (016ŽU-4/2018).
Literatúra
[2] BUBENÍKOVÁ, E. – FRANEKOVÁ, M. – HOLEČKO, P.: Security increasing trends in Intelligent Transportation Systems utilizing modern image processing methods. In: 13th International Scientific Conference, October 23-25 2013, Katowice, Ustroń, Poland, Berlin Heidelberg: Springer-Verlag, 2013, pp. 353 – 360 (Communications in computer and information science, 239. ISSN1865-0929). Proceedings was published in an electronic version with ISBN 978-3-642-24660-9. Springer Verlag, WoS. ISBN 978-3-642-41646-0.
[3] ISO 17361: 2013, Intelligent transport systems – Lane departure warning systems – Performance requirements and test procedures.
[30] BUBENÍKOVÁ, E., FRANEKOVÁ, M., ĎURECH, J.: Security Solutions of Intelligent Transportation’s Applications with using VANET Networks, In.: ICCC, In: 2014 15th International Carpathian Control Conference (ICCC), Veľké Karlovice 2014, Czech Republic, pp. 424-429, ISBN 978-1-4799-3528-4.
[31] ĎURECH, J: Security solution of VANET for control of intelligent transportation systems. Dissertation work, University of Žilina, Slovakia (in Slovak), 2016.
[32] Communication consortium Car 2 Car. (2016, Jan. 24). [online]. Citované 30. augusta 2019. Dostupné na: https://www.car-2-car.org.
[33] HUH, K. et al.: Development of vision-based lane detection system considering configuration aspects. Optics and lasers in engineering, 43 (11): 1193-113, 2005.
[34] KOWSARSKI, T. – BEAUCHEMIN, S. S. – CHO, J.: Real-time vehicle detection and tracking using stereo vision and multi-view AdaBoost. In: Intelligent Transportation Systems (ITSC), 14th International IEEE Conference, 2011, pp. 1 255 – 1 260.
[35] SOTELO, A. M. et al.: A color vision based lane tracking system for autonomous driving on unmarked roads. In: Autonomous Robots, 2004, vol. 16, no. 1, pp. 95 – 116.
[36] BUBENÍKOVÁ, E.: Detection of lines in applications of control within intelligent transport. Dissertation work. University of Žilina, Slovakia, 2014.
[37] BUBENÍKOVÁ, E. – FRANEKOVÁ, M. – HOLEČKO, P.: Evaluation of unwanted road marking crossing detection using real-traffic data for intelligent transportation systems. In: Telematics – support of transport: 14th international conference on Transport systems telematics, Katowice/Kraków/Ustroń, Poland, October 22-25, 2014. Selected papers – Berlin: Springer-Verlag, 2014, pp. 137 – 145 (Communications in computer and information science, 471, ISSN 1865-0929), ISBN 978-3-662-45316-2.
Ing. Emília Bubeníková, PhD.
Žilinská univerzita v Žiline
Fakulta elektrotechniky a informačných technológií
Katedra riadiacich a informačných systémov
Univerzitná 1
010 26 Žilina
Tel.: 0421425133344
emilia.bubenikova@fel.uniza.sk