Upb Diseratatie Lucru 4. Gabi [311525]

UPB-DISERTATIE-LUCRU 1

[anonimizat].

[anonimizat],iar relatia de cauzalitate dintre ele si determinismul multor “boli ale secolului” ,[anonimizat],[anonimizat]-imune si nu in ultimul rand cancer,s-a demonstrat deja.

[anonimizat] 28 [anonimizat], ma indreptateste sa semnalez o crestere fara precedent a [anonimizat].[anonimizat] 50 de de ani.Iata de ce se impune o [anonimizat],care sa foloseasca uriasul progres al tehnologiei digitale.Programele de identificare a [anonimizat],o “mana intinsa” [anonimizat] a identifica ,timpuriu persoanele vulnerabile la depresie si de ce nu ,o modalitate de preventie a bolii neoplazice.

CUPRINS

1.[anonimizat].

[anonimizat] ,are ca impact cresterea performantei medicale in directia facilitarii unui diagnostic precoce si a maririi acuratetei diagnosticului medical.

[anonimizat],ar trebui sa ne limitam doar la un examen clinic si la o evaluare psihologica.[anonimizat]-medicale de evaluare si interpretarea computerizata a [anonimizat].

[anonimizat] a [anonimizat],argumentul fiind incidenta ingrijorator de mare a [anonimizat],[anonimizat],educatie sau areal geografic. [anonimizat],incurabile .

Statisticile arata ca 350 milioane de persoane sufera de depresie la nivel mondial .OMS considera depresia ca fiind a patra cauza semnificativă de handicap la nivel mondial și anticipează ca în 2020 va deveni lider.

Depresia este o [anonimizat], luni, [anonimizat] o [anonimizat].

[anonimizat]-[anonimizat].Ar fi asadar binevenita o [anonimizat] ,ca prima faza a depresiei si aceasta ar putea fi reprezentata de identificarea timpurie a [anonimizat] care mi-am propus ca in acest demers sa implementez o metoda de detectie computerizata.Acest obiectiv ar avea ca scop identificarea timpurie a persoanelor vulnerabile,precum si analiza longitudinala a evolutiei acestei tulburari emotionale.

2.SCURT ISTORIC AL IDENTIFICARII EMOTIILOR FACIALE

De-a lungul ultimelor decade, studiul academic al emoției s-a dezvoltat foarte substanțial într-o serie de discipline care includ psihologia, lingvistica, economia, științele cognitive, neuroștiințele, filosofia, etc.

O emoție este o stare mentală și fiziologică asociată cu o mare varietate de sentimente, gânduri și comportamente. Emoțiile reprezintă experiențe subiective, de multe ori asociate cu starea de spirit, personalitatea și dispoziția fiecărui invidid. Realizăm o distincție între sentimente, atitudini și emoții. Putem interpreta anumite manifestări exterioare ca marca unui sentiment, așadar sentimentele nu sunt niciodată obiectivul unei percepții directe. Atitudinile se regăsesc în comportamentul oamenilor și sunt mai vizile decât emoțiile care pot fi controlate. Distincția între sentimente și atitudini poate fi interpretată ca o distincție între concret și abstract. Emoțiile sunt sentimente puternice și pot fi clasificate drept extrinseci și intrinseci.

Teorii despre emoții găsim și în trecut, la stoicii greci, precum și la Platon și Aristotel. De asemenea, regăsim teorii sofisticate în lucrările unor filosofi precum Descartes, Spinoza, Hume etc. Platon consideră că emoțiile sunt o "boală a sufletului" iar Descartes introduce ideea inovatoare și mai puțin creștină că emoțiile ne împing să păcătuim pentru satisfacerea dorințelor noastre. Conceptul cartezian consideră emoțiile ca pe ceva ce apare spontan în mintea noastră.

Darwin discută în cartea sa – Exprimarea emoțiilor la om și la animale (1874) – ideea că anumite manifestări corporale sunt însoțite de emoții speciale. Emoțiile precum “surpriza, curiozitatea, extazul, frica, furia, pofta, lăcomia, sunt însoțite de tulburări comportamentale și reprezintă exemple de ceea ce el numește “emoții standard.

James William consideră că viziunea sa se potrivește cel mai bine cu explicația lui Darwin despre originile comportamentelor reflex deoarece el ia în considerare doar emoțiile însoțite de expresii corporale distincte. În capitolul său cu privire la emoție, James își exprimă un principiu care a devenit cunoscut ca Teoria James-Lange, deoarece fiziologul danez Carl Lange a publicat opinii similare, în aceeași perioadă de timp. James a postulat că emoțiile de fapt rezultă mai degrabă din modificări fizice decât să fie determinate de acestea. Ca și Darwin, James realizează o punte comună între reflexele emoționale și cele senzoriale și motorii.(1)

Teoria James-Lange se referă la William James și fiziologistul danez Carl Lange și constă în faptul că emoția provoacă stimuli ce determină o schimbare în starea fiziologică. Ambii au sugerat că emoția se datorează perceperii unor schimbări în organism. Conform teoriei lor, oamenii simt emoțiile numai în cazul în care devin conștienți de reacțiile lor fizice interne la evenimente, cum ar fi bătăile crescute ale inimii sau tensiunea arterială crescută.(2)

Contribuția lui William James la pragmatism a inclus accentul pus pe emoții, autorul fiind de părere că există două posibilități cu privire la modul în care emoțiile ar putea fi luate în considerare. Emoția ar putea fi gândită ca fiind localizată în cortex, sau ar putea fi gândită ca fiind corespunzătoare proceselor care au loc în centrele senzoriale și motorii ale creierului. El este de acord cu acesta din urmă și vorbește despre emoții standard și emoții exterioare.(3)

In decursul anilor, diferiți filosofi și psihologi au încercat să producă liste cu emoții de bază.

Descartes a găsit șase pasiuni (iubire, ură, dorință, bucurie, tristețe, admirație). Darwin a găsit șapte clustere de emoții descrise în cartea sa "Expresia emoției la om și animale" (1872). Robert Plutchik, în Emoții: O sinteză psiho-evolutivă (1980), a identificat o serie de liste suplimentare de emoții de bază.

Paul Ekman (1972) a încercat să folosească metode mai obiective. Paul Ekman pornește de la afirmația lui Charles Darwin că expresiile faciale generate de emoții sunt universale și demonstrează în cartea sa „Emotions Revealed” – „Emoții date pe față” – că, din Statele Unite, Japonia, Brazilia și Argentina și până în Indonezia și Papua Noua Guinee, chipurile oamenilor exprimă la fel cele 7 emoții universale (mânia, frica, bucuria, uimirea, dezgustul, disprețul și tristețea).Psihologul american a demonstrat că natura reprezintă cheia comportamentului uman și nu educația sau cultura, așa cum se credea. Ekman arată în „Emoții date pe față” cum microexpresiile, reacțiile involuntare ale mușchilor fetei care au loc atunci când experimentăm emoții și care au o durata extrem de scurtă (între 1/25 – 1/15 dintr-o secundă), dezvăluie adevărul din spatele minciunilor pe care le spunem.(4)

