università di verona facoltà di scienze mm.ff.nn. corso di...
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 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
σ
σσ
OΣ
Σμ,θ
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