• Non ci sono risultati.

Nel paragrafo precedente con l’ausilio del simulatore è stata dimostrata l’importanza dell’utilizzo di un eye tracker per la determinazione dell’esatta posizione degli occhi dell’utente. Nel seguito verrà pertanto discusso come un sistema di eye tracking possa essere implementato in un dispositivo HMD reale.

Questa parte del lavoro è stata implementata presso il “Forschungsgruppe Augmeted Reality” (FAR) del TUM (Technische Universität München) di Monaco di Baviera, sotto la supervisione della Prof. Klinker e del suo gruppo di ricerca. Nello specifico è stato scelto il FAR poiché detto team di ricerca è tra i leader a livello mondiale nella calibrazione occhio-display, per la quale è fondamentale l’utilizzo di sistemi di eye tracking.

Come già detto in precedenza, nel caso studiato in questo lavoro di tesi il sistema più semplice da implementare è un eye tracker ottico; avendo già una struttura rigida per il sostegno dei display e delle telecamere frontali infatti risulterà facile ancorare le camere per l’eye tracking a questo blocco, così da integrare i due sistemi. Tra le varie telecamere disponibili in commercio si potrebbero ad esempio utilizzare le telecamere della Pupil Labs, una azienda tedesca che si occupa dello sviluppo e della produzione hardware e software di sistemi per eye tracking.

Figura 5.9: Telecamera per l’eye tracking prodotta dalla Pupil Labs.

La telecamera è di piccole dimensioni, ha una risoluzione modesta (640x480 pixel) ed una elevata frequenza di acquisizione (120 fps): è progettata per inquadrare l’occhio da molto vicino, pertanto non necessita di una risoluzione molto elevata, ma deve essere in grado di catturare tutti gli spostamenti oculari, perciò ha bisogno di una elevata frequenza di acquisizione.

84 Il supporto plastico sul quale è montata la camera è collegato tramite un giunto sferico ad un braccio mobile: per mezzo di questo braccio, la telecamera può essere ancorata ad una struttura esterna, il dispositivo mostrato in figura 43 ad esempio, e grazie alla mobilità garantita dal giunto sferico può essere posizionata ed orientata in maniera tale da avere la migliore inquadratura possibile dell’occhio dell’utente. Una volta individuata la configurazione ideale della camera, il giunto sferico può essere bloccato grazie ad una vite presente alla base di esso; in questo modo si riescono ad evitare spostamenti accidentali della camera quando l’utente indossa o rimuove il dispositivo, o più semplicemente quando muove la testa.

Una volta fissata la camera per l’eye tracking al dispositivo, sarà necessario calibrarla rispetto alla telecamera frontale. L’algoritmo di eye tracking infatti ci consente di determinare la posizione dell’occhio e di esprimerla nel sistema di riferimento dell’eye tracker stesso. Per il calcolo dell’omografia tuttavia, è necessario riportare tutto al sistema di riferimento della camera frontale, da qui l’esigenza di effettuare la suddetta calibrazione. Una volta ultimata questa, la posizione relativa tra le due camere non deve assolutamente variare: questo è il motivo fondamentale per cui, trovata la configurazione opportuna, la camera dell’eye tracking deve essere fissata; uno spostamento o una rotazione anche minimi di questa richiederebbe infatti una nuova calibrazione. La calibrazione può essere effettuata utilizzando il Framework Ubitrack: sviluppato dai ricercatori del TUM, Ubitrack è un framework impiegato per la creazione di setup di tracking in tempo reale per applicazioni sia di realtà aumentata che di realtà virtuale; inoltre può essere utilizzato anche per attività di registrazione e di calibrazione [26, 28].

In linea generale, ogni qual volta ci si trova a fare una calibrazione si hanno a disposizione come dati di partenza un set di sistemi di riferimento o comunque un insieme di punti nello spazio associati agli oggetti, reali o virtuali, della scena in esame, insieme alle relative relazioni tra queste entità. Tale setup di partenza può essere rappresentato come un grafo, in cui ciascun nodo è associato ad una di queste entità, mentre gli archi del grafo rappresentano le trasformazioni dirette tra i due nodi. Queste trasformazioni sono chiamate pose o misure a 6 gradi di libertà. I grafi sopra descritti sono definiti ‘Spatial Relationship Graphs’ (SRG); nella figura successiva ne è mostrato un esempio:

