Recunoaștere facială prin vizor inteligent pentru aplicații Smart [605586]

Universitatea “Politehnica” din București
Facultatea de Electronică, Telecomunicații și Tehnologia
Informației

Recunoaștere facială prin vizor inteligent pentru aplicații Smart
Home de acces in spații restricționate

Proiect de diplomă
prezentat ca cerință parțială pentru obținerea titlului de
Inginer în domeniul Electronică și Telecomunicații
programul de studii de licență Electronică Aplicată

Conducători științifici
Student: [anonimizat] -Andreea
Ing. Papuc Petru -Gabriel

Bucure ști 2018

Cuprins
Introducere .
CAPITOLUL 1. Introducere în domeniul Smart .
1.1 Internet of Things (IoT)
1.2 Necesitatea integrării inteligenței artificiale înn IoT
1.3 Smart Home
1.4 Tendințele de dezvoltare a “caselor inteligente”

Capitolul 2. Recunoasterea facială
2.1 Biometria
2.2 Structura procesului de recunoaștere facial
2.3 Algoritmi de detecție facial
2.4 Algoritmi de recunoaștere facială

CAPITOLUL 3. Instrumente hardware
3.1 Plăcuța de dezvoltare Raspberry PI
3.1.1 Sistemul de operare
3.1.2 Raspberry Pi 3 Model B
3.2 Raspberry Pi Camera
3.3 Senzorul PIR
3.4 Servomotorul SG90

CAPITOLUL 4. I nstrumente software
4.1 Limbajul de programare Python
4.2 Biblioteca OpenCv
4.3 Baze de date SQL

CAPITOLUL 5. Implementarea aplicației

Concluziile proiectului

Bibliografie

Lista figurilor

Figura 1.1 Statistici IoT
Figura 1.2 Internet of Things o colecție de rețele
Figura 1.3 Conectivitate în Smart Home
Figura 1.4 Statistica evoluției echipamentelor pentru Smart Home
Figura 2.1 Tipuri de caracteristici fiziologice și comportamentale
Figura 2.2 Configurația general a procesului de recunoaștere facială
Figura 2.3 Etape le pentru recunoaștere a facial ă
Figura 3.1 Bloc Funcțional Raspberr y Pi
Figura 3.2 Logo Raspbian
Figura 3.3 Raspberry Pi 3 Model B
Figura 3.4 Raspberry Pi camera V2
Figura 3.5 Senzorul PIR
Figura 3.6 Detecție PIR
Figura 3.7 Cuplul servomotorului
Figura 4.1 Logo Python
Figura 4.2 Exemplu de listă in limbajul Python
Figura 4.3 Structura librăriei OpenCV

Captiolul I. Introducere în domeniul Smart

1.1 Internet of Things (IoT)
Internet of Things( IoT), care face referire la Internetul obiectelor este un
concept care a reu șit să schimbe totul, inclusive pe noi înșine. Trebuie s ă
consider ăm faptul c ă Intenert of Things reprezint ă umrătoarea evolu ție a
Internetului, reu șind s ă facă un salt imens în acest domeniu prin capacitatea de a
colecta, a analiza șia distribui datele ce mai departe pot fi transformate în
infor mații șicuno ștințe, iar mai tarziu în înțelepciune. În acest context, Io T devine
extrem de important.
Internet of Things(IoT) se refer ă la utilizarea de dispo zitive inteligente și
sisteme conectate ce utilizeaz ă date colectate de senzori și actuatori încorporate
in ma șini și alte dispositive fizice/ obiecte.Se preconieaz ă că în urm ătorii ani IoT
se va r ăspândi iar aceast ă converge nță va dezlan țui o n ouă dimensiune a serviciior
care îmbun ătățesc calitatea vie ții consumatorilor și a productivit ății
întrep rinderilor debloc ând o oportunitatea pe care GSMA o numeste “viata
conectat ă”. [1]
Cea mai comun ă defini ție a Internet of Things este aceea c ă IoT reprezint ă
o rețea de obiecte fizice. Internetul nu mai este doar o re țea de calculatoare , ci a
evoluat într-o rețea de dispo yitive de toate tipurile șidimensiunile: vehicule
inteligente, telefoane, electrocasnice , juc ării aparate foto etc., toate informa țiile
de comunicare și partajare bazate pe protocoale preconizate pentru a realiza
reorganiz ări inteligen te, pozi ționare, siguran ță , chiar și control și administrare în
timp real.
Înainte s ă vorbim despre starea actual ă a IoT -ului este important s ă se
convin ă asupra unor defin ții. Conform Cisco Internet Bussiness Solution Group
(IBSG),IoT este reprezentat p ur șisimplu de acel moment în timp c ând mai multe
‘lucruri sau obiecte” au fost conectate la Internet dec ât oamenii. În 2003 , existau
aproximativ 6.3 miliarde de oameni și500 de milioane de dispositive conectate la
Internet. Prin impar țirea num ărului de dispoitive conectate la Internet la popula ția
mondial ă, constat ăm că pentru fiecare persoan ă exist ă mai pu țin de un dispozitiv,
mai exa ct 0.08. Bazându-ne pe definitia Cisco IBSG , IoT nu a existat încă din
2003 deoarece num ărul de dispositive conectate l a Internet era relativ mic, dat
fiind și faptul c ă dispozitivele precum smartphone -urile fuseser ă recent introduse.
Creșterea exploziv ă a smartphone -urilor șia tabletelor a adus num ărul de
dispo zitive conectate la internet la aproximativ 12.5 miliarde în anul 2010, în timp
ce popula ția lumii a crescut la 6.8 miliarde ceea ce face ca num ărul de dispo zitive
conectate / persoan ă să fie mai mare de 1 (1.84 mai exact), pentru prima dat ă in
istorie. În anul 2015 existau 25 de miliarde de dispositive conectate la Internet ,
iar conform Cisco IBSG , privind în viitor se prezice c ă vor exista peste 50 de

