Közúti Forgalomfigyelő Rendszer (A1Build4)



Hasonló dokumentumok
Iman 3.0 szoftverdokumentáció

Közoktatási Statisztika Tájékoztató 2012/2013. Használati útmutató

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

Miről lesz szó? Videó tartalom elemzés (VCA) leegyszerűsített működése Kültéri védelem Közúthálózat megfigyelés Emberszámlálás

EDInet Connector telepítési segédlet

RIEL Elektronikai Kft v1.0

ivms-4200 kliensszoftver

KIRA. KIRA rendszer. Telepítési útmutató v1

DIGITÁLIS KÉPANALÍZIS KÉSZÍTETTE: KISS ALEXANDRA ELÉRHETŐSÉG:

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

HF-DVR H.264 Hálózati Rögzítő. Felhasználói kézikönyv

Win 8 változatok. 2. sz. melléklet felnottkepzes@gmail.com. Töltse ki az előzetes tudásszint felmérő dolgozatot!

Kaspersky Internet Security Felhasználói útmutató

NHDR-3104AHD-II NHDR-3108AHD-II NHDR-3116AHD-II NHDR-5004AHD-II NHDR-5008AHD-II NHDR-5016AHD-II NHDR-5204AHD NHDR-5208AHD. Telepítői Segédlet

Közúti forgalomszámlálás e_sensor rendszerrel Budapest dugódíj projekt (sajtóanyag)

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

Adatintegritás ellenőrzés Felhasználói dokumentáció verzió 2.0 Budapest, 2008.

POSZEIDON dokumentáció (1.2)

VGN-TT21XN/B. Extrém stílus és hordozhatóság

Magyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához ERA. Elektronikus aláírás - felhasználói dokumentáció

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

Személyügyi nyilvántartás szoftver

Space Invaders Dokumenta cio

Területi elemzések. Budapest, április

Windows. Készítette: Csatlós István

T-AVL Nyomkövető webkliens

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

F-Secure Biztonsági megoldás. Az első lépések Windows-számítógépeken

Felhasználói kézikönyv - Android kliens

1. kép. A Stílus beállítása; új színskála megadása.

Önálló labor beszámoló Képek szegmentálása textúra analízis segítségével. MAJF21 Eisenberger András május 22. Konzulens: Dr.

FoKi SZKENNER MODUL ÜZEMBE HELYEZÉSI LEÍRÁS. Verziószám: 2.0 (efoki) Lezárás dátuma:

Felhasználói dokumentáció. a TávTagTár programhoz. Készítette: Nyíri Gábor, hdd@nc-studio.com GDF Abakusz regisztrációs kód: GDFAba43

Tisztelt Ügyfelünk! Változások a 6-os verzióhoz képest:

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

CMS videó megjelenítő szoftver használata

Protection Service for Business. Az első lépések Windows-számítógépeken

Ablak és ablakműveletek

Általános követelmények a kép tartalmával és minőségével kapcsolatban

Android Commander Felhasználói kézikönyv

Samsung Universal Print Driver Felhasználói útmutató

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ


Használati Útmutató. KeyShot alapok

Minőségellenőrzési kérdőív kitöltő program Felhasználói kézikönyv

Ablakok. Fájl- és mappaműveletek. Paint

InCash számlázó program és a Webshop Hun rendszer összekötése

A FileZilla program beállítása az első belépés alkalmával

Android Commander Felhasználói kézikönyv

CitiDirect BE SM Felhasználói útmutató

ServiceTray program Leírás

Telepítési útmutató DoktorInfo B300 jelentéshez

Felhasználói kézikönyv

KAROTÁZS TUDOMÁNYOS, MŰSZAKI ÉS KERESKEDELMI KFT. MŰSZERFEJLESZTÉS KUTAK, FÚRÁSOK TESZTELÉSÉRE CÍMŰ PÁLYÁZAT MEGVALÓSÍTÁSA

A Canvas LMS új és régi felülete közti különbségek

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

JOGSISZOFT TESZTLAPNYOMTATÓ PROGRAM. A program az egyszer elkészített teszt feladatokat eltárolja, így azok később is kinyomtathatóak.

Képfeldolgozás Szegmentálás Osztályozás Képfelismerés Térbeli rekonstrukció

Prezentáció, Prezentáció elkészítése. Nézetek

