Statistici rezultate din supravegherea video a unei intersecții Coordonator științific Absolvent Conf. dr. Popescu Marius Ibrahim Co șkun București,… [617589]

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

2

3 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 tehnologic al zonei de cercetare ce se ocupa cu
inteligența artificială, creșterea fiabilități i 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
”smart” peste tot în lume.
Extragerea statisticilor dintr -un video complex este un proces compl icat, 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, obiect ele 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.
Sistemul ce urmează a fi descris î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 atingerea
obiectivului îl reprezintă diferențierea și „conștientizarea” obiectelor dina mice din scena de inters ,
abordând 2 metode prezentate în mod comparativ ( Capitolul 2). Apoi, având obiectele dinamice
detectate, acestea trebuie urmă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 treabă mai delicată, necesitând multiple abordări ce au
rezultate diferite, rezultat e ce urmează a fi 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).

4 Abstract
Conventional video surveillance , where humans were put hours in fron t 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 tehnological 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
classification harder. Also, for accurate statistics, the sistem must consider that mayb e 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 diffre nt 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 squares or places like those
too.

5 Cuprins
Acronime …………………………. ……………………………………………………………………………………………. .. 7
Lista figurilor din lucrare ………………………………………………………………… ……………… ……………… …. 9
Lista algoritmilor din lucrare …………………………………………………………………………………. …………. . 11
1 Introducerea ………………… ………………………………………………………………….. ………………………… 13
1.1 Privire de ansamblu asupra sistemului …………………………………………………………………. … 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

6

7 Acronime

RGB – model aditiv de culoare ce are la bază culorile roșu ( Red), verde ( Green) și albastru ( Blue)
SVM – mașini cu vector suport / Support Vector M achine
MOG – mixturi de Gaussiene / Mixture of Gaussian
GMM – modelul de mixturi de Gaussiene / Gaussian Mixtu re Model
EM – maximizarea așteptării / Expectation Maximization
Blob – obiect binar mare / Binary Large Object
Km/h – kilometri pe oră
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 – metodă foarte des utilizată de compresie a imaginilor fotografice

8

9 Lista figurilor din lucrare
Figura 1.1 Arhitectura aplicației ………………………………. …………………………………… ………………….. . 14
Figura 2.1 Structura unui video format din n imagini și explicitarea unui pixel . ……………………….. 17
Figura 2.2 Rezultatele obțin ute î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 binare adaptate noului fundal static …………………. …………………………. 26
Figura 3.1 Caracterizarea fiecărui blob în imaginea curentă …………………………………………. ………. . 30
Figura 3.2 Arhitectura recursivă a unui filtru Kalm an [7] …………………….. ………………………. ………. 31
Figura 3.3 Definirea zonei de interes într -un video ……………………………………. ……………………….. .. 33
Figur a 3.4 Rezultatul obținut în urma implementării modulului de urmărire cu pragurile
aferente ……………………………………………………………………………………. ………………………… …………. 35
Figura 4.1 Arhitectura sistemului de clasificare [19] …………………… ………………………. ………………. 38
Figura 4.2 Ponderile primului strat convoluțional [20] …………………… ………… ……………………….. … 39
Figura 4.3 Delimitarea 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 clasificat e manual 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

10 Figura 5.4 Rezultatele clasificării obiectelor dinamice din imaginea curentă a unui video …………. 50

11 Lista algoritmilor din lucrare
Algoritm 2.1 Metoda diferențierii imaginii curente cu imaginea de fundal static ………………………. 21
Algoritm 2.2 Metoda GMM …………………………… ……………………………………….. ………………………. . 27
Algoritm 3 Urmărirea obiectelor dinamice ………………………………………. ………………………. ………. .. 36

12

13 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 crea t condițiile
propice 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 c omplexe pe baza carora 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, capabilă 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, ani male, 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 prezicerea 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 Y ork, Barcelona sau Istanbul. Amintim unele dintre ele:
MOBESE [2], DETECT [1], DETER [3] sau GOTCHA [4].

14 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 sistemul DETER [3] (Detection of Events for
Threat Evaluationand Reco gnition) 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ă eventual ul pericol.

1.1 Privire de ansamblu asupra sistemului
În această lucrare, este prezenta t 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 video
 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 c lasa ce au tranzitat scena pe un anumit interval orar

Figura 1.1 Arhitectura aplicației
Centralizarea
statisti cilor
Detectarea
obiectelor
dinamice
Urmărirea
obiectelor
detectate
Clasificarea
obiectelor
urmărite
Video

