Thesis work presentation

28
UNIVERSIT ´ A DEGLI STUDI DI MILANO BICOCCA FACOLT ´ A DI SCIENZE MATEMATICHE FISICHE E NATURALI Dipartimento di Informatica Sistemistica e Comunicazione Corso di Laurea Magistrale in Informatica DEVELOPMENT OF A HUMAN-COMPUTER INTERFACE BASED ON HAND GESTURES Relatore: Raimondo Schettini Correlatore: Gianluigi Ciocca Tesi di laurea di: Luca Piccinelli

Transcript of Thesis work presentation

Page 1: Thesis work presentation

UNIVERSITA DEGLI STUDI DI MILANO BICOCCAFACOLTA DI SCIENZE MATEMATICHE FISICHE E NATURALI

Dipartimento di Informatica Sistemistica e ComunicazioneCorso di Laurea Magistrale in Informatica

DEVELOPMENT OF A HUMAN-COMPUTER INTERFACEBASED ON HAND GESTURES

Relatore: Raimondo SchettiniCorrelatore: Gianluigi Ciocca

Tesi di laurea di: Luca Piccinelli

Page 2: Thesis work presentation

Introduzione

IntroduzioneLa tesi si inserisce nell’ambito di ricerca HCI.Problema generale: riconoscimento di data pattern. Nellospecifico:

localizzazione e tracciamentodelle mani;riconoscimento di traiettorieeseguite dall’utente,utilizzando le mani.riconoscimento diconfigurazioni assunte dallamano;

Page 3: Thesis work presentation

Introduzione

Introduzione: overview

Page 4: Thesis work presentation

Tracciamento delle mani

Tracciamento delle mani

Sottoproblemi:

localizzare (dimensione spaziale);

tracciare (dimensione temporale).

Soluzioni proposte:

localizzazione

immagine residua;rilevamento della pelle;

tracciamento

tracciamento di blob.

Page 5: Thesis work presentation

Tracciamento delle mani

Immagine residua

Tracciamento delle mani: immagine residua

Osservazione: Le mani sono oggetti non rigidi la cui apparenzavaria rapidamente.

Individuazione delle regioni di un frame che subiscono maggiorivariazioni rispetto al frame precedente.

Algoritmo Block flow estimation tra frame successivi.

Valore residuo dato dal modulo della differenza dei valori meditra due blocchi corrispondenti

Page 6: Thesis work presentation

Tracciamento delle mani

rilevamento della pelle

Tracciamento delle mani: rilevamento della pelle

Problema di decisione: classificazione di un pixel come“pelle” o “non pelle”;stima della distribuzione del colore della pelle;assegnazione di un valore di probabilita al colore di ogni pixel esogliatura utilizzando una combinazione lineare di dueclassificatori bayesiani:

P(skin|c) = αPoff (skin|c) + (1− α)Pn(skin|c)

- Poff (skin|c) : training off-line;- Pn(skin|c) : training sulla distribuzione di skin rilevata nei

precedenti n frame;- α : parametro di adattamento.

Page 7: Thesis work presentation

Tracciamento delle mani

rilevamento della pelle

Tracciamento delle mani: procedimentoLe immagini sono mascherate con l’immagine residua: sul risultatodel mascheramento e applicato l’algoritmo di skin detection.

Applicazione di filtro di blurring e sogliatura.

Page 8: Thesis work presentation

Tracciamento delle mani

Blobs tracking

Tracciamento delle mani: algoritmo di tracciamento diblobs

Blob approssimati ad ellissi;ogni ellisse corrisponde ad un’ipotesi di localizzazione di unoggetto;gestione ipotesi:

generazione;aggiornamento;rimozione.

Page 9: Thesis work presentation

Tracciamento delle mani

Blobs tracking

Tracciamento delle mani: algoritmo di tracciamento diblobs

Blob approssimati ad ellissi;ogni ellisse corrisponde ad un’ipotesi di localizzazione di unoggetto;gestione ipotesi:

generazione;

aggiornamento;rimozione.

Page 10: Thesis work presentation

Tracciamento delle mani

Blobs tracking

