logo SBA

ETD

Archivio digitale delle tesi discusse presso l’Università di Pisa

Tesi etd-11062020-113000


Tipo di tesi
Tesi di laurea magistrale
Autore
ESPINOZA, NICCOLO' EMILIANO
URN
etd-11062020-113000
Titolo
Implementazione GPU di algoritmi di compressione del range dinamico di immagini medicali per applicazione in fluoroscopia digitale
Dipartimento
FISICA
Corso di studi
FISICA
Relatori
relatore Prof. Panetta, Daniele
correlatore Ing. Rebuffat, Ciro
Parole chiave
  • calcolo parallelo
  • fisica medica
  • fluoroscopia digitale
  • GPU
  • trasferimento tecnologico.
Data inizio appello
07/12/2020
Consultabilità
Non consultabile
Data di rilascio
07/12/2090
Riassunto
Il presente lavoro nasce da una collaborazione, promossa dal Distretto Toscano Scienze della Vita, tra il Consiglio Nazionale delle Ricerche (C.N.R.) di Pisa e l'azienda Italray di Scandicci (FI), produttrice di strumenti per radiodiagnostica medica. La collaborazione, svolta nell'ambito del Trasferimento Tecnologico (TT), da sempre tra le principali “mission" del CNR, ha come oggetto la messa a punto di un upgrade di un sistema di fluoroscopia digitale commerciale, basato su un rivelatore di raggi X digitale di tipo "flat-panel". In particolare, per tale sistema è necessaria l'implementazione e la successiva ingegnerizzazione di alcune fasi di elaborazione (enhancement) delle immagini dello stream video fornito dal detector. Tale processamento, a causa dell'architettura di trasmissione dei dati del sistema, deve essere parallelizzata su processori grafici (GPU) sul PC di acquisizione, affinché possa essere resa compatibile con gli attuali rate di trasmissione di immagini (frames-per-second) usati in clinica.
Negli ultimi decenni si è visto un grande sviluppo sia hardware che software nel processamento parallelo. Dal punto di vista hardware, l'evoluzione ha riguardato il numero di processori, la frequenza di clock e la larghezza di banda.
Nelle ultime generazioni di schede video si hanno migliaia di processori che processano a una frequenza dell'ordine dei Ghz, portando la potenza di calcolo nell'ordine dei TeraFlops. Dal punto di vista software, le librerie CUDA (Nvidia)
e tutti i suoi moduli sono in costante aggiornamento, al fine di aumentare progressivamente il livello di astrazione delle Application Programming Interfaces (API) e di renderle sempre più ad “alto livello", con una conseguente indipendenza dall'architettura hardware sottostante percepita dallo sviluppatore. Nei sistemi fluoroscopici si ha la necessità di processare immagini in tempo reale e la velocità di processamento ha grande influenza sul “throughput" e sulla reale utilizzabilità degli algoritmi nelle applicazioni reali.
Rispetto alla fluoroscopia tradizionale, basata su intensificatori di immagine e catene televisive analogiche, la fluoroscopia digitale, offre vantaggi per quanto riguarda l'acquisizione delle immagini, il loro processazione e la successiva gestione informatica. Dal punto di vista della sicurezza del paziente, le tecniche di elaborazione delle immagini digitali permettono anche di eseguire gli esami diagnostici con dosi ridotte di radiazioni ma mantenendo il livello di qualità delle immagini necessario a preservare il loro contenuto informativo.
Queste tecniche possono essere: la riduzione del rumore sull'immagine tramite
la media sui frame precedenti e l'applicazione di algoritmi di miglioramento (enhancement) delle immagini.
La maggior parte di tali tecniche sono fortemente parallelizzabili, e si prestano ad una implementazione su GPU.
Il sistema X-frame DRF prodotto da Italray utilizza come algoritmo di miglioramento delle immagini, oltre che la media sui frame precedenti, un processamento di tipo piramidale. Questo tipo di algoritmi sono nati all'inizio degli anni '80 come codice compatto, versatile ed efficiente per merging di immagini, interpolazione di pixel mancanti, creazione di frattali e miglioramento delle immagini.
Lo scopo del presente lavoro di tesi è quello di migliorare in real time le immagini del sistema fluoroscopico, e in particolare di comprimerne il range dinamico al fine di evidenziare, in una tipica finestra di visualizzazione a 8-bit, tutte le caratteristiche anatomiche del paziente presenti nell'immagine originale a 16-bit. Tale compressione è particolarmente utile nell'imaging dinamico ad alto frame-rate, in cui non è possibile effettuare una scelta univoca di settaggi "finestra/livello" valida per tutti i segmenti anatomici. L'algoritmo preso in considerazione in questa tesi procede per passi successivi alla creazione di una piramide di immagini di dimensione ridotta ad ogni livello, detta piramide laplaciana. Questa piramide, ad ogni livello, ha una risposta in frequenza differente da livello a livello: più è alto il livello, più la banda passante sarà vicina alla frequenza continua. Sommando e pesando opportunamente le immagini dei vari livelli, si otterrà un'immagine finale con il desiderato bilanciamento delle varie frequenze spaziali.
L'algoritmo è stato implementato con tre diverse librerie per il calcolo scientifico parallelo del in linguaggio di programmazione C/C++: IPP, NPP e OpenCV. Le librerie IPP sono librerie specifiche per elaborazione di immagini su processori (CPU) Intel e sono state utilizzate come Gold Standard per avere un confronto in termini di qualità dell'immagine e di efficienza di calcolo.
Le librerie NPP, specifiche per schede grafiche Nvidia, sono state utilizzate come riferimento per quanto riguarda il processamento parallelo su GPU. Infine, le librerie OpenCV sono più ad alto livello e offrono la possibilità di processare le immagini in modo sia sequenziale sia parallelo, e sono state utilizzate in questa tesi per confermare i risultati precedenti.
Per confrontare le prestazioni sono stati utilizzati hardware di medio-basso costo: una CPU che processa a una frequenza di 3.4 GHz e una GPU con 384 Core che processano a una frequenza di 1 GHz. Tra le librerie IPP e NPP, le
prestazioni ottenute con NPP sono risultate le migliori ottenendo un guadagno di un fattore uguale a 8,9 ± 0,7. In termini assoluti, utilizzando le librerie NPP, su immagini di 512X512 pixel si è ottenuto un tempo di [2,16 ± 0,01] ms. Tale tempo risulta accettabile e non influisce sul tempo di trasmissione delle immagini.
File