15 Un astfel de sistem poate fi împărțit în trei module principale și interconectate (Detectarea
obiectelor dinamice, Urmărirea obiectelor detectate și Clasificarea ob iectelo r urmărite) și într -un
modul secundar (Centralizarea statisticilor) , centralizator. Arhitectura aplicației este descrisă în
figura 1.1.
Pentru detectarea 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 a fost folosit pentru a estima fundalul static al scenei descrise și a separa
obiect ele 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 detect ate s-a ales o singură abordare, folosind filtrul Kalman [7]
ce calculează viitoarea locație pe baza unei presupuneri precum că obiectele se vor deplasa cu o
viteză constantă , abordare descrisă în Capitolul 3.
Pentru clasificarea obie ctelor s -au folosit 3 abordă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 urme ază a f i clasificate. Prima 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 ace astă 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.2 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.

16 Motivarea acestei lucrări este de a crea o aplicație de detectare și clasificare a tuturo r 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 create din ce în ce
mai ușor, iar utilitatea lor este din ce în ce mai conștientizată.
Sistemul prezentat indeplinește conceptul de extragere de informații din fișiere video , folosind
oricare din metodele mai sus menționate. Cu toate 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 efectuat e.
Această limitare poate fi eliminată prin rescrierea sistemului într -un limbaj ce efectuează calculele
mai rapid, precum OpenCV [12].

1.3 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 unei aplicații fluide ce iși atinge scopul său de a extrage statistici
pe baza unui fișier video. Pentru r ealizarea 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 aferente lor), unii cu succes, iar
alții fără rezultate notabile, pentru a însoți și încorpora uneltele preexist ente și pentru a servi scopului
acestei lucrări.

17 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 sublinierea 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 implementată î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 ma sca 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 expli cita 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
Ik, putem explicita această imagine sub formă matriceala printr -o matrice m × n × 3, unde n repezintă
lățimea în pixe li a imaginii , m reprezintă lungimea în pixeli a imaginii, iar ultima dimensiune
Canalul albastru
Canalul verde
Canalul roșu
Imaginea n
Imaginea 1
Imaginea 2
Imaginea 3
Imaginea n-2
Imagine a n-1

18 reprezintă cele 3 canale RGB ( roșu, verde, albastru ). Această matrice are ca elemente p valoarea
intensității pixelilor asociată fiecarui canal de culoare.
Ik = (𝑝111 ⋯ 𝑝1n1
⋮ ⋱ ⋮
𝑝m11 ⋯ 𝑝mn1) × (𝑝112 ⋯ 𝑝1n2
⋮ ⋱ ⋮
𝑝m12 ⋯ 𝑝mn2) × (𝑝113 ⋯ 𝑝1n3
⋮ ⋱ ⋮
𝑝m13 ⋯ 𝑝mn3) (2.1)

2.1 Metoda diferențierii imaginii curente cu imaginea de fundal static
Această 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 problema din punct de v edere matriceal, în contextul mai sus enunțat, putem deduce
rapid faptul c ă, pentru imaginea I k, k ϵ {1,2,…q} , valoarea unui pixel P1 = (pij1,pij2,pij3), cu 1 ≤ i ≤ m
și 1 ≤ j ≤ n, va coincide cu valarea pixelului corespondent P2 = (z ij1,zij2,zij3) din imaginea de fundal
static doar dacă pixelul P1 aparține fundalului static aferent imaginii I k, obiectul de apartenență al
pixelului P2 nefiind obstrucționat de obiectul de apartenență al pixelului P1, în acest caz fiind același
obiect. Astfel putem deduce ș i faptul că pentru aceeași pixeli cor espondenți P1 și P2, 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 observaț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 detectabil e 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ă f aptul ui că diferența dintre valoarea ideală (cea în care mediul nu modifică valoarea
pixelilor) a unui pixel ce aparține fundalului static și v aloarea reală a aceluiași pixel este una mică,
putem introduce un prag µ ϵ [0,1] astfel încât să considerăm că toți pixelii a căror diferență dintre
valoare a 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 calitate slabă acest p rag 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

19 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 imaginii curente
(b) cu imaginea ce conține fundalul static (a)
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 sau umplerea , deschiderea sau închiderea , operatori descriș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 matrice 7 × 7
pentru ev idenț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ă
µ
(c)
(d)
(b)
(a)

