Sunteți pe pagina 1din 7

Detectarea obiectelor aflate in miscare

1. Specificatii
Cerinta proiectului a fost: Detectia obiectelor aflate în mişcare, prin compararea
cadrelorv successive ale unei secvente video.

2. Fundamentare teoretica
Detectarea obiectelor în mișcare este o sarcină importanta în multe aplicații de
viziune artificială, cum ar fi sistemele de supraveghere și vehiculele autonome.
Algoritmul pentru extragerea fundalului este o tehnică populară folosită pentru a detecta
obiecte în mișcare prin compararea cadrelor succesive ale unei secvențe video.
Măsurarea texturii Local Binary Pattern (LBP) este o metodă utilizată pe scară
largă pentru extragerea caracteristicilor în analiza imaginilor. În acest algoritm, fiecare
bloc de imagine este modelat ca un grup de histograme LBP adaptiv ponderate, ceea ce
ajută la îmbunătățirea acurateței procesului de detectare.

2.1. Algoritmul de extragere a fundalului


Algoritmul de extragere a fundalului funcționează prin compararea fiecărui
pixel din cadrul curent cu pixelul său corespunzător din cadrul precedent. Dacă
diferența dintre cei doi pixeli depășește o anumită valoare de prag, acesta este
considerat obiect în mișcare.
Cu toate acestea, această abordare simplă poate fi afectată de zgomot și de
modificările condițiilor de iluminare. Pentru a depăși aceste provocări, algoritmul
folosește un model statistic al imaginii de fundal, care este actualizat în timp pentru a se
adapta la schimbările din scenă. Acest lucru ajută la reducerea rezultatelor false pozitive
și la îmbunătățirea acurateței procesului de detectare.

2.2. Local Binary Pattern (LBP)


Modelul binar local (LBP) este o măsură a texturii care descrie structura locală a
unei imagini. Funcționează prin compararea valorilor intensității fiecărui pixel cu
pixelii săi vecini și atribuirea unui cod binar pe baza rezultatului.
În acest algoritm, fiecare bloc de imagine este împărțit în sub-blocuri mai mici și
este calculată o histogramă LBP adaptivă pentru fiecare sub-bloc. Ponderile
histogramelor sunt ajustate pe baza similitudinii dintre cadrul curent și modelul de
fundal, ceea ce ajută la îmbunătățirea acurateței procesului de detectare.
Pentru calculul operatorului se va folosi urmatoarea formula:
 gc – corespunde valorii de gri a pixelului din centru (xc, yc)
 gp – corespunde valorilor de gry ale vecinatatii de pixeli P
2.3. Histogramele LBP adaptiv ponderate
Histogramele LBP adaptiv ponderate sunt calculate pentru fiecare subbloc al
imaginii folosind operatorul LBP. Histogramele sunt apoi ponderate pe baza asemănării
dintre cadrul curent și modelul de fundal. Această schemă de ponderare ajută la
reducerea rezultatelor false pozitive, acordând mai multă pondere sub-blocurilor care
sunt similare cu modelul de fundal și mai puțină pondere sub-blocuri care sunt diferite.
Decizia finală dacă un pixel aparține unui obiect în mișcare sau fundalului este luată pe
baza unei valori de prag.

2.4. Avantajele algoritmului


Algoritmul pentru scăderea fundalului folosind măsura texturii Local Binary
Pattern (LBP) are câteva avantaje față de alte metode. Este eficient din punct de vedere
computațional, ceea ce îl face potrivit pentru aplicații în timp real, cum ar fi sistemele de
supraveghere și vehiculele autonome.Algoritmul este, de asemenea, robust la
schimbările condițiilor de iluminare și se poate adapta la scenele dinamice, făcându-l
potrivit pentru mediile exterioare. În plus, utilizarea histogramelor LBP adaptiv
ponderate ajută la îmbunătățirea acurateței procesului de detectare și la reducerea
rezultatelor false pozitive.

3. Soluția propusă – metode şi algoritmi; arhitectura aplicației, detalii de


implementare
3.1. Extragerea fundalului
Substragerea de fundal este o tehnică utilizată pentru a separa obiectele de prim-
plan de fundal într-un flux video. Este un pas crucial în detectarea obiectelor în mișcare,
care ajută la identificarea și urmărirea obiectelor care se mișcă într-un videoclip.
Există mai multe tehnici utilizate pentru substragerea de fundal, inclusiv
diferențierea de cadru, diferențierea temporală și filtrarea mediană.
Substragerea de fundal bazată pe LBP este o tehnică care utilizează algoritmul
Local Binary Pattern (LBP) pentru a modela fundalul unui flux video. Aceasta creează o
reprezentare binară a texturii fundalului, care poate fi utilizată pentru a detecta obiectele
care se mișcă.

3.2. Algoritmul LBP


LBP este un algoritm de analiză a texturii utilizat în viziunea artificială și
procesarea imaginilor. Funcționează prin compararea valorilor pixelilor unui pixel central
cu pixelii din jurul său pentru a crea un model binar. Acest model binar este utilizat
pentru a reprezenta textura imaginii sau fluxului video.
LBP este un algoritm puternic utilizat în multe aplicații ale procesării imaginilor,
cum ar fi recunoașterea facială, clasificarea texturilor și detectarea obiectelor. Este
deosebit de util în sarcini unde informațiile despre textură sunt importante.