Levelezési beállítások

Mio Technology Limited C510, C710. Gyors használati utasítás a Mio Map v3 programhoz. Magyar

Mechatronika segédlet 1. gyakorlat

Sú gó az ASIR/PA IR Públikús felú lethez

Teszt: Az nvidia GeForce kártyák Crysis 2-ben mért teljesítménye

VALUTAISMERTETŐ FUNKCIÓNÁLIS SPECIFIKÁCIÓ

ű s z a k i F e j l e s z t ő, G y á r t ó é s K e r e s k e d e l m i K f t. StP Walk-DVR Telepítési és Használati útmutató

Aromo Szöveges Értékelés

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

Rendszám felismerő rendszer általános működési leírás

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Sygic: Voucher Edition for Android telepítése

(11) Lajstromszám: E (13) T2 EURÓPAI SZABADALOM SZÖVEGÉNEK FORDÍTÁSA

Diagram készítése. Diagramok formázása

weblakszov Felhasználói útmutató

GPRS Remote. GPRS alapú android applikáció távvezérléshez. Kezelési útmutató

QGIS tanfolyam (ver.2.0)

AZ N-WARE KFT. ÁLTAL ELEKTRONIKUSAN ALÁÍRT PDF DOKUMENTUMOK HITELESSÉGÉNEK ELLENŐRZÉSE VERZIÓ SZÁM: 1.3 KELT:

ContractTray program Leírás

Hogyan kell 3D tartalmat megtekinteni egy BenQ kivetítőn? Minimális rendszerkövetelmények 3D tartalom lejátszásához BenQ kivetítőn:

Digitális karóra rögzítő. Felhasználói kézikönyv. (felvevő, kamera, mobil érzékelés, infravörös éjszakai karóra)

Tisztelt Ügyfelünk! Ezúton szeretnénk tájékoztatni, hogy a következő modulokból került fel frissítés az internetre:

Ujjszámlálás Matlab segítségével

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

Közfoglalkoztatás támogatás megállapítását segítő segédtábla használati útmutatója

OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)

BaBér bérügyviteli rendszer telepítési segédlete év

Projektmenedzsment tréning

VL IT i n du s t ri al Kommunikációs vázlat

Felhasználói Kézikönyv

ADATSZOLGÁLTATÁS központi honlap használata esetén

Hogyan váljunk profi felhasználóvá 80 nap alatt, vagy még gyorsabban? Ingyenes tanfolyam.

Lenovo Ideapad YOGA M1001BHV (80M1001BHV)

HVK Adminisztrátori használati útmutató

CAMLAND Beruházás-megfigyelő

Exchange tájékoztató

ASM USB Kamera használati útmutató

Ügyfélszolgálati Portál (használati segédlet)

A Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak.

A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség:

Átírás:

Budapesti Műszaki Főiskola Neumann János Informatikai Kar Informatikai és Automatizált Rendszerek szakirány Közúti Forgalomfigyelő Rendszer (A1Build4) Dokumentáció Kun Attila József Konzulens: Vámossy Zoltán 2008

1. Célkitűzés Egy olyan gépi látás alapú valós idejű forgalomfigyelő rendszert szeretnék megvalósítani, amelynek főbb képességei a következők: valamilyen videó forrásból (rögzítő eszköz, vagy fájl) érkező képfolyamon detektálja a járműveket, képes forgalomszámlálásra, a járműveket osztályozza méretük alapján, ezzel különböző kimutatások végezhetők adott hely forgalmáról, leolvassa a rendszámokat és azokat eltárolja. 2. A megvalósításhoz használt eszközök-modulok A projekt nagy része Microsoft Visual C# fejlesztőkörnyezetben készül, használatával egyszerűen és gyorsan megvalósítható a grafikus felület és a legtöbb programrész. A videók kezelésére Microsoft DirectShow-t használok, a NETMaster(Thomas Scheidegger) által kifejlesztett DShowNet wrapperen keresztül, valamint az általam kifejlesztett DSVideo modulon keresztül, mely ugyanazt a kényelmes felhasználást biztosítja a fájlból és a rögzítő eszközről történő feldolgozáshoz. A képfeldolgozáshoz a rendszer az Intel OpenCV könyvtárát használja Nagy Attila, szakirányos kollégám DirectCV nevű wrapperén keresztül, valamint Microsoft Visual C++ környezetben készítettem egy külön DLL-t, ami egyelőre BG kódnéven fut, egyetlen feladata van egy az OpenCV-ben megvalósított, háttér szegmentációhoz kapcsolódó típushoz, és függvényekhez való hozzáférés biztosítása. 3. A rendszer felépítése A rendszer a következő alrendszerekből épül fel (narancssárga = nincs még megvalósítva): 1. ábra Alrendszerek 2