miliarde de astfel de dispositive p ână în anul 2020( de vazut fig 1.1). Probabil ,
numărul de dispositive conectate la internet pe persoana poate parea scazut. Acest
lucru este datorat faptului c ă acest calcul se bazeaz ă pe întreaga popula ție
mondial ă, o mare parte nefiind conectat ă încă la Internet. E șantion ând acest numar
doar la persoanele conectate efectiv la Internet, num ărul de dipo zitive conectate
pe persoana c rește dramatic. De exemplu, știm c ă aproximativ 2 miliarde de
oameni folosesc Internetul in ziua de azi. Folosindu -ne de aceast ă informa ție,
constat ăm faptul c ă numărul de dispositive conectate la Internet de o persoan ă
crește la 6.25 fa ță de 1.84 c ât cons iderasem pan ă acum în 2010. [2]

Figura 1.1 Statistici IoT
În pre zent, IoT este alc ătuit dintr -o colec ție de re țele independente
construite cu diferite scopuri. De exemplu ,o clăidre comercial ă sau reziden țială ,
dispune de diverse sisteme de control pe ntru încălzire, ventila ție și aer condi ționat
(HVAC), precum și servicii de telefonie și iluminare. Autovehiculele au mai
multe re țele pentru a controla func ția motorului, caracteristicile de siguran ță ,
sisteme d e comunica ții și altele. Pe masur ă ce IoT evolueaz ă, aceste re țele vor fi
conectate cu și mai multe capabili tăți pentru a oferi siguran ța, analiz ă și
management. Acest lucru va permite IoT -ului s ă evolueze și mai mult, ajut ând
populat ța să realizeze c ât de important este în via ța de zi cu zi pentru un trai c ât
mai confortabil.

Figura 1.2 Internet of Things o colecție de rețele
Este foarte important s ă putem face o distinc ție între Internet șiWorld Wide
Web, concept e foarte mult confundate și astăzi. Internetul se define ște ca stratul
fizic sau re țeaua format ă din switch -uri, routere sau alte echipamente ce pot
transporta informa ții de la un punct la altul într-un mod rapid și sigur. Pe cealalt ă

parte, Web -ul este un strat de aplica ție care opereaz ă peste Internet. Principalul
său rol este acela de a oferi o interfa ța care s ă facă informa țiile ce circula pe
internet s ă fie utilizate.
In evolutia webului s -au distins 4 etape majore :
1. Etapa 1 : Faza de cercetare, web -ul a fost numit Advanced Research Projects
Agency Network(ARPANET). În acel timp era folosit doar de academii în scopuri
de cercetare.
2. Etapa 2: Aceast ă etapă s-a concentrat pe necesitatea ca fiecare companie să își
împărtășească informa ții pe Internet, astfel încat oamenii s ă poată afla despre
servicii șiproduse. A doua faza a web -ului a fost cunoscut ă sub termenul de
“broșură”
3. A treia evolu ție a mutat web -ul de la date statice la informa ții tranzac ționale, unde
produsele șiserviciil e puteau fi cumparate sau v ândute .
4. Ce-a de a patra etap ă, prezent ă astăzi, cunoscut ă și sub numele de “social web”
este reprezentat ă de companii precum Facebook, Twitter care au devenit extrem
de populare , permi țând oamenilor sa poat ă comunica , s ă se conecteze și sa
partajez e informa ții atât text c ât și fotografii sau video .
Ca o paralel ă, Internetul se afl ă pe o cale constant ă de dezvol tare și
îmbun ătățire, dar putem spune c ă nu s -au schimbat foarte multe. În esen ță,
indepline ște acelea și lucrur i pe care a fost conceput înca de la început s ă le fac ă
în timpul epocii ARPANET. În prima parte, au existat mai multe protocoale dintr e
care amintin Apple Talk, Token Ring și IP. În acest context IoT devine extrem de
important, deorece este prima evolu ție reală a Internetului care va duce la aplica ții
revolu ționare ce au menirea de a îmbun ătăți dramatic modul în care oamenii
traiesc, invat ă, muncesc. Deja IoT a reu șit să coreleze senzorii cu internetul(
senzori de temperatur ă, presiune, vibra ție , umiditat e , stres etc) permi țându-ne să
deveneim mai proactivi șimai putin reactivi.
Exista însă și bariere ce au poten țial pentru încetinirea dezvolt ării rapide a Io T-
ului. Dintre cele mai importante, vom aminti puterea senzorilor, implementarea
IPv6 precum și acordul privind standardele.
a) Implementarea IPv6. Av ând în vedere faptul c ă epuizarea adreselor IPv4 a
avut loc în Februarie 2010 a fost necesar ă trecerea la un alt nivel, și anume IPv6.
Cu toate c ă aceasta trecere nu a fost se siziabilă de public, a dus la încetinirea
progresului IoT, întruc ât miliardele de senzori noi aveau nevoie de o adresa IP
unică. IPv6 realizeaz ă managementul re țelei mai u șor din pricina posibilit ății sale
de auto -configurare, iar în plus ofer ă șifuncții de securit ate.
b) Puterea senzorilor. În scopul atingerii poten țialului maxim al IoT -ului,
senzorii trebuia u să fie autonomi. Imagina ți-vă faptul c ă ar trebui înlocuite
bateriile pentru miliardele de senzori de pe întreaga planet ă, și chiar și în spa țiu.

Evident, acest lucru nu ar fi fost posibil de realizat. O solu ție este g ăsirea unei
metode prin care senzorii s ă genereze electricitate din elemente ale mediului
înconjurator precum lumina, flux de aer sau vibra ții.
c) Acordul privind standardele. De și s-au înregi trat progrese semnificative în
domeniul standardelor, este nevoie de și mai mult , mai ales în domeniiul
confiden țialității, al securit ății și comunica țiilor. IEEE reprezint ă una din
organiza țiile ce depun efort pentru rezolvarea acestei provoc ări, asigu rându-se că
pot fi pachete IPv6 difuzate pe diferite tipuri de re țele.
Este important de notat faptul c ă, deși exist ă bariere și provoc ări, acestea nu
sunt imposibile. Avand în vedere multitudinea de beneficii pe care IoT o aduce,
aceste probleme vor fi re zolvate, fiind vorba în esen ță doar de un timp.
Acest efort va necesita întreprinderi, guverne ,organiza ții de standardizare și
medii academice care s ă lucreze împreun ă pentru atingerea scopului comun. Apoi,
pentru ca IoT sa ob țină acceptarea în rândul popula ției , trebuie s ă furnizeze
aplica ții care aduc o valoare semnificativ ă vieților oamenilor. IoT nu trebuie s ă
reprezinte avansarea tehnologiei din motive tehnologice ci industria trebuie s ă
demonstreze valoare în term eni umani.
În concluzie, IoT reprezint ă urmatoarea evolu ție a Internetului. Dat fiind faptul
că oamenii avanseaz ă prin transofrmarea datelor în informa ție, cuno știnte
șiîntelepciune , IoT are poten țialul de a schimba lumea pe care o știm acum spre
bine. C ât de repede se vor atinge ac este țeluri depinde doar de noi.