Plutchik (1980), după ce a evocat listele tuturor celorlalți, a oferit propria sa listă de opt emoții de bază: bucurie, încredere, frică, surpriză, tristețe, anticipare, furie și dezgust. Robert Plutchik a creat o roată a emoțiilor. Această roată este utilizată pentru a ilustra emoții diferite într-un mod convingător și nuanțat. Plutchik a propus pentru prima dată modelul în formă de con (3D) sau modelul roții (2D) în 1980 pentru a descrie modul în care au fost legate emoțiile.

El a sugerat 8 emoții primare bipolare: bucurie față de tristețe; furie față de frică; încredere față de dezgust; și surpriză față de anticipare. În plus, modelul său complex face legături între ideea unui cerc de emoție și o roată de culoare. Ca și culorile, emoțiile primare pot fi exprimate la diferite intensități și se pot amesteca unul cu altul pentru a forma emoții diferite.

Fig.

Fig.1 Plutchik-Roata emotiilor

Sursa  Plutchik, Robert (16 September 1991). "The Emotions". University Press of America. p. 110. Retrieved 16 September 2017 – via Google Books.

Teoria a fost extinsă pentru a oferi baza pentru explicarea mecanismelor de apărare psihologică; Plutchik a propus ca opt mecanisme de apărare să fie manifestări ale celor opt emoții centrale (5)

Toate cele de mai sus aparțin de cultura occidentală, dar iată și o listă din medicina tradițională chineză care enumeră șapte emoții: furie, frică, spaimă, durere, bucurie, îngrijorare, caracter meditativ.

Du, Tao și Martinez (2014) au creat o mare bază de date de expresii faciale prin intermediul unui computer pentru a afla care dintre acestea ar putea fi distinse în mod clar una față de alta.(6)

Expresiile faciale au fost analizate utilizând o listă de mușchi faciali numiți unități de acțiune sau UA-uri. Ekman a enumerat în cele din urmă 80 de UA-uri; alți cercetători folosesc între 40 și 100 de UA-uri.