85

Figura 5.10: Le frecce continue rappresentano le trasformazioni di partenza, in questo caso la posizione del marker nel sistema di riferimento della telecamera frontale e della telecamera per l’eye tracking rispettivamente. La freccia

tratteggiata rappresenta invece l’informazione che vogliamo ricavare dalla procedura.

Gli elementi fondamentali alla base delle librerie di Ubitrack sono gli ‘Spatial Relationship Patterns’, ovvero dei modelli di relazioni spaziale che vengono utilizzati per identificare parti del grafo totale per i quali esiste un algoritmo di calcolo noto. A ciascun pattern è quindi associato un set di algoritmi che consentono, dati gli opportuni input, di computare dei risultati che possono essere reintrodotti nel grafo stesso. Questa procedura può essere ripetuta ricorsivamente fino a trovare la soluzione alla query richiesta. I pattern di calcolo presenti all’interno della libreria sono molteplici, e spaziano da semplici operazioni matematiche, quali moltiplicazioni o inversioni di matrici, fino ad algoritmi ben più complessi, quali la calibrazione di una camera o l’algoritmo per l’eye tracking stesso. Tornando al caso della figura precedente ad esempio, per trovare una soluzione alla Query Pose è necessario invertire la Marker Pose 2 e successivamente moltiplicare questa per la Marker Pose 1, come mostrato in figura:

86

Figura 5.11: In questo caso sono stati applicati 3 tipi di pattern differenti: uno di calibrazione, per il riconoscimento del marker e l’identificazione della sua posizione nei sistemi di riferimento delle due telecamere, uno per l’inversione

della posa, ed infine un pattern per la moltiplicazione tra le due pose.

A ciascun file SRG realizzato, contenente il grafo utile per la risoluzione del quesito posto, è associato un file DFG, ‘Data Flow Graph’, il file eseguibile che può poi effettivamente essere utilizzato dal prompt dei comandi.

87 Figura 5.13: File DFG associato al file SRG della figura precedente.

Come si può notare dalle figure 5.10 e 5.11, per effettuare la calibrazione tra la camera frontale e la camera dell’eye tracking è necessario che entrambe inquadrino lo stesso marker; un simile risultato si può facilmente ottenere con un multimarker, ovvero una tavola su cui siano presenti più marker allo stesso tempo, come quella mostrata di seguito:

88 Il multimarker è identificato come un’unica entità, in questo modo quindi si è nella condizione in cui le due telecamere si trovano ad osservare lo stesso oggetto. I marker di dimensioni più piccole sono quelli che devono essere inquadrati dalla camera dell’eye tracker, che si è detto avere una risoluzione ridotta. Inoltre, maggiori sono le features utilizzate per la calibrazione, migliore sarà il risultato ottenuto; di conseguenza, con un multimarker simile, la calibrazione che si riesce ad ottenere è molto robusta, in quanto sia la camera frontale che quella dell’eye tracker riescono ad acquisire più di un marker alla volta.

Il fatto che l’occhio si sia spostato dalla sua posizione ideale implica che il suo centro di proiezione non sarà più coincidente con il centro di proiezione del display. Prima di procedere con delle prove sperimentali simili a quelle fatte nel capitolo precedente è pertanto necessario effettuare una calibrazione dei display, così da determinare l’effettiva posizione del centro di questi nei confronti dei rispettivi occhi. Tuttavia, con i metodi disponibili allo stato dell’arte [21], provati per alcune settimane sotto la guida dei ricercatori del TUM, non è stato possibile effettuare la corretta calibrazione tra i display disponibili in laboratorio (i Lumus) e gli occhi di un eventuale utente. Questi metodi prevedono infatti la parametrizzazione di alcune dati di targa del display, tra cui anche la distanza alla quale è virtualmente proiettato il piano immagine. Si suppone che il fallimento di detti metodi nel caso dei display Lumus, sia dovuto al fatto che, come detto in precedenza, l’immagine è proiettata a distanza infinita. Questo ha forse determinato l’impossibilità di parametrizzare tutti i dati relativi a tale display ed effettuare di conseguenza la corretta calibrazione. Lo studio e la pianificazione di nuovi metodi per la calibrazione dei display è tutt’ora in corso d’opera presso l'Università di Pisa.

