Università di Verona Facoltà di Scienze MM.FF.NN. Corso di...

Post on 12-Mar-2021

3 views 0 download

Transcript of Università di Verona Facoltà di Scienze MM.FF.NN. Corso di...

1

Complementi di Interazione Uomo-Macchina

Dr. Marco Cristanie-mail: marco.cristani@univr.itufficio: Stanza 47, Ca Vignal 2

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

Corso di Laurea Specialistica in Sistemi Intelligenti e Multimediali

Lezione 6 – Gesture Recognition

2

Obiettivi• Creare applicazioni che riconoscano in modo

automatico espressioni di movimentosignificative presentate da un essere umano, coinvolgenti in maniera separata o congiunta:– dita– mani– braccia– volto– testa– corpo

3

Campi applicativi• Perceptual user interfaces• interfacce per sordomuti- riconoscere il linguaggio dei

gesti;• a scopi didattici, per favorire la comunicazione HC dei più

piccoli;• emotion detection• domotica• macchine della verità• navigare-manipolare ambienti virtuali• comunicare in video conferenza;• tele-insegnamento;• detecting di stati attentivi del guidatore

4

Modelli di sviluppo• Hidden Markov model• Particle filtering e Condensation,• Macchine a stati finiti• Optical flow• Skin detector• Modelli connettivisti

5

Dalla parte dell’utente…• I gesti servono

1. a comunicare2. a interagire con l’ambiente

• I gesti rappresentano un sottospazio dei possibilimovimenti umani

• Esistono mapping molti-a-uno a partire dai gesti aiconcetti, e viceversa

• Per questo, i gesti sono tipicamente– ambigui– non completamente specificati

6

Dall’utente alla macchina…• Gli strumenti hardware per la comunicazione NON

sono i device tradizionali (tastiera,mouse)• Al loro posto, sensori di vario genere• I gesti sono

– statici pose recognition– dinamici

• comprensivi di 3 fasi ordinate1. pre-stroke (preparazione)2. stroke (fase prettamente dinamica)3. post stroke (retrazione)

• Alcuni gesti sono sia statici che dinamici (vedasi il linguaggio dei gesti, in cui conta anche l’espressione del volto-statica)

1 2 3

7

…arrivando alla macchina.• I gesti sono dei segnali continui nel

tempo– è necessaria una segmentazione

temporale per suddividere un gesto neisuoi “mattoni semantici”

– spesso, nelle interfacce meno potenti, ènecessario codificare esplicitamente l’inizioed il termine di un gesto

8

Il gesto per la macchina• Il significato di un gesto dipende da:

– informazione spaziale: dove occorre– informazione di cammino:

• la traiettoria disegnata, • la velocità/accelerazione impressa

– informazione simbolica: il segno composto– informazione contestuale

9

Il gesto per la macchina• L’acquisizione di un gesto dipende dal

sensore utilizzato• Ogni sensore è caratterizzato da

– accuratezza– risoluzione– latenza– range di moto– comfort– costo

10

Il gesto per la macchina (2)• Quanto più un sensore è invisibile, tanto

migliore sarà l’interazione• CV-based HCI: mira ad eliminare

qualsiasi “wearable” sensor, sostituendolicon dei sensori in grado di captare a distanza i gesti

– telecamere mono/stereo

11

CV-based HCI per il riconoscimento di gesti

• Le tecniche esistenti si dividono per:1. Numero di camere usate2. La loro velocità e latenza3. L’ambiente di acquisizione4. il grado di assenza di sensori5. Le feature video utilizzate

(edge,regioni,silhouette,istogrammi)6. La rappresentazione del soggetto acquisito (2D/3D)7. Dinamicità o staticità dei gesti acquisiti

12

Everywhere Display (IBM)

Figure 1: Interactive store application

13

Example Gestures

Pictographic gestures

Kinetographic gestures

rectangular shape triangle shape

move-up down move-right move-left move-farcome-closer

round shape

delete or cancel

rotate

Deictics

fixation

Metaphoric gestures

14

Template temporali• Rappresentazioni del movimento

– sono immagini 2D che rappresentano moto (nel3D)

– dipendenti dalla posa del soggetto– i template possono essere pensati come punti in

uno spazio ad alta dimensionalità• Si può eseguire clustering (kmeans), classificazione (k-n-

n), utilizzando un dataset di training opportunamentecostruito

– Piu’ veloci da calcolarsi dell’optical flow (template ricorsivi), meno precisi

• Assunzioni– La scena è statica, oppure facilmente sottraibile– I movimenti delle telecamera possono essere

rimossi

15

Template temporali (2)

• Due tipologie di template temporali, descriventi– dove – è occorso moto nella scena

• MEI – Motion Energy Image

– come – il moto si è sviluppato nella scena• MHI – Motion History Image

16

Motion Energy Imagedove il movimento è occorso…

