Trăim î ntr-o lume a tehnologiei avansate și nimeni nu își mai poate imagina o viată fără [625819]
1
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 conceptul 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
imple mentate in tele foanele mobile nou apă rute pe piaț a și au devenit astfel accesibile publicului
larg, cadru de util izare a multora dintre aplicații este limitat și astfel nu toate problemele pot fi
rezolv ate prin montarea unor aplicaț ii.
Într-un domeniu, cum ar fi recunoașterea de chipuri sau de fețe, s -au încercat ș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 ide ntică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ândi tă î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 tehnică
2
nu este accesibilă tuturor. Persoanele care a r folosi aceste aplicaț ii nu sunt informaticieni cali cați
și astfel nu dispun de cunoștinț ele necesare pentru a transpune tehnic recunoașterea de chipuri
bazată pe aparate foto. Aici inte rvine rolul unui informa tician. 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 dispun 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 sar cină ușoară pentru oameni. Difer ite 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 anumitor
caracteristici locale ale unei scene, cum ar fi linii, muchii, unghiuri sau mișcări. Deoarece
nu vedem l umea ca niște piese împrăștiate, cortexul nostru vizual trebuie să combine într –
un fel diferitele surse de informații în modele utile. Recunoașterea 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 probabil
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 caracteristic (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 prin natura ei, dar are un
dezavantaj uriaș: înregistrarea exactă a punctelor marker este complicată, chiar și c u
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 22 de dimensiuni și experimentele
pe seturi de date mari au arătat că numai caracteristicile geometrice nu au s uficientă
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
frontale 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!!!!!!
3
Unele dintre cele mai vechi abordări pentru recunoaș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 aspectulu i 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 social 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, comparati v 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: Ip hone X, acesta fiind 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 "Julie" 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ă a re un rol important este in poliție,
Forța de frontieră australiană și serviciile vamale din Noua Zeelandă au înființat un
4
sistem automatizat de prelucrare a frontierelor, numit SmartGate, care utilizează
recunoașterea feței, care compară fața călătorului cu datele din microcipul 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 l a nivel de aeroport, 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 p ublice 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 fot ografiile licenței de conducere . Deși
este încă departe 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 sistemului 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 aproximativ 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 , prec um și luminozitatea în care acestea sunt captate, acești
factori duc la scăderea precizie i 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 vechi 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, na sului, pomeților și maxilarului, a ceste a fiind folosite pentru a căuta alte imagini cu
5
caracteristici asemănătoare. Pe când alți algoritmi n ormalizează o galerie de imagini cu fața și
apoi comprimă datele de pe față, sa lvâ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 rep rezintă o
abordare statistică care destabilizează o imagine în valori și compară valorile cu șabloanele
pentru a elimina varianțe le și algoritmii ce includ analiza principală a componentelor utilizând
eigenfaces, analiza diferențială liniară, potrivirea gr afurilor elastice utilizând algoritmul
Fisherface, 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 ut ilizată pemtru a identi fica structurile distincte ale feței, de expemplu 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, ch iar
ș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 p ielea unei persoane într -un algoritm matematic.
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 baza 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 capabil a să realizeze recunoașterea facială la diferite intensități al e luminii chiar si în
întuneric .
6
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, inteligenț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âmpu ri, 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ă; e ste 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. Dint re 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 sis tem, trebuie anal izat 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.
Referitor 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 inutile și alegrea c aracteristiciilor semnificative
excat cum creierul uman percepe imaginea.
• Economia este i nflue nțată de acest domeniu deoarece prin creearea unor solft -uri
inteligente, pot maximiza producția. Din acest punct de vedere se urmărește creearea unor sisteme cât
mai profesionale la costuri cat mai mici.
• Ingineria Calculatoarelor, acest domeniu intervin e î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+
7
• Biologia, așa cum urmează să descriu în capitolul Rețele n euronale ajută acest domeniu prin
simplul fapt că în urma studiilor despre cum un individ procesează anumite informații și cum
funcționeaza sistemul nervos la primirea unor noi informații oferă domeniului tehnic bazele creării
sistemelor inteligente.
1.2 R eț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 r ețele alcătuite din neuroni artifciali. Acestea reprezintă
obiectul de cercetare a neuroinformaticii și reprezintă ramura inteligenței artifciale. Rețelele
neuronale artifciale au la fel ca și neuronii artifciali un model biologic.*4+ *5+
O reprezentare si mplifcată a unei rețele neuronale artifciale este prezentată în figura
Rețea neuronala
Rețelele neuronale artifciale se bazeaza de cele mai multe ori pe o interconectare a mai
multor neuroni sau devieri ușoare de la aceștia. În principiu pot găsi aplic aț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 reț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
8
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 programului.
Algori tmul 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 es te 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ăr cat cu sarcină negativă. Diferent,a de potenț ial între interior si
exterior este aproximativ -70 mV. Dendritele sunt canalele de intrare in neuron.
9
Neuronul biologic
1.2.3 Neuronul artificial
Rețelele neuronale sunt modele matematice făcute după siste mele 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ță exerciț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+
10
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 cadrul 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, nas ul, nările și irisul. Acesta ar identifica mai întâi
posibilele regiuni faciale și apoi va aplica teste s uplimentare 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 detecția facială ca o m odalitate 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 ei, 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 real iza 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, bazate pe mai multe principii și
care folosesc diferiți algoritmi. O listă a celor mai importante tehnici folosi te pentru detecția
facială sunt:
Detecția facial ă din imagini cu un fundal plat
Se realizează detecția facială cu imagini, video sau chiar detecț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
11
Această metodă se folosește pentru imagini color, bazându -se pe utilizarea 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 captate imaginiile.
Detecția facială în mișcare
Această metodă este în special folosită pentru detecția facial ă în timp real, pentru a
realiza d etecț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 semnific ativă, această tehnică se bazeaza pe compararea valoriilor pixelior din
din diferite cadre .
O imagine tipica în timpul mișcării
Suma de pixeli pe fieca re linie din cadrul obținut în mișcare
Detecția facială în cadre fără restricții
12
Metoda Voila and Jones
Viola -Jones , metodă folosită și în aplicația analizată în aceasta lucrare, necesită
vizualizarea completă a fețelor drepte frontale. Astfel, 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.
Caracteristi cile algoritmului Viola -Jones care îl fac un bun algoritm de detectare sunt:
Robustă – rată de detecție foart e ridicată și rată foarte scăzută 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 a lgoritmul are patru etape:
Selectarea funcției Haar
Crearea 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 Jones se
bazează pe mai multe suprafețe dreptunghiulare, ele sunt, în general, mai complexe. Valoarea
oricărei caracteristici date es te suma pixelilor din cadrul dreptunghiurilor clare, scăzute din suma
pixelilor din dreptunghiurile umbrite. Caracteristicile dreptunghiulare de acest fel sunt primitive
în comparație cu alternative cum ar fi filtrele direcționate. Deși sunt sensibile la c aracteristicile
verticale și orizontale, feedback -ul lor este mult mai aspru. Această metodă va fi mai larg
descrisă în capitolul .[12]
13
Schița metodei Voila and Jones
NetBeans
NetBeans ID E 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 pur tător de informații, fiind scris
complet în limbajul de programare Java, derulându -se pe platforma NetBeans.
NetBeans IDE afost c reeat în special pentru limb ajul de programare Java, însă susține și limbaje
precum C, C++ .
Arhitectura software -ului este co nstruită complet în mod modular și poate fi extins prin așa
numitele module respective Plugins
NetBe ans 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 mer eu crescândă și cu peste 100
de parteneri , este o a plicație răspândită și integrată în toată lumea.
Numărul și complexitatea aplicațiilor moderne e ste î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ă f ie împărțite in diferite părți, i ar ca rezultat, fiecare part re
este un bloc care contureză o arhitectură modulară. Părțile distincte trebuie să fie independente,
să fie vizi bile și cu interfețe bine -definite în așa fel încât să poată fi folosite si de celelalte 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.
14
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 cree at 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 continu at să crească. În 2010 a NetBeans a fost cumpă rat
de Oracle Corporation . În septembrie 2016, Orac le 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 E mbedded 8 și
Java ME Embedded 8 și dispune de o gamă largă de instrumente precum 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 NetBea ns IDE 8.2 este disponibil sunt:
portugheză braziliană, japon eză, rusă și chineză simplificată. [13
Reprezentarea grafică a parcursului NetBeans IDE
Limbaju l de programare Java
15
Java este un c onsacrat limbaj de programare orientat pe obiect, fiind unul dintre cele mai
folosite limbaje de programare la creeare a 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 pus 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 caracteriz a astfel:
un limbaj interpretat și compilat. Un limbaj interpretat se descrie ca fiind un limbaj în
care instrucțiuniile unui program sunt procesate linie cu linie în cod m așină , dezavantajul
său fiind faptul că este lent, iar un limbaj compilat se descrie ca fiind un limba j în care
codul programului este tradus în cod pe care calculatorul îl executa mult mai ușor , dar
limbajul compilat are dezavantajul că acesta este dep endent 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 d e platformă. L a instalare, Java va creea o mașiină
viruală ce are ca și rol traducerea instrucțiuniilor în instrucțiuni mașină, indiferent de
platforma 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, modificatori de acces.
limbaj concurent. Această caracteristică reprezintă capacitatea unui program scris în
limbajul Java de a executa mai multe secvențe de cod simultan.
16
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 permit e 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ă execu te un byte code la fel de repede ca
și un cod compilat.
limbaj sigur. Programele nu pot accesa secțiuni protejate de memorie (help), înainte ca
interpretorul să execute cod byte -ul, se verifică daca ecesta este valid.[14]
Mediile de dezvo ltare pentru limbajul Java sunt:
JCreator
Eclipse
NetBeans
BEA Workshop
BlueJ
CodeGuide
DrJava
IntelliJ IDEA
JBuilder
JDeveloper
KDevelop
Librăria OpenCV
Ce este OpenCV?
17
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 uti lizat care ajută oamenii 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, stereo viziune și robotică. OpenCV conți ne 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 e ste 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ă te hnici de calibra re 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ăr ie este folosită la scară largă 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, anali ze, sisteme de sec uritate și de detectare a
intruș iunilor, sisteme de monitorizare automată și de siguranță, fabricarea sistemelor de
inspecție, calibrarea camerei, aplicațiile militare și aeriene, sol și vehicule subacvatice. A fost
chiar folo sit în sunet și recunoașterea muzicii.
18
Computer Vision reprezintă transformarea datelor dintr -o camera video într -o nouă
reprezentare. Toate aceste transformări sunt făcute pentru a realiza anumite cerințe sau obiective.
. Datele de intrare pot include unele inf ormații contextuale, cum ar fi aparatul foto sau
indicatorul de dista nță laser care indică distanța la care se află un animit obiect .[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 de rutină, a mbalate î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. Di versele 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 m atricei.
Cinci descompuneri de matrice fundamentale, care constau d in perechi sau triple de matrici ,
vectori de permutare și altele asemănătoare, produc rezultate în cinci clase de descompunere.
Aceste descompuneri sunt accesate de clasa Matrix pentru a cal cula soluțiile de ecuații liniare
simultane, determinanți, inverse și alte funcții de matrice . Cele cinci descompuneri sunt:
Descompunerea Cholesky a matricelor simetrice, pozitiv definite
Descompunere a LU (eliminare Gaussiană) a matricelor dreptunghiulare
Descompunerea QR matricelor dreptunghiulare
Eigenvalue -descompunerea matricelor pătrate atât simetrice cât și nesimetrice
Singular Value -descompunerea matricelor dreptunghiulare
19
.
20
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,
Romania, 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 VIO LA Microsoft Research, One Microsoft Way,
Redmond, WA 98052, USA
[13] https://netbeans.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
21
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ă [625819] (ID: 625819)
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.