3.1 Videó alrendszer 2. ábra - A Videó alrendszer felépítése A program videó forrásként rögzítő eszközt, illetve fájlt kínál fel: 3. ábra - Videó forrás kiválasztása 3

A 3. ábrán, balról jobbra, fentről lefele sorrendben: az első képen a forrás kiválasztása történik a fájl menüből; a második képen, ha a rögzítő eszközt választottuk, akkor egy ablakban ezek megjelennek számunkra, ha több eszközünk van; majd a harmadik képen látható ablakban a képfolyam különböző paraméterei állíthatók be; ha a fájlmenüből fájlt választottunk forrásként, akkor utolsó képen lévő fájlmegnyitó ablak jelenik meg. A bejövő képkockát egy eseménytől kapjuk meg, valójában nem is magát a képkockát csak az aktuális képkocka kezdőcímét a memóriában, majd ezt alakítom át OpenCV-s képformátumra. Utóbbi képkockát lemásolom és eltárolom későbbi feldolgozás céljából, melyet majd a Rendszámfelismerő alrendszer dolgoz fel. Mielőtt továbbítanám a bejövő képet a Mozgásérzékelő alrendszernek, az eredeti képkocka felbontását 320x240-es felbontásra interpolálom a gyorsabb feldolgozás érdekében. 3.2 Mozgásérzékelő alrendszer 4. ábra - Mozgásérzékelő alrendszer vázlatos felépítése Ez az alrendszer megkapja a Videó alrendszertől az aktuális képkockát, azt kezdetben egy inicializáló rész dolgozza fel majd később utóbbit felváltja a detektáló rész, ezután tovább lehet küldeni a Megjelenítésért felelős alrendszernek. Mielőtt leírnám bővebben, hogy hogyan is működik ez az alrendszer, kitérnék a mozgás detektálás módszerére, hogy értsük az Inicializálás és Detektálás jelentését. Mozgást detektálni sokféleképpen lehet, minden módszernek megvan a maga előnye és hátránya. Én a mozgásdetektáláshoz statisztikai alapú módszert használok, ezek közül is a Gauss-féle keverési modellt (S. Nadimi, B. Bhau: PAMI Vol. 26, August 2004, Physical Models for Moving Shadow and Object Detection in Video) alkalmazom a háttér szegmentálására, ezzel dinamikus hátteret kialakítva. Ez a módszer minden pixelt külön folyamatként kezel, egy képpont közelmúltbeli értékeit természetesen minden színcsatornára külön-külön g db normális eloszlású függvény keverékeként ábrázolja. A háttérszegmentáló módszer azon alapul, hogy megnézi, hogy mennyi a valószínűsége annak, hogy adott pixel háttér pixel, ezt a következő képlettel lehet felírni: A képletben jelöli a normális eloszlású függvényt, melynek paraméterei: az aktuális pixel, jelöli az átlagértéket, pedig a kovarianciát. Ezután -t súlyozzuk valamilyen -vel. A módszer implementálva van az OpenCV CVAux részében, ezért magát a technikát nem kellett megírni, csak a BG.dll wrapper könyvtárat. Mivel ezek a számítások nagyon időigényesek ezért nem lehet őket minden képkockára használni, valamint nem is célszerű, mert az egyéb mellékhatásokkal jár, pl. dugók esetén elkezdenek az autók is a háttérhez tartozni. Ez az egyik ok, amiért szükség van az. 4

