università di verona facoltà di scienze mm.ff.nn. corso di...

52
1 Complementi di Interazione Uomo-Macchina Dr. Marco Cristani e-mail: [email protected] ufficio: Stanza 47, Ca’ Vignal 2 Università di Verona Facoltà di Scienze MM.FF.NN. Corso di Laurea Specialistica in Sistemi Intelligenti e Multimediali Lezione 4 – Expression recognition

Upload: vuongduong

Post on 17-Feb-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

1

Complementi di Interazione Uomo-Macchina

Dr. Marco Cristanie-mail: [email protected]: Stanza 47, Ca’ Vignal 2

Università di VeronaFacoltà di Scienze MM.FF.NN.

Corso di Laurea Specialistica in Sistemi Intelligenti e Multimediali

Lezione 4 – Expression recognition

2

Introduzione• Con espressione facciale si intende il cambiamento della

superficie del volto in risposta ad uno stato emotivointerno.

• L’analisi di espressioni facciali è stato un topic di ricercaattivo per gli studiosi dal lavoro di Darwin nel 1872.

• Suwa et al. presentò nel 1978 un sistema diriconoscimento delle espressioni facciali tracciando la traiettoria di 20 punti notevoli di una faccia in una video sequenza.

3

Introduzione (2)• L’analisi di espressioni facciali si riferisce a sistemi

automatici che analizzano e riconoscono in modoautonomo movimenti e configurazioni facciali particolari.

• Nella Computer Vision, spesso l’analisi di espressionifacciali viene confusa con l’analisi di emozioni (emotion analysis).

• L’emotion analysis è un compito molto più difficiledell’analisi di espressioni facciali, in quanto vienerichiesta una conoscenza di (più) alto livello. Per esempio, sebbene le espressioni facciali possanosignificare emozioni, esse non ne sono l’unicamanifestazione, vedasi riconoscimento di gesti.

4

Introduzione (3)• L’analisi di espressioni facciali è applicabile, tra

le altre, a molte aree quali: – comunicazione paralinguistica– psicologia clinica, – psichiatria, – neurologia, – identificazione del dolore, – Human-Robot interaction – ambienti intelligenti,– interfacce multimodali human-computer (HCI).

5

Schema di sistema –acquisizione

• Due tipi di input:– immagini statiche – sequenze

• più informative, mantengono informazione sull’evoluzione dell’espressione

• In genere, si utilizzano livelli di grigio, anche per questioni computazionali– trend verso l’elaborazione a colori

Pre-pro.

Feat.Extr. Class. Post-

ProcRawdata Label

Acq.

6

Schema di sistema –pre-processing

• Operazioni tipiche – Rimozione rumore– Allineamento

• Di solito, occhi e bocca come punti di riferimento

– Segmentazione• Per eliminare lo sfondo

Pre-pro.

Feat.Extr. Class. Post-

ProcRawdata Label

Acq.

7

Schema di sistema

• Rappresentazione– Feature based– Olistica

Pre-processing

Featureextraction Classification Post-

processingRaw data Label

Acquisizione

8

Schema di sistema –feat. Extraction|Classif.

• Si convertono feature in rappresentazioni a più alto livello

• Di vario genere, serve per ridurre la dimensionalità dei dati

• Differenti tipologie di classificazione– Per lo più statistiche

Pre-pro.

Feat.Extr. Class. Post-

ProcRawdata Label

Acq.

Pre-pro.

Feat.Extr. Class. Post-

ProcRawdata Label

Acq.

9

Schema di sistema –classificazione

• Metodi di classificazione– K-nearest neighbor, – multinomial logistic ridge regression (MLR), – hidden Markov models (HMM), – Support Vector Machines

• Criteri di classificazione– frame- based

• usa il frame corrente con o senza un immagine di riferimento(l’immagine neutra)

– sequence-based• usa informazione temporale per riconoscere le espressioni di uno o

più frame

10

Schema di sistema –Classificazione

• Quali sono le classi? Due tipologie

1. Facial Action Units (FAU)– Compongono il Facial Action

Coding System (FACS), Ekman and Friesen, 1978, tutt’oggi utilizzate nelle scienze comportamentali

– Sono 46 classi di derivazione anatomica e permettono la codifica di una qualunque azione facciale (quindi si parla di sequenze come input)

– In pratica si basano sui piùpiccoli visibili movimenti muscolari del volto.

– Ogni FAU è indirizzata con un indice numerico.

Pre-pro.

Feat.Extr. Class. Post-

ProcRawdata Label

Acq.

11

Schema di sistema –Classificazione (2)

– Trenta FAU sono anatomicamente relazionate alla contrazione di specificati muscoli facciali.

– Come riconoscere manualmente i FAU• Osservando i filmati di

facce in slow-motion, con utenti esperti che etichettano segmenti di sequenza.

