Trăim într -o lume a tehnologiei avansate și nimeni nu își mai poate imagina o viată fără calculatoare sau [625820]
Introducere
Trăim într -o lume a tehnologiei avansate și nimeni nu își mai poate imagina o viată fără calculatoare sau
telefoane mobile.
Calculatoarele sunt reprezentate între timp pretutindeni și în viața cotidiană a fiecăruia dintre noi: –
începând de la tabela de in formare dintr -un Supermaket până la sistemul de entertain din mașina, pe
care o conducem. Să nu uităm telefoanele mobile care cele mai multe dintre ele au funcții și aplicații
informatice de ultimă generație.
Nu toate aceste sisteme pot fi dirijate prin c onceptul de bază, având mouse și tastatură. Pentru astfel
de situații este nevoie de concepte noi de deservire.
Chiar dacă între timp majoritatea acestor funcții și aplicații informatice au fost implementate in
telefoanele mobile nou apărute pe piața și au devenit astfel accesibile publicului larg, cadru de utilizare
a multora dintre aplicații este limitat și astfel nu toate problemele pot fi rezolvate prin montarea unor
aplicații.
Într-un domeniu, cum ar fi recunoașterea de chipuri sau de fețe, s -au încer cat și aplicat multiple
metode. Fiind atât de vast acest domeniu se pot implementa metode noi sau perfecționa cele existente.
În filme se poate vedea mereu, cum unii dintre actori recurg la metode informatice avansate de -a sparge
un seif, de -a accesa niște date secrete dintr -o bază de date, de -a avea acces în spații de siguranța, prin
aplicații cum ar fi recunoașterea de voce, de iris, de chip, de amprentă. Chiar dacă cele arătate în
film se pot cataloga drept ficțiune, conceptul de -a recunoaște chipul sau amprenta, este aplicabil și în
lumea reală, departe de Hollywood.
În continuare sunt orașe precum Rotterdam, în care s -a testat timp de un an un scanner de chipuri, în
scopul de -a reduce vandalismul și violent,a într -o stație de metrou intens circulată. În Germania s -au
inițiat proiecte în cadrul Festivalurilor de cultură, a concertelor de muzică în aer liber sau a meciurilor de
fotbal, care au făcut posibilă recunoașterea chipurilor persoanelor participante, în vederea depistării și
identicării indivizilor cu problem comportamentale.
Un chip recunoscut poate folosit ca și un factor biometric în vederea autentificării în rețelele de
calculatoare.
Se poate observa deci faptul că, recunoașterea digitala de chipuri sau de fețe este răspândită într – o
oarecare măsură în domenii mai puțin obișnuite, cum ar fi criminalistică, medicină legală, baza de date
din cadrul Serviciului de evidentă al populației. Acest lucru are bineînțeles mai multe motive, iar unul
dintre acestea este desigur faptul că, transpunerea tehn ică nu este accesibilă tuturor. Persoanele care ar
folosi aceste aplicații nu sunt informaticieni calicați și astfel nu dispun de cunoștințele necesare pentru a
transpune tehnic recunoașterea de chipuri bazată pe aparate foto. Aici intervine rolul unui
informatician. Acesta dispune de cunoștințe de limbaje de programare, cu ajutorul cărora se face
posibilă transpunerea în realitate a recunoașterii digitale de chipuri. Trebuie asigurat faptul că, aplicația
poate fi folosită de fiecare și de persoane care dis pun doar de puține cunoștințe de programare.
1. Noțiuni generale
1.1 Recunoașterea facială
1.1.1 Ce este recunoașterea facială
Recunoașterea feței este o sarcină ușoară pentru oameni. Diferite au arătat că și copiii în vârstă de una
până la trei zile sunt capabili să distingă fețele cunoscute. Sa demonstrat că creierul nostru are niște
celule nervoase specializate care răspund anu mitor caracteristici locale ale unei scene, cum ar fi linii,
muchii, unghiuri sau mișcări. Deoarece nu vedem lumea ca niște piese împrăștiate, cortexul nostru vizual
trebuie să combine într -un fel diferitele surse de informații în modele utile. Recunoașter ea automată a
feței vizează extragerea acelor trăsături semnificative dintr -o imagine, punerea lor într -o reprezentare
utilă și efectuarea unui fel de clasificare asupra lor.
Recunoașterea feței pe baza caracteristicilor geometrice ale unei fețe este proba bil cea mai intuitivă
abordare a recunoașterii faciale. Unul dintre primele sisteme automate de recunoaștere a feței a fost
descris astfel: punctele marker (poziția ochilor, urechilor, nasului etc.) au fost folosite pentru a construi
un vector caracteristi c (distanța dintre puncte, unghiul dintre ele,). Recunoașterea a fost efectuată prin
calcularea distanței euclidiene dintre vectorii de trăsături ale unei probe și imaginea de referință. O
astfel de metodă este robustă împotriva modificărilor iluminării pr in natura ei, dar are un dezavantaj
uriaș: înregistrarea exactă a punctelor marker este complicată, chiar și cu algoritmi de ultimă oră. Unele
dintre cele mai recente lucrări privind recunoașterea geometrică a feței care au fost efectuate a un
vector de 2 2 de dimensiuni și experimentele pe seturi de date mari au arătat că numai caracteristicile
geometrice nu au suficientă informație pentru recunoașterea feței. *1+
Recunoașterea fețelor de azi funcționează cel mai bine atunci când li se dau imagini frontal e
complete ale fețelor, în condiții relativ uniforme de iluminare, deși imaginile ce urmează a fi stocate în
baza de date sunt create la diferite varietati de lumină.
!!!!screenshot cu baza de date!!!!!!
Unele dintre cele mai vechi abordări pentru recuno așterea feței au implicat găsirea locațiilor cu
trăsături distinctive ale imaginii, cum ar fi ochii, nasul și gura, și măsurarea distanțelor între aceste locații
caracteristice. Abordările mai recente se bazează pe compararea imaginilor de nivel de culoare gri
proiectate pe dimensiuni reduse subspații numite eigenfaces și modelarea în comun a formei și a
aspectului variații utilizând modele de aspect activ . *2+
1.1.2 Aplicații și domenii care azi se folosesc sisteme de recunoaștere facială
Platformele de s ocial media au folosit recunoașterea faciala pentru a -și diversifica funcționalitățiile și
pentru a atrage o gamă cât mai mare de utilizatori.
SnapChat este o aplicatie media ce foloseste filtre speciale pentru modificarea feței, fapt ce i -a adus un
real succes pe intreg mapamondul, toate acestea fiind posibile prin utilizarea tehologiilor de
recunoaștere faciala.
DeepFace este un sistem de recunoaștere facială, creat de un grup de cercetare de pe Facebook.
Identifică chipurile umane în imagini digitale. Utilizează o rețea neurală cu nouă straturi, cu peste 120 de
milioane de greutăți de conectare, și a fost instruită pe patru milioane de imagini încărcate de utilizatorii
Facebook. Se spune că sistemul este 97% corect, comparativ cu 85% pentru sistemul de identificare de
generație următoare a FBI *20+
.
Chiar și noile tehnologii mobile folosesc sisteme biometrice de recunoaștere facială, unul diintre acestea
este Face ID, introdus de Iphone, pentru noul model de telefon: Iphone X, acesta f iind introdus pe
motive de securitate, pe langă amprenta digitală. ID -ul feței are un senzor de recunoaștere a feței care
constă din două părți: un modul "Romeo" care proiectează mai mult de 30.000 de puncte infraroșu pe
fața utilizatorului și un modul "Ju lie" care citește modelul. Modelul este trimis la un "Secure Enclave"
local din unitatea centrală de procesare a dispozitivului pentru a confirma o potrivire cu fața
proprietarului telefonului.
Un alt domeniu in care recunoașterea facială are un rol import ant este in poliție, Forța de frontieră
australiană și serviciile vamale din Noua Zeelandă au înființat un sistem automatizat de prelucrare a
frontierelor, numit SmartGate, care utilizează recunoașterea feței, care compară fața călătorului cu
datele din mi crocipul e -passport. Principalele aeroporturi canadiene vor folosi un nou program de
recunoaștere facială care va compara fețele oamenilor cu pașapoartele lor. Aeroportul Internațional
Tocumen din Panama operează un sistem de supraveghere la nivel de aerop ort, folosind sute de camere
de recunoaștere a feței vii pentru a identifica persoanele care au căutat să treacă prin aeroport. Forțele
de poliție din Marea Britanie au încercat tehnologia de recunoaștere facială în direct la evenimentele
publice din 2015. Cu toate acestea, un raport recent și o investigație efectuată de Big Brother Watch au
constatat că aceste sisteme au fost de până la 98% inexacte.
Recunoașterea faciala este folosită și in securitatea națională și internațională, un bun exemplu ar fi
Departamentul de Stat al SUA administrează unul dintre cele mai mari sisteme de recunoaștere a feței
din lume, cu o bază de date de 117 milioane de adulți americani, fotografiile făcute în mod obișnuit din
fotografiile licenței de conducere. Deși este încă de parte de a fi finalizat, este pus în aplicare în anumite
orașe pentru a da indicii despre cine a fost în fotografie. FBI folosește fotografiile ca instrument de
investigație, nu pentru identificarea pozitivă. Începând cu anul 2016, recunoașterea facială a fost
utilizată pentru a identifica persoanele din fotografiile făcute de poliție în San Diego și Los Angeles (nu în
timp real și numai în rezervarea fotografiilor), iar utilizarea a fost planificată în Virginia de Vest și Dallas.
[3]
1.1.3 Punctele slabe s istemului de recunoaștere facială
Punctele slabe ale recunoașterii faciale sunt reprezentate de factori cum ar fi unghiul de vizionare al
feței, sistemele de recunoaștere facială sunt capabile să recunoască o față în poziție frontală până la un
punct de ap roximativ 20°, dar dacă fața este înclinata la mai mult de 20°, sistemul nu mai poate detecta
si recunoaște fața respectivă. Un alt factor ce aduce un dezavantaj rescunoașterii faciale este rezoluția
cu care sunt captate imagiiniile , precum și luminozitat ea în care acestea sunt captate, acești factori duc
la scăderea preciziei de recunoaștere faială.
!!!!imagini cand nu se realizeaza recunoasterea
Tehnici de recunoaștere faciala
Recunoașterea tradițională (2D)
Aceasta tehnică este una dintre cele mai vech i tehnici de recunoaștere facială. Aceasta foloseste
algoritmi ce au ca scop extragerea de repere sau caracteristici din imaginile create, respectiv fața
individului. Unii algoritmi analizează poziția, mărimea și / sau forma relativă a ochilor, nasului, po meților
și maxilarului, acestea fiind folosite pentru a căuta alte imagini cu caracteristici asemănătoare. Pe când
alți algoritmi normalizează o galerie de imagini cu fața și apoi comprimă datele de pe față, salvând doar
datele din imagine care sunt utile pentru recunoașterea feței.
Algoritmii folosiți la recunoașterea 2D pot fi împărțiți în două categorii principale cum ar fi: algoritmii
geometrici – privesc caracteristicile distinctive sau fotometrice, care reprezintă o abordare statistică care
destabiliz ează o imagine în valori și compară valorile cu șabloanele pentru a elimina varianțele și
algoritmii ce includ analiza principală a componentelor utilizând eigenfaces, analiza diferențială liniară,
potrivirea grafurilor elastice utilizând algoritmul Fisher face, modelul ascuns Markov și învățarea
subspațială multiplă.
Recunoașterea 3D
Această tehnică utlizeaza senzori speciali pentru detectarea formei feței, iar informația obșinută este
utilizată pemtru a identifica structurile distincte ale feței, de expe mplu conturul ochiilor, nasul, bărbia și
buzele. Un mare avantaj al recunoașterii faciale 3D este faptul ca nu este influențată de lumină dar și ca
poate realiza recunoaștgerea facială din mai multe unghiuri, chiar și din profil, datorită folosirii datelor
tridimensionale ce îmbunătățesc foarte mult precizia recunoașterii.
Analiza texturii pielii
O altă tehnică este recunoașterea prin analiza texturii pielei, aceaste tehnică transforma liniile și
amprentele din pielea unei persoane într -un algoritm matemati c.
O astfel de recunoaștere se realizează astfel: imaginea este luată pe un plasture special, apoi acesta este
împarțit în blocuri mai mici, apoi folosing algoritmi pentru a transforma plasturele într -un model
matematic, și astfel sistemul creat special pentru asta reușește să distingă liniile fine, porii și textura
pielii.
Un astfel de sistem este foarte precis, reușește să distingă gemenii identici dar și sa îmbunătățească
recunoașterea facială cu până la 25%.
Camera foto termică
O nouă metodă de recunoaștere facială se descrie ca fiind recunoașterea termică. Aceasta folosește un
dispozitiv de captare a imagiinilor special, care face abstracție de accesoriile din jur și captează doar
forma feței. O problemă a acestei tehnici este b aza de date care este limitată.
Recunoașterea termică utilizează senzori electrici feroelectrici cu sensibilitate scăzută, cu rezoluție mică,
care sunt capabili să achiziționeze luminii termice cu infraroșu lung, aceasta fiind capabila să realizeze
recunoa șterea facială la diferite intensități ale luminii chiar si în întuneric.
Inteligența artificială
Noțiuni generale
Un subiect destul de controversat al tehnologiei este inteligența artificială, domeniu care cuprinde și
recunoașterea facială, deoarece, inte ligența artificilă nu face altceva decât să înțeleagă și sa construiască
entități inteligente asemeni unui om.
Inteligența artificială este unul dintre cele mai noi domenii ale științei și ingineriei. Munca a început
serios după al doilea război mondial, și numele însuși a fost inventat în 1956.
Inteligența artificială cuprinde în prezent o mare varietate de subcâmpuri, de la general (învățare și
percepția) la specific, cum ar fi jocul de șah, dovedirea teoriei matematice, conducerea unei mașini pe o
stradă aglomerată și diagnosticarea bolilor. Inteligența artificială este relevant pentru orice sarcină
intelectuală; este cu adevărat un câmp universal.
Discipline care au contribuit la dezvoltarea inteligenței artificiale
Pentru creearea acestui vast domeniu , mai multe discipline, chiar din ramuri total diferite au contribuit
la dezvoltarea inteligenței artificiale. Dintre aceste discipline fac parte:
• Psihologia participa la creearea conceptului de inteligență artificială deoarece se incearca
creearea unor sisteme inteligente asemenea inteligenței umane, deci, înainte te a pune bazele unui
astfel de sistem, trebuie analizat modul de gândire a omului, cum reacționează in anumite situații, de ce
ia anumite decizii.
• Matematica are o importantă contribuție in realizarea sistemelor tehnologice bazate pe
inteligența artificială deoarece pune la dispoziție diverși algoritmi ce ajută la transformarea anumitor
abilități umane in formule matematice ce vor fi folosite în transformarea lor în cod programabil.
Referito r la aplicația software creată de mine – recunoaștere faciala în timp real – după analiza biologică
de cum detecează individul un portret și cum îl memorează s -a realizat un algoritm matemetic specific,
mai exact eigenface bazat pe reducerea informațiilor i nutile și alegrea caracteristiciilor semnificative
excat cum creierul uman percepe imaginea.
• Economia este influențată de acest domeniu deoarece prin creearea unor solft -uri inteligente,
pot maximiza producția. Din acest punct de vedere se urmărește cree area unor sisteme cât mai
profesionale la costuri cat mai mici.
• Ingineria Calculatoarelor, acest domeniu intervine în mod direct în crearea de soft inteligent, aici
se crează componentele de hardware și software ce compun mașini, sisteme sau aplicații câ t mai
inteligente, aproape de inteligența umană. *7+
• Biologia, așa cum urmează să descriu în capitolul Rețele neuronale ajută acest domeniu prin
simplul fapt că în urma studiilor despre cum un individ procesează anumite informații și cum
funcționeaza s istemul nervos la primirea unor noi informații oferă domeniului tehnic bazele creării
sistemelor inteligente.
1.2 Rețele neuronale
1.2.1 Noțiuni generale
Rețele neuronale reprezintă mai multe ansambluri de elemente de procesare simple, interconectate
prin canale de comunicații prin care se propagă informație numerică. Altfel spus rețelele neuronale
artifciale sunt rețele alcătuite din neuroni artifciali. Acestea reprezintă obiectul de cercetare a
neuroinformaticii și reprezintă ramura inteligenței artifc iale. Rețelele neuronale artifciale au la fel ca și
neuronii artifciali un model biologic.[4] [5]
O reprezentare simplifcată a unei rețele neuronale artifciale este prezentată în figura
Rețea neuronala
Rețelele neuronale artifciale se bazeaza de cele m ai multe ori pe o interconectare a mai multor neuroni
sau devieri ușoare de la aceștia. În principiu pot găsi aplicație și alți neuroni artifciali într -o rețea
neuronală artifcială. Topologia unei rețele trebuie să fie bine gândită. După construcția unei r ețele
urmează faza de antrenament, în care o rețea învață.
Din punct de vedere teoretic o rețea poate învăța prin următoarele metode:
a. Dezvoltarea de noi conexiuni, radierea conexiunilor existente.
b. Modifcarea ponderii (a ponderii wij de la neuronal i la neuronul j).
c. Adaptarea valorilor prag a neuronilor.
d. Adăugarea sau ștergerea de neuroni.
La programele cu rețele neuronale nu există o zonă fixă de memorare.Datele sunt memorate
prin stabilirea valorilor corespunzatoare ale ponderilor conexiunilor sinaptice dintre neuronii rețelei. La
programele standarte cu locație fixă de memorare in cazul defectării zonei de memorare întregul
program este inutil, spre diferența de programele cu rețele neuronale unde distrugerea unei zone nu
implică distrugerea sau neputința de rezolvare a sarcinii. La asemenea defecțiune scade doar
perfomanța, acuratețea pr ogramului.
Algoritmul la rețele neuronale este puțin neconvențional față de cele obișnuite prin faptul că ele nu
necesită scrierea amănunțită a pasilor, ele obțin soluția/soluțiile prin învățarea din exemple. Evindent cu
cît se fac mai multe exemple cu atâ t mai apropiat este programul de soluția ideală.
1.2.2 Neuronul biologic
Neuronii sunt celule individuale, specifce pentru sistemul nervos, care comunică între ele. Mărimea unui
neuron este cuprinsa între 100 -200 µm si 4 -8 µm. Neuronii sunt
interconectaț i prin sinapse.
Neuronul este format din:
– dendrite, se colectează semnalele de intrare de la alți neuroni.
– soma (corpul neuronului/celulei), formată din membrană si substanța intracelulară -trasnformă în
anumite condiții semnalele de intrare în semnale de ieșire.
– axon, se transmit semnalele de ieșire spre alți neuroni.
Semnalele care se transmit între neuroni au o formă electrică, potențialul electric
variază spațio -temporal. Aceste schimbări au loc pe membrama celulei. în stare de repaus interiorul
celulei este încărcat cu sarcină negativă. Diferent,a de potenț ial între interior si exterior este
aproximativ -70 mV. Dendritele sunt canalele de intrare in neuron.
Neuronul biologic
1.2.3 Neuronul artificial
Rețelele neuronale sunt modele matematice făcute după sistemele nervoase biologice. Un neuron
artifcial este o unitate de procesare simplă într -o rețea neuronală artificială, analogă neuronului biologic.
Neuronul artifcial formează baza pentru un model al rețelei neuronale artifciale, un model din
neuroinformatică, care este motivat prin rețele neuronale biologice. Ca și model conectionist neuronii
formează într -o rețea formată din neuroni artifciali, o rețea neuronală artificială și pot astfel aproxima în
mod arbitrar funcții complexe, învață exer ciții și rezolva probleme, la care este dificilă sau nerealizabilă o
modelare explicită. Exemple ar fi recunoașterea feței și a limbajului.
Neuronul articial s -a născut dintr -un model biologic al celulei nervoase și poate prelucra mai multe
introduceri de date și reacționa corespunzător cu privire la activarea
sa. Pentru acest lucru introducerile sunt predate unei funcț ii de emitere, care calculează activarea
neuronală. Comportamentul acestora le este dat în general prin învățatare
folosindu -se un procedeu de învațare. *6+
• Detecția facială
• Noțiuni generale
Pentru a realiza recunoașterea facială este nevoie, în primul rând, de detecția facială. Aceasta
reprezintă un subsistem al tehnologiei calculatoarelor ce are ca și scop identificarea feței în cadr ul unor
imagini digitale. Aplicațiile ce folosesc detecția facială folosesc algoritmi speciali de detecție ce reușesc
să găsească fața din cadrul unor imagini ce ar putea conține mai multe elemente.
Detecția facială poate opera în mai multe moduri. Prin c ăutarea ochiilor; prin culori, căutarea
tonurilor de gri din imagine; printr -un algoritm genetic petru căutarea regiunilor facilale, de exemplu
sprâncenele, gura, nasul, nările și irisul. Acesta ar identifica mai întâi posibilele regiuni faciale și apoi v a
aplica teste suplimentare pentru validare.
• Domenii de aplicare
Detecția facială este prezentă în mai multe tehnologii, câteva exemple de aplicații și sisteme ce
folosesc detecția faciala sunt:
• Fotografia – cel mai des în fotografie ne întâlnim cu det ecția facială ca o modalitate de a ajuta la
focalizarea chipurilor fotografiate dar și în recunoașterea zâmbetului.
• Marketing – în acest domeniu detecția facială este folosită pentru a descoperi câți și când
oamenii se află într -o zonă de interes pentru e i, iar cu ajutorul unor algoritmi specifici calculează vârsta
și sexul persoanelor și astfel afla pentru ce categorie de public este de interes domeniul lor de activitate
• Recunoașterea facială – aici este cel mai des utilizată, așa cum este menționat și mai sus, nu se
poate realiza recunoașterea facială fără ca fața să fie detectată.
• Metode de detecție facială
Există mai multe metode de detecție și localizare a feței, b azate pe mai multe principii și care
folosesc diferiți algoritmi. O listă a celor mai importante tehnici folosite pentru detecția facială sunt:
• Detecția facială din imagini cu un fundal plat
Se realizează detecția facială cu imagini, video sau chiar det ecția facială în timp real în care
fundalul sau mediul înconjurător în care se află individul este destul de simplu, fără multe culori sau
forme.
• Detecția facială folosind culoriile
Această metodă se folosește pentru imagini color, bazându -se pe utiliza rea culorii tipice a pileii
pentru a detecta chipul. Această metodă are și un mare dezavantaj deoarece nu funcționează pentru
toate tipurile de culori ale pielii și bineînțeles, acestă metodă poate fii defavorizată și de intensitatea
luminii în care sunt c aptate imaginiile.
• Detecția facială în mișcare
Această metodă este în special folosită pentru detecția facială în timp real, pentru a realiza
detecția facială în timpul mișcării în primul rând se compară cadrul curent cu cel anterior, iar daca
diferenț a dintre valorile pixelilor, dintre cadrul curent și cel anterior, este mare înseamnă că mișcarea a
fost semnificativă, această tehnică se bazeaza pe compararea valoriilor pixelior din din diferite cadre .
O imagine tipica în timpul mișcării
Suma de pi xeli pe fiecare linie din cadrul obținut în mișcare
• Detecția facială în cadre fără restricții
• Metoda Voila and Jones
Viola -Jones, metodă folosită și în aplicația analizată în aceasta lucrare, necesită vizualizarea
completă a fețelor drepte frontale. A stfel, pentru a fi detectat, întreaga față trebuie să fie îndreptată
spre aparatul foto și nu trebuie înclinată în nici o parte. În timp ce se pare că aceste constrângeri pot
diminua utilitatea algoritmului, deoarece pasul de detectare este cel mai adesea urmat de o etapă de
recunoaștere, în practică aceste limite de poziționare sunt destul de acceptabile.
Caracteristicile algoritmului Viola -Jones care îl fac un bun algoritm de detectare sunt:
• Robustă – rată de detecție foarte ridicată și rată foarte scăz ută fals pozitivă întotdeauna.
• Timp real – Pentru aplicații practice, trebuie procesate cel puțin 2 cadre pe secundă.
• Detectarea feței – Scopul este de a distinge fețele de non -fețe
Acest algoritmul are patru etape:
• Selectarea funcției Haar
• Creare a unei imagini integrate
• Instruire Adaboost
• Cascading Classifiers
Caracteristicile căutate de cadrul de detectare implică în mod universal sume de pixeli de
imagine în zone rectangulare. Cu toate acestea, deoarece trăsăturile folosite de Viola și Jone s se bazează
pe mai multe suprafețe dreptunghiulare, ele sunt, în general, mai complexe. Valoarea oricărei
caracteristici date este suma pixelilor din cadrul dreptunghiurilor clare, scăzute din suma pixelilor din
dreptunghiurile umbrite. Caracteristicile d reptunghiulare de acest fel sunt primitive în comparație cu
alternative cum ar fi filtrele direcționate. Deși sunt sensibile la caracteristicile verticale și orizontale,
feedback -ul lor este mult mai aspru. Această metodă va fi mai larg descrisă în capitol ul.[12]
Schița metodei Voila and Jones
NetBeans
NetBeans IDE sau pe scurt NetBeans este o colecție de programe de aplicație, cu ajutorul cărora pot fi
creeate aplicații software fără un schimb al mediului purtător de informații, fiind scris complet în
limbajul de programare Java, derulându -se pe platf orma NetBeans.
NetBeans IDE afost creeat în special pentru limbajul de programare Java, însă susține și limbaje precum
C, C++ .
Arhitectura software -ului este construită complet în mod modular și poate fi extins prin așa numitele
module respective Plu gins
NetBeans este un proiect Open -Source, care poate fi folosit ca și platformă pentru aplicații propri.
Având un cerc de utilizator foarte mare și o comunitate mereu crescândă și cu peste 100 de parteneri,
este o aplicație răspândită și integrată în to ată lumea.
Numărul și complexitatea aplicațiilor moderne este într -o continua crestere și in acelasi timp aplicațiile
profesionale trebuie să fie flexibile, deci trebuie să fie rapide și ușor de extins. Aceasta face să fie
necesar ca aplicațiile să fie împ ărțite in diferite părți, iar ca rezultat, fiecare partre este un bloc care
contureză o arhitectură modulară. Părțile distincte trebuie să fie independente, să fie vizibile și cu
interfețe bine -definite în așa fel încât să poată fi folosite si de celelal te părți ale aplicației. Deviza
aplicațiilor pe module este – utilizarea părțiilor logice independente, fapt ce accentueaza enorm design -ul
aplicației.
Sigla NetBeans
Istoria acestui mediu de programare a început în anul 1996, sub numele de Xelfi, fiind un proiect
realizat de un student din cadrul Matematică și Facultății Fizică de la Universitatea Charles din Praga. În
1997, Roman Staněk a creeat o companie pe baza proiectului și a produs versiuni comerciale ale
NetBeans IDE până când a fost cumpărat de Sun Microsystems în 1999, iar de atunci comunitatea
NetBeans a continuat să crească. În 2010 a NetBeans a fost cumpărat de Oracle Corporation. În
septembrie 2016, Oracle a prezentat o propunere de a dona proiectul NetBeans către Apache Software
Foundation .
Pentru realizarea aplicației software de recunoaștere facială în timp real s -a folosit vresiunea NetBeans
IDE 8.2 care lucreaza cu tehnologii precum Java 8 – Java SE 8, Java SE Embedded 8 și Java ME Embedded
8 și dispune de o gamă largă de instrumente pr ecum noi HTML5 / JavaScript, dar și îmbunătățiri, față de
vresiuniile anterioare, ce cresc suportul pentru Maven, Java EE cu PrimeFaces, PHP și C/C++. Limbiile în
care NetBeans IDE 8.2 este disponibil sunt: portugheză braziliană, japoneză, rusă și chineză simplificată.
[13
Reprezentarea grafică a parcursului NetBeans IDE
• Limbajul de programare Java
Java este un consacrat limbaj de programare orientat pe obiect, fiind unul dintre cele mai
folosite limbaje de programare la creearea unor diverse aplica ții software, totodată multe firme de
specialitate aleg să folosească limbajul Java deoarece oferă un bun suport tehnologiilor de vârf, este
gratuit și se lucrează constant la îmbogățirea și îmbunătățirea acestui limbaj.
Acest limbaj de programare a fost creat în anul 1991 de către firma Sun Microsystems. Inginerii
și dezvoltatorii de soft au dorit să implementeze microprocesoare care sa ruleze pe o mulțime de mașini,
mai exact sisteme distribuite cae să lucreze în timp real. După patru ani de muncă s -au p us bazele
specificațiilor limbajului Java, iar mai târziu firma Sun Microsystems vinde licența companiilor IBM,
Microsoft, Adobe și Netscape.
Limbajul pe programare Java se poate caracteriza astfel:
• un limbaj interpretat și compilat. Un limbaj interpret at se descrie ca fiind un limbaj în care
instrucțiuniile unui program sunt procesate linie cu linie în cod mașină, dezavantajul său fiind faptul că
este lent, iar un limbaj compilat se descrie ca fiind un limbaj în care codul programului este tradus în co d
pe care calculatorul îl executa mult mai ușor, dar limbajul compilat are dezavantajul că acesta este
dependent de platforma pe care este codat. Ca urmare limbajul java combină aceste două tipuri de
limbaj, prima dată fiind un limbaj compilat, cu o execuț ie rapidă și mai apoi interpretat – codul este
executat linie cu linie.
• Java este un limbaj independent de platformă. La instalare, Java va creea o mașiină viruală ce
are ca și rol traducerea instrucțiuniilor în instrucțiuni mașină, indiferent de platfor ma folosită (Windows,
Unix, etc.).
• limbaj orientat pe obiect. Aceasta este o carcateristică extrem de importantă pentru acest
limbaj. Java pune la dispoziție toate trăsăturile programării orientate pe obiect: obiecte, moștenire,
clase, biblioteci, modifi catori de acces.
• limbaj concurent. Această caracteristică reprezintă capacitatea unui program scris în limbajul
Java de a executa mai multe secvențe de cod simultan.
• limbaj simplu. Făcând o comparație cu limbajul C++, cel mai popular limbaj orientat pe obiect,
Java renunță la câteva trăsături ale limbajului C++, acestea fiind: moștenirea multiplă, inexistența
pointeriilor (alocarea de memorie se face automat).
• limbaj distribuit. Acesta permite utilizarea obiectelor locale chiar și la distanță, acest avantaj
ajută la dezvoltarea aplicațiilor pentru internet ce pot astfel rula pe platforme distribuite.
• limbaj performant. Interpretatorul este capabil să execute un byte code la fel de repede ca și un
cod compilat.
• limbaj sigur. Programele nu pot acces a secțiuni protejate de memorie (help), înainte ca
interpretorul să execute cod byte -ul, se verifică daca ecesta este valid.*14+
Mediile de dezvoltare pentru limbajul Java sunt:
• JCreator
• Eclipse
• NetBeans
• BEA Workshop
• BlueJ
• CodeGuide
• DrJava
• IntelliJ IDEA
• JBuilder
• JDeveloper
• KDevelop
• Librăria OpenCV
Ce este OpenCV?
OpenCV este o bibliotecă open source srcisă în C și C++, ce rulează pe mai multe platform, cum
ar fi Linux, Windows și Mac OS X. aceasta este disponibilă pentru mai multe limbaje de programare
(MatLab, Java, Python, C++).
Această liibrărie a fost creată pentru realizarea aplicațiilor în timp real, unul din obectivele sale fiind
oferirea unei infrastructure de vizibilitate ușor de utilizat care ajută oameni i să creeze rapid aplicații de
viziune destul de sofisticate. Biblioteca conține peste 500 de funcții care acoperă multe zone vizuale,
inclusiv fabrica inspecția produsului, imagistica medicală, securitate, interfața cu utilizatorul, calibrarea
camerei, st ereo viziune și robotică. OpenCV conține o bibliotecă de învățare a mașinilor Machine
Learning Library (MLL), cu scop general.
Open CV este o componentă importantă a ceea ce înseamna conceputl Computer Vision. Acest
concept este utilizat la scară larg ă, facilitând implementarea unor softuri inteligente, cum ar fi sisteme
de supreveghiere video, entertainment – interfețele anumitor jocuri un bun exemplu ar fi Street View -ul
Google unde la crearea imaginilor la care avem noi acces pentru a vedea o strad ă, se utilizează tehnici
de calibrare a camerei și tehnici de cusut imagini. Deci OpenCV este o librărie, component a Computer
Vision, care ofera programatorului biblioteci specializate în procesarea imagiinilor.
Această librărie este folosită la scară l argă printre care se află și companii de renume IBM,
Microsoft, Intel, SONY, Siemens,și Google și centre de cercetare Stanford, MIT, CMU, Cambridge și
INRIA.
OpenCV a fost utilizat în multe aplicații, produse și domenii de cercetare. Aplicațiile includ
îmbinarea imaginilor împreună, satelit și hărți web, alinierea scanării imaginilor, reducerea zgomotului
imaginii medicale, analize, sisteme de securitate și de detectare a intrușiunilor, sisteme de monitorizare
automată și de siguranță, fabricarea sistemel or de inspecție, calibrarea camerei, aplicațiile militare și
aeriene, sol și vehicule subacvatice. A fost chiar folosit în sunet și recunoașterea muzicii.
Computer Vision reprezintă transformarea datelor dintr -o camera video într -o nouă
reprezentare. Toa te aceste transformări sunt făcute pentru a realiza anumite cerințe sau obiective. .
Datele de intrare pot include unele informații contextuale, cum ar fi aparatul foto sau indicatorul de
distanță laser care indică distanța la care se află un animit obiec t.[15]
• Librăria Jama
Jama este un pachet de bază al algebrei lineare pentru Java. . Oferă clase la nivel de utilizator
pentru construirea și manipularea matricelor reale și dense. Acesta este menit să ofere suficientă
funcționalitate pentru problemele d e rutină, ambalate într -un mod care este natural și ușor de înțeles
pentru non -experți. Acesta este destinat să servească ca clasă de matrice standard pentru Java. Clasa
Matrix furnizează operațiile fundamentale ale algebrei liniare numerice. Constructorii diferiți creează
matrice din două matrici de dimensiuni cu numere de virgulă cu dublă precizie. Diversele seturi oferă
acces la submatricile și elemente de matrice. Operațiile aritmetice de bază includ adunarea și
multiplicarea matricei, normele matricei și operațiile selectate de elemente. De asemenea, este inclusă
o metodă convenabilă de tipărire a matricei. Cinci descompuneri de matrice fundamentale, care constau
din perechi sau triple de matrici, vectori de permutare și altele asemănătoare, produc rezu ltate în cinci
clase de descompunere. Aceste descompuneri sunt accesate de clasa Matrix pentru a calcula soluțiile de
ecuații liniare simultane, determinanți, inverse și alte funcții de matrice. Cele cinci descompuneri sunt:
• Descompunerea Cholesky a matr icelor simetrice, pozitiv definite
• Descompunerea LU (eliminare Gaussiană) a matricelor dreptunghiulare
• Descompunerea QR matricelor dreptunghiulare
• Eigenvalue -descompunerea matricelor pătrate atât simetrice cât și nesimetrice
• Singular Value -descomp unerea matricelor dreptunghiulare
.
Bibliografie
[1] https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html#introduction;
[2] Computer Vision: Algorithms and Applications Richard Szeliski September 3, 2010 draft;
[3] https://en.wikipedia.org/wiki/Facial_recognition_system#cite_note -21
*4+ N.L. Tudor. Ret,ele neuronale artifciale. Aplicații Matlab. Ed. MATRIX ROM Bucuresti, R omania,
București, 2012.
[5] M.H. Hassoun. Fundamentals of Articial Neural Networks. MIT press, 1995.
[6] F. Rosenblatt. Two theorems of statistical separabiliiy in the perceptron. 164 -165:1
[7] Artificial IntelligenceA Modern Approach Third Edition Stuart J. Russell and Peter Norvig
[8] Smith, Kelly. "Face Recognition" (PDF). Retrieved 2008 -06-04.
[9] Bonsor, K. "How Facial Recognition Systems Work"
[10] J. Cai & A. Goshtasby & C. Yu, "Detecting Human Faces in Color Images", Wright State University, U.
of Illinois.
[11] B. Kisacanin, V. Pavlovic, T.S. Huang, Real -Time Vision for Human -Computer Interaction, Springer
2005, pp. 141 -157.
[12] Robust Real -Time Face Detection PAUL VIOLA Microsoft Research, One Microsoft Way, Redmond,
WA 98052, USA
[13] https://n etbeans.org/community/releases/82/
[14] JAVA De la 0 la Expert Stefan Tanasa Cristian Olaru Stefan Andrei
[15] Learning OpenCV by Gary Bradski and Adrian Kaehler
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Trăim într -o lume a tehnologiei avansate și nimeni nu își mai poate imagina o viată fără calculatoare sau [625820] (ID: 625820)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