Du și colegii au folosit lista lui Ekman. Ei au descoperit că software-ul de recunoaștere facială a calculatorului ar putea să deosebeasca 23 de expresii faciale de emoție, inclusiv emoții compuse (de exemplu, surpriză furioasă, dezgustul fericit.(7)

In prezent se studiaza un număr și mai mare de fețe expresii care corespund la aproximativ 400 de concepte cu relevanta emotionala ,de exemplu, anxietate, jenă și oboseală.(8)

Un reper stiintific important este FACS( Facial Action Coding System ), un instrument de analiza obiectiva a fetei, care nu depinde de abilitatile naturale ale celui care analizeaza, ci descrie fiecare miscare a muschilor faciali, in forma unor unitati de actiune – Action Units (AUs).

Fig.2.Musculatura faciala

Sursa:
http://www.rci.rutgers.edu/~uzwiak/AnatPhys/APFallLect14_files/image004.jpg

Prototipurile FACS pentru tristete sunt [1+4+11+15 (+/-54+64)], [1+4+15 (+/-54+64)], [6+15 (+/-54+64)], unde AU15 este predictor semnificativ. AU15 inseamna in FACS lip corner depressor, este generat de recrutarea muschiului triangularis aka depressor anguli oris, si este predictorul de tristete care apare in toate prototipurile acestei emotii.(9)

Fiecare dintre cele sapte emotii universale are niste prototipuri de actiune si fiecare prototip are niste predictori. Daca vedem pe fata predictorii semnificativi pentru o anumita emotie, putem spune cu certitudine ca persoana traieste respectiva emotie, chiar daca incearca sa o mascheze.

Marvin Minsky, unul dintre oamenii de știință pionieri ai inteligenței artificiale, 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 procesul pe care-l numim gândire”.(10)

În ultima 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 dezvoltarea domeniului inteligenței artificiale. Există mai multe motive pentru această renaștere a domeniului: progresul tehnologic în înregistrarea, stocarea și procesarea informațiilor video și audio, dezvoltarea senzorilor non-intrusivi, apariția calculatoarelor portabile, nevoia de a îmbună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”.

Affective computing este un domeniu care studiază modul prin care pot fi dezvoltate sisteme sau dispozitive care pot recunoaște, interpreta, procesa și simula afectul uman ,reprezentat de emoțiile umane. Fiind un domeniu interdisciplinar ,Affecting Computing cuprinde ramuri cum sunt știința computerelor(computer science), psihologie, filosofie și alte științe cognitive. Domeniul a fost revotionat în 1995, odată cu publicarea articolului semnat de Risalind Picard despre affective computing. Motivul cercetării lui Picard a fost acela de a concepe un sistem care să poată simula empatia. Mașina ar fi trebuit să interpreteze starea emoțională a oamenilor și să se adapteze comportamentului lor, acționând conform cu emoțiile lor. Acesta este și punctul de plecare al acestui domeniu.(11)

Una dintre cele mai vechi dezbateri în teoria emoțiilor este aceea dacă emoțiile sunt înnăscute sau dacă sunt învățate . 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.Fiecare emoție are o semnătură unică. Deși există mai multe modele teoretice de emoții, cele mai folosite sunt modelele de emoții dimensionale și categorice .

Detectarea și prelucrarea expresiilor faciale sunt realizate prin diverse metode, cum ar fi fluxul optic, modelele ascunse ale lui Markov , rețelele neuronale sau modelele cu aspect activ.Pot fi combinate mai multe modele ,de exemplu recunoașterea multimodală, expresiile faciale și metrica vorbirii, expresii faciale și gesturi de mână sau expresii faciale cu vorbire și text pentru analiza datelor multimodale și a metadatelor,care permit o evaluare mai completa a stării emoționale a subiectului.(12)

Din motive practice, modelele categorice au fost utilizate mai frecvent în AC. Au fost implementati mai mulți algoritmi capabili sa recunoasca opt categorii de emoții bazate pe expresii faciale (13)

2. ISTORIA RECUNOSTERII FACIALE SI A DETECTARII EMOTIILOR

Expresiile faciale au fost studiate de către psihologi, medici, cercetatori din domeniul calculatoarelor. In ultimul deceniu al secolului al XX-lea, s-au facut progrese uriase în domeniile robotică, grafică computerizată și copluter vision ,care au început să fie interesați de studiul expresiilor faciale.

Primul pas către recunoașterea automată a expresiilor faciale a fost făcut în 1978 de către Suwa și colab. Suwa și colegii săi care au prezentat un sistem de analiză a expresiilor faciale dintr-o secvență de imagini ,folosind douăzeci de puncte de urmărire.(14)

Temele de interes ale anilor 80 privind recunoașterea automată a expresiilor faciale au fost detectarea feței și sistemele de urmărire a feței. A urmat apoi dezvoltarea algoritmilor de detecție a feței și de urmărire a feței la începutul anilor 1990,iar HumanComputer Interaction and Affective Computing au început să câștige popularitate. Lucrari ample și larg citate ,au fost publicate de către Pantic și Rothkrantz (2000) [15] și Fasel și Luttin (2003) [16], care efectuează un studiu aprofundat al lucrării publicate din 1990 până în 2001.

Diferitele comportamente și mișcări faciale au necesitat o parametrizare bazata pe activitatea musculaturii faciale si realizata de sistemul de Codificare a Acțiunii Față (FACS) dezvoltat de Ekman și Friesen în 1977 [17] precum si de parametrii de animație facială (FAP) care fac parte din codificarea hibridă sintetică / naturală MPEG-4 (SNHC), 1998 [18]. De exemplu,tristetea poate fi exprimata folosind FAPs dupa cum urmeaza: close_t_l_eyelid (FAP 19), close_t_r_eyelid (FAP 20), close_b_l_eyelid (FAP 21), close_b_r_eyelid (FAP 22), raise_l_i_eyebrow (FAP 31), raise_r_i_eyebrow (FAP 32), raise_l_m_eyebrow (FAP 33), raise_r_m_eyebrow (FAP 34), raise_l_o_eyebrow (FAP 35), raise_r_o_eyebrow (FAP 36) [19].

Sistemele automate de recunoaștere a expresiei feței sunt împărțite în trei module: urmărirea și detectarea feței,extragerea caracteristicilor și clasificarea expresiilor.

Localizarea fetei în interiorul unei imagini este denumită detecție a feței .Una dintre metodele dezvoltate la începutul anilor 1990 de detectare și urmărire a fețelor a fost tracker-ul Kanade-Lucas-Tomasi.(20) .În 1998, Kanade și Schneiderman au dezvoltat un algoritm robust de detectare a feței folosind metode statistice [21]

În 2004, Viola și Jones au dezvoltat o metodă folosind AdaBoost algoritmul de învățare care a fost foarte rapid și ar putea detecta rapid fețele de vedere frontală.(22)

Alte metode populare de detectare și urmărire au fost propuse de Sung și Poggio în 1998, Rowley și colab. în 1998 și Roth și colab. în 2000.

Un dispozitiv de urmărire a feței care este utilizat în mod extensiv de către cercetătorii de recunoaștere a expresiei feței este Piecewise Bezier Volume Deformation (PBVD), dezvoltat de Tao și Huang [23].

Au fost propuse și alte abordări interesante. În loc să folosească un tracker de față, Tian și colab. au folositmodele de fata ” multistate” pentru a urmări separat caracteristicile permanente și tranzitorii ale feței . Caracteristicile permanente (buzele, ochii, fruntea și obrajii) sunt urmărite cu ajutorul unui dispozitiv de urmărire a buzelor separate , dispozitivului de urmărire a ochilor și dispozitivului de urmărire a feței și obrazului (24).

Voi încheia această secțiune cu o mică notă privind condițiile medicale care duc la "pierderea expresiei faciale". Deși nu are nici o implicație directă asupra stadiului actual al tehnicii, mă simt ca o recunoaștere a expresiei feței. Există anumite condiții care pot provoca ceea ce este cunoscut sub numele de "flat affect" sau starea în care o persoană nu poate afișa expresii faciale [87]. Există 12 cauze pentru pierderea feței expresii și anume: sindromul Asperger, tulburarea autistă, paralizia Bell, depresia, tulburările depresive, faciala paralizie, slăbiciune facială, degenerare hepatolenticulară, tulburare depresivă majoră, boala Parkinson, Sclerodermia și boala lui Wilson [25].

La ora actuala exista nenumarate variante de programe care realizeza identificarea expresiilor faciale.

Recunoaștem faciala utilizând Python și biblioteca open source OpenCV.(26)

Analiza emotiilor este un amestec interesant de psihologie și tehnologie.Multe instrumente de detectare a expresiilor faciale incadreaza emoțiile umane în 7 categorii principale: Bucurie, Tristețe, Furie, Frica, Surpriză, Convingere și Dezgust. Cu ajutorul detecției emoțiilor faciale, algoritmii detectează chipurile în cadrul unei fotografii sau video și înțeleg expresiile micro-prin analizarea relației dintre punctele de pe față, bazate pe baze de date curative compilate în medii academice.

API-uri de detectare a feței care recunosc dispoziția

Aceste API-uri de vizibilitate pe calculator utilizează detectarea facială, urmărirea ochilor și a indicilor specifici pentru poziția fetei.pentru a determina starea de spirit a subiectului. Există multe API-uri care scanează o imagine sau un video pentru a detecta chipurile, dar acestea merg în plus pentru a releva apoi o stare emotionala. Aceasta este adesea o combinație a celor 7 emoții de bază și valență , starea emotionala a subiectului.(27)

Sursa https://nordicapis.com/20-emotion-recognition-apis-that-will-leave-you-impressed-and-concerned/

EmoVu încorporează detectarea mașinilor și detectarea micro expresiei, care permit unei agenții să "măsoare cu precizie implicarea și eficacitatea emoțională a conținutului lor asupra publicului țintă."

Folosit în sfera academică, aplicația Face Reader API de Noldus se bazează pe învățarea mașinilor, atingând o bază de date cu 10.000 de imagini de expresie a feței. API utilizează 500 de puncte facial cheie pentru a analiza 6 expresii faciale de bază, precum și neutru și dispreț. Face Reader detectează de asemenea direcția și orientarea capului.(27)

Sightcorp este un alt furnizor de recunoaștere facială. Insight SDK oferă suport pentru platforme largi, care urmărește sute de puncte facială, ochi, și a fost folosit în proiectele de creație, vitrinele muzeului și la TEDX Amsterdam. Sightcorp lui F.A.C.E. API (încă în versiune beta) este un motor de analiză în cloud pentru detectarea automată a expresiei emoționale.

Imotions este o platformă de cercetare biometrică care furnizează software și hardware pentru monitorizarea multor tipuri de indicii corporale. Imoțiile se sincronizează cu tehnologia expresiei faciale a Emotient și adaugă straturi suplimentare pentru a detecta confuzia și frustrarea. Imotions API poate monitoriza fluxurile video live pentru a extrage valența sau poate agrega înregistrările înregistrate anterior pentru a analiza emoțiile. Software-ul Imotion a fost folosit de Harvard, Procter & Gamble, Yale, forțele aeriene americane, și a fost folosit chiar și într-un episod Mythbusters.(27)

CrowdEmotion oferă un API care utilizează recunoașterea facială pentru a detecta seriile de timp ale celor șase emoții universale, așa cum le-a definit psihologul Paul Ekman (fericire, surpriză, furie, dezgust, frică și tristețe). Demo-ul lor online va analiza punctele faciale în timp real și va răspunde cu vizualizări detaliate. Acestea oferă o nisip cutie API, împreună cu o utilizare gratuită lunară pentru testarea live. Consultați documentele API CloudEmotion pentru informații specifice.

Sursa https://nordicapis.com/20-emotion-recognition-apis-that-will-leave-you-impressed-and-concerned/

Fondată la Universitatea Carnegie Mellon (CMU), FacioMetrics este o companie care furnizează SDK-uri pentru încorporarea urmăririi feței, a urmăririi și a analizei expresiei în aplicații.

Sursa https://nordicapis.com/20-emotion-recognition-apis-that-will-leave-you-impressed-and-concerned/

IBM Watson

Powered by supercomputer IBM Watson, analizorul de tonuri detectează tonuri emoționale, predispoziții sociale și stiluri de scriere din orice lungime de text simplu.De asemenea, IBM Watson Developer Cloud are puterea altor instrumente de calcul cognitive cool.(27)

2.2. Detectarea expresiei faciale – metode tehnologice

Multe tehnici pot fi utilizate în viziunea computerului pentru a urmări în mod automat caracteristica feței. De exemplu, Black și Yacoob [9] utilizează un model parametric local de mișcare a imaginii obținut din analiza fluxului optic (Fig.10). Ei folosesc un model plan pentru mișcarea facială rigidă și un model de curbură affineplus pentru mișcarea ne-rigidă. Essa și Pentland [28] localizează mai întâi nasul, ochii și gura. Apoi, din două cadre normalizate consecutive, o reprezentare a mișcării faciale 2D spațio-temporale a mișcării este utilizată ca model dinamic de față. Cohn și colab. [29] utilizează puncte de caracter care sunt urmărite automat utilizând o metodă de flux optic ierarhic. Vectorii de funcții utilizați pentru recunoaștere sunt creați prin calcularea deplasării punctelor faciale. Deplasarea unui punct este obținută prin scăderea poziției sale normalizate în primul cadru din poziția sa normalizată curentă. Tian și colab. [30] a propus o metodă bazată pe caracteristici, după cum sa menționat, care utilizează caracteristici geometrice și de mișcare facială și detectează trăsăturile faciale tranzitorii. Caracteristicile extrase (gura, ochii, sprâncenele și obrajii, așa cum se arată în Fig. 9)

Sursa http://www.interactivearchitecture.org/detecting-human-facial-expression-by-common-computer-vision-techniques.html

sunt reprezentate cu parametrii geometrici și de mișcare. Brăzdarele sunt de asemenea detectate utilizând un detector de margine Canny (Fig.11) pentru a măsura orientarea și a cuantifica intensitatea acestora. Parametrii feței inferioare și superioare sunt apoi alimentați în rețele neuronale separate, formate pentru a recunoaște UA (unitățile de acțiune ale sistemului de codificare a acțiunii faciale). Din istoria detectării feței prin viziunea calculatorului, am putea învăța procesul de cercetare în metoda tehnologică de detectare a expresiei feței: în primul rând, generați un model de bază. În al doilea rând, pentru a găsi punctele-cheie. În al treilea rând, abordarea mișcării punctelor-cheie. Acești pași vor fi aplicați în următoarele experimente în capitolul 3.

Sursa http://www.interactivearchitecture.org/detecting-human-facial-expression-by-common-computer-vision-techniques.html

3. Tehnologia de detectare a expresiei feței

3.1 Face OSC și Webcam

Deși s-au realizat multe progrese, recunoașterea expresiei feței cu precizie ridicată rămâne dificilă datorită subtilității, complexității și variabilității expresiilor faciale. După cercetarea unor tehnici, cum ar fi senzorul de adâncime care poate genera un model 3d al unei fețe umane și camera web care recunoaște o imagine 2d a fețelor menționate anterior, se preferă detectarea Webcam , deoarece acest tip de echipament este ușor de folosit.

Metodele bazate pe metode geometrice sunt cheia programelor de calculator pentru detectarea punctelor cheie pe fața umană. Inspirat de proiectul de artă Facey Space, cercetarea a continuat cu Face OSC (Fig. 18), un program destul de puternic de urmărire a feței în timp real realizat de Kyle McDonald [31]. Acesta poate fi un instrument pentru prototiparea interacțiunii pe bază de fețe. În general, ajută computerul să absoarbă punctele cheie de pe fața și continuă să urmărească mișcările lor. Apoi, programul poate transmite date despre mișcările x poziției și mișcările poziției y ale punctelor cheie pe care le putem folosi pentru a interpreta emoțiile specifice. Mai întâi, camera web captează locația caracteristică pe fața, în al doilea rând, programul de calculator extrage caracteristica și continuă să urmărească mișcarea acestora, apoi parametrii caracteristici pot fi difuzate în funcție de mișcare [32]. Așa cum se poate vedea în Fig.19, fiecare mișcare va fi arătată în AU (unități de acțiune ale sistemului de codificare a acțiunii facial) comparativ cu fața neutră.

Face OSC poate introduce poziția sprancenelor, ochilor, nasului, lunii și maxilarului în procesarea, care este o platformă software pentru codificare.Testele încep de asemenea să se bazeze pe rețelele neuronale [33]. Odată ce fața este detectată în imagine, regiunea corespunzătoare este extrasă și, de obicei, este normalizată pentru a avea aceeași dimensiune. De exemplu, aceeași distanță între doi ochi. Baza de date utilizată pentru acest experiment este chipul autorului. Așa cum se poate observa în Fig.24, datele pot fi obținute prin schimbarea propriilor expresii faciale ca furia, tristețea și fericirea. Aceste date pot fi interpretate în unele emoții prin calcularea mișcărilor punctelor cheie, cum ar fi scara înălțimii și lățimii gurii sau distanța dintre cele două ochi.

3.RETELELE NEURONALE

3.1 GENERALITATI

Artificial neural networks (ANNs) or connectionist systems are computing systems vaguely inspired by the biological neural networks that constitute animal brains.[1] Such systems "learn" to perform tasks by considering examples, generally without being programmed with any task-specific rules. For example, in image recognition, they might learn to identify images that contain cats by analyzing example images that have been manually labeled as "cat" or "no cat" and using the results to identify cats in other images. They do this without any prior knowledge about cats, e.g., that they have fur, tails, whiskers and cat-like faces. Instead, they automatically generate identifying characteristics from the learning material that they process.

An ANN is based on a collection of connected units or nodes called artificial neurons which loosely model the neurons in a biological brain. Each connection, like the synapses in a biological brain, can transmit a signal from one artificial neuron to another. An artificial neuron that receives a signal can process it and then signal additional artificial neurons connected to it.

In common ANN implementations, the signal at a connection between artificial neurons is a real number, and the output of each artificial neuron is computed by some non-linear function of the sum of its inputs. The connections between artificial neurons are called 'edges'. Artificial neurons and edges typically have a weight that adjusts as learning proceeds. The weight increases or decreases the strength of the signal at a connection. Artificial neurons may have a threshold such that the signal is only sent if the aggregate signal crosses that threshold. Typically, artificial neurons are aggregated into layers. Different layers may perform different kinds of transformations on their inputs. Signals travel from the first layer (the input layer), to the last layer (the output layer), possibly after traversing the layers multiple times.

The original goal of the ANN approach was to solve problems in the same way that a human brain would. However, over time, attention moved to performing specific tasks, leading to deviations from biology. ANNs have been used on a variety of tasks, including computer vision, speech recognition, machine translation, social network filtering, playing board and video games and medical diagnosis.

3.2 Backpropagation

A key trigger for renewed interest in neural networks and learning was Werbos's (1975) backpropagation algorithm that effectively solved the exclusive-or problem and more generally accelerated the training of multi-layer networks. Backpropagation distributed the error term back up through the layers, by modifying the weights at each node.[8]

In the mid-1980s, parallel distributed processing became popular under the name connectionism. Rumelhart and McClelland (1986) described the use of connectionism to simulate neural processes.[14]

Support vector machines and other, much simpler methods such as linear classifiers gradually overtook neural networks in machine learning popularity. However, using neural networks transformed some domains, such as the prediction of protein structures.[15][16]

Earlier challenges in training deep neural networks were successfully addressed with methods such as unsupervised pre-training, while available computing power increased through the use of GPUs and distributed computing. Neural networks were deployed on a large scale, particularly in image and visual recognition problems. This became known as "deep learning".

In 1992, max-pooling was introduced to help with least shift invariance and tolerance to deformation to aid in 3D object recognition.[17][18][19] In 2010, Backpropagation training through max-pooling was accelerated by GPUs and shown to perform better than other pooling variants.[20]

The vanishing gradient problem affects many-layered feedforward networks that used backpropagation and also recurrent neural networks (RNNs).[21][22] As errors propagate from layer to layer, they shrink exponentially with the number of layers, impeding the tuning of neuron weights that is based on those errors, particularly affecting deep networks.

To overcome this problem, Schmidhuber adopted a multi-level hierarchy of networks (1992) pre-trained one level at a time by unsupervised learning and fine-tuned by backpropagation.[23] Behnke (2003) relied only on the sign of the gradient (Rprop)[24] on problems such as image reconstruction and face localization.

Hinton et al. (2006) proposed learning a high-level representation using successive layers of binary or real-valued latent variables with a restricted Boltzmann machine[25] to model each layer. Once sufficiently many layers have been learned, the deep architecture may be used as a generative model by reproducing the data when sampling down the model (an "ancestral pass") from the top level feature activations.[26][27] In 2012, Ng and Dean created a network that learned to recognize higher-level concepts, such as cats, only from watching unlabeled images taken from YouTube videos.[28]

3.2. Preprocesarea datelor

Data pre-processing is an important step in the data mining process. Mostly, data gathering methods are lightly controlled, resulting in outliers, impossible data combinations, and missing values, etc. Analyzing data that has not been carefully separated for such problems can produce confusing results. Thus, the depiction and quality of data is first and foremost before running any analysis [29]. The quality, reliability and availability are some of the factors that may lead to a successful data interpretation by a neural network. If there is inappropriate information present or noisy and unreliable data, then knowledge discovery becomes very difficult during the training process. Data preparation and filtering steps can take considerable amount of processing time [30] but once pre-processing is done the data become more reliable and robust results are achieved.

3.2.PREGATIREA DATELOR PENTRU INVATARE

Dupa etapa preprocesării, datele se împart în trei seturi: setul pentru antrenare, setul pentru validare și setul pentru testare. Trebuie sa mentionez faptul ca setul pentru validare si setul pentru testare trebuie să conțină date diferite față de setul de antrenare și diferite între ele. De obicei, din setul de date proporțiile pentru cele trei seturi sunt de 60%, 20% și 20% din totalul de imagini [46]. În timpul antrenării, pe setul de date pentru validare va fi evaluată rețeaua pentru a vedea cât de bine învață aceasta. După incheierea procesului de antrenare, se poate folosi setul de date de testare pentru a verifica performanța rețelei pe date necunoscute.

Setul de antrenare trebuie să fie sufficient de mare, ca volum, și sufficient de variat din punct de vedere al informațiilor prezentate (din această variație a datelor, rețeaua poate deveni invariantă la iluminare, la rotații și de asemenea la scală),tocmai pentru ca reteaua neuronala sa fie capabila sa functioneze si in situatia aplicarii unor imagini noi,ceea ce ii va conferi posibilitatea de a “generaliza” .Capacitatea de generalizare a rețelei este dependenta și de setul de validare,deoarece imaginile oferite de acesta vor permite obtinerea unui feedback .El ne va ajuta sa tragem concluzii referitoare la cât de bine învață rețeaua neuronala pe parcursul iterațiilor din timpul procesului de antrenare.Astfel va fi asigurata calitatea datelor care ajung în etapa finală a rețelei.

In situatia in care nu ar exista diversitate in setul de date , ar exista riscul învățarii unor trăsături specifice setului de antrenare, ceea ce ar duce la un process de supra-antrenare (overfitting). Am observa intr-o asemenea situatie ca rețeaua are o performanță foarte bună dacă este testată pe o imagine din setul de antrenare,dar aplicata pe imaginile din setul de testare,nu va avea aceeasi relevanta.Putem vorbi despre acelasi fenomen și în cazul în care datele, care sunt prelucrate la fiecare iterație, nu sunt selectate aleator (randomize data) sau nu sunt amestecate (shuffle data).

3.3. Structura unei retele neuronale

Principalele componente ale retelei neuronale sunt: neuronii retelei, parametrii retelei si functiile acesteia.

Neuronii:

Neuronii sunt principala componenta a unei retele neuronale. Acestia pot avea 2 stari, activati sau neactivati. Intr-o retea neuronala, neuronii sunt arajnati pe straturi, fiecare strat avand un rol bine definit.

In aceste exemplu se pot observa cele 3 straturi de baza ale unei retele neuronale:

Stratul de input (S1): este stratul de intrare, strat care va fi pilat peste datele de input.

Stratul de Convolutie(S2): este stratul in care este raspunzator de detectarea caracteristicilor din datele de intrare

Stratul de Decizie(S3): este stratul care va “categorisi” datele de intrare.

Parametrii retelei:

Parametrii retelei sunt valorile care vor fi ajustate in cadrul procesului de invatare.

Weights: reprezinta ponderile de valoare a fiecarei legaturi intre straturile de neuroni (notate in imagie cu w).

Basis: reprezinta valoarea de activare a neuronului, in alte cuvinte, reprezinta valoarea numerica ce reprezinta limita dintre “activare” sau “neactivare”

Functiile aplicate retelei:

Functiile aplicate retelei sunt functii matematice care calculeaza valorile neuronilor

Functia de propagare: este functia care calculeaza valoarea unui neuron in functie de neuronii de pe stratul anterior, folosind “weigth” si “basis” ca parametrii in calcularea acestea.

Funcita de activare: este functia care “decide” daca un neuron este activat sau neactivat in functie de valoarea acestuia.

4.INVATAREA ALGORITMULUI

4.1 ALINIEREA DATELOR

Pentru o invatare cat mai eficienta a algoritmului, inainte de invatarea propriuzisa a algorimului, din setul de date pe care se va face invatarea trebuie eliminata cat mai multa informatie nefolositoare algoritmului. O alta preprocesare necesara este aceea de a aduce datele de intrare la valori cat mai apropiate, fara a elimina caracteristicile acesteia.

a. Primul pas in preprocesarea datelor o constituie transformarea imaginilor de intrare, din color in alb-negur, astfel eliminanduse informatia culorii care este nenecesara algoritmului de invatare.Pentru o imagine color, pentru fiecare pixel avem 24 de biti de informatie, pentru o imagine alb-negur, fiecare pixel are doar 8 biti de informatie, astfel reducand de 3 ori volumul datelor de intrare.

b.Un alt aspect demn de luat in considerare este “expunerea” imaginii si directia din care bate lumina in timpul in care imaginea este facuta. Spre exemplu 2 imagini pot fi facute aceleasi persoane in 2 camere diferite, una mai luminoasa, una mai intunecata. Cu toare ca este vorba de aceeasi persoana, datele din aceste imagini sunt foarte diferite din cauza expunerii la lumina. O alta problema o reprezinta directia din care lumina bate in momentul in care fotografia este facute. Daca lumina bate din partea dreapta, imaginea rezultata va avea nuantele din partea reapta mai deschisa decat cele din partea stanga.

Pentru a intampina aceste 2 probleme, o alata preprocesare este necesara in care se va detecta daca o parte a imaginii este mai deschisa decat cealalta si va compensa expunerea imaginii, aducandu-se la o expunere uniforma.

c. O alta preprocesare este aceea de a detecta conturul fetei si orientarea acestea in plan.Daca conturul fetei este adus in aceeasi pozitie, in toate imaginile de intrare, componentele fetii vor fi aproximativ in aceleasi poziti, optimizand astfel procesul de invatare. In alte cuvinte, gura va fi in aproximativ aceeasi pozitie, premitand algoritmului sa se bazeze pe o caracteristica a gurii, tinand cont de pixelii care se afla in acele pozitii. Redimensionarea imaginilor reprezinta o alta preprocesare importanta. Reducand dimensiunile imaginii pana la o marime minima in care se poate observa caracteristicile fetei din imagine, va reduce considerabil complexitatea datelor de input. Pentru o imagine facuta cu un telefon mobil performant (cu marime de 1920×1080 pixeli) se poate reduce pana la o marime de 28×28 pixeli ceea ce inseamna o micsorare de aproximativ 2000 de ori a volumului de date de intrare.

4.2. DESCRIEREA ARHITECTURII

Deoarece arhitectura unei retele neuronale difera de la caz la caz, dupa implementarea initiala a arhitecturii, aceasta trebuie ajustata pentru a obtine cele mai bune rezultate.

4.2.1. Datele de intrare:

Datele de intrare, reprezentate de imaginile preprocesate, sunt transformate din matrici de pixeli in vectori liniari, valorile pixelilor fiind transformate din nuante de gri din intervalul 0-255 (numere intregi) in intervalul 0-1 (numere reale), formula folosita pentru aceasta transformare fiind : valoarea pixelului / 256.

Imaginea initiala, in nuante de gri:

Vectorul liniar al valorilor:

Vectorul dupa ce datele sunt aduse in intervalul 0-1

Datele astfel obtinute sunt folosite pentru a initializa primul strat din reteaua neuronala.

4.2.2. Structura Straturilor

Primul strat al retelei neuronale este format din 784 (28×28) de neuroni, fiecare neuron fiind initializat cu valoarea corespunzatoare din vectorul de date de intrare, astfel, fiecare neuron de intrare va avea o valoare intre 0 si 1, reprezentand “culoare” pixelului din imagine.

Al doilea strat, stratul de convolutie, va contine initial 10 neuroni. O ajustare a numarului de neuronilor de pe stratul intermediar este necesara, acesta putand fi ajustat dupa testarea algoritmului cu un numar diferit de neruoni pe acest strat, pana vom avea numarul optim de neuroni pe acest strat.

Al treilea strat, va contine 2 neurini, unul pentru fiecare categorie de decizie. Categoria din care imaginea de intrare este face parte, va fi data de neuronul care are cea mai mare valoare.

4.3. Procesul de invatare:

Procesul de invatare consta in mai multi pasi, avand ca scop “gasirea” valorilor parametrilor retelei neuronale (weight si bias) , astfel incat reteaua sa fie capabila sa decida categoria din care imaginea de intrare face parte.

– Initializarea retelei.

Valorile parametrilor sunt initializate cu valori aleatorii, inainte de invatarea propriuzisa a acesteia.

– Pregatirea seturilor de invatare.

Deoarece este vorba de un proces de invatare supravegheat, va trebui sa atasam fiecarei imagini o etichecta (categoria din care aceasta face parte).

Pentru invatarea algoritmului, este necesar un set de date, fiecare fiin conpus din: valorile vectorului liniar al imaginii si categoria din care aceasta face parte.

– Propagarea

Dupa ce seturile de date sunt creeate, reteaua neuronala este aplicata pe fiecare vector de intrare, folosinduse propagarea in reteaua neuronala.

Functia de propagare va calcula “valoarea” fiecarui neuron, dupa care va decide daca acel neuron este activ sau nu.

Functia de propagare nu se va aplica primului strat de neuroni, acesta fiind legat direct la valorile de input.

Activarea neuronului se determina astfel:

Se va face o suma ponderata a neuronilor de pe stratul inferior, cu ponderile corespunzaroare (weigth).

La aceasta suma se adauga valoarea de activare a neuronului (basis).

Dupa calcularea valorii neuronului, este folosita functia sigmoid, pentru a aduce valoarea acestuia in intervalul 0-1, valori mai mari de 0.5 insemnand ca acest neuron are starea “activat”, valori mai mici de 0.5 indica o stare “neactivat”.

– Corectia erorilor

Dupa propagare datelor in reteaua neuronala, este necesara o corectie de eroare.

Pornind de la neuronii de pe ultimul strat, vom dori ca valoare cea mai mare sa fie a neuronului care indica categoria din care datele de intrare fac parte.

Daca categoria indicata de retea nu este cea corecta, vom ajusta parametrii retelei astfel :

– Se calculeaza panta tangentei la grafic a functiei sigmoid aplicate neuronului respectiv.

Pentru aflarea valorii pantei se va folosi derivata aceste functii, indicandu-ne directia de deplasare pentru a obtine rezultatul dorit. Rata de invatare joaca un rol esential in aceasta etapa, aceasta fiind factorul de crestere sau descrestere.

– Parametrii retelei sunt ajustati , folosind valorile obtinute in calului erorii.

– Verificarea retelei

Dupa ce procesul de propagare si corectie a erorilor (foreword propagation si backword propagation) au fost aplicate pentru fiecare dintre datele de intrare, reteaua este supusa unei validari, proces care are ca scop detectarea eficientei retelei neuronale.

– Reluarea invatarii

Duap ce prima runda de invatare a fost finalizata ( s-a facut propagare si corectia erorilor), reteaua trebuie supusa unei noi iteratii de invatare. Procesul de invatare este repetat pana cand ajungem la o valoare cat mai buna a detectiei.

4.4 Optimizare retelei.

Dupa ce avem primele rezultate ale retelei, aceasta trebuie optimizata pentru a obtine rezultate cat mai bune.

Una dintre optimizari este gasirea vaorilor optime pentru numarul de neuroni de pe stratul de convolutie si pentru rata de invatare.

Aceste valori se vor oprimiza folosind umratorul proces:

Se alege o valoare initiala X

Se testeaza acuratetea invatarii algoritmului folosind valoare X.

Se testeaza acuratetea invatarii algorimutlui folosindu-se valori mai mici si mai mari decat X.

Daca una dintre aceste noi valori duce la o acuratete mai buna, procesul este reluat folosind noua valoare.

Optimizarea retelei (numarul de neuroni de convolutie)

10 Neuroni :

Iteratia 1, acuratete 42 %.

Iteratia 2, acuratete 61 %.

Iteratia 3, acuratete 69 %.

Iteratia 4, acuratete 74 %.

Iteratia 5, acuratete 77 %.

Valorile obtinute folosindu-se 10 neuroni (valoarea initiala)

20 Neuroni:

Iteratia 1, acuratete 28 %.

Iteratia 2, acuratete 54 %.

Iteratia 3, acuratete 70 %.

Iteratia 4, acuratete 78 %.

Iteratia 5, acuratete 81 %.

Pentru 20 de neuroni se observa o crestere a acuratetei.

40 Neuroni:

Iteratia 1, acuratete 45 %.

Iteratia 2, acuratete 63 %.

Iteratia 3, acuratete 71 %.

Iteratia 4, acuratete 74 %.

Iteratia 5, acuratete 76 %

Pentru 40 de neuroni se observa o scadere a acuratetii din cauza suprainvatarii algoritmului.

30 Neuroni :

Iteratia 1, acuratete 47 %.

Iteratia 2, acuratete 62 %.

Iteratia 3, acuratete 71 %.

Iteratia 4, acuratete 75 %.

Iteratia 5, acuratete 81 %.

Pentru 30 de neuroni se poate observa aceeasi situatie ca la 40 de neuroni

25 Neuroni:

Iteratia 1, acuratete 40 %.

Iteratia 2, acuratete 65 %.

Iteratia 3, acuratete 77 %.

Iteratia 4, acuratete 81 %.

Iteratia 5, acuratete 84 %.

Pentru 25 de neuroni, acuratetea este mai buna.

23 Neuroni:

Iteratia 1, acuratete 42 %.

Iteratia 2, acuratete 67 %.

Iteratia 3, acuratete 79 %.

Iteratia 4, acuratete 83 %.

Iteratia 5, acuratete 86 %.

Pentru 23 de neuroni, acuratetea este mai buna.

In concluzie, pentur o acuratete cat mai buna un numar de 23 de neuroni este necesar pe stratul de convolutie.

Acelasi proces trebuie aplicat si pentru rata de invatare:

Rata 1.0:

Iteratia 1, acuratete 86 %.

Iteratia 2, acuratete 89 %.

Iteratia 3, acuratete 91 %.

Iteratia 4, acuratete 92 %.

Iteratia 5, acuratete 92 %.

Rezultatele obtinute pentru rata initiala de 1.0

Rata 0.5:

Iteratia 1, acuratete 81 %.

Iteratia 2, acuratete 86 %.

Iteratia 3, acuratete 88 %.

Iteratia 4, acuratete 89 %.

Iteratia 5, acuratete 89 %.

Pentru rata 0.5 acuratetea este mai slaba indicandu-ne faptul ca directia este gresita. Va trebui sa crestem rata de invatare.

Rata 2.0:

Iteratia 1, acuratete 89 %.

Iteratia 2, acuratete 91 %.

Iteratia 3, acuratete 92 %.

Iteratia 4, acuratete 91 %.

Iteratia 5, acuratete 92 %.

Pentru rata 2.0 rezultatele sunt asemanatoare cu cele de la rata 1.0.

Rata 1.5:

Iteratia 1, acuratete 88 %.

Iteratia 2, acuratete 90 %.

Iteratia 3, acuratete 91 %.

Iteratia 4, acuratete 92 %.

Iteratia 5, acuratete 93 %.

Testand valoare intermediara intre cele mai bune rezultate (1.0 si 2.0) observam ca acuratetea este mai buna.

Avand in vedere rezultatele obtinute, vom folosi pentru varianta finala a invararii algoritmului 23 de neuroni pe stratul de convolutie si o rata de invatare de 1.5, astfel obtinandu-se o acuratete de 93 %.

5. REZULTATE SI DISCUTII

6.CONCLUZII SI DEZVOLTARI ULTERIOARE

7.ANEXE

8 .BIBLIOGRAFIE

[1] Darwin, Charles, The expression of the emotions in man and animal, D. Appleton and Company, New York, 1899

[2] James, William, Principles of Psychology, New York: Dover, 1980.

[3] James, William, What is an emotion?, in Mind, 9, 1884, p.188-205.

(4)Ekman,Paul ,”Emotii date pe fata”Ed.Trei

(5). Plutchik, Robert (1980), Emotion: Theory, research, and experience: Vol. 1. Theories of emotion, 1, New York: Academic

6. Du, S., Tao, Y., & Martinez, A. M. (2014). Compound facial expressions of emotion. Proceedings of the National Academy of Sciences, USA, 111, E1454–E1462

7. Du, S., & Martinez, A. M. (2015). Compound facial expressions of emotion: From basic research to clinical applications. Dialogues in Clinical Neuroscience, 17, 443–455.

8. Benitez-Quiroz, C. F., Srinivasan, R., & Martinez, A. M. (2016). EmotioNet: An accurate, real-time algorithm for the automatic annotation of a million facial expressions in the wild. In Proceedings of IEEE International Conference on Computer Vision & Pattern Recognition (CVPR). Piscataway, NJ: IEEE.

9. P. Ekman and W. Friesen. Facial Action Coding System: A Technique for the Measurement of Facial Movement. Consulting Psychologists Press, Palo Alto, 1978.

10.  Minsky, Marvin (2006). The Emotion Machine. Simon & Schuster. ISBN 0-7432-7663-9.

11. Tao, Jianhua; Tieniu Tan (2005). "Affective Computing: A Review". Affective Computing and Intelligent Interaction. LNCS 3784. Springer. pp. 981–995. doi:10.1007/11573548.

12. Balomenos, T.; Raouzaiou, A.; Ioannou, S.; Drosopoulos, A.; Karpouzis, K.; Kollias, S. (2004). "Emotion Analysis in Man-Machine Interaction Systems". In Bengio, Samy; Bourlard, Herve. Machine Learning for Multimodal Interaction. Lecture Notes in Computer Science. 3361. Springer-Verlag. pp. 318–328.

13. Picard R. W. (1998). Towards Agents that Recognize Emotion. In: Acts Proceedings IMAGINA (Monaco), pp. 153-165.

14. A. Samal and P.A. Iyengar, “Automatic Recognition and Analysis of Human Faces and Facial Expressions: A Survey,” Pattern Recognition, vol. 25, no. 1, pp. 65-77, 1992.

15. B. Fasel and J. Luttin, “Automatic Facial Expression Analysis: a survey,” Pattern Recognition, vol. 36, no. 1, pp. 259-275, 2003.

16. M. Pantic, L.J.M. Rothkrantz, “Automatic analysis of facial expressions: the state of the art”, IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 22, no. 12, pp. 1424-1445, Dec. 2000

17. P. Ekman and W.V. Friesen, “Manual for the Facial ActionCoding System,” Consulting Psychologists Press, 1977.

18.MPEG Video and SNHC, “Text of ISO/IEC FDIS 14 496-3: Audio,” in Atlantic City MPEG Mtg., Oct. 1998, Doc. ISO/MPEG N2503.

19. A. Raouzaiou, N. Tsapatsoulis, K. Karpouzis, and S. Kollias, “Parameterized Facial Expression Synthesis Based on MPEG-4“, EURASIP Journal on Applied Signal Processing,vol. 2002, no. 10, pp. 1021-1038, 2002.

20. B.D. Lucas and T. Kanade, “An Iterative Image Registration Technique with an Application to Stereo Vision,” Proc. 7th Int. Joint Conf. on Artificial Intelligence(IJCAI), pp. 674-679, Aug. 1981.

21. H. Schneiderman, T. Kanade, “Probabilistic modeling of local appearance and spatial relationships for object recognition,” Proc. IEEE Conf. Computer Vision and Pattern Recognition, pp 45-51, June 1998

22. P. Viola and M.J. Jones, “Robust real-time object detection,” Int. Journal of Computer Vision, vol. 57, no. 2, pp. 137-154, Dec. 2004.

23. H. Tao and T.S. Huang, “A Piecewise Bezier Volume Deformation Model and Its Applications in Facial Motion Capture," in Advances in Image Processing and Understanding:A Festschrift for Thomas S. Huang, edited by Alan C. Bovik, Chang Wen Chen, and Dmitry B. Goldgof, 2002

24. T. Kanade, J. Cohn, and Y. Tian, “Comprehensive Database for Facial Expression Analysis,” Proc. IEEE Int’l Conf. Face and Gesture Recognition (AFGR ’00), pp. 46-53, 2000.

25. ] http://www.wrongdiagnosis.com/symptoms/loss_of_facial_expression/causes.htm