89

CONCLUSIONI

Questo lavoro di tesi è relativo allo sviluppo di visori stereoscopici indossabili per realtà aumentata Video See-Through, da utilizzare durante l’esecuzione di attività manuali. In particolare l’obiettivo è identificare e limitare le aberrazioni geometriche che maggiormente inficiano la percezione della profondità nei sistemi VST, al fine di eliminare le problematiche percettive presenti in tali sistemi e di fornire agli occhi dell’utente stimoli quanto più possibile coerenti con la vista ad occhio nudo, permettendo così una convergenza oculare realistica in funzione del punto di fissazione ed una confortevole visione strereoscopica.

Questo ha richiesto un’analisi approfondita delle soluzioni proposte allo stato dell’arte, che ha portato alla pianificazione di uno studio geometrico preliminare del problema. Tale studio, condotto tramite simulazione di un visore ideale “parallax-free” non implementabile nella realtà, ha consentito di analizzare da un punto di vista puramente geometrico le varie configurazioni dei display e delle telecamere proposte in letteratura, e di identificare le cause che determinano le aberrazioni geometriche nei visori VST e gli aspetti da tenere presenti nell’implementazione di un sistema reale.

I risultati ottenuti dallo studio preliminare hanno portano a pensare che sia necessario adoperare soluzioni hardware sub-ottimali, ricorrendo quindi ad aggiustamenti via software sulle immagini acquisite dalle telecamere ed hanno permesso di limitare il confronto tra le possibili implementazioni in visori reali utilizzando un simulatore sviluppato ad hoc. Nelle configurazioni analizzate è stata simulata l’applicazione di una trasformazione geometrica, l’omografia, che consente di riportarsi al caso ideale, quantomeno su di un piano a distanza nota. Le nuove prove effettuate con il simulatore hanno permesso di dimostrare che grazie all’applicazione dell’omografia è possibile semplificare l’implementazione hardware dei visori evitando di dover movimentare le sia le camere che i display in funzione della distanza di lavoro (a differenza di quanto accennato in letteratura). L’omografia permette inoltre di eliminare le aberrazioni geometriche che compromettono la percezione della profondità e di ripristinare una visione naturale del mondo attraverso il visore per un piano posto a distanza nota.

I risultati dell’analisi geometrica eseguita con il simulatore sono stati verificati con delle prove sperimentali eseguite con il visore in via di sviluppo nell’ambito del progetto VOSTARS che presenta

90 camere e display mobili. 15 soggetti hanno provato tale visore, che permette il passaggio tra la configurazione parallela e la configurazione convergente. Dalle risposte fornite dagli utenti al questionario comparativo tra le due configurazioni è stato possibile dedurre che i risultati delle prove sperimentali sono complessivamente in linea con le conclusioni tratte dalle prove fatte con il simulatore.

Dalle simulazioni è inoltre emerso che affinché l’omografia sia ancor più efficace sarebbe necessario tener conto dell’effettiva posizione dell’occhio dell’utente rispetto al display. L’integrazione del visore con un sistema di eye tracking che permetta la rilevazione ed il tracciamento dei movimenti dell’occhio, consentirebbe quindi di avvicinarsi ancor di più alla vista ad occhio nudo. A tal fine è stato condotto uno studio di fattibilità per l’integrazione delle camere per l’eye tracking con il visore. Detto studio ha evidenziato la mancanza allo stato dell’arte di un metodo robusto per la calibrazione dei display rispetto alle camere per l’eye tracking. La pianificazione di nuovi metodi per l’ottenimento di tale calibrazione è tutt’ora in corso d’opera. Una volta effettuata questa sarà possibile integrare fisicamente il sistema di eye tracking con il visore ed eseguire nuovi test di validazione.

91

Documenti correlati