Szegedi Tudományegyetem Informatikai Tanszékcsoport
Automatikus videó megfigyelő rendszer
Diplomadolgozat
Készítette:
Témavezető:
Bara Norbert
Dr. Kató Zoltán
Programtervező matematikus szakos hallgató
egyetemi adjunktus
Szeged 2006
Automatikus videó megfigyelő rendszer
Feladatkiírás Számos területen alkalmaznak ipari kamerákat egy terület megfigyelésére (utcák, fontosabb létesítmények, bevásárlóközpontok, bankok, stb.). A kamerák képeit videóra rögzítik, illetve biztonsági őrök figyelik. Egy megfigyelő rendszer azonban csak akkor lehet igazán hatékony, ha képes automatikusan értelmezni a kamerák képeit és mozgás esetén riasztást adni. A projekt keretében egy olyan automatizált megfigyelő rendszert fejlesztünk ki, amely kamerák képeit fogja valós időben elemezni.
2
Automatikus videó megfigyelő rendszer
Tartalmi összefoglaló •
A téma megnevezése:
Automatikus videó megfigyelő rendszer
•
A megadott feladat megfogalmazása:
Olyan algoritmus kifejlesztése, amely képes videófájlból vagy webkameráról vett képkockákon az objektumok mozgásainak detektálására
•
A megoldási mód:
Háttérkivonási algoritmus, Normális eloszlás felhasználása a különbségképek becsléséhez
•
Alkalmazott eszközök, módszerek:
A szoftver MS Visual C++ 6.0 fejlesztőkörnyezetben MFC alatt készült, input eszközként egy USB portra csatolható webkamera került felhasználásra
•
Elért eredmények:
Videófájlban objektumok megbízható detektálása, események listába való felvétele, webkamera esetén mozgás észlelésekor automatikusan képes riasztani, vidófájlba menteni, illetve ehhez feliratfájlt készíteni, amely a felvétel pontos időpontját tartalmazza
•
Kulcsszavak:
Videó megfigyelés, háttérkivonási algoritmus, Normális eloszlás, Gauss-féle haranggörbe
3
Automatikus videó megfigyelő rendszer
Tartalomjegyzék
Feladatkiírás ............................................................................................................ 2 Tartalmi összefoglaló .............................................................................................. 3 Tartalomjegyzék...................................................................................................... 4 Bevezetés .................................................................................................. 5 1. Az algoritmus ......................................................................................... 8 1.1. Háttérkivonás ................................................................................................... 8 1.2. Tisztítási fázis ................................................................................................ 13 1.3. Objektumok címkézése .................................................................................. 15 1.4. Az algoritmus előnyei, hátrányai ................................................................... 18 1.5. Bővítési lehetőségek ...................................................................................... 18 1.6. Tesztkörnyezetek............................................................................................ 19 2. Felhasználói felület .............................................................................. 20 3. Használati útmutató ............................................................................. 28 3.1 Detektálás indítása videófájlban ..................................................................... 28 3.2 Detektálás kamera esetén ................................................................................ 29 4. Felhasznált osztályok........................................................................... 30 5. Telepítési útmutató .............................................................................. 31 5.1. Futtatható program indítása............................................................................ 31 5.2. Forrásfájlok fordítása ..................................................................................... 31 5.3. Videók és konfigurációs fájlok ...................................................................... 32 6. A videó megfigyelés jogi kérdései........................................................ 33 6.1. Jelenlegi helyzetkép ....................................................................................... 33 6.2. A videó megfigyelés szabályozása ................................................................ 34 Irodalomjegyzék.................................................................................................... 37 Nyilatkozat ............................................................................................................ 38 Köszönetnyilvánítás .............................................................................................. 39 Mellékletek............................................................................................................ 40
4
Automatikus videó megfigyelő rendszer
Bevezetés [3, 4] A videó megfigyelés fogalma bizonyára sokak számára ismerős lehet. Nem véletlenül, hiszen ennek megjelenése körülbelül az 1960-as évekre vezethető vissza. 1965-ben Angliában már telepítettek olyan videó rendszert, amellyel a londoni tehervonat állomáson végeztek megfigyeléseket. Ebben az évben az Amerikai Egyesült Államokban is szereltek fel videó felügyeletre alkalmas eszközöket, ezek rendőrségi célokat szolgáltak, közterületek, közösségi épületek megfigyelésére alkalmazták őket. 1969-ben kamerákat szereltek fel New York városközpontjában lévő fontosabb épületekre. A videó megfigyelést lassan egyre több városban kezdték alkalmazni, emberek sokasága figyelte a CCTV (closed-circuit television) eszközök által kapott képsorozatokat. Londonban 1967ben a nagyobb üzletek is beruházásokba kezdtek, amelyek elsődleges célja a bolti lopások visszaszorítása, megakadályozása volt. 1974-ben kamerákat helyeztek el, a közlekedés szempontjából fontosabb utak mentén, hogy a forgalmat figyelni tudják. 1975-ben négy metró állomáson építettek ki megfigyelésre alkalmas rendszert. Ugyanebben az évben kezdték el használni biztonsági videókamerákat a focimérkőzéseken, annak érdekében, hogy a szurkolói táborok viselkedését meg tudják figyelni. 1984-ben a fontosabb tüntetési pontokon, 1985-ben pedig további forgalmasabb utakon is megjelentek a megfigyelő eszközök, így Londonban és más nagyobb angliai városokban is. 1987-ben parkolóházakban is kezdték használni a biztonsági kamerákat. 1989-ben a Liberty civil jogi szervezet publikációt adott ki Who watching you? Video surveillance in public places címmel, amely a közösségi helyeken történő megfigyelés jogi problémáival foglalkozott. New Castle-ben 1992-ben építettek ki egy utcai megfigyelő hálózatot, amely a CCTV
kamerák
képét
mikrohullám
segítségével
továbbította
a
város
rendőrkapitányságára. Szintén ebben az évben alkalmazták Angliában a nagy sebességű kamerákat és az infravörös technikát az ország úthálózatainak megfigyelésére. 1993 februárjában megtörtént az első támadás a Word Trade Center ellen, emiatt a New York-i Rendőrség, FBI és CIA videó rendszereket szereltetett az épületek környezetébe. 1997-ben az USA-ban újabb és újabb
5
Automatikus videó megfigyelő rendszer
helyekre szereltek kamerákat, így a Washington Square Park és más fontosabb pontok környékére. Ekkortájt terjedtek el a mobil megfigyelő állomások, furgonok, melyek könnyedén bevethetőek voltak politikai rendezvényeken, tüntetéseken, parádékon. 1997. május 10-én az angliai Brightonban tüntetést szerveztek a megfigyelő kamerák ellen, mert sokak személyiségi jogaikat féltették. Sajnos 2001. szeptember 11-én bekövetkezett az, amitől az Amerikai Egyesült Államok már régóta félt, terrortámadás érte őket, a Word Trade Center terroristák áldozatává vált. Ez és más terrorcselekmények ösztönözték a szoftverfejlesztő cégeket, hogy biztonságtechnikai szoftvereket készítsenek, amelyek segítségével talán még időben felismerhető és megelőzhető egy terrorakció vagy támadás. Különböző arcfelismerő programok láttak napvilágot, amelyek egy pillanat alatt képesek összehasonlítani egy arcot az adatbázisban található több ezer másikkal. London-ban 1998-ban már működött ilyen rendszer, az Ausztráliában lévő Sydney Nemzetközi Reptéren, pedig 2002-ben állították működésbe azt a beléptető egységet, amelynek alapja egy biometrikus pontokat használó arcfelismerő szoftver. Az ilyen és ehhez hasonló rendszerek kifejlesztéséhez azonban a technikának is nagy fejlődésen kellett keresztülmennie. A megfigyelő kamerák terjedésével az igények is megnőttek. A kezdeti rendszerek mindössze egy kamerából, egy monitorból és esetleg valamilyen videó rögzítő (VCR) eszközből álltak. Akkoriban a képfelvevő eszközök nem voltak még túl jók, hiszen nagy volt például a fényigényük, ebből kifolyólag csak nappal voltak alkalmazhatóak. A másik probléma a felvett anyag tárolása volt, az adatot videószalagra, videókazettára rögzítették. Egy-egy szalagra csak pár órányi anyag fért rá, ami folyamatos cserét igényelt, valamint a rengeteg kazetta tárolása is problémát okozott. Ezeket természetesen újra és újra fel lehetett használni, felülírva esetleg egy régebbi felvételt, azonban ez minőségromláshoz vezethetett. Egy nagyon fontos technikai újítás volt, amikor megjelentek az első CCD (charged coupled device) kamerák, melyek először használták a chip technológiát, és mivel fényigényük nagyon alacsony volt, ezért lehetőség nyílt a kevés fénynél való, illetve az éjszakai felvételre is. A felvételek tárolása is megváltozott, hiszen a nehézkesen kezelhető és sok helyet foglaló analóg videókazettákat felváltotta
6
Automatikus videó megfigyelő rendszer
egy újabb tárolási forma. A videókat ezentúl digitális tárolókon, winchestereken tárolták. Feldolgozásuk, szerkeszthetőségük is sokkal kényelmesebb lett, hiszen egy digitális képen könnyen állítható a fényerő, kontraszt és más hasonló képi tulajdonságok. Természetesen a minőség és a felbontás is jelentősen javult. A másik fontos technikai újítás az 1990-es évek közepén megjelenő digitális multiplexer volt. Segítségével egyszerre több mint 16 kameráról vált lehetségessé szimultán felvétel. Lehetővé tett idő alapú felvételt, illetve azt, hogy csak akkor kerüljön adat felvételre, ha mozgás történik. A videó megfigyelő rendszerek hatalmas fejlődésen mentek keresztül, újabb és újabb lehetőségeket nyújtottak, ilyen volt például az intelligens felvétel (intelligent recording), amely segítségével csak akkor tárolódik a videó, amikor ténylegesen mozgás történik. Az Internet elterjedésével lehetővé vált a videó rendszerek távoltól történő vezérlése (remote control), megfigyelése (remote viewing). Az árak kezdtek egyre megfizethetőbbek lenni, ami a magánszemélyek számára is lehetővé tette ezek megvásárlását. Napjainkban nagyon sokféle rendszer kapható, akár saját igényeinknek megfelelően kifejlesztett szoftverek is megvásárolhatóak.
7
Automatikus videó megfigyelő rendszer
1. Az algoritmus Az Automatic Video Surveillance System feladata az objektumok mozgásainak detektálása. Ez nem tűnhet bonyolultnak, de sajnos, ami az ember számára egyértelmű és egyszerű feladat, azt a gépnek „elmagyarázni”, lekódolni nem mindig triviális. Így van ez a videó megfigyeléssel is, az emberi szem felbontása, érzékenysége lehetővé teszi, hogy két kép között könnyedén különbséget tegyünk, esetleg felismerjük azokat az objektumokat, amelyek az egyiken még nem voltak láthatóak. Egy másik fontos tény, mely előnyt jelent számunkra a géppel szemben, a tudat. Képzeljük el azt az esetet, amikor valamilyen okból kifolyólag az egyik képen egy tárgy elmosódik, vagy részben takarásba kerül. Ennek felismerése a számítógép számára nem egyszerű, de mi könnyedén meghatározhatjuk, mert feltehetően tudatában vagyunk az objektum alakjának vagy méretének, így következtethetünk annak határaira, valós kiterjedésére.
1.1. Háttérkivonás A rendszer legfontosabb része, azaz algoritmus, amely magát az elemzést, objektumok detektálását végzi. A képfeldolgozásban jártasaknak, bizonyára nem ismeretlen a háttérkivonás (background substraction) fogalma. Az általam készített rendszer is ezen, a sokak által használt technikán alapul. Ennek elve tulajdonképpen nagyon egyszerű, legprimitívebb esete, amikor két képet összehasonlítunk pixelenként és a különbségeket valamilyen módon megjelöljük. A programban implementált módszer azonban sokkal összetettebb, ebben az esetben nem csupán két kép összehasonlítását végezzük, hanem egy komplett háttérmodellel dolgozunk. Hogy mit értünk háttérmodell alatt és miért használjuk, ha a feladat talán megoldható lenne két kép összehasonlításával is? Végezzünk egy nagyon egyszerű kísérletet. Tegyünk egy digitális fényképezőt állványra, állítsuk be valamely objektumra és annak elmozdulása nélkül, készítsünk néhány képet. Ezt követően valamilyen grafikus szerkesztőprogram segítségével nézzük
8
Automatikus videó megfigyelő rendszer
meg az azonos koordinátájú pixelek intenzitásértékét az összes felvételen. Nagy valószínűség szerint ezek nem fognak megegyezni, holott sem a kameránk, sem az objektum nem mozdult el. Ez azért lehetséges, mert a digitális fényképezőgépek CCD-je nagyon érzékeny és főképpen gyengébb fényerő esetén zajok jelenhetnek meg. Emiatt fordulhat elő, hogy az előbbiekben vizsgált képpontokban különböző szürkeségi értékeket számíthatunk ki.
1.1. ábra
A digitális fényképezőmet fixen beállítottam úgy, hogy az ne mozduljon el a felvétel alatt, majd egy videót vettem fel. Ezt követően kijelöltem egy pixelt (1.1. ábra), amelynek értékét minden képkockán megvizsgáltam. Az adott pontban számított szürkeségi értékeket a 1.2. ábrán láthatjuk.
1.2. ábra
9
Automatikus videó megfigyelő rendszer
Talán ezek után világossá vált mindenki számára, hogy egy kép alapján nem lehet pontos összehasonlítást végezni, ezért fontos egy összetettebb modell használata. Mivel a detektálást háttérkivonással szeretnénk megoldani, ezért szükség lesz egy mozgásmentes képszekvenciára, amelyből a háttérmodellt felépítjük. Ezt két tömb alkotja (bgValueMin, bgValueMax), amelyek mérete megegyezik a kép pixelszámával. Minden egyes tömbelem egy képpontnak van megfeleltetve. Az elemeik a tanulási fázis során felvett minimum, illetve maximum szürkeségi értékeket tárolják pixelenként. A modell és a normális eloszlás (1.1. képlet) segítségével becslést adunk a betanult sorozat és az aktuális képkocka különbségére [1]. A 1.3. ábrán a sűrűségfüggvény
által
meghatározott
görbéket
láthatjuk
különböző
paraméterértékek esetén.
f ( xl ) =
1 2π σ
exp
( xl − m ) 2 − 2σ 2
1.1 képlet: Normális eloszlás sűrűségfüggvénye
1.3. ábra: Gauss-féle haranggörbék
10
Automatikus videó megfigyelő rendszer
Mivel a képpontok színe RGB színtérben van megadva, ezért először ezeket szürkeárnyalatossá kell konvertálni. Az R, G, B változók sorra az adott pixel piros, zöld, kék komponensének értékei. Az xl értékét a 1.2. képlet alapján kapjuk. xl = 0.299 R + 0.587G + 0.114 B 1.2. képlet
Az m változó értékét a háttérmodellből számolom ki (1.3., 1.4. képletek).
m1 = bgValueMin[ x + y * 320] − xl m2 = bgValueMax[ x + y * 320] − xl 1.3. képlet
Az m1 és m2 egész számokat tárolnak, egyenlők az aktuális pixelérték (xl) és a háttérmodellben
tárolt,
megfelelő
minimum
és
maximum
intenzitások
különbségének abszolút értékével. Az x és y a képpontok koordinátái, amelyek a tömb indexelésére is használatosak. m = m1 + m2 1.4. képlet
A normális eloszlás paramétere a σ is, ez határozza meg a Gauss-féle haranggörbe (1.3. ábra) szélességét, becslésére a 1.5. képlet használatos.
σ=
m 0.68 * 2
1.5. képlet
Mivel az f(xl) függvény nagyon kicsi értékeket adhat vissza, ezért célszerű ezt egy kellően nagy konstans értékkel (pl. 1000) beszorozni. Amennyiben a visszaadott érték nagyobb, mint egy küszöbszám (thresholdValue), akkor az adott pontot háttérpontnak, ellenkező esetben objektumpontnak vesszük. A küszöbérték helyes
11
Automatikus videó megfigyelő rendszer
megválasztása nagyon fontos, mert ezzel tudjuk beállítani a háttérkivonás eredményét. Minél nagyobb ez a szám, annál érzékenyebb az algoritmus. Ha túl nagynak választjuk, akkor esetleg sok hamis objektum is megjelenhet.
1.4. ábra
A 1.4. ábrán két különböző, betanulási fáziskén használt videórészletből láthatunk egy-egy képkockát. Fontos, hogy egyik képen sincs olyan mozgó objektum, amely később, a detektálás során problémát okozhat. A 1.5. ábrán már a videók azon részéből láthatunk képeket, ahol a számunkra lényeges objektumok megjelentek.
1.5. ábra
A háttérkivonási algoritmust az előző képkockákra lefuttatva, a 1.6. ábrán látható eredményeket kapjuk. Ezek binárisak, vagyis két érték jelenhet meg rajtuk, az 1est (fehér) az objektumpontok, 0-ást (fekete) a háttérpontok vehetik fel. Az így kapott
eredmény
még
nagyon
zajos,
ezért
szükség
van
néhány,
a
12
Automatikus videó megfigyelő rendszer
képfeldolgozásban alkalmazott tisztítási módszer használatára, melyek leírását a következő 1.2. fejezet foglalja magába.
1.6. ábra
1.2. Tisztítási fázis Miután a háttérkivonást elvégeztük a 1.6. ábrán látható képekhez hasonló eredményeket kapunk. Az objektumok szépen látszódnak, de sok a hamis fehér pont, amely ténylegesen nem tartozik ahhoz a területhez, amelyet a végleges szegmentálás után látni szeretnénk. Első lépésben egy szűrőfüggvény kerül felhasználásra. Az eredménykép minden pixelén végigmegyünk, majd a közvetlen környezetében lévő fehér (1 értékű) pontokat megszámoljuk. Ha ezek száma kisebb, mint egy megadott küszöbérték, akkor a pontot és környezetét feketére (0 értékűre) állítjuk. A szűrőfüggvény kódjának egy részlete látható a 1.7. ábrán.
1.7. ábra
A 1.6. ábrán látható képekre lefuttatva az eljárást, egy jelentősen tisztább eredményt kapunk. Természetesen előfordulhat, hogy olyan pontok is
13
Automatikus videó megfigyelő rendszer
eltűnhetnek, amelyek az objektumokhoz tartoznak. A kapott eredményképek a 1.8. ábrán tekinthetőek meg.
1.8. ábra
Az objektumokat egy egyszerű diletációval összefüggőbbé tehetjük. A szűrő fázis eredményképének pixelein végigmegyünk és ott, ahol fehér (1 értékű) képpontot találunk, meghatározott méretű környezetében fehérre állítjuk az értékeket. A diletációs függvény kódjának egy részletét láthatjuk a 1.9. ábrán.
1.9. ábra
A függvény eredményeként kapott képeket a 1.10. ábra szemlélteti. Látható, hogy eltűntek a felesleges fehér pontok és szép összefüggő objektumokat kaptunk. A tisztítási fázis ezzel befejeződött.
14
Automatikus videó megfigyelő rendszer
1.10. ábra
1.3. Objektumok címkézése A következő fontos lépés a foltok (blob-ok) címkézése. A programban a BlobCounter() függvény valósítja meg ezt a lépést. Minden, a képen látható objektum (fehér terület) egy-egy foltnak felel meg. A módszer lényegében egy régiónövelésen alapuló rekurzív eljárás. A függvény egy segédtömböt használ fel arra, hogy egy pont csak egyszer legyen vizsgálva. Kezdetben a tömb nullákkal van feltöltve, ami jelzi, hogy még egyik pixel sem kapott címkét. A folyamat a következőképpen működik: Sorban elkezdjük végigjárni a kép pixeleit, ha 1-es értékű pontot találunk és még nincs megvizsgálva (azaz a segédtömb megfelelő eleme 0), akkor kap egy címkeértéket. Ezt követően a pont meghatározott környezetében megkeresem az összes 1-es értékű elemet. Ha van ilyen, akkor az a kiindulási (seed) pont címkéjét kapja, majd meghívódik rá rekurzívan az előbb ismertetett vizsgálat. Abban az esetben, ha a kiindulási pontunk körül már minden 1-es értékű elem meg lett vizsgálva, akkor a címke értékét növelem. A vizsgált pixelekhez tartozó segédtömb elemet mindig 1-re módosítjuk. A módszer eredményeként létrejön egy olyan kép, amelyben minden különböző blob-hoz tartozó pont más-más címkeértékkel rendelkezik. Elképzelhetőek azonban olyan esetek, amikor az algoritmus egy objektumot feldarabol, vagyis több, egymástól kisebb távolságra lévő foltként detektál. Ez akkor fordulhat elő, ha a küszöbértéket (Threshold value) valami miatt nagyon alacsonyra kell vennünk. A programban beállítható egy olyan mező (Environment size), amely segítségével az adott környezeten
15
Automatikus videó megfigyelő rendszer
belül lévő foltok képzeletben összekapcsolódnak, így azok azonos címkeértékűek lesznek. A 1.11. ábrán sorban jobbra haladva láthatóak az eredeti detektált blobok, a címkézés eredményei egy kicsi, illetve egy megfelelően nagyra állított környezet esetén.
1.11. ábra
A 1.12., 1.13 ábrákon láthatjuk az eredeti képeket és a BlobCounter() függvény eredményeit egy illetve több objektum esetén.
1.12. ábra
Az 1.13. ábra bal oldalán látható kép az AIRVL Research Projects honlapjáról [9] letöltött Pedestrian Tracking videófájlból származik.
16
Automatikus videó megfigyelő rendszer
1.13. ábra
A címke végső értéke adja meg a képen található objektumok számát. Ez a szám használható fel, a riasztás indítására is, például ha egy objektum bejön, akkor a számláló értéke 1-el nő. Természetesen ezt több szomszédos képkockán is ellenőrizni kell, hogy a hamis riasztást elkerüljük. Ha a címkézés megtörtént, akkor meg kell keresni a régiók szélső pontjait és ezt kirajzolni az eredeti képre. Ezzel azt érjük el, hogy a detektált objektumunkat bejelöljük anélkül, hogy a fontos részeket kitakarnánk. Erre láthatunk példákat a 1.14. ábrán.
1.14. ábra
A teljes detektálási rész különböző fázisait láthatjuk együtt a következő 1.15. ábrán, az előbbiekben bemutatott inputokra.
17
Automatikus videó megfigyelő rendszer
1.15. ábra
1.4. Az algoritmus előnyei, hátrányai Ebben a részben felsorolásra kerülnek azok a tulajdonságok, melyek az algoritmus gyengéinek vagy erősségeinek nevezhetőek. Negatívumok: Sajnos ennek az algoritmusnak is vannak gyengepontjai, ilyen
például azoknak az objektumoknak a detektálása, amelyek fedésben vannak, vagy széleik összeérnek. Egy másik hátrány, hogy csak fixen rögzített kamerával működik, mert ha elmozdul, akkor a rendszernek a háttérmodellt újra kell tanulnia. Pozitívumok: A program gyengéi mellet azonban sok erősség is felsorolható. Az
algoritmus videófájlon és kamerán egyaránt tud dolgozni. Az elemzést mindkét esetben, valósidőben tudja elvégezni. Jó beállítható paraméterei miatt, pedig a kevésbé homogénebb háttér esetén is pontos eredményt képes adni. Az algoritmus többfázisú felépítése könnyű módosítási és bővítési lehetőséget kínál. A detektálási terület beállíthatósága miatt képes arra, hogy csak bizonyos területek megfigyelése történjen (pl. egy ajtó). Az objektumok mozgása által vezérelt automatikus felvétel és a tömörítés, akár több száz napnyi anyag felvételét teszi lehetővé egyetlen DVD-re.
1.5. Bővítési lehetőségek Sok hasznos funkcióval lehetne még az algoritmust kiegészíteni, amire sajnos a fejlesztés során már nem jutott idő. Ilyen lehetőség lenne például egy bőrdetektor beépítése, amely segítségével külön meg tudnánk figyelni az emberi mozgásokat, kiszűrve a tárgyak elmozdulása által okozott riasztásokat.
18
Automatikus videó megfigyelő rendszer
1.16. ábra
Az algoritmus gyorsítása is sok további szolgáltatás beépítését tenné lehetővé, erre például a DirectX technológia felhasználásával lenne mód. Egy másik fejlesztési lehetőségként érdemes megemlíteni, a detektált objektumok mozgásának még mélyrehatóbb vizsgálatát (1.16. ábra) [2], amellyel tovább növelhetnénk a riasztási biztonságot (pl. egy személy kinyitott egy szekrényajtót, felvette a telefont, megfogott valamit stb.).
1.6. Tesztkörnyezetek 1. Tesztgép: AMD Athlon Xp 2500+, 256 Mb DDR, ATI Radeon 9200 VGA, 80 GB HDD, Windows Xp operációs rendszer 2. Tesztgép: Intel Pentium 4 Celeron 2.800 Ghz, 512 Mb DDR2, Geforce 6600 128 mb VGA, 80 GB HDD, Windows Xp operációs rendszer 3. Tesztgép: AMD Athlon Xp 2500+, 256 Mb DDR, Geforce 2 Mx 400 VGA, 80 GB HDD, Windows Xp operációs rendszer
19
Automatikus videó megfigyelő rendszer
2. Felhasználói felület A program felhasználói felület sokat változott a fejlesztés során, amíg jelenlegi formáját elérte (2.1. ábra). Úgy lett tervezve, hogy az átlátható, könnyen kezelhető legyen.
2.1. ábra
Vezérlése egérrel történik, illetve az egyes mezők értékének megadásakor a billentyűzet használható. A következő részben bemutatásra kerülnek a grafikus felület részei, egységei, amelyeket piros, számozott körök jeleznek (2.2. ábra).
2.2. ábra: A főképernyő
20
Automatikus videó megfigyelő rendszer
A programban lehetőség nyílik videófájlok betöltésére, azok lejátszására, valamely képkocájának megtekintésére vagy éppen a mozgások detektálására. Fájlt a Browse (3) gomb segítségével tölthetünk be. Ennek megnyomásakor egy tallózó ablak jelenik meg, amelyben avi kiterjesztésű állományokat tudunk kiválasztani. A fájl nevén duplán kattintva vagy a Megnyitás gomb lenyomásával, a videó a főképernyő Input 1 (1) ablakában lesz látható. Ezt követően egy üzenet jelenik meg, amely arról tájékoztat bennünket, hogy talált-e a videóhoz tartozó konfigurációs fájlt, amelyek a detektáláshoz, betanuláshoz, lejátszáshoz tartozó paraméterek értékeit tartalmazzák. Ha nevük megegyezik a betöltendő videóállomány nevével, akkor a betöltés automatikusan megtörténik, ellenkező esetben egy alap (default) konfigurációs állomány olvasódik be. A fájlok kiterjesztése con. A lehetséges üzenetek a 2.3. ábrán láthatóak.
2.3. ábra
Sikeres betöltés után a Play (4) és LearningBg (13) gombok is kattinthatóvá válnak. A Play (4) funkciója egyértelmű, segítségével indítható, a Pause (5) használatával pedig megállítható a videó lejátszása. A Stop (6) szintén befejezi a lejátszást, ebben az esetben azonban a pozíció a fájl elejére állítódik vissza, ellentétben a Pause (5) gombbal. Többféle módon is lehetőség nyílik a pozíció beállítására. A vezérlőcsúszkán (7) bármely pontba kattintva vagy a bal egérgomb lenyomásával, majd egér húzásával a kívánt részre ugorhatunk. A másik lehetőség, hogy a Frame number mezőbe (8) beírjuk a megfelelő képkocka számát, majd egy TAB billentyűt nyomunk. Ha véletlenül nagyobb értéket írunk be, mint a videó képkockáinak száma, akkor hibaüzenetet kapunk (2.4. ábra). Ezen szerepel egy intervallum, amelyből kiválaszthatunk egy érvényes egész számot.
21
Automatikus videó megfigyelő rendszer
2.4. ábra
A középen található, kerek Select input (9) gomb szolgál arra, hogy kiválasszuk azt az inputot, amelyen dolgozunk, ez lehet videófájl vagy webkamera. A gomb attól függően van engedélyezve vagy tiltva, hogy van-e betöltve avi állomány vagy rendelkezésünkre áll-e kamera. A nyíl a kiválasztott eszköz felé mutat. A Camera (10) gombbal lehetőség van a kamera be-, kikapcsolására. Ha megfelelően beállítottuk a webkamerát, akkor bekapcsolása után ennek képe az Input 2 (2) ablakban lesz látható. Mi is készíthetünk videót, rögzíthetjük kameránk képét, erre szolgál a Record (11) gomb. Ha rákattintunk megjelenik egy browser ablak, itt ki kell választanunk a célkönyvtárat és meg kell adnunk egy fájlnevet. A mentés avi formátumban történik, a tömörítés típusát a Settings (18) gombbal előhozható dialógusablakban állíthatjuk be, de erről később még bővebben lesz szó. A felvételnek van egy úgynevezett automatikus módja is, erre akkor van lehetőség, ha input eszközként a kamerát választottuk ki, és elindítottuk rajta a detektálást. Ebben az esetben az Auto Record (12) bekattintásával (2.5.ábra), majd a Record (11) gomb megnyomásával csak akkor történik rögzítés, ha mozgást detektál a rendszer.
2.5. ábra
A LearningBG (13) lenyomásával a rendszer a megadott hosszúságban betanulja a videó egy részét. A tanulási fázis hosszát és kezdőpozícióját a Setting (18) gomb megnyomása után megnyíló párbeszédablakban állíthatjuk be. Ezt úgy kell megadni, hogy a betanulás alatt a videóban ne legyen mozgás, mert különben a detektáló algoritmus hibás eredményt adhat. Ezek után használható a Detection (14) feliratú gomb, ez kapcsolja be és ki az input elemzését.
22
Automatikus videó megfigyelő rendszer
A program riasztását az Alarm (15) gombbal tudjuk aktivizálni, illetve hatástalanítani. Ha a detektált objektumok száma eléri a beállított értéket, akkor üzenetet küld (2.6. ábrán) és hangjelzést ad a rendszer.
2.6. ábra: Riasztási üzenet
A Source (16) lenyomása esetén megjelenik egy dialógus, itt tudunk beállítani olyan dolgokat, mint a használt videóeszköz, fényerő, kontraszt, gamma érték, domináns szín, élesség, telítettség, fehéregyensúly, a kép helyzete vagy akár a háttérfény kompenzációja. A beállításainkat lementhetjük, betölthetjük, vagy visszaállíthatjuk az alapértelmezettre. Az Alkalmaz és az OK gombokkal érvényesíthetjük a beírt értékeket. Mindezeket a 2.7. ábrán láthatjuk.
2.7. ábra: A videóeszköz beállítására szolgáló panelek
23
Automatikus videó megfigyelő rendszer
A Format (17) gomb lenyomása esetén újabb dialógus jelenik meg. A felbontás és a képpontmélység itt állítható be. Ez a program a 320x240-es felbontást és 24 bites RGB színmodellt használ. A kiválasztások érvényesítése az Alkalmaz vagy az OK gombra való kattintással lehetséges. A dialógust a 2.8. ábra mutatja.
2.8. ábra: A Videóformátum panel
A főképernyő bal alsó részén található az Objects Number (23) feliratú rész. Az itt található mező a program által detektált objektumok számát jelzi. Egy minta látható a 2.9. ábrán.
2.9. ábra
A rendszeridő a program System Time (24) mezőjében olvasható. Először a nap és hónap betűkkel, majd a nap, óra, perc, másodperc és az év számokkal kiírva jelenik meg. Egy hasznos része a programnak az akciólista (19), amelybe a detektálás során észlelt mozgások kerülnek. Ha valamelyik listaelemre rákattintunk, akkor arra a képkockára pozícionálja a videófájlt, ahol az adott akció megtörtént. A 2.10. ábrán látható egy ilyen lista, benne két detektált eseménnyel.
24
Automatikus videó megfigyelő rendszer
2.10. ábra: Detektált események listája
A lista ürítése a Reset Content (20) gombbal történik. Lehetőség van a tartalom mentésére a Save Content (21), illetve betöltésére a Load Content (22) kattintásával. A lista tartalmának tárolására szolgáló fájlok dal kiterjesztést kapnak. Abban az esetben, ha nem az adott videóhoz készült fájlt töltjük be, előfordulhat, hogy a felsoroltak között olyan képkockaszám szerepel, amely a betöltött avi-ban nincs benne, ha egy ilyenre rákattintunk, akkor hibaüzenetet kapunk (2.11. ábra).
2.11. ábra
A Settings (18) gomb lenyomásával megjelenő panelről már sok szó eset, ennek részeiről a 2.12. ábrán és az azt követő szöveges részben kaphatunk mélyebb betekintést. .
25
Automatikus videó megfigyelő rendszer
2.12. ábra: A Settings panel
A Filter value (26) mezőben egy szűrőértéket állítunk be, segítségével a detektálás során kapott képen eltávolíthatjuk a kisseb zajokat, a képet tisztábbá tehetjük. A Diletation size (27) érték a detektált objektumok területét megnöveli, esetleg összefüggőbbé teheti. Az Environment size (28) segítségével egymástól kisebb távolságra lévő részeket összekapcsolhatunk, megakadályozva az objektumok szétszakadását. A Threshold value (29) egy küszöbértéket állít be, amellyel szabályozhatjuk a detektáló algoritmus érzékenységét. Az algoritmus helyes működéséhez nagyon fontos ezeknek a paramétereknek a pontos beállítása. A Learning length (30) mezőben a tanulási rész hosszát adjuk meg képkockákban. A Learning start pos. (31) megadása azt a kezdő képkockát határozza meg, ahonnan a betanulás elindul. A tesztvideók esetében ezen érték nullára van beállítva, mert mozgásmentes részek az avi fájlok elején találhatóak. Ezeket a mezőket is érdemes pontosan beállítgatni, mert a tanulási fázis nagyban befolyásolja a végső eredményt, így lehetőség szerint olyan részletet érdemes választani a videóban, ahol nincs vagy csak nagyon minimális a mozgó objektumok mérete és mozgása.
26
Automatikus videó megfigyelő rendszer
A riasztás beállításához használható az Alarm if obj num. (32) mező. Megadható hogy minimum hány objektumnak kell a képen megjelennie, hogy a figyelmeztető hangjelzés elinduljon és a riasztási üzenet megjelenjen. A Frame++ (35) részben beállítható, hogy a videófájlban csak minden megadott képkocka kerüljön lejátszásra, feldolgozásra. Lényegében a sebesség növelésére használható. A (36), (37), (38) és (39) mezők a detektálandó területet jelölik ki a képeken. Futás közben ez zöld színű téglalapként jelenik meg, az algoritmus csak a kijelölt területen belül dolgozik. Jól alkalmazható, ha csak bizonyos részeket, pl. ajtó vagy tárgyak megfigyelését szeretnénk megoldani. Abban az esetben, ha kameráról szeretnénk felvételt készíteni, akkor beállítható, hogy az avi fájl használjon-e tömörítést, és ha igen, akkor milyet. Ezt a Compression (40) mezőben állíthatjuk be. A tömörítés minőségromlással jár, ha ezt el akarjuk kerülni, és nem számít a fájl mérete, jelöljük be a No compression mezőt. Ha mégis úgy döntünk, hogy tömörítjük videónkat két lehetőség közül választhatunk (Cinema pack codec, Indeo Video 3.2). Válasszuk ki a számunkra tetszőt, ikszeljük be a megfelelő jelölőnégyzetet. Konfiguráció fájl betöltésére a Load Config File (33) gombbal van lehetőség. A konfigurációs állományok kiterjesztése con. Természetesen mentésre is van lehetőség, ezt a Save Config File (34) kattintásával tehetjük meg. Nincs más dolgunk, mint kiválasztani a megfelelő könyvtárat, megadni egy fájlnevet és a beállított paraméterek máris kiíródnak. A beállítások érvényesítéséhez az OK (41) gombra kell kattintanunk. A programból kilépni a Exit (25) megnyomásával lehetséges. Kilépés esetén a rendszer megerősít kér (2.13. ábra), ha a Yes gombot nyomjuk, a program futása befejeződik, ellenkező esetben folytathatjuk tovább munkánkat.
2.13. ábra
27
Automatikus videó megfigyelő rendszer
3. Használati útmutató Ebben a fejezetben lépésről-lépésre bemutatásra kerülnek a fontosabb programfunkciók. Mielőtt ezt elolvasnánk, ajánlott 2. fejezet részletes áttanulmányozása, mert azok a mezők, amelyekre itt hivatkozás történik, ott részletesebben is ismertetve vannak.
3.1 Detektálás indítása videófájlban 1. Töltsünk be egy avi fájl (Browse gomb) 2. A megjelenő konfigurációs üzenet elfogadása (OK gomb) 3. Állítsuk a Select input (kerek) gombot videó állásba (<), ha az nem ott áll 4. Keressünk a
megnyitott
videónkban olyan elegendő hosszúságú
mozgásmentes részt, amely alkalmas lesz a betanulására (ajánlott hossz kb. 10 képkocka) 5. Ha van ilyen, akkor jegyezzük meg ennek a résznek a kezdőpozícióját és a hosszát, majd a Settings gombra kattintva a Learning feliratú résznél állítsuk be a Learning length és a Learning start pos. mezőket 6. A beállítások érvényesítéséhez nyomjuk meg az Ok gombot 7. Kattintsunk a Learning BG gombra és várjuk meg, amíg az újra aktívvá válik, ezzel a rendszer betanulja a megadott videó szekvenciát 8. Az Alarm gomb segítségével kapcsoljuk ki vagy be a riasztást (alapesetben bekapcsolt állapotban van) 9. Detection: OFF gobra kattintva bekapcsoljuk a detektálási funkciót 10. Play lenyomása videó elindítása, detektálás megkezdése 11. Ha az eredménnyel nem vagyunk megelégedve, nyomjuk le a Pause vagy Stop feliratú gombot, majd kattintsuk a Settings-re, amely újra megnyitja
a beállításokat tartalmazó panelt 12. A Bg Substarction feliratú rész mezőivel finomítani tudjuk az algoritmus működését 13. A beállítások érvényesítéséhez nyomjuk meg az Ok gombot
28
Automatikus videó megfigyelő rendszer
3.2 Detektálás kamera esetén 1. Kattintsunk a Camera: OFF gombra a kamera bekapcsolásához 2. Állítsuk a Select input (kerek) gombot kamera állásba (>), ha az nem ott áll 3. Pozícionáljuk a kamerát arra a részre, amit szeretnénk megfigyelni (az elmozdulás elkerülése érdekében használjuk álványt) 4. Nyissuk meg a Settings panelt és állítsuk be a kívánt paramétereket (pl. háttérkivonás paraméterei, detektorablak szélei, tömörítés tipusa, stb.), majd ezek érvényesítéséhez nyomjuk le az Ok gombot 5. Az Alarm gomb segítségével kapcsoljuk ki vagy be a riasztást (alapesetben bekapcsolt állapotban van) 6. Ha a kamera által adott képen nincs mozgás, akkor nyomjuk meg a Learning BG gombot (ezzel a betanulás megtörténik)
7. A Detection: OFF gomb lenyomásával a detektálást aktívvá tesszük 8. Ha azt szeretnénk, hogy mozgás esetén a kamera képe videófájlba íródjon, akkor jelöljük be az Auto Record-ot, majd nyomjuk le a Record: OFF gombot
9. Ha minden képkockát rögzíteni szerenénk a felvétel be és kikapcsolása között, akkor az Auto Record-ot nem kell bejelölnönk (ebben az esetben a 6., 7. lépések kihagyhatóak) 10. Minden felvételhez készül egy feliratfájl (sub), amely az aktuális képkocka fájlbaírásának dátumát tartalmazza
29
Automatikus videó megfigyelő rendszer
4. Felhasznált osztályok A rendszerbe a készítés során, néhány mások által megvalósított, szabadon felhasználható osztály is be lett építve. Ezek neve és felhasználásának célja olvasható ebben a fejezetben. A forrásfájlok a The Code Porject weboldalon [8] találhatóak meg.
Osztály neve
CAviUtil CAviOpen CbitmapSlider CBitmapEx CFrameGrabber CTransparentListBox CxSkinButton
Forrásfájlok
AviUtil.h
Feladat
Az Input 2 eszköz képének avi fájlba írása
AviOpen.h
Avi fájl megnyitása,
AviOpen.cpp
képek beolvasása
BitmapSlider.h
Avi vezérlőcsúszka
BitmapSlider.cpp
megvalósítása
CBitmapEx.h
Az Input 2 képének
CBitmapEx.cpp
tárolása
FrameGrabber.h
Az Input 2 eszköz
FrameGrabber.cpp
képének lekérése
TransparentListBox.h
Átlátszó lista
TransparentListBox.cpp
megvalósítása
XSkinButton.h
Bitmap gombok
XSkinButton.cpp
megvalósítása
30
Automatikus videó megfigyelő rendszer
5. Telepítési útmutató Ebben a fejezetben a szoftver telepítéséről és a forrásfájlok újrafordításáról kaphatunk részletes tájékoztatást. A hivatkozott fájlok a diplomadolgozathoz csatolt CD mellékleten találhatóak meg.
5.1. Futtatható program indítása A programot az AVMR.exe-vel indíthatjuk el. A fájl megtalálható a mellékelt CD-n a \Program\Futtathato könyvtárban. Fordítása Windows Xp operációs rendszer alatt, Microsoft Visual Studio 6.0 segítségével történt. Külön telepítést nem igényel, akár közvetlenül a lemezről is futtatható. A könyvtárban található alarm.wav riasztáskor játszódik le, tetszőleges wav fájlra kicserélhető, de fontos, hogy a lefordított exe-vel azonos helyen legyen.
5.2. Forrásfájlok fordítása A forrásfájlok a CD melléklet \Program\Forras könyvtárban találhatóak meg. Másoljuk fel ezt a könyvtárat egy olyan lemezterületre, ahol a program a lefordított állományokat létrehozhatja. A fordítás első lépéseként az MS Visual Studio segítségével nyissuk meg az AVMR.dsp projectfájlt. Ha a betöltés megtörtént, nyomjuk meg Build ikont, vagy az ennek megfelelő F7 gyorsbillentyűt. Miután ez a művelet befejeződött az Execute Program ikon, vagy az Ctrl + F5 kombináció lenyomásával elindíthatjuk a programot. A lefordított állományok a fordító által létrehozott \Release könyvtárban helyezkednek el. A \Program\Forras\Res és a \Program\Forras\Res\Buttons könyvárban bmp és ico fájlok találhatóak, ezek határozzák meg a program grafikus felületét és a program ikonját.
31
Automatikus videó megfigyelő rendszer
5.3. Videók és konfigurációs fájlok A teszteléshez használt videófájlok a CD melléklet \Tesztvideo&Config könyvtárban találhatóak meg. Ugyanitt helyezkednek el a con és a dal kiterjesztésű fájlok, amelyek a beállításokat és az akciólista tartalmát tárolják. Minden tesztvideóhoz megtalálhatóak ezek a fájlok. A program csak akkor tudja a konfigurációs fájlokat automatikusan betölteni, ha azok a videóval megegyező könyvtárban vannak, ellenkező esetben a default.con töltődik be.
32
Automatikus videó megfigyelő rendszer
6. A videó megfigyelés jogi kérdései [5] A kamerás videó megfigyelésnek Magyarországon nincsen nagy múltja. Hazánkban, az 1990-es években kezdett komolyabban megjelenni, akkoriban csak a nagyobb hivatalok, bankok, katonai létesítmények alkalmazták. Kezdetben csak külső, biztonsági megfigyeléseket végeztek segítségükkel és ezek rögzítésére sem igazán került sor. Később a nagyobb üzletláncok, pénzügyi intézetek telepítettek külső és belső tér figyelésére alkalmas hálózatokat. 1996-ban Kaposvár belvárosába térfigyelő kamerák elhelyezését tervezgették, amikor egy polgári beadványt követően az adatvédelmi biztos vizsgálni kezdte ennek jogszerűségét. A rendszert végül megépítették, de ezzel kapcsolatban több jogi kérdés megválaszolására is sor került. Talán ez volt az a pont, amikor igazán érezhetővé vált, hogy Magyarországon a videó megfigyeléssel kapcsolatos jogszabályok még nagyon gyerekcipőben járnak.
6.1. Jelenlegi helyzetkép [6] Magyarországon már 2003-ban 45 térfigyelő rendszer működött, akkoriban mintegy 741 kamerával. 2005-re csak a fővárosban található kamerák száma, majdnem elérte az 500-at. Ezek a kamerák köztereken, metróállomásokon valamint főbb útvonalak mentén helyezkednek el. A 6.1. ábra egy áttekintő térképet mutat a kamerák elhelyezkedéséről. A rendszerek tulajdonosa lehet az önkormányzat, alapítvány vagy akár a rendőrség is. A felügyeletet általában az utóbbi végzi, valamilyen e célra kijelölt központban, ahol a megfigyelést többségében szabadidős rendőrök látják el. Az egyes térfigyelő rendszerekhez, néhol kivonuló egységeket is kijelöltek. A legtöbb kerületben a rendszerek meglepően eredményesek voltak, egy felmérés szerint például az első kerületben, 2004-ben nem kevesebb, mint 40-45 százalékkal csökkent a bűncselekmények száma. Egy korábbi adat szerint, pedig a megkérdezettek 64 százaléka hasznosnak tartja a térfigyelő kamerák alkalmazását. De akkor mi szól mégis ezek ellen? Sajnos a rendszerek fenntartási költsége borzasztóan magas, az első kerületben, ahol 2004-ben mindössze 10 kamera volt
33
Automatikus videó megfigyelő rendszer
felszerelve, az éves fenntartási költség elérte a 10.6 millió forintot. A hatodik kerületben 68 kamera működik, itt 60-70 milliót is könnyedén kitesz az egy év alatt ráfordított összeg, a rendszer kiépítése 2002-ben 170 millióba került.
6.1. ábra: A kamerák száma Budapest kerületeiben (2005)
A magas költségeken túl azonban más okok is vannak, amelyek nehezítik a videó megfigyelő rendszerek működését. Ilyenek például a személyiségi jogok, amelyek védelméről az utóbbi években rengeteg szó esett. Amellett hogy az emberek többsége tisztában van a megfigyelés hatékonyságával, a „nem jó, ha minden lépésünket figyelik” elvet vallják.
6.2. A videó megfigyelés szabályozása Ebben a fejezetben a videó megfigyeléssel kapcsolatos néhány fontosabb szabályozás, jogi lehetőség olvasható. Ez a rész csupán tartalmi összefoglalást ad, a pontos leírás az adatvédelmi biztos nyilatkozatában [7] olvasható. Tilos a videó megfigyelő (térfigyelő) kamerákat úgy elhelyezni, hogy azok a jelenlévő állampolgárok számára rejtve vannak, azaz nem tudnak azok működéséről. Az észlelhetőség érdekében kötelező tájékoztató táblák elhelyezése, ez a működtető szerv feladata. Néhány helyen ennek a szabálynak a betartása
34
Automatikus videó megfigyelő rendszer
vitaható, mert a kamerákat a közvilágításnál használatos lámpaburákhoz hasonló üveggömbbe szerelik fel (6.2. ábra) és sok esetben a tájékoztató táblák is hiányoznak.
6.2. ábra: Rejtett térfigyelő kamera
Ha a törvény másként nem rendelkezik, akkor az érintett személyek beleegyezése nélkül,
közterületen,
közintézményben
hivatali
időben,
vagy
nyilvános
magánterületen, csak megfigyelést végző képfelvevő, illetve személyazonosításra alkalmatlan eszközök használhatóak. Magánterületen vagy nyilvános magánterületen, olyan videó eszköz, amely személyazonosításra és képek rögzítésére is alkalmas, akkor működtethető, ha az érintett személyek egyértelműen hozzájárulnak személyes adataik kezeléséhez. Közterületen vagy nyilvános magánterületen történő megfigyelés esetén, ahol a személyes adataik kezeléséhez hozzájárulni nem szándékozók is kénytelenek megjelenni, akkor lehetőséget kell biztosítani, hogy kérésre a felvételeket soron kívüli töröljék. Magánterületen biztonsági célból akkor végezhető megfigyelés, ha ott az üzemeltető személyen vagy megbízottjain kívül, egyéb személy jogszerűen nem tartózkodhat. A rögzítés során készített anyagot, a lehetőségekhez mérten minél hamarabb meg kell semmisíteni. A felvételeket készítő rendszerek működését az Avtv.28.§-a alapján be kell jelenteni az adatvédelmi nyilvántartásba.
35
Automatikus videó megfigyelő rendszer
Összegzésképpen elmondható, hogy mielőtt bárki egy videó megfigyelő rendszer telepítését elvégezné (legyen az akár kisebb magáncélú vagy nagyobb méretű céges hálózat) mindenképpen érdemes utánajárni és meggyőződni jogi lehetőségeinkről.
36
Automatikus videó megfigyelő rendszer
Irodalomjegyzék [1]
Ahmed Elgammal, David Harwood, Larry Davis, „Non-parametric Modell for Background Substraction,” Computer Vision Laboratory University of Maryland, USA
[2]
Douglas Ayers, Mubarak Shah, „Monitoring Human Behavior from Video Taken in an Office Environment,” Computer Vision Lab, Scool of Electrical Enginering and Computer Science, University of Central Florida
[3]
„A history of video surveillance in England,” http://www.notbored.org/england-history.html
[4]
Luci P. Roberts, „The History of Video Surveillance - from VCRs to Eyes in the Sky,” Copyright © 2004-2005 Evaluseek Publishing
[5]
„A térfigyelő rendszerek aktuális helyzetéről,” http://www.bm.hu/web/obmk.nsf/all/DB18DE9EF33ACD1BC1256FF2002F 71EC/$file/09_terfigyelo.pdf?openElement
[6]
„Térfigyelő rendszerek Budapesten,” http://://www.magyarorszag.hu/hirek/kozelet/budapest20050208.html
[7]
„A képfelvételek készítésével kapcsolatos adatvédelmi biztosi ajánlás,” http://abiweb.obh.hu/abi/shpic.php?slct=select%20copy%20from%20sajtofi gyelo%20where%20ID=9278&typ=5&filename=name.rtf
[8]
„The Code Project,” http://www.codeproject.com
[9]
„AIRVL Research P.,” http://www.cs.umn.edu/Research/airvl/its2/index.html
37
Automatikus videó megfigyelő rendszer
Nyilatkozat Alulírott ………………………… szakos hallgató, kijelentem, hogy a dolgozatomat a Szegedi Tudományegyetem Informatikai Tanszékcsoport ………………………. tanszékén készítettem, ……………… diploma megszerzése érdekében. Kijelentem, hogy a dolgozat saját munkám eredménye, és csak a hivatkozott forrásokat (szakirodalom, eszközök, stb.) használtam fel. Tudomásul veszem, hogy szakdolgozatomat/diplomamunkámat a Szegedi Tudományegyetem könyvtárában, a kölcsönözhető könyvek között helyezik el.
Dátum Aláírás
38
Automatikus videó megfigyelő rendszer
Köszönetnyilvánítás Ezúton szeretnék köszönetet mondani Kató Zoltánnak, aki hasznos tanácsaival és ötleteivel segített hozzá, hogy az előbbiekben bemutatásra kerülő Automatikus videó megfigyelő rendszer elkészülhessen.
39
Automatikus videó megfigyelő rendszer
Mellékletek A diplomadolgozathoz egy CD melléklet is tartozik, amely az általam készített rendszer forráskódját, lefordított futtatható változatát, valamint a teszteléshez használt videó és konfigurációs fájlokat tartalmazza.
40