20 și o operație de umplere. Matricele ce stau la baza operați ilor 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 imaginii 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ă din 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 de
algoritmul descri s, 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), închidere (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)

21
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
Elem ente 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])
închidere(mască, [r,t]))

22 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 static în cazul în care a cesta 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 for
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 upervizare crescută și sensi bil 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 p entru 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” (folosit 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 a jutorul 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 considerați statici, iar c eilalți
ca fiind dinamici. Astfel, imaginii curente I k i se poate asocia masca binară căutată .

23 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 Gaussiene [15]. Gaussiene le 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 estima 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ă valoa rea 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)
Astfel, având istoria valorilor fiecărui pixel în parte, putem actualiza toate cele z Gaus siene pe
baza asignării fiecărei valori a pixeluilui P , la momentul de timp t , uneia dintre ele.

24 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 faptului că
pixelul m ai 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 asoc ită 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, abordare a 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 extrem 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 luat 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 paramet rului α 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.

25 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 m omentul
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țiilor, ordonare ce se ef ectuează 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șcarea unui steag bătu t 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 în sistemul de interes
Algoritmul desc ris în secțiunea precedentă este disponibil în biblioteca dedicată vederii
artificiale a Matlab [13] . Astfel, s -a ales folosir ea 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 static să se efectueze d oar î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

26 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 se adapta oricărei mo difică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 cuprins î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
zgomotului ulterior obținer ii 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.

Figura 2.5 Obținerea mășt ii 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ă ca obiect dinamic
ForegroundDetector
(c)
(b)
(a)

27 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 matricii de bază pentru în chidere: 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])

28

29 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 unei presupuneri pr ecum 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 localizarea o biectelor 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 definite î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 dimen siuni 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. Acest prag g eometric 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 realitat e falsă, obiectul poate
fi inclus în mulțimea obiectelor dinamice detectate și luate în calcul pe baza dovezilor mai

30 convingătoare din imaginea următoare. Acest prag diferă în funcție de calitatea și poziționarea
camerei, γ devenind astfel un parametru 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 car acteriză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 unui proce s, 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 tehnologic, 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ă folosită ș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.

31 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 exact itate. 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 visi on 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 consistente 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 obiectului folos ind 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. Corectarea lo caliză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

32 3.3 Asignarea fiecărui obiect unui drum
Știind locația curentă a unui obiect și locaț ia viitoare a acestuia, obiectul trebuie asignat 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 d eveni 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 algoritmul ungar . Varianta algoritmului folosită d e 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ă costul 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ă corespundă unui drum, detecțiile neasignate nici u nui 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ă corespundă 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 I k. 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

33 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 toate detecțiile să fie asignate este mai ma re, î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 produ că 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 în sistemul de interes
Având aceste unelte la dispoziție, putem să le folosim pentru a urmării obiec tele 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 aglomerarea
obiectelor dinamice în zona linie i 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 de urmărire pentru a obține în final rezulta te 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)

34 Un scenariu ce poate afecta grav orice statistică îl reprezintă procesarea unui video realizat
dintr -un unghi ce, pe langă scena de interes maxim, captează și eventuale obiecte dinamic e 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 multe
ori interpretarea acelor zone fiind și g reș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ă, scena 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 încadreare î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 obi ecte 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ă condiț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, dar 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 acest 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 obiectulu i ș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 majoritatea
cazurilor, anumite halucinații p ot 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 d oilea 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

35 coordonatele patrulater ului ce conține obi ectul) , 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, caracteristică 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 compus, contorizarea vizibilității unui obie ct 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ționat pentru prea mult
timp sau pierdut, rapo rtul 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țializare, iar acesta
s-a stabilit a avea valo ara 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 modulului de urmărire cu pragurile
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

36 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 imagin i 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: drumuri Valide
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, obiecteValide, Φ)
drumuri = asigneazăDrumurile (drumuriValide , obiecteValide , M a × b)
(drumuri Valide, drumuriInexistente) = selecteazăDrumruile (minViz, τ, vârstă)
stergeDrum (drumuriInexistente)
actualizeazăDrum (drumuriValide)
k = k +1