Tracciamento delle mani: algoritmo di tracciamento diblobs

Blob approssimati ad ellissi;ogni ellisse corrisponde ad un’ipotesi di localizzazione di unoggetto;gestione ipotesi:

generazione;

aggiornamento;rimozione.

Page 11: Thesis work presentation

Tracciamento delle mani

Blobs tracking

Tracciamento delle mani: algoritmo di tracciamento diblobs

Blob approssimati ad ellissi;ogni ellisse corrisponde ad un’ipotesi di localizzazione di unoggetto;gestione ipotesi:

generazione;aggiornamento;

rimozione.

Page 12: Thesis work presentation

Tracciamento delle mani

Blobs tracking

Tracciamento delle mani: algoritmo di tracciamento diblobs

Blob approssimati ad ellissi;ogni ellisse corrisponde ad un’ipotesi di localizzazione di unoggetto;gestione ipotesi:

generazione;aggiornamento;

rimozione.

Page 13: Thesis work presentation

Tracciamento delle mani

Blobs tracking

Tracciamento delle mani: algoritmo di tracciamento diblobs

Blob approssimati ad ellissi;ogni ellisse corrisponde ad un’ipotesi di localizzazione di unoggetto;gestione ipotesi:

generazione;aggiornamento;rimozione.

Page 14: Thesis work presentation

Tracciamento delle mani

Blobs tracking

Tracciamento delle mani: algoritmo di tracciamento diblobs

Blob approssimati ad ellissi;ogni ellisse corrisponde ad un’ipotesi di localizzazione di unoggetto;gestione ipotesi:

generazione;aggiornamento;rimozione.

Page 15: Thesis work presentation

Riconoscimento delle traiettorie

Riconoscimento delle traiettorie

Sottoproblemi:

confronto tra sequenze di dati;

segmentazione nel tempo di una sequenza di dati;

riconoscimento dell’effettiva presenza di un pattern noto.

Soluzioni proposte:

modifiche all’ algoritmo Dynamic Time Warping (DTW);

definizione di un insieme di regole per lo spotting.

Page 16: Thesis work presentation

Riconoscimento delle traiettorie

confronto tra sequenze

Riconoscimento delle traiettorie: Dynamic Time Warpingdate M e Q di lunghezza m e n, rispettivamente,w = (i , j) accoppiamento tra stato Mi e Qj ,percorso di allineamento W = {w1, . . . ,wT}:

WMQ = {(1, 1), (2, 2), (3, 3), (4, 3), (5, 4)}:

Page 17: Thesis work presentation

Riconoscimento delle traiettorie

confronto tra sequenze

Riconoscimento delle traiettorie: Continous Dynamic TimeWarping (CDTW)

Boundary condition preservata dalla prima riga. La B.C. limita lepossibilita di allineamento a sequenze di cui e nota a priori lasegmentazione nel tempo.

Alcuni percorsi di allinementosono scartati, utilizzando unatecnica di pruning, sulla basedel costo di matching deisingoli elementi del percorsoe del costo di allineanento trasottosequenze

Page 18: Thesis work presentation

Riconoscimento delle traiettorie

confronto tra sequenze

Riconoscimento delle traiettorie: Continous Dynamic TimeWarping (CDTW)

Boundary condition preservata dalla prima riga. La B.C. limita lepossibilita di allineamento a sequenze di cui e nota a priori lasegmentazione nel tempo.

Alcuni percorsi di allinementosono scartati, utilizzando unatecnica di pruning, sulla basedel costo di matching deisingoli elementi del percorsoe del costo di allineanento trasottosequenze

Page 19: Thesis work presentation

Riconoscimento delle traiettorie

confronto tra sequenze

Riconoscimento delle traiettorie: Continous Dynamic TimeWarping (CDTW)

Boundary condition preservata dalla prima riga. La B.C. limita lepossibilita di allineamento a sequenze di cui e nota a priori lasegmentazione nel tempo.

Alcuni percorsi di allinementosono scartati, utilizzando unatecnica di pruning, sulla basedel costo di matching deisingoli elementi del percorsoe del costo di allineanento trasottosequenze

