Servizi e Applicativi Clinici del Sistema VESPA Daniele Baratta, Alfio Cavallaro, Bruno Tomaselli VESPA Software and Hardware Managers daniele.baratta@softwareengineering.it alfio.cavallaro@softwareengineering.it bruno.tomaselli@softwareengineering.it
Finalità del Software Clinico di VESPA Porting di Applicativi per la Valutazione dei pazienti Porting e Sviluppo di Nuovi Applicativi per la Riabilitazione Supporto alla Teleconferenza/Telesupporto Servizi del Portale Multi-Utente Trasferimento automatizzato delle informazioni ad DB centralizzato. Definizione e Aggiornamento dei Protocolli.
Virtual Room La Virtual Room del progetto VESPA: Video Teatro a proiezione angolare: 2 proiettori 3D ad elevata risoluzione; Occhiali 3D di tipo attivo; Sistema di diffusione audio Dolby Surround 5.1; Sistema di Tracking; Riprese di sala con IP Webcam; Sala regia: Master PC; Render PC. La Virtual Room è un video teatro angolare a due pareti dove le immagini vengono proiettate in 3D, renderizzando in real-time due serie di immagini, sfasate tra loro, una per l’occhio destro e una per l’occhio sinistro. La proiezione viene effettuata da due proiettori ad elevata risoluzione, e per la visualizzazione in 3D delle immagini lo spettatore deve indossare un paio di occhiali 3D di tipo attivo. All’interno della sala di proiezione i suoni vengono riprodotti da un impianto di diffusione audio Dolby Surround 5.1. Una delle parti principali del sistema è il sistema di tracking che effettua il ricalcolo in real-time della visione prospettica a partire dal mutevole punto di vista dell’utente, il che consente di osservare gli oggetti e di girarci attorno a 360° come se fossero reali. Questo è effettuato attraverso 4 telecamere ad infrarossi che calcolano la posizione dell’utente a partire dalla riflessione degli stessi. In sala vengono effettuate le riprese attraverso delle IP WebCam. Nella sala regia vi sono due PC ad elevata potenza: Il Master PC ha il compito di eseguire il software e gestire il sistema di tracking; Il Render PC tratta l’output video prodotto dal Master PC per il comando dei video proiettori.
La Virtual Room in Funzione
Mappa del Software DEMENZA D’ALZHEIMER RITARDO MENTALE GRUPPO LINGUAGGIO Strumenti di Valutazione ADAS-Cog Alzheimer’s Disease Assessment Scale – parte cognitiva PEP 3 Profilo Psicoeducativo Terza edizione TROG-2 Test di comprensione grammaticale 2 MMSE Mini-Mental State Examination Test di Corsi Test per la valutazione dell’articolazione fonetica (test di Fanzago) Digit Span Procedure Riabilitative Batteria di Task Cognitivi VESPA Procedure Riabilitative VESPA per Ritardo Mentale Procedure Riabilitative VESPA per Deficit Linguistico Procedure Riabilitative VESPA per Alzheimer Disease
I Numeri del Software Numero totale di applicazioni sviluppate: 11 in suites o batterie Totale scenari: +300 Tipologie Questionario a: Risposta singola Risposta multipla Questionario con risposta verbale Animazione in interazione Campionamento Audio e Video
Gli Strumenti del Software Adozione di un framework proprietario che estremizza Flessibilità Scalabilità Riutilizzabilità Manutenibilità Unity 3D Blender 3d Il Software si basa su un framework proprietario che permette di realizzare ambientazioni e scene 3d. Il framework utilizzato si adatta a diversi contesti con differenze di complessità senza che questo richieda la riprogettazione dello stesso sistema. Unity 3D è un game engine utilizzato per l’implementazione delle scene 3D che verranno poi proiettate all’interno della Virtual Room. Unity 3D è stato scelto per la sua flessibilità e la capacità di compilare il software per le più svariate piattaforme.
Architettura framework: parsing dei file xml, accesso alle api di techviz.
Web Service Generazione e visualizzazione delle Sedute. Streaming audio/video archiviato nel database.
Trasferimento dei Dati al DB
Altri Componenti Supporto alla Teleconferenza/Telesupporto Ultragrid è un software per la trasmissione/ricezione di flussi audio/video in high-defintion (HD), 2K, 2160p/Quad Full HD/SuperHD e 4K MoU con EU VisionAir
Hardware Complementare Necessità Interazione dell’utente con gli oggetti virtuali. Afferrare un oggetto; Spostare un oggetto; Ruotare un oggetto; Premere un pulsante; L’interazione deve essere quanto più naturale possibile. Soluzioni Introduzione di dispositivi di input esterni capaci di tracciare le azioni dell’utente e convertirle in azioni all’interno della realtà virtuale. Il dispositivo non deve introdurre ulteriori elementi di disturbo. All’interno della VR l’utente interagisce con gli oggetti virtuali che sono una trasposizione degli oggetti reali. L’utente deve poter afferrare un oggetto, spostarlo, ruotarlo, premere dei pulsanti. Questo tipo di interazione deve risultare quanto più naturale possibile. Ovvio che l’interazione mouse e tastiera è ottima per applicativi Desktop ma non consente all’utente di interagire con gli oggetti virtuali in modo naturale e per tale motivo è nata l’esigenza di valutare e integrare dei dispositivi di input esterni. Sono stati valutati diversi dispositivi, capaci di catturare le azioni dell’utente e convertirle in azioni all’interno della realtà virtuale. Occorre però prestare attenzione al fatto che questi non devono introdurre ulteriori elementi di disturbo.
Flystick Dispositivo impugnabile che permette il tracciamento della posizione e della rotazione della mano. I pulsanti posti sul dispositivo permettono di usarlo come joystick e di interagire così con gli oggetti virtuali. Pro: Tracciamento preciso di posizione e rotazione della mano. Contro: Interazione poco naturale. Necessità di un sistema di tracking. Flystick è un dispositivo impugnabile. Le sfere in vetro che vediamo all’estremità del dispositivo sono dei marker passivi che consentono il tracciamento della posizione e della rotazione della mano dell’utente all’interno della virtual room. Esso è dotato anche di alcuni pulsanti che che consentono di usarlo come joystick ed interagire con gli oggetti virtuali. Pro: Tracciamento molto accurato della posizione e della rotazione della mano all’interno dello spazio 3D. Contro: Interazione poco manuale, si tratta pur sempre di un joystick. Necessità del supporto di un sistema di tracking. TVZLib.TVZGetButtonStateTVZGetDevicePos(device, num, ref position, TVZRef.kScene); TVZLib.TVZGetButtonState(TVZTypeDevice.kFlystick, (uint)MainDeviceID, num_button, ref state);
Leap Motion Dispositivo capace di tracciare la gestualità delle mani e delle dita attraverso un sensore ottico a infrarossi. Pro: Molto sensibile e preciso. Ha un angolo di visione di 150° Tracciamento di entrambe la mani e oggetti esterni. Monitoraggio predittivo quando non tutte le dita risultano visibili. Interazione naturale Contro: Raggio d’azione di circa 70 cm. Dispositivo capace di tracciare la posizione e le gesture di entrambe le mani, e di ogni dita della mano attraverso un sensore ottico ad infrarossi. Il Leap Motion è un dispositivo molto preciso ed estremamente sensibile. Ha un angolo di visione di 150° e utilizza un monitoraggio predittivo nel caso in cui alcune dita risultano oscurate. L’interazione col sistema è molto naturale e consente di tracciare anche eventuali tool esterni come una penna o un puntatore. Limitazione dello stesso è lo spazio d’azione di circa 70cm che risulta molto ristretto nell’ambito del progetto VESPA. La root è il concetto di frame, catturabile a polling o con approccio ad eventi. Da questo si può ottenere posizione di mani e dita e gesture.
Microsoft Kinect Dispositivo che consente di riconoscere il movimento del corpo, le gesture facciali e il riconoscimento vocale. Pro: Interazione uomo-macchina naturale. Tracciamento dell’intero corpo umano. Funzionamento contact-less senza la necessità di indossare ulteriori dispositivi. Contro: Tracciamento delle dita poco accurato. Dispositivo che consente di tracciare il movimento dell’intero corpo dell’utente in modo molto naturale e senza la necessità di indossare ulteriori dispositivi. Kinect funziona con l’utilizzo di una telecamera RGB e dei sensori di profondità. Tuttavia il tracciamento delle dita della mano risulta poco accurato.
MyO Armband Dispositivo che intercetta i segnali elettrici emessi dai muscoli del braccio e da questi elabora 5 gesture della mano. Pro: Interazione naturale e che garantisce una maggiore dinamicità. Contro: Poca sensibilità; Richiesto notevole sforzo all’utilizzatore. Non traccia la posizione della mano nella scena 3D. Il Myo Armband è un dispositivo dotato di un sensore elettromiografo (EMG) capace di intercettare i segnali potenziali elettrici sviluppati dal sistema nervoso periferico emessi dai muscoli del braccio di chi lo indossa. Utilizzando i segnali elettrici generati, il sistema riesce ad elaborare 5 gesture dalla mano che risultano quindi riproducibili nel mondo virtuale. Il sensore è dotato di un giroscopio a tre assi che permette di misurare la rotazione del braccio. L’utilizzo del Myo offre una modalità di interazione differente e più naturale garantendo una maggiore dinamicità della simulazione immersiva. Contro: il dispositivo non è molto sensibile nell’intercettare i segnali potenziali elettrici, il che comporta un notevole sforzo da parte dell’utilizzatore nel mantenere le gesture per renderle riconoscibili dal sistema. Il dispositivo non riesce a tracciare la posizione della mano all’interno della scena 3D.
Integrazione del Light Glove Prodotto di Swing:It. Sistema capace di misurare con estrema precisione la rotazione e la posizione della mano e la flessione delle dita. Dall’elaborazione di questi dati ne vengono riconosciute le gesture. Pro: Interazione uomo-macchina naturale. Contro: Necessità di indossare il dispositivo. Ingombro. Sistema capace di catturare le gesture della mano e trasferirli poi al PC per una successiva elaborazione. Sistema progettato e implementato da Swing:It con l’obiettivo di realizzare un metodo di interazione uomo-macchina quanto più naturale possibile. Attraverso l’utilizzo di appositi sensori, viene misurata con estrema precisione la flessione di ogni singolo dito. Un microcontrollore montato sul dispositivo effettua una prima elaborazione e invia i dati al Master PC tramite protocollo Bluetooth. Attraverso una apposita libreria software, vengono elaborati i dati ricevuti dal dispositivo e da questi riconosciute le gesture della mano. Il dispositivo presenta una interazione con l’utente estremamente naturale e non porta ad affaticare lo stesso durante la simulazione immersiva. Contro. Peso e ingombro del dispositivo stesso, attualmente in fase ingegnerizzazione per una versione successiva.
Portale Multi-Utente Una infrastruttura per l’erogazione di servizi web Tecnologia scalabile Alta capacità: un' infrastruttura correttamente dimensionata permette di ottimizzare le prestazioni complessive e migliora la disponibilità delle applicazioni remote Amministrazione remota e centralizzata: permette l' abbattimento dei costi di gestione e manutenzione offrendo la possibilità di un intervento remoto da parte di tecnici, sistemisti ed amministratori www.progettovespa.it/portal Il sistema Vespa per erogare servizi web usufruisce di un portale multi-utente, una infrche ha le seguenti caraterristiche: E’ Scalabile ovvero può essere facilmente ampliata e connessa a dispositivi diversi sostenendo costi limitati Ha un alta capacità poichè permette una buona ottimizzazione delle prestazioni complessive e migliora la disponibilità delle applicazioni remote Inoltre grazie ad una amminstrazione remota e centralizzata permette un costo minore per quanto riguarda la gestione e la manutenzione, infatti offre una facile possibilità di intervento remoto da parte di personale tecnico e amministrativo. Per accedere al portale la url è www.progettovespa.it
Portale Multi-Utente Tecnologie utilizzate: Liferay Glassfish PostgreSQL Le tecnologie utilizzate per realizzare il portale utente sono: Liferay è un portale open source enterprise. È basato su un'architettura service-oriented, che rende possibile lo sviluppo di applicazioni, chiamate Portlet, a partire dai servizi web esistenti. GlassFish è un application server dove viene pubblicato il portale. PostgreSQL è un sistema di gestione di basi di dati, quindi per l’interrogazione e ottenimento dei dati, inserimento, modifica e cancellazione di questi.
Portale Multi-Utente Medici, pazienti, tecnici, personale amministrativo possono accede all’infrastruttura di VESPA tramite il browser connesso a internet/intranet Gli utenti utilizzatori possono accede all’infrastruttura di VESPA tramite il browser connesso a internet e quindi accedere ai servizi che sono forniti dal cloud di vespa Il portale viene rivolto a utilizzatori come: medici che creano protocolli, task e sessioni, pianificano le sedute e vogliono poter visualizzare e gestire i dati relativi alle misure effettuate durante le sedute; ai pazienti che vogliono controllare la pianificazione di una seduta ai tecnici per la configurazione dei task e il controllo remoto di questi all’amministrativo che vuole poter modificare/inserire dati di anagrafica
Portale Multi-Utente 1/2 Anagrafiche: Utenti, Pazienti, Strutture, Misure, Batterie Task, Task, Protocolli Pianificazione Ricerca sedute: Modifica, Gestione, Dettagli, Download XML, Remote Controller Il portale è diviso nelle seguenti macro aree: Anagrafiche è lo strumento per la ricerca e inserimento dei dati a sistema. Questo viene composto a sua volta da vari strumenti, ognuno dei quali ci consente di interagire con i dati del sistema per categoria. Il sistema è altamente scalabile, ognuno di questi strumenti è un modulo che accede a un area specifica di VESPA, possono essere modificati, disabilitati, o possono essere creati altri per aumentare le funzionalità del portale. La ricerca di Utenti fornisce oltre ai dati anagrafici i vari ruoli ricoperti dall’utente ovvero amministrativo, tecnico, medico, paziente. Pazienti, Strutture, Misure, Batterie Task, Task e Protocolli hanno una parte per la ricerca dei dati tramite opportuni filtri. I dati di risultato sono visualizzati in una tabella e possono essere modificati quando possibile. E una parte per l’inserimento dati. Pianificazione è lo strumento necessario al medico per pianificare una seduta selezionando il paziente, il protocollo, la data e la sessione. Nella portlet di Ricerca Sedute ( vedi slide dopo) , possiamo effettuare la ricerca delle sedute pianificate filtrando per data, paziente etc. Una volta effettuata la ricerca verrà mostrato a video una lista con una serie di campi che descrivono le sedute. Per ogni seduta possiamo cliccare su dettagli e vedere la Sessione, la descrizione del protocollo, in particolare tutti i task che ne fanno parte. A seconda dello stato in cui si trova la seduta possiamo effettuare operazioni ad esempio di modifica (si aprirà così un calendario dove possiamo modificare la pianificazione); oppure di gestione, così si apre una nuova pagina con l’elenco dei task e il remote controller; oppure possiamo scaricare l’XML di configurazione (utilizzato dal tecnico) o andare sul remote controller. Le procedure Manuali sia di Valutazione che di Riabilitazione in generale servono a fornire tutti i risultati di output della batteria dei task che è stata effettuata. Quindi delle tabelle con tutti i risultati a numeri, caratteri oppure file media come Audio/Video registrati durante il corso del test. Il medico può visualizzare convalidare i risultati o prima della convalida modificarli.
Ricerca Sedute
Portale Multi-Utente 2/2 Procedure Manuali di Riabilitazione: Task cognitivi, Alzheimer Disease, Ritardo Mentale Procedure Manuali di Valutazione: ADAS-Cog, Mini-Mental State, Test di Corsi, Digit Span, PEP3, PEABODY, TROG-2, Test di Fanzago Procedure Automatiche: Remote Controller Questionari PEP3
Procedura Manuale
Remote Controller Il remote controller è un componente importante per la gestione delle attività che vengono svolte all’interno della Camera Virtuale. E’ lo strumento utilizzato per la visualizzazione in tempo reale delle webcam posizionate nella cave e permette di controllare il flusso cioè avviare, mettere in pausa e mettere in stop le attività in esecuzione. Il punto di forza di questo componente è l’accessibilità, può essere avviato da browser quindi da qualsiasi dispositivo come telefonino/tablet oltre che PC. Il flusso viene gestito dalle chiamate REST.
Grazie per l’attenzione Domande