17

Motion Energy Image (2)

• Nota che:– Se τ è molto grande, tutte le differenze si

accumulano, ed il template diventa menoinformativo

– τ deve essere scelto sapendo a priori la duratamedia delle azioni.

18

Motion Energy Image (3)

• Lievi cambiamenti nell’orientazione del soggettomutano anche il rispettivo template.

• Per una data azione è quindi consigliabile costruireun set di template di training acquisiti sotto varieorientazioni (un’acquisizione ogni 30°)

19

Motion History Image

• L’intensità di un pixel rappresenta la storiatemporale in quel pixel

• I movimenti più recenti sono più chiari

20

Motion History Image (2)

• Si utilizza ancora una finestra temporale digrandezza τ - movimenti più vecchi di τvengono ignorati. • Si utilizza un operatore di decadimentolineare:

Nota che MEI può essere calcolata a partire da MHI valutando tutti i pixel il cui valore è >0

21

Template temporali - Training

• Un’istanza di azione =• Per creare un classificatore di una azione si

raccolgono più istanze di training di un unicaazione, e si determina

[ ] 77, +ℜ∈MHIMEI

{ }

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

=

27,

22,

21,

000000000000

con

MHI

MEI

MEI

σ

σσ

Σμ,θ

22

Template temporali - Training

• Dopodichè:– Classificazione Maximum Likelihood

• In alternativa:– KNN sui punti con etichette– PCA sulla singola classe + KNN

[ ] 77, +ℜ∈MHIMEI

23

Momenti

∑∑

∫∫=

=

x y

qpqp

q

D

pqp

yxyxiM