1.2 Necesitatea integr ării inteligen ței artificiale in IoT
Întruc ât Internet of Things continu ă să fie unul dintre cele mai populare
concepte ale tehnologiei din prezent, discu ția despre acest subiect a luat o
întors ătură. Daca înainte întrebarea “ce este IoT” era cea mai vizat ă, acum ne
întreb ăm cum putem construi o tactic ă pentru a ajunge s ă funcționeze optim.
IoT va produce o bog ăție de date – date care pot ajuta ora șele s ă prezic ă
accidente și crime, sa ofere medicilor informatii in timp real cu privire la
stimulatoare cardiace , s ă permit ă productivitate optimizat ă în întreaga industrie
prin întreținerea predictive a echipamentelor și masinilor. Posibilit ățile pe care
IoT le aduce sunt nesf ârșite.
Odata cu expansiunea rapid ă a dispozitivelor și senzorilor conecta ți, volumul
mare de date colectate de ei a crescut la un nou nivel. Aceste date aveau o
perspectiv ă extrem de valoroas ă asupra obiectelor care func ționau bine sau cele
care nu, prin e viden țierea conflictelor ce ap ăreau și furnizarea de informa ții cu
valoare înaltă despre noile riscuri și oportunit ăți de afaceri pe m ăsura ce se f ăceau
corel ații și asocia ții. Acest lucru suna bine. Cu toate acestea, cea mai mare
problem ă este g ăsirea unei modali ățti de a analiza sursa datelor și performan țelor

pe care toate aceste dispositive le creaz ă. Este pur și simplu impsibil ca oamenii
să revizuiasc ă și să înțeleag ă toate aceste date prin metode tradi ționale .
Trebuie s ă îmbun ătățim viteza și exactitatea unei analize de date mari, pentru
ca IoT s ă respecte “promisiunile”. În caz contrar, consecin țele ar putea fi
dezastruase și ar putea varia de la aparate electrocasnice enervante, care nu
funct țoneaz ă împreun ă așa cum erau publicate, la cele care duc la periclitarea
vieții, în cazul func ționării defectuase a stimulatoarelor cardiace .
Ținând cont de toate aceste aspect, s -a ajuns la concluzia c ă singura modalitate
de a ține pasul cu aceste date generate de IoT și de a ob ține cunoa șterea este
integrarea conceptului de machine learning. Termenul de machine learning se
define ște ca fiind un subdomeniu al informaticii și inteligen ței artificiale care se
ocup ă cu construirea și studiul sistemelor ce pot învata de la date , mai degrab ă
decât să urme ze numai instruc țiuni explicite. În timp ce acest lucru poate p ărea
puțin fictiv, este deja prezent în viața de zi cu zi. De exemplu, este folos it de
Pandora pentru a determina ce alte melodii v ă plac, sau de c ătre Amazon.com care
poate s ă sugereze alte ca rți și filme. Ambele se bazeaza ă pe ceeace a fost deja
învățat despre utilizator și sunt rafinate în timp, întruc ât sistemul învață mai multe
despre comportamentele dvs.
Într-o situa ție de IoT, învățarea automat ă poate ajuta companiile s ă ia
miliardele de date pe care le au și să le foloseasca la ceea ce este cu adevarat
semnificativ. Premisa general ă este revizularizarea și analiza datelor colectate
pentru a ga si modele sau similitudini de la care se poate învăța astfel încât să fie
luate decizii mai bune.
De exemplu, dispozitivele portabile care v ă urmăresc deja s ănătatea sunt deja
o industrie în plin ă dezvolatre, însă în cur ând acestea vor evolua pentru a deve ni
dispositive care sunt interconectate și conectate la internet, urm ărind sănătatea
dvs. și furniz ând actualizari în timp real ale unui serviciu de sanitate. Scopul este
ca medi cul dvs.s ă primeasca notific ări dac ă o anumita condi ție a fost îndeplinit ă-
ritmul cardiac a crescut la un nivel nesigur. Pentru a putea identifica poten țialele
probleme, datele trebuie analizate , fiind clasificate în func ție de ce este normal și
de ce nu. Asem ănările, corela țiile și anomaliile trebuie identificate rapid pe baza
fluxurilor de date în timp real. Ar putea fi f ăcut acest lucru de o persoan ă care
lucreaz ă la serviciul de sanitate – revizuirea datelor ce provin de la mii de pacien ți
în timp real și luarea unei decizii corecte care s ă trimit ă un semn de urgen ță?
Evident, raspunsul la aceasta întrebare este nu. Scrierea de coduri sau de reguli
pentru a cerceta datele, pentru a ga si modele cunoscute este extrem de
consumatoare de timp, plin ă de erori și limitat ă doar la identificarea modelelor
cunoscute anterior.

