Coordonator științific Absolvent Conf. dr. Marius Popescu Ibrahim Coș kun București, iunie 2017 ` ` UNIVERSITATEA BUCUREȘTI FACULTATEA DE MATEMATICǍ… [617588]
UNIVERSITATEA BUCUREȘTI
FACULTATEA DE MATEMATICǍ ȘI INFORMATICǍ
SPECIALIZAREA INFORMATICĂ
Lucrare de licență
Coordonator științific Absolvent: [anonimizat], iunie 2017
`
`
UNIVERSITATEA BUCUREȘTI
FACULTATEA DE MATEMATICǍ ȘI INFORMATICǍ
SPECIALIZAREA INFORMATICĂ
Lucrare de licență
Statistici rezultate din supravegherea
video a unei intersecții
Coordonator științific Absolvent: [anonimizat], iunie 2017
`
`
Abstract
Supravegherea video convențional ă, în care oamenii sunt puși în fața a numeroase ecrane, ore
în șir, devine din ce în ce mai ineficientă și depășită în fața sistemelor inteligente de supraveghere.
Aceste sisteme au luat avânt odat ă cu avansul teh nologic al zonei de cercetare ce se ocupa cu
inteligența artificială, creșterea fiabilității unor astfel de sisteme, dar și datorit ă ratei, în creștere, de
modernizare a sistemelor convenționale de supraveghere , acestea fiind schimbate cu unele de tip
”sma rt” peste tot în lume.
Extragerea statisticilor dintr -un video complex este un proces complicat, dependent de mai
mulți factori de mediu din video, precum luminozitatea, condițiile meteo sau chiar poziția camerei,
îngreunând segmentarea imaginii (pentru ob ținerea fundalului static și a obiectelor dinamice), dar și
clasificarea obiectelor, obiectele putând fi astfel denaturate. De asemenea, pentru acuratețea
statisticilor rezultate, sistemul ar trebui să țină cont de faptul că anumite obiecte staționare pot deveni
dinamice, iar anumite obiecte dinamice pot deveni staționare.
Prezenta lucrare de licență încearcă să țină cont de acești factori pentru a oferi o acuratețe cât
mai mare , abordând mai multe metode spre a atinge acest scop. Astfel, un prim pas spre a tingerea
obiectivului îl reprezintă diferențierea și „conștientizarea” obiectelor dinamice din scena de inters ,
abordând 2 metode prezentate în mod comparativ ( Capitolul 2). Apoi, având obiectele dinamice
detectate, acestea trebuie ur mărite (Capitolul 3) și clasificate (Capitolul 4). Urmărirea lor va fi
efectuată doar pentru o anumită zonă de interes, iar aceasta este realizată cu ajutorul unui filtru
Kalman [7]. Clasificarea obiectelor este o problemă mai delicată, necesitând multiple abordări ce au
rezultate diferite, rezultate ce sunt discutate în capitolul dedicat lor.
Scopul ultim al acestei lucrări este de a extrage informații relevante (Capitolul 5), cu o
acuratețe cât mai mare , din video -uri a căror scenă de interes o reprezintă intersecțiile , pe baza
conceptelor mai sus enunțate, dar aplicativitatea lor putând fi extinsă și la alte scenarii asemănătoare
(drumuri publice, piețe pietonale și alte astfel de locuri).
`
Abstract
Conventional video surveillance , where humans were put hours in front of multiple displays ,
becomes more and more inefficient and is even surpassed by some intelligent surveillence sistems.
This kind of sistems have flourished thanks to the teh nological advances made into artificial
intelligence research area, increasing reliability of this sistems and to an increasing rate of upgrading
the old surveillence sistemts with a smart sistem through entire world.
Extracting statistics from a complex video is not a simple task because it depends on multiple
factors like scene brightness , weather and even camera position, factors that can make both
background segmentation (for obtaining the background and the foreground from a video) and object
classifi cation harder. Also, for accurate statistics, the sistem must consider that maybe some
backgound objects may become foreground objects or maybe some foreground objects may become
background objects.
The described sistem tries to keep tab on all the factors that can alter video statistics to obtain
accuracy and precision, trying diffrent approch es in doing that. So, a first step in achieving that goal,
is represented by detection of the foreground objects from the monitored sce ne approches this
problem from two diffrent points of view presented by comparing them in Chapter 2. After that, the
detected objects must be tracked (Chapter 3) and classified (Chapter 4). Tracking the objects will be
performed using a Kalman filter [7], only for an input area from the entire scene. Classifying objects ,
being more complicated , requires multiple approches that will be explained and commented in their
dedicated chapter.
The ultimate goal of this paper is to extract relevant information (Chapter 5), with a big
accuracy, from videos that features crossroads, based on the concepts mentioned above , making this
sistem applicable not only for crossroads, but for public roads, pedestrian squar es or places like those
too.
`
Cuprins
Acronime …………………………………………………………………………………………………………….. ………… .. 7
Lista figurilor ……………… ………………………………………………………………… ……………………………… …. 9
Lista algoritmilor …………….. ………………………………………………………………………. ……………………. . 11
1 Introducerea …………………………………………………………………………………….. ………………………… 13
1.1 Privire de ansamblu asupra siste mului …………………………………………………………………. … 14
1.2 Motivație ……………………………………………………………………………………………………. …….. 15
1.3 Contribuție proprie …………………………………………………………………. ……………………….. … 16
2 Segmentarea fundalului static de obiectele dinamice …………………………… ……………………… ….. 17
2.1 Metoda diferențierii imaginii curente cu imaginea de f undal static …………………. …………. 18
2.2 Metoda Modelului de Mixturi Gaussiene ……………………………………………………………… … 22
2.2.1 Descrierea GMM …………………….. ……………………………………………………. ………. 23
2.2.2 Descrierea algoritmului folosit în sistemul de interes …………………….. …………. … 25
3 Urmărirea obiectelor dinamice …………………………………………………………… ……………………….. . 29
3.1 Diferențierea și localizarea obiectelor din imagine …………………………………………………. .. 29
3.2 Filtrul Kalman ……………………………………………………………………………………………. ………. 30
3.3 Asignarea fiecărui obiect unui drum ……………………………………………….. …………………. …. 32
3.4 Descrierea algoritmului de urmărire folosit în sistemul de interes …………………………. …… 33
4 Clasificarea obiectelor …………. …………………………….. …………………………… ………………………… 37
4.1 Abordări ce au la bază extragerea caracteristicilor cu rețeaua AlexNet …………………… ….. 37
4.1.1 Antrenarea pe setul de date ImageNet …………………………………………….. …………. 41
4.1.2 Antrenarea pe imagini extrase din video -uri …………………… ………………………… .. 43
4.2 Discriminarea obiectelor pe baza cons iderentelor geometrice …………………………………. … 45
4.3 Discriminarea obiectelor dinamice în sistemul de interes ………………………………………… .. 46
5 Obținerea și contorizarea statisticilo r …………………………………….. ………………………… …………… 47
5.1 Statistici obținute din detectarea fundalului static ………………………………………… ……… ….. 47
5.2 Statistici obținute din urmărirea obiectelor dinamice ……………………………………………… … 49
5.3 Statistici obținute din clasificarea obiectelor dinamice ……………….. ………………………. …… 50
6 Concluzii …………………………………………………………………………………………………………….. ……. 51
7
Acronime
RGB – model aditiv de culoare ce are la bază culorile roșu ( Red), verde ( Green) și albastru ( Blue)
GMM – modelul de mixturi de Gaussiene / Gaussian Mixture Model
EM – maximizarea așteptării / Expectation Maximization
Blob – obiect binar mare / Binary Large Object
SVM – mașină cu vector suport / Support Vector Machine
CPU – Unitatea centrală de prelucrare / Central processing unit
GPU – Unitatea de prelucrarea grafică / Graphics processing unit
JPEG – fomat de compresie a imaginilor foarte des util izat
`
9
Lista figurilor
Figura 1.1 Arhit ectura aplicației ……………………………………………………………………. ………………….. . 14
Figura 2.1 Structura unui video format din n imagini și explicitarea unui pixel . ………………………. . 17
Figura 2.2 Rezultatele obținute în urma aplicării algoritmului 2.1 ……… ……………………….. …………. 19
Figura 2.3 Exemplificarea operatorilor morfologici …………………………… ……….. ………………………. 20
Figura 2.4 GMM cu 3 Gaussiene [15] ………………………………………………………… ………………………. 23
Figura 2.5 Obținerea măștii bina re adaptate noului fundal static ……………………. ………………………. 26
Figura 3.1 Caracterizarea fiecărui blob în imaginea curentă …………………………………………. ………. . 30
Figura 3.2 Arhitectura recursivă a unui filtru Kalman [7] …………………….. ………………………. ………. 31
Figura 3.3 Definirea zonei de interes într -un video ……………………………………. …….. ………………… .. 33
Figura 3.4 Rezultatul obținut în urma implementării pragurilor aferente ……….. …………….. …………. 35
Figura 4.1 Arhitectura sistemului de clasificare [19] ………… ………… ………………………. ………………. 38
Figura 4.2 Ponderile primului strat convoluțional [20] ……………………………… ……………………….. … 39
Figura 4.3 Delimitar ea hiperplanelor asociate unei categorii de clasific are a datelor
de antrenare [23] …………………………………………………………………………………. …………………………. . 40
Figura 4.4 Matricea de confuzie obținută în urma procedeului de validare încrucișată ………………. 42
Figura 4.5 Matricea de confuzie obținută în urma procedeului de validare încrucișată pe baza
imaginilor extrase și clasificate manu al dintr -un video ……………………………………………………. ……. 44
Figura 4.6 Rezultate obținute în urma aplicării clasificării pe baza criteriilor geometrice ………….. 45
Figura 5.1 Rezultate obținute în urma rulării sistemului pe 2 video -uri diferite ………………………. .. 48
Figura 5.2 Rezultate obținute în timpul urmăririi obiectelor dinamice segmentate anterior ……… … 49
Figura 5.3 Rezultatele clasificării obiectelor dinamice din imaginea curentă a unui video …………. 49
Figura 5.4 Rezultatele clasificării obiectelor dinamice din imaginea curentă a unui video …………. 50
`
11
Lista algoritmilor
Algoritm ul 2.1 Metoda diferențierii imaginii curente cu imaginea de fundal static ……….. ………….. 21
Algoritm ul 2.2 Metoda GMM ………………………………………… ………………………….. ……………………. . 27
Algoritm ul 3 Urmărirea obiectelor dinamice ………………………………………. ……………… …………….. .. 36
`
Capitolul 1
Introducere
Conceptul de „smart -city” reprezintă integrarea tehnologiei Internet of things (IoT) în sisteme
inteligente pentru a manageria automat și autonom diferite aspecte ale activităților desfășurate
intr-un oraș, intervenția omului fiind minimă sau chiar lipsind .
Două aspecte importante legate de zona de cercetare numita „ vedere artificială ” au primit o
atentie deosebit ă și s-au dezvoltat considerabil în ultimul deceniu, aspecte ce au creat condițiile
propi ce pentru dezvoltarea sistemelor de tip „smart -city”, așa cum sunt descrise în viziunea lui S. A.
Velastin și a lui P. Remagnio [1]. Primul aspect îl reprezinta dezvoltarea unor algoritmi capabili să
citească și să modeleze date vizuale complexe pe baza ca rora să fie capabili să concluzioneze
anumite lucruri asemanător unui om. Cel de -al doilea aspect îl reprezintă avansul tehnologic în
programarea distribuită și inteligenț ă distribuită, capabilă să trateze componentele sistemului ca
entități separate, capa bilă să se adapteze la schimbările scenariului și capabilă să interpreteze mai
bine dinamica obiectelor din scena pe care o supraveghează.
Sistemele de supraveghiere inteligentă se ocupă cu monitorizarea evenimentelor (oameni,
mașini, animale, alte tipuri de obiecte, incendii, nevoi medicale și alte astfel de evenimente) într -un
anumit mediu. Scopul acestor sisteme este de a oferi o interpretare autonomă și automată a scenei
pe baza senzorilor puși la dispoziția mecanismului. Interpretarea constă în prezice rea acțiunilor sau
a interacțiunilor obiectelor monitorizate. Principalele stagii ale mecanismului de supraveghere
inteligentă sunt detecția obiectlor dinamice din mediul supravegheat, recunoașterea obiectelor,
urmărirea lor și analizarea comportamentului.
Astfel de sisteme inteligente pot fi aplicate în monitorizarea sistemului de transport public, a
drumurilor publice și a zonelor pietonale. Astfel de siteme au fost implementate cu succes în orașele
aglomerate precum Londra, Paris, New York, Barcelona sau Istanbul. Amintim unele dintre ele:
MOBESE [2] (Figura 1.1), DETEC T [1], DETER [3] sau GOTCHA [4
1.1 Motivație 14
Figura 1.1 Imagini cu sistemul de control al traficului MOBESE [2, 25]
M. Valera și S. A. Velestin [1] descriu sistemul DETECT ca având ca eveniment declanș ator
detectarea mișcării și ca fiind format de un numar variat de camere, maxim 12, conectate la un
computer centralizator ce trimite analiza datelor la baza de date centrală ce este accesibila tuturor
sistemelor aflate in rețea. De asemenea descriu și sis temul DETER [3] (Detection of Events for
Threat Evaluationand Recognition) ca fiind format din două module principale. Primul este cel de
vedere artificială ce are ca scop detectarea, recunoașterea și urmărirea obiectelor, iar cel de -al doilea
consta într -un sistem superior de recunoaștere semantică ce clasifică eventualul pericol.
1.1 Motivați e
Atât aprofundarea cât și cercetarea unui domeniu actual, în plină dezvoltare ce presupune
folosirea unor tehnologii de vârf, constituie atât o provocare stiințifică cât și un domeniu fertil cu
multe aplicații promițătoare. Astfel, după cum spun și A. N. Mohamed și M. M. Ali [11], domeniul
veder ii artificial e aplicată în supravegherea automată atrage din ce în ce mai mulți cercetători.
Motivarea acestei lucrări este de a crea o aplicație de detectare și clasificare a tuturor obiectelor
dintr -un video filmat cu o cameră staționară, fixă, pentru a extrage diferite statistici pe baza
informațiilor obținute, cu scopul de a demonstra faptul că astfel de aplicații pot fi crea te din ce în ce
mai ușor, iar utilitatea lor este din ce în ce mai conștientizată.
1.2 Privire de ansamblu asupra sistemului 15
În prezenta lucrare este prezentat un sistem ce indeplinește conceptul de extragere de
informații din fișiere video, folosind oricare din metodele mai sus menționate. Cu toa te acestea,
adevăratul scop al aplicației este de a extrage informațiile din video -uri în timp real, direcție ce
trebuie urmată în continuarea studiilor științifice legate de acest sistem. Limitarea aceasta este dată
de limbajul de programare ales (Matlab [13]), prin multitudinea calculelor greoaie ce necesită un
timp mai îndelungat pentru a fi efectuate. Această limitare poate fi eliminată prin rescrierea
sistemului într -un limbaj ce efectuează calculele mai rapid, precum OpenCV [12].
1.2 Privire de ansamblu asupra sistemului
Prezenta lucrare descrie un sistem inteligent de supraveghere video a unei intersecții ce extrage
informațiile despre obiectele dinamice din scena de interes și oferă următoarele statistici:
Imaginea de fundal static aferentă secvenței v ideo
Traiectoriile fiecărui obiect ce apar în scenă
Densitatea traiectoriilor tuturor obiectelor
Clasificarea obiectelor
Num ărul obiectelor din fiecare clasa ce au tranzitat scena
Num ărul obiectelor din fiecare clasa ce au tranzitat scena pe un anumit int erval orar
Figura 1.2 Arhitectura aplicației
Cent ralizarea
statisticilor
Segmentarea
fundalului
static de
obiectele
dinamice
Urmărirea
obiectelor
detectate
Clasificarea
obiectelor
urmărite
Video
1.3 Structura lucrării 16
Un astfel de sistem poate fi împărțit în trei module principale și interconectate (Detectarea
obiectelor dinamice, Urmărirea obiectelor detectate și Clasificarea obiectelo r urmărite) și într -un
modul secund ar (Centralizarea statisticilor) , centralizator. Arhitectura aplicației este descrisă în
Figura 1.2.
1.3 Structura lucrării
În vederea detectării obiectelor dinamice din video , ce este descrisă în Capitolul 2, s-a folosit
cu succes abordarea descrisă de către Stauffer și Grimson [6], Modelul de Mixturi Gaussiene
(Secțiunea 2.2.1 ). Acest model este folosit pentru a estima fundalul static al scenei descrise și a
separa obiectele dinamice de restul scenariului static. În acest capitol sunt descrise 2 abordări, dintre
care prima oferind o segmentare non adaptivă, iar a doua o segmentare adaptivă , cea care folosește
Modelul de Mixturi Gaussiene .
Pentru urmărirea obiectelor detectate este aleasă o singură abordare, folosind filtrul Kalman
[7] ce calculează viitoarea locație pe baza presupunerii că obiectele se vor deplasa cu o viteză
constantă , abordare descrisă în Capitolul 3.
Pentru clasificarea obiectelor s -au folosit 3 abor dări diferite descrise în Capitolul 4 al acestei
lucrări . Primele două au la bază rețeaua convoluțională „AlexNet” [9], folosind această rețea
preantrenată pentru a extrage caracteristicile obiectelor ce urmează a f i clasificate. Prim a metodă
abordată antrenează un clasificator SVM ( mașină cu vector suport ) multiclass , cu 11 clase, pe baza
caracteristicilor extrase din colecția de imagini „ImageNet” [8] . A doua metodă antrenează to t un
clasificator SVM , de această dată cu 3 clase , dar folosind imagini detectate automat de aplicatie din
diferite videouri și clasificate manual. Ultima metodă abordată se bazează pe observații geometrice
(lungime, lățime, arie).
Performanțele metodelor aplicate vor fi discutate în capitolele alocate lor.
1.4 Contribuție proprie 17
1.4 Contribuți e proprie
Deși implementarea implementarea acestui sistem s -a decis a fi facută în Matlab [13] , datorită
librăriei dedicată vederii artificiale , obiectele teoretice puse la dispoziție trebui e contopite într -o
manieră optimă pentru obținerea u nei aplicații fluide ce iși atinge scopul său de a extrage statistici
pe baza unui fișier video. Pentru realizarea unei astfel de aplicații, mai mulți algoritmi dedicați unei
arii de interes a aplicației au fost implementați (descriși în capitolele aferent e lor), unii cu succes, iar
alții fără rezultate notabile, pentru a însoți și încorpora uneltele preexistente și pentru a servi scopului
acestei lucrări.
Capitolul 2
Segmentarea fundalului static de obiectele dinamice
În acest capitol vor fi prezentate două abordări legate de segmentarea fundalului static de
obiectele dinamice. Prima metodă reprezintă un exemplu non adaptiv, iar prezentarea ei are ca scop
atât sublinierea complexității acestei probleme cât și sublinie rea avansului tehnologic actual , această
metodă fiind una de bază, de la care s -a plecat spre crearea un ei metode cu o acuratețe mai mare,
ajungându -se chiar la cea de -a doua metodă prezentată în această lucrare, cea adaptivă. Cea din urmă
metodă este impl ementată în aplicație cu succes.
Figura 2.1 Structura unui video format din n imagini și explicitarea unui pixel
(marcat cu chenarul roșu )
Un fișier video este format dintr -o colecție de imagini, precum în Figura 2.1. Pentru fiecare
imagine din colecție se dorește obținerea unei imagini binare sub formă matriceală denumită mai
departe masca binară , unde fiecare pixel va avea o valoare din mulțimea {0,1} , valoarea 1
reprezentând un pixel ce aparține unui obiect dinamic, iar valoarea 0 reprezentând un pixel ce
aparține fundalului static.
Pentru a obține această mască, vom considera și explicita imaginea cu numărul k, unde k ϵ {1,2, …q},
iar q este numărul total de imagini ce formează fișierul video. Notâ nd această imagine cu I k, putem
explicita această imagine sub formă matriceala printr -o matrice m × n × 3, unde n repezintă lățimea
Canalul albastru
Canalul verde
Canalul roșu
Imaginea n
Imaginea 1
Imaginea 2
Imaginea 3
Imaginea n-2
Imaginea n-1
2.1 Metoda diferențierii imaginii curente cu imaginea de fundal static 20
în pixeli a imaginii , m reprezintă lungimea în pixeli a imaginii, iar ultima dimensiun reprezintă cele
3 canale RGB (roșu, v erde, albastru). Această matrice are ca elemente p valoarea intensității pixelilor
asociată fiecarui canal de culoare.
Ik = (2.1)
2.1 Metoda diferențierii imaginii curente cu imaginea de fundal static
Aceas tă metodă este o metodă bazată pe un scenariu ideal în care există o imagine inițiala,
generată sau preexistentă, a fundalului static. Astfel, prin implementarea unui algoritm naiv,
obiectele dinamice pot fi discriminate rapid și fară efort.
Privind proble ma din punct de vedere matriceal, în contextul mai sus enunțat, putem deduce
rapid faptul că, pentru imaginea I k, k ϵ {1,2,…q}, valoarea unui pixel P 1 = (p ij1,pij2,pij3), cu 1 ≤ i ≤ m
și 1 ≤ j ≤ n, va coincide cu valarea pixelului corespondent P 2 = (z ij1,zij2,zij3) din imaginea de fundal
static doar dacă pixelul P 1 aparține fundalului static aferent imaginii I k, obiectul de apartenență al
pixelului P 2 nefiind obstrucționat de obiectul de apartenență al pixelului P 1, în acest caz fiind același
obiect. Astf el putem deduce și faptul că pentru aceeași pixeli corespondenți P 1 și P 2, valoarea lor va
fi diferită doar în cazul în care pixelul P 2 aparține unui obiect dinamic ce a obstrucționat obiectul din
fundalul static.
Cu toate că la o primă vedere aceste obser vații par corecte, ele nu țin cont de condițiile de iluminare
diferite dintre imaginea cu fundalul static și imaginea curentă I k, modificând valorile pixelilor. Orice
modificări ale mediului, cât de mici, chiar și cele insesizabile ochiului uman, dar detec tabile de
cameră, ne vor duce în cel de -al doilea caz enunțat anterior , deși corectă ar fi fost plasarea în primul
caz. Datorită faptului că diferența dintre valoarea ideală (cea în care mediul nu modifică valoarea
pixelilor) a unui pixel ce aparține funda lului static și valoarea reală a aceluiași pixel este una mică,
2.1 Metoda diferențierii imaginii curente cu imaginea de fundal static 21
putem introduce un prag µ ϵ [0,1] astfel încât să considerăm că toți pixelii a căror diferență dintre
valoarea lor pe fiecare canal de culoare și valoarea pixelilor corespondenți din fundalul static , tot pe
canalele de culoare , este mai mică sau egală decât cea a pragului aparțin fundalului static, iar restul
pixelilor aparțin obiectelor dinamice din imagine. Pragul µ variază în funcție de poziția și calitatea
camerei, pentru video -uri de calit ate slabă acest prag putând fi mai aproape de limita superioară, dar
și de rezoluția video -ului, fiind o problemă persistentă pentru toți algoritmii. Acesta este aplicat pe
canalele de culoare deoarece există posibilitatea ca diferențele pixelilor să apară doar la nivelul unui
singur canal de culoare.
Figura 2.2 Rezultatele obținute în urma aplicării algoritmului 2.1. Masca binară (d) se obține
prin aplicarea operatorilor morfologici imaginii (c) rezultate în urma diferențierii imag inii curente
(b) cu imagine a ce conține fundalul static
Aplicând această metodă putem obține masca binară definită anterior, mască ce reprezintă scopul
acestui capitol. Însă aceasta v a prezenta și pixeli ce nu fac parte din obiectele dinamice asociate
imaginii I k, din cauza zgomotului generat atât de cameră cât și de modificările mediului. Eliminarea
acestui zgomot se poate face prin aplicarea unor operatori morfologici precum eroziunea, dilatarea
µ
(c)
(d)
(b)
(a)
2.1 Metoda diferențierii imaginii curente cu imaginea de fundal static 22
sau umplerea, deschiderea sau închiderea, operatori des criși în Figura 2.3. În algortimul sistemului
descris în această lucrare, s -a stabilit mai întâi aplicarea unei erodări bazată pe o matrice 3 × 3 pentru
o eliminare primară a zgmotului imaginii, apoi o închidere bazată pe o matric e 7 × 7 pentru
evidențierea contururilor și crearea unor regiuni unitare din regiunile adiacente ce pot face parte din
același obiect. În eventualitatea în care anumite obiecte ar rămâne cu goluri, a fost aplicată și o
operație de umplere. Matricele ce s tau la baza operațiilor morfologice pot suferi modificări ale
dimensiunilor, în funcție de caracteristicile video -ului, precum calitatea sa sau distanța camerei de
scena de interes.
După cum se poate observa, acest algoritm nu se poate adapta schimbării i maginii de fundal
static datorată în cazul acestui studiu de eventualele mașini ce pot parca sau ce pot pleca din par care,
imaginea de fundal static fiind un element de de intrare, nu unul generat de algoritm. Astfel,
acuratețea acestuia nu este una bună d in punct de vedere al adaptabilității, însă, spre deosebire de
următorul algoritm ce urmează a fi descris, detectează mai fidel obiectele dinamice. Deoarece în
natură orice scenă de tip intersecție este volatilă și în continuă schimbare, fapt nesesizabil d e
algoritmul descris, această abordare nu est e fiabil ă într -un astfel de scenariu.
Figura 2.3 Exemplificarea oper atorilor morfologici. Imaginii de referință (a) i -au fost aplicate
operațiile morfologice de eroziune (b), dilatare (c) , umplere (d), închider e (e) și deschidere (f) . Se
observă că o singură operație morfologică nu oferă un rezultat satisfăcător problemei actuale, însă
aplicarea succesivă a mai mulți astfel de operatori va duce la rezultate mai satisfăcătoare
(a
)
(b
)
(c
)
(d
)
(e
)
(f)
2.1 Metoda diferențierii imaginii curente cu imaginea de fundal static 23
Algoritm 2.1 Metoda diferențierii imaginii curen te cu imaginea de fundal static
Elemente de intrare:
Imagine cu fundalul static: I bg
Imaginea curentă a video -ului: I k
Pragul de diferențiere: µ ϵ [0,1]
Dimensiunile matricii de bază pentru erodare: x,y
Dimensiunile matricii de bază pentru închidere: r,t
Elemente de ieșire:
Masca binară: mască
Algoritmul:
imagineAuxiliară = | I k – Ibg |
pentru fiecare pixel de coordonate i și j din imagineAuxiliară
dacă (pixel(i,j,1)+pixel(i,j,2)+pixel(i,j,3)) ≤ µ
mască(i,j) = 0
altfel
mască(i,j) = 1
erodare(mască,[x,y])
închi dere(mască, [r,t])
2.2 Metoda Modelului de Mixturi Gaussiene 24
2.2 Metoda Modelului de Mixturi Gaussiene
După cum se poate observa în descrierea metodei diferențierii (Secțiunea 2.1), metoda necesită
actualizarea imaginii de fundal stati c în cazul în care acesta s -ar schimba. Acest lucru ar trebui făcut
manu al de către o persoană, ceea ce ar face ca scopul algoritmului să nu fie atins (cel de a fi
independent și automat). După cum se subliniază și în „Adaptive background mixture models fo r
real-time tracking” [6], majoritatea cercetătorilor au abandonat astfel de abordări non adaptive , din
cauza necesității unor inițializări manuale fără de care s -ar fi acumulat o mulțime de erori. Astfel,
tipul acesta de algoritmi , ce necesită o s uperviza re crescută și sensibil la schimbări mai mari al e
fundalului static , sunt fiabili doar pentru un număr restrâns de cazuri c e presupun detectare a și
urmărirea unor obiecte pentru un interval de timp redus.
Necesitatea unui algoritm capabil să se adapteze la schimbări majore în fundalul static a atras
numeroși cercetători, iar rezultatele nu au întârziat să apară. Un astfel de algoritm, ce se aseamănă
cu algoritmul ce face subiectul acestui capitol, este algoritmul sistemului Pfinder [14]. Acesta
folosește un model multi -class pentru urmărirea obiectelor și un model de estimare a fundalului static
bazat pe o singură Gaussiană pentru fiecare pixel.
Modelul ce va fi descris în continuare reprezintă abordarea lui Stauffer și a lui Grimson [6] a
acestei probleme, folosind nu o singură Gaussiană ci z Gaussiene , model disponibil în librăria
dedicată vederii artificiale a Matlab [13] . Modelul denumit „Mixturi de Gaussiene” (folosit cu
notația MOG în literatura de specialitate) sau „Modelul de Mixturi Gaussiene” (folos it cu notația
GMM în literatura de specialitate) este un a din cele mai comun folosite metode adaptive de extragere
a fundalului static dintr -un video.
Acest model încearcă să modeleze valoarea unui pixel P = (p ij1,pij2,pij3), cu 1 ≤ i ≤ m și
1 ≤ j ≤ n, cu ajutorul unei mixturi de z Gaussiene (Figura 2.4) în loc să modeleze cu o singură
Gaussiană. Acest lucru transformă algoritmul într -unul robust și adaptabil schimbărilor de mediu.
Practic, pentru fiecare pixel P al unei imagini I k se va încerca asignarea sa uneia dintre Gaussiene
după care aceasta va fi actualizată și se va stabili care din cele k distribuții este cel mai probabil să
reprezinte fundalul static, toți pixelii acestei distribuții Gaussiene fiind consid erați statici, iar ceilalți
ca fiind dinamici. Astfel, imaginii curente I k i se poate asocia masca binară căutată .
2.2.1 Descrierea GMM 25
Acest algoritm nu are nevoie de supervizare, fiind necesare doar setările ințiale. La momentul
scrierii articolului [6], Stauffer menționa că sistemul rula deja de 16 luni monitorizând o scenă în aer
liber, iar acesta nu a necesitat nici o modificare a parametrilor pentru atingerea acurateței dorite a
gradului de segmentare a fundalului static de cel dinamic.
Figura 2.4 GMM cu 3 Gauss iene [15]. Gaussienele notate cu albastru sunt distribuțiile modelate
de modelul descris, iar distribuția notată cu roșu reprezintă modelarea globală a valorilor pixelilor
de-a lungul unui interval de timp t
2.2.1 Descrierea GMM
Întreaga idee a GMM este de a est ima fundalul static pentru a t -a imagine pe baza a t -1 imagini
procesate deja. Astfel putem considera ca t reprezintă momentul de timp actual al video -ului.
Deoarece algoritmul este creat pe baza pixelilor dintr -o imagine, este nevoie ca fiecare pixel
dintr -un video sa fie modelat uniform și concomitent. Acest lucru poate fi atins matematic prin
reprezentarea vecto rială a valorilor unui pixel de -a lungul unui interval de timp t , precum în Ecuația
2.2, ca un vector cu t elemente ce reprezintă valoarea unui pixel la momentul de timp i, 1 ≤ i ≤ t.
(X1, X2, …, X t) = {P ϵ Ik | P = (p ij1,pij2,pij3), i,j fixate, 1 ≤ i ≤ m, 1 ≤ j ≤ n, 1 ≤ k ≤ t } (2.2)
2.2.1 Descrierea GMM 26
Astfel, având istoria valorilor fiecărui pixel în parte, putem actuali za toate cele z Gaussiene pe
baza asignării fiecărei valori a pixeluilui P , la momentul de timp t , uneia dintre ele.
Pentru a distinge dacă un pixel P aparține sau nu fundalului static , trebuie calculată
probabilitatea (Ecuația 2.3) ca acea valoare a pixelului să apară natural. Daca, spre exemplu, o
mașină apare în scenă, valoarea pixelului ce reprezenta asfaltul va detecta o valoare anormală,
nemodelabilă de nici una din cele n Gaussiane , fapt ce ar duce la o probabilitate mică a f aptului că
pixelul mai aparține f undalu lui static.
P(X t) =∑ ω𝑛
𝑘=1 i,t * η(X t, µi,t, εi,t) (2.3)
Astfel, probabilitatea P(X t) este exprimată ca suma probabilităților ca valoarea X t să apară
natural în distribuția fiecărei Gaussiene , din cele n .
Pentru fiecare distribuție se vor lua în calcul doar valorile pixelilor atribuiți lor, fapt exprimat
de ponderea 𝝎 în Ecuația mai sus enunțată. Această pondere este folosită pentru actualizarea
distribuțiilor, calculând la momentul de timp t noua pondere asociată ( Ecuația 2.4) pe baza unui
parametru extrem de important al acestui sistem , α, denumit rata de învățare . Actualizarea ponderii
se va face doar pentru ponderea asocită distribuției căreia valoarea pixelului poate fi atribuită,
specificată prin variabila M i,t, ce va avea valoarea 0 pentru Gaussiana cu indicele i din model dacă
valoarea nu se potrivește acesteia și 1 altfel. Pentru a stabili această potrivire, abordarea lui Stauffer
[6] nu folosește un algoritm de tip EM ( Expectation Maximization ) așa cum folosesc majoritatea
algoritmilor de acest tip deoarece implementarea unui astfel de algoritm pentu o mixtură de z
Gaussiene devine computațional e xtrem de costisitor e, ci un algoritm de aproximare de tip on-line
K-means . Potrivirea se va face dacă valoarea ce necesită potrivirea se încadrează în deviația standard
de 2,5 a distribuției. Dac ă nu se găsește nici o potrivire, procesul iterativ este lua t de la început ,
înlocuindu -se cea mai puțin probabilă distribuție cu alta ce are această valoare ca valoare medie .
𝝎i,t = 𝝎i,t-1 + α * (Mi,t – 𝝎i,t-1) (2.4 )
Importanța parametrului α este dată de faptul ca acest parametru stabilește gradul de
adaptivitate la schimbările de mediu al sistemului. Cu cât această valoare este mai mare, cu atât
sistemul înglobează schimbările mai greu. Practic, putem spune că α-1 reprezintă viteza cu care
fundalul static este actualizat.
2.2.2 Descrierea algoritmulu i folosit 27
Acestor ponderi le sunt stabilite probabilitatea de densitate a Gaussienei, fapt exprimat în
Ecuația 2.3 prin funcția η(X t, µi,t, εi,t), unde µi,t reprezintă valoarea medie a distribuției i la momentul
t, iar εi,t reprezintă matricea de covarianță a distribuției i la momentul t.
η(X t, µi,t, εi,t) =𝑒− (Xt−µi,t)𝑇
∗ εi,t−1∗(Xt−µi,t)
2
(2𝜋)𝑛
2 ∗ |εi,t|1
2 (2.4)
Având aceste instrumente la îndemână nu mai rămâne decât să stabilim ce Gaussiană din cele
z existente este cel mai probabil să modeleze fundalul static. P entru acest lucru este nevoie mai întâi
de o ordonare a distribuțiilo r, ordonare ce se efectuează pe baza criteriului dat de valoarea ω
σ, unde
σ este extras din matricea de covarianță, valoare ce crește cu cât există mai multe dovezi că
distribuția modelează fundalul static. Având ordonarea efectuată, fundalul static se va decide
folosind Ecuația 2.5 ce folosește un alt parametru important al acestei metode, T, parametru folosit
și în Ecuația 2.4. Acesta măsoară numărul minim de valori ce ar trebui luat în considerare drept
fundal static. Cu cât valoarea aceasta este mai mică, fundalul static va fi unul unimodal, mai puțin
adaptabil la schimbările de mediu, iar dacă este mare, acesta va genera un fundal multi -modal capabil
să înglobeze în acesta mișcările repetitive precum mișc area unui steag bătut de vânt ce, în mod
normal ochiul uman l -ar vedea ca făcând parte din fundalul static în scena de interes, dar un sistem
nepregătit pentru așa ceva nu l-ar putea vedea astfel .
B = argmin b (∑ ωk>𝑇𝑏
𝑘=1 ) (2.5)
2.2.2 Descrierea algoritmului folosit
Algoritmul desc ris în secțiunea precedentă este disponibil în biblioteca dedicată vederii
artificiale a Matlab [13] . Astf el, s-a ales folosirea acesteia din motive de optimizare și cost
computațional mai bun . Metoda calculează masca binară, ce reprezintă scopul acestui capitol, pentru
fiecare imagine I k, ținând cont de un număr de imagini deja procesate, număr ce se stabileș te la
inițializarea sistemului și reprezintă variabila t din Ecuația 2.2. Acest parametru a fost stabilit în
sistemul descris ca fiind chiar totalitatea imaginilor fișierului video, deoarece se dorește ca
actualizarea fundalului stat ic să se efectueze doar în momentul în care sigur schimbarea a avut loc și
este și de durată. Funcția folosită se numește vision.ForegroundDetector și, pe langă parametrul de
3.4 Descrierea algoritmului de urmărire folosit 28
inițializare amintit anterior, necesită setarea parametrului T din Ecuația 2.5 și a ratei de învățare α.
T este setat ca având valoare 0, 7, aproximând că fundalul static ar trebui să ocupe aproximativ 70%
din imagine , înglobând astfel eventualele mișcări repetitive, iar α este setat la voloare de 0,008
pentru a s e adapta oricărei modificări a mediului cât mai repede și cât mai bine. De asemenea, un
număr de Gaussiene trebuie ales pentru GMM, iar după recomandarea din „Adaptive background
mixture models for real -time tracking” [6], acest număr trebuie să fie cuprin s între 3 și 5, mai multe
generând costuri computaționale foart mari, iar mai puține neputând modela eventualele scene
multi -modale. În sistemul descris s -au folosit un număr de 3 Gaussiene, atât din motive de cost, cât
și pe baza mai multor experimente efectuate cu numere diferite de astfel de distribuții.
Înainte de a oferi algoritmului GMM noua imagine I k, s-a decis aplicarea unui filtru Gaussian
de bază 5 × 5, pentru o primă eliminare a eventualului zgomotului. De asemenea, pentru eliminarea
zgomotu lui ulterior obținerii măștii binare, s -a decis aplicarea, precum în algoritmul 2.1 a
operatorilor morfologici, de această dată considerând necesare doar o operație de umplere, apoi una
de erodare cu baza o matrice 6 × 6.
Figur a 2.5 Obținerea măștii binare adaptate noului fundal static. Masca binară (c) a fost obținută
din imagine crentă (a) folosind GMM și ținând cont de imaginile deja prelucrate (b). După cum se
poate observa, mașina devenită statică nu mai este înregistrată c a obiect dinamic
ForegroundDetector
(c)
(b)
(a)
3.4 Descrierea algoritmului de urmărire folosit 29
Algoritm 2.2 Metoda GMM
Elemente de intrare:
Imaginea curentă a video -ului: I k
Numărul minim de valori ce ar trebui luat în considerare drept fundal: T
Rata de învățare: α
Numărul de Gaussiene: n
GMM (n, α,T): detector
Dimensiunile matric ii de bază pentru închidere: x,y
Dimensiunile matricii de bază pentru aplicarea filtrului Gaussian: q, r
Elemente de ieșire:
Masca binară: mască
Algoritmul:
Ik = filtruGaussian( [x,y] )
mască = detector(I k)
fill(mască)
erodare(mască,[x,y])
Capitolul 3
Urmărirea obiectelor dinamice
Pasul natural ulterior segmentării este urmărirea obiectelor dinamice, acțiune ce face subiectul
acestui capitol. Sistemul descris folosește filtrul Kalman [7] pentru a calcula viitoarea locație , pe
baza presupunerii că obiectele se vor deplasa cu o viteză constantă. Astfel, fiecare obiect va avea
nevoie de o descriere spațială a sa, pentru ca locația precedentă să fie cunoscută și luată în calcul în
estimarea viitorei locații.
3.1 Diferențierea și loca lizarea obiectelor din imagine
Un prim pas pentru urmărirea obiectelor îl reprezintă „conștientizarea” și localizarea
obiectelor. Din masca binară se pot extrage zone de interes, acele zone în care masca are valoarea 1,
obiectele dinamice fiind astfel def inite în Capitolul 2. Aceste zone sunt numite în literatura de
specialitate blob (Binary Large Object). Odată localizat fiecare blob, acesta trebuie indexat și
caracterizat astfel încât să descrie cât mai bine obiectul dinamic asociat . Astfel, fiecare blob va fi
descris de către centrul său și patrulaterul ce încadrează regiunea de interes. Aceste unelte descriptive
sunt relative la sistemul de coordonate a vide o-ului, putând fi descrise tot matriceal, precum imaginea
curentă I k.
Cu toate că în procesul de segmentare a fundalului static de obiectele dinamice se încearcă și
se reușește eliminarea unei părți mari din zgomot, o mică parte din acesta este încă prezent și poate
duce la așa -zisele halucinații, detectând fals obiecte dinamice de dimensiuni infime unele, altele de
dimensiuni apropiate de cele ale unui obiect ce ar putea apărea natural în scena de interes. Tocmai
de aceea, introducerea unui prag geometric γ în procesul identificării obiectelor dinamice este
imperios necesar. Ace st prag geometric s -a decis a fi, în sistemul descris, aria obiectului. Dacă aria
este mai mică decât un anumit număr de pixeli, blob -ul aferent nu este luat în calcul ca fiind obiect
dinamic real pentru imagina curentă, iar dacă această prezumție este în realitate falsă, obiectul poate
fi inclus în mulțimea obiectelor dinamice detectate și luate în calcul pe baza dovezilor mai
3.2 Filtrul Kalman 32
convingătoare din imaginea următoare. Acest prag diferă în funcție de calitatea și poziționarea
camerei, γ devenind astfel un para metru de inițializare important pentru acuratețea sistemului.
Figura 3.1 Caracterizarea fiecărui blob în imaginea curentă
3.2 Filtrul Kalman
Odată indexate și caracterizate blob -urile, pasul următor este cel de a prezice următoarea
poziție a acestora, pe baza caracterizărilor făcute anterior . Pentru acest lucru, s -a decis folosirea
filtrului Kalman [7], datorită acurateței mari și a costurilor computaționale mici. Acest filtru este un
set de ecuații matematice ce are ca scop estimarea eficientă a stării u nui proces, necesitând costuri
computaționale mici, minimizând eroarea medie pătrată (denumită în literatura de specialitate „mean
squared error”). G. Welch [7] afirmă că eficacitatea acestui filtru constă și în faptul că poate estima
atât starea trecută ș i prezentă cât și starea viitoare a procesului, chiar și atunci când natura exactă a
sistemului nu este cunoscută. Filtrul Kalman a primit o atenție deosebită din partea cercetătorilor
încă din momentul publicării sale, în mare parte datorată avansului teh nologic, aplicativitatea sa în
domeniul vederii artificiale fiind clară (variante de algoritmi ce extind filtrul sunt capabile să prezică
locația obiectelor chiar dacă acestea sunt obstrucționate de alte obiecte , cu o acuratețe remarcabilă ,
variantă folosi tă și de sistemul descris ). Acesta prezintă o abordare recursivă, în care este necesară
memorarea doar a locației precedente a obiectului, nefiind necesară memorarea întregului itinerariu
al acestuia, fapt ce îl face foarte eficient din punct de vedere al costului de memoriei.
3.4 Descrierea algoritmului de urmărire folosit 33
Pentru estimarea corectă a locației unui obiect, filtrul trece prin două etape importante:
prezicerea unei zone în care este cel mai probabil să apară obiectul urmărit și corectarea predicției,
localizând (dacă este posibil) obiectul cu exactitate. Astfel, putem identifica principalii pași ai unui
astfel de algoritm, pași existenți în sistemul descris și identificați drept pași recursivi universali
(Figura 3.2) ai unui astfel de sistem în lucrarea „ Kalman filter for vision tracking” [16]:
1. Inițializarea (pentru prima localizare a obiectului) . Obiectului ii sunt extrase
caracteristicile geometrice și astfel se poate prezice o regiune în care obiectul va putea fi
găsit din nou. Desigur, neavând informații consistent e despre obiect, acesta fiind la prima
observare a sa, filtrul va prezice locația, dar având la bază o eroare mare.
2. Prezicerea regiunii cu probabilitate de apariție maximă . Filtrul Kalman [7] va prezice
acea zonă cu probabilitate mare de apariție a obiectu lui folosind un procedeu asemănător
procedeului de folosire a unei ferestre glisante. Această predicție are loc pe baza uneia
dintre ipotezele ce afirmă faptul că obiectul se mișcă cu viteză constantă sau că obiectul se
mișcă cu accelerație constantă.
3. Core ctarea localizării. Această etapă constă în restrângerea regiunii prezisă anterior la
locația exactă a obiectului , dacă acesta este găsit ca fiind în acea regiune. În cazul în care
acesta nu este localizat, în principal din cauza obstrucționării acestuia , acest pas va rezulta
cea mai probabilă locație exactă din regiune.
Figura 3.2 Arhitectura recursivă a unui filtru Kalman [7]
Prezicerea unei
regiuni cu
probabilitate de
apariție maximă
Corectarea
localizării
Inițializare
3.3 Asignarea fiecărui obiect unui drum 34
3.3 Asignarea fiecărui obiect unui drum
Știind locația curentă a unui obiect și locaț ia viitoare a acestuia, obiectul trebuie asi gnat unui
drum existent, al său. Determinarea drumului său corect este problema ce face subiectul acestei
secțiuni deoarece, pe cât de simplă pare pentru oameni o astfel de asignare, pe atât de complicată
poate deveni pentru o mașină rie. Să zicem că ca dou ă mașini A și B sunt foarte apropiate, nu nepărat
una să o obstrucționeze pe cealaltă, iar predicția viitoarei locații a lui A este la fel de apropiată de
ambele obiecte , deși B va avea o cu totul altă locație în viitor. Ei bine, în acest exemplu, în lipsa unui
algoitm de asignare a drumurilor îndeajuns de puternic pentru a face astfel de distincții, mașinăria
poate confunda drumurile și există posibilitatea, spre exemplu , asignării mașina B drumului mașinii
A. Dacă considerăm astfel de asignări eronate ca generând costuri, putem reduce problema la o
problemă clasică de asignare bazată pe costuri. Un astfel de algoritm folosit adesea în problemele de
transport este algorit mul ungar . Varianta algoritmului folosită de sistemul de interes descris este cea
descrisă de James Munkres [17] și implementată în Matlab [13] prin funcția
„assignDetectionsToTracks” pusă la dispoziție în biblioteca dedicată vederii artificiale .
Pentru a putea rezolva problema folosind algoritmul ungar, este necesară reprezentarea
costurilor matric eal, prin matricea de costuri M a × b = c i,j, unde a reprezintă numarul de drumuri
cunoscute, b reprezintă numărul de obiecte detectate , iar c i,j reprezintă cost ul asignării detecției j
drumului i, unde 1 ≤ i ≤ a și 1 ≤ j ≤ b. Algoritmul oferit de Matlab [13] abordează această matrice
ca una pătrată , prin eventuale completări a matricei , oferind argumentul logic și valid precum că
orice detecție trebuie să corespu ndă unui drum, detecțiile neasignate nici unui drum generând noi
drumuri ce vor fi interpretate mai departe de către sistem. Ideea unui astfel de algoritm este că, cu
cât costul c i,j este mai mare, cu atât este mai puțin probabil ca detecția j să corespun dă drumului i,
iar cu cât este mai mic, cu atât este mai probabil să corespundă.
Drept funcție de cost se poate folosi distanța Euclidiană tinând cont de faptul că localizarea
are loc într -un spațiu geometric definit de lungimea și lățimea imaginii curente Ik. Astfel, putem
concluziona că obiectele a căror locație este mai aproape de următoarea poziție prezisă a unui drum
vor avea costul mai mic decât celelalte . Calcularea acestei distanțe nu poate fi efectuată decât pentru
drumurile deja existente, iar în eventualitatea unor detecții ce apațin unor noi drumuri, matricea M
ar rămâne fără valori c i,j asignate, unde i sunt posibilele noi drumuri, iar j sunt detecțiile rezultate de
filtrul Kamlan [7]. Astfel, se constată necesitatea introducerii unui parametru Φ a cărui valoare va fi
3.4 Descrierea algoritmului de urmărire folosit 35
folosită drept astfel de cost pentru matric ea M. Pentru un astfel de caz, Φ va fi factorul decisiv în
deciderea asignării unui blob unui drum, existent sau nou. Cu cât valoarea parametrului este mai
mare, cu atât probabilitatea ca t oate detecțiile să fie asignate este mai mare , în timp ce cu cât valoarea
este mai mică probabilitatea unei astfel de asignări este mai mică. Detecțiile ce nu au fost astfel
asignate vor crea noi drumuri, fapt ce dă o importanță deosebită parametrului Φ și alegerii sale în
așa fel încât să nu producă drumuri noi unor obiecte ce aparțineau unor alte drumuri deja existente
sau să asigneze greșit detecțiile.
3.4 Descrierea algoritmului de urmărire folosit
Având aceste unelte la dispoziție, putem să le folosim pentru a urmării obiectele detectate. Cu
toate acestea, simpla înlănțuire a metodelor descrise în secțiunile anterioare nu va oferi un rezultat
foarte satisfăcător, urmărirea a vând nevoie de anumite rafinări, din varii motive precum ag lomerarea
obiectelor dinamice în zona liniei orizontului sau obiecte ce apar doar pentru o scurtă perioadă de
timp și nu ar trebui contorizate în statisticile pe care urmează să le obținem . Astfel, anumite condiții
și bariere trebuie impuse în algoritmul d e urmărire pentru a obține în final rezultate relevante.
Figura 3.3 Definirea zonei de interes într -un video. În timp ce video -ul (a) [18] cuprinde doar
scena de interes și nu impune definirea unei zone de interes (marcată în imagini cu un chenar roșu),
video-ul (b) cuprinde și zone adiacente ce nu mai prezintă interes pentru sistemul descris impunând
o astfel de zonă
(a)
(b
)
3.4 Descrierea algoritmului de urmărire folosit 36
Un scenariu ce poate afecta grav orice statistică îl reprezintă procesarea unui video realizat
dintr -un unghi ce, pe langă scena de interes m axim, captează și eventuale obiecte dinamice aflate l a
depăratare, acestea, contrar așteptărilor, satisfă când criteriul geometric γ. Astfel, există riscul
contorizării unor obiecte dinamice ce nu reprezintă interes pentru analiza efectuată, de cele mai mul te
ori interpretarea acelor zone fiind și greșită din cauza multiplelor obstrucționări între obiectele
dinamice din acea zonă . Pentru evitarea unor astfel de situații, definirea unei zone de interes (Figura
3.3) s-a văzut necesară, s cena de interes a sistemului descris fiind intersecția, nu și zonele adiacente
acesteia . Pe baza acestor observații sistemul va prelucra imagine a întreagă, fără discriminări, însă va
afișa și contoriza doar obiectele dinamice ce satisfac condiția de încadr eare în zona astfel definită.
De asemenea, pentru a crește acuratețea detectării și urmăririi obiectelor dinamice este nevoie
de introducerea unei altei convenții, de această dată legată de ciclul de viață al drumurilor, deoarece
există posibilitatea creă rii unor drumuri pentru halucinații sau obiecte reale ce apar și dispar foarte
repede în scena de interes. Astfel, fiecare drum trebuie să îndeplinească o serie de condiții pentru a
putea fi luat în considerare ca fiind un drum real și corect.
O primă cond iție pentru o rafinare a drumurilor constă în impunerea unui prag de existență a
unui obiect în scenă. Dacă, spre exemplu, un obiect este vizibil doar pentru un sfert de secundă și
apoi dispăre, obiectul va fi reperat și indexat imediat de către sistem, da r validitatea unui astfel de
drum este nulă. Acest prag ajută și la eliminarea eventualelor halucinații ce au trecut până și de
filtrele precedente. Astfel, acest prag este un prag extrem de important în validarea drumurilor. În
sistem s -a stabilit ca aces t prag să aibă valoarea a jumătate din rata de redare a imaginilor (frame
rate) video -ului de intrare, pe baza ipotezei conform căreia, orice obiect ce se deplasează cu cel puțin
5 km/h se va deplasa cu aproximativ 1,5 metri pe secundă, îndeajuns pentru ca sistemul să detecteze
deplasarea obiectului și să considere că dacă s -a deplasat aproximativ un metru acest obiect chiar
există și este necesară asignarea sa unui nou drum.
O altă condiție reiese din faptul că, deși ipoteza anterioară este validă pentru m ajoritatea
cazurilor, anumite halucinații pot fi mult mai persistente decât prevede pragul setat anterior, ducând
deci la drumuri false. De asemenea, creșterea excesivă a pragului precedent duce la nevalidarea unor
drumuri scurte dar valide, deci nefiind o opțiune fiabilă. Astfel, impunerea un al doilea prag este
necesară pentru corectarea situațiilor de acest gen. Pentru implementarea acestui prag sunt necesare
noi caracterizări asociate fiecărui drum, pe lângă cele stabilite anterior (centrul blob -ului și
3.4 Descrierea algoritmului de urmărire folosit 37
coordonatele patrulater ului ce conține obiectul) , acestea fiind contorizarea imaginilor în care
obiectul asociat drumului este vizibil, nefiind obstrucționat de nici un alt obiect , și contorizarea
imaginilor în care drumul a fost considerat valid, caracte ristică pe care o vom numi în continuare
vârsta drumului. Având la dispoziție și aceste unelte descriptive, putem interoga fiecare drum și
putem decide dacă drumul creat aparține întradevăr unui obiect valid sau nu. Putem spune că acest
prag este un prag c ompus, contorizarea vizibilității unui obiect eliminând drumurile considerate
obstrucționate prea mult timp sau pierdute, iar vârsta obiectului făcând abstracție de drumurile
considerate mult prea „tinere”. Pentru ca un obiect să fie considerat obstrucțio nat pentru prea mult
timp sau pierdut, raportul dintre contorizarea vizibilității și vârsta drumului trebuie să aibă o valoare
mai mare decât un parametru τ ϵ [0,1] stabilit la inițializare a sistemului (considerat în implementarea
sistemului de interes ca având valoarea 0,7 deoarece video -urile de testare nu prezintă zone statice
de obstrucționare a obiectelor, deci obiectele ar trebui să fie vizibile pentru marea majoritate a
timpului ). De asemenea, vârsta minimă a unui drum este tot un parametru de iniția lizare, iar acesta
s-a stabilit a avea valoara 10 pentru sistemul descris, deoarece o valoarea prea mare a acestui
parametru poate duce la pierderea unor drumuri valide. Acești parametri sunt parametri de
inițializare deoarece, pe baza video -ului analizat, valoarea lor poate să difere mai mult sau mai puțin
pentru obținerea unei acurateți satisfăcătoare.
Figura 3.4 Rezultatul obținut în urma implementării pragurilor aferente . Liniile colorate c e
pornesc din obiectele dinamice detectate în scena de interes reprezintă drumul parcurs de acestea
de la detectarea lor și până în acel moment
3.4 Descrierea algoritmului de urmărire folosit 38
Algoritm 3 Urmărirea obiectelor dinamice
Elemente de intrare:
Video -ul analizat sub formă de mască binară (Capitolul 2): V(n), unde n reprezintă
lungimea în imagini a video -ului
Imaginea curentă a video -ului: I k
Zona de interes selectată: Z
Costul neasignării unui blob unui drum: Φ
Parametrii de filtrare: minViz, τ, vârstă
Vector de drumuri: drumuriValide // inițial vid
Elemente de ieșire:
Vector de drumuri: drumuriValide
Algoritmul:
k = 1
cât timp k ≤ n
Ik = V(k)
caracterizare = localizareaObiectelorDinamice (Ik)
obiecteValide = eliminăObiecteleDinAfaraZoneiDeInteres (caracterizare, Z)
M a × b = creazăMatriceaDeCosturi (drumuriValide, obiecte Valide, Φ)
drumuri = asigneazăDrumurile (drumuriValide , obiecteValide , M a × b)
(drumuri Valide, drumuriInexistente) = selecteazăDrumruile (minViz, τ, vârstă)
stergeDrum (drumuriInexistente)
actualizeazăDrum (drumuriValide)
k = k +1
Capitolul 4
Clasi ficarea obiectelor
Se poate spune că detectarea și urmărirea obiectelor dinamice reprezintă un rezultat
satisfăcător pentru extragerea de statistici din suprave gherea video a unei intersecții. Însă putem
spune câți pieteni au trecut prin intersecție? Sau câte mașini? Este nevoie în acea intersecție de
semnalizare specială a bicicliștilor (dacă trec bicicliști pe aco lo)? Multe astfel de întrebări își p ot
găsi răspunsul prin vizionarea a lungi ore de material video, o astfel de clasificare a obiectelor
făcân du-se manual . Dar se poate automatiza procesul pentru ca omul să fie nevoit să citească doar
câteva statistici rezultate automat? Ei bine, acest subiect este chiar și în zilele noastre un motiv de
discuție și cercetare, exisând numeroase abordări și studii pentru acestă temă.
Pentru rezolvarea acestei probleme s -a decis implementarea a trei algoritmi, fiecare cu impact
diferit asupra sistemului de interes, performanțe ce fac subiectul discuției în Capitolul 6. Primele
două au la bază rețeaua convoluțională „AlexNet” [9], folosind această rețea preantrenată pentru a
extrage caracteristicile obiectelor ce urmează a f i clasificate. Prima metodă abordată antrenează un
clasificator SVM (support vector machine) multiclass, cu 11 clase, pe baza caracteristicilor e xtrase
din colecția de imagini „ImageNet” [8]. A doua metodă antrenează to un clasificator SVM, de
această dată doar cu 3 clase, folosind imagini detectate automat de aplicatie din diferite videouri și
clasificate manual. Ultima metodă abordată se bazează pe observații geometrice (lungime, lățime,
arie).
4.1 Abordări ce au la bază extragerea caracteristicilor cu rețeaua
AlexNet
Clasificarea imaginilor în categorii de obiecte folosind rețele neuronale reprezintă un domeniu
actual și fertil de cercetare ce a atr as mulți cercetători în ultimii ani. Diferite abordări ale acestei
probleme au fost create, unele cu mai mult succes, altele cu mai puțin succes, însă toate au la bază
ideea extragerii caracteristicilor , lucru extrem de greu de realizat. Discriminarea obie ctelor
4.1 Abordări ce au la bază extragerea caracteristicilor cu rețeaua AlexNet 40
făcându -se pe baza caracteristicilor vizuale (ce pot fi foarte asemănătoare pentru anumite clase de
obiecte; spre exemplu, vizual un măgar și un cal de statură mai mică nu pot fi diferențiați prea ușor
nici măcar de ochiul uman), este necesară extragerea acestora la un nivel înalt.
Figura 4.1 Arhitectura sistemului de clasificare [19]. Segmentul ce reprezintă extragerea
caracteristicilor unei imaginii definește partea din arhitectura AlexNet pe care sistemul o folosește .
Rețeaua AlexNet [9] este o rețea neuronală convoluțională antrenată pe coleția de imagini
oferită de ImageNet [8] (1,2 milioane de imagini de rezoluție mare) pentru concursul ImageNet
Large Scale Visual Recognition Challenge 2012, concurs pe care l -a și câștigat. Arhitectura aces tei
rețele constă în 5 straturi convoluționale, unele urmate de straturi de max -pooling și 2 straturi
complet conectate cu 1000 de ieșiri ce folosesc funcția softmax . Aceasta este folosită în sistemul
descris nu ca unealtă principală de clasificare, din ca uza multitudinilor de clase nefolositoare pentru
sistemul dorit, putând astfel obține rezultate nedorite (există posibilitatea ca spre exemplu, o
furgonetă să fie clasificată greșit drept vagon de tren) , ci ca unealtă de extragere a caracteristicilor
de ni vel înalt din imagini , datorită puterii foarte mari de extragere a acestora, comparativ cu celelalte
rețele de referință din domeniu, obținând rata erorilor top -1 și top-5 în valoare de 37.5% , respectiv
17.0% , după cum se afirmă în „ImageNet Classification with Deep Convolutional Neural Networks”
[9].
Extragerea caracteristicilor imaginii
Clasificarea imaginii
4.1 Abordări ce au la bază extragerea caracteristicilor cu rețeaua AlexNet 41
Pentru obținerea acestor caracteristici trebuie ca imaginea căreia i se dorește analiza să parcurgă
rețeaua până la st ratul denumit „fc7” (Figura 4.1), deoarece, deși fiecare strat al r ețelei oferă
informații despre imaginea de intrare, nu toate sunt adecvate extragerii de caracteristicilor de nivel
înalt. Spre exemplu, primele straturi din rețea oferă doar informații legate de muchii și detectează
blob-uri în imagine, ponderile aferente fiind specializate pentru acest lucru ( Figura 4.2). Aceste
caracteristici primitive vor fi preluate de straturile ulterioare pentru prelucrarea lor, straturi ce le vor
folosi pentru obținerea unor caracteristici mult mai bogate, ast fel obținându -se o caracterizare bogată
a imaginii prelucrate.
Figura 4.2 Ponderile primului strat convoluțional [20]
Deoarece pentru crearea unui clasificator de imagini este imperios necesară descrierea imaginii
pe baza unei mulțimi cât mai bogate și calitative de caracteristici, putem deduce că sitemul nostru
poate folosi rezultatul obținut chiar de stratul convoluțional ce oferă caracterizarea imaginii pe baza
căreia rețeaua AlexNet [9] decide probabilitatea a partenenței imaginii unei clas e, strat denumit „fc7”
(Figura 4.1). Astfel, pentru orice imagine I k (rețeaua aceasta nu acceptă decât imaginii de dimensiun e
4.1 Abordări ce au la bază extragerea caracteristicilor cu rețeaua AlexNet 42
227 × 227 × 3, fiind necesară o eventuală redimensionare a sa), obținându -se un vector de 4096 de
elemente descriptive ce urmează a fi clasificate .
Clasificarea datelor reprezintă un lucru comun în domeniul de cercetare a inteligenței
artificiale, însă nu este neapărat și un lucru ușor, mulți factori contribuind la performanțele obținute.
Pentru sistemul de int eres s -a stabilit abordarea problemei folosind un SVM ( mașină cu vector
suport ), datorită ușurinței de folosire, dar și al formatului datelor de intrare , compatibil cu
caracteristicile de nivel înalt extrase anterior .
Figura 4.3 Delimitarea hiperplanelor asociate unei categorii de clasificare a datelor de
antrenare [23]. Dreptele discontinue sunt numite vectori suport, deoarece întreaga idee a unui SVM
este împărțirea datelor pe clase având distanța dintre cele mai apropiate date clasificate dife rit (ce
definesc dreptele suport, reprezentate în imagine ca drepte discontinue) și planul de separație (în
acest caz reprezentat de dreapta continuă paralelă cu dreptele discontinue ) maximă .
Un SVM este un model de învățare supervizată ce are atașați alg oritmi de clasificare și de
regresie pentru analizarea datelor de intrare. Acest model folosește reprezentarea în spațiu a
exemplelor de antrenare ( Figura 4.3), clasificarea (din punct de vedere geometric) rezumându -se la
4.1.1 Antrenarea pe setul de date ImageNet 43
împărțirea hiperplanului în regiuni atribuite fiecărei clase, exemplului de testare urmând să i se
stabilească clasa în funcție de regiunea căreia îi ap arține.
Se poate considera ca SVM -ul reprezintă o extindere a perceptronului lui Rosenblat [21],
având la bază gen eralizarea clasificatorilor liniari , sau chiar un caz special al regularizării Tikhonov .
Deși mai multe detalii legate de acest model pot fi găsite în lucrarea scrisă de Meyer, Leisch și
Hornik [21], o proprietate importantă trebuie enunțată, proprietate c e descrie și principiul de
funcționare a modelului . Aceasta afirmă că se încearcă simultan atât minimizarea ero rii empirice de
clasificare, cât și maximizarea distanței geometrice dintre zonele de apartenență a claselor .
Deși SVM -ul este un clasificator bi nar ce poate distinge astfel doar 2 clase, iar problema
noastră presupune discriminarea a cel puțin 3 clase de obiecte, versiuni ale acestui model ce pot
discrimina între mai mutle clase de obiecte au fost implementate, sistemul descris folosind funcția
„fitcecoc” disponibilă în librăria dedicată vederii artificiale a Matlab [13] ce oferă posibilitatea
antrenării unui astfel de clasificator SVM multi -class.
4.1.1 Antrenarea pe setul de date ImageNet
Prima abordare a problemei de clasificare constă în antre narea unui SVM pe baza
caracteristicilor extrase din setul de date pus la dispoziție de ImageNet [8] , datorită dimensiunilor
impresionante ale sale, dar și datorită unghiurilor de captură variate a imaginii ce conțin obiectele
de interes. Datorită faptului că setul de date prezintă adnotate 1000 de clase de obiecte , printre
acestea găsindu -se și clasele ce se doresc a fi detectate în sistemul descris , s-a decis implementarea
unui SVM multi -class cu 11 clase (ambulanțe, mașini de poliție, mașini de intervenț ii, tramvaie,
autobuze, mașini de tip sedan, mașini de tip SUV, dube, motociclete, biciclete și pietoni) .
Astfel, pentru obținerea mulțimii de antrenare, fiecărei imagini (obținută pe baza adres elor
web pus e la dispoziție) i s-au extras caracteristicile de nivel înalt folosind rețeaua AlexNet [9]. Acest
proces este unul de lungă durată (deoarece mașina pe care a fost implemntat sistemul prezintă o placă
video AMD și nu una NVIDIA, rețeaua AlexNet [9] folosind CUDA [22] pentru rapiditatea
calculelor, s -a dec is rularea rețelei convoluționale pe CPU în loc de GPU, astfel procesele durând
mai mult ), aproximativ 8 ore pentru caracterizarea a 10 000 de imagini , pentru rularea
4.1.1 Antrenarea pe setul de date ImageNet 44
Figura 4.4 Matricea de confuzie obținută în urma procedeului de validare î ncrucișată . Numărul
afișat în fiecare din celulele colorate cu verde, repectiv cu roșu arată câte imagini au fost clasificate
corect, respectiv incorect, iar procentul de sub acest număr reprezintă procentul astfel clasificat din
toate datele folosite la a ntrenare. Procentele aflate în coloana din dreapta prezintă procentul
predicțiilor corecte (cu verde) și procentul celor incorecte (cu roșu), iar procentele aflate pe linia
de jos arată procentul imaginilor ce au fost clasificate corect (cu verde) și proce ntul imaginilor ce
au fost clasificare incorect (cu roșu) din totalul imaginilor din acea clasă. Celula de intersecție a
colonei cu linia descrisă prezintă acuratețea clasificatorului, prezentând procentul elementelor
clasificate global corect (cu verde) ș i procentul celor clasificate global incorect (cu roșu). Notațiile
folosite pentru clase: 1 – ambulanțe, 2 -mașini de poliție, 3 – mașini de intervenții, 4 – tramvaie,
5 – autobuze, 6 – mașini de tip sedan, 7 – mașini de tip SUV, 8 – dube, 9 – motociclete, 10 – biciclete
și 11 – pietoni
Clasa prezisă
Clasa reală
4.1.2 Antrenarea pe imagini extrase din video -uri 45
sistemului pe o mașină compatibilă cu rețeaua convoluțională folosită fiind recomandată atât rularea
sa pe GPU, cât și folosirea calculului paralel drept unealtă de procesar e a mai multor imagini paralel.
Odată obținute cara cteristicile fiecărei imagini de antrenare, acestea sunt etichetate cu
denumirea categoriei de obiecte din care fac parte, urmând apoi să fie procesate de un SVM
multi -class pentru obținerea unui clasificator capabil să distingă între cele 11 clase amintite mai sus.
Deși această abordare nu este realizată cu prea mult succes (valoarea acurateței este doar de
62,5%) , eventualele încercări de a obține o acuratețe mai mare sunt zadarnice, deoarece s -a constatat
că, aplic ând clasificatorul video -urilor de testare, rezultatul nu este cel dorit, obiectele fiind mereu
greșit clasificate. Acest lucru se întâmplă din cauza neomogenității mulțimii de antrenare cu cea de
testare, prima mulțime având imagini de înaltă rezoluție, în timp ce cea de -a doua mulțime are
imagini de rezoluție scăzută, la redimensionara impusă de rețeaua AlexNet [9] caracteristicile acestor
imagini denaturându -se (acest lucru poate fi evitat prin folosirea unei camere ce captează video -uri
de calitate înaltă, dar și prin poziționarea cam erei într -un unghi optim față de zona de interes pentru
a omogeniza mulțimea de testare cu mulțimea de antrenare ). Astfel, apare nevoia creării unei noi
abordări ce să ofere rezultate m ult mai concludente și corecte.
4.1.2 Antrenarea pe imagini extrase di n video -uri
Cea de -a doua abordare se bazează pe rezultatul primei metode abordate (Secțiunea 4.1.1 ),
schimbând de această dată mulțimea de antrenare cu una omogenă cu mul țimea de testare, același
proces de obținere a clasificatorul ui SVM multi -class fiind folosit și aici. Astfel, observațiile legate
de restricțiile impuse de mașinăria folosită pentru rularea sistemului rămân valabile și în acest caz.
Pentru crearea mulțimii de antrenare s -a decis folosirea video -urilor ce conțin sc ene de interes
asemănătoare (în cazul sistemului nostru fiind intersecții), pentru care s -au rulat prime l 2 module ale
acestei aplicații, modulul de segmentare a fundalului static și modulul de urmărire a obiectelor
dinamice. O dată la un interval de timp Δ, zona definită de patrulater ul ce caracterizează obiectele
dinamice este extrasă și salvată pe disc în format JP EG, pentru ca ulterior să fie clasificată manual.
4.1.2 Antrenarea pe imagini extrase din video -uri 46
Figura 4.5 Matricea de confuzie obținută în urma procedeului de validare încruciș ată pe baza
imaginilor extrase și clasificate manual dintr -un video . Numărul afișat în fiecare în celulele
colorate cu verde, repectiv cu roșu arată câte imagini au fost clasificate corect, respectiv incorect,
iar procentul de sub acest număr reprezintă pr ocentul astfel clasificat din toate datele folosite la
antrenare. Procentele aflate în coloana din dreapta prezintă procentul predicțiilor corecte (cu
verde) și procentul celor incorecte (cu roșu), iar procentele aflate pe linia de jos arată procentul
imag inilor ce au fost clasificate corect (cu verde) și procentul imaginilor ce au fost clasificare
incorect (cu roșu) din totalul imaginilor din acea clasă. Celula de intersecție a colonei cu linia
descrisă prezintă acuratețea clasificatorului, prezentând proc entul elementelor clasificate global
corect (cu verde) și procentul celor clasificate global incorect (cu roșu). Notațiile folosite pentru
clase: 1 – vehicule , 2 – obiecte ce nu prezintă interes sau halucinațiii , 3 – pietoni
Deoarece acest model presupune clasificarea manuală a mulțimii de antrenare, în contextul
obținerii unui sistem autonom, metoda nu prezintă elementele de fiabilitate dorite, fiind nec esar să
se efectueze din nou antrenarea pentru video -uri cu unghiuri destul de diferite față de cele fol osite
anterior. Cu toate acestea, rezultatele obținute de acest clasificator sunt clar mai satisfăcătoare
(valoarea acurateței este de 94,6%) , însă dependența sa de o bază de date omogenă cu video -urile
Clasa reală
Clasa prezisă
4.2 Discriminarea obiectelor pe baza considerentelor geometrice 47
pentru care este folosit sistemul face ca acest clasi ficator să necesite un set de imagini îndeajuns de
cuprinzător (însă un astfel de set de date este greu de găsit) sau reantrenări succesive (proces ce
consumă mult timp). Astfel, necesitatea unui clasificator ce nu este constrâns de astfel de limitări
este clară.
4.2 Discriminarea obiectelor pe baza considerente lor geometrice
Deoarece folosirea unui clasificator bazat pe un anumit set de date nu este o metodă ce oferă
o clasificare clară și autonomă (dacă setul de date pe care a fost antrenat nu permite acest lucru) , este
necesară crearea unei abordări ce se bazează pe caracteristicile universale ale obiectelor. Datorită
faptului că obiectele dinamice sunt caracterizare de un patrulater, despre acesta putându -se afla
lățimea sau lungime, putem considera aceste caracteristici ca fiind acele caracteristici universale
căutate.
Figura 4.6 Rezultate obținute în urma aplicării clasificării pe baza criteriilor geometrice. După
cum se poate observa, majoritatea obiectelor dinamice sunt clasificate corect, însă există și
clasificări eronate, precum clasificarea marcată cu chenar roșu (deoarece patrulaterul ce
caracterizeă obiectul dinamic se îngustează la marginea imaginii pe măsură ce obiectul iese din
scenă). Din cauza acestui defect, este preferată abordarea a cestei probleme folosind un clasificator
bazat pe imagini.
4.3 Discriminarea obiectelor dinamice în sistemul de interes 48
O dovadă în acest sens se poate obține prin simpla observație precum că fiecare persoană
detectată va avea cu siguranță î nălțimea mai mare decât lățimea, obținând astfel o primă discriminare
între obiectele dinamice, putând concluziona astfel că orice obiect ce nu satisface această condiție
este, cel mai probabil, autovehicul. De asemenea se poate constata faptul că orice biciclist va ocupa
o arie mai mică din imagine față de o mașină, putând astfel distinge bicicliști de restul obiectelor
prin impunerea ariei un parg maxim discriminativ Ψ , ce poate varia în funcție de distanța dintre
scena de interes și camera de filmat , peste care toate obiectele vor fi considerate mașini . Astfel,
folosind aceste i nstrumente geometrice se pot discrimina cele 3 clase de obiecte (mașini, bicicliști și
pietoni), cu o acuratețe mare și mult mai ușor față de celelalte metode abordate.
4.3 Discriminarea obiectelor dinamice în sistemul de interes
Deoarece abordarea ce foloseș te setul de imagini pus la dispoziție de ImageNet [8] nu oferă
rezultatele dorite, fiind dependentă de ungiul de filmare și de rezoluția video -ului, se poate
concluziona că celelalte două abordări pot fi folosite cu mai mult succes în sistemul descris. Din
cauză că abordarea geometrică este sensibilă la eventualele obstrucții , deși oferă autonomia dorită
sistemului de interes, s -a decis ca cea de -a doua abordare (Secțiunea 4.1.2 ) să fie folosită ca versiune
finală în aplicație, dator ită faptului că video -urile de testare au caracteristici comune , astfel
necesitatea reantrenării clasificatorului dispărând .
Implementarea unui astfel de clasificator s -a relizat prin intermediul unei librării open -source
denumită „MatConvNet” [24], librăr ie special creată pentru Matlab [13]. Aceasta oferă atât
posibilitatea folosirii unor rețele convoluționale preantrenate, cât și crearea unor noi astfel de rețele
într-un mod simplificat și asistat. Necesitatea acestei librării a venit din faptul că pune l a dispoziție
rețeaua preantrenată AlexNet [9], simplificând atât obâinerea ace stei rețele cât și folosirea ei.
Capitolul 5
Obținerea și contorizarea statisticilor
Detectarea (Capitolul 2), urmărirea obiectelor dinamice (Capitol ul 3) și clasificarea obiectelor
dinamice (Capitolul 4) reprezintă uneltele principale ale sistemului prin care acesta poate extrage
informații despre o anumită scenă de interes. Astfel, folosindu -se de aceste in strumente, sistemul
poate extrage statistici variate despre scena monotorizată, statistici enunțate în Secțiunea 1.1.
5.1 Statistici obținute din detectarea fundalului static
Una din statisticile ce se doresc a fi obținute pe baza monit orizării unei scene de interes (în
cazul acestei lucrări, o intersecție) este imaginea de fundal static aferentă secvenței video ce se poate
obține prin intermediul segmentării imaginii de fundal static și obiectelor dinamice. Acest ă imagine
ilustrează sce na monitorizată în care au fost eliminate obiectele dinamice , folosind ideea din spatele
obținerii unei imagini medii .
Metoda segmentării abordată oferă o segmentare pixel cu pixel, fiind astfel necesară o abordare
matriceală. De-a lungul unui video, apli când segmentarea fundalului static de obiectele dinamice,
pixelul p i,j va avea valoarea 1 doar când acesta nu va fi considerat static, iar 0 altfel. Astfel, putem
contoriza valorile pixelilor doar în momentul în care prezintă valoarea 0 prin însumarea aces tor
valori, dar și prin contorizarea numărului de imagini pentru care acest pixel a avut valoarea 0. Apoi,
pentru aflarea valorii medii a acestui pixel, un simplu raport între suma valorilor sale și numărul de
apariții validate va oferi valoarea căutată. Deoarece, într -un video ce se întinde pe parcursul a mai
multor ore, condițiile de mediu se schimbă (diminuarea sau creșterea luminozității din imagine sau
chiar schimbarea situației meteorologice), este necesară limitarea monitorizării la un interval de ti mp
δ mai mic sau egal cu întreaga durată a video -ului. Acest parametru poate varia în funcție de gradul
de aglomerare a -l intersecției și, dacă există, de durata culorii roșu la semafor, fiind necesară
monitorizarea chiar și pentru 15 minute a unei interse cții unde culoarea roșie la semafor ține 4 minute
pentru obținerea unei astfel de imagini .
5.1 Statistici obținute din detectarea fundalului static 50
Timpul obținerii imaginii dorite este dependent atât de rata imaginilor redate de video pe
secundă, cât și de capacitatea de procesare a mașinăriei pe care este rul at sistemul , acesta având de
procesat (δ * rata de redare a imaginilor) imagini , unele video -uri având și o rezoluție mare
(necesitând astfel lucrul cu matrici mai mari) .
Figura 5.1 Rezultate obținute în urma rulării sistemului pe 2 video -uri diferite. Imaginile (a) și
(c) reprezintă capturi de imagini din video, iar imaginile (b) și (d) reprezintă rezultatele obținute.
După cum se poate observa, steagurile din (c) sunt introduse ca fundal static în (d), deși acestea se
mișcă în bătaia vântului, tehnica abo rdată (Secțiunea 2.2.2 ) oferind o abordare multi -modală .
Pentru video -ul reprezentat de (a), intervalului de timp δ i -a fost atribuită valoare de 20 de secunde,
deoarece intersecția nu este foarte aglomerată pentru mult timp, în tim p ce pentru video -ul
reprezentat de ( c) intervalul δ a avut valoare de 1 minut, deoarece pe artera principală sunt vizibile
multe mașini pentru un timp destul de îndelungat. Astfel, imaginea (b) a fost obțintă în 4 minute din
cauza ratei de redare a imagin ilor mare (21 de imagini pe secundă) , iar (c) într -un minut datorită
ratei de redare a imaginilor mică (12 imagini pe secundă)
(a)
(b)
(c)
(d)
5.2 Statistici obținute din urmărirea obiectelor dinamice 51
5.2 Statistici obținute din urmărirea obiectelor dinamice
Urmărirea obiectelor dinamice într-un scenariu pote oferi diverse statisti ci relevante legate de
traiectoriile acestor a. O primă astfel de statistică poate fi oferită, rapid, prin memorarea și afișarea
locației centrului fiecărui blob, centru oferit de caracteizarea fiecărui obiect dinamic (Secțiunea 3.1).
Figura 5.2 Rezultate obținute în timpul urmăririi obiectelor dinamice segmentate anterior
De asemenea, pe baza contorizării localizărilor într -o anumită locație, se poate calcula
densitatea drumurilor ce trec prin aceasta. Calcularea densității se efect uează la nivel de pixel,
datorită abordării matriceale a imaginilor din video. Astfel, o matrice auxiliară va contoriza fiecare
localizare a obiectelor dinamice pe pixelul aferent centrului oferit de caracterizarea obiectului ,
oferind astfel un indice de d ensitate fiecărui pixel .
Figura 5.3 Densitatea drumurilor într -un video de test pentru o anumită zonă de interes
(marcată cu roșu ). După cum se poate observa, tipare de drumuri clare se pot observa în imagine,
oferind astfel infomații despre modul d e folosire a vehiculelor a majorității șoferilor prin acea
intersecție
5.3 Statistici obținute din clasificarea obiectelor dinamice 52
5.3 Statistici obținute din clasificarea obiectelor dinamice
Ultimele statistici de interes ale sistemului descris sunt cele obținute prin intermediul
clasificatorul descris în Secțiunea 4.1.2 . Pe baza clasificării tuturor obiectelor dinamice din imaginile
ce fac parte din video -ul examinat, se pot contoriza obiectele pe clasele de apartenență. Astfel, la
finalul examinării, o contorizare cu o acuratețe de cel puțin 8 5% (în funcție de acuratețea
clasificatorului) este disponibilă pentru a fi prelucrată mai departe, în fun cție de necesitățile
existente. De asemenea, pentru fiecare oră se pot obține contorizările obiect elor dinamice aferente
lor. Pentru obținerea acestor statistici pe ore, este necesară inițializarea unui parametru ζ cu ora
exactă de început a fișierului video.
Figura 5.4 Rezultatele clasificării obiectelor dinamice din imaginea curentă a unui video
Capitolul 6
Concluzii
Scopul prezentei l ucrări este de a crea un sistem ce poate oferi, cu o intervenție minimă din
partea omului, statistici legate de o scenă de interes, mai exact a unei intersecții . În vederea obținerii
acestui sistem, au fost abordate mai multe metode, a căror performanță a fost discutată în capitolele
aferente metodei.
Pentru segmentarea fundalului static de obiectele dinamice, s -a constatat că o abordare ce nu
ține cont de schimbările de mediu ce pot apărea de -a lungul unui video nu este viabilă, deoarece
scenele se doresc a fi monitorizate pentru o prioadă îndelungată, chiar și zile. Astfel, o abordare
reprezentativă și comună în domeniul vederii artificiale a fost implementată cu succes , folosind
modelul mixturilor Gaussiene. Pe baza acestei metode, s -a putut oferi o prim ă statistică rezultată din
monitorizarea scenei de interes, și anume imaginea în care obiectele dinamice au fost eliminte din
scenă.
Pentru urmărirea obiectelor s -a folosit cu succes filtrul Kalman [7]. Acesta oferă o
complexitate spațio -temporală foarte m ică, fiind necesară doar cunoașterea locației precedente a
obiectului pentru estimarea unei zone cu probabilitate mare de apariție a acestuia. Pentru a putea
face o astfel de predicție a fost necesară folosirea ipotezei precum că obiectele se vor mișca cu o
viteză constantă. Astfel, pe baza localizării obiectelor dinamice s -au obținut statistici în legătură cu
drumurile aferente fiecărui obiect în parte, dar și o centralizare a acestor drumuri sub forma densității
traiectoriilor tuturor obiectelor .
Pentru c lasificarea obiectelor s -a preferat folosirea unui clasificator ce oferă o acuratețe
crescută, cu toate că se pierde din autonomia sistemului (clasificatorul trebuie reantrenat pentru
video -uri ce fac un unghi cu scena de interes mult mai diferit de cel fo losit pentru antrenarea
clasificatorului). Trei metode au fost abordate, una ce folosește setul de imagini oferit de ImageNet
[8] și altă abordare ce încearcă crearea unui clasificator independent de modul în care a fost
monitorizată scena de interes, însă acestea nu au oferit acuratețea dorită. Un astfel de clasificator
oferă statistici legate de clasa din care face parte obiectul respectiv (vehicule , obiecte ce nu prezintă
6 Concluzii 54
interes sau halucinațiii și pietoni), putând astfel contoriza numărul obiectelor di ntr-o anumită
clasă ce tranzitează scena monitorizată, atât pe toată durata monitorizării, cât și pe intervale orare.
Sistemul astfel descris realizează cu succes monitorizarea unei intersecții în care nu au loc
obstrucționări multiple între obiectele din amice pentru o perioadă îndelungată de timp, extrăgând
statistici variate ce pot determina o serie de decizii legate de managerierea zonei supravegheate.
Sistemul, implementat în forma s -a actuală, nu poate fi folosit pentru monitorizarea în timp real a
unei intersecții (din caza implementării sale în Matlab [13], un limbaj ce nu oferă rapiditatea
calculelor necesară unei astfel de supraveghieri sistemului implementat), transcrierea sa într -un
limbaj de programare ce oferă rapiditatea efectuării calculelor necesare mult mai rapid decât în
limbajul de programare actual p utând duce la folosirea sa pentru monitorizarea unei scene de interes
în timp real.
Bibliografie
[1] Sergio A Velastin, Paolo Remagnino, Institution of Electrical Engineers, „ Intelligent distributed
video surveillance systems ”, Norwood Mass. : Books24x7.com, [2005]
[2] http://www.mobese.com.tr/en/services/road -and-pass-safety/23
[3] V. Morellas, I. Pavlid is, P. Tsiamyrtzis, „ DETER: Detection of events for threat evaluation and
recognition ”, în „Machine Vision and Applications (2003)”, Springer -Verlag Berlin/Heidelberg
2003
[4] http://gotchasurveillance.com/
[5] P. Kaewtrakulpong, R. Bowden, „ An Improved Adaptive Background Mixture Model for
Realtime Tracking with Shadow Detection” , In Proc. 2nd European Workshop on Advanced Video
Based Surveillance Systems, AVBS01, VIDEO BASED SURVEILLANCE SYSTEMS: Computer
Vision and Distributed Processing (September 2001)
[6] Stauffer C. and Grimson W.E.L, „ Adaptive Background Mixture Models for Real -Time
Tracking” , Computer Vision and Pattern Recognition, IEEE Computer Society Conference on, Vol.
2 (06 August 1999), pp. 2246 -252 Vol. 2.
[7] Welch, Greg, and Gary Bishop, „ An Introduction to the Kalman Filter ”, TR 95 –041. University
of North Carolina at Chapel Hill, Department of Computer Science.
[8] ImageNet, http://www.image -net.org
[9] Krizhevsky Alex, Ilya Sutskever, and Geoffrey E. Hinton. „ ImageNet Classification with Deep
Convolutional Neural Networks " Advances in neural information processing systems. 2012.
[10] Allwein, E., R. Schapire, and Y. Singer. „ Reducing multiclass to bina ry: A unifying approach
for margin classifiers " Journal of Machine Learning Research. Vol. 1, 2000, pp. 113 –141.
[11] Ahmed Nabil Mohamed and Mohamed Moanes Ali, „ Human Motion Analysis, Recognition and
Understanding in Computer Vision: A Review ”, pp. 1928 – 1946, Journal of Engineering Sciences,
Assiut University, Faculty of Engineering, Vol. 41, No. 5, September,2013
[12] OpenCV, http://opencv.org/
Bibliografie 56
[13] MATLAB, 9.0.0.341360 (R2016a), Natick, Massachusetts: The MathWorks In c., 2016.
[14] Wren, Christopher R., Ali Azarbayejani, Trevor Darrell, and Alex Pentland. „ Pfinder: Real –
Time Tracking of the Human Body ” In IEEE Transactions on Pattern Analysis and Machine
Intelligence, July 1997, vol 19, no 7, pp. 780 -785.
[15] Shaun Do wling, Supervisor: Dr. Colin Campbell, „ Dirichlet Process Mixture Models and their
application in bioinformatics ”, http://dirichletprocess.weebly.com/clustering.html
[16] Erik Cuevas, Dani el Zaldivar și Raul Rojas, „ Kalman filter for vision tracking ”, Freie
Universität Berlin, Institut für Informatik, Universidad de Guadalajara, Technical Report B 05 -12,
10th August 2005
[17] Munkres, James, „ Algorithms for Assignment and Transportation Pr oblems " Journal of the
Society for Industrial and Applied Mathematics, Volume 5, Number 1, March, 1957
[18] Jodoin, J. -P., Bilodeau, G. -A., Saunier, N., „ Urban Tracker: Multiple Object Tracking in Urban
Mixed Traffic” , Accepted for IEEE Winter conference on Applications of Computer Vision
(WACV14), Steamboat Springs, Colorado, USA, March 24 -26, 2014
[19] Jeremy Karnowski, „ Alexnet Visualisation ”,
https://jeremykarnowski. wordpress.com/2015/07/15/alexnet -visualization/
[20] MathWorks, https://www .mathworks.com/examples/matlab -computer –
vision/mw/vision_product -DeepLearningImageClassificationExample -image -category –
classification -using -deep -learning
[21] Meyer D, Leisch F., Hornik K. (2003). „ The support vector machine under test ".
Neurocomputing. 55: 169. doi:10.1016/S0925 -2312(03)00431 -4
[22] NVIDA, http://www.nvidia.com/object/cuda_home_new.html
[23] Cyc, https://commons.wikimedia.org/wiki/File:Svm_max_sep_hyperplane_with_margin.png
[24] A. Vedaldi, K. Lenc. MatConvNet: „ Comvolutional Neural Network for MATLAB ”,
http://www.vlfeat.org/matconvn et/
[25] https://www.dunya.com/gundem/mobese039ler -039kanunsuz039 -cikti-haberi -209824
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Coordonator științific Absolvent Conf. dr. Marius Popescu Ibrahim Coș kun București, iunie 2017 ` ` UNIVERSITATEA BUCUREȘTI FACULTATEA DE MATEMATICǍ… [617588] (ID: 617588)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
