Személygépkocsi beléptető rendszer LabVIEW alapokon
Absztrakt
Napjainkban rengeteg különböző módszer található rendszámfelismerésre, ezeknek mindegyikének megvan a maga hátránya és előnye egyaránt. Dolgozatom célja nem az volt, hogy a lehető legjobb módszert megtaláljam, hanem felhasználva az egyetemi évek alatt megszerzett tudást, egy működő és mindenki számára elérhető megoldást nyújtsak, mely használható gépjármű beléptető rendszerként. A rendszer alapját képező LabVIEW programozási nyelv megfelelő választásnak bizonyult, mivel rengeteg hardvert támogat, illetve rendelkezik Machine Vision Toolkit-el, és adatbázisok kezelése sem jelet problémát. Hátránya viszont, hogy a Vision Run-Time licensz köteles, így annak költségével mindenképp számolni kell. A széles körben támogatott hardvereknek köszönhetően nem csak ipari-, hanem egyszerű webkamerával is használható a rendszer, ami mindenképp pozitívan hat a költségekre. A ki és bemenő digitális jelek kezelésére használt National Instruments Digital I/O modul is az olcsóbb hardverek közzé tartozik, de azért ennek az ára sem elhanyagolható, viszont egyetlen eszközzel kezelhető a ki és behajtást szabályzó sorompó, és a járművet érzékelő szenzorok egyaránt. A rendszám pontos lokalizálása bizonyult az egyik legkritikusabb műveletnek a képfeldolgozás során. A fejlesztéskor felhasznált algoritmusok kombinációja viszonylag megbízhatóan tudja megtalálni a képen a járművek rendszámát, annak ellenére, hogy kevés kikötés van a kamera elhelyezését illetően. A tesztelés során minden járműről legalább három kép készült. Minden esetben lokalizálható volt a rendszám legalább egy, a járműről készült képen, még abban az esetben is ha a rendszám jelentősen el volt szennyeződve (41. ábra). A lokalizáció pontosságát nagy mértékben lehet növelni infra fényforrás, és a kamera optikájára szerelt infra fényáteresztő szűrő használatával, mivel a rendszámok nagy mértékben visszaverik az infra fényt. A rendszám sikeres lokalizálását követően a karakterek felismerése a következő lépés. Amennyiben csak egy ország karakterkészletét használjuk a felismerés során minden zökkenőmentesen működik, még jelentős mértékű szennyeződés esetén is. Amennyiben viszont már több ország karakterkészletét is felhasználjuk (pl. Magyarország és Németország) egy időben, és nem teszünk különbséget a különböző országok rendszámai között történhet karakter tévesztés. Ennek oka, hogy különböző országokban használt egyes karakterek nagyon hasonlítanak, ezzel megnehezítve a karakterek pontos felismerését. Ilyen problémás esetek például a 0 és O betű, illetve a német M és magyar N megkülönböztetése. Mindezen nehézségek ellenére a rendszer képes volt pontosan felismerni - a tesztelés során használt képek alapján - a rendszámok több mint 95%-át, úgy hogy a járművek között szerepeltek magyar és német rendszámúak egyaránt. A különböző országokban használt karakterkészletből adódó pontatlanságok kiküszöbölhetőek ha az algoritmus különbséget tesz az eltérő országok rendszámai között, és a megfelelő karakterkészletet használja a felismerés során. A célkitűzéseim között továbbá az is szerepelt, hogy az alkalmazás a gyakorlatban is valóban használható legyen, ami magában hordozza azt a tényt, hogy alkalmazás valós időben (realtime) képes legyen a rendszámok azonosítására. Annak ellenére, hogy a lokalizálás során használt Hough transzformáció köztudottan nem tartozik a gyors algoritmusok közé, a képek megfelelő elő-feldolgozásával, és a szakirodalomban talált technikákat alkalmazva sikerült elérnem a kívánt sebességet. Átlagosan egy kép kiértékelése 110 ms-ot vett igénybe egy 2010-es Intel i7-es processzorral szerelt hordozható számítógépen, amely manapság már akár elavultnak is nevezhető. Mindezek tükrében kijelenthető, hogy ha járművenként akár három képet is kielemez a rendszer, akkor is kevesebb, mint 500 ms alatt képes azonosítani a rendszámot, ami egy parkolóház beléptető rendszer esetében több mint elegendő. Amennyiben tovább szeretnénk fejleszteni a rendszert a LabVIEW programozási nyelvnek és maga az alkalmazás moduláris felépítésének köszönhetően a felhasznált hardverek terén elég nagy szabadságunk van. Használhatunk bármilyen DAQmx által támogatott digitális I/O modult, illetve lehetőségünk van más IMAQdx által támogatott kamera használatára, amennyiben jobb képminőséget szeretnénk elérni. Fontos azonban szem előtt tartani, hogy a megnövelt képfelbontás jelentős befolyással van a futási időre. Amennyiben a költségcsökkentés a cél jó alternatíva lehet a manapság igen népszerű nyilt forráskódú gépi látás programkönyvtárak használata, mint pl. openCV vagy openALPR, mellyel megspórolható a National Instruments Vision Run-Time licensz ára, viszont ebben az esetben jelentős munka vár ránk.