1.3 Smart Home
Smart homes, cunoscute in literatur ă și sub numele de case automate, cl ădiri
inteligente, sisteme integrate de cas ă sau domotice, reprezint ă o dezvoltare
recent ă a design -ului. Casele inteligente includ dispo zitive comune care
controleaz ă caracteristicile casei. Ini țial, tehnologia Smart Home a fost utilizat ă
pentru a controla sisteme de mediu precum iluminatul și încălzirea, dar recent s -a
dezvoltat utilizarea tehnologiei inteligente, astfel încat aproape orice component ă
electric ă din casa poate fi inclusa in s istem. Mai mult de at ât, tehnologia Smart
Home n u porne ște pur și simplu dispozitivele, ci poate monitoriza mediul și
activitatile care se desf ășoara în timp ce locuin ța este ocupat ă. Rezultatul acestor
modificari aduse tehnologiei este acela ca o casa inteligenta poate monitoriza
acum avtivit ățile ocup antului, poate opera dispozitivele in seturi predefinite sau
independent, asa cum cere utilizatorul.
Tehnologia Smart Home utilizeaz ă dipozitive pentru a construi un mediu în
care caracteristicile casei sunt automate, iar dispozitivele pot comunica între ele.
Legăturile acestui sistem sunt reprezentate de două fire care conectează toate
componentele sistemului (senzorii și unitățile de comutație). Inima sistemului este
reprezentată de unitatea centrală, care controlează și supervizează întreg sistemul .
Unitatea centrală este plasată într -un panou de distribuție și poate fi conectată la
un computer. Comunicarea dintre unitatea centrală și componentele individuale
ale sistemului este realizată prin intermediul acestui BUS. Informațiile sunt
transmise și receptate prin BUS și sunt procesate conform unui program
prestabilit. Comenzile sunt trimise către unitățile de comutație, care apoi execută
funcțiile necesare. [3] Senzorii sunt reprezenta ți de orice component ă care
introduce cerin țe în sistem. Ace știa pot fi: butoane și întrerup ătoare de perete,
senzori de mi șcare( senzor PIR), senzori de temperatur ă , de umiditate, detectoare
de voce etc.

Figura 1.3 Conectivitate în Smart Home

1.4 Tendințele de dezvoltare a “caselor inteligente”

La îneputul anilor 1900, dispozitivele electrice utile care au precedat casa
inteligent ă de ast ăzi au început s ă câștige popularitate. Ma șina de scris electric ă ,
care a fost inventata aproximativ 30 de ani mai t ârziu, și mașina de cusut cu motor
au stabilit o tendin ță în mișcare.
Din anii 1930, locuinta a fost automatizat ă din ce în ce mai mult, iar
cuptoarele care puteau controla temperatur a au fost cump ărate în mas ă.
Dezvoltarea comp uterelor din anii 1940, stimulat ă de cracarea codurilor militare
din timpul r ăzboiului, au dus la dezvoltarea caselor din ce în ce mai mult. Dou ă
decenii mai t ârziu, a fost proiectat primul dispozitiv de procesare au tomat ă a
locuin ței, Echo IV. Ma șinăria a fost proiectat ă pentru a controla temperatur a
locuin ței și pentru a porni apa ratele.

Figura 1.4 Statistic evoluției echipamentelor pentru Smart Home
Până în anii 1980, sarcinile de programare au devenit extrem de populare.
Termostatul digital, pentru setarea îcălzirii era obi șnuit la fel precum usc ătorul de
rufe programabil și mașina de sp ălat. Popularitatea in plin ă expansiune a
cuptorului cu microunde a reu șit să reduc ă timpul de g ătit de la treizeci de minute
la aproximativ cinci minute, fapt care a condus la comoditate. Recorderele video
care puteau fi presetate au ajutat oamenii, care nu mai trebuiau sa i și piard ă
emisiunile TV preferate , ci puteau acum s ă le priveasc ă oricând.
Folosirea computerelor acas ă a început s ă prindă amploare, odat ă cu
lansarea în anul 1981 a calculatorului BBC și a PC -ului IBM. Un impact puternic
asupra acestei dezolvat ări a fost apar țtia sistemului de operare Microsoft
Windows în anul 1985. P ână la sfârșitul anilor 1990, telefoanele mobile au devenit
obișnuite, iar smartphone -urile din 2000 și playerele MP3 portabile precum IPod –
ul, au fo st vândute în numar mare.

Sosirea unei astfel de tehnologii sofisticare de calcul s -a întâlnit cu dorni ța
de via ță mai u șoară în casa a oamenilor. Și așa s-au pus bazele conceptului de
Smart Home, în concorditate cu IoT, în care obiectele conectate la int ernet puteau
comunica atat între ele c ât și cu proprietarul casei pentru a regla set ările.
Au inceput s ă apară alta dispo ztive, cum ar fi securitatea inteligent ă, care
ar permite accesul numai persoanelor desemnate și ar putea notifica p ărinții
copiilor care sosesc acas ă după școală. De asemenea, frigiderele inteligente,
mașinile de sp ălat, perdelele și jaluzelele, iluminatul și televizoarele au permis
proprietarilor s ă schimbe set ările sau s ă programeze ac țiuni de la distan ță.
Până în 2013, dispozitivele inteligente au reprezentat o caracteristic ă cheie
a edi ției anuale din Las Vegas “Consumer Electronics Show”. Potrivit BI
Intelligence, se crede c ă până în prezent sunt conectate aproape dou ă miliarde de
dispositive în cadrul locuin țelor, iar p ână în 2018 se preconizeaza c ă acest num ăr
va sări de nou ă miliarde.

Capitolul 2. Recunoasterea faciala

2.1 Biometria
În ultimii ani, biometria a atins o mare aten ție la nivel mondial. Un s istem
biometric func ționeaz a prin ob ținerea unor infroma ții biometrice de la un personal
care extrage o caracteristi că dintr -un set de date dob ândit. Aceast ă caracteristic ă
este apoi comparat ă cu un șablon stocat într-o baz ă de date. Exista tehnologii
biometrice care pot fi fiziologice sau comportamentale. Recun așterea facial ă are
funcția important ă de a asigura cu u șurință autentificare biometric ă ce poate fi
utilizat ă în aplica ții online și offline.
Biometria se refer ă la identificarea automat ă a unei persoane pe baza
caracteristicilor sale fiziologice sau comportamentale. Aceast ă metoda de
indentificare este preferat ă în compara ție cu metodele tradi ționale ce presupun
parole și PIN-uri din mai multe motive , unul din ele subliniind faptul c ă persoana
identificat ă în mod normal ar trebui s ă fie prezent ă fizic în punctul de identificare.
Totodat ă, identificarea bazat ă pe tehnici biometrice evit ă necesitatea amintirii
parolelor și PIN-urilor. Un s istem biometric este un s istem de recunoa ștere a
modelelor ce func ționeaz ă prin achizi ționarea unor date de la o persoan ă și le
compar ă ulterior cu șambloane stocate într-o baz ă de date. Caracteristicile fizice
ale omului precum chipul, gem etria m âinilor, vocea, palma, semn ătura și irisul
sunt cunoscute sub numele de date biometrice. [4]
Biometria cuprinde numeroase metode pentru recunoa șterea unic ă a oamenilor
având în vedere mai multe tr ăsături intrinseci fizice și comportamentale.
a) Trasături fizice – sunt legate in general de formele corpului. Exemple dintre
acestea includ, dar nu se limiteaz ă însă la geometria m âinilor, recunoa șterea
fețelor, recunoa șterea irisului etc.
Caracteristicile fiziologie sunt :
– Amprenta: analizeaz ă tiparele degetului;
– Recunoa șterea facial ă/ localizarea fe ței: ajut ă la măsurar ea caracteristicilor fe ței;
– Geometria m âinii: m ăsoară forma m âinii.

