Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab

Proiect
9/10 (2 voturi)
Conține 11 fișiere: doc, mat, m
Pagini : 21 în total
Cuvinte : 2602
Mărime: 682.89KB (arhivat)
Publicat de: Petru Gradinaru
Puncte necesare: 10
Profesor îndrumător / Prezentat Profesorului: Otilia Dragomir
Universitatea VALAHIA din Targovişte Facultatea de Inginerie Electrică Specializarea Automatica si Informatica Aplicata

Cuprins

  1. Retele neuronale 4
  2. Perceptronul Multistrat 5
  3. Algoritmul Levenberg-Marquard 6
  4. Implementarea in Matlab 7
  5. Coduri sursa ale functiilor necesare detectiei prezentelor fetelor umane in imagine 8
  6. Coduri sursa ale functiilor necesare antrenarii retelei neuronale 11
  7. Rezultate ale aplicatiei in Mamtlab 16
  8. Concluzii 20
  9. Bibliografie 21

Extras din proiect

Retele neuronale

În ştiinţa inteligenţei artificiale, reţelele neurale caracterizează ansambluri de elemente de procesare simple, puternic interconectate şi operând în paralel, care urmăresc să interacţioneze cu mediul înconjurător într-un mod asemănător creierelor biologice şi care prezintă capacitatea de a învăţa. Nu există o definiţie general acceptată a acestor tipuri de sisteme, dar majoritatea cercetătorilor sunt de acord cu definirea reţelelor artificiale ca reţele de elemente simple puternic interconectate prin intermediul unor legături numite interconexiuni prin care se propagă informaţie numerică.

Originea acestor reţele trebuie căutată în studierea reţelelor bioelectrice din creier formate de neuroni şi sinapsele acestora. Principala trăsătură a acestor reţele este capacitatea de a învăţa pe bază de exemple, folosindu-se de experienţa anterioară pentru a-şi îmbunătăţi performanţele.

Caracteristici

Reţelele neurale artificiale se pot caracteriza pe baza a 3 elemente:

• modelul adoptat pentru elementul de procesare individual,

• structura particulară de interconexiuni (arhitectura)

• mecanismele de ajustare a legăturilor (algoritmii de învăţare).

Modele ale neuronului artificial

Sunt mai multe criterii de clasificare a modelelor neuronului elementar, ce implică: domeniul de definiţie a semnalelor folosite, natura datelor folosite, tipul funcţiei de activare, prezenţa memoriei. Dar cel mai utilizat model este modelul aditiv.

Arhitecturi

Există numeroase modalităţi de interconectare a neuronilor elementari, dar pot fi identificate două clase de arhitecturi:

• cu propagare a informaţiei numai dinspre intrare spre ieşire, reţele de tip feedforward

• reţele recurente (cu reacţie).

Un dezavantaj al reţelelor neurale îl constituie lipsa teoriei care să precizeze tipul reţelei şi numărul de neuroni elementari, precum şi modalitatea de interconectare. Există câteva tehnici de tip pruning sau de tip learn and grow, dar acestea sunt în intense cercetări.

Perceptronul Multistrat

Perceptronul multistrat este o reþea neuronalã cu propagare înainte (.feed-forward.) cu unul sau mai multe straturi ascunse

• Un strat de intrare

• Unul sau mai multe straturi ascunse / intermediare

• Un strat de iesire

Perceptronul multistrat pemite clasificarea in mai mult de doua clase cu conditia ca aceastea sa fie liniar separabile. Din punct de vedere al arhitecturi, perceptronul multiplu este o retea care contine un nivel de m unitati functionale total conectate cu cele N+1 unitati de intrare.