26. https://realpython.com/blog/python/face-recognition-with-python/

27. Sursa https://nordicapis.com/20-emotion-recognition-apis-that-will-leave-you-impressed-and-concerned/

28. . A. Essa and A. P. Pentland, “Coding, Analysis, Interpretation and
Recognition of Facial Expressions”, IEEE Transactions on Pattern
Analysis and Machine Intelligence, 19(7), pp.757–763

29.  Cohn, A. Zlochower, J. Lien, and T. Kanade, “Feature-Point Tracking by Optical Flow Discriminates Subtle Differences in Facial Expression”, Proc. 3rd IEEE International Conference on Automatic Face and Gesture Recognition, pp. 396–401

30.Y. Tian, T. Kanade, and J. F. Cohn,  Recognizing Action Units for
Facial Expression Analysis , IEEE Transactions on Pattern Analysis
and Machine Intelligence, 23(2),pp.97–115

31.Kyle McDonald’s FaceOSC [online] Available at: https://github.com/kylemcdonald/ofxFaceTracke

32. M. Lyon, S. Akamatsu,M. Kamachi, and J. Gyobe, “Coding facial expressions with Gabor Wavelets”.In Proc. of 3rd IEEE Int.Conf.on Automatic Face and Gesture Recognition, pp.200-205