b) Trăsăturile comportamentale – vizeaz ă comportamentul specific unei persoane.
Principalele caracteristici sunt :
– Vocea

– Mersu l;
– Tiparul scrisului.

Figura 2.1 Tipuri de caracteristici fi ziologice și comportamentale
Recunoa șterea facial ă, una dintre le mai relevante aplica ții ale analizei de
imagini, reprezint ă o tehnic ă biometric ă. Un s istem de recunoa ștere facial ă se
bazeaz ă pe o imagine static ă, adic ă o fotografie, care este reprezentat ă de un set
de pixeli ordona ți dup ă un anumit model. Sitemul de recunoa ștere facial ă nu
percepe chipul unui individ precum oamenii, ci îl percepe ca pe o mul țime de
pixeli al ăturați. Înainte de procesul de recunoa ștere p ropriu -zis este necesar s ă se
creeze o galerie de imagini. Din perspectiva sistemului de recunoa ștere facial ă,
galeria este un set de modele biometrice care serve ște drept referin ță în procesul
de comparare. [5]

2.2 Structura procesului de recunoa ștere facial ă
Având în considerare o fotografie preluat ă de la o camer ă, ne dorim s ă știm
exact daca în acea fotografie identific ăm o fa ță, unde se localizeaz ă exact fa ța în
imagine, și mai presus de toate ne dorim s ă aflăm ce persoan ă este în acea
fotografie. În acest scop, separ ăm procedura de recunoa ștere facial ă în 3 etape:
Detectarea fe ței, Extragerea tr ăsăturilor, Recunoa șterea fe ței.

Figura 2.2 – Configurația general a procesului de recunoaștere facial
a) Captarea imaginii
Captarea imaginii este realizat ă în majoritatea cazurilor cu o camer ă foto sau
video, ținând cont de faptul c ă o înregistrare video presupune doar o succesiune
de imagini.

b) Detectarea fe ței
Principala func ție a acestui pas este de a determina dac ă apar chipurile umane
în imaginea dat ă . Rezultatul a șteptat in urma acestei etape sunt patch -uri care
conțin fiecare fa ță din imaginea de intrare. Unei persoane îi este foarte u șor să
disting ă fața unui individ dintr -o fotografie dat ă, însă un calculator trebuie s ă
disting ă pixelii care apar țin unei fe țe. Pentru ca sistemul s ă fie in continuare mai
robust șimai usor de proiectat se efectueaza notmalizare feței.
Odată ce fața a fost detectată( separate din fundalul său), fața trebuie să fie
nromalizată. Acest lucru presupune ca imaginea trebuie standardizată în termeni
de mărime, de iluminare etc. în raport cu imaginile din galleria sau din baza de
date de referință. Pentru a se putea efectua no rmalizarea, reperele cheie ale
aspectelor faciale trebuie să fie localizate cu eaxctitate. Folosind aceste repere,
algortimul de normalizare poate, într -o anumită măsură, să reorienteze imaginea
pentru variații ușoare. Astfel de corecții se bazează însă pe statistici, inferențe sau
aproximări care nu pot fi în întregime exacte. Din această cauză, este esențial ca
imaginea de probă să fie cât mai apropiată posibil de o imagine standardizată.
Dacă reperele faciale nu pot fi localiyate, atunci procesul de recu noaștere va eșua.
Recunoșterea poate reuși, doar dacă imaginea de probă șiimaginile din baya de
date sunt asemănătoare din punct de vedere al orientării, al rotației, dimensiunii
etc. Normalizarea asigură că aceste similitudini sunt realizate, într -o măsu ră mai
mica sau mai mare.

c) Extragerea caracteristicilor și recunoașterea facială.
După et apa de detectare a feței , se extrag patch -urile cu fața umană din imagini.
Dacă se folosesc direct aceste patch -uri pentru recunoașterea feței vom avea
dezavantaj, întrucât, în cele mai multe cazuri fiecare patch poate conține peste
1000 de pixeli, care sunt prea mulți pentru a construi un sistem robust de
recunoaștere.
Patch -urile pot fi luate din alinierea diferită a camerei, cu diferite expresii ale
feței, iar din această cauză pot suferi ocluzie. Pentru a depăși aceste dezavantaje,
sunt efectuate eztragerile de trăsături pentru a putea “ambala” informația , a reduce
dimensiunea și a elimina zgomotul.
Cu alte cuvinte, procesul de extragere a caracterist icilor reprezintă practic o
reprezentare matemetică, cunoscută și sub numele de model sau referință
biometrică consituind fundamentul recunoașterii. –Acest model biometric este un
algortim de recunoaștere facial ce transformă imaginea feței, initial repr ezentată
prin pixeli, intr -o reprezentare matematică simplificată. În multe literaturi
extragerea trăsăturilor este inclusă în detectarea feței sau în recunoașterea feței. – –