Inicializálás részre, a másik ok pedig a hardver miatt van kell egy kis idő, amíg a kamera a fényerősséget beállítja. A háttér szegmentáció azt eredményezi, hogy egyszerűen eltűnnek a mozgó objektumok a képről csak a statikus háttér marad. 3.2.1 Inicializálás Ebben a részben a Mozgásérzékelő alrendszer Inicializálás részét fejteném ki. 5. ábra - Mozgásérzékelés/Inicializálás Konstans 100 képkocka kamera fényerősség beállítási időt választottam, ekkor a rendszer gyakorlatilag csak megjeleníti az aktuális képkockákat. Miután letelt a 100 képkockányi idő a 101. képkocka fogja inicializálni a háttérmodellt, az ezt követő képkockák csak frissítik azt, mindaddig, amíg a le nem telik még 99 képkocka, innentől a felhasználó amint megnyomja a detektálás gombot, véget ér az Inicializálás fázis. 6. ábra - Háttérmodell inicializálása/frissítésének folyamata A háttérmodelltől a BG.dll-n keresztül lekérdezem a háttérképet, innentől az bekerül a rendszerbe. A sebesség érdekében, csak mutatókkal dolgozok. 3.2.2 Detektálás A Mozgásérzékelő alrendszer Detektálás fázisa sokkal összetettebb, mint az Inicializálás. Ebben a részben a rendszer csak időnként frissíti a hátteret, plusz emellett elvégzi a mozgások detektálását (8. ábra). A következő ábra a beállítások ablakot mutatja be, mellyel ez a fázis paraméterezhető. 5

7. ábra - Beállítások ablak 8. ábra - Mozgásérzékelés/Detektálás Mivel az árnyék eltávolító rész még nincs megírva, így az aktuális képkockából vonom ki a háttérképet, ezzel megkapom a háttértől való eltérést. A kivonás eredményét szürkeárnyalatos képpé konvertálom, majd ezt küszöbölöm (zajszint beállítások ablakban állítható). Minél zajosabb a kép annál nagyobbra kell állítani a küszöböt. Ezután végrehajt egy Opening és egy Closeing morfológiai szűrőt, ezzel is csökkentve a még megmaradt kisebb zajokat és az esetleges szétvágásokat összenöveszti. 9. ábra - Morfológiai szűrők után A morfológiai szűrők után már meg lehet határozni az egyes objektumokat, ehhez a Firorio Összefüggő komponens kereső algoritmus módosított változatát használom, mely Union-Find 6