Pre-pro.

Feat.Extr. Class. Post-

ProcRawdata Label

Acq.

12

Schema di sistema –Classificazione (2)

– Tramite metodi di deconvoluzione, èpossibile stimare il peso di varie AU• Independent Component

Analysis (ICA)

Pre-pro.

Feat.Extr. Class. Post-

ProcRawdata Label

Acq.

13

Schema di sistema –Classificazione (2)

2. Prototypical face expressions - 7 espressioni di base, proposte da Drawin– Il loro riconoscimento è il target principale dei sistemi di

expression recognition– Non rispecchiano l’ordinaria mimica facciale dell’uomo

• Si hanno misture di espressioni• Le espressioni non sono così accentuate

Pre-pro.

Feat.Extr. Class. Post-

ProcRawdata Label

Acq.

Protypical facial expression. 1. disgusto 2. paura 3. gioia 4. sorpresa 5. tristezza 6. rabbia

14

Schema di sistema –Post processing

• Mirato ad aumentare le performance di riconoscimento– Euristiche basate sul dominio dei dati– Fusione di classificatori

Pre-pro.

Feat.Extr. Class. Post-

ProcRawdata Label

Acq.

15

Proprietà di un sistema di riconoscimento delleespressioni ideale

16

Sistemi di riconoscimento – Analisi di Optical Flow

– Motion flow: proiezione 2-D delle velocità dei punti immagine, indotta dal movimento relativo tra la camera e la scena

– Non direttamente osservabile da un’immagine

– Numerosi metodi per il calcolo del motion flow• Horn e Schunk• Kanade• Basato su correlazione

17

Sistemi di riconoscimento – Analisi di Optical Flow

– Motion flow: proiezione 2-D delle velocità dei punti immagine, indotta dal movimento relativo tra la camera e la scena

– Non direttamente osservabile da un’immagine– Optical flow: campo vettoriale nell’immagine che

trasforma un’immagine nella successiva, all’interno di una sequenza

+ =

frame #1 frame #2flow field

18

Motion Field

ZX

Y

or

ir'f

Proiezione prospettica:

• Stimiamo la velocità di un punto che si muove nella scena

Zrrr⋅

=o

oif '

1

( ) ( )( )

( )( )22 ''

ZrZvr

ZrrZvvZrrv

⋅××

=⋅

⋅−⋅==

o

oo

o

ooooii ff

dtd

Motion field

toδv

tiδv Velocità del punto della scena:

Velocità del punto proiettato:dtd o

orv =

dtd i

irv =

19

Optical Flow

• Più esattamente, moto di pattern colorati nell’immagine

• Idealmente Optical flow = Motion field

20

Optical Flow Motion Field≠

SI motion field; NO optical flow NO motion field; SI optical flow

21

Optical Flow – definizione

• Come stimare il movimento del pixel dall’img H all’img I?– Mediante corrispondenze tra pixel

• Dato un pixel in H, controlla in pixel vicini dello stesso colore in I• Assunzioni chiave per un vincolo

– Invarianza cromatica: un punto p in H appare uguale in I• Per img a ldg, ciò si chiama brightness constancy• associato a questo c’è il vincolo di Movimento lieve i punti

non si spostano di molto

( )tyxE ,, ( )tttvytuxE δδδ +++ ,,

22

Vincolo dell’invarianza cromatica

( ) ( )tyxEtttvytuxE ,,,, =+++ δδδ

( ) ( )tyxEmgttEt

yEy

xExtyxE ,,...,, =+

∂∂

+∂∂

+∂∂

+ δδδ

0per limite il impongo e elimino , per divido →tE(x,y,t)t δδ

0=∂∂

+∂∂

+∂∂

tE

yE

dtdy

xE

dtdx

0=++ tyx EvEuE

Taylorcon espando

vincolodi equazionel' ottengo

yx EyEE

xEv

dtdyu

dtdx

=∂∂

=∂∂

== ; ; ;

23

Vincolo dell’invarianza cromatica

– possono essere calcolatityx EEE ,,

k

k+1

i i+1

j

j+1

time