Algoritmii de recunoaștere facial diferă prin modul în care aceștia transormă
imaginea, reprezentată inițial de pixeli, într -o simplă reprezentare matematică
(caracteristicile) pentru a efectua recunoașterea
Pentru a se obține o recunoaștere automata, este necesar să fie construită o bază
de date. Pentru fiecare persoană sunt luat mai multe imagini, iar caracteristicile
lor sunt extrase și stocate în baza de date. Ulterior, când vine o imagine de intrare,
se efectuează etapa de detectare a feței șiextragere a trăsăturilor și sunt comparate
caracteristicile cu toate clasele de fețe din baza de date.
Există două aplicții generale de recunoaștere a feței,una se numește
identificare, iar cea de a doua se numește verificare. Prin mijloacele de
indentificare se do rește ca sistemul să spună cine este persoana din fotografia dată.
Pentru verificare, având in veder o imagine a feței șio estimare a identificării, ne
dorim ca sistemul să ne spună adevărat sau fals pentru estimarea făcută.

Figura 2.3 Etapele pentru recunoaștere facială

(a) – reprezintă imaginea de intrare , rezultatul detectării feței fiind încadratb într+un
dreptunghi roșu.
(b) – extragerea patch -ului feței.
(c) – vectorul caracteristic în urma extragerii trăsăturilor
(d) – compararea vectorului initial cu vectorii stocați in baza de date și determinarea
celei mai probabile clase ( chenarul roșu).

Performanța unui s istem de recunoaștere depinde într -o mare măsură de
calitatea imaginilor. Pentru a avea o precizie cât mai b ună, subiectul trebuie
surprins din fată, nu din profil. Mai mult de atât, este necesar un contrast și o
luminozitate potrivit ă, ochii persoanei să fie deschiși, iar imaginea să nu prezinte

umbre. Spre exemplu, un zâmbet larg poate duce la rezultate ine ficinete deoarece
sistemul este sensibil chiar și la expresia feței. [6]

2.3 Algoritmi de detecție facial ă
Detecția fețelor se ocupă cu definirea dimensiunilor sau locației fețelor umane
in diferite imagini, neglijand orice altceva, precum clădiri sau corpuri. În ultimii
ani, detecția fețelor se află în cercetare deparece este o sarcină trivială pentru
computere. Există propuși mai mulți algortimi pentru această sarcină, cei mai
importanți fiind: Viola -Jones, SMQT și casificatorul SNOW, detecția feței b azate
pe rețea neuronală.
2.4 Algortimi de recunoaștere facială

Capitolul 3. Instrumente Hardware

3.1 Plăcuța de dezvoltare Raspberry Pi
Un Raspberrz Pi este un calculator de dimensiuni reduse, inițial creat pentru
educație, inspirit de BBC Micro 1981. Scopul creatorului Eben Upton a fost acela
de a crea un dispozitiv cu costuri reduse, care să îmbunătățească abilitățile de
programare și înțelegere hardware la nivel preuniversitar și universitar. Datorită
dimensiunilor mici și a prețul ui accesibil, a fost adoptat rapid de către producători
și entuziaști de electronice pentru proiecte ce necesitau mai mult decât un
microcontroller de bază.
Exisă două modele de Rasbperry Pi, A și B, numite după BBC Micro. A
vine cu 256 MB memorie RAM și un port USB. Este mai ieftin și utiliyeayă mai
puțină energie decât modelul B. Modelul curent B vine cu un al doilea port USB,
un port Ethernet pentru conectarea la rețea și512 MB de memorie RAM. [7]

Figura 3.1 Bloc functional Raspberry Pi

Hardware -ul Rasberry -ului a evoluat prin mai multe etape care prezintă mai multe
versiuni ale capacității de memorie și ale suportului dispozitivelor periferice.
Diagrama bloc descrie modelele B și B+. Modelele A, A+ și Pi Zero sunt similar,
însă lipsesc c omponentele hub -ului Ethernet și USB.

3.1.1 Sistemul de operare
Raspberry PI a fost proiectat pentru sistemul de operare Linux, iar acum mai multe
distribuții Linux au o versiune optimizată pentru microcontroller.

Două dintre cele mai utilizate și popul are opțiuni sunt : Rasbpian și Pidora.
Sistemul de operare Rasbian se bazează pe sistemul de operare Debian, in timp ce
Pidora se bazează pe sistemul de operare Fedora.

Figura 3.2 Logo Raspbian
Există, desigur, mai multe opțiuni în afară de cele două me nționate. Dintre
acestea putem aminti OpenELEC și RaspBMC, care sunt și ele sisteme de operare
bazate pe Linux, ce vizează utilizarea Raspberry Pi ca un centru media. Există și
sisteme de operare non -Linux, cum ar fi Risc OS ce poate rula pe un
microcontro ller Pi. [8]

3.1.2 Raspberry Pi 3 Model B
A treia generație a Raspberry Pi este reprezentată de Raspberry Pi 3 model
B. Această plăcuță de dezvoltare este un calculator de dimensiuni reduse care
poate fi utilizată în diferite aplicații. Spre deosebire de predecesoarele sale, acesta
adaugă în plus conectivitate LAN fară fir precum și Bluetooth ceea ce îl face să
fie soluția ideala pentru proiecte în care se pune accent pe conectarea la o rețea.
Cu toate că are o dimensiune redusă, Raspberry Pi 3 Model B dis pune de
numeroase periferice integrate ce acoperă complet funționalitatea unui system de
calcul.( poturi USB, video, audio, conectivitate de rețea). Este descries ca fiind de
aproximativ 10 ori mai performant ca Raspbery Pi 1 șicu 80% mai puternic in
sarci nile paralele decăt modelul Pi 2. Dispune de un procesor SoC pe 64 de biți
din familia ARMv8 -A ce lucreză la o frecvență de 1.2 GHz și are patru nuclee de
tip ARM Cortex -A53.
Memoria RAM a microcontroller -ului este de 1GB și este folosită și ca
memorie vid eo, partajată cu procesorul grafic Broadcoam VideoCore IV 3D
integrat pe aceeași pastilă de siliciu ca și procesorul principal. Alte caracteristici
importante ale lui Pi 3 Model B sunt porturile USB 2.0, în număr de 4, 40 de pini
de intrare/ ieșire (GPIO), slotul pentru cardul de memorie microSD ce este utilizat
pentru instalarea sistemului de operare. [9]

Figura 3.3 Raspberry Pi 3 Model B