Ponderile conexiunilor dintre unitatile de intrare si cele funtionale (care sun totodata unitati de iesire pot fi organizate intr-o matrice W, cu M lini si N+1 coloane (pentru a cuprinde si unitatea fictiva asociata pragului unitatilor functionale).

Perceptron multistrat cu 2 straturi ascune

Calcule se realizeazã numai în neuronii din straturile ascunse si din stratul de iesire.

Semnalele de intrare sunt propagate înainte succesiv prin straturile relelei.

Un strat ascuns îsi ascunde iesirea doritã; cunoscând corespondenta intrare-iesire a retelei (cutie neagrã), nu se poate deduce care trebuie sa fie iesirea dorita a unui neuron dintr-un strat ascuns.

Retelele neuronale comerciale au de obicei unul sau doua straturi ascunse. Fiecare strat poate contine 10-1000 neuroni.

Retele neuronale experimentale pot avea 3 sau 4 straturi ascunse, cu milioane de neuroni.

Algoritmul Levenberg-Marquard

Algoritmul Levenberg-Marquardt este un algoritm de invatare supervizata care a fost proiectat pentru atinge o viteza de antrenare de ordinul doi, fara a fi necesara calcularea matricei Hessiene. Cand functia de performanta are forma unei sume de patrate (caracteristic pt. retelele cu transmitere inainte), atunci matricea Hessiana poate fi aproximata astfel: H = J TJ, iar gradientul poate fi calculat astfel: g = J T e , unde J este matricea Jacobiana care contine primele derivate ale erorilor retelei (adica a functiei de performanta) in raport cu ponderile si deplasarile, iar e este vectorul erorilor retelei. Matricea Jacobiana poate fi calculata printr-o tehnica standard de propagare inversa (care este mult mai putin complicata decat calcularea matricii Hessiene).

Algoritmul Levenberg-Marquardt foloseste aceasta aproximare pt. matricea Hessiana, intr-o recurenta asemanatoare cu metoda Newton:

Cand scalarul μ este zero, aceasta este chiar metoda Newton, folosind matricea Hessiana aproximativa. Cand μ este mare, aceasta devine “gradientul descendent”, cu un pas mic. Metoda Newton este mai rapida si mai precisa in privinta minimului erorii, astfel ca ideea este de a ne deplasa catre metoda lui Newton, cat mai repede posibil. Ca atare, μ este micsorat dupa fiecare pas realizat cu succes (care face o reducere in functia de performanta) si este marit doar, cand in urma pasului, creste functia de performanta. In acest fel, functia de performanta va fi intotdeauna redusa la fiecare iteratie a algoritmului.

In general, la problemele de aproximare a unei functii, pentru retelele care contin pana la cateva sute de ponderi, algoritmul L-M va avea convergenta cea mai rapida. Acest avantaj este observabil in special daca se cere o mare precizie a antrenarii. In multe cazuri, L-M poate obtine o eroare medie patratica mai mica decat oricare alt algoritm. Totusi, pe masura ce numarul ponderilor din retea creste, avantajul lui L-M scade. In plus, performanta lui L-M este relativ slaba in problemele de “recunoastere a formelor”. Cererile de memorie pt.L-M sunt mai mari decat pt. alti algoritmi.

Pentru retele de dimensiuni mici si medii, usual se utilizeaza antrenarea Levenberg-Marquardt, daca se dispune de memorie suficienta. Daca memoria este o problema, atunci exista o varietate de alti algoritmi rapizi. Pentru retele mari se va folosi algoritmii cu gradient conjugat sau propagarea inversa flexibila.

Preview document

Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 1
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 2
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 3
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 4
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 5
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 6
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 7
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 8
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 9
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 10
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 11
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 12
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 13
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 14
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 15
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 16
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 17
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 18
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 19
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 20
Detecția prezenței fețelor umane în imagini folosind rețele neuronale. Implementare în Matlab - Pagina 21

Conținut arhivă zip

  • Detectia Prezentei Fetelor Umane in Imagini Folosind Retele Neuronale. Implementare in Matlab.doc
  • eone.m
  • etot.m
  • forward.m
  • image2rgbhist.m
  • levmar.m
  • resize_matrix.m
  • rgb_forward.m
  • rgb_trainall.m
  • rgb_weights.mat
  • sigmoid.m

Alții au mai descărcat și

Recunoaștere optică a caracterelor (OCR)

Retelele neuronale sunt inspirate de creierul uman. Sunt asemeni unui processor cu o multitudine de unitati de prelucrare paralela. Au fost facute...

Probabilitatea de Lovire în Cazul unei Poziții Date a Traiectoriei Medii Fața de Tinta

1. CONSIDERATII GENERALE Succesul împotriva unui adversar este evident condiţionat de calitatea armamentului din dotarea unităţilor, subunitătilor...

Baze de Date Multimedia

Baze de date multimedia Definirea conceptelor. Aplicatii. Data base - baza de date - este un grup de fisiere în care este înregistrata o multime...

Folosirea criptării în internet

I Introducere : Nu putem vorbi în zilele noastre despre transmisia datelor prin intermediul reţelelor de telecomunicaţii şi internet fără să...

Aplicații Client Server

Aplicatii client server Studiu de caz- Solutie de gestiune a Resurselor Umane si Salarizarii Solutiile de gestiune economica Mobius, sunt...

Evenimente Naturale care se Autoconsolideaza prin Circuite de Feedback

“Feedback-ul este ceea ce lipsea din stiinta, in afara lui Newton”, spunea omul de stiinta britanic Steve Grand. “Noi credeam ca este un fenomen...

Sisteme bazate pe cunoștințe în conducerea proceselor

Programul realizeaza determinarea procesului de incalzire ,respectiv racire intr-o camera si a timpului (maxim respectiv minim) in functie de trei...

Obiective și Aplicații ale Nanotehnologiei

I. INTRODUCERE Dezvoltarea ştiinţei a demonstrat că cele mai spectaculoase progrese se obţin prin cercetare pluridisciplinară, situată la graniţa...

Ai nevoie de altceva?