Page 20: Thesis work presentation

Riconoscimento delle traiettorie

confronto tra sequenze

Riconoscimento delle traiettorie: spotting

L’algoritmo CDTW fornisce il miglior allineamento e ilcorrispondente costo tra la serie di dati osservati e tutti imodelli memorizzati;

nulla viene calcolato riguardo l’effettiva osservazione di unodei modelli;

si definiscono una serie di regole per verificare l’occorrenza diuna traiettoria nota sulla base di:

costo di matching;intersezione temporale tra candidati allo spotting;intersezione temporale tra candidati allo spotting e tra nuoveipotesi di allineamento con altri modelli.

Page 21: Thesis work presentation

Riconoscimento delle traiettorie

confronto tra sequenze

Riconoscimento delle traiettorie: testDatasets di test: 150 video Dataset 1, 120 video Dataset 2

gesture label classification percentage0 100%1 93.34%2 93.34%3 93.34%4 100%5 100%6 100%7 100%8 100%9 100%

Total classification percentage 98%

gesture label classification percentage0 100%1 93.34%2 100%3 100%4 86.67%5 86.67%6 100%7 100%

Total classification percentage 95.84%

Page 22: Thesis work presentation

Riconoscimento della configurazione della mano

Riconoscimento della configurazione della mano

Problema: riconoscere la configurazione assunta da una mano. Perconfigurazione si intende il numero di dita mostrate e l’angolazionedella mano.Soluzione proposta:

mappatura delle punte delle dita;

costruzione di un istrogramma caratteristico.

Page 23: Thesis work presentation

Riconoscimento della configurazione della mano

mappatura delle punte delle dita

Riconoscimento della configurazione della mano:mappatura delle punte delle dita

Gradiente sulle punte delle dita:

tracciamento dei vettori, con magnitudo scelto;pixel usati come contatori: numero di vettori intersecanti ognipixel.

Page 24: Thesis work presentation

Riconoscimento della configurazione della mano

mappatura delle punte delle dita

Riconoscimento della configurazione della mano:mappatura delle punte delle dita

Pesatura:

Θ = angolo coperto dai vettoriintersecanti p

w′p = exp

(−(Θ− 180)2

2σ2

)

w′′p =

1∑θ ‖p − pθ‖

pθ = primo punto di contornoincontrato a partire da ppercorrendo la direzione θ

Page 25: Thesis work presentation

Riconoscimento della configurazione della mano

mappatura delle punte delle dita

Riconoscimento della configurazione della mano:mappatura delle punte delle dita

Pesatura:

Θ = angolo coperto dai vettoriintersecanti p

w′p = exp

(−(Θ− 180)2

2σ2

)

w′′p =

1∑θ ‖p − pθ‖

pθ = primo punto di contornoincontrato a partire da ppercorrendo la direzione θ

Page 26: Thesis work presentation

Riconoscimento della configurazione della mano

mappatura delle punte delle dita

Riconoscimento della configurazione della mano:mappatura delle punte delle dita

Pesatura:

Θ = angolo coperto dai vettoriintersecanti p

w′p = exp

(−(Θ− 180)2

2σ2

)

w′′p =

1∑θ ‖p − pθ‖

pθ = primo punto di contornoincontrato a partire da ppercorrendo la direzione θ

Page 27: Thesis work presentation

Riconoscimento della configurazione della mano

test

Riconoscimento della configurazione della mano: testQuattro configurazioni di test:

Classificati 1101 su 1560 70.58%

Page 28: Thesis work presentation

Conclusioni e sviluppi futuri

Conclusioni e sviluppi futuri

Conclusioni:

Si sono implementati algoritmiper:

tracciamento delle mani;riconoscimentodell’esecuzione ditraiettorie note;

Si sono proposti eimplementati metodi per:

riconoscimento dellaconfigurazione delle mani;

Sviluppi futuri:

background substraction persostituire l’immagine residua;

miglioramento della stima delgradiente, per una piu robustarilevazione delle dita;

miglioramentodell’apprendimento dei modelli;

test su piu utenti.