x

)](

)[(41

1,1,,1,1,,,,

1,1,1,1,11,,1,,1

++++

++++++++

+++−

+++=

kjikjikjikji

kjikjikjikjix

EEEE

EEEEx

y

24

Vincolo dell’invarianza cromatica

– Quand’è che sono uguali a 0?

– In prossimità di un edge verticale o orizzontale– In tal caso, perdo un componente di velocità (u e v

rispettivamente)

yx EE ,

– Il componente di flusso nella direzione del gradiente viene determinato correttamente

– Il componente di flusso parallelo al gradiente viene perso

25

Vincolo addizionale – metodo di Horn e Schunk 81

• Decido di formulare un errore di stima dell Optical Flow:

• Aggiungo un vincolo addizionale

• Vincolo di Smoothness :

Usualmente il motion field varia in maniera “smooth” nell’imgPenalizzo quindi variazioni di velocità brusche:

• devo quindi trovare (u,v) per ogni punto immagine che minimizzi:

dydxEvEuEe tyimage

xc2)( ++= ∫∫

dydxvvuue yxyximage

s )()( 2222 +++= ∫∫

cs eee λ+= peso

26

Vincolo addizionale in praticaConsidero il pixel

• Penalizzazione dovuta allo Smoothness Constraint:

•Penalizzazione dovuta all’invarianza cromatica:

• Si cerca in pratica il set di che minimizzi:

∑∑ +=i j

ijij cse )( λ

])()(

)()[(41

2,1,

2,,1

2,1,

2,,1

jijijiji

jijijijiij

vvvv

uuuus

−+−

+−+−=

++

++

2)( tij

ijyij

ijxij

ij EvEuEc ++=

}{&}{ ijij vu

),( ji

27

Discrete Optical Flow Algorithm• Differenzio w.r.t e setto tutto a 0:

• sono le medie di attorno (3*3) al pixel

e0)(2)(2 =+++−=

∂∂ kl

xkltkl

klykl

klxklkl

kl

EEvEuEuuue λ

0)(2)(2 =+++−=∂∂ kl

ykltkl

klykl

klxklkl

kl

EEvEuEvvve λ

klkl uv &

klkl uv & ),( lk),( vu

klxkl

yklx

klt

nkl

kly

nkl

klxn

klnkl E

EEEvEuE

uu])()[(1 22

1

++

++−=+

λ

klykl

yklx

klt

nkl

kly

nkl

klxn

klnkl E

EEEvEuE

vv])()[(1 22

1

++

++−=+

λ

Regola iterativa:

28

Introduzione (2)• In pratica, la velocità in un punto è un compromesso tra

la velocità calcolata puntualmente e nel vicinato

• Problemi: come fare quando la velocità è alta nell’img? abbassa la risoluzione

image Iimage H

u=10 pixels

u=5 pixels

u=2.5 pixels

u=1.25 pixels

29

Example

30

Analisi di Optical Flow - Donato 99

– Metodo semplice, basato su correlazione

– Tre immagini almeno, ai tempi

– Per ogni pixel P(x,y) dell’img centrale It0• considero una finestra 3x3 Wp

centrata su P(x,y)• considero una finestra di ricerca

5x5 Ws centrata su P(x,y) sulle altre 2 img

t0

t0 +1

t0 -1

P(x,y)

Wp

Ws

Ws

31

Sistemi di riconoscimento - Donato 99

• calcolo la correlazione R-1 e R+1 tra Wp e le finestre corrispondenti centrate su ogni pixel di Ws localizzate su It0-1e It0+1, rispettivamente

• sommo i contributi delle due correlazioni su una finestra 5x5, centrata su P(x,y) nell img It0, ossiaR = R-1 + πR+1 , π stimata empiricamente

• Calcolo le componenti di optical flow

32

Sistemi di riconoscimento - Donato 99 • per ogni espressione ho un set di C

immagini per espressione (C dipende dal rate di acquisizione)

• trasformo ogni immagine in raster scan e concateno le immagini, formando un vettore f

• creo un set di training, popolo uno spazio (altamente dimensionale) con vettori di training ft per ogni espressione

• eseguo classificazione via K-N-N di un nuovo vettore fn valutando come distanza

33

Sistemi di riconoscimento – Estensioni su Donato 99

• in alternativa alla concatenazione, i vettori di flow possono essere modellati attraverso Modelli Markoviani a stati nascosti (Hidden Markov Models- HMM)

• in questo modo, si modella in modo più flessibile l’evoluzione tra immagini di flow

34

Essa-Pentland 95• Rappresenta l’evoluzione delle attivazioni dei

muscoli facciali durante l’espressione• Per il riconoscimento, eseguei match con

template costruiti da esempi di training• Per stimare l’attivazione dei muscoli:

– Registra un’immagine con una mesh canonica– Attraverso la mesh, localizza la posizione dei

muscoli del volto– Stima l’attivazione dei muscoli attraverso l’optical

flow– Correggi la stima ottenuta grazie alla mesh

35

Registrazione dell’immagine con una mesh

• Trova gli occhi, il naso e la bocca• fitta il modello 3D ai punti• Usa il modello 3D per estrarre ulteriori feature sulla faccia

36

Localizzazione dei muscoli facciali• Una volta che la faccia è registrata con la mesh, si possono

utilizzare atlanti medici per mappare le attaccature dei muscoli• 36 muscoli modellati; 80 regioni facciali

37

Correzione del flusso• Viene calcolata iterativamente• Usa il flusso per valutare l’attivazione di certi muscoli• Correggi le attivazioni con la mesh

38

Motion energy template• Il motion (optical) field

viene utilizzato sul modello, non sulla faccia direttamente

• Si costruisce un template che rappresenta quanto movimento è avvenuto sul volto – Il metodo crea un template

che modella, con opportune semplificazioni, anche il tempo Motion Energy template

per il sorriso

High

Low

39

Motion energy template• La classificazione avviene semplicemente con

esempi di training più classificazione K-N-N

Smile Surprise Anger Disgust Raise brow

High

Low

40

Eigen actions

• Si basano su δ-immagini, ossia differenze di immagini di una sequenza rispetto ad un’immagine neutra

• Dato un set di immagini rappresentanti una particolare action unit, si esegue PCA, analogamente a quanto accade con le eigenfaces

• Similmente, esistono le fisheractions• Approcci basati su PCA applicata a feature

locali danno adito alle eigenfeatures

Prime 4 componenti per una AU superiore

Prime 4 componenti per una AU inferiore

Eigenfeatures

41

Trend di ricerca recenti

• Le FACS non sono esaustive: è nex quindi trovarenuove feature facciali che codifichino nuoveespressioni da riconoscere

• Alternativamente, si va verso il riconoscimento diFACS combinate, piuttosto che riconoscere pochi (e improbabili) prototipi, almeno per quanto riguarda il2D

• Irrobustimento dei sistemi esistenti• Sistemi real-time• 3D expression recognition

42

3D expression recognition • Con le moderne tecnologie di acquisizione,

disporre di modelli 3D raffiguranti volti non è piùincredibile

• Si apre così il campo del riconosciento 3D di espressioni

• Per ora, esistono metodi locali• Lavoro in fieri: Classificazione di espressioni

mediante Modelli Markoviani a stati nascosti

43

HMM-based recognition, idea • A spiral geodesic

pathway s is built around a set of salient point vi

• the spiral radius r is chosen w.r.t. the mesh size

• On this pathway, local features are extracted, forming a multidimensional array s(vi)

44

HMM-based recognition, idea

• The array becomes the training data for a 1D Gaussian HMM• The number of HMM’s states are decided automatically w.r.t. a Minimum

Description Length-based principle customized for HMM...• ...anyway, almost each HMM has 6 number of states!• Such description is robust to occlusions and changes in the mesh

decimation level

50% vertices offOriginal

HMM Viterbi path

45

Problemi aperti

• Che feature-algoritmo usano gli esseri umani per riconoscere le espressioni?

• E’ corretto/ragionevole analizzare sempre più finemente le espressioni?

• Come fare ad ottenere un ground-truth corretto?

• Esistono metodi per utilizzare al meglio l’informazione temporale?

• Ha senso integrare più modalità per riconoscere espressioni (audio+video)?

46

Risultati di classificazione

SVM, support vector machines; MLR, multinomial logistic ridge regression; HMM, hidden Markov models; BN, Bayesian network; GMM, Gaussian mixture model.

47

Expression Recognition – Ricadute

• Automotive– Produrre tecnologie in grado di

valutare l’emozione durante la guida

– finora: studi retrospettivi2007 C220 CDI (W204) 1982 190E (W201)

non professionistiBosch Proofing Ground Boxberg

(near Heilbronn)

Autobahn

Country road

Handling course

48

Misurazione di emozioni nei veicoliEMOTION

Subjectivecomponent

Expressivecomponent

Behavioralcomponent

Verbal report Driving dynamics

Physiologicalcomponent

Cognitivecomponent

Video/Audio-recording Measurement Verbal report

Facial expressions

Gestures

Changes in voice

ECG, EMG, EDAQuestioning during driving

Driving style and operator control action

Cognitive appraisal of the vehicle and the situation

49

Setup tecnico

driving dynamics

meterEREC glove

video camera

microphone

cell phonehandsfree set EREC

recording unit

50

Dettagli

Physiological measurement system EREC (skin resistance, heart rate, temperature)

Interviews and questionnaires after

driving each car

Video and audio recorder on the

back seat

Drivers were asked to “think aloud”

51

Facial Expression RecognitionInstitut für Informatik

Mercedes-Benz 190EMean expression of happiness: 4,2% Peak value: 15,0%

Mercedes-Benz C-Class 220Mean expression of happiness: 5,5% Peak value: 19,8%

0% = neutral face100% = maximum expression

52

Automotive - conclusioni• Vantaggi dei metodi testati

– Pervasivi– Collezione di dati continua– Collegamenti con studi psicologici

• Facial expression recognition– Difficile fittare il modello della faccia– Difficoltà nella classificazione– Problemi: cambiamento di luce e background, durante

il parlato diventa difficile il riconoscimento (falsipositivi)(ha senso farlo?)