Detectie Si Recunoastere de Fete

Lista figurilor

Figura 1. Tipuri de drone 9

Figura 2.Drona Parrot 2.0 (31) 10

Figura 3. Formarea unei imagini printr- lentilă (12) 15

Figura 4. Deschiderea unei diafragme 15

Figura 5. Adâncimea de focalizare (13) 16

Figura 6. Tipuri de imagini 19

Figura 7. Spatiul de culoare RGB 20

Figura 8 Reprezentarea unei imagini în YcbCr și descompunerea în fiecare plan în parte 20

Figura 9 Planul YCbCr pentru o valiabilă Y ‘= 0.5 21

Figura 10. Planul HSV sub forma unui con Figura 11. Cubul RGB înclinat pentru a obține conul HSV 21

Figura 12. Distribuția valorilor nu influențează histograma 22

Figura 13. Modificarea unei imagini folosind egalizarea histogramei 23

Figura 14. Histograma pe o imagine și histograma egalizată 24

Figura 15. Metode de segmentare orientate pe regiuni 25

Figura 16. Elemente structurante folosite pentru dilatare și erodare 25

Figura 17. Operația de dilatare aplicata pe o imagine 26

Figura 18. Operația de erodare aplicată pe o imagine 27

Figura 19. Principalele caracteristici de tip Haar (22) 30

Figura 20. Aria însumată pentru o imagine integrală (23). 31

Figura 21. Principalele caracteristici folosite pentru detecția de față (23) 32

Figura 22. Descrierea schematică a unei cascade de detecție (23) 32

Figura 23. Modul de conectare al unei rețele neuronale pentru fețe frontale (19) 33

Figura 24. Rețele neuronale invariante la rotația capului (25). 34

Figura 25. Setul de intrare de imagini cu fețe (29) 37

Figura 26. Rezultatul obținut după aplicarea PCA, eigenfaces (29) 37

Lista Tabelelor

Tabel 1. Comaparație între două drone DJI Phantom 2 Vision 2+ și AR. Drone 2.0 14

Lista acronimelor

CSI = Camera sensor interface (”interfață pentru senzorul unei camere”)

UAV = unmanned aerial vehicle (“Aeronavă fără pilot “)