adatstruktúrát, valamint döntési fát használ a sebesség növelése érdekében (Kesheng Wu, Ekow Otoo, Kenji Suzuki: http://crd.lbl.gov/~kewu/ps/lbnl-59102.pdf). Ebbe az algoritmusba beágyaztam egy méret szűrőt, ezzel ki lehet szűrni pl. az embereket, egyéb kisebb mozgó objektumokat (minimális objektumméret), és ugyanez végzi az egyes objektumok behatárolását (bal-felső és jobbalsó sarok), ezzel információt szolgáltatva a mozgó járművek téglalapokkal való jelölésére. További lehetősége a programnak, hogy maszkolható az a terület, ahol érzékelni szeretnénk a mozgást, így csak ott fut le az utóbbi algoritmus. 3.3 Megjelenítésért felelős alrendszer Ez az alrendszer felelős a felhasználói felületért és az egyes alrendszerek által feldolgozott képek és egyéb információk megjelenítéséért. 10. ábra - Megjelenítésért felelős alrendszer Mivel eddig csak a Mozgásérzékelő alrendszer készült el csak ennek az eredményét tudja megjeleníteni az alrendszer. 11. ábra - Eredmény kép 7

3.3.1 GUI 12. ábra Főablak A főablak menüvel rendelkezik, ez egyelőre három menüpontot jelent a Fájl, Nézet, Eszközök menüpontokat. A legnagyobb területet az eredménykép foglalja el, alatta található a Detektálás gomb, mely a 200 képkocka után válik aktívvá. Van még egy Szünet gomb is, ez fájlok esetén alkalmazható csak - szüneteltetni lehet vele a feldolgozást. Alul a státusz sorban megjelenítem a videó forrását, hogy Inicializálás vagy Detektálás fázis van-e folyamatban, az eddig feldolgozott képkockák számát és a képkocka feldolgozási idejét milliszekundumban. A Fájl menüben a fentebb ismertetett módon lehet betölteni a videót. A program három nézetet különböztet meg, melyeket a Nézet menüpontból lehet kiválasztani: Háttér, Binarizált, Maszk. 13. ábra - Nézetek 8

A Háttér nézet megmutatja az aktuális szegmentált hátteret a felhasználónak, segítségével el lehet dönteni Inicializálás fázisban, hogy elég jó-e már a háttér, segít a paraméterezésben. A Binarizált nézet csak a Detektálás fázisban működik, a rajta látható objektumokat keretezi be a szoftver az eredeti képen, segítséget nyújt a beállítások finomhangolásában. A Maszk nézet tulajdonképpen nem egy egyszerű nézet, mert ebben lehet megadni azt a területet, ahol a Mozgásérzékelő alrendszer érzékeli a mozgásokat. Egyszerűen, ha rákattintunk a képre, megjelenik egy piros telített négyzet, a négyzetek segítségével kifeszítünk egy poligont, melynek belsejében vesszük csak figyelembe a mozgásokat. Ez azért jó, nekünk, mert pl. ha nem szeretnénk figyelembe venni a másik irányból jövő autókat, ha egy folyó is látható a képen, esetleg az út széle tele van fákkal, ezek, ha benne maradnának az érzékelési területben hibás mozgásdetektáláshoz vezetnének. A négyzetek elhelyezkedésének megváltoztatása ugyanolya egyszerű, mint az lerakásuk, újból rájuk kattintva törlődnek és máris máshova tehetünk egy újat. 14. ábra - Nézetek balról jobbra: Háttér, Binarizált, Maszk Az Eszközök menüben finomhangolni lehet a rögzítő eszközt ebben az esetben az eszköz tulajdonságlapja jelenik meg csak akkor aktív, ha rögzítő eszközt választottunk videó forrásként a Beállítások menüpontban pedig a program paraméterein változtathatunk. 15. ábra - Eszközök menü 9

16. ábra - Eszközök menüpontból megnyitható ablakok: Rögzítő eszköz beállításai (bal), Beállítások (Jobb) 4. Problémák Mivel a szoftver aktuális verziója egy köztes verzió, a fent említett alrendszerek hiánya mellett, csak bizonyos megkötések mellett, illetve problémákkal együtt használható. Főbb problémák: Mivel nincs még megoldva az árnyékok leszedése, azok miatt összenövések keletkezhetnek. A háttérmodell nem boldogul az erősen tükröződő felületekkel, pl. esős időben vizes út. Ha a megvilágítás hirtelen változik, az megint csak problémához vezethet. Gyengébb teljesítményű gépek esetén problémát jelenthet a háttér frissítése. A nézetek aktiválása, többlet processzor időt igényel. Nagy objektumszám lassabb feldolgozási időt eredményez. A fenti problémákon kívül, azonban pozitívumként lehet említeni a működés során megfigyelt stabil memória, illetve processzorhasználatot. 5. Tesztelés A teszteléshez a Notebookomat használtam (Acer Aspire 5310), melynek főbb paraméterei: Intel Celeron M processor 530 (1,73 GHz, 533 MHz FSB, 1MB L2 cache) Intel Graphics Media Accelerator 950 2 GB DDR2 10

A tesztelést nagyrészt videó fájlokon végeztem, melyeket az internetről töltöttem le, illetve én rögzítettem őket. Eredmények: Videó Felbontás/fps t I t D Problémák 320x240 15 fps 43,37 ms 8,97 ms összenövések árnyék 640x480 30 fps 44,53 ms 9,30 ms - 1280x1024 15 fps 45,11 ms 14,20 ms árnyék t I : Átlagos Inicializálási idő/képkocka t D : Átlagos Detektálási idő/képkocka Külső helyszínen is végeztem egy tesztet ekkor a rendszert több mint 20 percig teszteltem, melysorán tökéletesen működött, kisebb hibáktól eltekintve. A program és a tesztvideók letölthetők a project honlapjáról: http://bmfnik.hu/iar/2007_2008/kffr/. 11

Tartalom 1. Célkitűzés... 2 2. A megvalósításhoz használt eszközök-modulok... 2 3. A rendszer felépítése... 2 3.1 Videó alrendszer... 3 3.2 Mozgásérzékelő alrendszer... 4 3.2.1 Inicializálás... 5 3.2.2 Detektálás... 5 3.3 Megjelenítésért felelős alrendszer...7 3.3.1 GUI... 8 4. Problémák...10 5. Tesztelés...10 12