3.3. Extragerea fundalului cu LBP


Substragerea de fundal bazată pe LBP implică următorii pași:
1. Capturarea cadrului inițial al fluxului video și convertirea acestuia în tonuri de gri
2. Împărțirea imaginii în blocuri mici (sau regiuni)
3. Calcularea histogramei LBP pentru fiecare bloc
4. Crearea unui model de fundal utilizând histogramele LBP ale blocurilor
5. Substragerea modelului de fundal din fiecare cadru ulterior al fluxului video pentru a
detecta obiectele care se mișcă.

3.4. Provocari si solutii


Detectarea obiectelor în mișcare este o sarcină dificilă din cauza diverselor
factori, cum ar fi schimbările de iluminare, umbrele și occluderile.
LBP-based background subtraction este robust la schimbările de iluminare,
deoarece modelează textura fundalului în loc de culoarea sa. Poate gestiona fundalurile
dinamice, deoarece se adaptează la schimbările din fundal în timp. De asemenea, este mai
puțin afectat de umbre și occluderi, deoarece se bazează pe informații de textură în loc de
aspectul obiectului.

3.5. Posibil pseudocod


1. Capturarea primului cadru din fluxul video și convertirea acestuia în tonuri de gri
2. Împărțirea imaginii în tonuri de gri în regiuni mici (sau blocuri)
3. Pentru fiecare bloc:
a. Calcularea histogramei LBP
4. Crearea unui model de fundal folosind histogramele LBP ale blocurilor
5. Pentru fiecare cadru ulterior din fluxul video:
a. Convertirea cadrelor la tonuri de gri
b. Împărțirea imaginii în tonuri de gri în aceleași regiuni mici (sau blocuri) ca în
pasul 2
c. Pentru fiecare bloc:
i. Calcularea histogramei LBP
d. Calcularea distanței dintre histograma LBP a fiecărui bloc din cadrul curent și
blocul corespunzător din modelul de fundal
e. Dacă distanța este mai mare decât o anumită valoare de prag, marcați blocul ca
fiind parte din primer plan
6. Combinarea blocurilor din prim plan pentru a crea o mască binară a obiectelor în
mișcare
7. Aplicarea de operații morfologice (de exemplu, eroziunea și dilatarea) asupra măștii
binare pentru a elimina zgomotul și a umple lacunele din regiunile din primer plan
8. Obținerea măștii binare finale a obiectelor în mișcare

3.6. Implementare
Codul de mai sus utilizează biblioteca OpenCV pentru a detecta obiectele în mișcare
dintr-un videoclip. Arhitectura aplicației este relativ simplă și constă într-o buclă while care
citeste fiecare cadru al videoclipului, aplică algoritmul de detecție a obiectelor în mișcare și
afișează cadru rezultat în fereastra Moving Objects Detection.

4. Testarea solutiei, analiza rezultatelor obtinute


In cadrul testarii solutiei si analizei rezultatelor obtinute, am tinut cont de
urmatoarele aspecte:
1. Performanta: Detectia obiectelor in miscare este rapida, nu exista intarzieri
semnificative intre cadrele procesate.
2. Precizia: Precizia este destul de buna, existand uneori si obiecte false positive
(obiecte detectate in mod eronat). Nu exista obiecte false negative (obiecte
care nu sunt detectate).
3. Stabilitate: Solutia se prezinta a fi destul de stabila in fata variatiilor de
lumina, zgomor sau alte perturbari in videoclipurile de test.
Imagini testare:
5. Concluzii si dezvoltari ulterioare
In concluzie, solutia de detectare a obiectelor in miscare implementate pe baza
algoritumului LBP si utilizand biblioteca OpenCV a obtinut rezultate satisfacatoare. Prin
aplicarea unei combinatii de filtrare de fundal, segmentare si detectia a contururilor, am
resit sa evidentiez obiectele care se misca intr-un videoclip.
Exista cateva aspect care pot fi imbunatatie pentru a obtine rezultate si
performanta si mai bune:
1. Optimizarea parametrilor: Se poate experimenta cu diferite valori ale
parametrilor cum ar fi raza si numarul de puncte in algoritmul LBP, pragurile
de filtrare si dimensiunile kernel-urilor pentru operatiile de prelucrare a
imaginilor. Acest lucru poate ajuta la obtinerea unei detectii mai precise sim ai
eficiente a obiectelor in miscare.
2. Utilizarea unor tehnici de invatare automata: In loc de algoritmi traditionali,
puteti explora si utiliza tehnici de invatare automata, cum ar fi retele
neuronale convolutionale (CNN), pentru a obtine o detectare mai precisa a
obiectelor in miscare. Aceasta poate implica pregatirea unui set de date
etichetat si antrenarea unui model specific pentru problema de detectare a
obiectelor in miscare.
3. Integrarea de tehnologii de urmarire a obiectelor: Pentru urmarirea obiectelor
in miscare pe parcursul videoclipului, se pot explora tehnologii de urmarire a
obiectelor, cum ar fi filtrul Kalman sau alti algoritmi de urmarire. Acest lucru
poate permite sa obtineti o traiectorie mai precisa a obiectelor in miscare si sa
se realizeze analize suplimentare pe baza acestor traiectorii.

S-ar putea să vă placă și