Tesi etd-11152022-132928 |
Link copiato negli appunti
Tipo di tesi
Tesi di laurea magistrale
Autore
COLLU, CHIARA
URN
etd-11152022-132928
Titolo
Progettazione della piattaforma software di un visore per guida chirurgica con realtà aumentata e relativa analisi preliminare per certificazione
Dipartimento
INGEGNERIA DELL'INFORMAZIONE
Corso di studi
INGEGNERIA BIOMEDICA
Relatori
relatore Prof. Ferrari, Vincenzo
tutor Ing. Cutolo, Fabrizio
controrelatore Prof. De Maria, Carmelo
tutor Ing. Cutolo, Fabrizio
controrelatore Prof. De Maria, Carmelo
Parole chiave
- certificazione
- Progettazione
- realtà aumentata
- visore
Data inizio appello
02/12/2022
Consultabilità
Tesi non consultabile
Riassunto
L’obiettivo del seguente lavoro di tesi è progettare la piattaforma software di base che consenta l’ingegnerizzazione di un software di realtà aumentata per guida chirurgica adatto ad essere applicato a visori video e optical see-through. La progettazione ha previsto l’adattamento di alcuni codici del progetto VOSTARS e la totale stesura ex novo di altri, ponendo le basi di una piattaforma che possa avere i presupposti tecnici necessari per ottenere la certificazione di conformità come dispositivo medico secondo normativa IEC 62304 necessaria alla commercializzazione.
La motivazione principale che ha reso necessario questo lavoro è il voler rendere la piattaforma software di guida chirurgica in realtà aumentata di più facile modifica e utilizzando strumenti di sviluppo più adatti alla creazione di applicazioni di realtà aumentata quali il game engine Unity3D. Si è deciso per questo motivo di migrare al sistema operativo Windows abbandonando l’utilizzo delle librerie VTK e sfruttando, invece, un motore grafico attualmente molto diffuso: Unity3D.
Il lavoro è stato eseguito presso il centro di ricerca EndoCAS dell’Università di Pisa (l’acronimo CAS si riferisce all’attività di chirurgia assistita dal calcolatore -Computer Assisted Surgery) e sotto la supervisione dell’azienda Orthokey Italia s.r.l.
Per iniziare il lavoro è stato necessario svolgere un'analisi dettagliata del software di partenza realizzato per il progetto europeo VOSTARS (acronimo per Video and Optical See-Through Augmented Reality Surgical Systems). Il framework del software originale era stato costruito in C++ con la tradizionale architettura a singolo processo (1 file eseguibile) e molteplici librerie dinamiche (1 libreria per modulo). Il software è stato sviluppato in ambiente Linux (Ubuntu 16.04) sfruttando in particolare il framework Compute Unified Device Architecture (CUDA Toolkit 10.0), al fine di sviluppare un'applicazione in grado di sfruttare la potenza della GPU dedicata attraverso la parallelizzazione di molte procedure di machine vision e image processing sui molteplici core della scheda grafica. Le librerie di visualizzazione usate nella versione originale del software erano le VTK (acronimo per Visualization ToolKit in Inglese) mentre per la parte di machine vision erano state adottate le librerie OpenCV.
A tal fine, grazie a questa analisi è stato possibile individuare nel dettaglio le funzionalità e le funzioni delle cinque librerie a collegamento dinamico (Dynamic-Link Library) delle quali solo una, quella che si occupa del tracciamento dei marker, in base a questa analisi, potrà essere mantenuta intatta per il nuovo progetto.
La stessa strategia di framework non distribuito a singolo processo è stata sfruttata anche nella nuova versione, che però è stata costruita su sistema operativo Windows: si è utilizzato CMake 3.23.0 per compilare le librerie OpenCV adattate al nuovo ambiente di lavoro e avendo anche integrato le funzionalità CUDA (v11.6.1). Per sviluppare l’applicazione base è stato utilizzato Unity3D nella versione Editor 2020.3.27f1. Dependency Walker è l’applicazione che ha permesso di visualizzare le dipendenze delle DLL C++ così che si potessero importare nello script C# che gestisce l'applicazione principale di realtà aumentata su Unity e, dunque, per utilizzarle.
Una volta realizzata la milestone, che comprende l’applicazione base su Unity che si occupa della visualizzazione ed elaborazione delle immagini acquisite dalle camere del visore in modalità Video See-Through, è stato effettuato un test sulla latenza (photon-to-photon latency) al fine di verificare che i risultati ottenuti fossero nello stesso ordine di grandezza almeno di quelli ottenuti con la vecchia architettura software di VOSTARS, al fine di non introdurre un ritardo eccessivo nella visualizzazione della scena reale che comprometta un'interazione naturale con essa. La latenza ottenuta è stata pari a 76 ms e considerando che nella versione precedente era di 110 ms e che nel sistema teleoperato Da Vinci è di 60 ms, si può affermare di aver ottenuto un risultato soddisfacente e adatto allo scopo, sebbene con margini di miglioramento.
Infine, son state poste le basi per una futura certificazione secondo la normativa CE 62304, standard che fornisce un quadro dei processi del ciclo di vita del software con attività e incarichi necessari per la progettazione e la manutenzione in sicurezza del software nei dispositivi medici.
L’elaborato esordisce con una introduzione alla realtà aumentata e con lo stato dell’arte attuale per quanto riguarda le applicazioni di AR in chirurgia. Segue un excursus sugli head-mounted display soffermandosi in particolare sulla distinzione tra Optical e Video see-through e le modalità di tracciamento. Queste informazioni sono fondamentali per poter comprendere il progetto VOSTARS e il motivo della sua ideazione.
La motivazione principale che ha reso necessario questo lavoro è il voler rendere la piattaforma software di guida chirurgica in realtà aumentata di più facile modifica e utilizzando strumenti di sviluppo più adatti alla creazione di applicazioni di realtà aumentata quali il game engine Unity3D. Si è deciso per questo motivo di migrare al sistema operativo Windows abbandonando l’utilizzo delle librerie VTK e sfruttando, invece, un motore grafico attualmente molto diffuso: Unity3D.
Il lavoro è stato eseguito presso il centro di ricerca EndoCAS dell’Università di Pisa (l’acronimo CAS si riferisce all’attività di chirurgia assistita dal calcolatore -Computer Assisted Surgery) e sotto la supervisione dell’azienda Orthokey Italia s.r.l.
Per iniziare il lavoro è stato necessario svolgere un'analisi dettagliata del software di partenza realizzato per il progetto europeo VOSTARS (acronimo per Video and Optical See-Through Augmented Reality Surgical Systems). Il framework del software originale era stato costruito in C++ con la tradizionale architettura a singolo processo (1 file eseguibile) e molteplici librerie dinamiche (1 libreria per modulo). Il software è stato sviluppato in ambiente Linux (Ubuntu 16.04) sfruttando in particolare il framework Compute Unified Device Architecture (CUDA Toolkit 10.0), al fine di sviluppare un'applicazione in grado di sfruttare la potenza della GPU dedicata attraverso la parallelizzazione di molte procedure di machine vision e image processing sui molteplici core della scheda grafica. Le librerie di visualizzazione usate nella versione originale del software erano le VTK (acronimo per Visualization ToolKit in Inglese) mentre per la parte di machine vision erano state adottate le librerie OpenCV.
A tal fine, grazie a questa analisi è stato possibile individuare nel dettaglio le funzionalità e le funzioni delle cinque librerie a collegamento dinamico (Dynamic-Link Library) delle quali solo una, quella che si occupa del tracciamento dei marker, in base a questa analisi, potrà essere mantenuta intatta per il nuovo progetto.
La stessa strategia di framework non distribuito a singolo processo è stata sfruttata anche nella nuova versione, che però è stata costruita su sistema operativo Windows: si è utilizzato CMake 3.23.0 per compilare le librerie OpenCV adattate al nuovo ambiente di lavoro e avendo anche integrato le funzionalità CUDA (v11.6.1). Per sviluppare l’applicazione base è stato utilizzato Unity3D nella versione Editor 2020.3.27f1. Dependency Walker è l’applicazione che ha permesso di visualizzare le dipendenze delle DLL C++ così che si potessero importare nello script C# che gestisce l'applicazione principale di realtà aumentata su Unity e, dunque, per utilizzarle.
Una volta realizzata la milestone, che comprende l’applicazione base su Unity che si occupa della visualizzazione ed elaborazione delle immagini acquisite dalle camere del visore in modalità Video See-Through, è stato effettuato un test sulla latenza (photon-to-photon latency) al fine di verificare che i risultati ottenuti fossero nello stesso ordine di grandezza almeno di quelli ottenuti con la vecchia architettura software di VOSTARS, al fine di non introdurre un ritardo eccessivo nella visualizzazione della scena reale che comprometta un'interazione naturale con essa. La latenza ottenuta è stata pari a 76 ms e considerando che nella versione precedente era di 110 ms e che nel sistema teleoperato Da Vinci è di 60 ms, si può affermare di aver ottenuto un risultato soddisfacente e adatto allo scopo, sebbene con margini di miglioramento.
Infine, son state poste le basi per una futura certificazione secondo la normativa CE 62304, standard che fornisce un quadro dei processi del ciclo di vita del software con attività e incarichi necessari per la progettazione e la manutenzione in sicurezza del software nei dispositivi medici.
L’elaborato esordisce con una introduzione alla realtà aumentata e con lo stato dell’arte attuale per quanto riguarda le applicazioni di AR in chirurgia. Segue un excursus sugli head-mounted display soffermandosi in particolare sulla distinzione tra Optical e Video see-through e le modalità di tracciamento. Queste informazioni sono fondamentali per poter comprendere il progetto VOSTARS e il motivo della sua ideazione.
File
Nome file | Dimensione |
---|---|
Tesi non consultabile. |