Sunteți pe pagina 1din 5

DETECTAREA IMAGINII FETEI CU C# NET

Tehnicile de recunoaștere de imagini digitale folosesc rezultatele și metodele matematice din


recunoașterea formelor, inteligența artificială, psiho-fiziologice, știința calculatoarelor,
electronica și multe alte discipline științifice. Pentru a simplifica sarcina înțelegerii viziunii
computerizate, putem distinge în lanțul algoritmic două nivele: procesarea de nivel scăzut a
imaginii și înțelegerea de nivel înalt a imaginii. Procesarea de nivel înalt se bazează pe
cunoaștere , utilizând algoritmi ce duc la un sfârșit scopul propus. Metodele de inteligență
artificială sunt folosite în cele mai multe cazuri. Viziunea computerizată de nivel înalt încearcă
sa imite cunoașterea umană și capacitatea de a lua decizii potrivit informației conținute in
imagine. Viziunea computerizată și deci procesul de recunoaștere, sunt strâns legate de
cunoașterea a-priori a conținutului imaginii. O imagine poate fi descrisă printr-un model formal,
dar acest model nu rămâne neschimbat. Deși modelul inițial se poate compune din cunoaștere a-
priori generală, procesarea de nivel înalt extrage în mod continuu noi informații din imagini,
reînnoiește și clarifică cunoașterea.
Detectarea fetei este o tehnologie care este utilizata intr-o varietate de aplicatii. Singurul scop
este acela de a extrage informații dintr-un sistem foto în vederea identificării unui chip uman
intr-o imagine digitala. Sarcina este de a gasi locatiile si dimensiunile tuturor obiectelor dintr-o
imagine care apartin unei clase de date. Ca rezultat,algoritmul va desena o caseta de delimitare in
jurul obiectului droit.
Algoritmul de detectare a fetei se concentreaza pe detectarea fetelor umane frontale.Este o
abordare bazata pe ML,unde o functie in cascada este antrenata dintr-o multime de imagini
positive si negative.Este apoi folosit pentru a detecta obiecte din alte imagini (in cazul
nostrum,acestea ar fi fete).
Detectarea imaginii fetei .NET Project:
Pentru a putea crea proiectul, trebuie sa aruncam o privire asupra unei liste de dependente de
care o sa avem nevoie:
 Acord;
 Acord.Imagistica
 Accord.MachineLearning;
 Acord.Math;
 Acord.Vision.

Accord.NET:
Cadrul Accord.NET este un cadru de machine learning NET combinate cu bibliotecile de
procesare audio si imagine ,complet scrise in C#.
Detectarea obiectelor:
Exista doua clase din biblioteca Accord.NET pe care le.am folosit. Prima fiind clasa
HaarObjectDetector,iar cea de-a doua clasa FaceHaarCascade. Prima clasa este implementarea
pe Detectorul de obiecte Viola-Jones bazat pe caracteristici asemanatoare Haar,iar ca
rezultat,aceasta clasa ne permite sa utilizam cascade diferite pentru detectarea diferitelor tipuri de
obiecte dintr-o imagine(de exemplu,putem utiliza aceasta clasa pentru a detecta
fete,ochi,nas,pietoni,etc.).
Cea de-a doua clasa este pregatita special pentru a detecta fetele dintr-o imagine. Codul care
combina cele doua clase arata astfel:
var faceDetector = new HaarObjectDetector(new FaceHaarCascade());
Descrierea aplicatiei:
Numele proiectului este Face Detection,iar in imagine este prezentata interfata aplicatiei, o
fereastra in care intalnim un buton Open Image si parametrii de detectare a fetei,fereastra ce
apare in urma efectuarii unui click pe butonul de Start.
Butonul Open Image:

Scopul acestui buton este acela de a permite utilizatorului sa poata accesa o anumita imagine
(in formatul precizat in imaginea de mai sus), imagine care mai apoi sa fie prelucrata cu ajutorul
parametrilor prezenati mai jos.
Parametrii de detectare a fetei:
Pentru a putea trece la detectarea fetelor,trebuie sa configuram cativa parametrii:
 MaxSize/MinSize: dimensiunea maxima/minima a ferestrei de luat in considerare la
cautarea obiectelor.
 ScalingFactor:obtine sau seteaza factorul de scalare pentru a redimensiona fereastra in
timpul cautarii.
 ScalingMode:obtine sau seteaza metoda de scalare dorita.
 SearchMode(detect):obtine sau seteaza metoda de cautare dorita.
 UseParallelProcessing: obtine sau seteaza o valoare care indica daca acest
HaarObjectDetector ar trebui sa scaneze imaginea utilizand mai multe filtre.
 Detect: odata apasat,butonul detecteaza fata sau fetele din imaginea aleasa.
Functia de detectare a fetei:
var faceRectangles = faceDetector.ProcessFrame(picture);
Dupa ce am setat parametrii,tot ce trebuie sa facem este sa apelam metoda ProcessFrame
cu o imagine Bitmap ca parametru.
FaceRectangles este o matrice de dreptunghiuri.Structura rectangle reprezinta locatia si
dimensiunea fiecarei cutii de limitare a fetei pe imagine.

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