Sommario tesi

3
Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) Tesi di Laurea Magistrale Progettazione e sviluppo di un Framework per l'integrazione di dispositivi di interazione naturale con sistemi di proiezione olografica Relatori: Andrea Sanna, Fabrizio Lamberti Candidato: Luigi Maggio Marzo 2014 Negli ultimi anni, in virtù dell’enorme impulso che ha subito la ricerca nel campo della computer grafica, va crescendo la tendenza ad interfacciare l’utente ad un sistema di elaborazione immergendolo in ambienti virtuali interattivi, basati su un paradigma di interazione naturale. Un’interfaccia naturale (NUI - Natural User Interface) per definizione risulta completamente invisibile ed estremamente intuitiva, in quanto priva di dispositivi di controllo artificiali il cui funzionamento deve essere appreso. In particolare, la recente diffusione di dispositivi di tracciamento ad alta precisione, ha invogliato lo sviluppo di interfacce basate su un’interazione di tipo gestuale, che, associata all’utilizzo di sistemi di proiezione di immagini olografiche, rivoluziona completamente l’approccio di esposizione dei contenuti da parte di una macchina ai suoi utenti. Un dispositivo di tracciamento è un componente hardware capace di rilevare la presenza di oggetti posti all’interno del suo volume di vista, fornendo in output informazioni che ne descrivono la morfologia e l’evoluzione temporale del moto. Equipaggiato di apposite librerie software, è inoltre capace di effettuare, parallelamente al tracciamento del moto, un’attività di ricerca e riconoscimento di pattern motori considerati di particolare interesse. Nel contesto descritto si colloca il presente lavoro di tesi, il cui obiettivo è la progettazione e lo sviluppo di un Framework che permetta l’integrazione delle funzionalità offerte da un dispositivo di tracciamento all’interno di ambienti virtuali di tipo olografico, permettendo all’utente di interagire in modo del tutto naturale, mediante gesti. Viene proposto un workflow le cui fasi specificano il collegamento al dispositivo di tracciamento, la definizione ad alto livello della logica di interazione gestuale e la generazione della simulazione 3D finale.

description

Sommario tesi di laurea magistrale

Transcript of Sommario tesi

Page 1: Sommario tesi

Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering)

Tesi di Laurea Magistrale

Progettazione e sviluppo di un Framework per l'integrazione di dispositivi di interazione naturale

con sistemi di proiezione olografica

Relatori: Andrea Sanna, Fabrizio Lamberti Candidato: Luigi Maggio

Marzo 2014 Negli ultimi anni, in virtù dell’enorme impulso che ha subito la ricerca nel campo della

computer grafica, va crescendo la tendenza ad interfacciare l’utente ad un sistema di

elaborazione immergendolo in ambienti virtuali interattivi, basati su un paradigma di

interazione naturale. Un’interfaccia naturale (NUI - Natural User Interface) per definizione

risulta completamente invisibile ed estremamente intuitiva, in quanto priva di dispositivi di

controllo artificiali il cui funzionamento deve essere appreso. In particolare, la recente

diffusione di dispositivi di tracciamento ad alta precisione, ha invogliato lo sviluppo di

interfacce basate su un’interazione di tipo gestuale, che, associata all’utilizzo di sistemi di

proiezione di immagini olografiche, rivoluziona completamente l’approccio di esposizione

dei contenuti da parte di una macchina ai suoi utenti. Un dispositivo di tracciamento è un

componente hardware capace di rilevare la presenza di oggetti posti all’interno del suo

volume di vista, fornendo in output informazioni che ne descrivono la morfologia e

l’evoluzione temporale del moto. Equipaggiato di apposite librerie software, è inoltre

capace di effettuare, parallelamente al tracciamento del moto, un’attività di ricerca e

riconoscimento di pattern motori considerati di particolare interesse.

Nel contesto descritto si colloca il presente lavoro di tesi, il cui obiettivo è la progettazione e

lo sviluppo di un Framework che permetta l’integrazione delle funzionalità offerte da un

dispositivo di tracciamento all’interno di ambienti virtuali di tipo olografico, permettendo

all’utente di interagire in modo del tutto naturale, mediante gesti. Viene proposto un

workflow le cui fasi specificano il collegamento al dispositivo di tracciamento, la

definizione ad alto livello della logica di interazione gestuale e la generazione della

simulazione 3D finale.

Page 2: Sommario tesi

Il dispositivo di tracciamento utilizzato è il Leap Motion, una piccola periferica USB che,

avvalendosi di due telecamere e tre LED infrarossi, è in grado di osservare un'area

approssimativamente semisferica di circa un metro cubo, identificando e tracciando al suo

interno dita o oggetti simili con una precisione di 0,01 mm. La piattaforma scelta per la

realizzazione della logica di interazione, basata sui dati di tracciamento forniti, è il motore

di gioco di Blender. Quest’ultimo è anche lo strumento adoperato per la modellazione dei

