– 30 mai 2013 – [607682]
Raport
– 30 mai 2013 –
State of the art î n domeniul Affective Computing (AC).
Implementarea modul ului de recunoaștere a emoțiilor din
imagini ș i video
Doctorand: [anonimizat]: prof. dr. ing. D. N. Vizireanu
CUPRINS
1. Introducere în domeniul Affective Computing ………………………….. ………………………….. ………………… 4
1.1 Detectarea și recunoașterea informației emoționale ………………………….. ………………………….. .. 4
1.2 Emoțiile mașinilor ………………………….. ………………………….. ………………………….. ………………… 5
1.3 Emoțiile în mașini – paradigma dispozitivelor mobile ………………………….. ……………………….. 6
2. State of the art ………………………….. ………………………….. ………………………….. ………………………….. ……. 9
2.1 Modele de emoții ………………………….. ………………………….. ………………………….. …………………. 9
2.2 Aplicați i ale modelelor emoționale în medii computaționale ………………………….. …………….. 12
2.3 Affective computing în inteligența ambientală ………………………….. ………………………….. ……. 13
2.4 Testarea complexității emoțiilor umane ………………………….. ………………………….. ……………… 16
2.4.1 Diferențe între emoțiile învățate și emoțiile naturale ………………………….. …………………….. 17
2.4.2 Gruparea Emoțiilor ………………………….. ………………………….. ………………………….. …………. 18
2.5 Concluzii ………………………….. ………………………….. ………………………….. ………………………….. . 18
3. Modulul de recunoaștere a emoțiilor din imagini și video ………………………….. ………………………….. .. 20
3.1. Urmărirea fetei folosind repere personalizate ………………………….. ………………………….. …………….. 25
3.1.1 Instrumente utilitare ………………………….. ………………………….. ………………………….. ……………….. 26
3.1.1.1 Instrumentul de marcare a punctelor -reper ………………………….. ………………………….. …………….. 29
3.1.1.2 Constrângeri geometrice ………………………….. ………………………….. ………………………….. …………. 32
3.1.2 Detecția trăsăturilor faciale ………………………….. ………………………….. ………………………….. ……… 37
3.1.3 Detecția fetei si estimarea trăsăturilor ………………………….. ………………………….. ……………………. 42
3.1.4 Urmărirea trăsăturilor în timp real ………………………….. ………………………….. ………………………… 45
3.2 Detecția emoțiilor ………………………….. ………………………….. ………………………….. ………………………. 47
3.3 Rezultate experimentale ………………………….. ………………………….. ………………………….. ……………… 53
3.4 Concluzii ………………………….. ………………………….. ………………………….. ………………………….. ……… 58
Bibliografie ………………………….. ………………………….. ………………………….. ………………………….. …………….. 59
1. Introducere în domeniul Affective Computing
Affective computing este un domeniu care studiază modul prin care pot fi de zvoltate
sisteme s au dispozitive care pot recunoaște, interpreta, procesa și s imula afectul uman (emoț iile
umane) . Este un domeniu interdisciplinar care cuprinde ramuri cum sunt știința computerelor
(computer science), psihologie, filosofie și alte științ e cognitive . Deș i originile acestui domeniu
pot fi găsi te chiar și în cele mai timpurii investigaț ii psihologice ale em oției, ramura mai
modernă a științ ei computerelor a fost cea care a revoluț ionat domeniul în 1995 , odată cu
articolul lui Risalind Picard despre affective computing . Motivu l cercetării lui Picard a fost
acela de a concepe un sistem c are să poată simula empatia. Maș ina ar fi tre buit să interpreteze
starea emoțională a oamenilor ș i să se ad apteze comportamentului lor, acționând conform cu
emoțiile lor. Acesta este ș i punctul de plecare al acestui domeniu.
1.1 Detectarea și recunoașterea informației emoț ionale
În acest subcapitol vor fi prezentate principalele faze care trebuie urmărite în detecția și
recunoașterea informației emoționale. Într-o primă fază se utilizează senzori pasivi care
capturează informaț ii despre starea fizică a utilizatorului sau despre comportamentul acestuia ,
fără a interpreta datele de intrare colectate . Informaț iile adunate sunt analogice din punct de
vedere al reperelor pe baza cărora oamenii percep e moțiile celorlalți oameni. Spre exe mplu, o
cameră video poate captu ra expresii faciale, poziț ii ale corpului ș i ges turi în timp ce un microfon
poate captura vocea. A lți senzori colectează informaț ii măsurând direct anumiți parametr i
psihologici, cum sunt t emperatura sau rezistenț a galvanică.
Recun oașterea informației emoț ionale necesită extragerea patternurilor ce pot fi
discriminate din informaț iile preluate. Acest l ucru este realiz at folosind tehnici de machine
learning care proceseaz ă diferite moduri de recunoaștere a vorbirii , procesare a limbajului natural
sau d etectare a expresiilor faciale și produc fie etichete sau coordonate într -un spaț iu cu valențe
excitate în funcție de diferite emoții.
1.2 Emoțiile mașinilor
O altă zonă în cadrul affective computing este designul dispozitivelor computaț ionale
folosite astfel încât acestea să încapsuleze cât mai eficient și prietenos capacitățile de a
recunoaște și simula emoții. O abordare m ai practică, bazată pe capacităț ile tehnolo gice curente
este simularea emoției în agenți conversaționali pentru a îmbunătăți ș i a facilita interactivitatea
dintre oameni și mașini . În timp ce emoț iile umane sunt des asso ciate cu procentele de hormoni
și alte neuropeptide din corpul uman , emoțiile în maș ini pot fi as ociate cu stări abstracte date de
progresul (sau lipsa progresului) în anumite sisteme de învăț are autonome. În acest sens, stările
afective emo ționale corespun d derivatelor de timp (perturbațiilor) din curba de învățare a unui
sistem arbitrar de învăț are.
Marvin Minsky, unul din tre oamenii de știință pionieri ai inteligenț ei artificial e, leagă
emoțiile de o problem ă mai largă a inteligenție maș inilor spunând , în The Emotion Machine , că
emoția este „nu cu mult diferită de p rocesul pe care -l numim gândire”
Prima carte despre emoții la animale si oameni a fost scrisă de Charles Darwin î n secolul
al 19 -lea. După această operă de referință în literatura de specialitate , psihologii au început să
acumuleze informații noi în domeniu. În u ltima perioadă, un nou val de interes a atras atenția atât
a psihologilor cât și a specialiștilor în informatică, prin apariția ș i dezv oltarea domeniului
inteligenț ei artificial e. Există mai multe motive pentru această renaștere a domeniului : progresul
tehnologic în înregistrarea, stocarea și procesarea informațiilor video și audio, dezvoltarea
senzorilor n on-intrusivi, apariția calculatoarelor portabile, nevoia de a îmb unătăți interacțiunea
om-mașina de la paradigma point -and-click la cea sense -and-feel precum și invazia în
computerele noastre a unor agenți software care simulează viața de zi cu zi și în casele noastre , a
unor dispozitive care , se presupune , sunt capabile să exprime, să aibă și să înțeleagă emoții .
Astfel , a luat naștere un nou domeniu de cercetare in inteligenta artificială cunoscut ca “ affecting
computing ”.
În psihologie, filos ofie și multele lor subdomenii, emoția este un termen generic
exprimând experiența conștientă, subiectivă care este caracterizată în principal de expresii
psihofiz iologice, reacții biologice ș i stări mentale. Emoț ia este de s asociată și considerată a fi
influențată de hormoni si neurotransmiț ători ca dopamina, noradrenalina, serotonina , oxitocina si
cortizonul . Emoția este des privită ca forța din spatele motivaț iei, fie ea pozitivă sau negativă.
Chiar dacă aceste acte primare ale emoț iei par a nu fi con știente, totu și con știența este un aspect
important al emo ției, în special în procesul de interpretare a evenimentelor. De exemplu,
experimentar ea sentimentului de frică apare, în mod natural, ca urmare a unei amenințări
concrete. Emoț ia este de asemenea strâns legată de tendin țele comportamentale ale subiectului în
cauză. Astfel, monitorizând toate aceste fenomene psihofiziologice prin intermediul unor agen ți
inteligenți, putem îmbunătă ți nivelul percep ției asupra persoanei, ca entitate psihologică sau ca
tendin țe de evolu ție comportamentală. Cercetările referitoare la emo ție s-au intensificat de -a
lungul ultimelor doua decenii, multe alte domenii contribuind semnif icativ, incluzând psihologia,
neuro logia , medicin a, socio logia și, substratul acestei lucrări, tehnologia informației .
Pe cale de consecin ță, recunoaș terea informa țiilor și extragerea emoț iilor oamenilor sunt
necesare pentru ca ma șinile să comunice fără probleme cu oamenii și să realizeze comunicarea
emoțiilor. Această lucrare se concentrează pe dezvoltarea unor agen ți care pot recunoaște și
interpreta emoț iile umane precum și definirea unui mod de a corela răspusurile date multimod al
de acești agenți, într -un răspuns global cât mai corect. Pentru a realiza acest lucru, lucrarea se
concentrează pe analiza semnalelor tridimensionale si multidimensi onale, imagini si video.
Astfel este necesară o estimare a datelor statistice bazate pe ultimele r ealizări în studiul creierului
și psihologia emoț iilor.
1.3 Emoțiile în mașini – paradigma dispozitivelor mobile
Evoluț ia tehnologică în domeniul informa ticii a dus în timp la îmbunătăț irea aparatelor
hardware de comunicaț ie sau de procesare până când aceste apa rate au ajuns să aibă performanțe
din ce în ce mai mari ș i dimensiuni din ce în ce mai mici. Este evident că industria acestor tip de
dispozitive va fi din ce în ce mai privilegiată , iar dispozitivele rezultate vor deveni
indispensabile. Te lefonul mobil este, de e xemplu, o necesitate pentru viaț a noastră de zi cu zi.
Fără acest mic dispozitiv, mulț i dintre noi nu am mai putea gândi la fel de complet. Cu ajutorul
lui dezvoltăm relații sociale, rămânem conectaț i cu per soanele apropiate, dar în acelaș i timp ne
îmbunătă țim productivitatea în activitățile de zi cu zi, câștigând ceea ce cu toții preț uim foarte
mult, în această societate cu un ritm ame țitor – timpul. Totuș i, ne -am putea imagina cum
telefonul mobil ar avea un rol încă și mai mare în rutina vieț ii noastre zilnice. Ne putem imagin a
un telefon mobil care recunoaște semnele de circulație ș i ne avertizează când suntem la volan,
care recunoaște vocea posesorului ș i ascultă com enzi vocale complexe, care învaț ă să recunoască
scrisul de mână, care detectează fețe și emoții și recunoaște oameni în mulțime. Cu siguranț ă ar fi
o lume plină de noi oportunităț i.
Astfel, l ucrarea îș i propune mutarea probleme i pe un astfel de palier ș i anume: o abordare
generală a realizării unui sistem multimodal d e recunoaștere a emoțiilor bazat pe prelucrare a
imaginilor si secvenț elor video, prelucrarea în timp real a fluxului video pe un terminal mobil,
recunoaștere vocală și recunoașterea scrisului.
Oamenii comunică în mod obiș nuit pe de o parte pentru a face un lucru cunoscut, pe de
altă parte pentru a primi informații din mediul exterior. Emoț iile um ane sunt un factor care
influențeaz ă modu l în care tratăm și relaț ionăm cu obiectele lumii înconjurătoare [1]
Este de asemenea relevantă importanț a lor în Interac țiunea Om Computer HCI (Human
Computer Inte rraction) ca o parte a comunicaț iei om -computer. Ca o parte inerentă a comunicării
umane, studi ul emoț iilor în HCI est e important deoarece starea emoțională a oamenilor care
interacț ionează cu computerele sau disp ozitivele este relevantă pentru a asigura a o mai bună
adaptare la anumite caracteristici specifice utilizatorului.
Acest articol este c entrat pe sisteme ș i tehnologii computer -based, fie sof tware sau
hardware. Trebuie menț ionat că sisteme le computer -based pot fi computere înt regi sau simple
dispozitive. Î n mod general, comunicare a computer based poate fi descompusă în trei tipuri:
– Comun icare între utilizator ș i computer
– Comunicare folosind sisteme computer -based pentru a per mite c omunicarea a 2 sau
mai mu lți oameni (comunicare mediată de computer)
– Folosirea sistemelor computer -based pentru a permite comunicarea utilizatorului cu
mediul
Pentru a face posibilă o comunicare mai naturală între computere și oameni, în ultimii ani
s-a depus un efort considerabil pentru cercetările în domeniul Affective Computing (AC) [2].
Affective Computing devine astfel o disciplină care dezvoltă dispozitive pentru detectare a
emoțiilor și oferirea de răspunsuri la emoț iile utilizatorilor , precum ș i mediare afectivă
(„affective mediation ”) o tehnologie computer -based care permite comunicare a între doi sau mai
mulți oameni care își arată starea emoțională [2]. Acestea sunt domenii de cercetar e care cresc și
trebuie să se alature cercetărilor tehnolog iilor asistive pentru a îmbunătăț i zona neglijată a
comunicării afect ive pentru oameni cu di zabilități de comunicare. [3]. Este clar că acesta este un
domeniu interdisciplinar care cuprinde probleme ce vin din d omenii ca psihologie, inteligenț ă
artificială, sociologie, ergonomie și așa mai departe.
Deși se află în stadii incipiente , AC a fost centrat pe a îmbunătăț i comunica rea implicită
între utilizator și computer și chiar ș i comunicarea computer -mediated (prin intermediul
chaturilor, mailurilor electr onice, etc) mai târziu îmbu nătățind și comunicarea cu mediul [4]. În
acest fel, anumite variabile de m ediu pot fi adaptate stării emoț ionale curente a utilizatorului
pentru a determina o int eracț iune mai confor tabilă, spre exemplu, personaliz area muzicii sau a
iluminării într -o încă pere în funcție de afectul celor prez enți.
Ideea pr incipală este aceea de a realiza interfețe cu utilizatorul cât mai inteligente și mai
adaptive. În cazul particu lar al comunicării cu mediul, mai multe tehnici care vin din Abient
Intelligence (AmI) pot fi combinate cu subiecte de AC pentru a oferi o interacț iune mai naturală.
AmI se referă la o viziune specifică a Information Society Technologies Adi vsory Group
(ISTAG) al Comunităț ii Europene conform căreia oamenii vor fi încon jurați de interfeț e
inteligen te care suportă tehnologi i avansate distribuite oriunde ș i integrate în obiecte de uz
general, zilnic cum sunt mobila, hainele, vehiculele, drumurile și materialele inteligente [5].
Acelaș i autor sugerează că, în partea practică, AmI poate fi des cris grosolan ca opusul realităț ii
virtuale: realitatea virtuală pune oamenii în interi orul unei lumi computer -generated, AmI pune
computerul în interiorul unei lum i reale pentru a ajuta oamenii [5]. [6] introduce o definiț ie
psihologi că a AmI bazată pe experie nța utilizatorului: „AmI este suportul eficient și transparent
al activităț ii subiectului prin utilizarea tehnologiilor informaționale și comunicaționale”. Prin
urmare senzori inteligenți vor fi integrați cu sistemele AmI. Aceș ti senzori vor fi folosiți pe ntru a
detecta starea afectiv ă a utilizatorului. Deoarece una dintre ace ste caracteristici ale comunicaț iei
afective este multimodalitatea, integrarea multimodală este foar te probabil să afecteze
recunoaș terea dată de natura mu lticomponentă a emoției [7]. Este cunosc ut, spre exemplu, faptul
că emoț iile sunt îndeaproape leg ate (dacă nu asociate) cu cunoașterea [8], că expresiile fa ciale
pot genera fiziologie emoțională ș i că expresii le faciale sunt asociate cu emoțiile [ 9].
2. State of the art
Emoțiile pot fi înț elese , în mod simplu, ca „un impuls care induce o acțiune”, cauzând
comportamente reactive automate asupra unui anumit stimul de mediu. Din punct de vedere
psihologic, emoția este un sentiment exprimat printr -o funcție fiziologică cum sunt reacț iile
faciale, tonalitatea vocii, pulsul cardiac și reacț iile comportamentale ca agresiunea, plânsul,
acoperirea fe ței, etc.
Aceast secț iune studi ază modelele de emoț ie care se găsesc în literatură ș i face o trecere
în revistă a actualelor concepte și aplica ții afective computer -based.
2.1 Modele de emoții
Una dintre cele mai vechi dezbateri în teoria emoțiilor este aceea dacă emoț iile su nt
înnăscute sau dacă sunt învățate [10]. Pe de altă parte, mai multe teorii, cum este teoria lui
Darwin, susțin că toate emoț iile sunt î nnăscute sau biologice, la fel ș i expresia lor și fiecare
dintre ele au evoluat în timp pentru a se se adapta anumitor f actori de mediu care au influențat
strămoșii noștri genealogici. Conform [11] fiecare emoție are o semnătură unică. Pe de altă parte
alte teorii cum sunt [12] și [13] susț in că emoțiile sunt construcții învățate social cu excepția
tresăririlor de moment ș i dezgustul. Emoț iile sunt văzute ca procese cogn itive legate de
arhitectura minț ii umane (sistemul de lu are a deciziilor, memorie, atenție, etc) ș i de asemene a
animalele (agresivitate, afecțiune, tristeț e). În cazul emoț iilor umane , interacț iunea dire ctă cu
exteriorul are o influenț ă, dar și memoria emoțională stârnită de experiența respectivă a
individului și de mediul cu ltural, care reprezin tă, în fapt, o componentă a emoției, numită emoție
de socializare . Din acest punct de vedere răspunsul emoțional de socializare nu corespunde cu
răspunsul emoțional pur ș i poate duce la mascarea stării organismului.
Nu în ultimul rând, conform [10], alți cercetători cred în existența emoțiilor de bază ș i al
existenței unui set foarte mic de emoții înnăscute. Spre exemplu, autori ca [9] cred că emoțiile de
bază sunt universale și partajate de toți oamenii, și restul reacț iilor afective sunt derivate din
acestea.
Prin urmare emoția este starea unui sistem indus ă de un eveniment extern sau intern care-
i poate afecta integritatea și obiectivul. În si stemele biologice , emoția indică existenț a unei stări
excelente în legătură cu integritatea individului sau a speciei. În spec iile care socializează,
relevanța se extinde integrităț ii grupului ș i în speciile culturale, integrităț ii normelor. Există de
asemenea emo ții de camuflaj care de multe ori sunt desconsiderate. Stările emoț ionale implică o
deviere de la un nivel al normalității sau un echilibru ș i produce un răspuns de normalizare sau
prezervare. Variabila cau zată de impactul evenimentului și de răspunsul sistemului conține
informaț ii care sunt fo losite de compunentele interne ș i externe pen tru a optimiza
comportame ntul de prezervare. Stările emoț ionale umane produc semnale externe care conțin
informaț ii despre relevan ța evenimentului pe toate planurile de valori ale individului (integritatea
individuală fizică sau a grupului și/sau adaptarea la normă). Acesta este motivul pentru care
semnalele biologice (frecven ța cardiacă, fața, termografia , rezisten ța pielii, exp resiile cu pupilă
dilatată) conț in informa ții ambigue despre starea emoț ională, limitându -le la a exprima
intensitatea stării. Modele diferite de emoț ii propuse de psihologia cognitivă trebuie luate în
considerare ca un punct principal de plecare. Deș i există mai multe modele teoretice de emo ții,
cele mai folosite sunt modele le de emoții dimensionale [14] și categorice [15].
Din rațiuni practice, modelele categor ice au fost utilizate mai frecvent în AC. Spre
exemplu, [16] a implementat mai mulț i algoritmi car e recunosc opt categorii de emoții bazate pe
expresii faciale. [17] a dezvolt at algoritmi pentru a produce și recuno aște 5 tipuri de emoții
bazate pe parametri vocali. Deș i abord area dimensională a fost mai puț in urmărită, există de
asemenea și aplicaț ii AC bazate pe această abordare cum sunt Feeltrace, un ut ilitar pentru
înregistrarea emoț iei percepute în timp real con form cu cele două dimensiuni: Excitare și Valență
[18].
[19] propune existența a 3 sisteme implicate în exprimarea emoțiilor care să servească
drept indicatori pentru detectarea emoției utilizatorului:
– Informație subiectivă sau verbală: raporturi ale emo țiilor percepute descrise de
utilizatori
– Comportamental: expresii faciale și posturale ș i parametri i paralingvistici ai vorbirii
– Răspunsuri psihofiziologice, cum sunt tensiunea arterială, răspunsul galvanic al pielii
(galvanic skin response (GSR) ) ș i răspunsul electroencefalografic (EEG).
Cele trei sist eme, subiectiv, comportamental ș i fiziologic, trebuie să fie corelate pentru a
determina emoț iile. Corelarea între aceste trei sisteme poate ajuta computerele să interpreteze și
emoț ii care pot părea ambigue la o cercetare unisistemă . Spre exemplu, o persoană care suferă de
apraxi e poate să aibă probleme în ceea ce priveș te articularea gesturilor faciale, dar informaț ia
subiectivă determinată cu tehnologie asistivă, poate fi folosită de un computer pentru a interpreta
starea sa emoțională. Altfel spus, modele ș i teorii mai specifice care descriu componentele
fiecărui sistem de expres ie pot fi găsite în literatură ș i selectat e conform cu cazuri particular e.
Spre exem plu, un dictionar de detectare a emoțiil or din vorbire [20], corelări acustice ale vorbirii
sau expresii faciale [ 21]. În oricare din tre aceste cazuri, cum sugerează [22] pentru expresii
vocale emoționale , este necesară creș terea num ărului și varietății de emoț ii studiate pentru
fiecare modalitate de exprimare emoțională, replicarea diferențelor în recunoaștere a și acuratețea
discriminării între emoții și investigarea diferențelor culturale ș i de limbă.
Există, în principiu, două moduri de comunicare umană:
– Comunicarea verbală sau canalul explicit (limba)
– Comunicarea n onverbală sau canalul implicit [21]
Mai mult, există momente în care oamenii comunică direct, spre e xemplu când vorbesc
cu o audienț ă care este alături de speaker, în timp ce există momente în care oamenii folosesc
dispozitive pentru a comunica, d e exemplu telefoane în conversaț ii telefonice.
Conform [23], p 53, „deș i tindem să privim limba ca principalul c anal de comunicare,
există o înțelegere generală între experț ii în se miotică că undeva între 80 și 90 la sută din
informația pe care o privim ne este d e fapt comunicată nonverbal, dar se întâmplă fără să fim
conștienți de ea”. În acelaș i timp, se afirmă că 7% din comunicarea dintre două tipuri de oameni
este verbal ă, 38% voca lă (ton, umbre, etc) ș i 55% în limbajul cor pului. Prin urmare conform
[24], o persoană cu deficiență de vedere și o persoană cu deficiența auzului pierd 55% ș i,
respectiv, 38% din informa ția afectivă pe care oamenii care nu suferă de aceste deficien țe sunt
capabili să o proceseze ș i asimileze. La u n lucru similar se referă și [4, p. 1673] care afirmă că
„informaț ia im portantă într -un schimb informaț ional vine din limbajul corporal, prozodia vocii,
expresiile faciale dezvăluind conținutul emoțional ș i imaginea facială corelată cu diferite aspecte
ale vorbirii. Comunicarea va deveni ambiguă când acestea sunt luat e în considerare în timpul
HCI și comunicarea mediată de computer” . Este e vident că studiul multimodalității în emoț ii este
fundamental relevant pentru a obține o sinteză și o recunoaștere mai precisă a emoț iei.
2.2 Aplicații ale modelelor emoț ionale în medii computa ționale
Cum am menționat și anterior, interacțiunea umană include informația emoț ională a
interlocutorilor care este transmisă de canalul explic it prin limbă ș i de canalul implicit prin
comunicarea nonverbală. Nu în ultimul rând a fost evaluat faptul că aceste concepte, care su nt de
asemenea asociate cu relaț iile interpersonale, pot fi utilizate și în comunicarea cu computerele
[2].
Prin urmare ; scopul principal al Affective Com putin g este acela de a detecta și procesa
informația emoțională cu scopul îmbunătățirii comunic ării dintre persoana respectivă ș i sistemul
computer -based.
Învățarea la distanță (e-learning) , robotica ș i psihoterapia sunt doar câteva dintre
domeniile care ar put ea beneficia de un computer cu capacități afectiv e. Mai mult, grupuri de
cercetare în AC de la MIT au început o investigație cu scopul de a ajuta în domeniul învățării la
distanț ă (e-learning), și de a determina necesitățile emoț ionale ale stude nților [25]
AC este de asemenea utilă în d omeniul Telemedicinei. Conform [ 26] p.5, Tele -Home
Health Care (tele -HHC) permite comunicare a între profesioniști medicali și pacienț i în cazu l în
care nu este necesară o acț iune practică asupra lor ci doar o monitorizare regulată. Spre exemplu
intervenț iile tele -HHC sunt ut ilizate pentru a prelua informaț ii legate de semnalele vitale de la
distanț ă (de exemplu ECH, presiunea arterială, nivelul de saturație a oxigenulu i, tensiunea
arterială, respiraț ie), pentru a verifica conf ormitatea cu tratamentul și/sau regimele de dietă ș i a
evalua starea mentală sau emoț ională a pacientului.
O altă aplica ție este „Driving Safety” [26]. Luând în considerare faptul că inabilitatea de
a ne stăpâni propriile emoț ii în timpul condusului est e identificată c a fiind una din cauzele
majore ale accidentel or, când sistemul determină că ș oferul se află într -un stare nervoasă, de
exemplu, sistemul poate schimba muzica [27] sau sugera tehnici de relaxare [26], în funcție de
stilul preferat al ș oferului.
[2] propune ajutorul persoanelor autiste. Această problemă afectează în jur de 1.5 -2
oameni din 1000. Autismul este o tulburare de dezvoltare care persistă în timpul întregii vieț i.
Această boală afectează în moduri diferite abilitatea de a comunica sa u înțelege limba,
coexistența socială ș i imaginația . Unele persoane autiste su nt incredibile în ceea ce privește
memorarea și pot învăț a să recunoască expresii facial e, dar majoritatea au dificultăț i în ceea ce
privește înțelegerea emoțiilor și deci le lipse ște inteligența emoțională. Conform [2], un mod de a
ajuta aceș ti oameni este acela de a repeta cu ei diferite tipuri de situații ș i în acest fel ei vor fi
capabili să învețe să reacț ioneze într -un mod natural. Scopul este acela de a proiecta computere
care să aibă capacitatea de a învăț a aceste tipuri de persoane cum să se comporte în diferite
scenarii sociale.
Articolul [7] prezintă un listing al diferitelor aplicații de recunoaș terea automată a
expresiilor faciale. Spre exemplu, antrenarea utilizatorului, asistenț ii pentru învățarea la distanț ă/
tele-teaching , monitor pentru alertarea stării de somnolenț ă a conducătorului auto, detector de
stres, diferite jocuri, sănăt ate și planning familiar, etc.
Toate aceste aplicaț ii sunt capabile de mai multe acțiuni de ordin afectiv , printre care
capacitatea de a recunoaște, exprima ș i avea emoții. Aceste aplicaț ii sunt simple problem e
inginereș ti, dar unele dintre ele sunt m ult mai comp licate deoarece depind de abilitățile a fective
ale ființelor umane. Principalul scop este deci acela acela de a proiecta module af ective capabile
de a fi combinate cu alte module ș i de a crea sisteme multimodale cu adevărat inteligente și
personale [ 2]
2.3 Affective computing în inteligenț a ambientală
Inteligența Ambientală (Ambient Intelligence – AmI) este o nouă paradigmă
multidisciplinară cu rădăcini în ideile lui Norman despre „ubiquitous computing ” [1]. În AmI,
tehnologiile sunt implementate în aș a fel încât computerul va dispărea în b ackground în timp ce
utilizatorul uman se miș că în foreground în control complet asupra mediului .
AmI favorizează noile modele antropomorfice de interac țiune om -mașină. Deoarece AmI
este o paradigmă ce ntrată pe utilizator, ea suportă o v arietate de metode de inteligență artificială
și lucr ează în profunzime, neintrusiv ș i transparent pent ru a ajuta utilizatorul. El susține ș i
promovează cercetările interdisciplinare cup rinzând domenii tehnologice, științifice ș i artistice
pentru a c rea un suport virtual de inteligență distribuită ș i integrată.
AmI este construit pe 3 tehnologii cheie recente : Ubiquitous computing, Ubiquitous
Communication și Interfețe Inteligente cu U tilizatorul. Câteva dintre aceste concepte sunt foarte
noi ș i acest lucru reflectă statusul implementărilor curente de AmI. Ubiquitous Computing se
referă la integrarea microproceso arelor în obiecte de uz zilnic cum sunt mobila, hainele, jucăriile,
chiar ș i picturile. Ubiquitous Communication permite a cestor obiecte să comunice una cu
cealaltă și cu utilizatorul prin intermediul unei re țele ad -hoc wireless. În final, o interfa ță
inteligentă cu utilizatorul permite locuitorilor din mediul AmI să controleze și să interac ționeze
cu m ediul într -un mod natur al (de exemplu, prin gesturi) și personalizat (preferin țe, context).
Este interesant să includem paradigma AC în AmI. Gesturile ut ilizatorilor (atât faciale cât
și corporale), vorbirea, cuvintele, etc. pot fi folos ite pentru a detecta starea emoț ională di n surse
multimodale.
Eficiența interfețelor cu utilizatorul nu este considerată a fi utilitatea unei acț iuni ci felul
în care aceasta nu variază de -a lungul timpului. În evaluarea stării afective pentru modelarea și
asistența utilizatorului, informația di n modalităț ile senzorilor nu este suficientă ș i trebuie
integrată cu modele de nivel înalt ale utilizatorilor ș i mediului care să le prelucreze pentru a oferi
un rezultat cât mai corect .
Multimodalitatea poate fi obț inută prin intermediul unui set de senzo ri cum sunt
camerele, microfoanele ș i/sau parametrii psihofiziol ogici. O parte din ei pot fi obținuți într -o
manieră neintrusivă (în principal imagini ș i vorbire) în timp ce altele pot fi intrusive (în special
cele fiziologice). Prin urmare miniaturizarea dispozitivelor computer -based face posibilă
dezvoltarea unor computer e portabile și purtabile care pot ajuta la înregistrarea parametrilor
psihofiziologici, fără a cauza neplăceri oamenilor.
Dat fiind faptul că AC și AmI sunt concept e noi, puț ine cercetări care să ia ambele
paradigme în calcul au fost realizate . Unele d intre cele mai remarcabile vor fi prezentate în
paragrafele următoare.
În [28] este pezentat un framework probabilistic bazat pe Rețele bayesiene dinamice
(DBNs) capabil să recun oască stările a fective ale utilizat orului pentru a furniza asistența potrivită
pentru ținerea utilizatorul ui într-o stare productivă. Incorporează astfel un mechanism de „active
sensing ” într-un framework DBM pent ru a realiza integrarea informației și a determina starea
afectivă a utilizat orului, furnizând asisten ța corectă cât mai eficient și rapid posibil.
Experimentele realizate au implicat folosirea unor dat e atât reale cât și sintetice ș i au demonstrat
fezabilitatea framework -ului precum ș i eficacitate a strategiei de „active sensing ”, dar trebuie
menț ionat faptul că a fost testat cu un număr redus de stări emoționale (în acest caz, 3) ș i pentru
perioade scurte de timp.
MOUE (Model of Users Emotions ) este un sistem care construiește un model de emoț ii
ale utilizatorului prin observarea utiliza torului (ex . pacient) prin dispoz itive multisenzoriale:
came ră, mouse, tastatură, microfon ș i computer e purtabile [7]. Sistemul MOUE a fost utilizat
pentru aplica ții de tele -HHC, incluzând : dezvoltarea arhitecturii unui sistem pentru monitorizarea
și oferirea de răspuns unei emoț ii umane , multimodal , prin multimedia ș i avatare empatice,
maparea se mnalelor fiziologice în emoții și sintetizarea informației a fective a pacientul ui pentru
furnizorul de asistenț ă medical ă. Rezultatele obținute folosind un computer pu rtabil, neinvaziv,
wireless pen tru a colecta semnale fiziologice și a le mapa în stări emoț ionale au demonstrat că
această abordare este una validă .
În [20] este prezentat un Sistem cu adaptare a interfeței în funcție de afect și „credinț e”
(Affect and Belief Adaptive Interface System – ABAIS) proi ectat pentru a compensa diferențele
de performanț ă cauzate de stările afective ș i credinț ele unui subiect . Arhitectura ABAIS
presupune implementarea unei metodologii adaptive în 4 paș i: determinarea stării afective a
utilizatorului, credinț e relevante di n punctul de vedere al perfomanței, identificarea potenț ialului
impa ct al acestora asupra performanț ei, selectare a unei strategii c ompensatorii ș i implemen tarea
acestei strategii în terme ni de adaptare GUI. ABAIS ofe ră un framework adaptiv pentru
integrarea unei variet ăți de metode de evaluare a utilizatorilor (ex. Knowledge -base, rapoarte
personale, diagnosti c, sensibilitate fizwiologică) ș i strategii de adaptare GUI content -based ș i
formal -based. Predic ția diferen țelor de performanț ă ale ABAIS este bazată pe descoperir i
empirice din cercetarea combinată a emoțiilor cu informații detaliate legate de contextu l taskului.
Prototi pul ABAIS inițial a fost demonstrat în contextul unui task de luptă al Air Force, a folosit o
abordare knowledge -based pentru a evalua gradul de anxietate al pilotului și s-a adaptat la
anxietatea pilotului și stările de credin ță modificând selectiv displ ayurile instrumentelor din
carlingă ca răspuns la detectarea schimbărilor acestor stări.
O abordare a reg ulilor sistemelor automatic e poate fi obț inută luând în consid erare atât
component e umane cât ș i component neumane . Deci, să presupunem că automatizar ea clasică
încearcă să reguleze un sistem G1(s) ș i intrările X1(s) prin regulatorii aut omatici H1(s) pentru a
obține un răspuns potrivit Y(s). Influenț a asupra sistemului a oam enilor (human factors)
GHF1(s) ș i emoț iile lor sunt înlătura te în ciuda faptului că sunt un ele din cele mai importante
părți. Posibila regulare a factorilor umani ca emoț ii prin regulatorii HHF1(s ) ar ajuta pentru a
proteja cor ect oamenii și pentru a se bucura mai bine de capacităț ile lor. Prin urmar e primul pas
este acela de a obține modelarea umană potrivită și de a măsura atât emoțiile perceptibile cât ș i
cele neperceptibile. Este remarcabi l faptul că NASA conduce studii pentru automatizarea umană
în procese legate de sistemele aerosp ațiale și mediile complexe [2 8].
2.4 Testarea comple xității emoțiilor umane
Nu este ușor să detectăm emoț ii în mediile AC-AmI deoarece expresia emoț iei este
multimodală. Mai mult, parametrii sunt în mod normal folosiț i în m oduri intrusive . În ac est
capitol este prezentat un studio legat de modalitatea prin care poate fi obținută, într -o manieră
neintrusivă, detectarea emoției umane folosind mai multe tehnici de ML. De remarcat este că un
sistem AmI care are de -a face cu multimodalitate va fi unul foarte complex atunci când va
încerc a să extragă parametrii r elevanț i ai oricărei modalită ți și când va încerca să le sincronizeze
în timp real pentru a face estimări emo ționale.
Folosind o bază de date afectivă bilingvă, au fost calculați mai mulț i parametrii de
vorbire pentru fiecar e înregistrare audio. Studiind v aliditatea recunoa șterii emoț iei în vorbire s-a
demonstrat importanța vorbirii pentru a exprima emoția în cazul ființelor umane. Deoarece
majoritatea bazelor de date af ectiv sunt create folosind înregistrări realizate de actori
profesioniș ti, acest lucru p oate duce la problem e când recunoaștem emoții ale unor persoane
amatoare deoarece capacităț ile lor acto riceș ti nu sunt atât de remarcab ile ca cele ale unor
profesioniș ti.
Trebuie de asemenea luat în considerare faptul că bazele de date af ective sunt folosi te
pentru a antrena sistemul ș i sunt în mod normal bazate pe înregistrări performate de actori
profesioniști. Baza de date rekEmozio [29] este o bază de date multim odală bilingvă pentru
Spaniolă și Bască. Domeni ul bazei de date RekEmozio este prezentat în Tabelul 1. Pentru
înregistrări audio, actorii profesioni ști și neprofesioni ști au fost ruga ți să vorbească atât corect
din punct de vedere semantic cât ș i incorect semantic pentru o emoție dată (154 de propoziț ii
pentru actorii profesioni ști și 28 de p ropozi ții pentru actorii neprofesioniș ti). Înregistrările în
baza de date RekEmozio au fost folosite pentru a realiza procesul de extragere a parametrilor
care au fost ulterior stocați în baza de date . În acest fel fiecare înr egistrare a fost parametrizată și
valoarea acestor parametrii a putut fi folosită ca input pentru diferitele tehnici de ML . A fost
utilizată clasificarea categorică a emoțiilor 7 emoț ii au fost folosite: cele 6 emoții de bază
descris e în [14], acestea fiind: tristeț e, frică , fericire, mânie, surprindere ș i dezgust , și,
bineînțeles, emoț ia neutră.
Limba Bască Spaniolă Femei Bărbați Total
Profesioniști 7 10 8 9 17
Amatori 2 10 5 7 12
Propoziții 1134 1820 1372 1582 2954
Tabelul 1 – Domeniul bazei de date RekEmozio
Au fost aplicate mai multe metode (MLE (3), MDM(6), FISHER(15), KNN (45), SVM
(16)) pe mai multe seturi de training și test cu actori profesioni ști și amatori pentru a analiza
complexitatea recunoașterii și gruparea emo țiilor umane. S-a dorit compararea pe rformanț elor
recunoa șterii emoț iilor în vorbire comparând rezultatul pentru profesioni ști și amatori.
Antrenamentul a fost realizat cu 70% din e șantioanele din setul de analiză.
Următorul subcapitol prezintă două tipuri de analize utilizate pentru testare.
2.4.1 Diferențe între emoțiile învăț ate și emoțiile naturale
Tabelul 2 arată rezultatele obținute în urma mai multor metode și tipuri de training și test.
Coloana Train reflect ă rezultatele de recunoaștere obținute cu metodele de antrenament în timp
ce coloanele Test reflect ă rezult atul fără a folosi informație de antrenament (un test independent).
Testu l independent pentru profesionișt i și amatori arată marea diferen ță dintre cele două
comportamente. Cea mai bună performan ță este obț inută fo losind algoritmul Supp ort Vector
Machine (SVM) c ând acesta este antrenat și testat cu profesioni ști și amatori .
În orice caz, cele mai bune rezultate pentru testele independente au valori scăzute (58.38%) .
Professionals Non-Professionals All Actors
Train Test Train Test Train Test
MLE 56.75 32.00 99.44 19.74 51.21 43.05
MDM 18.18 18.30 20.79 17.22 18.76 17.89
FISHER 42.92 33.77 48.50 26.05 39.70 40.87
KNN 65.01 23.68 67.98 16.36 62.73 44.44
SVM 99.39 14.48 94.94 14.44 97.69 58.38
Tabel 2 – Experiment pentru testarea diferențelor dintre emoțiile naturale și emoțiile învățate
2.4.2 Gruparea Emoț iilor
Tabelul 3 arată rezultatul în p rocente cu mai multe metode (C.4 5, Bayesian Network –BN-,
K-Nearest Neighbor –KNN -, Core Vector Regression –CVR – și Perceptron Mul tilayer – MLP -)
cu profesioniști și amatori , pentru gruparea standard de emoții [19] (STD_EMT) și grupare
obținută prin KNN pentru 7, 15 și 20 de emoț ii (KNN – 7,15,20). Cele mai bune performanțe
sunt obținute pentru grupurile de emoț ii car e sunt construite de un algoritm KNN. Grupul ajunge
la 98,33% ț i acesta este un rezultat foarte bun.
C.45 BN KNN CVR MLP
STD -EMT 30,3 31,20 31,91 38,4 38,08
KNN -7EMT 89,30 77,8 98,53 92,41 97,20
KNN -15EMT 91,25 73,04 92,77 93,44 96,03
KNN -20EMT 92,28 73,85 92,59 93,02 96,70
Tabel 3 – Experimentul pentru testarea grupării emoțiilor
2.5 Concluzii
Acest capitol trece în revistă despre cercetările făcute în AC ș i AmI. Au fost prezentate
principalele teorii și modele legate de emo ții, precum și descrise o serie de aplicații și probleme
de affective computing.
ML s-a dovedit a fi util în detectarea stării a fective în HCI ș i de asemenea pentru astfel de
scopuri în medii AmI unde există interac țiune cu utilizatorii [30]. Rezultatul ob ținut este departe
de 100% , dar treb uie comparat cu rata de recunoaș tere umană.
Multimodalitatea este de asemenea un factor esențial care trebuie luat în considerare.
Cum menționează [28], există cercetări în curs pentru integra rea mai mult or modele pentru a
îmbunătăți robusețea și performanț a dete cției stărilor utilizatorilor ș i a lua o decizie (datorată
variabilității personalității individului și în special dato rită cererilor stricte de acurateț e în
sistemele as istive)
Cercetările realizate recent legate de progresele în tehnologie ne permit să anticipă m că
aplica țiile AmI vor include mai multe activită ți de tip AC cu un număr ridicat de funcț ionalită ți
și incorporând modele din ce în ce mai eficiente . Etica ș i securitatea s unt de asemenea două
subiecte care trebuie ș i ele luate în considerare în astfel de aplicaț ii, în special în cazul unor
grupuri vulnerabile cum sunt cei bătrâni sau persoanele cu disabilită ți.
3. Modulul de re cunoaștere a emoțiilor din imagini și video
Recunoaș terea imaginii este un domeniu interdisciplinar care integrează tehnici d e
procesare de imagini, recunoaș terea formelor, grafica computerizata sau psiho logie. Extragerea
automata a feț ei oamenilor si a trăsăturilor fetei joaca un rol foarte important in rea lizarea
sistemelor inteligente î n domenii precum criminalistica, securitate si supraveghere, interfe țe om –
mașina. Pentru a extrage trăsăturile fetei, trebuie in primul rând realizarea detecției feței.
Problema detecției feț ei a fost studiată sub mai multe forme de -a lungul timpului. O varietate de
tehnici au fost folosite, aici incluzând analiza culorilor, utili zarea template -urilor, utilizarea
rețelelor neuronale , SVM (Suport Vector Machines) ș i altele. Totu și este foarte dificil să alegi un
algoritm care să func ționeze pentru toate tipurile de lumină sau pentru toate tipurile de culori ale
feței.
O metoda foarte pop ulara, și care ofera rezultate f oarte b une, porneste de la a stabil i un
model statistic al culorii pielii, pentru a clasifica pixelii în pixeli coresp unzător i zonelor ce
reprezintă piele și ceilalț i pixeli , care nu reprezintă interes . Astfel se ob ține o imagine în care se
păstrează numai zonele ce se clasifică a fi piele. Urmează un proces de prelucrare a imaginii în
sensul eliminării zgomotului și aplicării unor o perații morfologice (eroziune, dilatare , umplerea
golurilor ) pentru a obține feț e-candidat. Pasul al t reilea constă în verificarea feț elor candidat
analizând dimensiunea zonelor, forma acestora. Se folosesc algoritmi de tip PCA (Principal
Comp onent Analysis), analiza regiunilor conectate (dacă imaginea sau frame -ul con ține fe țe-
candidat care se sup rapun) sau metoda suprapunerii ș abloanelor („template matching”).
Diag rama bloc a procesului de detecție a feței este afiș ată în Figura 1.
Cadru de intrare Definirea
modelului
pieliiProcesare
morfologicăDetecția și
verificarea
fețelor
candidatCadru după
detecția
fețelor
Figura 1 – Diagrama bloc pentru detecț ia feței
După ce s -a realizat detecția feț ei, se poate trece la extragerea trăsăturilor feț ei. Cel mai
important pas în acest proces îl reprezintă detec ția ochilor . Importan ța detec ției ochilor în cadrul
întregului proces se datorează următorilor factori:
– modul de apari ție al ochi lor variază cel mai pu țin între elementele ce compun fața
umană. De exemplu, aceș tia sunt neafecta ți de prezen ța părului facial (barbă sau
musta ță) ș i sunt foarte pu țin altera ți de rota ția fe ței sau de prezen ța ochelarilor
transparenț i.
– se poate scala fa ța calculând distan ța interoculara (care nu variază foarte m ult de la un
subiect la altul) și se poate determina rotaț ia acesteia
– poziția ochilor permite identificar ea celorlalte componente ale feț ei
– nu în ultimul r ând, ochii reprezintă o informaț ie crucială în determinarea stă rii de
spirit a oamenilor.
După localizarea feț elor se convertesc zonele aferente în imagini alb -negru ș i se
procesează zon ele folosind algoritmi de detecț ie a marginilor. Pe baza acestor margini se extrag
blocurile ce reprezintă ochii și gura. Ș tiind că ochii se regăsesc în partea superioară a regiunii
feței, vom căuta ochii num ai în jumătatea superioară a feței. Metoda foloseș te un algoritm care
traversează imaginea pe orizontală ș i numără pixel ii albi. Linia care are cei mai mulți pixeli albi
va fi mediana blocului ce va con ține ochii. După detec ția bloculu i principal, acesta se va împărț i
în doua blocuri distincte, pentru fiecare ochi în parte. Acela și algoritm general e ste folosit și în
cazul detecț iei blocului gurii, bazându -ne pe faptul că g ura se află în jumătatea inferioară a fe ței.
O a doua abordare este de a ne folosi de dimensiunile feț ei și de ș ablonul utilizat la
detec ția feței. În practică, raportul dintre înăl țimea și lungimea fe ței este de 1,55, ochii se află
între 2/10 *h și 9/20 *h, iar gura între 11/20*h ș i 15/20 *h , unde h – înălțimea feț ei așa cum se
poate observa în Figura 2. Vom folosi al doilea algoritm, pentru că, din punct de vedere al
timpului de execu ție și al volumului de prelucrări este mai rapid , prin urmare este mai eficient și
mai pretabil unei impleme ntări în terminal mobil. Dezavantajul aceste metode este că va detecta
numai trăsă turile feț elor care sunt orientate într -un mod natural, adică mediana fe ței formează un
unghi cu mediana imaginii nu măsura între 45 ș i 135 de grade. După extragerea dreptung hiurilor,
vom folosi opera ții morfologice (eroziune și dilatare) pentru a elimina pixelii care nu aparțin
feței și a descre ște posibilitatea de a detecta elemente ale fe ței false (elemente fals -pozitive).
Figura 2 – Șablonul feței ș i dreptunghiurile corespunză toare zonelor de interes ale feț ei
Detecț ia efectivă a ochilor se face prin utilizarea tehnicilor de învă țare supervizată, de tip
Support Vector Machine, care clasifică automat date nestructurate, prin anumit e meta –
clasificatoare. SVM sunt sisteme de învă țare care separă seturi de inputuri sub formă de vectori
în două clase, folosind hiperplanuri optime. Ne vom referi la aceasta la momentul potrivit.
Putem folosi o baza de date publică pentru a prelua mostre de ochi și de gură, în diferite
unghiuri, pentru a antrena re țeaua de vectori și a obț ine valori observabile . Totodată, p entru a
reduce dimensionalitatea în clasificarea elementelor de interes ale fe ței, folosim metoda PCA
(Principa l component analysis), care transformă un set d e observaț ii a unor variabile posibil
corelate într -un set de valori liniar -necorelate – componente principale.
Ultimul pas după detec ția trăsăturilor fe ței îl reprezintă detec ția expresiei fe ței. În 1987
Eckman ș i Friesen au dezvoltat un sistem de coduri ale fe ței (FACS) pentru a caracteriza
expresiile faciale. Exista 44 de coduri (AU – „action unit”), dintre care 30 se referă la muș chii
faciali (12 în partea superioară și 18 în partea inferioară). Codul poat e exista individual sau în
combinaț ie cu altele, având efecte aditiv e sau fiind fără efect. Astfel, se va folosi baza de date
Cohn -Kanade (2000), care con ține o secven ță de imagini a 210 adul ți între 18 și 50 de ani, 69%
femei și 31% bărba ți, 81% euro -amer icani, 13% afro -americani și 6% alte grupuri. Co ndițiile de
luminozitate și contextul sunt relativ uniforme. Secven țele de imagini con țin de asemenea și
mișcări ale capului de la mici la moderate. Sistemul propus pentru determinarea emoț iei includ e
metode pentru egalizarea histogramei, pentru a normaliza condiț iile de luminozitate, analiza
componentelor independente (ICA) – tehnică utilizată pentru a detecta factorii ascunș i care sunt
reprezentativi si favorabili pentru a diferen ția seturi de imagin i – pentru extragerea trăsăturilor ș i
SVM pentru a măsura și clasifica emoț iile.
După parcurgerea acestor etape, se vor putea determina emo ții pe baza unui input static
(imagine sau frame într -o secven ță video ).
Aceasta abordare da rezultate excelen te, în sa nu s -ar preta in condiț iile unei aplica ții pe
un terminal m obil, pentru ca efortul computaț ional este foarte mare. De aceea, o abordare care
include si acest factor ce tine de platforma hardware si de resursele disponibile si care va fi
implementata in următoarea parte a lucrării va pleca de la stabilirea unui model al fetei pe baza
unor puncte -reper. Emoț ia se va clasifica pe baza distantelor, in timp real, intre anumite punte de
reper relevante, de exemplu distanța î ntre extremită țile buzelor, distan ța intre ochi si sprâncene
etc. Deș i se vehiculează ca metodele de detec ție a emo țiilor pe baza metodelor de tip „ template ”
prin descompunerea imaginilor pe baza unor filtre ar surclasa din punct de vedere al ratei de
detec ție metodele ce se bazează pe detec ția trăsăturilor si pe urmărirea punctelor de reper , Takeo
Kanade si Jeffrey F. Cohn, cei care au construit baza de date cu Cohn -Kanade au concluzionat
intr-un studiu ca nu se poate evalua o astfel de diferen ță [31].
Sisteme Metoda Rate de
recunoaștere Tratarea
combinațiilor AU AU de recunoscut Baze de date
Sistemul
AFA curent Bazata pe
trăsături 88.5% (fețe
îmbătrânite)
Nu AU 1, 2, 3,
AU 5, 6, 7. Ekman – Hager 89.4% (fețe
tinere)
95.4% Da/Nu
95.6% Da/Nu AU 9,10,12,15
AU 17,20,25,26,
AU 27,23+24 Cohn – Kanade
Bartlett et al
[2] Bazată pe
trăsături 85.3% (fețe
îmbătrânite)
No AU 1,2,4
AU 5,6,7 Ekman – Hager 57% (fețe
tinere)
Optic -flow 84.5%
Hibrid 90.9%
Donato et al. ICA 96.9% No AU 1,2,4, Ekman – Hager
[10] Altele 70.3% – 85.6% AU 5,6,7
ICA 95.5%
Yes/No AU 17,18,9+25
AU10+25,16+25 Altele 70.3% -85.6%
Cohn et al.
[8] Feature
tracking 89% Yes/No AU 1+2,1+4,4,
AU 5,6,7
Cohn -Kanade
(Subset)
82.3% Yes/No AU 12,6+12+25,
AU 20+25,15+17,
AU 17+23+24,9+17,
AU 25,26,27
Lient et al.
[24] Dense -flow 91% Yes/No
AU 1+2,1+4,
AU 4
Cohn -Kanade
(subset) Edge –
detection 87,3% Yes/No
Feature –
tracking 81% Yes/No AU 1+2, 1+4, 4,
AU 5,6,7
Dense -flow 92,3% Yes/No AU 12, 6+12+25,
AU 20+25, 15+17,
AU17+23+24, 9+17
Feature
tracking 88% Yes/No AU12,6+12+25,
AU20+25,15+17,
AU17+23+24,9+17,
AU 25,26,27
Edge –
detection 80,5% Yes/No AU 9 +17, 12+25
Figura 3 – Compara ție între sistemele de detecț ie a emoț iei pe baza recunoaș terii unitarilor de
acțiune din codul FACS [31]
Provocarea acestui proces este aceea de a furniza rezultatul într -un timp cât mai optim și
în contextul unor resurse limitate , ce caracterizează un terminal mobil. De aceea, toate
prelucrările pe imagini se fac în limbaj nativ (pe platforma Android folosind NDK – Native
Development Kit). De asemenea, anumite procese se vor derula în paralel. De exemplu,
detectarea trăsăturilor f ețelor și a emoț iilor pentru fiecare fa ță detectată în cadru se vor realiza în
paralel pentru că nu se influenț ează unul pe celălalt. Astfel, obiectivul acestui proiect este de a
realiza scopul propus cu următoarele rezultate:
– detecț ia fe ței, a trăsăturilor și emoț iei pe imagini, într -un timp sub 150ms pentru
fiecare faț ă detectată în cadru
– detecț ia feței, a trăsăturilor și emoț iei în timp real, prelucrând fluxul video al camer ei
terminalului, cu o performanț ă de minim 3 cadre pe secundă, î n cont extul în care
cadrul conț ine o singură fa ță.
Toate aceste valori se raportează la folosirea pe un terminal cu procesor ARM dual -core
de 1.4GHz, 1GB RAM iar camera cu posibilită ți de redare de 24 -30fps, în condi ții normale de
filmare .
3.1. Urmărirea fetei folosind repere personalizate
Urmărirea feței sau, altfel spus, estimarea unui set de puncte – adnotări – care încadrează
sau descriu o fata in fiecare frame video, reprezintă o problema dificila care implica mai multe
domenii relaționate , precum computer vision, geometrie computațională , machine learning sau
procesarea imaginilor. Distan țele relative dintre trăsăturile feței variază în funcț ie de expresiile
faciale î n cadrul popula ției în ața fel încât procesul descrie este in mod fundamental diferit de
acela de depistare a fetei, care are ca scop numai loca lizarea fetei in fiecare cadru și nu să
estimeze configuraț ia trăsăturilor faciale. Pentru a ating e acest scop, putem împărți funcț ional
procesul î n mai multe module:
– crearea instrumentelor utilitare, necesare pentru a stoca imagini adnotate, ulterior
implicate intr -un proces de învățare ce va deduce un model general de depistare a
trăsăturilor faciale intr-un cadru video
– aplicarea unor constrângeri geometrice ce caracterizează fetele umane prin crearea
unui model de forma a fetei
– procesul de învăț are a trăsăturilor faciale care va crea modelul general de depistare a
trăsăturilor fetei.
– detecț ia feței ș i inițierea procesului de urmărire a fetei.
– urmări rea feței î n cadre video succesive – combinarea tuturor modulelor anterioare si
crearea unui sistem de urmărire a fetei.
Imagine
Puncte-reperUrmarirea fetei
Inițializare
Optimizare
VizualizareAspecte geometrice
Modelul de formă al feței
Transformări geometrice
Testare Învățare
Vizualizare
Detectia trasaturilor fetei
Testare Învățare
VizualizareModelul benzilor din jurul
punctelor-reperData
Imagini
Instrument de
adnotare
Modelul punctelor-
reper
Figura 4 – Fluxul general pentru detecț ia trăsăturilor fetei bazat pe trasarea punctelor de reper
3.1.1 Instrumente utilitar e
Din punct de vedere informatic, detecț ia feței ș i urmărirea acesteia au la baz ă două
componente majore: da tele implicate și algoritmi. Algoritmii utilizaț i îndeplinesc opera ții pe
două tipuri de date de intrare în timp real (o structura de date ce caracterizează un cadru video,
capturat de pe camera terminalului) și date „deconectate” – date provenite in urma unor procese
offline de învăț are. Aceste doua tipuri de date se compun intr -un model orientat – obiect care vor
cupla algoritmii si vor genera rezultate corespunzătoare .
De asemenea, datele vor circula de la un modul funcț ional la altul, astfel că vom stabili
un standard general de stocare. Î n acest sens, vom folosi clasele de stoca re a datelor care aparțin
framework -ului OpenCV v2.5, pentru a simplifica sarcinile de organizare a acestora . Aceste
clase ajutătoare , vor stoca datele î n fișiere în format YAML ș i prin intermediul unor funcț ii de
serializare ș i deserializare, se mapează conținutul acestor fișiere în structuri de date asociate .
Datele provenite din procesul de învăț are, se compun din patru componente majore:
– setul de imagi ni care participa la proces ș i care vor conține fețe în diferite tipuri de
condi ții (luminozitate, distanta fata de camera, aparatul care a capturat imaginea etc.).
De asemenea, este important ca fetele prezenta in imagini sa prezinte o gama larga de
unghiuri ale fetei.
– adnotările – aceste adnotări sunt, practic niște punte (repere) care descriu din punct de
vedere geometric fata umana. Acestea corespund cu fiecare trăsătura a fetei care se
urmăre ște. Mai multe trăsături faciale îmbunătă țesc rezultate le pent ru ca algoritmul
de urmărire poate folosi mai multe distante si repere pentru a de duce alte trăsături .
Dezavantajul este c ostul computa țional , care poate scade drastic daca numărul de
puncte este foarte mare.
– Indicii de simetrie – pentru f iecare adnotare se asociază un index către o alta adnotare
care descrie trăsătura simetrica a punct ului curent, sub forma unui alt . Aceste puncte
sunt folosite pentru a crea imagini in oglinda pentru fiecare imagine din setul de
învățare, astfel dublând numărul de imagini de antrenare. Daca un punct nu are un
punct de simetrie (de exemplu se afla pe mediana fetei), indicele lui de simetrie va fi
chiar el însuși
– Conexiunile dintre puncte : un set de perechi de indec și, care descriu , din punct de
vedere semantic , trăsături le fetei.
Figura 5 – Reprezen tarea datelor de antrenare – stânga (imagine din baza de date IMM), dreapta (imagine din baza de
date MUCT)
O reprezentare a datelor folosite în procesul de învăț are este demonstrata in doua imagini
in Figura 5. În dreapta s -a folosit o imagine din baza de date MUCT1 (care con ține 3755 de
imagini cu 76 de adnotări) iar țn stânga, o imagine din baza de date I MM2 (ce con ține 240 de
imagini cu 58 de adnotări). Adnotările sunt punctele numerotate, conexiunile sunt liniile care
leagă punctele si încadrea ză trăsături faciale, iar indecș ii de simetrie reprezintă indexul punctului
simetric de aceea și culoare din imagine (de exemplu, in imaginea din stânga, indicele de simetrie
al punctului 0 este 12 si invers, al punctului 12 este 0).
Pentru a reprezenta informatic aceste date, vom folosi un model obiectual proiectat având
in vedere datele din modelul conceptual d e învățare prezentat mai sus. Clasa de baza
training_data va avea următoarele poprietăț i:
– symmetry – un vector de valori întregi care va conține, pentru fiecare index, punctul
simetric. Vectorul va avea atâtea componente cate repere au fost marcate in imagine.
1 http://www.milbo.org/muct/
2 http://www2.imm.dtu.dk/~aam/datasets/datasets.htm l
– connections – un vector de perechi (x,y) care va conține legăturile (liniile) de la
punctul x la punctul y
– image _names – un vector de locații către calea absoluta unde se afla stocate imaginile
– points – un vector de perechi (x,y) care va conține locația unui punct in cadrul
imaginii.
– image – o reprezentare interna a imaginii curente, din vectorul image_names .
Metodele utilitare generale implementate de aceasta clasa sunt:
– get_image(index) – care încarc ă imaginea de pe poziția index din vectorul
image_names
– get_points(index) – care încarcă adnotări le imaginii de pe poziția index din vectorul
image_names .
– remove_incomplete_samples – care are ca scop eliminarea imaginilor care nu au
marcate toate reperele in imagine si care ar putea distorsiona rezultatul algoritmului
de învăț are. Imaginea din set care are cele mi multe adnotări este considerata
imaginea de baza, astfel toate imaginile care au un număr de adnotări mai mic decât
cea de pe aceasta imagine sunt eliminate .
Pentru a vizualiza setul de date si a da o reprezentare vizuala punctelor de simetrie se
folosesc metode de desenare.
3.1.1.1 Instrumentul de marcare a punctelor -reper
Pentru ca utilizatorul sa își poată genera propriile modele de repere, s -a conceput pe
platforma Android un instrument de adnotare a imaginilor cu scopul de a cumula toate
informa țiile descrise anterior. Acest instrument este dezvoltat sub forma unei activită ți care poate
fi apelata din men iul principal al aplica ției. Fluxul de ac țiuni este compus din 6 pași:
1. Capturarea imaginilor – in acest pas utilizatorul poate captura imagini relevante
de la camera cu care este ech ipat terminalul, la fiecare acț iune de touch pe ecran.
Pentru ca setul de imagini sa fie omogen, este necesar ca prima imagine sa
conțină o fata dispusa frontal si cu o expresie facial neutra, urmând ca următoarele
sa diversifice mai multe poziț ii ale capului, surse de luminozitate si expresii
faciale.
2. Adnotarea primei imagini – in acest pas utilizatorului ii este prezentata prima
imagine capturata la pasul precedent. Acesta poate, prin acțiuni de touch, pe
ecran, sa adnoteze imaginea cu oricâte puncte care se vor a fi depistate.
3. Crearea conexiunilor – utilizatorul poate crea con exiuni intre puncte prin acțiunea
consecutiva de touch pe doua puncte -reper.
4. Atribuirea punctelor de simetrie – similar ca la pasul precedent, printr -o acțiune
consecutiva de touch pe doua punte -reper, utilizatorul poate marca punctele de
simetrie. În cazu l in care un punct nu este marcat, punctul lui de simetrie va fi
chiar el însuși.
5. Adnotarea imaginilor ramase – procedura este similara cu cea de la pasu l 2, numai
ca utilizatorul nu poate adăuga puncte ci le poate doar muta, astfel încât
corespondenta intre indexul punctului si semnifica ția locației propriu -zise in
imagine sa se respecte.
6. Stocarea intr -un mod persistent a informaț iilor furnizate de utilizator prin
intermediul claselor de stocare furnizate de OpenCV in format YAML.
1. Capturare
imagini2. Adnotare prima
imagine3. Crearea
conxiunilor4. Descrierea
punctelor de
simetrie5. Adnotarea
imaginilor ramase6. Stocare model
Figura 6 – Fluxul de creare a unui model personalizat de repere
Pentru a realiza interfa ța de adnotare, se folosesc mai multe clase ajutătoare care
implementează metode specifice , așa cum se poate vedea in diagrama de clase din Figura 7:
– TrainingActivity – clasa responsabila pentru a lansa î n execuț ie activitatea de marcare
a puncte lor reper si de antrenare a modelului.
– TrainigView – clasa responsabila de a crea comunicare cu camera terminalului si de a
realiza infrastructura de preluare a fluxului video si de afișare a rezultatelor. Clasa
extinde clasa de baza ViewBase .
– TrainigInterface – clasa care este responsabila de interfaț a cu utilizatorul si de a
sincroniza acțiunile utilizatorului cu structurile de date existente. Interfaț a cu
utilizatorul se face prin extinderea clasei GestureImpl prin care se pot implementa
principalele evenimente pe care le poate genera utilizatorul ( onTouch , on Swipe etc.).
Pașii prezenta ți anterior se etichetează prin intermediul enumera ției TrainingAction
iar structura de date rezultata, care se va stoca la finalul fluxului se stochează intr-un
obiect de tip FaceTrackngData . Tot acest obiect implementează și acțiunile specific
de desenare pe suprafaț a ecranului.
Figura 7 – Diagrama de clase asociata activităț ii de antrenare
Aplicaț ia vine cu doua modele implementate, folosind bazele de date cu imagini adnotate
MUCT si IMM, care pot fi folosite la alegere în interfaț a de antrenare.
3.1.1.2 Constrângeri geometrice
Constrângerile geometrice se refera la configurarea spa țială a unui set de puncte care
corespund unor loca ții fizice pe fata umana (colturile ochilor, vârful nasului, limitele
sprâncenelor etc.). Robuste țea algoritmului creste atunci când sunt prezente mai multe puncte,
pentru ca distantele calculate intre puncte pot consolida pozițiile altor puncte p rin dependinț ele
spațiale î ntre ele. De exemplu, cunoscând loca ția coltului ochiului este un punct de reper
important pentru a determina pozi ția nasului. De asemenea, un algoritm rapid îmbunătă țește
performanta de depistare a punctelor -reper pentru ca atun ci când mai pu ține cadre sunt omise
(din cauza vitezei de prelucrare a cadrului curent) mișcarea percepută între cadre este și ea mai
mică , iar algoritmul de optimizare folosit pentru a determina configura ția fetei in fiecare cadru va
caută intr -un spa țiu mai mic de configura ții posibile.
Geometria fetei este compusa din doua elemente:
– Transformare globala : plasamentul general ala fetei in imagine (o fata poate apărea
oriunde in imagine) ce cuprinde elemente precum poziț ia (x, y) a fetei in imagine,
unghiul de rota ție a fetei sau mărimea fetei. Transformările sunt reprezentate prin
funcții generice de coordonate bidimensionale, aplicabile pentru orice tip de obiect.
– Transformarea locala: diferen țele intre formele fetei î n func ție de identitatea fetei si
expresiile faciale care pot deforma forma generala a fetei. Transformările locale sunt
obiecte specifice si sunt supuse unui proces de învăț are.
Pentru a cuprinde toate aceste constrângeri, se define ște un model geometric al formei
fetei, bazat pe punct ele reper marcate. Acest model poate retine expresii variate a unui singur
individ, diferen țe între formele fetei ale unor populații etc. în funcț ie de setul de date de intrare.
Setul de date necesar pentru a determina modelul de forma a fetei trebu ie să c onțină:
– Un vector de parametri (p)
– Un subspaț iu liniar re prezentat printr -o matrice (V) ș i care stochează variaț ia formelor
feței
– Un vector care stochează dispersia parametrilor (e)
– O matrice care stochează conectivitatea intre pun cte (C) pentru a vizualiza instanțele
formelor feț ei.
Pentru a crea un model deformat al formelor fetei trebuie ca mai întâi sa prelucram
punctele brute pentru a nu include componente ce țin de miș carea globala a fetei, astfel
normalizând toate formele fetei existente î n setul de date de învă țare. Astfel, trebuie aplicate
transfor mări care includ scalarea, rotație în plan și translaț ie. Acest proces complex este denumit
analiza Procrustes . Din punct de vedere matematic, obiectivul acestei analize este de a găs i
simultan o forma canonica si de a alinia fiecare forma din setul de date cu aceasta forma
canonica.
Descriere algoritmului
1. Date de intrare:
– vector de forme (fiecare forma reprezentata printr -un vector de perechi (x,y) – locația
reperului in poza) – X.
– numărul maxim de itera ții in care algoritmul sa încerce sa găsească forma canonica –
iter
– pragul to lerat pentru care toate formele sunt normalizate – ftol
2. Date de iesire:
– Vector de forme normalizate
3. Pașii algoritmului
– Eliminarea centrului de masa a fiecăre i instan țe (forme) – centrul de masa este media
aritmetica a punctelor care compun forma curenta si se face separat pentru x si y.
Pentru fiecare forma F in X se calculează, pentru fiecare punct 𝑝𝑖(𝑝𝑥𝑖,𝑝𝑦𝑖)valorile:
𝑚𝑥≔ 𝑝𝑥𝑖𝑛
𝑖=0
𝑛 si 𝑚𝑦≔ 𝑝𝑦𝑖𝑛
𝑖=0
𝑛, unde n este numărul de puncte din forma.
Pentru fiecare punct 𝑝𝑖(𝑝𝑥𝑖,𝑝𝑦𝑖) din forma F se elimina valorile anterior obț inute:
𝑝𝑥𝑖∶=𝑝𝑥𝑖− 𝑚𝑥; si 𝑝𝑦𝑖∶=𝑝𝑦𝑖− 𝑚𝑦;
– Se încearcă găsirea formei canonice de un număr de iter ori, intr-un proces iterativ
astfel ca pentru fiecare i terație se urmează următorii paș i:
Pentru fiecare punct de reper k se calculează media aritmetica a pozi țiilor din fiecare forma F si
se obține punctul 𝑝𝑘(𝑝𝑥𝑘,𝑝𝑦𝑘), unde:
𝑝𝑥𝑘≔ 𝑝𝑥𝑗𝑛𝑟_𝑓𝑜𝑟𝑚𝑒
𝑗=0
𝑛𝑟_𝑓𝑜𝑟𝑚𝑒 si 𝑝𝑦𝑘≔ 𝑝𝑦𝑗𝑛𝑟_𝑓𝑜𝑟𝑚𝑒
𝑗=0
𝑛𝑟_𝑓𝑜𝑟𝑚𝑒 , unde 𝑛𝑟_𝑓𝑜𝑟𝑚𝑒 reprezintă numărul de forme din
setul de date.
Se normalizează valorile astfel încât toate valorile 𝑝𝑘(𝑝𝑥𝑘,𝑝𝑦𝑘) să se regăsească în intervalul
[0,1].
Se construiește vectorul 𝑃𝑖𝑡𝑒𝑟=[ 𝑝0,𝑝1,𝑝2… 𝑝𝑛] asociat iteraț iei curente, unde n este numărul
de forme din setul de date. Acest vector descrie forma canonica curent calculata.
Daca iter > 0
Se construie ște vectorul diferență 𝑃𝑑𝑖𝑓= 𝑃𝑖𝑡𝑒𝑟− 𝑃𝑖𝑡𝑒𝑟−1
Daca norma vectorului diferență 𝑛𝑜𝑟𝑚(𝑃𝑑𝑖𝑓)<𝑓𝑡𝑜𝑙, algoritmul se opre ște și se
returnează vectorul de forme normalizate X, care a fost modificat pe parcurs.
Pentru fiecare forma F din vectorul X :
Se calculează rota ția in plan si scalarea, astfel încât forma rezultata sa estimeze cel mai
bine forma canonica curenta. Acest lucru se realizează prin minimizarea funcț iei:
min𝑎,𝑏 𝑎−𝑏
𝑏𝑎 𝑝𝑥𝑖
𝑝𝑦𝑖 − 𝑐𝑥𝑖
𝑐𝑦𝑖 2
𝑛
𝑖=1 cu soluția 𝑎
𝑏 = 1
(𝑥𝑖2+𝑦𝑖2) 𝑥𝑖𝑐𝑥𝑖𝑦𝑖𝑐𝑦𝑖
𝑥𝑖𝑐𝑦𝑖𝑦𝑖𝑐𝑥𝑖 𝑛
𝑖=1
unde 𝑐𝑥𝑖si 𝑐𝑦𝑖sunt coordonatele normalizate ale formei canonice de pe pozitia i
Se aplica transformarea 𝑝𝑥𝑖𝑝𝑦𝑖 ∶= 𝑎−𝑏
𝑏𝑎 𝑝𝑥𝑖
𝑝𝑦𝑖 pentru fiecare punct din forma F .
Scopul deformării faciale este acela de a determina o reprezentare parametrizată a
modul ui in care forma fetei variază î n func ție de expresiile faciale. Exista mai multe moduri prin
care se poate realiza acest lucru, cu diferite niveluri de complexitate. Cel mai simplu dintr e
acestea este modelul liniar. Î n ciuda simplită ții acestuia, el da rezultate bune in a reprezenta
spațiul deformărilor faciale, mai ales atunci când fetele din setul de date sunt majoritar intr -o
poziție frontală . El are, de asemenea, avantaju l ca dedu cerea parametrilor este o operaț ie deloc
costisitoare din punct de ve dere al gradului de procesare, în comparaț ie cu modelele neliniare.
Ideea principala a acestui model poate fi ilustrat astfel: dat ă fiind o forma descrisa de N
puncte, aceasta este modelata intr -un singur punct în spaț iul 2N -dimensional. Modelarea liniara
are ca scop determinarea unui hiperplan (subspa țiu) con ținut î n spa țiul 2N -dimensional in care sa
se regăsească toate formele din setul de date. Când se modelează date care apar țin unei singure
persoane, subspa țiul care capturează variabilitatea formelor fetei este mult mai compact decât cel
care modelează mai multe identită ți. Acesta este unul dintre motivele pentru care trackerele
orientate pe persoana performează mult mai efic ient. Aceasta procedura de a găsi cel mai potrivit
subspa țiu care cuprinde forme le dintr -un set de date se numeș te analiza componentelor principale
(PCA – Principal Component Analysis). Algoritmul este implementat în funcț ia de antrenare,
care are ca scop determinarea modelului liniar al formelor.
1. Date de intrare:
– Vectorul de forme
– Numărul maxim de vectori proprii care se sustrag – k
– Fracțiunea de date care trebuie sa se regăsească pentru ca vectorul propriu sa
contribuie la dimensionalitatea spa țiului – frac
2. Date de ieș ire
– Modelul liniar de forme al fetei
3. Pașii algoritmului:
– Vectorul de forme de intrare se transforma intr -o matrice astfel:
𝑌=
𝑝𝑥1⋯𝑝𝑥𝑛𝑟_𝑓𝑜𝑟𝑚𝑒
𝑝𝑦1…𝑝𝑦𝑛𝑟_𝑓𝑜𝑟𝑚𝑒
⋮⋱⋮
𝑝𝑥𝑛…𝑝𝑥𝑛𝑟_𝑓𝑜𝑟𝑚𝑒
𝑝𝑦𝑛⋯𝑝𝑦𝑛𝑟_𝑓𝑜𝑟𝑚𝑒
, unde n este numărul de puncte din forma si nr_forme
este numărul de forme din setul de date.
– Se apelează func ția care executa analiza Proscutes cu parametrii:
𝑖𝑡𝑜𝑙=100 si 𝑓𝑡𝑜𝑙=10−6
Rezultatul se stochează intr -un vectorul de forme normalizate F.
– Vectorul de forme rezultat F se transforma intr -o matrice astfel:
𝑋=
𝑝𝑥1⋯𝑝𝑥𝑛𝑟_𝑓𝑜𝑟𝑚𝑒
𝑝𝑦1…𝑝𝑦𝑛𝑟_𝑓𝑜𝑟𝑚𝑒
⋮⋱⋮
𝑝𝑥𝑛…𝑝𝑥𝑛𝑟_𝑓𝑜𝑟𝑚𝑒
𝑝𝑦𝑛⋯𝑝𝑦𝑛𝑟_𝑓𝑜𝑟𝑚𝑒
, unde n este numărul de puncte din forma si nr_forme
este numărul de forme din setul de d ate.
– Se calculează vectorul medie al matricei X astfel:
𝑚𝑒𝑎𝑛= 𝑋 ∙ 𝐼𝑛 ∙1
𝑛 , unde 𝐼𝑛 este vectorul cu n componente unitare
– se formează matricea:
𝑅=
𝑚𝑒𝑎𝑛(1)−𝑚𝑒𝑎𝑛(2) 1 0
𝑚𝑒𝑎𝑛(2)𝑚𝑒𝑎𝑛(1) 0 1
𝑚𝑒𝑎𝑛(3)−𝑚𝑒𝑎𝑛(4) 1 0
𝑚𝑒𝑎𝑛(4)𝑚𝑒𝑎𝑛(3) 0 1
… … ……
… … ……
𝑚𝑒𝑎𝑛(𝑛−1)−𝑚𝑒𝑎𝑛(𝑛) 1 0
𝑚𝑒𝑎𝑛(𝑛)𝑚𝑒𝑎𝑛(𝑛−1)0 1
– se aplica algoritmul de ortonormalizare Gram -Schmidt3 asupra matricei R, rezultatul
se va stoca tot in matricea R, care va fi formata din 4 vectori ortonormali.
– se aplica transformarea:
𝑃= 𝑅𝑇∙𝑌
𝑑𝑌=𝑌−𝑅∙𝑃
Astfel, in dY se va retine matricea formelor.
– se aplica descompunerea valorilor singul are asupra matricei de covarianț ă a formelor
𝑑𝑌 ∙ 𝑑𝑌𝑇, obținându -se varia ția variabilită ții datelor, ordonate de la cea mai mare la
cea mai mică si vectorii proprii asociat descompunerii.
– Pentru a ob ține dimensionalitatea spa țiului, se preiau primii k vectori proprii si se
alege cel mai mic număr de direc ții care păstrează un procent mare ( frac) din date.
– se aplica un algor itm pentru a elimina din subspațiu generat feț ele care pot fi
deformate; î n acest se e limina fetele pentru care direcț iile de variabilitate nu se
regăsesc intre ± 3 ∙ deviaț ia standard a datelor.
După procesul de salvare, folosind funcțiile de stocare, se salvează un fișier YAML care
conține toate informa țiile legate de modelul liniar al formelor tocmai creat. În imaginile de mai
jos sunt prezentate patru instanțe ale subspaț iului de forme posibile, formate pe baza imaginilor
din bazele de date publice IMM (rândul 1 – 58 de adnotări) si MUCT (rândul 2 – 76 de adnotări).
3 http://en.wikipedia.org/wiki/Gram%E2%80%93Schmidt_process
3.1.2 Detec ția trăsăturilor faciale
Detec ția trăsăturilor faciale in imaginii se aseamănă foarte bine cu detecț ia obiectelor.
Totu și, în vederea procesului de detecț ie a feței trebuie luați în calcul anumiț i factori importan ți,
care impun anumite diferenț e:
– Precizie vs. Robuste țe – scopul detec ției obiectelor este sa găsească o poziție cat mai
exacta a obiectului în imagine; detectorii trăsăturilor trebuie însa sa returneze o estimare
cat mai precisa a locației trăsături i care se caută . O eroare de câțiva pixeli nu este
considerat ă important ă, dar poate face diferen ța, de exemplu, între o expresie de zâmbet
și una de încruntare .
– Se poate presupune ca obiectul de interes in imagine ocupa un spațiu semnificativ în
imagine, astfel încât să poată fi diferen țiat cu încredere de alte regiuni ale imaginii care
nu conțin obiectul căutat . Se întâmpla des ca diferite regiu ni ale imaginii sa aibă o
struc tura asemănătoare cu cea a unei fete. De exemplu, o trăsătura în afara ariei de
acoperire a fe ței, care apare într-un cadru care centrează trăsătura respectiv ă poate fi ușor
confundat ă cu orice alta trăsătur ă de pe fa ță.
– Complexitatea computa țional ă – detec ția obiectelor a re drept scop identificarea tuturor
apari țiilor obiectului respectiv in imagine. Totu și, urmărirea trăsăturilor feței necesit ă
localizarea unei game de pana la 100 de trăsături . Astfel, abilitatea de a evalua fiecare
trăsătura intr-un mod eficient este primordiala intr -un sistem care rulează in timp real.
Pentru a identifica trăsături le fetei, vom crea un model al unei benzi de dimensiuni bine stabilite
in jurul punctelor reper identificate pe fata. Modelul folosit este unul l iniar pentru c ă acesta oferă
o estimare foarte corecta a localizării trăsăturilor iar costul computa țional este redus.
Pentru a realiza obiectivul propus, avem nevoie de implementarea a doua rutine:
– Primul modul va cal cula răspunsul modelului curent pe fie care posibil plasament al
benzii in regiunea din imagine in care se face căutarea
– Al doilea modul este cel care va învăța modelul, calculând un răspuns ideal pe baza
aceleia și trăsături de pe setul de imagini de învățare.
Din punct de vedere al teoretic, învățarea supervizata se clasifica in trei mari categorii:
– Bazata doar pe instan țe – folose ște direct datele fără a crea un model se separare
(algoritmul celui mai apropiat vecin – k-nearest -neighbour)
– Generative – construie ște un model probabilistic ( rețelele Bayesiene)
– Discriminative – estimează o separare a datelor (arbori de decizie, rețele neuronale
artificiale, mașini cu suport vectorial, algoritmi evolutivi).
Metodele de tip generative au avantajul ca modelul rezultat va cuprinde proprietă ți
specifice obiectului, noile instanț e ale obiectului putând fi inspectate vizual. O abordare celebra
in acest sens este metoda Eigenfaces . Metodele de tip discriminative au avantajul ca întreaga
capacitate a modelului este direc ționata direct către problema in sine si anume a face diferen ța
între instan țe ale aceluia și obiect și alte instan țe. Cea mai populara astfel de metoda este metoda
mașinilor cu suport vectorial (SVM – Support Vector Machines). Pentru modelarea trăsăturilor
faciale, paradigma metodelor de învățare de tip discriminative s-a dovedit a fi mult mai eficient ă.
Figura 8 – Procesul de evaluare al unei trăsături
Model area trăsăturilor faciale porneș te de la următoarea idee: se pleacă de la un set d e
imagini adnotate si se urmărește crearea unu model ideal in aș a fel încât atunci cand este corelata
cu o regiune dintr -o imagine sa emită un răspuns puternic pentru lo cația in care aceasta se afla si
un răspuns slab in caz contrar (Figura 8).
Matematic, acest lucru se poate realiza folosind metoda celor mai mici pătrate, metoda
folosita in principal pentru a obține o soluție pentru un sistem de ecuaț ii supradeter minat (care
are mai multe ecuaț ii decât necunoscute).
min
𝑃 𝑅 𝑥,𝑦 −𝑃∙𝐼𝑖 𝑥−𝑤
2:𝑥+ 𝑤
2,𝑦−
2:𝑦+
2 2
𝑥,𝑦𝑁
𝑖=1
unde
– P este modelul final al trăsături i curente
– 𝐼𝑖 este imaginea „i” din setul de date
– 𝐼𝑖(𝑎:𝑏,𝑐:𝑑) este portiunea de imagine descrisa de dreptunghiul cu coltul din stânga sus
in punctul (a,b) iar cel din dreapta jos in (c,d)
– 𝑅(𝑥,𝑦) este raspunul ideal
– ∙ este notaț ie pentru „produs scalar”
– 𝑤, sunt valorile pentru lungimea si înălț imea benzii modelului trăsături i asociat
punctului reper.
Rezolvând aceasta ecuaț ie obținem un model al trăsături i care generează un răspuns ce se
apropie, in medie, cel mai mult de răspunsul ideal. In mod ideal, matricea care se generează
pentru a reprezenta răspunsul ideal este o matrice formata numai din 0 cu excep ția centrului
acesteia care este 1 ( presupunând ca trăsături le fetei sunt centrate in banda care se extrage din
imagine pentru fiecare in parte). Însa in practica, fiindcă imaginile au fost adnotate manual, va
exista mereu o eroare de adnotare. Pentru a combate acest lucru, se poate descrie R ca o funcție
care descreț te din centru către margini. Astfel, consideram ca erorile de adnotare urmează o
distribuț ie Gauss.
Analizân d din punct de vedere al eficientei, numărul de grade de libertate ale acestei
probleme este numărul de cai prin care variabilele pot varia pentru a rezolva problema de
învăț are si este egala cu numărul de pixeli din banda care încadrează punctul de reper. Astfel,
costul operaț ional , chiar si pentru o banda de dimensiuni mici in jurul punctului de reper, este
destul de mare. Un mod mai eficient de a rezolva problema de învăț are prin transpunerea acesteia
intr-un sistem de ecuaț ii, este o metoda numita metod a gradientul stohastic4, des utilizata pentru
a minimiza funcții obiectiv scrise sub forma unei sume. Astfel, in mod iterativ se estimează
direcț ia gradientului pe o suprafa ța iar la pasul imediat următor imaginea se corectează cu un
anumit pas in direcț ia opusă . Algoritmul este descris in cele ce urmează .
1. Parametrii de intrare:
– Vectorul de benzi cu trăsătura analizata centrata
– Mărimea modelului trăsături i rezultate
– Dispersia erorilor de adnotare
– Parametrul de regularizare – lambda
– Pasul inițial de corectare – p_init
– Numărul de eșantioane stocastice – nsamples
2. Pașii algoritmului
– Se construieș te matricea răspunsului ideal F, care descre ște din centru către margini
urmând o distribuț ie gaussiana.
– Se determina pasul de descreș tere astfel încât după nsample pași valoarea acestuia să fie
foarte apropiata de 0:
𝑠𝑡𝑒𝑝= 10−8
𝑝_𝑖𝑛𝑖𝑡 1
𝑛𝑠𝑎𝑚𝑝𝑙𝑒𝑠
4 http://en.wikipedia.org/wiki/Stochastic_gradient_ descent
– Se parcurg iterativ nsamples imagini din setul de date alese la întâmplare , plecând de la
pasul inițial p_init. Pentru fiecare imagine:
a. Se preprocesează imaginea pentru a -i reduce sensibilitatea la contrast si condi ții de
iluminare.
b. Se calculează direcț ia gradientului
c. Se corectează gradientul prin corectarea pixelilor cu un anumit pas calculat in itera ția
precedenta (pasul inițial daca este prima iterație) în direc ția opusa gradientului.
d. Se reduce dimensiunea pasului folosind valoarea calculata 𝑠𝑡𝑒𝑝
𝑝𝑖𝑛𝑖𝑡≔𝑝𝑖𝑛𝑖𝑡∙𝑠𝑡𝑒𝑝
e. Se folose ște gradientul pentru a actualiza modelul trăsături i. Înainte de actualizare,
matricea asociata modelului se regularizează cu parametrul lambda astfel încât
soluț ia ecuaț iei sa nu crească prea mult. Parametrul lambda se determina
experimental, fiind dependent de soluț ie.
Acest algoritm funcționează plecând de la permisa ca imaginile care participa la învăț are
sunt centrate si sunt normalizate raportat la parametrii de scalare si de rotație. Totu și, în practic ă,
in timpul urmăririi , trăsătura poate apărea sub orice unghi de rotație si la orice indice de scalare
in cadrul unui frame , iar modelul trăsături i obținut anterior nu poate genera răspunsuri folositoare
in cazul unor astfel de condi ții. Se pune problema dezvoltării unui algoritm care sa combată
aceasta problema. Pentru ca mișcarea intre cadre consecutive nu este in general foarte mare, se
poate folosi cadrul precedent pentru a normaliza cadrul curent eliminând factorii de rotație si de
scalare ale formelor. Pentru aceasta, este nevoie de un cadru inițial, in care trăsături le sa se
asemene cu cele din modelele calculate pentru fiecare trăsătura in parte. In acest sens, algoritmul
urmăre ște sa calculeze o transformare de similaritate intre forma de baza (prima imagine din
setul de învățare) si imaginea curenta. Pentru ca rotația si sc alarea este aproximativ aceea și
pentru fiecare trăsătura , normalizarea imaginii necesita doar ajustarea factorilor luând in
considerare centrele trăsăturilor si centru imaginii normalizate. Procedura este similara cu cea
prezentata in cadrul analizei Pros cutes .
Rezultatele acestui algoritm se pot vedea in imaginile următoare. In stânga, sunt afi șate
modelele pentru trăsăturile bazate pa adnotările marcate pe imaginile din baza de date MUCT,
(76 de trăsături), iar in dreapta pentru baza de date IMM, (58 de trăsături). Pentru fiecare
trăsătură s -a definit o banda de lungimea 11×11 pixeli.
3.1.3 Detec ția fetei si estimarea trăsăturilor
Metoda descrisa pentru urmărirea trăsăturilor presupune ca trăsături le fetei estimate sunt
localizate intr -o zona de proximitate a celei de referin ță. Am stabilit ca aceasta presupunere este
rezonabila pentru ca gradul de mișcare între cadre succesive este suficient de mic. Singurul lucru
rămas este acela de a inițializa detecț ia feței î n primul frame al secven ței. Framework -ul
OpenCV folose ște un detector de fe țe care folose ște un clasificator numit clasificator Haar
Cascade . Aceasta metoda a fost dezvoltata de Paul Viola si Michael Jones in 2001 si combina 4
concepte fundamentale:
folosirea de petice dreptunghiulare speciale numite Haar features – acestea sunt niște
combinaț ii de dreptunghiuri închise la culoare ș i deschise la culoare care se folosesc
pentru detectarea de obiecte in imagini. Prezenta unui Haar feature este determinata din
diferen ța mediilor dintre pixelii întunecaț i și cei deschi și; dacă această diferen ță este peste
un anumit prag (setat in timpul etapei de învăț are), acest feature este prezent.
Figura 9 – a. Exemple de clasificatori Haar folosiț i de frameworkul OpenCV. b.
Clasificatorii folosi ți în algoritmul de detec ție Viola -Jones
algoritmul Integral Image pentru detectare rapida a fe țelor – aceasta m etoda presupune
parcurgerea pozei din coltul stânga sus si apoi calcularea sumei pixelilor vecini
(dreptunghiul din Figura 10 – 1 si 2). Se calculează , in final, o medie a intensităț ii
pixelilor pen tru regiunea dreptunghiulara împăr țind suma calculată la suprafaț a
dreptunghiului.
Figura 10 – Pașii algoritmului "Integral Image"
metoda AdaBoost [2] de machine learning pentru îmbunătăț ire filtrelor – un algoritm de
învățare automată care combină mai mulți clasificatori "slabi" (clasificatori care găsesc
răspunsul corect mai precis decât un algoritm aleator) cu scopul de a crea un clasificator
puternic ca o combinaț ie liniara a acestora. Folosind un număr mare de astfel de
clasificat ori "slabi" algoritmul se duce î n direc ția răspunsului corect. AdaBoost atribuie
fiecărui clasificator o pondere alegându -l in final pe cel mai bun.
Clasificator in cascada care combina mai multe trăsături eficient pentru a genera filtrele
de detectare a fetei – Viola si Jones au combinat o serie de clasificatori AdaBoost ca un
lanț de filtre [3]. Fiecare filtru este un clasificator AdaBoost ce conține un număr destul
de mic de clasificatori "slabi". La început , pragul pentru fiecare nivel este setat destul de
jos astfel încât majoritatea fetelor sa treacă de acest filtru. Pe măsura ce mai multe seturi
de date trec prin filtre, aceștia ajung sa fie din ce in ce mai antrena ți. Astfel, daca o
imagine trece de toate filtrele este considerata "fata valida", altfel, va fi respinsa. Ordinea
filtrelor este data de ponderea asignata de algoritmul AdaBoost.
Figura 11 – Descriere a clasificatorului in cascada
Rolul principal al detectorului este acela de a primi ca parametru de intrare o imagine si
de a returna poziț ia fetei in imagine . In plus, detectorul trebuie sa estimeze cat mai precis poziția
trăsăturilor fetei in zona din imagine care încadrează fata. Pentru a diminua efortul
computa țional , se setează detectorul sa caute numai cea mai proeminenta fata din imagine. După
detec ția feței sub forma unei regiuni dreptunghiulare, se estimează poziția trăsăturilor fetei prin
intermediul a doi parametrii:
– O pereche 𝑂𝑓𝑓𝑠𝑒𝑡(𝑥,𝑦) care constituie deplasamentul centrului fetei fata de centrul
regiunii dreptunghiulare care încadrează fata.
– Un factor de scalare 𝑠𝑐𝑎𝑙𝑒 care redimensioneaza forma referentiata in asa fel încât toate
punctele reper sa se incadreze in aceasta regiune.
Toate aceste componente sunt interpretate ca funcț ii liniare de forma:
𝑠𝑐𝑎𝑙𝑒= 𝑓(𝑤) si 𝑂𝑓𝑓𝑠𝑒𝑡 𝑥,𝑦 =𝑔 𝑤 , unde 𝑤 este lungimea regiunii dreptunghiulare.
Relațiile liniare 𝑓 si 𝑔 sunt deduse in urma unui proces de învățare care urmează următorii
pasi:
1. Se încarcă in memorie punctele adnotate din toate imaginile de învăț are și se inițializează
forma de referin ță ca media aritmetica a formelor fetelor din setul de date de învăț are.
2. se parcurge fiecare imagine din setul de date si se urmează următorii pași:
– Se inițializează clasificatorul folosit pentru detec ția fetei
– În urma detecț iei se obține un drept unghi care descrie marginile feț ei obișnute.
– Se verific ă dacă un procent n (parametrizabil) din punctele adnotate fac parte din zona de
imagine detectat ă; în caz afirmativ, imaginea se considera valida si va face parte din setul
de imagini de învățare
– Se re ține, pent ru fiecare imagine care respectă condi ția precedentă , centrul de mas ă al
punctelor adnotate și un factor de scalare necesar pentru a egala centrul formei de
referin ța cu centrul de masa al punctelor.
3. După parcurgerea imaginilor se calculează mediana celor trei valorilor reținute pentru
fiecare imagine, acestea reprezentând rezultatul învățării.
3.1.4 Urmărirea trăsăturilor în timp real
Problema urmăririi trăsăturilor faciale poate fi formulata ca aceea de a găsi o modalitate
eficienta de a combina detec ția independenta a trăsăturilor cu interdependentele geometrice care
caracterizează aceste puncte, pentru a determina o estimare corecta a localizărilor in fiecare
cadru din secven ța. Modalitatea propusa pentru a i ncorpora geometria faciala in algoritmul de
urmărire a trăsăturilor este de a proiecta rezultatul detec ției pe subspa țiul care descrie modelul
formei feței, identificat î n prealabil. Acest lucru se traduce matematic prin minimizarea
distantelor intre punct ele originale si punctele care descriu cea mai plauzibila forma din
subspa țiu, apropiat a de forma originala. Pentru a a tinge acest obiectiv se folosesc toate modelele
obținute pana in acest moment: modelul formei fetei, modelul trăsăturilor fetei si detect orul
trăsăturilor fetei.
Rezu ltatele algoritmului sunt prefaț ate in imaginile care urmează:
– poziție frontala:
– diferite expresii ale fetei:
– diferite unghiuri:
În timp real, detec ția se face cu o rata de redare care variază intre 11 -15fps, pe un terminal cu
o camera de 5MP, un procesor Dual Core Cortex A15 de 1.7 Ghz, capacitatea memoriei de 2GB
RAM (Nexus 10).
3.2 Detec ția emoțiilor
Deși, in trecu t, expresiile faciale au fost în mod esențial un subiect de cercetare pentru
psihologi , progresul rapid in domeniul procesării de imagini ș i a recunoa șterii de modele au
motivat extrem de mult cercetarea î n sensul dezvoltării unor sisteme automate de recunoa ștere a
expresiilor. Fața umană joacă un rol foarte important în comunicarea umană. Expresiile faciale ș i
gesturile fac parte din informa ția non-verbală care contribuie la comunicarea umană .
Recunoscând expresiile faciale din imagini sau secven țe video s -au dez voltat î n ultimele decenii
un număr din ce î n ce mai mare de aplica ții în domeniul interac țiunii om-computer (HCI).
Studiile incipiente ale lui Eckman la sfârșitul anilor ’70 au dus la dezvoltarea unui sistem de
clasificare a emoțiilor faciale de baza: fericire, triste țe, manie, frica, surprindere, dezgust și față
neutră . Apoi „ Facial Action Coding System ” (FACS) a fost dezvoltat de Eckman si Friesman
pentru a clasifica expresiile faciale, î n contextul mișcărilor care se produc cu mușchii fetei,
pentru fiec are astfel de mișcare atribuindu -se un cod („action code” – AU). Toate aceste
generalizări au făcut din acest domeniu de cercetare o științ a în sine, din ce in ce mai exacta , si
cu din ce in ce mai multe inferenț e în domeniul informatic .
Expresie Descriere
Neutr ă Toți mușchii feței sunt relaxați . Pleoapele sunt tangente la iris. Gura este
închisa și buzele sunt în contact.
Mânie Sprâncene interioare sunt trase în jos și împreunate. Ochii sunt larg deschiși.
Buzele sunt presate una împotriva celei lalte sau sunt deschise expunând dinți.
Supărare Sprâncenele interioare sunt îndoite în sus. Ochii sunt u șor închiși. Gura este
relaxat.
Surprindere Sprâncenele sunt ridicat e. Pleoapele superioare sunt larg deschise, cele
inferioare sunt relaxate. Maxilarului este deschis.
Fericire Sprâncenele sunt relaxate. Gura este deschisă ș i col țurile gurii sunt trase
înapoi înspre urechi.
Dezgust Sprâncenele si pleoapele sunt relaxat e. Buza superioară este ridicată ș i
ondulat, de multe ori asimetric.
Frica Sprâncenele sunt ridicate ș i împreunate. Sprâncene interioare sunt îndoite în
sus. Ochii sunt tensionaț i.
Tabel 4 – Expresiile faciale de baza [34]
In general expresiile faciale si emoț iile de bază se pot descrie ca un set de măsurători si
transformări în funcț ie de anumite puncte de reper de pe fata umana. Astfel, se poate descrie
anatomia fetei umane și parametrii care descriu în timp anima ția acesteia, eliminând nevoia
explicit ă de a specifica tipologia emoțiilor sau de a crea un nivel intermediar de prelucrări
geometrice complexe. Aceste puncte reper de pe fata umana se mapează astfel încât sa detecteze
automat aceste distante si sa creeze indicatori de mișcare pe o secven ța video, î n așa fel încât la
finalul procesului sa se poată reconstrui emoți a si să se pronun țe într-un mod cat mai clar asupra
emoți ei din cadru.
În pașii precedenț i am realizat un sistem de urmărire a trăsăturilor feței. Aceste trăsături
pot fi alese în mod strategic în așa fel încât sa se regăsească în locuri relevante pentru detec ția
emoției. Astfel, pe fiecare cadru putem urmări poziția acestor puncte si deduce pe baza lor
emoția care descrie fata la momentul respectiv.
În acest context, alegem 16 puncte, astfel:
P1 – colțul din stânga gurii.
P2 – colțul din dreapta gurii
P3 – punctul de pe mediana buzei superioare.
P4 – Punctul de pe mediana buzei inferioare.
P5 – colțul din dreapta al ochiului drept.
P6 – colțul din stânga al ochiului drept.
P7 – centrul pleoapei de sus al ochiului drept.
P8 – centrul pleoapei de jos al ochiului drept.
P9 – punctul cel mai de sus al sprâncenei din dreapta.
P10 – colțul din dreapta al ochiului stâng .
P11 – colțul din stânga al ochiului stâng .
P12 – centrul pleoapei de sus al ochiului stâng . „
P13 – centrul pleoapei de jos al ochiului stâng .
P14 – punctul cel mai de sus al sprâncenei din stânga . P15 – punctul cel mai din dreapta al fe ței.
P16 – punctul cel mai din stânga al fetei.
Folosind cele 16 trăsături faciale, extragem 11 distan țe relev ante pentru detec ția emoției.
Eticheta Distanta Denumire Descriere
D1, D2 Deschiderea ochilor Distan ța între col țul din stânga și cel din
dreapta al ochiului drept/ stâng (P5 – P6/ P10
– P11)
D3, D4 Înălțimea
sprâncenelor Distanț a între punctul de pe mediana pleoapei
superioare si cel mai înalt punct de pe
sprânceana (P7 – P9/ P12 – P14)
D5 Deschiderea gurii Distan ța între col țul din stânga și cel din
dreapta al gurii (P1 – P2)
D6 Înălțimea gurii Distan ța între punctele de pe media na de pe
buzele superioara si inferioara (P3 – P4)
D7, D8 Întinderea buzelor Distanta intre coltul din dreapta/ stânga al
ochiului si coltul din dreapta/ stânga al gurii
(P5 – P1/ P11 – P2)
D9, D10 Înălțimea ochilor Distan ța între punctele de pe mediana de pe
pleoapele superioara si inferioara (P7 – P8 /
P12 – P13)
D11 Normalizare Distan ța între punctele extreme ale fetei (P15
– P16)
Tabel 6 – Distantele caracteristice pentru clasificarea emo ției
Procesul de clasificare urmează următorii pași:
1. Alegem pentru fiecare expresie facial ă un set de imagini pe baza cărora se va lua decizia.
Pentru ca reprezentarea emoției nu diferă fundamental in funcție de parametrii precum etnie,
culoarea pielii, sex etc., nu este nevoie de un număr foarte mare de imagini. Vom alege 8
imagini pentru fiecare tip de emoție, imagini preluate din baza de date publica MMI5.
Aceasta baza de date conține imagini clasificate în funcție de codul FACS al emoției , însa
acestea se pot asocia emoțiilor de baza ( Tabel 7).
5 http://www.mmifacedb.com/
Cod AU Emoț ie de baza
(AU23=1 sau AU24 =1) si AU9=0 Mânie
AU9=1 Dezgust
(AU20=1 si AU25 =1) sau
(AU20=1 si AU26 =1) Frică
AU12=1 Fericire
AU15=1 si AU17 =1 Supărare
AU27=1 sau (AU5=1 si AU26 =1) Surprindere
Tabel 7 – Asocieri între codul emoției și emoția de bază
2. Pentru fiecare imagini determinam cele 16 puncte și reținem într-un vector cele 11 distante;
vom avea in acest moment un număr de n vectori, fiecare fiind asociat unuia dintre cele m
grupuri.
3.
4. Aplicam algoritmul KNN ( k-nearest -neighbor ). Acest algoritm este un algoritm de învățare
neparametrizat, adică nu va face nicio presupunere asupra distribu ției datelor, lucru care se
poate dovedi eficient pentru ca pot exista varia țiuni ale expresiilor, pot exista expresii care se
aseamănă sau expresii care combina expresii de baza.
Avantaje:
– Nu este nevoie de faza de antrenare, decât de o faza de culegere a datelor
– Nu folose ște datele de învățare pentru a crea relații între date sau generalizări
– Ia in calcul toate datele de test in luarea deciziei.
Dezavantaje:
– Procedura de evaluare este destul de costisitoare pentru un volum mare de date de
învăț are
– Este nevoie de toate datele de de învăț are in luarea deciziei, care se vor stoca in memorie
Algoritmul va avea următorii parametrii:
a. Date de intrare:
– Vectorul de distante pentru imaginea care se verifica
– Matricea de distante pentru imaginile din setul de date de învăț are
b. Date de ieșire:
– Vectoru l cu m componente care cantine probabilitatea ca setul de date de intrare sa fie
clasificat ca aparținând fiecărui grup.
5. Pe baza vectorului de probabilit ăți, se afișează pe ecranul terminalului emoția detectată , sub
forma unui grafic.
3.3 Rezultate experimentale
Pentru testarea aplica ției s -au folos it mai multe caracteristici de test, codificate astfel:
– C1 – gradul de iluminare al mediului: slab (S), mediu (M), bine iluminat (B)
– C2 – gradul de mi șcare al fe ței în cadrul secven ței video – aproape static (S), mișcare
lenta (L), miș care rapida (R)
– C3 – tipul de expresie al fetei: neutra (NEU), mânie (ANG), supărare (SAD), surprindere
(SUR), fericire (HAP), dezgust (DES), frica (FEA).
– C4 – orientarea feței în spaț iu (head -pose): frontal – 0 grade (F), 0 -15 grade dreapta sau
stânga, 15 -30 grade dreapta sau stânga, 30 -45 grade dreapta sau stânga. 45 -60 grade
dreapta sau stânga, 60 -75 grade dreapta sau stânga, 75 -90 grade dreapta sau stânga, profil
(P).
Se realizează următoarele scenarii de test:
– TC1 – gradul de detec ție al fetei, folosind caracteristicile C1, C4 – se alege cate (minim)
4 imagini din fiecare grup (3x8x4 imagini de test). Se aleg imagini în care pozi ția feței
are un unghi maxim de 45 de grade. Validarea se măsoară prin valoarea de TC2 – adevăr
a detecției (detectat – nedetectat)
– TC2- gradul de detec ție al trăsăturilor folosind caracteristicile C1, C4 – se verifica daca
trăsăturile se marchează corespunzător. Pentru fiecare imagine se măsoară suma
pătratelor erorilor, normalizate cu lungim ea feței, fata de marcajele țintă. Se admit ca
valide acele imagini cu suma pătratelor care nu depășește una numit prag prestabilit.
– TC3 – gradul de detecție al emoției, folosind caracteristicile C3 – folosind imagini valide
din punct de vedere al scenari ilor de test TC1, TC2, se clasifica conform caracteristicii
C3 (cate minim 20 de imagini pentru fiecare emo ție). Se admit ca valide acele imagini
care sunt detectate ca având emo ția prezisa egala cu cea ținta.
– TC4 – gradul de acuratețe al urmăriri trăsătur ilor feței, folosind caracteristica C2 – o dat ă
detectat ă o față pe o secven ță video, se verifica daca trataturile urmăresc pozi ția curent ă a
fetei în cadrul secven țelor video. Se măsoară în timpul (numărul de secunde) efectiv
necesar pana când este necesa ra o noua detec ție a fetei si recalibrarea modelului de
urmărire. Se admit ca valide acele imagini cu timpul efectiv care nu depășește un anumit
prag prestabilit.
TC1 – gradul de detecț ie al fetei
C4
C1 F 0-15 15-30 30-45 45-60 60-75 75-90 P
Total
(%) NI NV % NI NV % NI NV % NI NV % NI NV % NI NV % NI NV % NI NV %
S 5 5 100 5 4 80 5 3 75 5 3 75 5 2 50 5 0 0 5 0 0 5 0 0 42.5
M 5 5 100 5 5 100 5 4 75 5 3 75 5 3 60 5 1 25 5 1 0 5 0 0 55
B 5 5 100 5 5 100 5 5 100 5 4 100 5 3 75 5 2 25 5 1 1 5 0 0 62.5
Total
(%) 100 93.33 80.00 66.66 57.14 53.33 13.33 0 55
C4
C1 F + 0 -45 45-90 + P
NI NV % NI NV %
S 20 15 75 20 2 10
M 20 17 85 20 5 25
B 20 19 95 20 6 30
Total
(%) 85 21.66
NI – număr imagini NC – număr imagini valide
TC2 – gradul de detec ție al trăsăturilor
C4
C1 F 0-15 15-30 30-45
Total
(%) NI NV % NI NV % NI NV % NI NV %
S 5 4 100 5 4 80 5 4 80 5 3 60 80
M 5 5 100 5 5 100 5 4 80 5 4 80 90
B 5 5 100 5 5 100 5 5 100 5 5 100 100
Total
(%) 100 93.33 86.66 80 90
NI – număr imagini NC – număr imagini valide
TC3 – gradul de detecție al emoției
C3 Număr imagini test Număr imagini valide Procent (%)
NEU 30 27 90
ANG 22 19 86.36
SAD 26 20 76.92
SUR 27 27 100
HAP 30 30 100
DES 20 17 85
FEA 21 17 85.71
Total (%) 176 158 89.77
TC4 – gradul de acuratețe al urmăriri trăsăturilor feței
C2 Număr secven țe video testate Timp mediu până se impune o nouă detec ție
S 10 ∞
L 10 15.5
R 10 2
3.4 Concluzii
1. Algoritmul de detec ție a feț ei folosit se pretează pentru a fi folosit indiferent de condiții de
luminozitate, însa nu dă rezultate pentru o poziție a capului î ntr-un unghi mai mare de 45 de
grade.
2. Detecția feței și a trăsăturilor se realizează în poziție frontală pentru toate imaginile de test,
indiferent de condițiile de luminozitate.
3. Detecția trăsăturilor feței în funcție de punctele de reper marcate se realizează într -un procent
de 90%.
4. Detecția emoțiilor se realizează într -un procent de 89.7%, cu următoarele precizării:
– s-a înregistrat un proc ent mai mic pentru detecția emoției „supărare”, care este cel mai
frecvent confundata cu emoția „dezgust”
– emoțiile „furie” si „dezgust” se confunda reciproc in cele mai multe dintre cazurile in
care detecția nu a returnat rezultatul anticipat.
– emoția „fric a” se confunda cu emoția „neutră” in cele mai multe dintre cazurile in care
detecția nu a returnat rezultatul anticipat.
5. În ceea ce privește procesarea real-time a cadrelor, se poate concluziona că algoritmul
general de urmărire a feței funcționează eficie nt pentru secvențe în care poziția fetei intre
cadre nu se schimba foarte rapid. În cazul în care fata se mișcă foarte rapid, este nevoie ca
algoritmul de detecție sa se realizeze foarte frecvent (la 1 -2 secunde), ceea ce face ca
numărul de frame -uri pe se cundă sa scadă dramatic (se pierde efectul de real-time).
Bibliografie
[1] Norman, D. (2003). Emotional Design. Why we love (or hate) everyday things. Basic Books .
ISBN: 0465051359.
[2] Picard, R. W. (1997). Affective computing . Cambridge, MA: MIT Press.
[3] Garay N., Cearreta I., López J. M., & Fajardo I. (2006). Assistive Technology and Affective
Mediation. Human Technology. Special Issue on "Human Technologies for Special Needs (Guest
editor: José Juan Cañas). Vol. 2, No. 1 Pp. 55 -83.
[4] Lisetti, C., & Nasoz, F. (2004). Using Noninvasive Wearable Computers to Recognize
Human Emotions from Physiological Signals. In EURASIP Journal on Applied Signal
Processing – Special Issue on Multimedia Human -Computer Interface , Vol. 2004 (11).
[5] Morganti, F., & Riva , G. (2005). Ambient Intelligence for Rehabilitation. In Ambient
Intelligence: The evolution of technology, communication and cognition towards the future of the
human -computer interaction. G. Riva, , F. Vatalaro, F. Davide, M. Alcañiz (Eds.). IOS Press, p p.
283-295. ISBN: 1 – 58603 -490-1.
[6] Tao, J., & Tan, T. (2005). Affective computing: A review. In J. Tao, T. Tan, & R. W. Picard
Eds.), Proceedings of the First International Conference on Affective Computing & Intelligent
Interaction (ACII’05; pp. 981 –995). Beijing, China: Springer.
[7] Lisetti, C. L., & Schiano, D. J. (2000). Automatic Facial Expression Interpretation: Where
Human -Computer Interaction. In Artificial Intelligence and Cognitive Science Intersect.
Pragmatics and Cognition (Special Issue on Facial Information Processing: A Multidisciplinary
Perspective) , 8(1): 185 -235
[8] Leventhal , H. & Scherer, K. (1987). The relationship of emotion to cognition: A functional
approach to a semantic controversy. Cognition and Emotion 1 (1), pp. 3 -28.
[9] Ek man, P. & Friesen, W. (1975). Unmasking the Face: A Guide to Recognizing Emotions
from Facial Expresssions. Englewood Cliffs, NJ: Prentice Hall.
[10] Brave, S. & Nass, C. (2003). Emotion in Human -Computer Interaction. In The Human –
Computer Interaction Handbook: Fundamentals, Evolving Technologies and Emerging
Applications , Jacko, Julie A. And Sears, Andrew, Eds., Lawrence Erlbaum Assoc.
[11] James, W. (1884). What is an emotion? Mind , 9, pp. 188 -205.
[12] Ortony, A., & Turner, T. J. (1990). What's basi c about emotions. Psychological Review ,
97(3), pp. 315 -331.
[13] Roseman, I. J., Antoniou, A. A., & Jose, P. E. (1996). Appraisal determinants of emotions:
Constructing a more accurate and comprehensive theory. Cognition and Emotion , 10(3), pp.
241-277.
[14] Lang, P. J. (1979). A bio -informational theory of emotional imagery. Psychophysiology , ol.
16, pp. 495 -512
[15] Scherer, K. R. (1986). Vocal affect expression: A review and a model for future research.
psychological Bulletin , Vol. 99, pp. 143-165.
[16] Picard R. W. (1998). Towards Agents that Recognize Emotion. In: Acts Proceedings
IMAGINA (Monaco), pp. 153 -165.
[17] Oudeyer, P -Y., (2003). The production and recognition of emotions in speech: features and
algorithms. International Journal of Human -Comp uter Studies , Vol. 59 (1 -2), pp. 157–183.
[18] Cowie, R., Douglas -Cowie, E., Savvidou, S., McMahon, E., Sawey, M. & Schröder, M.
(2000). 'Feeltrace': An Instrument For Recording Perceived Emotion In Real Time. In: ISCA
Workshop on Speech & Emotion. Northern Ireland, pp. 19 -24.
[19] Lang, P. J. (1979). A bio -informational theory of emotional imagery. Psychophysiology,
Vol. 16, pp. 495 -512.
[20] Bradley, M.M., Lang, P.J., Cuthbert, N.B., (1997). Affective Norms for English Words
(ANEW). NIMH Center for the Study of Emotion and Attention, University of Florida
[21] Ekman P. (1984). Expression and nature of emotion. In: K. Scherer & P. Ekman (Eds.) :
Approaches to emotion. Hillsdale, Nueva Jersey: Erlbaum.
[22] Banse, R., & Scherer, K. R. (1996). Acoustic profiles in vocal emotion expression. Journal
of Personality and Social Psychology , Vol. 70 (3), pp. 614 -636.
[23] Hall, E. T. (1998). The Power of Hidden Differences. In M. J. Bennett (Ed.), Basic Concepts
of Intercultural Communication: Selected Reading s (pp. 53 -67). Yarmouth, ME: Intercultural
Press, Inc.
[24] Mehrabian, A. (1971). Silent Messages. Belmont (California), USA: Wadsworth Publishing
Co.
[25] Affecting Computing (n.d.). Retrieved March 30, 2007, from http://affect.media.mit.edu/
[26] Nasoz, F., Alvarez, K., Lisetti, C. L., &Finkelstein, N. (2003). Emotion Recognition from
Physiological Signals for Presence Technologies. International Journal of Cognition,
Techn ology, and Work – Special Issue on Presence , Vol. 6(1)
[27] James, L. (2000). Road Rage and Aggressive Driving. Amherst, NY: Prometheus Books.
[28] Human Automation Integration research branch (n.d.). Retrieved from
http://humanfactors.arc.nasa.gov/ihi/
[29] López J. M., Cearreta I., Garay N., López de Ipiña K., Beristain A. (2006) Creación de
unabase de datos emocional bilingüe ymultimodal. VII Congreso de Interacción Persona –
Ordenador (Interacción 2006) , Puertollano (Es). Pp. 57 -66
[30] Li, X., & Ji, Q. (2005). Active Affective State Detection and User Assistance With Dynamic
Bayesian Networks. IEEE transactions on systems, man, and cybernetics -part a: systems and
humans , Vol. 35, No. 1.
[31] T. K. J. F. C. Ying -li Tian, „Recognizing Action Units for Facial Expression,” Pattern
Analysis and Machine Intelligence , vol. 23, nr. 2, pp. 97 – 115, 2001.
[32] University of Vermont, Burlington, USA University of Minnesota, Minneapolis, USA,
The Top Te n Algorithms in Data Mining , W. Xindong și K. Vipin , Ed., Boca Raton: Chapman
and Hall/CRC (April 9, 2009), 2009.
[33] V. Paul și J. Michael , „Rapid Object Detection using a Boosted Cascade of Simple,”
Second International Workshop on Statistical and Computational Theories of, pp. 8 -16, 13 Iulie
2001.
[34] I. Pandzic și R. Forchheimer, MPEG -4 Facial Animation: the Standard , Wiley, 2002.
[ 35] Y. S. Frank, Image Processing and Pattern Recognition – Fundamental and Techniques ,
New Jersey: John Wiley & Sons, 2010.
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: – 30 mai 2013 – [607682] (ID: 607682)
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.