33. ]Babajide, A., Hofacker, I., Sippl, M. and Stadler, P. (1997). Neutral networks in protein space: a computational study based on knowledge-based potentials of mean force. Folding and Design, 2(5), pp.261-269. Online sources

34. LeCun, Yann. "LeNet-5, convolutional neural networks". Retrieved 16 November2013

35. Zhang, Wei (1988). "Shift-invariant pattern recognition neural network and its optical architecture". Proceedings of annual conference of the Japan Society of Applied Physics.^ Jump up to:a b

36. Zhang, Wei (1990). "Parallel distributed processing model with local space-invariant interconnections and its optical architecture". Applied Optics. 29 (32): 4790–7. Bibcode:1990ApOpt..29.4790Z. doi:10.1364/AO.29.004790. PMID 20577468.

37. Matusugu, Masakazu; Katsuhiko Mori; Yusuke Mitari; Yuji Kaneda (2003). "Subject independent facial expression recognition with robust face detection using a convolutional neural network" (PDF). Neural Networks. 16 (5): 555–559. doi:10.1016/S0893-6080(03)00115-1. Retrieved 17 November 2013.

38. http://cs231n.github.io/convolutional-networks/

39. "Convolutional Neural Networks (LeNet) – DeepLearning 0.1 documentation". DeepLearning 0.1. LISA Lab. Retrieved 31 August 2013.