contenuti da proiettare.

Il primo passo del lavoro di tesi è consistito nella progettazione e sviluppo dello strato

applicativo che realizzasse la comunicazione del dispositivo di tracciamento con il motore

di gioco. In particolare è stato implementato un socket di comunicazione bidirezionale

attraverso il quale il Leap invia continuamente dei messaggi JSON contenenti i dati di

tracciamento, mentre l’applicazione, quando se ne presenta il bisogno, invia dei messaggi di

configurazione. I messaggi ricevuti sono consumati da un modulo apposito che ne esegue il

parsing, elabora i dati grezzi contenuti (semplici coordinate di punti nella spazio ed entità

vettoriali), e li utilizza per aggiornare lo stato corrente della simulazione 3D. Questi dati

comprendono sia informazioni sulla localizzazione spaziale degli elementi tracciati

all’interno del campo di vista, sia informazioni riguardanti la rilevazione di pattern gestuali

mediante i quali l’utente realizza l’interazione.

Indubbiamente, la qualità della simulazione dipende strettamente da quella della logica di

interazione definita all’interno del motore di gioco. La necessità di padroneggiare ad un

certo livello i costrutti di progettazione messi a disposizione dal motore, preclude a persone

che non abbiano conoscenze dell’ambiente, e in generale di programmazione, la possibilità

di realizzare una simulazione di questo tipo. Di conseguenza, ulteriore obiettivo del presente

lavoro di tesi è stato fornire, anche ad un utente che non avesse conoscenze avanzate di

Python e del motore di gioco di Blender, gli strumenti per creare una simulazione interattiva

basata su un meccanismo di interazione gestuale. Questo comporta la necessità di astrarre

quanto più possibile concetti strettamente legati alla programmazione e alle funzionalità

specifiche messe a disposizione dall’editor di Blender, fornendo un modo per modellare i

comportamenti desiderati che risulti quanto più intuitivo possibile. Per assolvere al compito

è stata appositamente sviluppata un’applicazione, “Leap Embedder”. Questa offre la

possibilità di definire graficamente l’interazione dell’utente con gli oggetti virtuali mediante

un editor, nel quale le relazioni causa-effetto sono modellate attraverso la congiunzione di

Page 3: Sommario tesi

nodi. La definizione della logica si basa su principi di associazione: associazione di eventi

di tipo rilevazione gesture ad un nodo che rappresenta un oggetto e associazione di azioni

(rappresentate da nodi attuatore) a nodi che rappresentano la rilevazione di una gesture.

La logica così definita può essere esportata all’interno di un file XML, poi importabile

all’interno del motore di gioco di Blender. L’esecuzione della fase di importazione ha

richiesto la realizzazione di un apposito Blender Add-On. Questo, oltre che della

generazione automatica della logica di interazione, si occupa anche di inizializzare

opportunamente i parametri di rendering, della configurazione del motore di simulazione

fisica e delle telecamere. L’utente può scegliere di produrre una simulazione da visualizzare

su un classico schermo 2D oppure una adatta alla proiezione dei contenuti all’interno di una

teca 3D olografica.

Il Framework realizzato permette, anche ad un utente con scarse conoscenze di

programmazione e delle funzionalità offerte dal motore di gioco di Blender, di realizzare

una propria simulazione interattiva 3D, basata su un paradigma di interazione naturale di

tipo gestuale. In virtù dell’ausilio degli applicativi sviluppati ad hoc per lo scopo, è resa

completamente trasparente all’utente l’interfaccia programmatica con il dispositivo di

tracciamento Leap Motion, nonché la generazione della logica di interazione all’interno del

motore di gioco di Blender. Per quanto riguarda utenti che hanno già esperienza

dell’ambiente Blender, l’utilizzo degli strumenti sviluppati ha permesso loro di velocizzare

sensibilmente la fase di definizione della logica di interazione, oltre che costituire un

metodo immediato per includere, all’interno di una simulazione 3D realizzata in Blender, le

funzionalità di tracciamento offerte dal Leap. Nei casi in cui l’utente esperto fosse partito

con la volontà di realizzare dei comportamenti volutamente molto complessi, gli strumenti

forniti sono risultati molto utili per la generazione automatica di una base logica di partenza,

sulla quale poi andare ad effettuare modifiche puntuali per caratterizzarne il comportamento

a proprio piacimento. Tale procedimento ha inoltre eliminato, all’interno della base logica,

possibili errori umani che comportano tempo per essere rintracciati e corretti.

Sviluppi futuri del lavoro potrebbero riguardare l’utilizzo di altri dispositivi di tracciamento

(ad esempio il Kinect), l’estensione del set di gesture riconosciute mediante algoritmi di

DTW – Dynamic Time Warping, l’utilizzo di un motore di gioco più potente e versatile

quale Unity 3D e l’estensione del paradigma di interazione verso un approccio multimodale

che preveda anche un’interazione basata su comandi vocali, oltre che gestuali.