3.2 Raspberry Pi Camera
Modulul de camer ă Raspberry Pi poate fi utilizat atăt pentru a realiza
fotografii de înaltă definiție, cât și înregistrări video. Este foarte ușor de folosit
pentru începători dar are foarte multe de oferit utilizatorilor avansați care doresc
să își extindă cunoștințele. Modulul de cameră este un produs oficial al Fundației
Raspberry Pi. M odelul original de 5 megapixeli a fost lansat in anul 2013, iar
modelul v2 de 8 megapixeli in 2016. Pentru ambele iterații există versini vizibile
de lumină și infraroșu. Bibliotecile ce sunt puse la dispozițiile utilizatorului pot fi
folosite pentru a cre ea diferite efecte.

Figura 3.4 Raspberry PI Camera
Modulul utilizat in proiectul de față dispune de o cameră de 8 megapixeli. Decizia
a fost luată analizand cu atenție specificațiile celor două versiuni disponibile.
Camera are o focalizare fixă ce acceptă atât moduri video 1080p30, 720p60 și
640x480p60 /90 cât și captare de fotografii.
Modulul se atașează cu ajutorul cablului flexibil cu o lungime de 15 cm în portul
CSI, situat între porturile Ethernet și HDMI.

Figura 3.5 Modul de atașsare al came rei
Modulul camerei este popular pentru diferite aplicații precum aplicațiile de
securitate la domiciliu dar și în capcane pentru camerele de salvare. [10]
În acest proiect am utilizat camera conectată la microcontroller -ul Raspberry Pi 3
Model B pentru a capta imagini cu diferite persoane în scopul identificării
acestora. De asememenea, camera a fost folosită pentru a capta imagini care
ulerior au fost stocate în baya de date.

3.3 Senzorul PIR
Un detector de mișcare reprezintă un dispizitiv ce recunoașt e mișcările unor
corpuri, ce pot fi reprezentate atât de obiecte cât și de persoane, din vecinătatea
lui. Acest detector conține un senzor electronic ce cuantifică mișcarea și poate fi
integrat sau conectat la alte dispozitive ce pot alerta utilizatorul de prezentța unui
obiect înauntrul gamei de acoperire a senzorului. Detectoarele de mișcare sunt
printre cele mai necesare componente pentru sistemele de securitate atât pentru
firme cât șipentru domicilii.

Figura 3.6 Senzorul PIR
Senzorul pasiv in infraroșu (PIR) este un dispozitiv electronic capabil să
măsoare radiația infraroșie ce provine de la obiectele aflate în raza sa vizuală.
PIR-urile sunt realiate o practic dintr -un sen zor piroelectric ce poate detecta
nivelurile de radiaț ie in infraroșu. Toate obiectele emit intr -o măsura mai mică

sau mai mare radiații. cu cât corpul este mai fierbinte cu atât radiația este emisă
mai mult.
Senzorul PIR are două sloturi, fiecare slot fiind realizat dintr -un material
special care este sensi bil la infraroșu. Când senzorul este inactiv, ambele sloturi
detectează aceeași cantitate de IR, din mediul ambiental din cameră, pereți etc.
Atunci când un corp cald precum un om sau un animal trece, mai întai este
interceptată de o jumătate din senzorul PIR, ceea ce provoacă o schimbare
diferențiala pozutivă intre cele două jumătăți. Când corpul cald părăsește zona de
detectare, se înâmplă invers, adică senzorul generează o modificare diferențială
negativă. Practic aceste impulsuri de chimbare sunt cele d etctate. [11]
Senzorul cu infraroșu nu răspunde la diferențe termice statice ce sunt
cauzate prin mijloace naturale precum expunerea la lumina soarelui, ci percepe
doar semnale de schimbare, cum ar fi atunci când o persoana intră în raya de
sensibilitate a senzorului.

Figura 3.7 Detecție PIR
Înaintea senzorului propiu -zis, în distanța focală, se regăsește o cupola
sferică de lentil albe mici curbe convexe, realizate dintr -un material plstic. Aceste
lentil au rolul de colecta lumina în infraroșu, care apoi ajunge la senzorul propriu –
zis ce transformă această energie infraroșie în energie electrică. Energia electrică
va fi analizată ulterior de un circuit de procesare care va diferenția alarmele false
de cele reale.

3.4 Servomotorul SG90
Un servomotor este un actuator rotativ sau un sipoyitiv de acționare linear
care permite controlul precis al poziției, vitezei și accelerației unghiulare sau
lineare. Constă dintr -un motor adecvat cuplat la un sensor pentru feedback -ul
poziției.

Pentru realizarea lucrării am folosit un servomotor SG90 ce permite
simularea deschiderii unei uși dintr -o încăpere. Am ales aceasă opțiune deoarece
servomotoarele SG90 sunt mici, ușoare șiau o putere mare de ieșire.
Majoritatea servomotoarelor de dimensiu ni mici operează de la 4.8 la 6.5
V. În cazul de față, SG90 operează la o tensiune de 5V. el mai important parametru
al servomotorului este cuplul la care funționează motorul. În mod obișnuit cuplul
este de 2,5 Kg/cm . Acest cuplu înseamnă că motorul poate trage o greutate de 2.5
Kg atunci cănd sarcina este suspendată la o distanță de 1 cm. [12]

Figura 3.8 Cuplul servomotorului
Dacă se suspendă sarcina la o distanță de 0.5 cm atunci motorul poate trage
o greutate de 5 Kg, similar dacă sarcina este suspenda tă la 2 cm , se poate trage o
greutate de 1.25 Kg.
Servomotorul se poate roti aproximativ 180 de grade ( 90 in fiecare direcție)
și funcționează la fel ca tipurile standard mai mici.

Capitolul 4 . Instrumente Software

4.1 Limbajul de programare Python
Python este un limbaj de programare de nivel înalt pentru programarea
generală. A fost creat in anul 1989 de către programatorul olandez Guido van
Rossum, care și în momentul este un dezvoltator software ce lucrea ză la
perfecționarea aces tui limbaj de programare și la implementarea de bază a
acestuia, Cpython, scrisă in C . Programul are o filozofie de design care accentueză
lizibilitatea codului și oferă construcții care permit o programare clară. Este un
limbaj multifuncțional adoptat de marile companii precum Google sau Yahoo!
Pentru programarea aplicațiilor web. Având o popularitate din ce în ce mai mare,
acest limbaj de programare a fost adoptat ca limbaj principal de majoritatea
programatorilor specializați. Din aceleași motive , numer oase sisteme de operare
bazate pe Unix precum Linux, Mac OS X și BSD includ din start interpretatorul
CPython.