40. Ciresan, Dan; Ueli Meier; Jonathan Masci; Luca M. Gambardella; Jurgen Schmidhuber (2011). "Flexible, High Performance Convolutional Neural Networks for Image Classification" (PDF). Proceedings of the Twenty-Second international joint conference on Artificial Intelligence-Volume Volume Two. 2: 1237–1242. Retrieved 17 November 2013.

41. Krizhevsky, Alex. "ImageNet Classification with Deep Convolutional Neural Networks"(PDF). Retrieved 17 November 2013.

42. Ciresan, Dan; Meier, Ueli; Schmidhuber, Jürgen (June 2012). "Multi-column deep neural networks for image classification". 2012 IEEE Conference on Computer Vision and Pattern Recognition. New York, NY: Institute of Electrical and Electronics Engineers (IEEE): 3642–3649. arXiv:1202.2745v1 . doi:10.1109/CVPR.2012.6248110. ISBN 978-1-4673-1226-4. OCLC 812295155. Retrieved 2013-12-09.

43.  "The Face Detection Algorithm Set To Revolutionize Image Search". Technology Review. February 16, 2015. Retrieved 27 October 2017.

44. Adam Liberda, Adam Lilja, Bjorn Langborn, Jakob Lindstrom, Image Segmentation and convolutional neural networks as tools for indoor scene understanding, Mai 2016

45. Jonathan Long, Evan Shelhamer, Trevor Darrell, Fully Convolutional Networks for Semantic Segmentation, 2016.

46. James Hays, Introduction to Computer Vision, Deep Learning; Site: Fully Convolutional Networks for Semantic Segmentation; Accesat 2017.

47. Andrew Ng., Machine Learning, Stanford University; Site: https://www.coursera.org/ learn/machine-learning/home/welcome; Accesat 2017.

48. Han, Jun; Morag, Claudio (1995). "The influence of the sigmoid function parameters on the speed of backpropagation learning". In Mira, José; Sandoval, Francisco. From Natural to Artificial Neural Computation. pp. 195–201.

Similar Posts