37 Capitolul 4
Clasificarea 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 n evoie î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ându -se manual . Dar s e 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], fol osind 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 extrase
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 geome trice (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 atras mulți cercetător i î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 obiectelor

38 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 acestei
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 cauza 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 nivel înalt din imagi ni, 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 Convolut ional Neural Networks”
[9].
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 rețelei
Extragerea caracteristicilor imaginii
Clasificarea imaginii

39 oferă inform aț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, astfel 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 calitati ve 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 clase, strat denumit „f c7”
(Figura 4.1). Astfel, pentru orice imagine I k (rețeaua aceasta nu acceptă decât imaginii de dimensiune

40 227 × 227 × 3, fiind necesară o eventuală redimensionare a sa), obținându -se un vector de 4096 de
elemente descriptive ce urme ază 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 interes s -a stabilit a bordarea 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 hiper planelor 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 diferit (ce
definesc dr eptele 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 algoritmi de clasifica re ș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

41 împărțirea hiperplanului în re giuni 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ă generalizarea clasific atorilor 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 ce descrie și princi piul 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 binar ce poate distin ge 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 antrenarea unui SVM pe b aza
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 p rezintă 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,
autob uze, 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 folosi nd 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 decis 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

42

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 antrenare. Procentel e 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 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 procentul elementelor clasificate
global corect (cu verde) și procentul celor c lasificate 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ă

43 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 caracteristicile fiecăr ei 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, rezulta tul 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 a re
imagini de rezo luț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 camerei î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 din 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 clasificatorului 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 scene 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.

44

Figura 4. 5 Matricea de confuzie obținută în urma procedeului de validare încrucișată pe baza
imagini lor 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ă procentul astfel clas ificat 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 imaginilor
ce au fost c lasificate 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 procentul elementelor c lasificate 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 folosite
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
pentru care este folosit sistemul face ca acest clasificator să necesite un set de imagini îndeajuns de
Clasa reală
Clasa prezisă

45 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 Discrimina rea 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
neces ară 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 acestei probleme fol osind un clasificator bazat pe imagini.
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

46 î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șt i 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 instrumente geometri ce 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, datorită faptului că vid eo-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ărie special creată p entru 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 la dispoziție
rețeau a preantrenată AlexNet [9], simplificând atât obâinerea acestei rețele cât și folosirea ei.

47
Capitolul 5
Obținerea și contorizarea statisticilor
Detectarea (Capitolul 2), urmărirea obiectelor dinamice (Capitolul 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 instrumente, 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 monitoriză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ă scena 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, aplicând segmentarea fu ndalului 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 acestor
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 vi deo 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 timp
δ mai mic sau eg al 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 intersecții unde culoarea roșie la semafor ține 4 minute
pentru obținerea unei astfel de imagini .

48 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 rulat 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 abordată (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 timp 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 imaginilor mare (21 de im agini pe secundă) , iar (c) într -un minut datorită ratei de redare a
imaginilor mică (12 imagini pe secundă)
(a)
(b)
(c)
(d)

49 5.2 Statistici obținute din urmărirea obiectelor dinamice
Urmărirea obiectelor dinamice într-un scenariu pote oferi diverse statistici 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 Rezult ate 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 efectuează la nivel de p ixel,
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 densitate fiecărui p ixel.

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 de folosire a vehicu lelor a majorității șoferilor prin acea
intersecție

50 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 85% (în funcție de a curateț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

51 Capitolul 6
Concluzii
Scopul prezentei lucrări este de a cr ea 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 c apitolele
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ă rezult ată 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 mică, 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 clasificarea obiecte lor 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 folosit pentru antren area
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 ofer it acuratețea dorită. Un astfel de clasificator
oferă statistici legate de clasa din care face parte obiectul respectiv (vehicule , obiecte ce nu prezintă

52 interes sau halucinațiii și pietoni), putând astfel contoriza numărul obiectelor dintr -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 dinamice pentru o peri oadă î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 r apid decât în
limbajul de programare actual p utând duce la folosirea sa pentru monitorizarea unei scene de interes
în timp real.

53 Bibliografie
[1] Sergio A Velastin, Paolo Remagnino, Institution of Electrical Engineers, „ Intelligent distribute d
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. Pavlidis, 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] Wel ch, 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 binary: A unifying appr oach
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 E ngineering Sciences,
Assiut University, Faculty of Engineering, Vol. 41, No. 5, September,2013
[12] OpenCV, http://opencv.org/

54 [13] MATLAB, 9.0.0.341360 (R2016a), Natick, Massachusetts: The MathWorks Inc., 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 Dowling, Supervisor: Dr. Colin Campbell, „ Dirichlet Process Mixture Models and their
application in bioinformatics ”, http://dirichletprocess.weebly.com/clustering.html
[16] Erik Cuevas, Daniel 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 Problems " 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/exam ples/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.101 6/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/matconvnet/

Similar Posts