dxdyyxyxiM

),(

),(

,

,

=0,0M area dell’oggetto (nelcaso di immagine binaria)

( ) =0,11,0 , MM centroide

• Descrivono il contenuto (meglio, la distribuzione) di un’immagine rispetto agli assicartesiani

dominio continuo

dominio discreto

24

Momenti• I momenti non sono invarianti alle

trasformazioni geometriche– Invarianza alla traslazione – momenti centrali

dominio continuo

dominio discreto

0,0

1,0

0,0

0,1

,

,

,

)())(,(

)())(,(~

MM

yMM

x

yyxxyxiM

dxdyyyxxyxiM

x y

qpcqp

qp

D

cqp

==

−−=

−−=

∑∑

∫∫

coordinate del centroide

25

Momenti• I momenti centrali fino al terzo ordine sono:

• Si può dimostrare che

26

Momenti– Il significato dei momenti non è intuitivo, ma

combinando opportunamente i momenti si riesconoad ottenere quantità intuitive. Per esempio:

Matrice di covarianzaassociata all’immagine

27

Riconoscimento di gesti della mano

• Permette di realizzare interfacce– Per la manipolazione tridimensionale di modelli CAD– Per l’entertainment

• Analizziamo una tecnica per l’analisi di gesti statici

28

Istogrammi d’orientazione– Una volta riconosciuta una forma, risulta

sicuramente utile capirne l’orientazione• Hand recognition

– Istogrammi d’orientazione• Robusti a

– (leggere) variazioni di scala– traslazione– luminosità

• In pratica, si valutano le orientazioni degli edge locali, in locazioni puntuali, tramite

• Le orientazioni vengono quantizzate in N valori, in un vettore Φ

Freeman, W.T., Beardsley, P.A., Kage, H., Tanaka, K., Kyuman, C. and Weissman, C., "Computer Vision for Computer Interaction", ACM SIGGRAPH, August 1999 (TR1999-036)

29

Istogrammi d’orientazione– L’i-esimo elemento di Φ mostra gli elementi di

rotazione θ(x,y) con angolo ∈[ , ]

– La costruzione di Φ è

– Di solito, N = 36– Distanza Euclidea + KNN per la classificazione

30

Istogrammi d’orientazione - esempio

31

Istogrammi d’orientazione -problemi

Stesso gesto – differente orientazione

Differente gesto – stessa orientazione

Predominio dell’oggetto di cui si misural’orientazione

Rispostasimile

Rispostadifferente

Bassa sensibilità

32

Sulla qualità dei classificatori– Come scegliere un classificatore tra una gamma di

disponibili?– Nel caso di

• un’unica soglia T da settare • un problema di classificazione binaria, come scegliere la

soglia “migliore”?

– Soluzione: la curva ROC (Receiver Operator Charachteristics)

– Nel momento in cui le soglie sono più di una, si possono valutare configurazioni di soglie

• dispendioso

– Si basa sul concetto di falsi(veri) positivi e negativi

33

Piano ROC– In letteratura

• sensibilità = veri positivi stimati/tutti i positivi• specificità = veri negativi stimati/tutti i negativi

( )T

( )T

( )T

( )T

( )T

( )T

( )T

( )T

( )T ( )T

T

34

Curva ROC (2)

( )T ( )T

35

Scegli il classificatore

Classif

icatore

casu

ale

• Concavità sempre rivolta verso il basso

36

Scegli la soglia

• Il valore di soglia migliore è quello

– che sta sulla curva ROC

– più in alto a sinistra

37

Skin detection• Ossia creare un classificatore in grado di individuare

nell’immagine la pelle umana• Il colore è un ottimo indizio usato nella classificazione di

gesti (principalmente della mano), detection di volti– Statica: semplice alternativa o complementare all’analisi di forme– Dinamica: contribuisce a scremare falsi positivi della sottrazione

del background

• Esistono ricerche esaurienti sulla statistica del colore della pelle

Michael J Jones & James R Rehg, “Statistical Color Models with Application to Skin Detection”

38

Metodologie di skin detection• Metodi pixel-based

– Classifica ogni pixel come pelle/ non pelle indipendentemente dai vicini.

– I metodi basati sul colore ricadono in questa categoria

• Metodi region-based– Si cerca di studiare la statistica di forma,tessitura che

permette di individuare la pelle– Spesso vengono usati in associazione ai pixel-based

39

Metodi pixel-based• Veloci• Robusti a variazioni geomtriche delle porzioni di pelle• Robusti alle occlusioni parziali • Robusti ai cambi di risoluzione• Eliminano la necessità di effettuare pesanti operazioni

di tracking • Studi statistici mostrano che l’uomo hanno delle

colorazioni tipiche, è facilmente riconoscibili dall’uomo

40

Condizioni da valutare– Possono essere separati i colori della pelle da quelli della non-

pelle?– L’illuminazione cambia nel tempo– I toni della pelle cambiano fortemente da individuo a individuo– Dispositivi di acquisizione differenti mostrano lo stesso individuo

con colorazioni differenti – Il movimento della telecamera-dell’oggetto posso causare

blurring sporcatura dei colori.– Le ombre influiscono sul colore– Che spazio colore utilizzare?– Come modellare il colore della pelle?

41

Scelta dello spazio colore– Sono stati valutati vari spazi colore

• RGB• RGB normalizzato• HIS, HSV, HSL• TSL• YcrCb• colori percettivamente uniformi

– CIELAB, CIELUV• altri

– YES, YUV, YIQ, CIE-xyzed i risultati ottenuti non sono differenti in maniera rilevante([3] Albiol et al, “optimum color spaces for skin detection”)

– Per ogni spazio colore è possibile costruire un classificatore specializzato ([2]D.Zarit, “Comparison of five color models in skin pixel classification”)

• Meglio, la separabilità tra lo spazio dei colori della pelle e quello dei colori non-pelle è indipendente dallo spazio colore utilizzato

42

Metodo di modellazione dello spazio colore

• Non parametrico – Stima la distribuzione del colore della pelle da un set di dati di training senza estrarre un modello esplicito (niente parametri)

– Modello ad istogramma– Classificatore di Bayes

• Parametrico – Studia dei parametri da un dataset di training

– Modello gaussiano

43

Analisi dello spazio colore non parametrica

• Rehg e Jones hanno usato 18,696 immagini per creare un modello statistico del colore

• La probabilità di un colore è

• La densità dei colori èaddensata attorno la linea del grigio e piccata maggiormente sul bianco che sul nero

44

Distribuzioni marginali - considerazioni•Esiste una deviazione nella distribuzione verso il vertice rosso del cubo•Il 77% dei possibili colori RGB a 24 bit non sono mai stati incontrati (cioè l’istogramma è sparso).•Il 52 % di pagine web ha immagini (non pornografiche) di persone

Deviazione

45

Modello della pelle•Usando solo i pixel (80.3 milioni!) etichettati come pelle, si è creato un modello della pelle.

Deviazione!

46

Modello della non-pelle

La deviazione rispetto al modello globale è diminuita

47

Classificazione • Si utilizza un semplice classificatore bayesiano

dove

• Il classificatore funziona via soglia, ossia

• La soglia è stata decisa dopo l’analisi della curva ROC.• Il numero di bin dell’istogramma è 32.

48

Risultati • Accuratezza: 88% (con

soglia selezionata laddove i falsi positivi sono uguali ai falsi negativi sulla curva ROC)

• Gli errori si riscontrano in zone altamente sature o affette da ombra

• Il classificatore in questo caso fallisce perchè colori saturi o in ombra sono sovrapposti ai colori che appartengono al modello del colore – non pelle, quindi non sono discriminanti

49

Analisi ROC per il numero di bin dell’istogramma

50

Analisi ROC per il numero di bin dell’istogramma

• Classificatori basati su istogrammi funzionano meglio di rappresentazioni parametriche (gaussiane), perché in tal caso le sovrapposizioni tra spazi colore sono maggiori