Università degli studi di Modena e Reggio Emilia Dipartimento di Ingegneria "Enzo Ferrari" Corso di Laurea Magistrale in Ingegneria Informatica Classificazione e Segmentazione di Gesture per la Human Computer Interaction Candidato: Guido Borghi Relatore: Prof.ssa Rita Cucchiara Correlatore: Ing. Roberto Vezzani
Human Computer Interaction E la disciplina che studia i modelli e le tecniche di interazione uomo computer. Command Line Interface ( 70) Graphical User Interface ( 80) - Veloci - Mnemoniche - User friendly - Nuovi dispositivi - Metafore Natural User Interface (oggi) - Intuitive - Invisibili - Nuove tecnologie a costi accessibili - Gaze Tracking - Action Recognition - Speech Recognition - 1/15
Obiettivo Realizzazione di un sistema in grado di segmentare e classificare automaticamente e in tempo reale i gesti di un utente. Contributi: Superamento approccio statico sliding window No ipotesi forti a priori Individuazione inizio e fine di un azione Robustezza: no interazioni non volute dall utente 2/15
Architettura del Sistema Acquisizione dati ed estrazione dei feature vector Addestramento HMM Segmentazione 3/15
Acquisizione dei dati Kinect Dati Skeleton Azienda Microsoft Frame RGB (640x480) Random Forest Insieme di sensori Xbox 360 e Windows Depth Map (320x240) Framerate: 9-30 fps Libreria Kinect SDK 20 giunti (joint) Coordinate 3D (x,y,z) Punti inferiti 4/15
Calcolo feature e addestramento HMM Distanza euclidea Variazione distanza euclidea Descrittore della traiettoria del giunto (sequenziale) 5/15
Hidden Markov Model Un HMM è una catena di Markov con gli stati nascosti, in cui solo le loro emissioni risultano essere osservabili. Permette la descrizione dell evoluzione di un sistema dinamico tempo discreto con assenza di memoria. È definito dalla quintupla (S, V, π, A, B), ovvero: Stati nascosti: S = S 1, S 2,, S N Alfabeto: V = v 1, v 2,, v M Probabilità iniziale: π = P(q 1 = S i ), 1 i N Matrice transizioni A, a ij = P(q t = S j q t 1 = S i ) Matrice emissioni B, b j k = P(v k at t q t = S i ) 6/15
Hidden Markov Model Problemi canonici: Algoritmi proposti: l 1. Problema di valutazione Forward/Backward (CLASSIFICAZIONE) 2. Problema di decodifica Viterbi (PERCORSO OTTIMALE) 3. Problema dell addestramento Baum-Welch... (TRAINING) HMM utilizzati : 8 stati, left-right, GMM per emissioni 3 gaussiane multivariate per stato, per cui: 7/15
Segmentazione Acquisizione di 1 frame Ciclo continuo Creazione di un mini-buffer (10 frame) Controlli: Skeleton presente? Giunti individuati correttamente? Calcolo delle feature Distanza euclidea Feature incentrate sugli arti superiori 8/15
Segmentazione Rilevamento inizio gesture Analisi distribuzione di probabilità degli stati Meccanismo di voto degli HMM Pre-classificazione Algoritmo di forward Ranking degli HMM in base alla likelihood ottenuta 9/15
Robustezza Rilevamento fine gesture Analisi distribuzione probabilità finale degli stati Classificazione Algoritmo di forward Robustezza: 1. Almeno 2 3 2. Nei 2 3 degli stati visitati, penultimo e ultimo stato visitati 3. R = HMM #1 HMM #2, R > Th Label gesture in output 10/15
Interfaccia Grafica 11/15
Dataset MSR Action3D Dataset Kinteract Gesture Dataset Dataset Microsoft 20 classi, 3 soggetti 567 azioni totali Orientato al gaming Creato in Imagelab 10 classi, 10 soggetti 168 azioni totali Orientato alla HCI 1. Zoom In 2. Zoom Out 3. Scroll Up 4. Scroll Down 5. Slide Left 6. Slide Right 7. Rotate 8. Back 9. Ok 10. Exit 12/15
Risultati Classificazione singola azione Segmentazione Andamento della likelihood durante la fase di segmentazione 13/15
Risultati Classificazione singole tipologie con segmentazione Robustezza segmentazione 14/15
Video 15/15
Università degli studi di Modena e Reggio Emilia Dipartimento di Ingegneria "Enzo Ferrari" Corso di Laurea Magistrale in Ingegneria Informatica Fine. Candidato: Guido Borghi Relatore: Prof.ssa Rita Cucchiara Correlatore: Ing. Roberto Vezzani