AR = Augmented Reality (”Realitate mărită // modificată ”)

IOS = iPhone Operating system(” Sistem de operare pentru telefonul iPhone”)

RPM = Revolutions per minute(”Rotații pe minut”)

HD= High definition(”Rezoluție înaltă ”)

FPS = Frames per second(”Cadre pe secundă”)

DIY = Do it yourself(facută manual)

BICA=Block Independent Component Analysis (” Analiza componentelor în blocuri independente”)

CT = Computed Tomography(”Computer tomografie”)

PET = Positron Emission Tomography(” Computer tomografie cu emisie pozitronică”)

MRI = Magnetic resonance imaging(”Imaginistica prin rezonanță magnetică”)

RGB = Red Green Blue(”Spațiu de culoare- roșu,verde, albastru ”)

YCbCr = Luma, Chroma Cb and Chroma Cr(”Luminanța, crominanța Cb si crominanța Cr ”)

HSI = Hue, Saturation, Light intensity(”Nuanța, saturație și intensitate luminoasă”)

HSV = Hue, Saturation,Value(”Nuanță, saturație și valoare luminozitate”)

ANN = Artificial Neural Network (”Rețea neurală artificială”)

PCA = Principal Components Analysis (”Analiza pe componete principale”)

LDA = Linear Discriminant Analysis (” Analiza discriminatorie liniară”)

Introducere

Introducere – aceasta va conține motivația alegerii temei, gradul de noutate al temei (dacă este cazul), obiectivele generale ale proiectului, metodologia folosită, și va rezuma contribuția studentului și rezultatele obținute;

Scurta descriere a aplicatiei

Capitolul 1. Drone

Notiuni introductive despre drone

Drona este un aparat de zbor, denumită si aeronavă fară pilot, care poate fi manevrată de un pilot automat digital încorporat, prin telecomandă de la un centru de control, sau un alt dispozitiv aflat la o anumită distanță ce poate trimite către dronă comenzile necesare. Acestea sunt folosite în domeniul militar, in domeniul civil, dar și în cercetare.

Primul concept de aparat de zbor fără pilot a apărut in mijlocul anilor 1800, când austriecii au trimis în Veneția, Italia, un balon umplut cu material explozibil. Acest concept a fost dezvoltat mai târziu cu aproximativ 100 de ani de către personalul militar. Scopul lor principal, atunci cât și în prezent, este de a colecta informații sau de a bombarda diferite zone de interes. În funcție de zona de interes în care sunt folosite, dronele au diferite forme si caracteristici. Deci se poate afirma că există șase tipuri de drone:

de recunoaștere (Figura 1.b) – sunt trimise pe câmpul de luptă, iar acestea trimit informații către centrul de control;

de luptă( Figura 1.a) – fiind capabile de un atac pentru misiuni de mare risc;

de logistică – fiind proiectate pentru transport de marfă sau operașii logistice;

de cercetare și dezvoltare – pot avea o anatomie impresionantă și pot fi chiar alimentate cu energie solară;

folosite ca ținte – pentru a simula inamicii, atât aerian cât si terestru;

comerciale – concepute special pentru civili;

Aceste aeronave fără pilot pot ajunge la dimensiuni impresionante fiind deasemenea sunt foarte scumpe.

a. dronă de luptă b.dronă de recunoaștere

Figura 1. Tipuri de drone

În ultimii ani s-a dezvoltat conceptul de drona civila. Și acestea au o mare diversitate și pot, de asemenea, avea dimensiuni și forme diferite in funcție de scopul în care sunt folosite. Cele mai multe sunt dotate cu camere video și senzori.Sunt folosite in domenii foarte variate: operații de căutare și salvare, transportul de medicamente in zone defavorabile , securitatea proprietaților particulare în special în zone greu accesibile altor mijloace de transport,detecția focului în păduri sau pentru realizarea unor fotografi sau filmări. Cele mai accesibile drone au dimensiuni reduse (de maxim 50 cm și 0,5 – 5 Kg), fiind controlate de o telecomandă prin tehnologia Wi-Fi de la o distanță de câțiva metri până la 1Km. Autonomia unei astfel de drone poate varia de la câteva minute până la maxim 30 de min și poate fi influențață de numărul de senzori și de camere de care dispune sau de greutatea camerei, dacă este detașabilă.

În funcție de numarul de motoare avem bicoptere, tricoptere ,quadcoptere sau octocoptere. Pentru a realiza acest proiect am ales un quadcopter ce poate fi folosit atât in interior cât și în exterior, produs de compania franceză Parrot.Quadcopterul este un elicopter ce se folosește de patru motoare pentru a putea fi ridicat in aer. Spre deosebire de restul elicopterelor acestea au doua seturi de elici cu pas constant: un set se rotește în sensul acelor de ceasornic, iar celălalt set in sens invers acelor de ceasornic, și acestea ajutând la controlul dronei.

Parrot AR.Drone 2.0

Pe piață există mai multe tipuri de drone lansate, cele mai multe fiind vândute ca proiect final, adică se poate afirma că sunt foarte puține drone la care ai acces atât la componente cât și la softul utilizat. Pentru a putea fi realizat acest proiect drona trebuie să conțină o camera verticală și să aveam acces la aproape toate modulele acesteia. Pe piață singurele drone care au o cameră verticală și sunt vândute ca produs final sunt: Parrot AR.Drone2.0 și Quadcopter DJI Phantom, fiecare cu avantajele și dezavantajele ei. Cea de a doua, Quadcopter DJI Phantom, are un mare dezavantaj acela de a nu avea nici un fel de acces asupra softului care o controlează, fiind construită doar pentru jocuri sau realizarea de fotografii și video-uri realizate de la înalțime. Avantajul de care dispune aceasta este camera video care se poate roti până la 130º cu o rezoluție de până la 1080 de pixeli, filmând atât pe verticală cât si pe orizontală. Prima drona, cea construită de Parrot (Figura 2), pe lângă marele avantaj de a avea un preț mult mai mic decât cea anterioară, are încorporată o cameră verticală, iar producătorii oferă utilizatorilor posibilitatea de dezvoltare a aplicaților, având posibilitatea de a te folosi de fiecare modul.

Dezavantajul acesteia este tot camera verticală care este de tip QVGA cu o rezoluție de 320×240. Pe lângă aceste drone prezentate mai exista și dronele DIY. Acestea nu se găsesc în vânzare ca produs final, ci fiecare utilizator are posibilitatea de a-și construi singur drona. Acest lucru nu este avantajos din punct de vedere financiar sau al timpului necesar ce trebuie alocat pentru asamblarea componentelor, deoarece înainte de construirea dronei fiecare componentă trebuie testată și analizată pentru a afla dacă este în parametri doriți de utilizator. Pot apărea probleme și la testarea produsului final. Este posibil ca în final să nu obținem cea ce am dorit și drona să nu funcționeze cum ar trebui sau chiar să nu funcționeze deloc. Construirea unei drone poate avea numeroase avantaje:

Un procesor puternic care sa ruleze algoritmi foarte complicați

Oricâte motoare se dorește

Se pot folosi module de Wi-Fi care să permită comunicația până la câțiva kilometri

Se pot adauga: accelerometru, giroscop, ghimbal, magnetometru, bluetooth, GPS

Pentru filmări și fotografi în funcție de drona construită se poate folosi telefon, aparat foto sau camera integrată

Deci, chiar daca drona DJI Phantom este foarte stabilă și are atașată o cameră mult mai bună decât cea de la Parrot, după cum se vede în tabelul de mai jos (Tabel 1.1) , cea pe care am utilizat-o și pe care o vom prezenta este AR.Drone 2.0,deoarece este singura pe care se pot dezvolta aplicații și are un raport calitate-preț foarte bun. Cei de la firma Parrot au pus la dispoziție utilizatorilor mai multe drone: Parrot Bebop Drone, Bebop Drone Skycontroller, Parrot MiniDrone Jumping Sumo, Parrot MiniDrone Rolling Spider și Parrot AR.Drone2.0. Dintre toate acestea singura pentru care avem suport din partea producătorilor și la care avem acces la absolut toate modulele ei este AR.Drone 2.0. Astfel în cazul defectării unei componente poate fi ușor înlocuită găsind informații despre componente și instrucțiunile necesare pe internet. Are o greutate totala cu protecția de exterior de 380 g și o greutate de 420 g cu protectția de interior. Cele mai multe parți sunt realizate din fibră de carbon sau din plastic rezistent. Are o baterie de 1500mAh, cea ce ii asigură o autonomie de zbor de aproximativ 20 de min.

Tabel 1. Comaparație între două drone DJI Phantom 2 Vision 2+ și AR. Drone 2.0

Parrot AR.Drone 2.0 este un elicopter cu patru motoare (quadcopter) controlat prin intermediul undelor radio. Drona a fost proiectată pentru a putea fi controlată cu ajutorul unei tablete sau un telefon mobil ce are ca sistem de operare IOS sau Android. Datorita camerei frontale de care dispune apar si primele intrebuintari ale acesteia: construirea unor imagini 3D, urmarirea de obiecte sau alte drone și chiar si jocuri ce pot folosi tehnologia AR. Exista un număr de patru aplicații dintre care doar trei sunt compatibile cu AR.Drone 2.0:

AR.Drone – varianta inițială s-a numit AR.Freeflight. A fost lansată în 2010 împreună cu drona originală și este compatibilă cu dispozitivele ce au ca sistem de operare IOS. Permite utilizatorilor să înregistreze imagini foto sau video, iar ecranul permite controlul funcților.

AR.Race 2 – este o aplicație pentru jocuri cu mai multi utilizatori. Permite înregistrarea unui timp (diferența între timpul de sosire ăi timpul de start) atunci când drona trece de linia de sosire, atunci când participă la curse de drone. Pilotul are posibilitatea de a invita alți utilizatori sa participe la joc, iar scorul este înregistrat pentru a se putea afișa caștigătorul.

AR.Rescue 2 – este o aplicatie pentru un singur ultilizator. Cu ajutorul acesteia se construiește un mediu 3D asemănator zonei în care drona zboară și unde utilizatorul trebuie să îndeplinească anumite task-uri, asemenea unui joc video.

Pentru a avea o stabilizare automanică a dronei și o precizie de control cât mai exactă aceasta are încorporat:

un procesor ARM Cortex A8 pe 32 de biți si o frecvență de 1GHz și un procesor pentru semnalul video DSP TMS320DMC64x care lucrează pe 800MHz

sistem de operare Linux 2.6.32

memorie RAM de 1GB de 200 MHz

un port USB 2.0 folosit în cazul în care avem nevoie de alte module

Wi-Fi b g n

Un giroscop pe 3 axe cu o precizie de 2000º/secundă

Un accelerometru pe 3 axe cu ±50 mg

Un magnetometru cu o precizie de 6º

Senzor de presiune de ±10 Pa

Un senzor de ultrasunete folosit pentru a masura altitudinea față de sol

O camera QVGA verticală cu 60 FPS utilizată pentru a măsura viteza dronei la solul

Drona mai conține o cameră frontală HD folosită pentru transmiterea live a imaginilor, iar pentru decolare și zbor se folosesc un numar de patru motoare. În timpul zborului utilizatorul poate înregistra sau fotografia prin apăsarea unui buton. După ce drona aterizează, înregistrarea poate fi vazută pe telefonul sau tableta pe care am folosit-o în timpul zborului, fără a folosii cabluri USB, card SD sau calculator sau un stick de memorie introdus în USB. Camera frontală are o rezoluție de 1280×720 pixeli, înregistând până la 30 de cadre pe secundă, cu un unghi de deschidere al lentilei este de 92º. Imaginile sunt înregistrate în format JPEG, iar pentru video s-a folosit un standard cu o rată de compresie foarte ridicată, H264.

Motoarele sunt proiectate cu scopul de a zbura la înaltime, repede și de ridica drona de la sol. Fiecare are o putere de 14.5 W cu 28500 RPM cu propriul controler, ce poate fi programat cu ajutorul unui soft. Astfel dispunem de funcția oprire de urgență în cazul în care drona nu mai răspunde la comenzi.

1.3 Definiții module dronă

Giroscopul este un corp solid sub formă sferică sau de disc care se poate roti liber pe orice direcție cu o forță de frecare foarte redusă având scopul de a indica o anumită direcție fixă în spațiu. Un giroscop este un rotor, sub forma unui disc, montat pe un ax de rotație astfel încât să se poată deplasa în jurul oricăreia dintre cele trei axe.Punctul de fixare este centrul discului care este reprezentat atât de centrul de masă cât și de centrul de simetrie. Acesta funcționează pe baza principiului de conservare a impulsului unghiular, adică un corp care se rotește în jurul propriei axe are tendința de a-și păstra această axă de rotație și se opune unui impuls perturbator cu un altul, de-a lungul unei axe perpendiculare pe axa de rotație și pe axa impulsului perturbator .

Un giroscop este folosit pentru a măsura înclinarea, direcția, accelerațiile liniare și unghiulare, viteza unghiulară. De cele mai multe ori acestea sunt folosite în sistemele de ghidaj și de navigație la bordul avioanelor, navelor, rachetelor sau proiectilelor. Pot detecta nordul geografic mult mai bine decât o busolă obijnuită. În cazul avioanelor se pot folosi mai multe giroscoape pentru a determina direcția de mers, pentru a detecta schimbările de înalțime sau de înclinție a aripilor avionului pe planul orizontal de deplasare. Pentru o drona giroscopul este folosit pentru o stabilitate mai precisă în aer. De cele mai multe ori, giroscopul este folosit pentru a determina accelerația de rotație pentru o axă particulară. În cazul avioanelor, se folosește axa de rotație pentru masurare și dacă unghiul obținut este zero înseamnă ca avionul este în cădere liberă. Unghiul este calculat în funcție de o poziție inițială dată de accelerometru și de poziția curentă. Dezavantajul îl reprezintă variația acestui unghi în timp,deoarece vor apărea erori din ce în ce mai mari odată cu trecerea timpului, deci pentru o măsurare cât mai exactă nu putem folosi doar giroscopul .

Accelerometrul este un senzor de mișcare care oferă informații despre forța de accelerație liniară a unui dispozitiv pe baza inerției corpurilor. Această forță poate fi statică, asemenea unei forțe continue, gravitația, sau dinamică, adică sensibilă la mișcare sau vibrații. Unitatea de măsură pentru accelerație este viteza in funcție de timp [m/s²]. Este folosit în general pentru electronicele de consum . Un accelerometru pe trei axe poate identifica orientarea unei platforme față de supafața pământului, oferind indicații despre accelerație și despre inclinarea acesteia,informații care sunt precise atât timp cțt forța gravitațională este singura care acționează asupra senzorului. Deci dacă se mută sau se rotește senzorul, apar și alte forțe ce îl influențează și din această cauză avem valori inexacte. Datorită acestui lucru accelerometrul singur nu poate ghida drona într-un mod precis. . Ca o ultimă tehnologie, un astfel de senzor este folosit în structura leptopurilor cu scopul de a îl stinge în cazul în care este în cădere liberă pentru a salva datele aflate pe acesta.

În cele mai multe dispozitive se combină cei doi senzori, deoarece pe termen lung accelerometrul oferă informații precise, deoarece pe termen scurt introduce zgomot, iar pe termen scurt cel care ofera informații precise este giroscopul, erorile fiind minime. O formula aproximativă care combină cele doua unghiuri este următoarea :

Unghiul Filtrat = α*(unghiul_giroscopului) + (1-α)*(unghiul_accelerometrului)

unde : α =T/(T+  Δt)

unghiul_giroscopului = ultima_masuratoare_a_unghiului_filtrat + ω×Δt

ω×Δt – schimbarea unghiului

Δt – rata de eșantionare

T – timpul de măsurare care este mai mare decât timpul în care apare zgomot la accelerometru

Magnetometrul este un senzor folosit pentru a determina direcția și puterea câmpului magnetic din jurul unui acestuia. Deoarece pământul are un câmp magnetic foarte puternic, magnetometrul poate fi folosit asemenea unui compas respectând câmpul magnetic de la polul nord și câmpul magnetic de la polul sud. În cazul dronei, se va ști dacă este paralelă sau nu cu pământul. Combinând accelerometrul cu magnetometrul vom ști întotdeauna poziția indiferent cum este ținut dispozitivul. Acești senzori sunt folosiți pentru a corecta accelerometrul și giroscopul, deoarece nu variază foarte mult în timp, și astfel obținem o locație și o pozișie cât mai exactă a dispozitivului folosit.

Senzorul de presiune este un dispozitiv ce măsoară presiunea atmosferică. Deoarece un zbor lin înseamnă un senzor stabil, s-a intodus acest senzor de presiune cu o precizie de ±10 Pa, care se pare că reușește să îndeplinească această condiție. Cei de la Parrot susțin că în condiți atmosferice bune rămâne stabilă până la o înălțime de 50 m.

Senzorul cu ultrasunete este un senzor de distanță care funcționează asemenea unui sonar și poate aprecia distanța pană la un obiect cu o precizie de până la 3mm. Ultrasunetele au o gamă de frecvențe foarte ridicate de peste 2 MHz și în funcție de modul cum sunt produse pot avea o intensitate mai mare sau mai mică, care este proportională cu pătratul frecvenței. Ultrasunetele cu intensitate puternică sunt produse, în general, cu ajutorul unor aparate electromagnetice. În funcție de tipul senzorului se pot detecta obiecte de mare precizie cu o distanța de la 2 cm până la 700 cm. Frecvența pe care cei mai mulți senzori o folosesc este de 40kHz și prima dată se trimite un semnal de 10 µs, apoi 8 impulsuri pe frecvența de 40 kHz. Dacă se vor recepționa impulsuri înseamnă ca a fost detectat un obiect și în funcție de timpul în care s-a primit răspuns se calculează distanța de obstacol. Sunt senzori cu conexiuni 3-mode sau cu conexiuni 4-mode dar cele mai multe au câte 4 pini:

Vcc – tensiunea de alimentare : +5 V;

Trig – transmițătorul este care transmite semnalul;

Echo – receptorul este cel care asteaptă ecoul;

Gnd – reprezintă masa;

Camera vericală este de tip QVGA cu o rezoluție de 320×240 pixeli înregistrînd video până la 60 de cadre pe secundă. Are un unghi de deschidere de 64º, folosește un senzor CMOS, iar imaginile sunt salvate în format JPEG. Această cameră este folosită ca un senzor de decție a fluxului optic(optical flow), adică analizează fiecare cadru și se poate calcula viteza dronei sau dacă apar obiecte in cadru.

Termenul de flux optic (optical flow) se referă la mișcarea obiectelor, a suprafețelor sau a muchilor care apar în fundal cauzate de mișcarea relativă dintre observator și scenă. Aceste concept a fost introdus de cu scopul de a percepe mișcarea observatorului în lume, percepția formelor, distanța și mișcarea obiectelor în lume. În prezent este folosit în procesarea de imagine și controloul navigației. În cazul dronei, cu ajutorul camerei verticale se observă cât de repede se deplasează obiectele în imagine cât de aproape este de acestea, iar dacă obiectele din imagine par că se deplasează în spate înseamnă că drona înaintează. O altă aplicație pentru drona, care se folosește de camera verticală este detectarea de obiecte și urmărirea acestora sau detectarea direcției de mișcare a unui obiect .

1.4 Principiile procesului de formare a imaginilor

Drona Parrot 2.0 pentru a achiziționa imagini folosește două module de cameră, una frontală și una verticală. Un modul de cameră este un senzor de imagini integrat ce este controlat electronic, având o interfață de tip Ethernet sau CSI. Acestea păstrează principiul de formare a unei imagini pe un aparat foto optic, adică principiul formării unei imagini pe retină.

În principiu, folosind o simplă lentilă se formează imaginea răsturnată a unui obiect. În cazul moduleleor de cameră aceste imagini răsturnate ajung pe un senzor electric format din tranzistori sensibili la lumină, ce au rol de pixeli de imagine.

În Figura 3 se observă construcția grafică a unui punct luminos P, folosind o lentilă convergentă. Punctul P' este punctul luminos care ajunge pe senzor. O lentilă este caracterizată de axa optică ( axa de simetrie a lentilei ) și focarele lentilei (punctele în care se concentrază razele de lumină, f1 și f2 ), dar în cazul formării unei imagini sunt importanți mai mulți parametri: unghiul de deschidere al unei diafragme, adâncimea de focalizare, distanța de focalizare, timpul de expunere, ISO.

Figura 3. Formarea unei imagini printr- lentilă

D1-adâncimea de focalizare, C- cecul de confuzie,f1,2- focarele lentilei, A-apertura

Distanța focală se notează cu f și reprezintă distanța fizică între centrul optic al lentilei

Diafragma este formată dintr-un set de lamele dispuse paralel cu lentilele obiectivului astfel încât se obține o deschizătură variabilă (Figura 4). Prin modificarea acestei deschizături se modifică cantitatea de lumină ce ajunge la senzor și are un rol important în stabilirea profunzimii se câmp. Această deschizătură este modificată în funcție de condițile de luminozitate în care se realizează fotografia sau filmul. În acest caz dacă avem condiții de luminozitate slabe, atunci pentru a se obține o imagine de o calitate mai ridicată deschizătura diafragmei trebuie să fie mai mare, pentru a ajunge pe senzor o cantitate de lumină mai mare. Numărul F ( notat N ) este unitatea de măsură care indică deschiderea diafragmei, întotdeauna are valori subunitare și cu cât are o valoare mai mică cu atât are o deschidere mai mare.

, unde f este distanța focală, iar D este diametrul diafragmei deschise.

Adâncimea de focalizare (D1) sau profunzimea de câmp este intervalul în care toate obiectele din spațiu sunt clare (Figura 5). Pe masură ce aceste obiecte se depărtează de acest interval devin neclare. Se obține o adâncime de focalizare mai mare cu cât apertura asta mai mică. Pentru a calcula acest interval de adâncime se folosește distanța hiperfocală ( H ):

Unde f este distanța focală a obiectivului, s este distanța de la aparat până la subiectul focusat, iar c este cercul de confuzie.

Dacă proiecția cercului de confuzie pe planul de imagine este mai mic de 1 pixel, atunci se obține o imagine focalizată, dacă nu se obține o imagine defocalizată .

Figura 5. Adâncimea de focalizare

Dn este distanța până la planul cel mai apropiat de unde începe zona de claritate, iar Df este distanța până la planul cel mai îndepărtat unde se termină zona de claritate. Intervalul în care avem profunzime de câmp este dat de formula :

II. Timpul de expunere:

  – Controleaza timpul in care lumina trece prin obiectiv si ajunge la senzor

  – La fel ca la diafragma, valorile standard sunt cele din tabelul de mai jos. Si aici avem posibilitatea sa incrementam cu 1/2 sau 1/3 din aceste valori pentru o ajustare mai fina.

  – Daca folosim timpi de expunere scurti poza va fi foarte clara, adica efectul de miscare din poza va fi oprit. La timpi de expunere lungi obtinem un efect de miscare in poza, binenteles daca subiectul se misca.

III ISO

O sensibilitate mai mare iti permite sa fotografiezi in lumina slaba fara sa folosesti blitz-ul, dar aceasta facilitate are si o parte negativa. Cu cat amplifici semnalul luminii captate de senzor cu atat amplifici si zgomotul captat de senzor, imaginile capturate cu ISO mare vor avea intotdeauna zgomot mai pronuntat decat cele facute la ISO mic.

  – Controleaza sensibilitatea senzorului

  – Cu cat valoarea este mai mare zgomotul din imagine este mai vizbil.

  – Valorile standard sunt cele de mai jos

Dimensiunea unei imagini este variabilă și este influențată de dimensiunea senzorul folosit, iar pentru a calcula unghiul de deschidere al unei camere se folosește distanța focală, care este o proprietate absolută alentilelor, și dimensiunile senzorului. Imaginea pe senzor se formează prin acumulare de sarcini electrice în acel pixel, în funcție de timpul de expunere la lumină, ca și intesitatea luminii. Dimensiunea unui pixel depinde de dimensiunea senzorului, deci dacă avem un senzor mare avem și un pixel mare, iar cantitatea de lumină captată este mai mare obținându-se un raport semnal zgomot mai bun. Marimea senzorului influențează și intervalul sensibilității ISO pe care îl poate folosi o cameră.

Pe orice aparat foto sau video apar aberații optice: distorsiuni geometrice, aberații cromatice, aberații monocromatice sau vinietare. Cele mai întâlnite distorsiuni geometrice sunt cele care produc efectul de ʺbutoiʺ sau efectul de ʺpernăʺ. Efectul de ʺbutoiʺ este vizibil și în cazul dronei în momentul în care obectele sunt foarte apropiate de cameră.

Probleme:

Distorsiunile care apar atunci cand suntem prea aproape de camera: aberatia cromatica.

In cazul dronei cred ca este un obiectiv cu o distanta focala fixa

Capitolul 2. Procesare de imagini

2.1 Introducere

Procesarea imaginilor este un domeniu recent, dar care evoluează foarte rapid, făcând parte dintr-un domeniu foarte dezvoltat și răspândit în zilele noastre, viziunea artificială (denumită și analiză/interpretare de imagini). Analiza de imagini este o disciplină ce folosește metode statistice care combină informații ce provin din imagini cu metode matematice (în special geometrice), cu metode fizice și cu teoria învățării automate. Câteva din cele mai cunoscute discipline în care se folosește analiza imaginilor sunt: inteligența artificială, robotica, procesarea semnalelor, recunoașterea de forme, teoria controlului, psihologia și neurostiințele, iar aplicațiile sale sunt întâlnite pretutindeni: în medicină (CT, PET,MRI), armată( aplicații spațiale-imagini provenite din satelit), în securitate(identificare și supraveghere), detecția și recunoașterea feței sau a gesturilor, monitorizarea traficului, vehicule autonome, cartografie automată,achiziție automată de modele ,aplicații de larg consum (camere foto/video) sau în orice domeniu care informația poate fi reprezentată sub formă de imagini. Odată cu răspândirea aparatelor de fotografiat digitale, acest domeniu nu mai este dedicat doar inginerilor sau oamenilor de știință, deoarece aplicațiile de procesare de imagine se gasește în orice aparat de fotografiat digital, fiind utilizate pentru retușarea fotografiilor.Majoritatea algoritmilor de analiză a imaginilor au nevoie inițial de procesarea imaginilor, iar cele mai cunoscute metode sunt :

Îmbunătățirea calității imaginilor – prin transformarea imaginilor și punerea în evidență a detaliilor sau a trăsăturilor de interes;

Compresia – reprezentarea compactă a imaginilor/secvențelor pentru transmisie;

Restaurarea – eliminarea elementelor de degradare cunoscute;

Extragerea de trăsături – localizarea anumitor șabloane.

Ca o definiție, putem vedea procesarea imaginilor ca o aplicație a tehnicilor procesării semnalelor, adică în domeniul imaginilor avem semnale bidimensionale ce provin dintr-o fotografie sau dintr-o succesiune de cadre video. În urma procesării, la ieșire putem avea fie o imagine, fie un set de parametrii sau de caracteristici specifici imaginii respective. În general, când facem referire la procesarea imaginilor, ne gândim la o procesare digitală, deși sunt posibile și variantele de procesare optica și analogică. Procesarea unei imagini digitale, asemenea procesării unui semnal digital are numeroase avantaje fața de procesarea unei imagini analogice, cum ar fi: un numar mai mare de algoritmi ce pot fi aplicați pe datele de intrare, se poate evita introducerea de zgomot și distorsiuni într-o imagine în timpul procesării, este convenabilă pentru stocarea datelor, deci avem o transmitere mai ușoară a datelor și o stabilitate foarte bună. În prezent, datorită dezvoltării tehnologiei (prezența calculatoarelor performante și rapide, dar și a procesoarelor de semnal) costul unei astfel de prelucrări este foarte scăzut, devenind astfel cea mai utilizată metodă de procesare de imagine.

Imaginile digitale sunt obținute din imaginile continue (analogice) prin discretizare în spațiu, adică eșantionare, și prin discretizare în luminozitate, adică cuantizare. Pe ansamblu, o imagine poate fi privită ca o matrice bidimensională de valori cuantizate de luminozitate, unde cel mai mic element dintr-o matrice este pixelul. Eșantionarea, atât în cazul procesării de semnal cât și în cazul procesarii unei imagini, reprezintă transformarea unui semnal continuu într-un semnal discret. Printr-un eșantion se întelege o valoare sau un set de valori la un punct în timp sau spațiu. Cuatizarea reprezintă discretizarea în valoare a imaginii, adică reprezentarea cu un numar dat de biți a valorilor matricii obținute după eșantionare./ mai multe detalii despre esantionare si cuantizare se gasesc in cap3.ppt și in PIlab02.pdf în D Această ultimă valoare, obținută prin eșantionare și cuantizare, este salvată într-un elemet de matrice. Pixelul trebuie sa fie foarte mic, astfel încat fiecare element să aibă o singură culoare. Acesta posedă trei atribute, ce se pot exprima numeric: culoare, opacitate și poziția în matrice. Un număr redus de pixeli scade calitatea imaginii și pot apărea efectul de trepte și efectul de neclaritate al imaginii. Fiecare atribut poate fi reprezentat pe mai mulți biți pentru fiecare plan de culoare. În cazul unei imagini binare, un pixel poate fi reprezentat pe 1 bit, în timp ce în cazul unei imagini doar cu mai multe nuanțe de gri un pixel poate fi reprezentat pe 8 biți, iar pentru cele color dacă avem trei culori pentru fiecare pixel acesta va fi reprezentat pe 8×3 biți.

Imaginile sunt de mai multe tipuri(Figura 6):

Binare – sunt reprezentate într-un singur plan având două nivele (alb și negru);

Nivele de gri – are un număr de 256 de nivele de luminozitate;

Color – are un număr de 3×256 nivele de luminozitate pe trei canale de culori.

a. Imagine binară b. Imagine în nuanțe de gri c. Imagine color

Figura 6. Tipuri de imagini

2.1 Spații de culoare folosite într-o imagine

Cu ajutorul acestor spații de culoare, o imagine digitală poate înregistra și oferi mai multe informații decât o imagine reprezentată cu mai multe nivele de gri. Aparatele de achiziție a imaginilor digitale ( camere digitale) pot separa razele de lumina în trei culori primare- roșu, albastru și verde, folosind spectroscopul si un filtru. Se folosesc aceste trei culori pentru a reprezenta o culoare și din această cauză spațile de culoare folosite trebuiesc reprezentate în formate tridimensionale. Aceste modele folosesc funcții matematice pentru a reprezenta poziția unui punct (într-un spațiu tridimensional) și căruia ii este atribuită o culoare. Cele mai cunoscute spații de culoare folosite în procesarea de imagine sunt: RGB, YCbCr, HSV,HSI.

2.1.1 Spațiul de culoare RGB

În acest spațiu de culoare, o imagine este formată din trei plane de culoare independente, fiecare conținând culori primare: roșu, verde și albastru. Combinația celor trei plane în spectrul luminii vizibile este prezentat în figure de mai jos(Figura 7.a). Este un model de tip aditiv, deoarece se pornește de la negru, după care se adaugă culori una peste alta până se ajunge la alb. Se mai numește și modelul bazat pe lumină, deoarece se poate analiza în mod direct teoria despre lumina emisă și captată de un observator. Adunând cele trei culori primare între ele obținem alte trei culori secundare : galben (roșu+verde), turcoaz (albastru+verde) și mov(roșu+albastru), și alb(roșu+albastru+verde). În Figura 7.b este reprezentat spațiul RGB din punct de vedere geometric folosind un sistem de coordonate cartezian în trei dimensiuni pentru culorile specificate anterior. În acest cub al culorilor, originea axelor R,G,B corespund culorii negre(0,0,0), iar vârful opus corespunde culorii de alb(255,255,255). După cum se observă nivelurile de gri se obțin din acele culori care au aceiași valoare pentru fiecare culoare primară, adică se găsesc pe dreapta care leagă vârful negru de cel alb.

a. Amestecul aditiv al culorilor b. Sistemul cartezian cu culorile primare RGB

Figura 7. Spatiul de culoare RGB

2.1.2 Spațiul de culoare YCbCr

Este un spațiu de culoare folosit cel mai adesea în imagini digitale sau videouri digitale. În acest format informația de luminanță este salvată într-o singură componentă (Y), iar informația de crominanță este stocată în două componente (Cb și Cr)(Figura 8). Prima componentă, Cb, se calculează ca fiind diferența dintre componenta de albastru și o valoare de referință, în timp ce a doua componentă, Cr, reprezintă diferența dintre componenta de roșu și o valoare de referință. Componenta de luminanță este intensitatea de lumină codată neliniar bazându-se pe corecția de gamma a culorilor primare. Pentru conversia din spațiul RGB în spațiul YCbCr se folosește ecuația matriceală de mai jos:

În această formulă, cele trei comonente,R G și B, au valori cuprinse între 0 și 255. În urma transformării, se obține (Figura 4).

a. Y b. Cb c. Cr d. YCbCr

Figura 8 Reprezentarea unei imagini în YcbCr și descompunerea în fiecare plan în parte

Figura 9 Planul YCbCr pentru o valiabilă Y ‘= 0.5

2.1.3 Spatiul de culoare HSV

Este cea mai comună reprezentare a unui model de culoare sub forma unui con și reprezintă o rearanjare geometrică a culorilor primare cu scopul de a avea o reprezentare mai intuitiva decât cubul reprezentat în coordonate carteziene (Figura 10). Această reprezentare se obține prin înclinarea cubului RGB astfel încât axa cu valorile de gri să devină verticală pe plan (Figura 11).

Figura 10. Planul HSV sub forma unui con Figura 11. Cubul RGB înclinat pentru a obține conul HSV

Primul plan din imagine este dat de componenta de nuanță (H) și reprezintă unghiul în jurul axei verticale centrale. Culorii primare roșii îi corespunde unghiul de 0ᵒ, mergând în sens trigonometric, către culoarea verde (120ᵒ), apoi către albastru (240ᵒ) și în final ajungând din nou la roșu(360ᵒ).

Cea de-a doua componentă saturația (S) reprezintă strălucirea unei culori și se calculează ca fiind distanța dintre valoarea de alb și cea de negru. Întodeauna planul de saturație este scalat astfel încât să avem valori cuprinse între 0 și 1.Cea mai mică valoare a saturației va corespunde nivelului de gri.

Ultima componentă V reprezintă valoarea intensității. Este definită ca fiind cea mai mare componentă din cele trei culori primare având rolul de a modifica stralucirea unei imagini.

Pentru a trece din spațiul RGB în spațiul HSV se folosesc următoarele formule:

max = max(R,G,B)

min = min(R,G,B) V = max;

S=

?? pot sa mai pun si imagini cu fiecare plan in parte si să valori

??????1.2.4 Spatiul de culoare HSI – aici a spus ca pot sa spun ca mai exista si alte derivate din HSV

2.2 Histograma

Histograma este o reprezentare grafică a distribuției unor date numerice și este estimată ca fiind distribuția de probabilitate a unei variabile continue. Este o funcție ce asociază fiecarei valori posibile din imagine probabilitatea sa de apariție în imagine.

Cu ajutorul acesteia se poate face distincția între imaginile întunecate și cele luminoase sau se pot face presupuneri despre numărul de tipuri de componente din imagine.

În ambele cazuri din Figura 12 se obtine aceiași histogramă, deoarece aceasta nu este influențată de distribuția spațială a valorilor din imagine.

Figura 12. Distribuția valorilor nu influențează histograma

2.2.1 Egalizarea histogramei

O imagine ideală este acea imagine în care se folosește tot intervalul de nivele de gri și toate nivelele de gri sunt egal probabile, deci pe scurt imaginea dorită ar avea o histogramă uniformă. În realitate imaginea ideală nu există și din această cauză a apărut egalizarea histogramei.

Egalizarea histogramei este o metodă folosită în procesarea de imagine ce are rolul de a modifica contrastul unei imagini folosind histograma imaginii respective. Cu ajutorul acestei metode intensitatea fiecărei valori poate fi distribuită mult mai bine în imagine, astfel permite zonelor cu un contrast mai scăzut să să câștige un contrast mai ridicat, astfel încât toate valorile să fie aproximativ egal probabile.

Egalizarea unei histograme este o tehnică de normalizare a histogramei folosită pentru a putea compara două sau mai multe imagini pe baza unui anumit criteriu. Se face normalizarea histogramei pentru a o aduce la o valoare standard, mai ales atunci când imaginile au fost realizate în condiții diferite.

Pentru a modifica histograma se folosește o funcție s = T(r) pentru care se poate stabilii următoarea relație între funcția de densitate de probabilitate de intrare și funcția de densitate de probabilitate de ieșire:

, iar distribuția de probabilitate trebuie să fie

aceiași ,Ps(s) = Pr(r).

Funcția T este derivabilă și dT/dr ≥ 0. Pentru egalizarea histogramei trebuie ca ps(s) să fie constantă, adică: T(r) = (2B-1)P(r), unde P(r) este funcția de distribuție a probabilității. Funcția de distribuție a probabilității este cuantizată și normalizată de la 0 la 2B-1 și reprezintă tabela de translatare folosită pentru egalizarea histogramei.

Pentru o imagine digitală aceste formule trebuiesc a fi modificate într-o formă discretă, deoarece valorile nivelurilor de gri sunt discrete. Astfel probabilitațile sunt date de relația:

pr( rk )=nk/n 0 rk 1

k=0,1,…,L-1

unde pr( rk ) este probabilitatea nivelului k, L este numărul de niveluri de gri, nk este numărul de apariții ale nivelului în imagine, iar n este numărul total de pixeli din imagine.

În figurile de mai jos (Figura 13) se observă cum se modifică imaginea după ce a fost egalizată histograma imaginii originale. În Figura 14.b se observă că avem o distribuție uniformă a nivelurilor de gri, acestea acoperind întreg domeniul, și o probabilitate de apariție aproape egală pentru fiecare valoare.

a. Imaginea originală b. Imaginea după egalizarea histogramei

Figura 13. Modificarea unei imagini folosind egalizarea histogramei

a. Histograma pe imaginea originală b. Histograma egalizată

Figura 14. Histograma pe o imagine și histograma egalizată

2.3 Segmentarea imaginilor

Segmentarea imaginilor este o metodă de extragere a caracteristicilor dintr-o imagine în funcție de zonele de interes. Prin segmentare se înțelege partiționarea unui imagini în mai multe regiuni, astfel fiecare regiune este considerată o sub-mulțime a imaginii. Fiecare pixel va primi valoarea 0 sau 1 în funcție de zona de interes din care face parte. În general se folosește segmentarea pentru extragerea, identificarea sau recunoașterea unui anumit obiect dintr-o imagine.Segmentarea unei imagini este o sarcină dificilă datorită variațiilor de formă ale obiectelor și a calitățiiimaginilor achizionate. Acest proces este considerat o metodă de clasificare a obiectelor din imagine, având scopul de a simplifica reprezentarea imaginilor eliminând informația inutilă. Există două metode de segmentare a imaginilor: metode de segmentare orientate pe regiuni și metode de segmentare orientate pe contururi.

Pentru a determina un contur într-o imagine analizăm schimbările proprietăților fizice sau geometrice ale obiectelor ce compun scena, deoarece acestea produc variații la nivel de pixel. În cele mai multe cazuri, aceste variații de intensitate corespund frontierelor zonelor determinate de obiectele din imagine. Pentru a pune în evidență aceste contururi se poate folosii operatorii de gradient, operatorii compas sau identificarea trecerilor prin zero ale celei de-a doua derivate.

În cazul unei metode orientate pe regiuni, se urmărește extragerea din imagine a zonelor ocupate de diferite obiecte din scenă. Aceste zone trebuie să conțină pixeli cu caracteristici similare de strălucire, culoare sau textură. Pentru a putea face segmentarea pentru o imagine trebuie să cunoști caracteristicile regiunilor sau să obții aceste caracteristici în timpul prelucrărilor.Cel mai simplu caz pentru a elimina dintr-o imagine zonele neesențiale de cele esențiale este folosirea unui prag. Astfel valorile pixelilor peste acel prag vor primii o valoare, iar restul altă valoare. În figura de mai jos (Figura 15.b), prin binarizarea imaginii respective am pus îm evidență drona folosind spațiul de culoare RGB. Pentru a ajunge la acest rezultat am impus câte un prag fix pentru fiecare plan în parte, fiind foarte simplu deoarece este sigurul obiect negru din imagine.

a. Imaginea originală b. Imaginea binarizată/segmentată

Figura 15. Metode de segmentare orientate pe regiuni

Această soluție este eficientă atunci când avem o diferență foarte mare între obiect și fond. De cele mai multe ori, un singur prag nu este suficient pentru a segmenta întreaga imagine, astfel în acest caz se folosesc praguri variabile, sau multiple sau bazate pe măsurători statistice. În cazul tehnicii de prag variabil este important să selectăm corect valoarea de prag pentru a obține un rezultat optim. Pentru a obține acea valoare de prag variabilă se împarte imaginea în subimagini, iar pentru fiecare subimagine se determină o altă valoare de prag. Dacă nu se poate determina o valoare de prag dintr-o subimagine aceasta se poate obține prin interpolare din valorile de prag ale subimaginile vecine, iar apoi fiecare subimagine este prelucrată în raport cu valoarea de prag obținută. Pentru selecția unui prag se pot folosi media și deviația standard sau maximizarea varianței între clase (metoda Otsu). // Daca mai trebuiesc detalii le gasesc in spi_3_segmentare

2.4 Operatii morfologice

Operațiile morfologice aplicate pe o imagine au rolul de a extrage sau modifica informațiile referitoare la forma și structura obiectelor dintr-o imagine. De obicei sunt folosite înainte de procesarea unei imagini sau după procesarea unei imagini având rolul de a filtra, micșora sau elimina perturbațiile. Principalele operații morfologice sunt dilatarea si eroziunea și sunt foarte utili în particular în analiza inaginilor binare, dar acest concept poate fi extins și pentru analiza imaginilor în tonuri de gri sau color. Atât în cazul dilatării cât și în cazul erodării se folosesc elemente structurante ce pot avea diferite forme și diferite mărimi, asemenea elementelor din imaginea de mai jos (Figura 16):

Figura 16. Elemente structurante folosite pentru dilatare și erodare

Pentru cazul în care imaginea are mai multe nivele de gri transformarea se numește umbră, iar imaginile sunt reprezentate prin mulțimi de puncte din R³ (se folosesc coordonatele spațiale).

2.4.1 Dilatarea

Dilatarea morfologică a unei imagini A, folosind un element structurant, B, reprezinta mulțimea punctelor cu care se poate translata elmentul structurant astfel încât acesta să aibă puncte comune cu mulțimea ce trebuie prelucrată din imaginea A.

Pentru exemplificare vom folosi o imagine binară(Figura 17), unde obiectele au pixelii cu valoarea 1 (albi), iar fundalul are pixeli cu valoarea 0 (negri). Dilatarea se realizează astfel:

În cazul în care originea elementului structurant se suprapune cu un pixel ʺalbʺ din imagine, atunci toți pixelii acoperiți de elemntul structurant devine alb;

În cazul în care originea elementului structurant coincide cu un pixel ʺnegruʺ, atunci nu se efectuează nici o modificare și se trece mai departe la următorul pixel.

Din punct de vedere matematic, dilatarea se notează cu A ⊕ B, adică mulțimea A dilatată cu elementul structurant B.

a. Imaginea originala b. Imaginea dilatată cu un element de 10×10 pixeli

Figura 17. Operația de dilatare aplicata pe o imagine

2.4.2 Erodarea

Erodarea morfologică a unei imagini A, folosind un element structurant, B, reprezinta mulțimea punctelor cu care se poate translata elmentul structurant astfel încât acesta să fie inclus în imaginea A.

Erodarea se realizează astfel:

În cazul în care originea elementului structurant se suprapune peste un pixel ʺ negruʺ din imagine, atunci nu se efectueză nici o modificare și se trece la următorul pixel;

În cazul în care originea elementului structurant se suprapune peste un pixel ʺalbʺ din imagine și există cel puțin un pixel ʺalbʺ al elementului structurant care se suprapune peste un pixel ʺnegruʺ din imagine, atunci pixelul curent din imagine va fi transformat într-unul ʺnegruʺ

Din punct de vedere matematic, dilatarea se notează cu A Θ B, adică mulțimea A dilatată cu elementul structurant B.

A Θ B = {x | Bx ⊂ A}

În figura de mai jos se observă rezultatul aplicării unui element structurant de forma unui pătrat de 10×10 pixeli peste o imagine.

a. Imaginea originală b. Imaginea erodată

Figura 18. Operația de erodare aplicată pe o imagine

Capitolul 3. Detecție și recunoaștere de fețe

3.1 Introducere

Sistemul de detecție și recunoaștere facială reprezintă o aplicație de identificare a unei persoane și verificarea acesteia într-o imagine digitală sau într-un cadru video, fiind cea mai relevantă aplicație a analizei de imagine. Acest sistem se bucură de numeroase aplicații in zilele noastre acoperind diferite zone de interes. Aceste aplicații s-au dezvoltat datorită unei cereri de securitate în societate din ce în ce mai ridicată, iar supravegherea video este cea care poate ajuta la îmbunătațirea acesteia. Alte exemple în care poate fi folosit acest sistem sunt: interacțiunea dintre om și calculator, camerele foto, realitatea virtuală sau chiar în cercetarile biometrice, unde poate fi comparată cu sistemele de recunoștere de amprentă sau de iris. De fapt recunoașterea de față dispune de mai multe zone de interes având ca subiecte relevante recunoașterea de forme, rețeaua neurală, grafica pe calculator, procesarea de imagine și psihologia. Cea mai veche dintre acestea fiind cea din domeniul psihologiei, unde au apărut probleme cum ar fi expresia unei fețe, interpretarea emoților sau percepția gesturilor. Este o adevărată provocare construirea unui sistem automat care să egaleze abilitatea umană de recunoștere de fețe. Deși oamenii sunt chiar buni în identificarea unei fețe cunoscute, nu sunt foarte abili în momentul în care se confruntă cu un numar foarte mare de fețe necunoscute. Calculatoarele sunt cele care ar trebui să ajute această limitare umană, folosindu-se de resursele de care dispune, având memorie si viteză de procesare limitată.

Detecția de față reprezintă primul pas în recunoașterea automată a fețelor, a trăsăturilor faciale sau recunoașterea expresilor fețelor. Toate acestea se confruntă cu probleme în momentul implementării și recunoașterii unui model, deorece pe lângă faptul că există o mare varietate de fețe, acestea își pot modifica poziția, expresia facială sau se poate modifica condiția de iluminare. Cei mai mulți algoritmi de recunoaștere facială presupun că se cunoaște locația feței. Acest lucru este similar algoritmilor de urmărire, care de fiecare dată presupun că se cunoaște locația inițială a feței.

//// Alte aplicatii care se pot dezvolta folosind detectia si recunoasterea de fata

///PFC ION Marques pag17

Cele mai multe cercetări pentru detecția de față s-au realizat în ultima decadă, întreaga problemă reducându-se la o problemă de clasificare cu clase ( față vs. nu-față). Câțiva dintre algoritmi folosiți pentru detecție și recunoaștere sunt:

Algoritmul de detectare a contururilor este printre primi algoritmi apăruți. Fiecare margine detectată trebuia să fie etichetate și toate împreună să se potrivească unui model de față, având ca scopul de a verifica corect detecția lor. Acest lucru a fost îndeplinit prin etichetarea a trei tipuri de margini: marginea din stânga, marginea din dreapta și linia părului. Aceste margini se obțineau corect doar pentru o față frontală ;

Algoritmi bazați pe rețeaua neuronală folosiți pentru detecția frontală ;

Algoritmi bazați pe modelarea probabilistică a aspectelor locale și relațile spațiale pentru recunoașterea obiectelor. Pentru obiectul ce se dorește a fi recunoscut se explicit se modelează și se estimează funcția de probabilitate, P(obiect/imagine). Această probabilitate surprinde statisticile comune ale aspectului local și poziția obiectului, precum și statisticile de apariție locale de apariție într-o viziune mai largă;

Algoritmi bazați pe determinarea culorii pielii în imaginile color. În prima fază se detectează zonele de piele dintr-o imagine și apoi din acele zone se determină fața cautând doar în acele regiuni. O diagramă de crominanță pune în evidență zonele de piele în comparație cu celelate zone;

Algoritmi bazați pe tehnica modelului color Gaussian ce a fost dezvoltat și implementat folosind mai multe imagini cu fețe cu diferite condiții de iluminare;

Algoritmi multipli bazați pe prezența mai multor caracteristici. Acesta se realizează în două etape. În primul pas se folosește o metodă convențională de detecție a pielii pentru a extrage regiunile cu potențiale fețe dint-o bază de date. În al doilea pas fiecare zonă este trecută printr-un filtru și sunt eliminate zonele fără fețe;

Algoritmi bazați pe combinarea unui model de detecție de piele cu informația conturului feței și trăsături ale ochiului uman obținute prin detecție de culoare. Această metodă poate fi folosită atât pentru fețe frontale cât si văzute din profil. Sunt folosite condițile geometrice și transformările Hough pentru a elimina zonele care nu conțin fețe;

Algoritmi bazați pe caracteristici de tip Haar și BICA . Este unul dintre cei mai eficienți algoritmi de recunoaștere, unde imaginea este imparțită în blocuri și fiecare bloc este analizat independent. Un algoritm foarte cunoscut pentru această parte este metodaViola-Jones. În acest caz se parcurge imaginea pe rând cu un set de haar-uri de dimensiuni diferite și este recunoscută ca fiind față doar în cazul în care sunt găsite toate caracteristicile căutate.

Cele mai multe din metodele menționate sunt limitate: nu pot detecta fețe care care au o dimensiune mai mică de 50×50 pixeli, nu pot detecta mai mult de 3 fețe într-un fundal complex, nu sunt eficiente într-o imagine cu mult zgomot și deloc eficiente în cazul în care persoana poartă ochelari sau gura este parțial acoperită. Au apărut câțiva algoritmi care rezolvă o parte din problemele menționate anterior , dar nu să rezolve toate probleme care apar pe parcurs.Metoda Viola-Jones este una dintre cele mai eficiente metode, care rezolva o mare parte din problemele anterioare, dar este un algoritm foarte complex .

Câteva studii recente susțin că tendințele actuale din acest domeniu (recunoașterea facială) sunt:

Extensii de tip nucleu (kernel) ale unor metode clasice de proiecție pe subspații liniare: PCA/LDA/ICA

Algoritmi ce folosesc baze cu o bună localizare spațială și urmăresc metode de descompunere a fețelor în componente distincte ( grupate în jurul unor puncte reprezentative cum sunt ochii, nasul și gura)

Analiza imaginilor 3D și aplicarea tehnicilor de morfism

Etapele ce trebuiesc urmate pentru procesul de recunoștere facială sunt: detectarea feței într-o imagine, extragerea trăsăturilor (de cele mai multe ori este o reprezentare matematică, numită model și care va fi salvată într-o bază de date), compararea modelului generat anterior cu modelele fețelor deja existente în imagine, declararea rezultatului.

3.1 Metoda Viola – Jones

Metoda propusă de Viola și Jones este cunoscută și sub denumirea de clasificator Haar. Cei doi au elaborat un algoritm pentru a detecta rapid orice obiect, inclusiv chipurile umane. Această metodă dispune de câteva avantaje care îi permite să ruleze în timp real. Principalul avantaj este acela că algoritmul oferă un grad de detecție foarte ridicat și poate fia aplicat pe orice tip de obiect. Pentru cazul detectării fizionomiei și a unor caracteristici faciale metoda are la bază clasificatoare AdaBoost și caracteristici de tip Haar. Cei doi au reușit să implementeze o metodă care să detecteze fețe în imagini cu mai multe nivele de gri aducând trei contribuții principale: imaginea integrală, construirea unui clasificator care să selecteze un numar mic de trasături importante folosind AdaBoost și combinarea în cascadă a mai multor clasificatoare complexe care măreste viteza de detecție prin concentrarea atenției pe zonele cu un procent mai mare de interes.

Într-un prim pas imaginile sunt clasificate pe baza unor valori ale unor caracteristici simple de tip Haar (Figura 19) și nu direct pe baza pixelilor. Unul dintre motivele pentru care se face acest lucru este avantajul de a elimina mai repede zonele care nu prezintă interes și sistemul rulează mai rapid folosind aceste caracteristici, față de cazul în care se folosesc pixelii. Acestea utilizează variațiile valorilor intensității și ale contrastului între grupuri adiacente rectangulare de pixeli. Variațiile contrastului dintre grupurile de pixeli sunt folosite pentru a determina zonele luminoase și zonele întunecate dintr-o fotografie. Caracteristicile Haar pot fi scalate cu ușurință și din această cauză este posibilă detectarea obiectelor de diferite dimensiuni.

Figura 19. Principalele caracteristici de tip Haar

Ca orice algoritm de detecție pe lângă numeroasele avantaje apar și dezavantaje. În acest caz detectorul este foarte eficient datorită caracteristicilor de tip Haar, care sunt foarte rapide și eficiente. În loc să scalăm imaginea pentru detecție, se scalează caracteristicile Haar, deci este invariantă la locația obiectului detectat și la dimensiunea lui. Ca dezavantaje, pentru detecția de pesoană, acest detector este foarte eficient pentru fețe frontale, astfel pentru profile si semi-profile rata de detecție scade. Este sensibil la condițile de lumină și sunt cazuri în care există multiple detecții pe aceiși față datorită suprapunerii subferestrelor.

3.1.1 Imaginea integrală

Acest tip de sistem de detecție nu merge direct pe intensitățile din imagine și din această cauză se folosește o nouă reprezentare a imaginii, numită imagine integrală. Acesta permite o evaluare foarte rapidă a caracteristicilor. Se obține din imaginea inițială, pe care se aplică câteva operații la nivel de pixel și astfel caracteristicile de tip Haar pot fi aplicate la orice scală și în orice locație. Noua imagine este calculată folosind următoare formulă:

s(x,y) = s(x,y-1) +i(x,y)

ii(x,y) = ii(x-1,y)+ s(x,y), unde s(x,y) este suma cumulativă pe rânduri, cu s(x,-1) = 0 și ii(-1,y) =0.

Se notează cu ii(x,y) imaginea integrală și cu i(x',y') imaginea originală. Deci imaginea integrală la locația (x,y) conține suma pixelilor care se găsesc deasupra și la stânga punctului (x,y) (Figura 20).

Figura 20. Aria însumată pentru o imagine integrală.

Se observă cum suma pixelilor din dreptunghiul D poate fi formată din patru matrici de referință. Suma pixelilor din dreptunghiul A este salvată în punctul 1, în timp ce în locația 2 se găsește A+B, în locația 3 este A+C , iar în locația 4 este A+B+C+D. Deci suma pixelilor din dreptunghiul D se poate calcula ca 4+1-(2+3).

3.1.2 Algoritmul de antrenare a rețelei AdaBoost

Folosind un set de caracteristici Haar și un set de antrenare cu imagini pozitive și negative se poate învăța o funcție de clasificare. Pentru metoda propusă de Viola – Jones, se folosește o variantă de AdaBoost care selectează un set redus de caracteristici de tip Haar și să antreneze clasificatorul. Acest algoritm folosește peste 180,000 de caracteristici dreptunghiulare asociate fiecărui sub-cadru. Acest număr este mul mai mare decât numărul de pixeli, dar cu toate asta este mult mai eficient singura provocare fiind gasirea acelor caracteristici care combinate să formeze un clasificator eficient. Pentru a susține acest scop, cel mai slab algoritm de învățare este proiectat să găsească acea caracteristică care separă exemplele pozitive de cele negative. Astfel se determină o funcție de clasificare cu un prag optim pentru care se obține un numar minim de exemple prost clasificate.

hi(x) = , unde fi este caracteristica folosită, θi este pragul, pi este paritatea care indică direcția semnului de inegalitate.

Astfel dacă a fost selectat un clasificator optim, exemplul identificat corect de clasificator are o pondere mai mică decât cel identificat incorect.

Figura 21. Principalele caracteristici folosite pentru detecția de față

În Figura 21 se observă un exemplu unde sunt alese primele două caracteristici alese prin algoritmul AdaBoost. Primul măsoară diferența de intensitate dintre regiunea ochilor și regiunea obrajilor, cu observația ca regiunea din zona ochilor este mai întunecată decât cea din zona obrajilor. Cea de a adoua carateristică compară intensitatea din regiunea ochilor cu zona dintre cei doi ochi. În acest caz cea de a doua zonă ar trebui să fie mai luminoasă decât prima.

3.1.3 Arhitectura unei cascade de clasificare

Rolul unui astfel de algoritm este de a construi cea mai eficientă cascadă de clasificare care să crească performanțele de detecție prin reducera timpului de calcul. Cheia unui asfel de algoritm este să fie cât mai simplu și mai eficient, asfel încât să elimine cât mai multe sub-ferestre negative și în același timp să le detecteze pe cele corecte.

Figura 22. Descrierea schematică a unei cascade de detecție

Rolul unei astfel de cascade (Figura 22) este de a antrena un clasificator folosind AdaBoost și de a ajusta pragul pentru a minimiza numărul de fals negative. O serie de clasificatoare este aplicată fiecărei sub-ferestre. Clasificatorul inițial elimină un număr foarte mare de exemple negative cu un timp de procesare foarte mic. După câteva etape de procesare numărul de sub-ferestre este redus foarte mult.

3.2 Rețele neuronale pentru detecția de față

Acest algoritm a fost introdus de Henry Rowley, Shumeet Baluja și Takeo Kanade în 1996. La început algoritmul bazat pe o rețea neuronală ce era funcțională doar pentru detecția frontală de față și folosea mici ferestre ale unei imagini pentru a se decide care din acele ferestre conține o față (Figura 23). Într-o primă fază se aplică un set de filtre bazate pe rețele neuronale peste o imagine și apoi se folosește un arbitru pentru a combina ieșirile. Filtrul examinează fiecare locație din imagine la diferite dimensiuni, căutând locațile ce ar putea conține o față. În final se îmbină detecțile obținute din filtrare și se elimină suprapunerea zonelor.

Figura 23. Modul de conectare al unei rețele neuronale pentru fețe frontale

La intrarea in filtru se primesc regiuni din imagine de 20×20 pixeli, iar la ieșire se generează o valoare cuprinsă între -1 și 1, reprezentând absența sau prezența unei fețe. Pentru a detecta fața în orice zonă din imagine se aplică filtrul pe întreaga imagine,iar în cazul în care fața are o dimensiune mai mare decât fereastra, imaginea este scalată la o dimensiune mai mică și se aplică din nou filtul pe întraga imagine. Filtrul trebuie să fie invariant la poziție și la scalare, iar suma invarianței determină numarul de scalări și poziția la care trebuiesc aplicate. Într-un prim pas se aplică filtrul pe fiecare pixel din imagine și se scalează imaginea către o dimensiune mai mică cu câte un factor de 1.2 pentru fiecare pas al piramidei. Pentru filtrare se parcurg mai mulți pași: pregătirea imaginii (corectarea luminii și egalizarea imaginii) și apoi fereastra este trecută printr-o rețea neuronală care va decide dacă este sau nu o față. În acestă fază antrenarea unei rețele neuronale avea nevoie de un filtru bun și de un număr mare de imagini cu fețe și imagini fără fețe.

Un an mai târziu a apărut rețeaua neuronală invariantă la rotație feței, aceast sistem putând detecta fețe la orice unghi de rotație in imaginea plană (Figura 24). În acest caz sistemul folosește o rețea neuronală, numită 'ruter', pentru a analiza fiecare ferestră de la intrare înainte de a fi procesată de un detector de rețea. Dacă fereastra conține o față, ruterul determină unghiul cu care este rotită fața. Fereastra va fi rotită astfel încât să se obțină o față frontală. Această nouă fereastră va fi trecută printr-o rețea de detecție de fețe. În acest caz s-au mai folosit și un model de detecție de piele pentru o cautare mai restrictivă și pentru a micșora aria de căutare.

a. b. c. d. e. f. g. e. g.

Figura 24. Rețele neuronale invariante la rotația capului.

Se formează piramida de imagini pentru analiză prin subeșantionare (a), după care se extrag din fiecare imagine subferestre de 20×20 pixeli ce urmează a fi analizate (b). În următorul pas (c) se face egalizarea de histogramă, obținându-se imaginea de intrare pentru rețeau de ruter( c,d,e ) . În punctul d se găsesc unitațile ascunse din imagine și în funcție de aceste trăsături obținute se calculează unghiul (e) cu care este rotită imaginea față de imaginea de referință și se rotește imaginea cu acest unghi (f). Următoarea etapă este pregatirea imaginii, se realizează corectarea luminii (g) și egalizarea histogramei (e). În ultima etapă (g) se extrag trăsăturile și sunt comparate cu cele de referință și este transmis la ieșire rezultatul.

Până în prezent rețeaua neurală a devenit printre cele mai bune în detecția de fețe și recunoașterea de persoane, având diferite arhitecturi și modele. Rețeaua neurală artificială (ANN) poate simula modul de lucru al neuronilor din creierul uman. Acesta este principalul motiv pentru care este foarte eficient în recunoașterea de persoană.

Printre ultimii algoritmi apăruți este și modelul lui Gabor care combină o rețea neuronală cu unde Wavelet.

3.3 Modelul lui Gabor folosind ANN și unde wavelet

Undele wavelet sunt unde ce se propagă oscilând cu o amplitudine ce începe la zero, crește, și apoi descrește înapoi la zero. Aceste unde sunt foarte utile în procesarea de semnal, deoarece pot fi combinate folosind convoluția cu porțiuni dintr-un semnal cunoscut pentru a extrage informația necunoscută.

În 2008 Sahoolizadeh a propus o abordare hibridă pentru recunoaștere combinând un clasificator de trăsături ANN cu un detector de fețe introdus de Gabor ce folosește unde wevelet. În 2010, această metodă a fost dezvoltată de Avinash și Raina. Folosea o rețea neuronală rapidă (FNN) pentru a găsi puncte caracteristice și pentru a extrage vectori caracteristici. Filtrul de tip Gabor este folosit pentru a extrage trăsăturile feței, iar clasificatorul primește la intrare vectorul de carateristici. Locația punctelor caracteristice conține informații despre față. Graful este construit plecând de la idea generală de detecție și recunoaștere, dar în loc să se facă montarea acestuia, punctele caracteristice sunt obținute automat din caracteristicile fiecărei fețe. Astfel trăsăturile faciale permite luarea unei decizii prin compararea acestora local în loc să se utilizeze o structură generală. În acest studiu s-au folosit două măsuri: false negative și false pozitive.

False Negative =

False Pozitive

3.4 Modelul EigenFaces pentru recunoasterea de fata

Modelul Eigenfaces este prima metodă considerată ca fiind de succes pentru recunoșterea de persoane. Acest model folosește metoda de analiză a principalelor componente (PCA), care pentru fiecare imagine formează un vector de aceiași lungime, prin concatenarea coloanelor corespunzătoare. Se realizează acest lucru deoarece dimensiunile mari ale unei imagini consumă multe resurse și în același timp complică semnificativ implementarea diferitelor tehnici de procesare, crește volumul de calcul și este nevoie de o bază de date cu imagini mult mai mare.

Algoritmul de procesare pentru modelul Eigenfaces parcurg mai mulți pași. Într-o primă fază se calculează valoarea medie a imaginilor care formează setul de antrenare ( , presupunând ca avem un număr de K imagini, după care se ʺcentreazăʺ imaginile originale aducându-se astfel imaginea la valoarea medie nulă.

Ijcentrat = Ij –

Într-un al doilea pas se calculează matricea de dispersie (S), care este simetrică și este de dimensiuni (M*N)x(M*N). Aceasta este aproximarea matricei de covarianță a imaginilor din baza de date. Cu cât baza de date este mai mare, cu atât aproximarea matricei este mai exactă.

S-a notat cu A matricea care are pe coloane câte o fotografie centrată.

În următorul pas se calculează valorile și vectorii proprii ai matricei S, pentru acest caz (în care se lucrează cu imagini) vectorii proprii poartă numele de Eigenfaces, și apoi sunt sunt ordonați crescător. Se trasează un grafic pentru a se exprima pierderea de informație în raport cu factorul de compresie. Din acest grafic se estimează numărul de valori și vectori proprii considerați semnificativi, fiind doar cei care păstrează o cantitate mare de energie. Se proiectează imaginile(centrate) originale pe spațiul descris de vectorii proprii mai semnificativi. Acest lucru se realizează prin efectuarea produsului scalar dintre fiecare imagine originală și o matrice ce are coloanele numai din vectorii propri semnificativi.

Pentru fiecare imagine centrată se obține proiecția pe baza relației:

Unde Nmax este numărul maxim de vectori proprii reținuți, Ej sunt vectorii proprii semnificativi, vectorii Wj au dimensiunea (Nmaxx1) și pot fi priviți ca ʺ semnăturileʺ asociate imaginilor originale.

Pentru clasificarea imaginilor test se determină prima dată ʺ semnăturaʺ pentru fiecare imagine în parte în raport cu subspațiul detrminat anterior și apoi se caută în baza de date acea imagine care are cea mai apropiată de cea de test. Pentru a calcula distanțele dintre ʺsemnăturiʺ se pot folosi: funcția de autocorelație, distanța euclidiană, distanța Mahalanobis, distanța Manhattan sau cosinusul unghiului dintre cei doi vectori.

Distanța Euclidiană :

Distanța Manhattan :

Funcția de intercorelație :

Cosinusul unghiului dintre vectori :

Princpalul avantaj al acestei metode este simplitatea sa și posibilitatea de a calcula vectorii proprii prin două moduri: prin procedura algebrică descrisă anterior sau cu ajutorul unor rețele neuronale artificiale. Ca orice algoritm avem sunt și dezavantaje, principalul fiind ignorarea componentelor care au o cantitate de energie mai mică, iar acest lucru nu conduce la îmbunătățirea separării dintre diversele subclase de imagini aparținând unor persoane diferite. Un alt dezavantaj îl reprezintă caracterul global al acestuia, deoarece matricea de covarianță este calculată în funcție de toate imaginile disponibile, care pot să difere foarte mult din punct de vedere al nivelului de iluminare, al orientării și al fundalului. În special pentru fețe, metoda PCA, est foarte sensibilă în cea ce privește normalizarea poziției acestora (translații și rotații sau variații de scală). Din acestă cauză este nevoie de o etapă separată pentru normalizarea aspectului imaginilor.

În figura de mai jos (Figura 25), se observă un set de imagini doar cu fețe luate dintr-o bază de date. Pe acest set de date se aplică metoda PCA și se obține mai multe cazuri cu imagini ʺ eigenfaceʺ (Figura 26). Cea mai utilă, fiind considerată ca fiind principala eigenface este cea de a doua din Figura 21.

Figura 25. Setul de intrare de imagini cu fețe

(a) (b) (c) (d) (e)

Figura 26. Rezultatul obținut după aplicarea PCA, eigenfaces

Capitolul 4. Descriere algoritm

3.4 Detectie de față

De cele mai multe ori, detecția de față se realizează în medii necontrolate, și este bine să luăm în calcul anumiți factori: variația imaginii analizate (se întâmplă când subiectul se deplasează sau se schimbă unghiul camerei din care se face poza), obiectele care pot bloca obținerea trăsăturilor( prezența ochelarilor sau a pălariilor), expresile faciale ( pot varia de la un cadru la altul), condițile imagistice (tipul camerei sau condițile ambientale pot modifica calitatea imaginii și implicit detecția feței).

Algoritmul folosit pentru detecția feței în această lucrare suportă o mare varietate de condiții de luminozitate, bazat pe tehnica de compensare de lumină și o transformare neliniară a culorilor. Am folosit această metodă deoarece este ușor de implementat și avem o rată de detecție a fețelor satisfăcatoare. Un alt avantaj este acela că timpul de execuție al algoritmului este relativ scurt în comparație cu alte metode, cum ar fi de exemplu cazul în care se folosesc rețele neuronale pentru detecție. În cazul rețelelor neuronale ai nevoie de o bază de date pentru antrenarea sistemului și acest lucru poate dura chiar și cateva zile până la obținerea unui rezultat satisfăcător. Este adevărat acest lucru se face doar o singură dată, dar în cazul în care datele de antrenare s-au pierdut va trebui să se repete procedeul de antrenare. Aceste probleme nu apar și în cazul metodei ce va fi prezentată.

Într-o vedere de ansamblu algoritmul de detecție de față este împarțit în două module: localizarea feței și detecția de caracteristici faciale pentru a valida că este față. Într-un prim pas se estimează și se corectează spațiul de culoare folosind tehnica de compensare a luminii. Apoi se detectează zonele de piele din imagine, folosind diferite spații de culoare pentru a reduce zona în care se caută fața. Într-o ultimă fază folosind spațiul de culoare YCbCr, ce a fost obținut printr-o transformare neliniară a culorilor rosu, verde și albastru din spațiul de culoare RGB, se găsesc trăsaturile specifice unei fețe (gura și ochii). Daca cele trei puncte (două puncte pentru ochi și unul pentru gură) îndeplinesc condițiile geometrice, atunci se confirmă că în imaginea analizată avem o față și se va returna locația acesteia în imagine.

Conditiile in care avem un grad ridicat de detectie pe persoane si recunoastere de persoane

http://www.apsipa.org/proceedings_2011/pdf/APSIPA123.pdf

https://web.stanford.edu/class/ee368/Project_03/Project/reports/ee368group02.pdf

http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6325324&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6325324

https://www.youtube.com/watch?v=WfdYYNamHZ8

https://gtav.upc.edu/publications/papers/2007/face-detection-and-tracking-in-dynamic-background-of-street

Gaussian Face??????? Chaochao Lu and Xiaoou Tang at the Chinese University of Hong Kong

Problem definition and history

1973 kanade First automated system

1987 Sirovich and kirby : principal component analysis

1991 turk and pentland EigenFace

1996 etemad and chellapa FisherFace

2001 Viola and Jones AdaBoost+Haar Cascade

2007 Naruniec and skarbek : gabor jets

http://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1155&context=theses

http://www.scientia.ro/tehnologie/39-cum-functioneaza-lucrurile/741-cum-functioneaza-recunoasterea-faciala.html

http://scs.etc.tuiasi.ro/iciocoiu/courses/ESL/homeworks/hw2/Capitolul1.pdf

http://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1155&context=theses

3.2 Recunoastere de fata

http://users.utcluj.ro/~arsinte/papers/VB_2005_Arsinte.pdf

http://ml.dcs.shef.ac.uk/gpss/gpfe14/talks/GaussianProcessesForFaceRecognition.pdf

Descriptori Fourier

Granita de K puncte in planul xy, incepand de la un punct de start arbitrar (x0,y0), in sens orar:

(x0,y0), (x1,y1), (x2,y2), … , (xK-1,yK-1)

Coordonatele: s(k) = [x(k), y(k)], pentru k = 0, 1, 2, … , K-1.

Fiecare coordonata ~ numar complex:

s(k) = x(k) + jy(k)

pentru k = 0, 1, 2, … , K-1.

=> axa x ~ axa reala

=> axa y ~ axa imaginara.

Avantajul: reducerea problemei 2-D problema 1-D.

http://www2.ece.ohio-state.edu/~aleix/CVPR08.pdf

https://dspace.lboro.ac.uk/dspace-jspui/bitstream/2134/10195/19/Hybrid.pdf

Capitolul 5. Rezultate si concluzii cel putin 2 pag

Concluzii: erorile, ce ai facut , ce ai folosit, cum ai facut testele, rezultatele experimentale

Dezvoltari ulterioare : ce vrei sa faci sau ce poti mai faci

In ce conditii s-au facut experimentele

Care au fost constrangerile

La ca a trebuit sa renunt pentru a reusi

Am ajuns in acest punc ……. am imbunatatit……

Probleme:

In cazul detectiei de gura nu intotdeauna este bine determinata, cateodata este nasul cel ales + poza

Nu se determina fete de la distanta mare si cu lumina proasta

Probleme cu detectia gurii si a nasului la distanta mare , se mai suprapun

Similar Posts