Figgura 4.1 Logo Python
Python se bazeză pe curățenia și simpli tatea codului, sintaxa permițând
dezvoltatorilor să exprime ideile pragmatice în maniere mult mai clare și mai
concise ca în alte limbaje de programare, precum C. Dispunând de un sistem
dinamic șiautomat de gestionare a memoriei, poate susține mai multe p aradigme
de programare, inclusiv programarea orientată pe obiect, imperativă, funcțională
șiprocedurală. Un alt avantaj al acestui limbaj de programare este susținut de
existența unei biblioteci ample standard de metode. [13]
Implementarea de referința a limbajului de programare este scrisă în C și
de aici provine numele de CPython. Este un software open -source fiind
administrat de fundația Python Software Foundation.
Pe langă tipurile de date deja cunoscute ‚precum numărul întreg (int,
integer) , cel rațional ( float), Python vine cu concepte noi. Listele oferă, de
exemplu, un grad mare de flexibilitate, acestea nemaifiind statice, ci putând
conține orice tipuri de date. În cadrul aceleiași liste putem regă șidiferite tipuri de
date și se pot modifica p e loc , prin adăugare și ștergere de elemente fără a se
utiliza funcții de manipulare a memoriei.

Figura 4.2 Exemplu de list ă in limbajul Python

Câteva din caracteristicile importante ale acestui limbaj de programare sunt
următoarele:
• Comenariile su nt marcate cu “#” înaintea textului, în cazul în care este un singur
rând, iar dacă se dorește să fie commentate mai multe linii de cod se va folo șide
trei ori carcterul ` atât înaintea cât și la finalul paragrafului ce se dorește a fi
comentat;
• Întotdea una numele claselor trebuie să înceapă cu majuscule;
• Caracterele speciale nu sunt acceptate pentru denumirea obiectelor;
• Simbolul “_” poziționat înaintea unui identificator arată faptul că acesta este
privat ;
• Spre deosebire de limbajul de programare C unde blocurile sunt desemnate adesea
prin acolade {<cod>} , în Python nu este nevoie de astfel de construcții.Chiar și
în limbajul de programare Java exisă aceste restricții care forțează programatorii
să delimite ze clasele Prin intermediul identării, blocurile de cod sunt delimitate
evitând asfel folosirea acoladelor. [14]

Alegerea acestui limbaj de programare a fost susținută de avantajul că
programul poate fi rulat atât pe un calculator normal cât și pe o plăcu ța de
dezvoltare Rasberry Pi.

Figura 4.3 Programul Python integrat în sistemul de operare Raspbian

Python include totodată biblioteci pentru fișiere XML, arhive și biblioteci
pentru lucrul cu rețeaua și diferite protocoale de comunicare precum HTTP,
Telnet, FTP. Pe lângă acestea, există simplitatea extinderii, întrucât se pot integra

librarii foarte ușo r cu prin utilizarea instrucțiunii import urmată apoi de numele
bibliotecii dorite.

3.2 OpenCV
OpenCV (Open Source Computer Vision) este o bibliotecă licențiată BSD
open -source ce include sute de algoritmi . Scrisă în limbajul C și C++, a fost
proiectat ă pentru a oferi eficiență computațională pentru diversele aplicații de
computer vision în timp real. Ea conține mai mult de 500 de funcții ce acoperă
diverse domenii precum securitatea, imagistica medicală, robotică etc. Totodată ,
conține și un set compl ex cu funcții pentru machine learning (MLL). [15]
OpenCv a fost creată cu scopul de a pune la dispoziție diverșilor utilizatori
o inrastructură bine definită pentru procesarea imaginilor ușor de utilizat ce poate
fi folosită la dezvoltarea rapidă a aplicațiilor complexe.
Inițiată în primă fază de cercet ătorii de la Intel pentru aplicațiile ce foloseau
intensiv procesorul, proiectul OpenCV a fost lansat oficial in anul 1999. Pentru
faza de început a proiectului au fost stabilite mai multe obiective:
– Cercetare amănunțită pentru domeniul de prelucrare a ima ginilor care
oferea nu doar un cod funcțional, ci și un cod optimizat pentru o platformă
în domeniul prelucrării informației vizuale;
– Cunoștințe de programare standardizate pentru domeniul prelucrării
imaginilor pentru a oferi programatorilor o platformă t ransferabilă și ușor
de folosit ;
– Suport necesar aplicațiilor avansate in prelucrarea imaginilor pentru ca
acestea s ă fie optimizate și portabile.

Figur 4.4 Structura librăriei OpenCv

OpenCV dispune de peste 500 de funcții pentru multitudinea domeniilo r
ce folosesc computer vision sfiind structurată in 5 componente
fundamentale:

1. CV – cuprinde algortimii principali in vederea prelucrării
imaginilor ;
2. MLL – este librăria dedicată pentru machine learning și cuprinde
clasificatori statici și funcții desti nate clustering -ului;
3. HighGui – cuprinde rutinele de input/output și funcțiile destinate
incărcării și stocării imaginilor ;
4. CXCore – aici se regăsesc tipurile de date de ba ză.

3.3 Baze de date SQL

Bibliografie

[1] “Understanding the Internet of Things “ GSMA Connected Living, 2014
[2] “ The Internet of Things How the Next Evolution of the Internet Is Changing
Everything” , Dave Evans, 2011
[3]„Smart homes” http://climatherm.ro/ro/casa -inteligenta -/http://climatherm.ro/ –
ro/casa -inteligenta/
[4] “A study based on various Face Recognition Algorithms”, Interntional
Journal of Computer Applications, 2015
[5] “Cum funcționează recunoașterea facială?” , http://www.scientia.ro/39 –
tehnologie/cum -functioneaza -lucrurile/741 -cum-functioneaza -recunoasterea –
faciala.html
[6]

Similar Posts