POLITECNICO DI BARI DIPARTIMENTO DI INGEGNERIA ELETTRICA E DELL’INFORMAZIONE CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA ELETTRONICA TESI DI LAUREA IN CIRCUITI PER ELABORAZIONE DI SEGNALI RETI INNOVATIVE PER LO SVILUPPO DI MODELLI DI CALCOLO COLLABORATIVO NELLA DIAGNOSTICA OFTALMICA Relatore: Chiar.ma Prof. ing. Leonarda CARNIMEO Correlatore: Chiar.mo Prof. Marcello CASTELLANO Laureanda: Annamaria Roberta ALTOMARE ANNO ACCADEMICO 2014 / 2015 Indice 1. Introduzione ................................................................................................. 1 2. Stato dell’arte ............................................................................................... 4 2.1. Reti: struttura, proprietà, tipologie ................................................................. 4 2.1.1. Struttura di rete ................................................................................................. 4 2.1.2. Reti reali e loro proprietà .................................................................................. 5 2.1.3. Modelli di rete .................................................................................................. 7 2.1.4. Reti nel mondo ................................................................................................. 8 2.1.5. Reti collaborative ............................................................................................ 11 2.2. Virtual Organization ..................................................................................... 14 2.2.1. Definizione di Virtual Organization ................................................................ 14 2.2.2. Ciclo di vita .................................................................................................... 16 2.2.3. Condivisione delle risorse ............................................................................... 17 2.2.4. Esempi applicativi .......................................................................................... 19 2.3. Grid computing ............................................................................................. 23 2.3.1. Reti di calcolo: cluster, grid, cloud ................................................................. 24 2.3.2. Architettura di griglia ...................................................................................... 27 2.3.3. Grid computing e Virtual Organization ........................................................... 35 2.3.4. Portale web e workflow ................................................................................... 37 2.3.5. Ambienti di griglia .......................................................................................... 40 2.4. La tecnologia come supporto alla medicina .................................................. 45 3. Sviluppo di una rete collaborativa .............................................................. 47 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. Motivazione e definizione degli obiettivi ....................................................... 47 Ingressi e uscite ............................................................................................ 49 Fasi per la realizzazione dei database ........................................................... 52 Ruoli coinvolti nella Virtual Organization .................................................... 53 Regole di visualizzazione .............................................................................. 54 Sviluppo del processo di classificazione di immagini retinografiche ............. 56 3.6.1. Valutazione della qualità dell’immagine ......................................................... 58 3.6.2. Affiancamento dell’immagine elaborata.......................................................... 59 3.6.3. Registrazione delle lesioni patologiche ........................................................... 59 3.6.4. Controllo della retinografia classificata ........................................................... 60 3.6.5. Archiviazione della retinografia classificata .................................................... 61 3.7. Sviluppo del processo di realizzazione di immagini Ground Truth ................ 62 3.7.1. Selezione dell’immagine ................................................................................. 63 3.7.2. Sviluppo dell’immagine Ground Truth ........................................................... 64 3.7.3. Controllo dell’immagine Ground Truth........................................................... 65 3.7.4. Archiviazione dell’immagine Ground Truth.................................................... 66 3.8. Modello innovativo di rete oftalmica basato sulla Virtual Organization........ 67 4. Modello di una rete oftalmica innovativa per la retinopatia diabetica ....... 69 4.1. La retinopatia diabetica ................................................................................ 70 4.2. Il rilevamento dei vasi retinici attraverso un metodo combinato di pre-processing ............................................................................................... 71 4.2.1. Acquisizione dell’immagine retinica ............................................................... 72 4.2.2. Metodo combinato di pre-processing .............................................................. 73 4.2.3. Segmentazione e post-processing .................................................................... 78 5. Risultati e discussione ................................................................................ 82 5.1. Rete collaborativa per la diagnostica oftalmica ............................................ 82 5.2. Organizzazione del lavoro collaborativo ........................................................ 83 5.3. Struttura dei database .................................................................................... 86 5.4. Modello di rete oftalmica per sviluppo database per retinopatia diabetica .... 87 5.5. Sviluppi progettuali futuri ............................................................................ 101 6. Conclusioni............................................................................................... 102 Bibliografia ................................................................................................... 104 1. Introduzione I database sono molto più che archivi, in quanto non consistono in semplici elenchi o tabelle. I database consentono, per mezzo di particolari applicazioni software, la gestione dei dati che sono in essi suddivisi a seconda degli argomenti. Il database offre la possibilità di compiere diverse operazioni sui dati, come il recupero, l’organizzazione, l’analisi e il riassunto, oltre a permettere nuovi inserimenti, cancellazioni e aggiornamenti [Cas11]. La creazione e la gestione di un database necessita di molte operazioni e del coinvolgimento di diverse figure professionali; si possono anche presentare inconvenienti legati alla natura distribuita dei dati e/o a difficoltà normative. Queste problematiche si ritrovano in medicina, dove c’è necessità di un ambiente collaborativo che gestisca l’alta densità di dati prodotti che devono essere archiviati e processati [Sim15, Gri15, Tru13, Cas11, Bel07]. I database medici hanno natura distribuita e presentano problemi di privacy e di proprietà delle immagini, ma risultano fondamentali per i programmi di screening [Sim15, Tru13, Bel07]. Infatti le metodologie di elaborazione delle immagini utilizzate in questi contesti, necessitano di risorse dinamiche e scalabili, e spesso il loro sviluppo presenta limitazioni legate alla mancata disponibilità di un ampio e vario set di immagini per l’addestramento e di riferimenti per la loro convalida. Queste problematiche si presentano a causa dei già citati ostacoli normativi e di proprietà, e delle dispendiose e laboriose operazioni che intervengono nella creazione dei database stessi [Sim15, Tru13, Gri15]. Per questi motivi il presente lavoro affronta tali difficoltà con reti innovative per lo sviluppo di modelli di calcolo collaborativo nella creazione di database per la diagnostica oftalmica. Si gestirà la creazione di un database di retinografie classificate per l’addestramento e di un database di riferimenti utili per la validazione, ognuno adeguatamente strutturato. Per il raggiungimento di tale obiettivo si parte dal presupposto che la realizzazione e la gestione di database che contengano molte utili informazioni, necessita della creazione di un complesso sistema in cui confluisca il lavoro di specifiche figure mediche e non. Da questa analisi deriva che il sistema può essere pensato come una struttura di rete collaborativa, modellata al fine di raggiungere l’obiettivo prefissato. Infatti, le reti, intese come strutture naturali fondamentali [Yan12, Boc06, New03, Wan03], costituiscono oggi sistemi complessi che collegano gli individui in modi diversi in tutto il mondo. Ogni tipo di rete, che sia biologica, tecnologica, di informazione o sociale, si costituisce per soddisfare specifiche necessità. Nel contesto in esame risultano di particolare rilevanza le reti di tipo sociale che permettono l’interazione tra persone o gruppi di persone. Le reti collaborative sono in genere reti di affiliazione in cui i partecipanti collaborano in gruppi di tipologie diverse per conseguire un determinato obiettivo. Inoltre, lo sviluppo tecnologico ha reso possibile la transizione dei gruppi di lavoro su spazi virtuali [Bre10], permettendo di avviare quel lungo processo evolutivo che ha condotto al concetto di Virtual Organization. Le reti di tipo Virtual Organization, diffuse in tutto il mondo e in particolar modo in Europa [Cas15, Ban05, Gae05, Bel07, Fos01], possono essere 1 definite da gruppi di individui e/o istituzioni che collaborano per un comune interesse e attraverso determinati protocolli, condividendo risorse quali processori, dati, servizi e altro, anche se geograficamente distribuiti. La natura di queste architetture di reti organizzative è flessibile e ben si adatta a scenari che differiscono per numero di partecipanti, tipologia di attività, durata, entità dell’interazione, e risorse condivise. Per questi motivi si intende qui modellare reti innovative di tipo Virtual Organization per lo sviluppo di database specifici, per gestire in modo più efficace ed efficiente il lavoro degli individui coinvolti e risolvere le problematiche derivanti dalle operazioni insite nei processi stessi di realizzazione. In questa tesi saranno proposti modelli di rete collaborativa, ognuno configurato in modo tale da consentire la realizzazione di un database. Si considereranno i ruoli professionali necessari al raggiungimento dell’obiettivo e si creeranno i giusti collegamenti tra questi per permettere lo sviluppo del flusso delle diverse operazioni; saranno anche proposti modelli di dati che comprendano opportuni metadati per consentire di effettuare ricerche mirate sui database; si stabiliranno importanti regole di condivisione che definiscano chiaramente e attentamente: cosa può essere condiviso in termini di immagini e di informazioni ad esse relative, chi ha il permesso di condividere considerando tutte le figure coinvolte interne ed esterne all’organizzazione, e le condizioni in cui avviene la condivisione stessa. Questi aspetti risultano fondamentali nella gestione di dati sensibili, quali i dati medici che, come detto, sono difficili da maneggiare a causa dei problemi di privacy e di proprietà. A questo proposito i contenuti dei database saranno strutturati con molta attenzione, per soddisfare le richieste di sicurezza, proteggendo i dati sensibili da utenti non autorizzati. Per sostenere il flusso di lavoro nell’ambiente collaborativo creato si ricorrerà alla tecnologia del workflow che permette di gestire la sequenza delle attività necessarie per il raggiungimento di un obiettivo [Cas15]. La tecnologia del workflow risulterà fondamentale nello sviluppo del lavoro per la realizzazione dei database. Si suddivideranno i diversi processi di creazione in fasi adeguate e si organizzeranno i diversi compiti, in modo tale da assicurare sia la giusta successione delle operazioni sia l’introduzione di momenti di verifica che garantiscano l’accuratezza dei dati inseriti nei database. La tecnologia del workflow permetterà di supportare efficacemente il flusso di lavoro tra i diversi ruoli, assicurando che ogni nuovo contenuto venga prodotto dal profilo corretto. Nell’ambito dei modelli di rete collaborativa per la creazione di database di retinografie classificate e di immagini di riferimento, si presenta un nuovo modello di rete collaborativa di natura oftalmica che permette la creazione di ulteriori database. Si propone che questi database contengano immagini retinografiche elaborate suddivise per patologia. La loro creazione sarà basata sull’interazione tra il lavoro di produzione di immagini elaborate ad opera degli utilizzatori dei due database precedentemente citati ed il puntuale lavoro di controllo effettuato dai componenti dell’organizzazione virtuale presentata. A tal proposito, verrà fornita una indicazione metodologica per la generazione di un database nell’ambito 2 della retinopatia diabetica attraverso lo sviluppo di un archivio di immagini per il riconoscimento di vasi retinici. Questo ulteriore modello di rete evidenzia i punti di forza del lavoro presentato, in quanto la collaborazione tra tutte le figure coinvolte, interne ed esterne all’organizzazione, genera una continua espansione dei database, mantenendo l’alta qualità dei contenuti e la facilità di accesso e di utilizzo. Queste caratteristiche sono espressione della natura innovativa dell’ambiente presentato e dei database così strutturati nell’ottica di contribuire a fornire un supporto efficace nell’evoluzione della diagnostica oftalmica. 3 2. Stato dell’arte 2.1. Reti: struttura, proprietà, tipologie L’uomo è immerso nelle reti ed è egli stesso, come individuo, l’unità di reti di relazioni sociali e, come sistema biologico, il delicato risultato di reti di reazioni biochimiche [Boc06]. Storicamente lo studio delle reti [Yan12, Boc06, New03, Wan03] è stato principalmente di dominio di un ramo della matematica discreta, conosciuto come teoria dei grafi. Fin dalla sua nascita nel 1736, quando il matematico Svizzero Leonhard Euler pubblicò la soluzione al problema dei ponti di Königsberg (riguardante la ricerca di un percorso che attraversasse ciascuno dei ponti della città esattamente una volta), la teoria dei grafi ha avuto consistenti sviluppi rispondendo a molte domande [Boc06]. 2.1.1. Struttura di rete Una rete [New03] è un insieme di elementi chiamati vertici o nodi che si possono quindi definire le unità fondamentali di questo tipo di struttura. In questi sistemi, detti anche grafi nella letteratura matematica, i vertici sono connessi tra loro da collegamenti che, a seconda della tipologia di elementi della rete, possono indicare un legame fisico, un collegamento ipertestuale, una relazione sociale o un altro tipo di connessione. Un collegamento può essere orientato se si percorre in un’unica direzione o non orientato se può essere percorso in entrambe le direzioni; la direzione dei collegamenti (detti in questo caso anche archi) è indicata da frecce come in Fig. 1 [New03]. Fig. 1. Rappresentazione di un grafo: (a) non orientato; (b) orientato 4 La struttura dei collegamenti in una rete [Boc06] ha importanti conseguenze sulla robustezza del sistema e sulla risposta a perturbazioni esterne, come guasti casuali o attacchi mirati. Se da un grafo si estraggono solo alcuni nodi mantenendo tutti i collegamenti tra questi, si definisce un sotto-grafo. Un concetto fondamentale nella teoria dei grafi è quello della raggiungibilità tra due differenti nodi che non implica la loro adiacenza. Un cammino da un nodo di partenza ad un altro di arrivo è una sequenza alternata di nodi e collegamenti che si avvia con il nodo iniziale e termina con quello finale. La lunghezza di un cammino è definita come il numero di collegamenti in sequenza, da cui il riferimento al cammino con la minima lunghezza come alla geodetica tra due nodi della rete. Un cammino chiuso, formato da almeno tre nodi in cui nessun collegamento è ripetuto, è invece indicato come ciclo. Il numero di collegamenti per un vertice costituisce il grado che non è necessariamente pari al numero di vertici ad esso adiacenti, perché potrebbe esserci più di un collegamento tra due nodi. In un grafo orientato si considera per ogni vertice il grado degli archi in ingresso e il grado degli archi in uscita. La caratterizzazione topologica basilare di un grafo può essere ottenuta in termini di distribuzione di grado, definita come la probabilità che un nodo, scelto a caso, abbia un determinato grado o, equivalentemente, come la frazione di nodi del grafo con il suddetto grado. Nelle reti reali, la distribuzione di grado si discosta significativamente dalla distribuzione di Poisson, tipica di un grafo casuale, cioè un grafo con una disposizione disordinata dei collegamenti tra i nodi. Lo studio dei grafi casuali ebbe inizio con Erdös e Rényi nel 1959, i quali si proposero di investigare le proprietà dei grafi all’aumentare del numero di collegamenti casuali con metodi probabilistici [Boc06]. 2.1.2. Reti reali e loro proprietà Molti sistemi reali [Boc06] sono realizzati da un gran numero di unità dinamiche altamente interconnesse, risulta quindi utile un primo approccio che li modelli sotto forma di grafi per catturarne le proprietà globali. Risulta evidente come questa sia una forte approssimazione, poiché è un approccio che consiste nel tradurre le interazioni (generalmente dipendenti dal tempo, dallo spazio e eventualmente da altre variabili) tra due unità dinamiche in un numero binario che indichi l’esistenza o la mancanza del collegamento tra i due nodi. Tuttavia tale approssimazione fornisce una rappresentazione dell’intero sistema che, seppur semplice, permette di estrarre abbastanza informazioni per lo studio dello stesso. Si può affermare che la maggior parte delle reti reali è caratterizzata dalle stesse proprietà topologiche, tra cui risultano maggiormente rilevanti l’effetto small-world, la distribuzione di grado di tipo scale-free, la proprietà di clustering e le correlazioni. L’effetto small-world emerge quando in una rete si ha una lunghezza media di cammino particolarmente breve. Le reti reali, nonostante siano di grandi dimensioni, presentano un relativamente breve cammino minimo tra due generici nodi, poiché sono presenti 5 collegamenti tra differenti settori della rete che consentono di accelerare le comunicazioni tra nodi altrimenti distanti. La proprietà small-world, nelle reti reali, è spesso associata alla presenza di un alto coefficiente di clustering. Quest’ultimo esprime la presenza di un collegamento tra due nodi connessi ad uno stesso nodo, e quindi si concretizza con la presenza di un gran numero di triangoli all’interno del grafo. Un'altra importante caratteristica riscontrata nelle reti reali riguarda la distribuzione di grado che, come già riportato, non segue la distribuzione di Poisson ma sorprendentemente obbedisce alla legge di potenza con esponente compreso tra 2 e 3. Questo tipo di distribuzione rimane invariata, a meno di una costante moltiplicativa, nei cambiamenti di scala, pertanto le reti che la esibiscono sono chiamate reti di tipo scale-free. È necessario sottolineare che questa definizione non comporta l’invarianza di altre proprietà strutturali, nei cambiamenti di scala, di tali grafi. Questa proprietà si traduce nella presenza di pochi nodi con molte connessioni e di molti nodi con pochi collegamenti. Molte reti reali possono anche essere correlate, cioè la probabilità che un nodo sia connesso ad un altro nodo con lo stesso grado, dipende proprio da quest’ultimo. Inoltre, a volte, è anche possibile individuare un particolare motivo ripetuto di interconnessioni. In Fig. 2 si può osservare la rappresentazione grafica di tutti i 13 tipi di motivi di interconnessioni che si possono generare tra tre nodi in un grafo orientato [Boc06]. Fig. 2. Rappresentazione grafica di 13 tipi di motivi di interconnessioni 6 2.1.3. Modelli di rete Come descritto in [Yan12] si possono individuare un insieme di modelli strutturali comuni nel panorama delle reti reali. Nel descrivere questi modelli è preferibile rifarsi ad un livello meno fine di risoluzione, cioè raggruppare i nodi aventi la stessa distribuzione di probabilità di collegamenti in un unico blocco. Si possono, quindi, definire i multi modelli delle reti come un organizzazione gerarchica che consiste in un set di blocchi annidati. I blocchi nei livelli inferiori sono direttamente annidati nei più grandi blocchi dei livelli direttamente superiori. Si possono quindi dare le seguenti definizioni dei modelli che si possono ritrovare più frequentemente nelle reti reali: - community: un blocco collegato a se stesso; authority: un blocco, collegato a se stesso, al quale sono collegati altri blocchi; hub: un blocco collegato a se stesso che si collega ad altri blocchi; outlier: un blocco, non collegato a se stesso, al quale si collega un blocco di tipo hub o anche un blocco, non collegato a se stesso, che si collega con un blocco di tipo authority; - bow tie: un sotto-grafo che consiste in un blocco definito Bc e due set di blocchi definiti BL e BR rispettivamente, tali che: 1) Bc è bilateralmente collegato con BL e BR; 2) non ci sono elementi in comune tra i due set BL e BR; 3) non ci sono collegamenti tra i due set BL e BR; - multipartite: un sotto-grafo composto da un set di blocchi, non collegati a se stessi, che sono reciprocamente collegati; - bipartite: uno speciale caso di multi partite che consiste in un sotto-grafo composto da due blocchi, non collegati a se stessi, che sono unilateralmente o bilateralmente collegati tra loro. Inoltre, nelle reti reali possono esistere sovrapposizioni tra differenti modelli, cioè uno stesso blocco può far parte contemporaneamente di più sotto-grafi. In Fig. 3 si ritrovano i modelli, precedentemente descritti, rappresentati sotto forma di reti, nella prima colonna di ogni caso, e di modello a blocchi, nella seconda colonna [Yan12]. 7 Fig. 3. Modelli frequentemente osservati nelle reti reali: (a) community; (b) authority outlier; (c) hub outlier; (d) bow tie; (e) multipartite; (f) bipartite; (g) multi modelli su due livelli 2.1.4. Reti nel mondo Nel mondo sono numerosi i sistemi che presentano una struttura di rete [New03, Wan03], si possono citare esempi come Internet rete di domini, il World Wide Web rete di siti web, i social networks e altre reti di collegamenti tra persone come le reti organizzative; anche l’economia globale può essere considerata una rete composta dalle reti delle economie nazionali, che sono esse stesse reti di mercati che sono a loro volta reti di interazioni tra produttori e consumatori. Anche in natura si hanno strutture di rete. Ad esempio pensando alla struttura cellulare come ad un’organizzazione funzionale, ogni cellula può essere considerata come una singola rete, ma si hanno anche reti di distribuzione, come le reti dei vasi sanguinei o reti come quella cerebrale composta di neuroni. Altre strutture di rete si possono ritrovare considerando le relazioni presenti tra le parole in una lingua, gli argomenti in una conversazione, le strategie per risolvere un problema matematico o, anche, le vie di trasmissione delle malattie. Se si esaminano i dati provenienti da reti sviluppatesi in diversi settori della scienza e le loro proprietà, si possono considerare quattro grandi categorie di reti come descritto in [New03]: reti biologiche, reti tecnologiche, reti di informazione e reti sociali. Esempi classici di rete biologica [New03] sono le reti metaboliche caratterizzate da legami chimici o, contrapposte ad esse, le reti di interazione fisica tra le proteine, come indicato in 8 Fig. 4. Altri importanti casi di studio sono le reti dei neuroni, le reti vascolari e le reti alimentari. Fig. 4. Piramide composta da vari componenti molecolari di geni cellulari, RNAs, proteine e metaboliti Le reti tecnologiche [New03] sono, invece, reti artificiali disegnate tipicamente per la distribuzione di alcune risorse. La rete elettrica rappresenta sicuramente un buon esempio, ma si possono anche investigare la rete stradale, ferroviaria e telefonica. In questa casistica bisogna inserire anche Internet in quanto rete di collegamenti fisici tra computer. Gli studi inerenti Internet non possono considerare i singoli elementi connessi alla rete data la loro vasta quantità, essi sono quindi condotti a livello di router o di sistemi autonomi, cioè gruppi di computer localmente connessi. Queste modalità di indagine permettono di ricostruire abbastanza bene la struttura fisica di Internet. Le reti di informazione [New03] dette anche reti di conoscenza, trovano una buona rappresentazione nelle reti di citazione, in cui le relazioni tra gli articoli, che rappresentano i vertici della rete, sono definite da archi orientati (un collegamento orientato da A a B indicherà che A cita B). La struttura della rete di citazione riflette, quindi, la struttura delle informazioni contenute nei suoi nodi, da cui la definizione di rete di informazione. In particolare le reti di citazione sono inoltre acicliche perché un articolo può citare solo altri articoli già scritti e non quelli ancora da scrivere; quindi generalmente seguendo i collegamenti nella struttura si procede a ritroso nel tempo. Il vantaggio di queste reti è nell’abbondanza e nell’accuratezza dei dati. Si rende necessario, però, citare un altro 9 importante esempio di rete di informazione, la rete delle pagine Web detta World Wide Web. In questa rete le pagine Web rappresentano l’informazione e le connessioni sono rese possibili dai collegamenti ipertestuali in esse contenuti. È molto importante non confondere il Web con Internet che, come già detto, è una rete fisica di computer. A differenza delle reti di citazione la rete World Wide Web è ciclica. Fig. 5. Rappresentazione della struttura di Internet e della rete World Wide Web Infine, una rete sociale [New03] è un insieme di persone o gruppi di persone, legati da diverse interazioni. Di particolare rilievo sono gli studi condotti da Jacob Moreno negli anni ’20 e ’30 sui modelli di amicizia tra piccoli gruppi, le opere di Rapoport et al. inerenti le relazioni tra gruppi di bambini in età scolare e, ancora, i lavori di Elton Mayo et al. sui rapporti tra i lavoratori delle fabbriche nella Chicago degli anni ’30. Un altro importante set di esperimenti si ritrova nei lavori di Milgram che pur non ricostruendo nessuna rete reale, riescono a descrivere molto della struttura di una rete. Milgram chiese a persone casualmente selezionate in Nebraska di spedire una lettera ad un destinatario finale a Boston di cui non venne fornito l’indirizzo. Le lettere potevano essere inviate solo a qualcuno che avesse un legame abbastanza forte col mittente corrente (legame espresso, secondo Milgram, dal riferirsi da parte del mittente al destinatario col nome di battesimo) che fosse presumibilmente 10 maggiormente prossimo al destinatario finale. Sebbene l’ipotesi comune fosse si centinaia di passaggi per permettere alle lettere di giungere alla loro destinazione finale, i risultati ottenuti da Milgram mostrarono che il numero medio di collegamenti tra il mittente iniziale e il destinatario finale fosse mediamente pari a sei. Questo esperimento è alla base del concetto dei “sei gradi di separazione” che venne poi espresso nel lavoro di Guare. L’esperimento è stato poi riprodotto con successo da Dodds et al. considerando gli scambi di e-mail. Spesso gli studi sulle reti sociali presentano scarsa accuratezza, poiché generalmente i dati afferenti questa tipologia di reti sono racconti interrogando direttamente i partecipanti con questionari o interviste; questo comporta risultati affetti dai pregiudizi degli intervistati e la necessità che le strutture investigate si mantengano di piccole dimensioni. La grande quantità di errori, che si vengono a generare per i suddetti motivi, porta molti ricercatori ad investigare in altro modo le reti sociali. Un esempio di fonte di dati abbondanti e relativamente affidabile sono le reti collaborative [New03]. 2.1.5. Reti collaborative Le reti collaborative [New03, Bre10, Bre15] sono in genere reti di affiliazione in cui i partecipanti collaborano in gruppi di tipologie diverse. La comune appartenenza ad un gruppo permette di stabilire un collegamento tra due individui. Esempi di reti collaborative [New03] si ritrovano in campi molto diversi della vita dell’uomo, per citarne alcuni si consideri le reti di collaborazione di attori (in cui due attori sono considerati connessi se compaiono nello stesso film), reti di direttori di società (in cui due direttori sono collegati se appartengono allo stesso consiglio di amministrazione) , reti di coautori (in cui due autori sono connessi se artefici di uno o più lavori) o reti tra individui che si vengono a creare dallo scambio di informazioni. Studi sono stati fatti anche per reti di e-mail, esplorando ad esempio il traffico di posta elettronica tra gli studenti dell’Università di Kiel. In questo tipo di rete gli indirizzi email costituiscono i nodi che sono collegati da archi rappresentanti i messaggi inviati [New03]. Le ricerche [Bre10] sulla comunicazione virtuale sono state sviluppate in ragione dello sviluppo tecnologico e della crescita dei mercati globali che sempre più hanno portato allo sviluppo del lavoro in spazi virtuali. Gli studi mostrano l’insorgere nei gruppi di lavoro virtuali di problemi di comunicazione (intesa da Reilly come forma di incomprensione o cattiva interpretazione che conduce ad una rottura nei dialoghi e rende necessarie azioni correttive da parte dei partecipanti), generalmente causati da fattori quali l’ethos, la comunicazione sociale, la conoscenza degli altri, le tecnologie e i confini. La chiave per un efficace scambio di informazioni si ritrova nell’ethos che può anche essere inteso come credibilità, definita da Fogg come una qualità a due dimensioni: affidabilità e competenza. Questo fattore diventa ancora più importante nei gruppi di lavoro virtuale perché gli individui, ad esso appartenenti, operano in strutture astratte, rendendosi così più vulnerabili ai malintesi. 11 La comunicazione sociale, in questo tipo di studi, intesa come la chiave per lo sviluppo dell’ethos, è considerata come la comunicazione occasionale o informale tra colleghi che non condividono specificatamente lo stesso compito. Questo tipo di comunicazione si affievolisce con l’incrementassi delle distanze (si pensi ad esempio allo scambio di informazioni che può avvenire in un incontro tra colleghi nel corso di una pausa pranzo), pertanto la costruzione dell’ethos diventa più complessa. Molto rilevante, per questi gruppi, diventa anche la capacità e la volontà di capire le prospettive di coloro con cui si comunica per una maggiore comprensione reciproca. La comunicazione è, inoltre, fortemente influenzata dalla tecnologia, ad esempio possono sorgere complicanze legate all’utilizzo differente dei servizi da parte dei singoli individui, eventualmente legati a metodi di utilizzo sorpassati. Risulta anche necessaria un’accurata scelta delle tecnologie in base al contesto lavorativo. Infine, si fa riferimento ai confini per indicare regole esplicite o implicite che limitano la comunicazione. Ovviamente in un contesto astratto questi non risultano così evidenti, ma si possono individuare ad esempio nell’utilizzo di password per proteggere alcuni spazi di lavoro, permettendo così il successo del gruppo di lavoro. Si vengono quindi a creare delle strutture sociali in cui si determina “chi interagisce con chi” e in quali circostanze si sviluppano queste interazioni. Tuttavia col proseguire delle ricerche sono emersi anche altri fattori critici per lo sviluppo dei gruppi di lavoro virtuali, come la lingua, la condivisione delle informazioni, i tempi, la troppa fretta, il “galateo informatico” altrimenti detto netiquette e altri che si materializzano riferendosi ad un analisi, effettuata da parte dei partecipanti, sul lavoro giornaliero, ponendo meno attenzione ad un panorama più ampio dei problemi comunicazionali. Anche questo tipo di problematiche merita attenzione, in quanto fa riferimento ad uno stato realistico di lavoro in cui si valutano costi in termini di tempo e produttività [Bre10]. In Fig. 6 si evidenziano i principali fattori che causano cattiva comunicazioni negli ambienti di lavoro virtuale, emersi nella letteratura CMC (Computer Mediated Communication) e in [Bre10]. Con riferimento alla Fig. 6: nel primo settore sono riportati i fattori emersi nelle ricerche CMC, senza distinzione tra relazioni lavorative tra persone native di differenti culture nazionali che vivono e lavorano oltre i confini nazionali, e rapporti di lavoro tra individui con la stessa cultura nazionale che vivono e lavorano all’interno della stessa nazione; nel secondo e nel terzo settore sono rispettivamente riportati i fattori emersi nelle ricerche CMC e in [Bre10], considerando solo le relazioni lavorative tra persone native di differenti culture nazionali che vivono e lavorano oltre i confini nazionali. 12 Fig. 6. Confronto dei fattori di cattiva comunicazione nel lavoro virtuale Studi più recenti, condotti in [Bre15], hanno investigato il lavoro di gruppi virtuali nel campo dell’ingegneria, attraverso un sondaggio on-line effettuato su 285 ingegneri nella primavera del 2013 (il 70% delle risposte deriva da partecipanti al di fuori degli Stati Uniti). I partecipanti hanno lavorato in molti settori ingegneristici, tra cui elettrico, elettronico, chimico, edilizio, meccanico, e aerospaziale, e in organizzazioni di tutte le dimensioni (da meno di 100 a più di 20.000 dipendenti), nei paesi di tutto il mondo. Tra gli intervistati il 68% riporta l’insorgere di problemi di comunicazione nei loro ambienti di lavoro virtuale, evidenziandone i conseguenti costi; il 60% sottolinea la mancanza di formazione da parte dei relativi enti di appartenenza, per sostenere un lavoro di tipo virtuale; mentre il 17% afferma che le rispettive società di appartenenza hanno provveduto ad una leggera informativa che non ha conseguito il giusto successo. Questo indica che mentre da un lato le aziende spingono per lo sviluppo di gruppi di lavoro virtuali, dall’altro non forniscono le giuste competenze ai partecipanti di tali gruppi che si ritrovano, così, ad affrontare sfide significative. Si possono riassumere, nel settore ingegneristico, le seguenti motivazioni riguardanti l’utilizzo dei gruppi virtuali: - stabilire collegamenti tra dipendenti della stessa azienda che lavorano in differenti paesi (60%); 13 - stabilire collegamenti tra dipendenti della stessa azienda che lavorano nello stesso paese (52%); - stabilire collegamenti tra dipendenti di diverse aziende che lavorano nello stesso paese (48%); - stabilire collegamenti tra dipendenti di diverse aziende che lavorano in differenti paesi (39%). Gli studi [Bre15] evidenziano, inoltre, una discrepanza tra le tecnologie più usate e quelle considerate più utili; ad esempio e-mail e telefono sono considerate, dagli intervistati, le tecnologie più utilizzate ma solo una piccola percentuale di questi le ritiene le più utili. Spesso la tecnologia limita il lavoro di questi professionisti, quindi è importante effettuare le giuste scelte tecnologiche. Infine, si possono identificare otto segni di successo di un gruppo virtuale, qui esposti in ordine di importanza decrescente, rispetto alle risposte dei professionisti: 1) 2) 3) 4) 5) 6) 7) 8) raggiungimento degli obiettivi; utilizzo efficace del tempo / determinazione del giusto ritmo; conseguimento degli obiettivi economici / rispetto del bilancio; realizzazione di un prodotto di qualità; creazione di un efficace flusso di comunicazione; esperienza di un basso tasso di problemi; supporto alla soddisfazione del cliente; supporto alla soddisfazione della squadra di lavoro. Attraverso le informazioni raccolte in questi studi, si possono meglio pianificare, implementare, valutare e gestire gruppi di valoro virtuale [Bre15]. 2.2. Virtual Organization Le sfide della società odierna necessitano di notevoli ed intuitivi approcci, come emerge dalle reti di collaborazione dinamica, caratterizzate da una buona rapidità di formazione e di adattamento. Queste nuove forme di collaborazione, sviluppatesi grazie all’evoluzione delle tecnologie dell’informazione e della comunicazione, hanno dato vita al concetto di Virtual Organization (VO) [Cas15, Ban05, Gae05, Bel07, Fos01]. 2.2.1. Definizione di Virtual Organization L’idea di VO [Cas15] è frutto di un lungo processo di evoluzione che ha origine in studi, risalenti al 1990, in cui si possono ritrovare considerazioni circa compagnie virtuali, aziende 14 virtuali o corporazioni virtuali, per poi svilupparsi all’intero di comunità di gestione e di comunità per le tecnologie di informazione e di comunicazione. L’importanza di questo tipo di organizzazione è sottolineata dai molti esempi di VO che si possono trovare in tutto il mondo e particolarmente in Europa, dove, la spinta per l’affermarsi di una cultura di cooperazione, non solo ha reso possibile il progresso nei settori di ricerca e sviluppo, ma ha, inoltre, permesso l’emergere di varie forme di organizzazione anche a livello regionale. Una rete di tipo VO può essere definita come un gruppo di individui e/o istituzioni che collaborano, pur essendo geograficamente distribuiti, per un comune interesse, condividendo, attraverso determinati protocolli, risorse quali processori, dati, servizi e altro. Tuttavia si possono ritrovare più definizioni di VO: - una temporanea rete di società che insieme arrivano rapidamente a sfruttare opportunità che mutano velocemente; - l’abilità dell’organizzazione di coordinare e di ottenere regolarmente le competenze, attraverso la progettazione di processi economici di aumento del valore e meccanismi di governo che coinvolgono elettori esterni ed interni per portare, sul mercato, un valore differenziale e superiore; - una rete di organizzazioni indipendenti e geograficamente distribuite, con differenti obiettivi, in cui tutti i membri forniscono le proprie competenze e la cooperazione è basta su relazioni semi stabili; - un organizzazione geograficamente distribuita i cui membri che sono vincolati da interessi comuni a lungo termine, comunicano e coordinano il loro lavoro attraverso le tecnologie di informazione; - una rete di organizzazioni in cui si formano allineamenti temporanei per combinare le specifiche capacità dei suoi membri, al fine di sfruttare velocemente uno specifico prodotto o un servizio per la produzione; dopo il conseguimento dell’obiettivo il provvisorio allineamento si dissolve e i membri diventano disponibili per un altra virtuale e temporanea destinazione. Ovviamente una questione fondamentale riguarda le modalità attraverso cui è possibile soddisfare le necessità fondamentali di questo tipo di collaborazioni. Sicuramente la formazione di una rete di tipo VO dipende dalla compartecipazione dei membri per il raggiungimento di un obiettivo comune, dalla presenza di un certo livello di fiducia reciproca, dall’istituzione di infrastrutture comuni e anche dalla condivisione dei valori [Cas15]. Come indicato in [Fos01], una rete di tipo VO può nascere ad esempio in un contesto in cui fornitori ASP (Application Service Providers), fornitori SSP (Storage Service Providers) (ASP e SSP permettono alle aziende di esternalizzare l’archiviazione ed elaborare le esigenze di altri) e consulenti vengono impiegati nella valutazione degli scenari durante la pianificazione di nuovi stabilimenti; oppure si può pensare ad un gruppo di gestione delle crisi 15 che utilizza database e sistemi di simulazione per fronteggiare le situazioni di emergenza. Se si considerano diverse reti di tipo VO si possono notare differenze di convinzioni, di obbiettivi, di dimensioni, di durata, di struttura, di comunità che potrebbero portare al pensarle come organizzazioni completamente differenti l’una dall’altra. Tuttavia se si guarda alle richieste tecnologiche, si evidenziano i problemi e le esigenze che le diverse reti di tipo VO hanno in comune. Tra le necessità più importanti si possono citare: - relazioni di condivisione altamente flessibili; - sofisticati e precisi livelli di controllo che gestiscano le modalità di condivisione delle risorse, le deleghe e l’applicazione di politiche globali e locali; - la condivisione di risorse diverse come programmi, file, dati, computer, sensori, reti; - modalità di utilizzo diverse che consentano sia l’utilizzo del singolo utente, sia l’impiego da parte di più utenti, tenendo conto della qualità del servizio, della pianificazione, della co-allocazione e della contabilità [Fos01]. 2.2.2. Ciclo di vita A prescindere dal tipo di rete di tipo VO presa in esame, si possono sempre individuare tre fasi nella sua vita [Cas15]: fondazione, istituzionalizzazione e virtualizzazione. In Fig. 7 è mostrato il ciclo di vita di una rete di tipo VO: nella parte superiore sono riportate in sequenza le fasi che intervengono nella vita di una rete di tipo VO; nella parte inferiore sono indicati i metodi di impiego delle Tecnologie dell’Informazione; infine le frecce tratteggiate collegano ogni fase con il relativo metodo di impiego. Fase Impiego delle Tecnologie dell’Informazione Fondazione Istituzionalizzazione Virtualizzazione Tradizionale Evoluto Integrato Fig. 7. Ciclo di vita di una rete di tipo VO La prima fase è quella in cui la rete di tipo VO viene ad essere strutturata per raggiungere l’obiettivo dei membri partecipanti. In questa fase vengono sfruttate le tecnologie in quello che è definito un modo tradizionale che supporti e migliori l’amministrazione delle attività dei membri, i compiti assegnati e i processi decisionali. Nel loro ruolo tradizionale, infatti, le tecnologie dell’informazione si occupano di svolgere funzioni a supporto dei basilari lavori di ufficio, per automatizzare, ottimizzare e supportare le azioni quotidiane, controllare gli inventari, ottenere un risparmio dei costi di funzionamento amministrativi. 16 Nella fase successiva di istituzionalizzazione vengono sviluppati i meccanismi sociali, in quanto il prosperare di una rete di tipo VO dipende dall’istituzione di una propria cultura (valori e convinzioni), le regole e le procedure operative. In questa fase la tecnologia evolve nel modo più adatto per sostenere le strategie organizzative, consentendo di raggiungere l’obiettivo preposto. Con l’ultima fase di virtualizzazione la rete di tipo VO evolve, promuovendo i rapporti tra i membri, nel tentativo di sviluppare un organizzazione completa. In questa fase che comporta la gestione dei conflitti e il sostegno della cooperazione tra i partecipanti, la rete di tipo VO utilizza in modo integrato le tecnologie dell’informazione, cioè le impiega nel conseguimento della creazione di prodotti e servizi, e della modifica dei rapporti tra fornitori e clienti. Si vengono così a creare nuovi canali di comunicazione e collegamenti tra i membri e a stabilire nuove procedure operative, permettendo all’organizzazione di tendere verso nuove opportunità. Risulta, quindi, evidente la stretta relazione tra lo sviluppo tecnologico e la vita delle reti di tipo VO. Con lo sviluppo delle tecnologie dell’informazione si abbassano i costi di integrazione e coordinazione, permettendo alle organizzazioni di formare sempre più partenariati con strutture che afferiscono a diversi settori specifici [Cas15]. 2.2.3. Condivisione delle risorse Un punto focale, di questo tipo di organizzazioni, si ritrova nella condivisione delle risorse [Fos01, Cas15]. In una rete di tipo VO vengono istituite delle regole di condivisione che definiscono, chiaramente e attentamente, cosa può essere condiviso, chi ha il permesso di condividere e le condizioni in cui avviene la condivisione, controllando i fornitori di risorse e i consumatori. Questi protocolli si rendono necessari perché la condivisione non riguarda lo scambio di un generico file, ma comporta un accesso diretto ai computer, ai software, ai dati, e a quant’altro può essere utile per la risoluzione di problemi a natura collaborativa e per strategie di intermediazione di risorse nei settori industriali, scientifici e ingegneristici [Fos01]. La gestione delle risorse che non solo sono condivise, ma anche distribuite ed eterogene, è resa possibile da meccanismi di autenticazione e autorizzazione che garantiscono la sicurezza, e da meccanismi che permettono la loro identificazione, in un ambiente altamente scalabile come quello di una rete di tipo VO [Cas15]. Per mettere in luce la natura delle reti di tipo VO in [Fos01] si introducono quattro casi di studio: 1) Nel prendere una decisione sul collocamento di un nuovo stabilimento, una compagnia, utilizza un modello di previsione finanziaria, richiamandolo da un fornitore ASP e consentendogli l’accesso ai necessari dati proprietari archiviati, nel tempo, in un database aziendale, attraverso sistemi di archiviazione gestiti da un fornitore SSP. Durante 17 l’incontro decisionale, in cui si ritrovano i capi di più sezioni risiedenti in diverse città, sono elaborati scenari predittivi collaborativamente e interattivamente, assicurando sempre il soddisfacimento dei requisiti di sicurezza. 2) Un consorzio industriale si adopera per un accurata simulazione multidisciplinare sugli aeromobili, al fine di sviluppare uno studio di fattibilità per una nuova generazione di aerei supersonici. Per eseguire la simulazione, sono richiesti componenti software sviluppati dai differenti partecipanti allo studio che operano, quindi, su differenti computer, accedendo agli appropriati database e ad altri dati, resi disponibili ai membri dal consorzio. 3) Una fuoriuscita di sostanze chimiche necessita del lavoro di un team di gestione delle situazioni critiche che utilizzando i dati del meteo locale e i modelli del terreno, riesca a stimare la diffusione della fuoriuscita, determinando l’impatto in base alla distribuzione della popolazione e alle caratteristiche geografiche (fiumi e altre forniture d’acqua), e permettendo una risposta da parte del personale di emergenza che pianifichi e coordini l’evacuazione . 4) Il CERN (Conseil Europeen pour la Recherche Nuleaire) avvia la produzione di un importante rivelatore, richiedendo il contributo di migliaia di fisici di centinaia di laboratori e università di tutto il mondo, i quali, durante la fase di elaborazione, condividono l’utilizzo del computer, gli archivi e altre risorse di rete. Come si può notare [Fos01], i differenti scenari differiscono per numero di partecipanti, tipologia delle attività, durata e entità dell’interazione e risorse condivise; tuttavia in ognuno di essi si manifesta il bisogno di condividere risorse tra individui che probabilmente non risultavano in alcun modo connessi prima del caso in esame, per il raggiungimento di un determinato obiettivo. Ogni proprietario di risorsa rende questa disponibile vincolando le azioni su di essa, specificando quando, dove e come possa essere impiegata (ad esempio un servizio di simulazione può essere vincolato nell’utilizzo per la sola risoluzione di semplici problemi); contemporaneamente un consumatore può scegliere di avvalersi solo di alcune risorse (ad esempio potrebbero essere selezionate solo risorse che sono certificate come sicure). Per soddisfare queste necessità, è necessario stabilire l’identità del consumatore di risorse, attraverso meccanismi di autenticazione, e determinare la coerenza con le politiche di condivisione, dell’operazione da effettuare sulla risorsa, utilizzando i meccanismi di autorizzazione. I rapporti di condivisione sono, anche, soggetti a cambiamenti nel corso del tempo con riferimento alle risorse coinvolte, al tipo di accesso consentito, ai permessi dei partecipanti. Questi cambiamenti che possono anche essere automatizzati, identificano la natura dinamica dei rapporti di condivisione. Conseguentemente, si rende necessaria la presenza di meccanismi che individuino e caratterizzino i diversi rapporti di condivisione, in ogni punto e in ogni momento della vita di una rete di tipo VO. 18 Bisogna considerare che la condivisione può non essere necessariamente di tipo client-server, ma anche di tipo peer to peer, cioè un membro può essere contemporaneamente sia fornitore di una risorsa, sia consumatore. Inoltre, per lo svolgimento di un determinato processo, può essere necessario l’accesso a più risorse possedute da diversi enti, rendendo così indispensabile la presenza di meccanismi che gestiscano le operazioni su di esse. Per garantire che le operazioni descritte si svolgano efficientemente, è necessario inserire, tra le condizioni di condivisione e di utilizzo delle risorse, parametri riguardanti le prestazioni, le aspettative e la qualità del servizio [Fos01]. In Fig. 8 gli ovali rappresentano tre enti reali, i quali possono separatamente partecipare ad una o a più reti di tipo VO (indicate come E e Q), condividendo tutte o solo alcune risorse. La rete di tipo VO E connette i partecipanti in un consorzio di progettazione aereospaziale, mentre la rete di tipo VO Q permette i collegamenti tra individui che condividono risorse di calcolo. L’ente rappresentato dall’ovale a sinistra partecipa ad E, mentre quello sulla destra partecipa a Q, infine il terzo rimanente partecipa ad entrambe. Nelle didascalie sono riassunte le politiche d’accesso che variano tenendo conto dell’ente, delle risorse e della rete di tipo VO [Fos01]. Fig. 8. Esempio di reti di tipo VO 2.2.4. Esempi applicativi Come già detto l’utilizzo delle reti di tipo VO è stato preso in considerazione per diversi settori. Uno di questi è il settore dello sviluppo delle conoscenze [Cas15, Ban05, Gae05]. In [Ban05] si concettualizza una rete di tipo VO indirizzata agli studenti per l’apprendimento e la valutazione dei risultati conseguiti. Nello studio è riportata la necessità dell’utilizzo trasparente e condiviso delle risorse, da parte degli studenti, per rendere il processo di 19 apprendimento efficace. Emerge, inoltre, il bisogno di personalizzare le attività per ogni studente e quindi si rende necessario ricorrere a metodologie che determinino dapprima le modalità di apprendimento preferite da ciascuno, per poi consentire l’esecuzione di un processo educativo personalizzato. Particolare attenzione è stata posta nella scelta di implementazioni, per le risorse distribuite, con alte prestazioni di sicurezza e di esecuzione; inoltre i servizi (realizzati tenendo conto della creazione di solide interfacce e di particolari protocolli di comunicazione) possono essere supportati da server vicini o lontani [Ban05]. In [Gae05] si sviluppa un progetto per la fornitura di servizi di informazione che presenta la struttura di tipo VO, coinvolgendo più organizzazioni. Il progetto che prende il nome di DIOGENE, è un progetto europeo volto a supportare gli studenti durante tutto il ciclo della formazione, dalla definizione degli obiettivi alla valutazione dei risultati. Con DIOGENE sono stati utilizzati sistemi per la rappresentazione e la gestione della conoscenza, la creazione di modelli rappresentanti il generico studente attraverso la logica fuzzy, la realizzazione di corsi intelligenti, l’introduzione di una serie di caratteristiche innovative come strategie di apprendimento dinamiche, servizi Web per la trasmissione di oggetti di tipo Learning Object, manutenzione del Curriculum Vitae e altre. La rete di tipo VO di questo progetto è fortemente basata sull’utilizzo dei sevizi Web ed è formata da elementi che offrono servizi e da elementi che li utilizzano. Si possono riassumere questi elementi in quattro categorie: - utenti: esseri umani che forniscono e utilizzano i servizi; - organizzazioni: entità fisiche che forniscono e utilizzano i servizi; - utility component: componenti software che garantiscono l’integrità dell’architettura; - accessor component: componenti software che consentono l’accesso dall’esterno alla rete di tipo VO, permettendo anche il collegamento in senso inverso, cioè dall’interno all’esterno. Nel progetto DIOGENE uno stesso utente può avere ruoli differenti e le organizzazioni partecipanti offrono diversi servizi, nel rispetto delle specifiche della rete di tipo VO, e collaborano per realizzarne di nuovi. I servizi sono resi disponibili agli utenti attraverso il portale web. Tutto il sistema è spiegato attraverso uno scenario semplificato che necessariamente utilizza componenti di tipo utility, come: il componente RMU (Resource Manager Utility) per la gestione delle risorse richieste, in linea con le politiche della rete di tipo VO; il componente di negoziazione (indicato in questo contesto con N) per i servizi di negoziazione tra il cliente (l’utente o l’organizzazione) e il componente MDS (Monitoring and Discovery Service) che conserva informazioni sui servizi forniti, sulle risorse e sul loro stato. In Fig. 9 sono riportati i passi eseguiti nell’ipotetico scenario, in cui un nuovo partecipante richiede una sessione di formazione: 20 (1) attraverso il componente A (Accessor) viene effettuata la richiesta al componente MDS che fornisce in risposta l’elenco dei servizi; (2) attraverso il componente A si ha l’interazione con il componente N per ottenere il servizio selezionato dall’elenco; (3) N interagisce con l’organizzazione che fornisce il servizio; (4) l’organizzazione interroga il componente MDS per ottenere la lista di risorse e servizi disponibili per soddisfare la richiesta; (5) l’organizzazione richiama il componente RMU che prenota le risorse necessarie da ogni altra organizzazione (frecce tratteggiate), soddisfacendo così la richiesta dell’utente; (6) l’utente richiede un offerta formativa personalizzata direttamente dal portale dell’agenzia TA (Training Agency); (7) l’agenzia TA contatta l’agenzia KA (Knowledge Agency) per costruire un percorso di apprendimento; (8) l’agenzia KA prepara il percorso e contatta l’ufficio BO (Brokerage Office); (9) quest’ultimo attraverso i contatti con la casa editrice PH (Publishing House) e l’agenzia WCA (WebCatcher Agency), ottiene la lista del materiale che meglio si adatta ai requisiti [Gae05]. Fig. 9. Scenario semplificato del progetto DIOGENE Più recentemente, questo tema è stato affrontato in [Cas15], in un lavoro che risulta orientato a migliorare il processo di sviluppo dei contenuti e-learning, sfruttando le nuove tecnologie non solo per la gestione delle risorse, ma anche per automatizzare il processo di produzione, in un ambiente collaborativo di tipo VO. Le risorse possono essere distinte in due gruppi che si riferiscono a due fasi diverse, la fase di sviluppo degli oggetti Learning Objects (anche 21 riutilizzabile in molti contesti per creare nuovi contenuti abbattendo i costi) e la fase didattica. Per quanto riguarda la creazione dei contenuti si possono distinguere più sotto fasi: pianificazione, progettazione, produzione, valutazione; mentre in riferimento alla fornitura dei contenuti si ritrovano le fasi di distribuzione e di manutenzione continua dell’ambiente di tipo e-learning. L’architettura di tipo P3 Model è stata utilizzata come tecnica per meglio conseguire gli obiettivi. Essa fa riferimento ad una struttura di tipo People, Process e Product (Fig. 10), in cui le persone vengono suddivise in diversi gruppi (planning team, design team, evaluation team, delivery team), ognuno coinvolto in una sotto-fase del processo che produce un’uscita del tipo: Project Charter, Project Plan, Storyboard. People Gruppo di Lavoro Process Sviluppo e Distribuzione del Contenuto Product Materiale Didattico Fig. 10. P3 Model Tra i servizi per la collaborazione tra individui si possono citare i forum, le chat e gli archivi condivisi. L’utente utilizzerà il sistema accedendovi attraverso una piattaforma web, all’interno della quale è implementata la rete di tipo VO, e potrà avere ruoli differenti che possono anche cambiare nel tempo. La modifica dei permessi di ogni ruolo è affidata ad un amministratore. Uno schema di struttura di rete di tipo VO per e-learning è mostrato in Fig. 11. Fig. 11. Schema di rete di tipo VO per e-learning 22 Ulteriore punto focale del progetto in [Cas15] è l’utilizzo della tecnologia del workflow che permette la gestione delle diverse attività, attraverso l’attribuzione dei compiti, il controllo dei tempi e la sincronizzazione tra i diversi membri, migliorando e coordinando il lavoro collaborativo. Un altro esempio di rete di tipo VO si ritrova in [Bel07], con lo sviluppo del progetto MAGIC-5 in campo medico. Il progetto MAGIC-5 mira a sviluppare software CADe (Computer Aided Detection) per l’analisi di immagini mediche su database distribuiti, al fine di supportare il lavoro dei radiologi e di ottimizzare i programmi di screening. In questi programmi la riduzione dei tempi per la diagnosi è resa possibile dall’analisi remota delle immagini e da una diagnosi on-line interattiva. In particolare il progetto sviluppa metodologie di analisi per: mammografie per il rilevamento del cancro al seno, immagini CT (ComputedTomography) per l’individuazione del cancro al polmone, immagini PET (Positron Emission Tomography) per una precoce diagnosi dell’Alzheimer. La rete di tipo VO implementata offre ai membri la possibilità di condividere dati e risorse, ma anche di svolgere attività come: screening, tele-training, tele-diagnosy e diagnosi statistiche. Per soddisfare le particolari esigenze del settore medico, vengono considerati due strumenti fondamentali chiamati rispettivamente AliEn (per la gestione dei servizi comuni) e ROOT/PROOF (per l’analisi interattiva dei dati distribuiti). Le immagini, acquisite in differenti ospedali e centri di screening inseriti nel progetto, vengono registrate su un catalogo, con le relative informazioni (metadati) che saranno necessarie per l’accesso e la selezione. Particolare importanza, inoltre, viene attribuita alla privacy, pertanto i dati registrati nel catalogo vengono distinti in dati relativi al paziente (che includono informazioni private) e dati relativi agli esami; l’accesso ad essi sarà consentito solo agli utenti autorizzati [Bel07]. 2.3. Grid computing Sono stati anni di grandi cambiamenti tecnologici, quelli in cui si è potuto assistere al passaggio dai grandi computer, protetti dietro pareti di vetro e utilizzabili solo da specifici professionisti, al concetto di Grid computing e della fornitura delle risorse su richiesta degli utenti [Kau14]. I sistemi distribuiti hanno reso possibile il coordinamento di risorse di calcolo, distribuite, eterogenee ed indipendenti. Questi si differenziano per poter soddisfare esigenze diverse, ma tutti consentono il miglioramento dei diversi processi e prodotti, nei vari settori, mostrando vantaggi competitivi [Cas14]. Il termine “the Grid” nasce nella metà degli anni ’90 e si proponeva come sistema distribuito per la scienza e l’ingegneria [Fos01]. La tecnologia della griglia venne sviluppata e applicata per la prima volta al CERN, per poi avere una larga diffusione mondiale; essa è, infatti, uno dei più promettenti sviluppi delle 23 tecnologie dei sistemi distribuiti che ha trovato applicazione in importati progetti come il progetto Teragrid (USA) e il progetto Datagrid (EU) [Gol14]. Un’infrastruttura di griglia è composta da computer, software, database e altri particolari dispositivi e si propone di condividere tutti i tipi di risorse delle tecnologie dell’informazione, adattandosi alle esigenze degli utenti, che possono essere singoli individui, aziende o anche enti di ricerca. La grigia permette all’utente di ottenere ciò di cui ha bisogno, nel momento in cui lo richiede, attraverso un’infrastruttura trasparente ai sui occhi; essa consente un utilizzo migliore delle risorse nel campo delle tecnologie dell’informazione, l’accesso ad alte potenze di calcolo, il miglioramento dei servizi di supporto, la riduzione dei costi nell’utilizzo dei computer, l’aumento della capacità di risposta, permettendo un aumento della redditività e della competitività. Il concetto di base è l’unione di più piccole potenze di calcolo, per ottenere una potente capacità di elaborazione da fornire all’utente. La griglia, non permette solo l’accesso alle informazioni, come nel caso dei siti web, consente anche di archiviare dati e assicura una migliore continuità nelle attività di un’organizzazione [Cas15]. 2.3.1 Reti di calcolo: cluster, grid, cloud Prima di procedere nel definire l’ambiente della griglia, per distinguerlo dalle altre tipologie di reti di calcolo, si fornisce una breve panoramica di queste tecnologie. In [Kau14] si identificano tre tipi di reti di calcolo: Cluster computing, Grid computing e Cloud computing. Nella tecnologia del Cluster computing un gruppo di computer, simili o addirittura identici, che si trovano fisicamente nello stesso luogo, sono direttamente collegati, attraverso reti locali, per apparire come un’unica entità. I motivi per i quali si dovrebbe preferire una rete di tipo cluster ad un singolo computer sono principalmente due: le prestazioni e la resistenza ai guasti. Per comprendere meglio in cosa consista il conseguimento di maggiori prestazioni, si può pensare a quelle applicazioni che richiedono molto tempo e comportano l’utilizzo di un grande spazio di memoria, il quale sviluppo se affrontato con la tecnologia del Cluster computing, vede un superamento delle problematiche appena citate, attraverso una gestione parallela dei diversi processori, tutti coinvolti nella risoluzione di uno o più problemi. Inoltre, nell’ambiente di tipo Cluster, il guasto di un componente influisce solo sulla potenza del sistema, non sulla sua effettiva capacità di funzionamento, questo proprio grazie alla sua struttura composta dall’unione di componenti simili. In Fig. 12 è mostrato lo schema generale di un ambiente di tipo Cluster in cui più nodi si uniscono per presentarsi all’utente come un unico nodo [Kau14]. 24 Fig. 12. Schema generale di un ambiente di tipo Cluster Nella tecnologia del Cluster computing emergono, quindi, i seguenti vantaggi: - maneggevolezza data dalla gestione di un’unica entità; - visione di un unico sistema da parte dell’utente; - alta disponibilità di componenti che possono essere inter scambiati in caso di guasto di uno di essi. Per quanto riguarda invece gli svantaggi si ritrovano: - problemi di programmabilità, soprattutto se i componenti sono diversi dal punto di vista software; - problemi nell’individuazione dei guasti; - difficoltà di gestione, da parte dei non professionisti, nella diversa programmabilità dei vari componenti. L’unione di più reti di tipo cluster, eterogenee e geograficamente distribuite, trova manifestazione nella tecnologia del Grid computing, Fig. 13, dove non c’è necessità che i computer si trovino fisicamente nello stesso luogo [Kau14]. Fig. 13. Schema generale di un ambiente di tipo Grid 25 Un’infrastruttura di tipo Grid è composta da computer (PC, workstation, cluster, supercomputer, notebook e altri), software, database e altri particolari dispositivi (come sensori, telescopi e altri) [Cas15]. La tecnologia del Grid computing, è studiata per condividere, raccogliere e fornire servizi agli utenti. In questo ambiente, l’utente richiede l’accesso alle risorse senza essere a conoscenza del luogo in cui esse sono collocate. I principali vantaggi di questa tecnologia sono: - accesso a diversi tipi di risorse, non solo CPU o spazi di memoria; - bilanciamento delle risorse, in modo da sfruttare le apparecchiature che al momento dell’avvio di un’applicazione, mostrano scarso utilizzo; - affidabilità, in quanto un guasto in un sito non influenzerà un altro sito. Tra gli svantaggi invece si hanno: - mancanza di buona stabilità nei software e negli standard di tipo Grid, perché ancora in continua evoluzione; - necessità di una buona connessione ad Internet; - difficoltà riguardanti le politiche di condivisione tra domini diversamente amministrati. Infine, il concetto di Cloud computing, Fig. 14, come espresso da Buyya, si manifesta in un sistema di calcolo parallelo e distribuito che consiste in una raccolta di virtuali e interconnessi computer dinamicamente unificati, in modo da essere presentati come un’unica o più risorse, sulla base di accordi SLA (Server Level Agreement), stabiliti tra fornitori di servizi e consumatori [Kau14]. Fig. 14. Schema generale di un ambiente di tipo Cloud 26 La tecnologia del Cloud computing offre servizi a livello di infrastruttura, di piattaforma e di software; con il pagamento delle sole risorse utilizzate, si ottengono velocità, scalabilità, elaborazione parallela e continua disponibilità dei servizi [Kau14]. La tecnologia del Cloud computing è nata dalla tecnologia del Grid computing, differenziandosi da essa per caratteristiche tecniche e non tecniche, come i meccanismi di raggruppamento delle risorse su richiesta, la scalabilità, il supporto alla virtualizzazione, l’utilizzo delle risorse con definite regole di pagamento, gli accordi SLA e il self-service [Qur14]. Nella tecnologia del Cloud computing si ritrovano buona elasticità e una fornitura calibrata e su richiesta dei servizi. Si possono, quindi, elencare i seguenti vantaggi: - risorse condivise, in modo da aumentare o ridurre la fornitura ai clienti a seconda della richiesta; - pagamento delle sole risorse utilizzate; - migliore gestione hardware; - possibilità per le varie organizzazioni di accesso a nuove o diverse tecnologie, a seconda delle esigenze, senza effettuare cambiamenti continui delle proprie infrastrutture fisiche, riducendo così i costi. Gli svantaggi di questa tecnologia sono, invece: - minore affidabilità, perché c’è maggiore possibilità che si verifichino attacchi ai dati o che, erroneamente, dati appartenenti ad utenti diversi si confondano; - alta velocità di connessione ad Internet; - mancanza di interoperabilità tra i sistemi di tipo Cloud che si traduce in un’impossibilità di spostamento di dati tra un ambiente e l’altro. Si rende necessario sottolineare che sebbene con la tecnologia del Cloud computing si riescano ad ottenere servizi web a costi inferiori, la sicurezza in questo ambiente risulta carente rispetto a quella che si ritrova nell’ambiente di tipo Grid [Kau14]. 2.3.2. Architettura di griglia Una delle questioni principali nell’ambiente della griglia è l’interoperabilità [Fos01]; è necessario garantire che i meccanismi usati tra due parti coinvolte, possano estendersi anche a tutte le altre, assicurando un ambiente dinamico. L’interoperabilità, in un ambiente di rete, assume il significato di protocolli comuni che specifichino come gli elementi, del sistema distribuito, interagiscono tra loro, al fine di definire un determinato comportamento e la struttura delle informazioni scambiate, durante questa interazione. Un protocollo è un insieme di regole che rende possibile lo scambio di informazioni, come esempi si possono citare: 27 - IP (Internet Protocol) che definisce un protocollo, non affidabile, per il trasferimento dei pacchetti; - TCP (Trasmission Control Protocol) che basandosi sul protocollo IP permette un’affidabile consegna dei dati; - TLS (Transport Layer Security Protocol) che definisce un protocollo per la privacy e l’integrità dei dati tra due applicazioni comunicanti, basandosi su di un protocollo di trasferimento affidabile come il protocollo TCP; - LDAP (Lightweight Directory Access Protocol) che, sfruttando un protocollo TCP, si presenta come un protocollo di risposta che consente di conoscere lo stato di un database remoto. Da quanto detto si evince che l’architettura di griglia è prima di tutto un’architettura di protocolli che definiscono i meccanismi di base attraverso i quali si negoziano, si stipulano, si gestiscono e si sfruttano i rapporti di condivisione. Attraverso la definizione di protocolli standard, si possono facilmente definire i servizi che forniranno funzioni avanzate. Un servizio, definito quindi dal protocollo e dal comportamento che implementa, è un’entità abilitata della rete che permette di compiere azioni come spostare file, creare processi o verificare i diritti di accesso [Fos01]. Per creare una griglia utilizzabile, è necessario aggiungere ai protocolli, le interfacce API (Application Programming Interface), cioè interfacce standard per richiamare delle funzioni, e i pacchetti SDK (Software Development Kit) che indicano insiemi di codici, costruiti per essere connessi con un programma applicativo e invocati dal suo interno, per fornire specifiche funzioni (un pacchetto SDK tipicamente implementa un’interfaccia API). Interfacce API e pacchetti SDK permettono di accelerare lo sviluppo dei codici, attivarne la condivisione e migliorare la portabilità delle applicazioni. Si costituisce, così, quell’insieme, detto middleware, degli elementi necessari a supportare un set di applicazioni in un ambiente distribuito [Fos01]. L’architettura di griglia può essere pensata a strati; questi identificano dei componenti che condividono caratteristiche comuni e che per essere costruiti necessitano dei rispettivi strati inferiori. In [Fos01], l’architettura di griglia segue il modello clessidra, identificando nel collo un piccolo set di astrazioni di base e protocolli, per le risorse e la connettività, che sono basati su diverse tecnologie sottostanti, e che a loro volta costituiscono la base dei livelli più alti. Facendo riferimento alla Fig. 15, i diversi tipi di risorse, sui quali si implementano questi protocolli, sono definite nel livello chiamato Fabric, mentre i servizi globali e i comportamenti specifici delle applicazioni che poggiano su di essi, si ritrovano al livello detto Collective. 28 Architettura protocollo di Internet Architettura protocollo di griglia Fig. 15. Architettura di griglia e corrispondenza con l’architettura del protocollo di Internet Quindi, al livello detto Fabric [Fos01] si ritrovano le risorse (come risorse computazionali, sistemi di archiviazione, cataloghi, risorse di rete e sensori) e si implementano operazioni locali che derivano da operazioni di condivisione ad alti livelli. Si possono individuare diversi tipi di risorse: - risorse computazionali: i meccanismi richiesti riguardano l’avvio dei programmi, il monitoraggio e il controllo dell’esecuzione dei processi che da essi derivano, la gestione e la prenotazione delle risorse ad essi assegnate; inoltre sono necessarie funzioni che consentano di determinare le caratteristiche hardware e software e le informazioni di stato; - risorse per l’archiviazione: sono richiesti meccanismi per inserire e prelevare i file, leggere e scrivere parti di un file, eseguire una selezione dei dati a distanza, controllare le risorse per il trasferimento dei dati ed eseguire prenotazioni; inoltre sono, anche in questo caso, richieste funzioni per determinare le caratteristiche hardware e software e altre rilevanti informazioni come lo spazio disponibile; - risorse di rete: sono necessari meccanismi che permettano i trasferimenti di rete (definizione delle priorità e gestione delle prenotazioni), controllando le risorse assegnate, insieme a funzioni che forniscano le caratteristiche della rete e il carico; - risorse di tipo code repository: una particolare forma di risorsa di archiviazione che richiede meccanismi per la gestione del codice oggetto e sorgente; - cataloghi: un’altra forma particolare di risorsa di archiviazione che richiede meccanismi per effettuare domande e operazioni di aggiornamento. Al livello definito Connectivity [Fos01] si trovano i protocolli per la comunicazione che consentono lo scambio di dati tra le risorse al livello detto Fabric, e i protocolli per l’autenticazione che permettono di verificare l’identità di utenti e risorse. Si può assumere che 29 i protocolli di comunicazione siano principalmente tratti dalla grande quantità di protocolli degli strati dell’architettura di Internet; anche i protocolli per l’autenticazione possono essere sviluppati sugli standard di sicurezza dei protocolli di Internet. In generale devono essere considerate le seguenti caratteristiche: - singolo accesso che consenta agli utenti di autenticarsi un'unica volta per accedere alle diverse risorse; - delega che permetta ai programmi avviati dagli utenti, di utilizzare le risorse a cui essi stessi hanno accesso; - integrazione con forme di sicurezza locale; - relazioni tra utenti basate sulla fiducia che permettano al generico utente di utilizzare risorse provenienti da più fornitori, senza dover effettuare continue richieste ad ognuno di questi. È, inoltre, importate che le soluzioni per la sicurezza permettano agli utenti di controllare le decisioni di autorizzazione, consentendo anche di limitare la delega dei diritti. Al livello chiamato Resource [Fos01], basandosi sui protocolli dello strato indicato come Connectivity, vengono definiti altri protocolli, interfacce API e pacchetti SDK, per negoziare, attivare, monitorare, controllare, amministrare e pagare individualmente le operazioni di condivisione delle risorse, ignorando le questioni di stato globali. Per implementare questi protocolli vengono richiamati, dal livello detto Fabric, le funzioni per accedere e condividere le risorse locali. Si possono distinguere due classi principali di protocolli per questo livello: - i protocolli di informazione che vengono usati per ottenere informazioni sulla struttura e sullo stato della risorsa; - i protocolli di gestione che servono per negoziare l’accesso ad una risorsa condivisa, specificando le esigenze legate a quest’ultima e le operazioni che devono essere eseguite; inoltre assicurano che si rispetti la politica di condivisione di ogni risorsa. I protocolli degli strati chiamati Resource e Connectivity si collocano, nel modello descritto in [Fos01], al collo della clessidra e pertanto devono essere scelti accuratamente, in modo tale da permettere da un lato di catturare i meccanismi fondamentali di condivisione di molti tipi diversi di risorse, e dall’altro di non vincolare la tipologia o le prestazioni dei protocolli sviluppati a livelli più alti. Passando allo strato detto Collective [Fos01], protocolli, interfacce API e pacchetti SDK, non sono più focalizzati sulla singola risorsa, ma hanno natura globale e guardano all’interazione, considerando le risorse nella loro collettività. A questo livello si possono implementare un vasta gamma di comportamenti di condivisione che non necessitano della richiesta di ulteriori requisiti per le risorse da condividere, come: 30 - servizi di directory, per scoprire l’esistenza e le caratteristiche delle risorse; - servizi di co-allocazione, pianificazione e negoziazione per richiedere ad esempio l’allocazione di una o più risorse o la pianificazione delle attività su di esse; - servizi di monitoraggio e diagnostica, per contrastare guasti, attacchi esterni, sovraccarichi e altro; - servizi per la replica dei dati, per supportare la gestione degli archivi, massimizzando le prestazioni di accesso ai dati; - sistemi di programmazione di tipo Grid-enabled, per utilizzare nell’ambiente della griglia modelli di programmazione familiari; - sistemi di gestione del carico di lavoro e strutture di collaborazione, per la descrizione, l’utilizzo e la gestione dei flussi di lavoro; - servizi di individuazione software, per identificare e selezionare l’implementazione software più opportuna; - server di autorizzazione, per applicare le politiche comunitarie di accesso alle risorse, permettendo l’accesso a queste da parte dei membri; - servizi comunitari di amministrazione e pagamenti; - servizi di collaborazione, per supportare lo scambio di informazioni, sincrono o asincrono, all’interno dei gruppi. I componenti del livello detto Collective possono essere indirizzati al conseguimento di obiettivi generici, oppure possono rispondere a esigenze specifiche di un gruppo di lavoro. Al livello più alto [Fos01] si ritrovano, infine, le applicazioni per gli utenti che sono costruite considerando e richiamando i servizi di qualsiasi livello. In Fig. 16 è mostrato un esempio strutturale riferito ad un servizio di co-prenotazione [Fos01]. Applicazione Servizio di co-prenotazione Protocollo di co-prenotazione Servizio di co-prenotazione Collective API e SDK di co-allocazione API e SDK di gestione Resource Fabric Protocollo di gestione Risorsa di rete Risorsa di rete … Risorsa di calcolo Fig. 16. Esempio strutturale per l’utilizzo di un servizio di coprenotazione 31 In particolare in Fig. 16 sono indicati esempi di un interfaccia API e di un pacchetto SDK di co-allocazione al livello definito Collective che utilizzano un protocollo di gestione dello strato detto Resource per maneggiare le risorse sottostanti. Sopra di essi, invece, viene definito un protocollo di servizio di co-prenotazione e implementato un servizio di coprenotazione che parla questo protocollo, per richiamare l’interfaccia API di co-allocazione, per attuare le operazioni di co-allocazione. In questo modo è possibile per un’applicazione usare il servizio di co-prenotazione. In Fig. 17 è riportata, invece, l’architettura di griglia vista da un programmatore di applicazioni [Fos01]. Applicazioni Linguaggi e Strutture software API e SDK livello Collective Protocolli servizi Collective Servizi livello Collective API e SDK livello Resource Protocolli servizi Resource Servizi livello Resource API livello Connectivity Protocolli Connectivity Fabric Fig. 17. Architettura di griglia vista da un programmatore di applicazioni In Fig. 17 si vuole evidenziare che le differenti possibilità applicative sono fornite all’utente finale dai servizi di rete. Con questi ultimi interagiscono i pacchetti SDK attraverso i protocolli di griglia. Infine le interfacce API sono implementate dai pacchetti SDK. Con riferimento alla Fig. 17 le linee continue rappresentano una chiamata diretta, mentre le linee tratteggiate indicano interazioni a livello di protocollo [Fos01]. Quindi, certamente la realizzazione di un ambiente di griglia implica fattori indispensabili, quali la realizzazione di uno strato middleware affidabile e facile da usare, e l’eliminazione delle barriere amministrative [Cas15]. 32 Alcuni lavori come quello in [Rod13] sono indirizzati alla realizzazione di uno strato middleware di tipo resource brokering, comunemente indicato come meta-scheduler o metabroker, che consente di abbinare efficientemente i lavori alle risorse computazionali e, quindi, di supportare l’interoperabilità tra le reti di tipo VO. La capacità di adattamento alla dinamicità e alla natura variabile dell’ambiente di griglia (che si ritrova, ad esempio, nel monitoraggio delle risorse, nella loro individuazione e selezione) è alla base del lavoro svolto in [Bot14]. Gli autori si propongono di conferire alle applicazioni la capacità di auto-adattarsi, focalizzando l’attenzione sul miglioramento del processo di selezione delle risorse, permettendo, in questo modo, la riduzione dei tempi di esecuzione e l’aumento del tasso di operazioni completate correttamente. Per meglio orientarsi nella scelta della giusta tecnica di allocazione delle risorse (che consiste nella pianificazione, nel trasferimento del codice, nella trasmissione dei dati e nel monitoraggio) si può far riferimento al lavoro in [Qur14] che esplora il panorama dei diversi meccanismi negli ambienti di griglia, mettendoli a confronto. L’importanza di individuare meccanismi di allocazione delle risorse efficienti, affidabili e scalabili, aumenta con il diffondersi della tecnologia della griglia [Qur14]. Altro argomento principale è il controllo degli accessi, considerato come un meccanismo che permette ai proprietari delle risorse di definirne la gestione e le condizioni di utilizzo. In [Luo09] si propone un controllo degli accessi basato sul grado di fiducia. Il concetto di fiducia si può suddividere nell’autenticità di un’entità (fiducia di identità) e nella affidabilità di un’entità (fiducia di comportamento). Da questo deriva che la fiducia, nell’ambiente di griglia, è nelle relazioni tra fornitori di risorse e utenti, e solo quando questa è presente la collaborazione tra le diverse entità si sviluppa normalmente. In [Luo09] considerando principalmente la fiducia comportamentale, si propone un innovativo e dinamico controllo degli accessi, applicabile sia all’interno di un singolo dominio che tra domini differenti. Per lo sviluppo dell’ambiente di griglia la tecnologia del Globus Toolkit è indicata come tecnologia fondamentale [Cas15, Fos01]. Questa consente di condividere potenza di calcolo, database e molti altri strumenti software, superando le problematiche legate alle suddivisioni territoriali e istituzionali, e diventando, così, il substrato su cui vengono costruiti i prodotti di griglia. Questo substrato permette, infatti, di sostenere la collaborazione tra le diverse organizzazioni che viene ostacolata dall’incompatibilità delle risorse, come archivi di dati, computer e reti. La tecnologia del Globus Toolkit include servizi software e librerie che consentono il monitoraggio, l’identificazione e la gestione delle risorse, e che permettono di garantire la sicurezza e l’amministrazione dei file. Essa è formata da un set di componenti che possono essere usati separatamente o sfruttati insieme per lo sviluppo delle applicazioni. I servizi, le interfacce e i protocolli, da questa forniti, permettono all’utente di accedere alle risorse remote come se fossero all’interno del proprio computer, garantendo, allo stesso tempo, il controllo sulle modalità di accesso (chi è autorizzato all’accesso, in quali circostanze esso è consentito) [Cas15]. 33 La tecnologia del Globus Toolkit è stata progettata, principalmente, per utilizzare i componenti esistenti del livello precedentemente definito come Fabric; tuttavia se dovessero mancare alcune funzionalità, queste vengono integrate dalla stessa tecnologia. Ad esempio viene fornito un software per individuare la struttura e le notizie relative allo stato delle diverse risorse e per organizzare le informazioni ottenute, in modo da facilitare l’implementazione dei protocolli ai livelli più alti, in particolare nello strato detto Resource [Fos01]. Come descritto in [Cas15], i più importanti componenti di questa tecnologia, sono: - GridFTP; - GRAM5; - GSI C; - MyProxy; - GSI-OpenSSH; - SimpleCA. Il componente GridFTP è un protocollo per il trasferimento dei dati sicuro e affidabile che si basa sul protocollo Internet FTP. Il componente GRAM5 è utilizzato per localizzare, sottoporre, monitorare e cancellare le diverse operazioni sulle risorse di griglia, permettendo di affrontare una serie di operazioni, assicurando un funzionamento affidabile, la gestione delle credenziali e l’organizzazione dei file. Il componente GSI C fornisce interfacce API e strumenti software per l’autenticazione, l’autorizzazione e la gestione dei certificati; l’interfaccia API di autenticazione è costruita utilizzando la tecnologia PKI (Public Key Infrastructure), cioè certificati X.509 e protocolli TLS (Transport Layer Security). Per supportare l’autorizzazione si utilizzano due interfacce API: la prima consiste in una generica interfaccia API di autorizzazione che permette di effettuare il controllo di accesso basato sulle credenziali dell’utente, la seconda fornisce una lista di controllo degli accessi, per associare le entità remote autorizzate ai nomi utente locali, e permette a terze parti di annullare i comportamenti predefiniti. Il componente MyProxy è un software di tipo open source per la gestione di credenziali di tipo X.509 Public Key Infrastructure security. Questo componente permette agli utenti di ottenere le credenziali, in modo sicuro, in qualsiasi momento e in ogni luogo, basandosi su un archivio di credenziali e su autorità di certificazione CA (Certificate Authority), online. Il componente GSI-OpenSSH è una versione modificata del componente OpenSSH che permette di supportare i certificati X.509 Proxy per l’autenticazione e la delega, permettendo un’unica autenticazione remota e fornendo un servizio per i trasferimenti dei file. Questi ultimi sono effettuati senza ulteriore inserimento di password, proprio grazie all’utilizzo delle credenziali proxy. 34 Infine, il componente SimpleCA permette l’implementazione di un’autorità di certificazione CA che può rilasciare certificati X.509 agli utenti e ai servizi della tecnologia del Gloobus Toolkit [Cas15]. 2.3.3. Grid computing e Virtual Organization Con il calcolo collaborativo [Cas15] e la condivisione dei dati, si sono sviluppate nuove forme di interazione che necessitano di risorse distribuite, rendendo, così, indispensabile ricorrere alla tecnologia del Grid computing che offre enormi opportunità in termini di condivisione di risorse, massimizzazione del loro utilizzo e della loro virtualizzazione. Nonostante ci siano ancora molte sfide per lo sviluppo dei sistemi di griglia (sfide tecniche nella risoluzione delle questioni legate alla sicurezza e sfide concettuali nella realizzazione della condivisione di sistemi privati), questo tipo di rete di calcolo è stato largamente accettato, in particolar modo in ambito scientifico e nelle comunità aziendali delle tecnologie dell’informazione. Con questo metodo si possono conseguire i seguenti vantaggi, con riferimento al trattamento dei dati: - ingressi e uscite di dati multipli che sono forniti e immagazzinati in qualsiasi momento ed in qualsiasi punto della griglia; - elaborazione trasparente dei dati da parte degli utenti, senza che si incorra in problematiche legate al luogo geografico in cui questi ultimi si trovano, al momento in cui viene effettuata l’operazione, o al carico di lavoro; - fornitura dei dati in più punti lungo la griglia. Ulteriori vantaggi emergono considerando l’affidabilità dei servizi e i bassi costi che rendono possibile il conseguimento di grandi benefici per le piccole comunità e le organizzazioni che si avvalgono della tecnologia della griglia. Per quanto attiene alla gestione del lavoro, questa tecnologia offre la possibilità di ottenere un’ottimizzazione, in quanto permette di organizzare i diversi compiti sfruttando i server meno carichi o i server che abbiano abbastanza memoria o le adeguate caratteristiche di CPU per l’operazione da implementare. Bisogna evidenziare che la struttura modulare, di questo ambiente, assicura una maggiore resistenza agli errori; infatti se si dovessero presentare problemi con un server o un desktop della griglia, il carico di lavoro verrebbe trasferito sulle altre risorse. Le unità client possono interrogare l’unità master sulle risorse disponibili per portare a termine un determinato compito; inoltre, è possibile aggiungere o rimuovere facilmente altri nodi, assicurando, in questo modo, la possibilità di incrementare le risorse in caso di necessità. Gli aggiornamenti non implicano che l’ambiente venga reso inattivo, in quanto possono essere effettuati in cascata sulle risorse, in modo tale che solo alcune risultino offline, mentre il lavoro viene portato avanti dalle altre. 35 Anche il miglioramento delle prestazioni di velocità nello svolgimento dei diversi compiti è un ulteriore vantaggio offerto dall’ambiente di griglia. Infatti, questa tecnologia permette lo svolgimento del lavoro in parallelo, risultando particolarmente adatta per implementare operazioni che possano essere suddivise sui diversi nodi. Molti sono i settori (fisica, biologia, medicina, geofisica) in cui le simulazioni sui dati comportano alti consumi in termini di CPU. Le elaborazioni in parallelo possono portare notevoli benefici in questo contesto, contrastando le spese in termini di tempo che si presenterebbero con elaborazioni sequenziali [Cas15]. Si può quindi affermare che, complessivamente, la caratteristica principale della griglia è la dinamicità, cioè la capacità di riconfigurarsi in ogni momento, ammettendo nuovi nodi e tollerando la perdita di altri, e l’abilità di adattarsi a qualsiasi lavoro le venga sottoposto, garantendo, così, anche l’affidabilità. Dal punto di vista dell’utente, tutte le operazioni sono eseguite in modo del tutto trasparente ed egli percepisce l’ambiente di griglia come un’entità unica, stabile, immutabile, efficace e sempre accessibile. L’utente può, così, condividere, tra i diversi computer, risorse computazionali, spazio di archiviazione, dati scientifici [Cas11]. Se si guarda in particolar modo, alle esigenze di una rete di tipo VO, l’ambiente di griglia deve supportare, anche, il problema della sicurezza, in termini di identificazione degli utenti e valutazione delle azioni che possono essere compiute. In questo contesto sicurezza significa [Cas15]: autenticazione, autorizzazione, segretezza, integrità dei dati, non ripudio. L’autenticazione comporta la verifica dell’identità dell’utente e viene comunemente ottenuta utilizzando username e password. Sfortunatamente questa semplice soluzione può risultare poco sicura, in quanto le password potrebbero essere scoperte. Per far fronte a questa problematica si possono utilizzare i certificati X.509; un certificato rilasciato da un’autorità CA, identifica l’utente e permette l’autenticazione. Inoltre i certificati X.509 Proxy permettono di risolvere, anche, la necessità che l’utente si autentifichi un’unica volta al momento dell’accesso. Il termine autorizzazione fa riferimento alle azioni che un utente può compiere. Questa problematica può essere risolta con una lista ACL (Access Control List) che definisce quali sono le azioni che un utente è autorizzato a compiere. Soluzioni più recenti utilizzano certificati di attributi che definiscono gli attributi dell’utente nel certificato, permettendo all’amministratore di autorizzare con riferimento alla politica locale. La segretezza si concretizza nella necessità del rispetto della privacy. È indispensabile, infatti, garantire che tutte le informazioni sensibili siano protette, in modo tale che non si verifichino accessi da parte di utenti non autorizzati; generalmente i dati vengono suddivisi in base al grado e al tipo di danno che potrebbero subire, se dovesse presentarsi questa indesiderata circostanza. Si parla di integrità dei dati quando questi possiedono accuratezza, qualità e affidabilità. La capacità, di garantire l’integrità dei dati, si presenta con maggiore difficoltà se si fa riferimento ad un ambiente in cui più utenti lavorano simultaneamente, accedendo a questi, e ancor di più se si devono gestire più archivi. I nuovi protocolli, i servizi, le interfacce API per 36 l’accesso sicuro alle risorse, la gestione delle stesse e l’individuazione degli errori, sono solo alcuni degli elementi che si ritrovano nella tecnologia della griglia. Questi elementi permettono il controllo e il coordinamento dell’utilizzo delle risorse condivise in ambienti distribuiti. Il non ripudio garantisce che l’avvio di un’operazione o l’invio di un messaggio non possano essere negati da chi li ha richiesti. Questo è un metodo per garantire che avvenga la trasmissione dei messaggi tra le parti, attraverso firme digitali e crittografia. Un altro aspetto, da considerare all’interno delle reti di tipo VO, è quello relativo alle politiche di condivisione che generalmente possono essere di tipo [Cas15]: - best-effort: viene data priorità ai lavori locali rispetto a quelli di griglia che sono eseguiti solo quando i primi non sono presenti, e sono sospesi o terminati in caso si verifichi la necessità di esecuzione di uno di essi; - real-time: le attività di griglia hanno maggiore priorità e viene ad essi riservata, in accordo con la qualità del servizio richiesta, una specifica risorsa computazionale, per tutta la loro durata; - competing: si configura una situazione di uguaglianza tra i lavori locali e quelli di griglia che competono per l’assegnazione delle risorse, con possibili effetti negativi sulla qualità del servizio. Per questi motivi, l’approccio che la tecnologia della griglia presenta nei confronti della condivisione delle risorse, si distingue fortemente da quello delle altre tecnologie, permettendo di soddisfare nel modo più efficiente e collaborativo le necessità di una rete di tipo VO [Cas15]. In [Li10] sono state affrontate problematiche quali la collaborazione tra diversi domini, dinamici e autonomi, che possono influenzare la sicurezza nell’interazione tra le reti di tipo VO, con l’esame di conflitti impliciti ed espliciti che possono sorgere tra le diverse politiche. In [Li10] si propone un sicuro servizio di collaborazione chiamato PEACE-VO (Secure Policy-EnAbled Collaboration ServicE for Virtual Organizations), in cui vengono considerate sia le questioni di sicurezza che le problematiche di privacy che si presentano durante la collaborazione. Inoltre per migliorare le prestazioni delle reti di tipo VO, in ambiente di griglia, si sono sviluppati lavori come quello in [Han09] che mette a confronto le diverse strutture delle reti di tipo VO, evidenziando come si possano conseguire migliori risultati, in termini di organizzazione e utilizzo delle risorse. 2.3.4. Portale web e workflow Il portale è il punto di incontro tra i servizi di rete e le applicazioni, e permette di facilitare l’individuazione e l’utilizzo di queste. Il portale web può, così, essere il punto di accesso 37 all’intera infrastruttura di rete, come in [Cas15], rendendo i servizi di griglia accessibili per mezzo di apposite interfacce API di tipo web service. Ogni servizio web che esporta un servizio di griglia, può essere utilizzato dagli utenti in modo del tutto trasparente grazie ai moduli plugin. La descrizione di un servizio web specifica tutte le informazioni per invocare un servizio: localizzazione, formato per la comunicazione e protocollo di trasporto. Alcuni dei servizi, accessibili da un portale, possono essere: - verifica dello stato dei nodi della griglia: permette all’utente di avere in tempo reale la lista delle risorse hardware (cioè i nodi della griglia) disponibili; - scambio di file tra utenti e il componente GridFTP: consente la condivisione delle risorse tra le unità client e la comunità, mantenendo le politiche di archiviazione definite all’interno della griglia e, quindi, non visibili agli utenti; - accesso remoto ad un desktop per consentire il lavoro con un particolare software; - condivisione di file modificati all’interno del desktop remoto: permette la condivisione senza l’utilizzo di un server di archiviazione, creando uno spazio condiviso evitando di passare attraverso i nodi della griglia; - validazione di un documento attraverso un appropriato flusso di lavoro: associa un flusso di lavoro ad ogni tipologia di documento; - definizione del profilo utente: consente di definire nel dettaglio ogni figura professionale coinvolta, associando permessi che consentano di eseguire le azioni, in accordo con le responsabilità assunte nell’organizzazione; - contatto privato con un utente: importante per accelerare le comunicazioni e il lavoro di gruppo. Un portale può, quindi, permettere la creazione di differenti reti di tipo VO, consentendo di gestire efficientemente utenti e ruoli. Ogni utente ha una propria identità digitale che garantirà, attraverso l’implementazione delle politiche condivise, i diritti di accesso alle risorse condivise. Quindi, al momento dell’accesso, ogni utente ricopre un ruolo all’interno del processo di produzione. Ogni rete di tipo VO può gestire diversamente i permessi. In questo modo un utente, che appartiene a più reti di tipo VO, può, ad esempio, avere il permesso di redigere una tipologia di documento in una rete di tipo VO e avere solo il permesso di leggere la stessa tipologia di documento in un’altra rete di tipo VO. Bisogna sottolineare che l’autenticazione e l’autorizzazione relative ad un nodo o utente della griglia, si differenziano da quelle dell’utente nel portale. Un altro importante punto, da portare in evidenza, è quello della tecnologia detta workflow [Cas15] (un esempio è dato in Fig. 18). 38 STATO Presentazione per approvazione Nuova presentazione Rigettato COMPITO Revisione Nuova presentazione COMPITO Accettato STATO Approvato Fig. 18. Workflow per la revisione di un documento La tecnologia del workflow permette di gestire la sequenza delle attività necessarie per il raggiungimento di un obiettivo, sostenendo la collaborazione all’interno dei gruppi. Tutto questo si rende possibile attraverso l’attribuzione dei compiti detti task, il controllo dei tempi e la sincronizzazione dei membri del gruppo. Inoltre, la tecnologia del workflow garantisce la flessibilità per adattarsi alla natura dinamica dei processi di produzione. Per questi motivi, molte imprese e istituzioni utilizzano questa tecnologia per supportare i propri processi lavorativi, monitorandone facilmente i progressi. Con la struttura di tipo workflow si assegna ad una risorsa un oggetto di lavoro in esecuzione definito work item. Un oggetto work item è una combinazione di un compito (task) e di un elemento detto case, quest’ultimo caratterizzato da un set di attributi che specificano le condizioni di esecuzione e, quindi, determinano se un particolare compito può essere eseguito. Quindi si può affermare che un processo consiste negli elementi case da maneggiare, nei compiti da effettuare e nel loro ordine di esecuzione. L’elemento workflow enactment service è alla base del sistema WfMS (Workflow Management System). Questo elemento è lo strato software che include il software workflow engine, capace di creare, eseguire e gestire i processi workflow. In questo modo vengono assegnati i giusti compiti, ad ogni persona, con le risorse necessarie al loro svolgimento. Il sistema WfMS deve considerare: - la struttura organizzativa (ad esempio strutture gerarchiche, le divisioni in dipartimenti, le competenze, le autorizzazioni e i ruoli); - i ruoli interessati nel processo di produzione (bisogna considerare a quali risorse ha accesso ogni ruolo e quali compiti può eseguire); 39 - lo strato process automation layer che include la distribuzione delle unità di lavoro e la loro esecuzione automatica; - la definizione di workflow che descrive e gestisce i processi, le risorse disponibili, i compiti, il loro ordine di esecuzione e le persone che devono occuparsene. Più nello specifico con il termine grid workflow si intende la tecnologia di workflow pensata per un ambiente distribuito, in cui è necessario sfruttare risorse distribuite, dinamiche ed eterogenee, rese disponibili da diverse organizzazioni [Cas15]. 2.3.5. Ambienti di griglia Come descritto in [Gol14], pur conservando la loro natura di sistemi distribuiti, gli ambienti di griglia possono differenziarsi per diversi aspetti: - scala di copertura geografica (cosmica, globale, nazionale, regionale, per abitazioni, per uffici); - funzione (industriale, difensiva, commerciale, culturale); - tipologia delle linee di comunicazione; - metodi di controllo; - supporto software; - tipo di trasmissione ed elaborazione dei dati; - numero di utenti simultaneamente connessi; - complessità topologica; - indicatori di affidabilità e sicurezza per contrastare guasti hardware e software; - efficienza; - livello di implementazione di intelligenza artificiale [Gol14]. Le griglie possono essere suddivise in omogenee o eterogenee, considerando fattori come il sistema operativo, lo spazio di memoria, la velocità della CPU, il numero di risorse e altri. Considerando i servizi offerti, si possono individuare diversi tipi di ambienti di griglia [Qur14]: - computational Grid: combina la potenza computazionale delle risorse distribuite, tra cui cluster, desktop e supercomputer, per offrire alte prestazioni di calcolo; - access Grid: offre limitate e specifiche risorse per un breve periodo di tempo; - data Grid: consiste in archivi distribuiti e permette di immagazzinare un’enorme quantità di dati che vengono resi accessibili e disponibili per spostamenti ed elaborazioni, indirizzandosi, quindi, ad attività che comportano un’alta densità dei dati; 40 - data-centric Grid: facilita l’accesso e l’elaborazione per i grandi archivi distribuiti, permettendo di non spostare i dati, in quanto è l’elaborazione ad essere portata sugli archivi; - application service Grid: consente l’accesso alle applicazioni remote, alle librerie localizzate nei diversi centri di dati e alle griglie di tipo computational Grid; - interaction Grid: interagisce e collabora per fornire la visualizzazione tra i partecipanti; - knowledge Grid: si concentra sull’individuazione, acquisizione, gestione ed elaborazione della conoscenza; - utility Grid: fornisce tutti i tipici servizi di griglia, come potenza di calcolo, individuazione e allocazione delle risorse, qualità del servizio e altri. In Fig. 19 è mostrata la suddivisione per tipologia degli ambienti di griglia [Qur14]. Fig. 19. Ambienti di griglia Si rende, quindi, evidente che le tecnologie Grid possono essere sfruttate in diversi contesti, conseguendo notevoli vantaggi; di seguito si riportano alcuni esempi applicativi [Cas15]. Nella ricerca biomedica, l’iniziativa internazionale BIRN (Biomedical Informatics Research Network) ha permesso la condivisione dei dati e la collaborazione online; sono state fornite infrastrutture per la condivisione dei dati, strumenti software, servizi di consulenza e di supporto alla pianificazione. Questa iniziativa realizza la collaborazione tra gli istituti National Institutes of General Medicine Sciences e il gruppo formato da: University of Chicago, Massachusetts General Hospital, University of California a Irvine e University of California a Los Angeles. Ai componenti dei diversi gruppi di ricerca (informatici, ingegneri, fisici, ricercatori biomedici e altri esperti) viene, così, fornita la possibilità di elaborare le nuove informazioni in modo innovato. I gruppi di ricerca possono decidere se condividere i dati solo al loro interno o con utenti esterni, superando, grazie alla rete BIRN, le difficoltà 41 legate alle distanze geografiche e alle differenze dei singoli sistemi computazionali. In ogni caso, il controllo degli hardware e dei dati è mantenuto dai singoli gruppi di appartenenza. Nell’Università Brown si è realizzata la prima simulazione, ad alte prestazioni, in ambiente distribuito, per riprodurre il flusso sanguineo nelle arterie umane. Le immagini che mostrano la velocità e la pressione all’interno della ramificata e tridimensionale struttura arteriosa, sono state ottenute presso il laboratorio Argonne National Laboratory. Simulazioni di terremoti sono state, invece, effettuate al centro Southern California Earthquake Center, calcolando gli effetti delle onde d’urto, considerandone la propagazione attraverso i diversi strati geologici (si vuole sottolineare che questo tipo di simulazione può generare fino a 40TB di dati). Inoltre nella griglia ESG (Earth System Grid) sono prodotti, archiviati e resi accessibili dati climatici che permettono di studiare più efficacemente i cambiamenti globali. In fisica la necessità di simulare gli effetti gravitazionali riguardanti i buchi neri, si traduce nel bisogno di più potenza di calcolo che può essere ottenuta attraverso l’utilizzo di più supercomputer. Una grande quantità di dati che può efficacemente essere gestita dalla tecnologia della griglia, si ritrova anche nei database derivanti dai risultati degli acceleratori di particelle, come quelli del CERN (anche in questo contesto la tecnologia della griglia supporta l’implementazione di simulazioni) [Cas15]. Nel settore e-Learnig si possono citare i lavori in [Ban05, Gae05, Cas15] che, come visto nella sezione 2.2.2, realizzano reti di tipo VO orientante al conseguimento di diversi obiettivi in questo contesto. In [Ban05, Gae05] si comincia ad intravedere nella tecnologia della griglia, la migliore soluzione per costituire una rete di tipo VO per e-learning, valutando fattori quali la migliore gestione delle risorse distribuite, la garanzia di integrità e l’interoperabilità. Il progetto SFINGE (Solution Framework for Interoperable Network in Grid E-learning) [Cas15], offre notevoli vantaggi rispetto ai lavori precedenti, incrementando l’interazione tra gli studenti e i contenuti di tipo learning. Attraverso l’utilizzo della tecnologia della griglia si è potuta realizzare una rete di tipo VO estesa e scalabile, con risorse di tipo learning condivise in ambienti distribuiti ed eterogenei. Il progetto vede lo sviluppo del portale SFINGE che rende disponibili i servizi di griglia. Attraverso il portale l’utente viene a conoscenza del luogo in cui risiedono le risorse condivise e può utilizzarle semplicemente scaricandole. L’accesso ai servizi di griglia è reso, così, trasparente per gli utenti. Tra le altre possibilità, gli utenti della griglia possono aggiungere strumenti software e risorse, utilizzando il componente GridFTP per il trasferimento dei file, e sottoporre lavori avvalendosi del componente GRAM5. Per l’autenticazione e l’autorizzazione degli utenti vengono utilizzati i certificati SimpleCA che utilizzano lo standard X.509. Un ulteriore vantaggio del progetto SFINGE si ritrova nell’implementazione della tecnologia del workflow che permette di superare i problemi dei ritardi e delle frammentazioni delle 42 attività, legati alle comunicazioni asincrone tra i partecipanti alla rete di tipo VO, determinando una riduzione dei tempi di produzione e del rischio di dispersione dei dati. I maggiori obiettivi conseguiti sono, quindi, flessibilità e riduzione dei tempi nella gestione dello sviluppo di tutto il sistema di tipo e-learning [Cas15]. L’utilizzo della tecnologia della griglia si ritrova anche nel settore Knowledge Discovery [Cas09] e nel settore Biomedical Knowledge Engineering [Cas11]. La problematica posta in [Cas09] è quella della ricerca all’interno della vasta raccolta delle informazioni biomediche. A tal proposito si sviluppa un’apposita soluzione di tipo middleware in un ambiente scalabile e distribuito. Principalmente il sistema sviluppato è in grado di eseguire un’applicazione utente, processare le operazioni suddividendole su più nodi, creando un calcolo parallelo e monitorandolo, ed essere al corrente delle risorse computazionali disponibili e del loro stato. Per realizzare questo obiettivo si include, nello sviluppo del progetto, un’interfaccia grafica per utente per l’accesso ai nodi, un sistema per il bilanciamento del carico e un ottimizzatore di trasferimento per ridurre i costi di comunicazione [Cas09]. Il settore Knowledge Engineering [Cas11] attiene all’integrazione della conoscenza in sistemi di computer, al fine di risolvere problemi complessi che generalmente richiedono specialisti di alto livello. La conoscenza umana è, quindi, codificata e integrata in applicazioni dette knowledge application per il supporto alle decisioni. In [Cas11] si distinguono tre fasi nella modellazione di un processo di conoscenza che possono anche essere cicliche; la prima fase consiste nell’identificazione della conoscenza, la seconda in una descrizione dettagliata e la terza è orientata alla rifinitura. Nel lavoro presentato in [Cas11], indirizzato alla biomedicina, si mette in evidenza la problematica delle grandi quantità di documenti elettronici sullo stato di salute, di esami di laboratorio, di immagini diagnostiche, di lettere di dimissioni ospedaliere che sono localizzati in differenti sistemi autonomi e che, pertanto, non consentono a tutti gli specialisti che lavorano nel settore, di avvalersene. Si costituisce, così, uno scenario di risorse distribuite, con la necessità di uno standard comune, di una grande potenza di calcolo e di organizzazione interna che conduce verso la scelta della tecnologia del Grid computing, Fig. 20 [Cas11]. 43 Fig. 20. Soluzione di tipo Grid computing nello scenario biomedico di risorse distribuite In [Bel07] la tecnologia della griglia è stata scelta per l’analisi da remoto di immagini e l’interattiva diagnosi online, consentendo una rilevante riduzione dei ritardi nelle procedure diagnostiche afferenti ai programmi di screening. Le considerazioni relative alla natura distribuita dei database medici, ai problemi di privacy e alla necessità di ridurre al minimo la replica ed il trasferimento dei dati, portano a sviluppare un approccio basato sul presupposto che, per quanto sia possibile, i dati debbano essere archiviati e analizzati dove sono stati raccolti. A tal proposito lo strumento ROOT/PROOF permette di avviare processi interattivi a distanza su richiesta. L’interfaccia ai servizi di griglia permette di accedere all’autenticazione e ai servizi di gestione dei dati, mentre il portale web permette una visione facilitata dello stato delle risorse della rete di tipo VO. L’interfaccia GUI (Graphic User Interface) permette la registrazione di un nuovo paziente e di un nuovo esame, per un paziente esistente, e l’analisi di un’immagine selezionata. Per ogni immagine è possibile inserire o modificare la diagnosi e le annotazioni, selezionare manualmente la porzione indicata dal radiologo, effettuare ingrandimenti e finestrature, scegliere il contrasto, invertire l’immagine e variare la luminosità. La strategia per le procedure di screening prevede che le immagini raccolte negli ospedali siano analizzate dai sistemi CADe e solo quelle che hanno un’alta probabilità di contenere una patologia, siano inviate ai centri diagnostici, dove i radiologi possono analizzarle. 44 Particolare attenzione è posta al problema della sicurezza. Per l’autenticazione e l’autorizzazione si utilizza lo standard X.509 Certificates; l’accesso alle risorse di tipo VO è, così, permesso solo agli utenti in possesso di un certificato di tipo Grid Certificate e registrati, nei server della rete di tipo VO, come autorizzati ad accedere al sistema [Bel07]. 2.4. La tecnologia come supporto alla medicina Il lavoro in medicina necessita di un ambiente collaborativo e produce un’alta densità di dati che devono essere archiviati e processati, come visto precedentemente. Inoltre, l’utilizzo dei dati nelle diverse metodologie di elaborazione spinge verso il bisogno di risorse dinamiche e scalabili [Gri15]. Molti sono i settori della medicina in cui la tecnologia fornisce un importante supporto, come descritto in [Gri15], alcuni di questi sono: - telemedicina/teleconsulto: è necessario sostenere la comunicazione e la condivisione tra le parti coinvolte, e rendere possibile operazioni come la raccolta, l’accesso e l’analisi dei dati dei pazienti localizzati nei differenti ospedali o centri sanitari, attraverso reti dedicate; - diagnostica per immagini: le problematiche più grandi risiedono nell’archiviazione, nella condivisione attraverso flussi di lavoro e nell’elaborazione, con grande potenza di calcolo, delle immagini; - salute pubblica e autogestione dei pazienti: è necessario facilitare l’accesso ai dati medici, per i grandi gruppi di popolazione, per ottimizzare la prevenzione, promuovere e migliorare la salute pubblica; - gestione di ospedali/sistemi informativi clinici: la condivisione di informazioni tra i diversi reparti dell’ospedale è molto importante, quindi si richiede, generalmente, la possibilità di accedere ai dati da tutti i dispositivi dell’ospedale; - terapia: in questo settore sono di rilievo la pianificazione, la gestione e la valutazione degli interventi terapeutici; - altre tipologie di utilizzo dei dati. Alcune applicazioni della tecnologia alla medicina si ritrovano in [Aml14, Hua14, Yos12, Sil12, Lan14, Sil11]. In [Aml14] il lavoro si focalizza sui rapidi strumenti computerizzati di allarme per l’individuazione della sepsi (risposta infiammatoria innescata da un’infezione con un alto tasso di mortalità in ospedale). In [Hua14] si porta in rilievo l’utilizzo delle piattaforme informatiche per la diagnostica per immagini che risultano un metodo organizzato per l’utilizzo dei dati provenienti dai diversi sistemi informativi medici, con lo scopo di sviluppare sistemi per la diagnosi e il trattamento delle patologie. In [Yos12] si propone lo sviluppo di una piattaforma software per supportare l’elaborazione ad alte prestazioni delle immagini tridimensionali. In [Sil12] è presentata un’architettura per un archivio PACS 45 (Picture Archiving and Communication System) che assicura privacy, integrità e disponibilità dei dati, consentendo di supportare, anche, il lavoro dei piccoli centri economicamente deboli. La gestione di alcune malattie in rapida diffusione può essere facilitata dalla telemedicina [Lan14]. In alcuni settori, come in quello oftalmico, il numero di individui che necessitano di assistenza medica è nettamente superiore al numero di specialisti. Per questi motivi è necessario distanziarsi dai modelli sanitari classici, orientandosi verso l’assistenza a distanza e una preliminare analisi automatica dei dati raccolti [Sil11]. Di rilievo è la possibilità di permettere l’arrivo dell’assistenza specialistica nelle aree remote; in [Lan14] si sviluppa una piattaforma di telemedicina focalizzata alla diagnosi e al tempestivo trattamento di malattie oculari. Grazie alla trasmissione in tempo reale, di dati ed immagini digitali, è possibile un continuo monitoraggio dei pazienti, inoltre le diagnosi generate vengono utilizzate per creare un sistema di diagnosi intelligente [Lan14]. I processi automatizzati in telemedicina supportano l’elaborazione dei dati, contenendo i costi e assicurando il mantenimento di una buona accuratezza. Il paziente ottiene, così, vantaggi quali diagnosi più rapida, più tempo dedicatogli per l’informazione medica ed, eventualmente, la possibilità di una comunicazione in tempo reale con il medico di base. Questi sistemi consentono un miglioramento del flusso di lavoro, riducendo le operazioni effettuate dagli specialisti e gli errori durante le importanti fasi iniziali di triage sulle immagini a basso rischio. Idealmente, si dovrebbe unire alle immagini la cartella clinica elettronica relativa al paziente in esame, prima di procedere alla classificazione e alla diagnosi automatica delle stesse, in modo tale da fornire le importanti informazioni mediche per ottenere un individuale profilo di rischio e facilitare la pianificazione delle terapie. Si rende necessario sottolineare che lo sviluppo delle metodologie di elaborazione delle immagini, utilizzate in unione alla telemedicina, è stato possibile solo grazie alla crescente disponibilità di potenza di calcolo. Queste metodologie si possono suddividere in due gruppi: CADe (Computer-Aided Detection) e CADx (Computer-Aided Diagnosis). Le prime sono utilizzate per l’identificazione delle lesioni patologiche, mentre le seconde per effettuare una classificazione basata anche su altre informazioni cliniche che permettano di valutare la probabilità o il rischio della presenza di una patologia [Sim15]. Tuttavia, l’analisi condotta in [Sim15], sui principali sviluppi di sistemi di Automated Retinal Image Analysis (ARIA) in campo oftalmico, porta in rilievo come, a fronte degli enormi vantaggi da questi introdotti, sia necessario considerare le difficoltà legate allo sviluppo degli stessi che richiede ampi e vari data set di immagini per l’addestramento e di riferimenti per la convalida. 46 3. Sviluppo di una rete collaborativa 3.1. Motivazione e definizione degli obiettivi Lo sviluppo delle metodologie ARIA presenta principalmente due limiti. Il primo riguarda la mancata disponibilità, per i ricercatori che sviluppano le metodologie di elaborazione delle immagini, di un ampio e vario data set di immagini per l’addestramento, a causa di ostacoli normativi e di privacy; la seconda limitazione riguarda l’assenza di riferimenti per la convalida delle metodologie [Sim15]. La convalida è il processo in cui si valuta se la metodologia esegue correttamente il suo compito, attraverso il confronto con un riferimento standard fornito da un esperto (dove per esperto, con riferimento alle problematiche retiniche, si intende la figura dell’oftalmologo). Questo processo quindi implica tre azioni: selezionare immagini campione per la validazione, raccogliere riferimenti per le suddette immagini, confrontare i risultati della metodologia stessa con i riferimenti per avviare analisi statistiche, così da valutare le prestazioni [Tru13]. Il problema che riguarda la mancanza di immagini marcate manualmente, interviene principalmente perché ottenere i riferimenti risulta molto laborioso e costoso. Uno dei metodi utilizzati, per cercare di ridurre i costi per ottenere riferimenti, è l’approccio dello “sviluppo collettivo”, nel quale il lavoro viene affidato ad un’anonima forza-lavoro sfruttando Internet. Ovviamente la problematica di questo tipo di approccio, in campo medico, riguarda da un lato la mancata conoscenza della forza-lavoro, dall’altro le regole di privacy nell’accesso on-line a dati clinici [Sim15]. Sono, inoltre, importanti fattori la variabilità del giudizio degli esperti e la necessità di riferimenti direttamene confrontabili con i risultati delle metodologie. Un riferimento, derivante da una stessa immagine, può risultare diverso a seconda dell’esperto che ne è autore, ma può anche variare se rivisto dallo stesso artefice. Le differenze dipendono dall’esperienza, dai compiti che ciascun esperto svolge, dalla qualità dell’immagine, dall’interpretazione sulle modalità di creazione del riferimento. Risulterebbe utile che più esperti sviluppino lo stesso data set di immagini marcate; tuttavia questo tipo di lavoro non fa parte della normale pratica clinica e i medici non vi sono abituati e non comprendono la sua rilevanza. Inoltre le immagini retiniche, ottenute da una digital fundus camera, hanno in genere qualità variabile a seconda delle procedure di acquisizione, della formazione degli operatori, della messa a fuoco, delle occlusioni (ad esempio cataratta o ciglia), dalle lesioni diffuse, degli artefatti introdotti dagli strumenti e dalle condizioni in cui avviene l’acquisizione. Pertanto è indispensabile effettuare delle considerazioni di qualità sulle immagini, per una corretta valutazione dei sistemi ARIA. In conclusione quindi, anche se recentemente c’è stata una maggiore tendenza a creare data set, la maggior parte di essi contengono un numero limitato di immagini, a volte derivanti da 47 un solo sito, o non forniscono riferimenti, o entrambi; questo a causa delle importanti sfide in termini di tempo e costi che si incontrano nella costruzione di tali data set [Tru13]. Per dare una risposta alle esigenze sopra descritte, il presente lavoro è indirizzato alla creazione di due vasti database che contengano immagini classificate e immagini marcate da esperti, rese accessibili attraverso una piattaforma dedicata. Le immagini marcate da esperti sono definite immagini Ground Truth (GT). Per la scelta delle caratteristiche dei suddetti database che saranno di seguito riportate, si fa riferimento alle indicazioni fornite nel lavoro di Trucco et al. [Tru13]: - creazione collaborativa a livello internazionale dei database per archiviare un vasto volume di dati, garantendo visibilità, credibilità e risultati utili per i medici; - facilità di accesso previa procedura di registrazione; - manutenzione regolare per garantire il mantenimento dei dati; - grandi dimensioni; - inclusione di metadati che caratterizzino la strumentazione per l’acquisizione della retinografia, i pazienti e il tipo di problematica retinica; - organizzazione per tipologia di studio; - inclusione di immagini GT fornite da più oftalmologi situati in luoghi differenti per evitare che si presentino influenze nel giudizio, per il confronto delle metodologie di elaborazione; affiancamento per ogni immagine GT del livello di incertezza dell’oftalmologo. I diversi aspetti che si riscontrano nel conseguimento di tale obiettivo implicano scelte organizzative e tecnologiche ben precise. La base per la formazione dei database sono le banche dati mediche che hanno natura distribuita e presentano difficoltà di gestione in riferimento agli aspetti di privacy. Queste problematiche portano necessariamente verso uno sviluppo con tecnologia Grid [Bel07]. Per la costituzione di tali database occorre la compartecipazione professionale di più figure seppur territorialmente suddivise, che come in [Cas15], vadano a costituire quel sistema in cui una serie di attori interagiscono per il conseguimento di un obiettivo comune, tale tipo di interazione è definibile Virtual Organization. La gestione di tutto il sistema virtuale, e quindi anche dei permessi relativi ai ruoli ricoperti dai diversi attori, viene affidata ad un Amministratore che potrà in ogni momento apportare aggiunte o modifiche ritenute opportune. Per meglio supportare la gestione delle diverse attività che portano alla costituzione dei database, si considera la tecnologia detta workflow. In conclusione, si accederebbe al sistema attraverso una piattaforma web facilmente utilizzabile, i metadati permetterebbero la giusta selezione degli ingressi per gli studi epidemiologici o per la formazione di giovani medici (come in [Bel07]) e lo sviluppo dei sistemi ARIA avrebbe a disposizione molti più dati, ottenendo un incremento delle prestazioni. 48 Amministratore Servizi per la collaborazione (Forum, Chat, Videoconferenze, Wiki, Blog, Mail) Utente VIRTUAL ORGANIZATION Gestione ruoli Servizi per la creazione dei file Workflow Archivio retinografie originali Database retinografie classificate Servizi di griglia Database immagini Ground Truth Fig. 21. Virtual Organization per la creazione e la gestione di database di retinografie classificate e di immagini Ground Truth 3.2. Ingressi e uscite Si parte dal presupposto di avere a disposizione archivi di immagini retiniche provenienti da diversi siti (ad esempio differenti ospedali e vari centri di screening), i cui dati sono affetti dalle seguenti problematiche: non consentono di effettuare ricerche per parola chiave e non sono suddivisi in categorie che permettano un accesso differenziato, per assicurare la privacy dei pazienti. Si riporta di seguito il contenuto degli archivi (mostrato in Fig. 22): - immagini retiniche a colori; - dati del paziente come etnia, genere, età, nome, cognome e indirizzo; - dati relativi alla strumentazione come il modello di digital fundus camera, il FOV (Field Of View), la risoluzione del sensore impiegato. 49 IMMAGINE RETINICA DATI PAZIENTE: -etnia -genere -età -nome -cognome -indirizzo DATI STRUMENTAZIONE: -modello -FOV -risoluzione Fig. 22. Modello dati d’ingresso A partire da questi dati in ingresso si procede per ottenere il primo dei due database indicati precedentemente. Questo conterrà le stesse immagini retiniche d’ingresso, corredate con metadati in parte derivanti dagli archivi originali e in parte ottenuti dal processo di classificazione che permetteranno un più facile utilizzo del database, giungendo ad ottenere il seguente modello di dati (come indicato in Fig. 23): - immagine retinica a colori; - codice identificativo dell’immagine retinica (ID); - metadati relativi al paziente suddivisi in due categorie, Caratterizzatori come etnia, genere, età, utili per gli studi epidemiologici, e Anagrafica con riferimento ai dati personali del paziente come nome, cognome e indirizzo; - qualità dell’immagine retinica per lo sviluppo dei sistemi ARIA: Inadeguata (I) / Minima (M) / Buona (B); - immagine segmentata derivante dalla metodologia di elaborazione; - indicazione sulle Lesioni Patologiche (LP) : Presenza (P) / Non Presenza (NP) e tipologia. 50 METADATI PAZIENTE CARATTERIZZATORI: -etnia -genere -età METADATI IMMAGINE RETINICA: -identificativo immagine retinica -qualità immagine: I / M / B -lesioni patologiche: P / NP tipologia ANAGRAFICA: -nome -cognome -indirizzo IMMAGINE RETINICA IMMAGINE ELABORATA Fig. 23. Modello dati d’uscita del database retinografie classificate Il secondo database conterrà le immagini GT delle retinografie, a partire dalla classificazione fatta nel primo database. Si considera che per soddisfare la necessità di avere riferimenti derivanti dall’opera di più oftalmologi, per ogni retinografia saranno sviluppate almeno due immagini GT. Inoltre il grado di incertezza dell’oftalmologo andrà a costituire il metadato associato ad ogni immagine GT, realizzando il modello di dati in Fig. 24: - immagine GT; - metadati relativi all’immagine GT: codice identificativo immagine retinica (ID), codice identificativo immagine GT (ID-GT), codice identificativo dell’oftalmologo autore (ID-A), livello di incertezza (I). GROUND TRUTH METADATI IMMAGINE GT: -identificativo immagine retinica -identificativo immagine GT -identificativo oftalmologo -incertezza Fig. 24. Modello dati d’uscita del database delle immagini GT 51 Per i modelli di dati e i relativi metadati si è fatto riferimento ai lavori di Trucco et al. [Tru13] e di Lancheros-Cuesta et al. [Lan14]. 3.3. Fasi per la realizzazione dei database Il presente lavoro ha come obiettivo la creazione di due database, di conseguenza si devono considerare due processi, di cui il primo indirizzato ad ottenere immagini retiniche classificate. In questo contesto i passi necessari sono: 1. Valutazione della qualità dell’immagine: l’immagine originale viene valutata tenendo presente le caratteristiche di strumentazione, arrivando attraverso la considerazione dell’istogramma, del contrasto, del rapporto segnale/rumore e della chiarezza dell’immagine (con riferimento ai vasi che circondano la macula) a definirne la qualità (I / M / B) per lo sviluppo delle metodologie ARIA; 2. Registrazione delle lesioni patologiche: l’immagine originale è sottoposta all’analisi da parte di un oftalmologo che individua la presenza (P) o meno (NP) di eventuali lesioni patologiche, caratterizzandole con la loro tipologia; 3. Affiancamento dell’immagine elaborata: l’immagine originale è elaborata attraverso metodologie che soddisfino le linee guida e gli standard medici universalmente riconosciuti, ottenendo l’immagine elaborata; 4. Controllo della retinografia classificata: vengono raccolti tutti i dati ottenuti dalle fasi precedenti ed effettuato un ulteriore controllo medico sulle lesioni patologiche rilevate nell’immagine retinica che porta o all’approvazione, e quindi all’archiviazione delle immagini con i relativi metadati, o alla rivalutazione delle lesioni patologiche; 5. Archiviazione della retinografia classificata: le immagini e i metadati sono archiviati nel database delle retinografie classificate. Il secondo processo si sviluppa per costruire i database delle immagini GT e consiste nelle seguenti fasi: 1. Selezione dell’immagine: a seconda dei dati ottenuti dalla classificazione, vengono selezionate le immagini più appropriate per lo sviluppo delle metodologie ARIA; 2. Sviluppo dell’immagine GT: per ciascuna immagine selezionata sono prodotte almeno due immagini GT e sono indicati i livelli di incertezza da ciascun oftalmologo autore; 3. Controllo dell’immagine GT: per ogni immagine GT si controlla la corretta esecuzione della stessa, autorizzandone l’archiviazione o richiedendo una ripetizione del compito all’oftalmologo di riferimento; 4. Archiviazione dell’immagine GT: ogni immagine GT viene archiviata con i relativi metadati nel database delle immagine GT. 52 Inoltre, si rende necessaria l’aggiunta di fasi trasversali all’intera vita del progetto. Queste consistono in: - una continua gestione degli accessi, dei ruoli e dei permessi ad essi associati; - un monitoraggio costante che assicuri il funzionamento dell’intero sistema e garantisca che non vi sia perdita di dati. 3.4. Ruoli coinvolti nella Virtual Organization I ruoli coinvolti nel processo di creazione dei database sono: - Esperto qualità immagine: analizza le immagini originali contenute negli archivi, tenendo presente i dati relativi alla strumentazione, e ne identifica la qualità in I / M / B; - Medico analizzatore retinografia: analizza le retinografie registrando la possibile presenza di lesioni patologiche P o la loro assenza NP e la loro tipizzazione; - Medico selezionatore retinografia: individua le immagini retiniche, tra quelle contenute nei database retinografie classificate, per lo sviluppo delle immagini GT; - Medico sviluppatore immagine GT: fornisce l’immagine GT delle retinografie selezionate dal Medico selezionatore retinografia; - Fornitore immagine elaborata: avvia le metodologie per l’elaborazione delle immagini retiniche, fornendo immagini elaborate; - Medico supervisore: controlla la classificazione delle immagini retiniche, con riferimento alle lesioni patologiche, e le immagini GT, autorizzando le archiviazioni o richiedendo un analisi aggiuntiva; - Gestore archiviazione: archivia le retinografie classificate e le immagini GT con i relativi metadati, rendendole così disponibili alla consultazione, controllata delle regole di visualizzazione. In aggiunta a questi ruoli si devono considerare quelli relativi alle attività trasversali per la gestione dell’intero sistema: - Amministratore piattaforma: gestisce nel complesso il sistema virtuale, rapportandosi con ogni figura interna ed esterna alla rete di tipo VO, autorizzando gli accessi, gestendo i ruoli e modificandone i permessi; - Esperto piattaforma: è responsabile della progettazione del sito web, della navigazione al suo interno, dell’accesso ad esso e dell’utilizzo dello stesso; si occupa inoltre della sicurezza dei dati archiviati, evitando ogni possibile perdita. 53 Infine si identifica con il ruolo di Ospite ogni nuova figura esterna alla rete di tipo VO che accede al sistema per utilizzarlo e, quindi, per la consultazione dei database delle retinografie classificate e delle immagini GT. Si vuole sottolineare che ogni utente può ricoprire più di un ruolo sopra decritto e, allo stesso modo, possono esistere più utenti che ricoprono lo stesso ruolo. 3.5. Regole di visualizzazione Nello sviluppo di questo sistema è necessario porre molta attenzione ai contenuti degli archivi originali, in quanto questi consistono in dati sensibili e di notevole valore. Pertanto si considera che l’accesso agli archivi originali non sia consentito a tutti i componenti della rete di tipo VO, ma solo a chi ricopre ruoli che hanno la responsabilità di gestire dati e immagini, assicurando il corretto utilizzo e l’integrità. Si riportano, in Tab.1, le regole di visualizzazione degli archivi originali a seconda del ruolo ricoperto all’interno della rete di tipo VO. RUOLI Amministratore piattaforma Esperto piattaforma Esperto qualità immagine Medico analizzatore retinografia Medico selezionatore retinografia Medico sviluppatore immagine GT Fornitore immagine elaborata Medico supervisore Gestore archiviazione Ospite Archivi originali x x x x Tab. 1. Regole di visualizzazione degli archivi originali Per quanto riguarda, invece, i due database prodotti, si attiverà la visualizzare di solo alcuni metadati, a seconda del ruolo che si ricopre al momento dell’accesso, come riportato in Tab. 2. Si ritiene importante sottolineare che al fine di garantire la privacy dei pazienti, si sono suddivisi i metadati ad esso relativi in due campi: Caratterizzatori e Anagrafica; quest’ultimo sarà visibile solo per alcuni ruoli (come indicato in Tab. 2), assicurando che i dati che strettamente identificano la persona, non siano in alcun modo divulgati. 54 RUOLI Dati paziente Amministratore piattaforma Esperto piattaforma Esperto qualità immagine Medico analizzatore retinografia Medico selezionatore retinografia Medico sviluppatore immagine GT Fornitore immagine elaborata Medico supervisore Gestore archiviazione Ospite Ana. x Car. x x x Dati immagine retinica ID Qualità LP x x x x x x x x Dati immagine GT ID x ID-GT x ID-A x I x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x Tab. 2. Regole di visualizzazione dei metadati Per la visualizzazione delle varie immagini inserite nei database si fa riferimento alla Tab. 3. RUOLI Amministratore piattaforma Esperto piattaforma Esperto qualità immagine Medico analizzatore retinografia Medico selezionatore retinografia Medico sviluppatore immagine GT Fornitore immagine elaborata Medico supervisore Gestore archiviazione Ospite Immagine retinica a colori x x Immagine elaborata Immagine GT x x x x x x x x x x x x x x x Tab. 3. Regole di visualizzazione delle immagini 55 x x x x 3.6. Sviluppo del processo di classificazione di immagini retinografiche Il primo processo che riguarda la creazione del database delle retinografie classificate, coinvolge i ruoli di seguito riportati e comporta lo schema di connessioni riportato in Fig. 25. Ruoli coinvolti: Amministratore piattaforma Esperto piattaforma Esperto qualità immagine Fornitore immagine elaborata Medico analizzatore retinografia Medico supervisore Gestore archiviazione Fig. 25. Schema dei collegamenti tra i ruoli per la classificazione delle immagini retiniche L’interazione tra i suddetti ruoli è gestita, come in [Cas15], attraverso la tecnologia detta workflow, per garantire l’alta qualità dei database. Come descritto nella sezione 3.3, le fasi coinvolte in questo processo sono: valutazione della qualità dell’immagine, registrazione delle lesioni patologiche, affiancamento dell’immagine elaborata, controllo della retinografia classificata, archiviazione della retinografia classificata. Per automatizzare il processo è necessario individuare accuratamente il ruolo connesso ad ogni fase e il suo compito. La tecnologia del workflow permette di gestire le differenti attività per i differenti ruoli, così da automatizzare il processo di produzione, garantendo che: 56 - ogni nuovo contenuto sia prodotto dal componente della rete di tipo VO autorizzato al compito; - metadati e immagini possano essere assegnati ai diversi componenti della rete di tipo VO autorizzati coinvolti nel processo, seguendo un predeterminato flusso di lavoro; - ogni contenuto prima di essere archiviato viene rivisto e approvato; - se rigettato il contenuto viene rinviato al suo creatore e rieditato per un nuovo controllo; - se approvato il prodotto finale viene archiviato e reso disponibile per la consultazione. In Fig. 26 è riportata la struttura del workflow per il processo di classificazione delle retinografie. In particolare nei riquadri sono indicati i ruoli coinvolti e le uscite prodotte e scambiate, mentre negli ovali sono riportate le azioni assegnate ai ruoli. Immagini da classificare Esperto qualità immagine Analisi qualità immagine Metadati sulla qualità Fornitore immagine elaborata Produzione immagine elaborata Immagine elaborata Medico analizzatore retinografia Analisi medica immagine Metadati sulle lesioni patologiche Medico supervisore Controllo medico Valutazione immagine classificata Gestore Archiviazione Archiviazione Retinografia classificata nel database Fig. 26. Workflow per il processo di classificazione di immagini retinografiche 57 Si sottolinea che ogni fase del processo, ha come dati d’ingresso tutti quelli generati nelle fasi ad essa precedenti. 3.6.1. Valutazione della qualità dell’immagine La prima fase, del processo di classificazione delle retinografie, coinvolge il ruolo dell’Esperto qualità immagine che come indicato nelle regole di visualizzazione (sezione 3.5), ha i permessi di accesso agli archivi originali. Il componente della rete di tipo VO che ricopre questo ruolo, entra negli archivi originali e procede alla selezione di un’immagine. Il compito, svolto dall’Esperto qualità immagine, è quello di considerare le caratteristiche di strumentazione riportate negli archivi originali ed analizzare l’immagine, esaminandone l’istogramma, il contrasto, il rapporto segnale/rumore e la chiarezza. La procedura termina contrassegnando l’immagine con un metadato riferito alla qualità, considerata nella prospettiva di riutilizzare l’immagine per lo sviluppo delle metodologie ARIA. L’indicazione di qualità è scelta tra le seguenti possibilità: ο· Insufficiente: I; ο· ο· Minima: M; Buona: B. Al termine della procedura l’immagine originale selezionata, corredata col suddetto metadato, è resa disponibile per la fase successiva. In Tab. 4 e Tab. 5 sono riportate le indicazioni dell’attore coinvolto nella fase in esame, dei permessi di lettura (r) e scrittura (w) (rw indica che entrambe le azioni sono permesse) e le sotto-fasi con relativa descrizione. ATTORE Esperto qualità immagine Valutazione della qualità dell’immagine x Qualità immagine rw Tab. 4. Permessi dell’attore coinvolto nella fase di Valutazione della qualità dell’immagine SOTTO-FASI Selezione immagine Esame immagine Indicazione qualità Tab. 5. Sotto-fasi dell’immagine DESCRIZIONE -selezione immagine retinica dagli archivi originali -esame caratteristiche immagine -scrittura grado di qualità riscontrato della fase di 58 Valutazione della qualità 3.6.2. Affiancamento dell’immagine elaborata Il Fornitore immagine elaborata riceve l’uscita della fase precedente e procede ad avviare le metodologie per la sua elaborazione. Si precisa che le metodologie di elaborazione di immagine che intervengono in questa fase, sono state precedentemente sviluppate in altri contesti e valutate per assicurare il soddisfacimento di linee guida e standard medici universalmente riconosciuti. Ottenuta, con queste modalità, l’immagine elaborata è affianca all’originale e resa disponibile per la fase successiva. In Tab. 6 e Tab. 7 sono riportate le indicazioni dell’attore coinvolto nella fase in esame, dei permessi di lettura (r) e scrittura (w) (rw indica che entrambe le azioni sono permesse) e le sotto-fasi con relativa descrizione. ATTORE Fornitore immagine elaborata Affiancamento dell’immagine elaborata x Immagine elaborata rw Tab. 6. Permessi dell’attore coinvolto nella fase di Affiancamento dell’immagine elaborata SOTTO-FASI Elaborazione Registrazione immagine elaborata DESCRIZIONE -avvio metodologie autorizzate -affiancamento dell’immagine originale con quella elaborata Tab. 7. Sotto-fasi della fase di Affiancamento dell’immagine elaborata 3.6.3. Registrazione delle lesioni patologiche Il Medico analizzatore retinografia riceve l’uscita della fase precedente e procede alla sua analisi, per rilevare la presenza di lesioni patologiche. Dall’analisi medica dell’immagine si costituisce il metadato sulle lesioni patologiche che potrà consistere nelle seguenti opzioni: ο· ο· presenza lesioni patologiche: P; assenza lesioni patologiche: NP. In seguito, il componente della rete di tipo VO coinvolto in questa fase dovrà dare indicazione sul tipo di lesioni patologiche riscontrate, nel campo preposto. Al termine della procedura l’immagine con le relative indicazioni, viene resa disponibile per la fase successiva. 59 In Tab. 8 e Tab. 9 sono riportate le indicazioni dell’attore coinvolto nella fase in esame, dei permessi di lettura (r) e scrittura (w) (rw indica che entrambe le azioni sono permesse) e le sotto-fasi con relativa descrizione. ATTORE Medico analizzatore retinografia Registrazione delle lesioni patologiche x Indicazioni lesioni patologiche rw Tab. 8. Permessi dell’attore coinvolto nella fase di Registrazione delle lesioni patologiche SOTTO-FASI Esame medico immagine Indicazione lesioni patologiche DESCRIZIONE -individuazione lesioni patologiche -individuazione tipologia di lesioni patologiche -scrittura presenza/assenza lesioni patologiche -scrittura tipo di lesioni patologiche Tab. 9. Sotto-fasi della fase di Registrazione delle lesioni patologiche 3.6.4. Controllo della retinografia classificata Il Medico supervisore riceve le immagini e i relativi dati ad esse associate, per procedere al controllo prima dell’archiviazione. Il controllo che avviene in questa fase è di tipo medico, quindi vengono rivalutate le lesioni patologiche che la retinografia mostra e le loro caratteristiche. Dopo questo tipo di esame, il componente della rete di tipo VO coinvolto può procedere in due differenti modi: ο· approvare l’archiviazione del nuovo oggetto “retinografia classificata”, nel caso di accertamento delle indicazioni sulle lesioni patologiche; ο· rinviare l’oggetto al Medico analizzatore di retinografia per un controllo ulteriore, nel caso di individuazione di errori nella valutazione delle lesioni patologiche. La fase successiva dipende dalla scelta che viene effettuata dal Medico supervisore. Nel primo caso si procederà con l’ultima fase, di seguito riportata, mentre nel secondo caso si tornerà alla fase di Registrazione delle lesioni patologiche (sezione 3.6.3). In Tab. 10 e Tab. 11 sono riportate le indicazioni dell’attore coinvolto nella fase in esame, dei permessi di lettura (r) e scrittura (w) (rw indica che entrambe le azioni sono permesse) e le sotto-fasi con relativa descrizione. 60 ATTORE Medico supervisore Controllo della retinografia classificata x Valutazione immagine classificata rw Tab. 10. Permessi dell’attore coinvolto nella fase di Controllo della retinografia classificata SOTTO-FASI Valutazione immagine classificata Esito del controllo DESCRIZIONE -valutazione lesioni patologiche rilevate e loro caratteristiche -richiesta revisione delle indicazioni sulle lesioni patologiche o approvazione dell’archiviazione Tab. 11. Sotto-fasi della fase di Controllo della retinografia classificata 3.6.5. Archiviazione della retinografia classificata Se il Medico supervisore ha approvato l’archiviazione dell’immagine retinica classificata, il Gestore archiviazione viene interpellato, per procedere all’ultima fase di questo processo. Questo attore ricevuti tutti i dati e le immagini, procede alla consultazione degli archivi originali, per corredare l’immagine con i metadati relativi al paziente, suddividendoli nelle due categorie precedentemente indicate, cioè Caratterizzatori (etnia, genere, età) e Anagrafica (nome, cognome e indirizzo), al fine di assicurare la privacy nello svolgimento delle attività di consultazione del database. Ottenuti tutti i dati l’oggetto “retinografia classificata” è archiviato, corredato di codice identificativo dal sistema e reso disponibile per la consultazione, secondo le regole di accesso e visualizzazione del database indicate nella sezione 3.5. In Tab. 12 e Tab. 13 sono riportate le indicazioni dell’attore coinvolto nella fase in esame, dei permessi di lettura (r) e scrittura (w) (rw indica che entrambe le azioni sono permesse) e le sotto-fasi con relativa descrizione. ATTORE Gestore archiviazione Archiviazione della retinografia classificata x Retinografia classificata rw Tab. 12. Permessi dell’attore coinvolto nella fase di Archiviazione della retinografia classificata 61 SOTTO-FASI Accesso archivi originali Archiviazione DESCRIZIONE -lettura dei dati relativi al paziente -aggiunta metadati relativi al paziente -archiviazione retinografia classificata -attribuzione codice identificativo Tab. 13. Sotto-fasi della fase di Archiviazione della retinografia classificata 3.7. Sviluppo del processo di realizzazione di immagini Ground Truth Il secondo processo riguarda la creazione del database delle immagini GT e coinvolge, oltre ad alcuni ruoli del primo processo, altri ruoli, riportati di seguito insieme allo schema delle connessioni in Fig. 27. Ruoli coinvolti: Amministratore piattaforma Esperto piattaforma Medico selezionatore retinografia Medico sviluppatore immagini GT Medico supervisore Gestore archiviazione Fig. 27. Schema dei collegamenti tra i ruoli per lo sviluppo delle immagini Ground Truth 62 L’interazione tra i suddetti ruoli è gestita, anche in questo caso, attraverso la tecnologia detta workflow. Come descritto nella sezione 3.3, le fasi coinvolte in questo processo sono: selezione dell’immagine, sviluppo dell’immagine GT, controllo dell’immagine GT, archiviazione dell’immagine GT. Anche in questo caso, ogni fase del processo, ha come dati d’ingresso tutti quelli generati nelle fasi ad essa precedenti. In Fig. 28 è mostrata la struttura del workflow per il processo di realizzazione di immagini GT. In particolare nei riquadri sono indicati i ruoli coinvolti e le uscite prodotte e scambiate, mentre negli ovali sono riportate le azioni assegnate ai ruoli. Immagini retinica classificata Medico selezionatore retinografia Selezione immagine Medico sviluppatore immagine GT Produzione immagine GT Medico supervisore Controllo medico Valutazione immagine GT Gestore Archiviazione Archiviazione Immagine GT nel database Immagine selezionata Immagine GT Fig. 28. Workflow per il processo di realizzazione di immagini Ground Truth 3.7.1. Selezione dell’immagine La prima fase, del processo di realizzazione delle immagini GT, coinvolge il ruolo del Medico selezionatore di retinografia che, accedendo ai database delle retinografie classificate, procede alla selezione dell’immagine, tenendo conto delle informazioni contenute nei metadati. Questa selezione è necessaria perché non tutte le immagini collezionate sono adatte per lo 63 sviluppo delle metodologie ARIA. L’immagine, così selezionata, viene resa disponibile per la fase successiva. In Tab. 14 e Tab. 15 sono riportate le indicazioni dell’attore coinvolto nella fase in esame, dei permessi di lettura (r) e scrittura (w) (rw indica che entrambe le azioni sono permesse) e le sotto-fasi con relativa descrizione. ATTORE Medico selezionatore di retinografia Selezione dell’immagine x Immagine selezionata rw Tab. 14. Permessi dell’attore coinvolto nella fase di Selezione dell’immagine SOTTO-FASI Accesso database retinografie classificate Individuazione immagine DESCRIZIONE -analisi caratteristiche delle immagini presenti nel database -selezione immagine e sua messa in uscita Tab. 15. Sotto-fasi della fase di Selezione dell’immagine 3.7.2. Sviluppo dell’immagine Ground Truth Il Medico sviluppatore immagine GT riceve l’immagine selezionata nella fase precedente e procede allo sviluppo della relativa immagine Ground Truth, utilizzando un apposito software di disegno. Si rende necessario sottolineare che per soddisfare la necessità di mettere a disposizione più immagini GT, a causa della variabilità del giudizio degli esperti, in questa fase sono coinvolti almeno due componenti della rete di tipo VO con il ruolo di Medico sviluppatore immagine GT. Ciascuno di questi riceve l’immagine selezionata e procede individualmente allo svolgimento del proprio compito, indicando infine il livello di incertezza sull’operazione effettuata. Ogni immagine GT, così ottenuta, con il relativo livello di incertezza, è messa in uscita. A completamento della procedura il sistema attribuisce all’immagine GT il codice identificativo dell’oftalmologo autore. In Tab. 16 e Tab. 17 sono riportate le indicazioni dell’attore coinvolto nella fase in esame, dei permessi di lettura (r) e scrittura (w) (rw indica che entrambe le azioni sono permesse) e le sotto-fasi con relativa descrizione. 64 ATTORE Medico sviluppatore immagine GT Sviluppo dell’immagine GT x Immagine GT rw Tab. 16. Permessi dell’attore coinvolto nella fase di Sviluppo dell’immagine GT SOTTO-FASI Produzione Uscita immagine GT DESCRIZIONE -produzione immagine GT -indicazione livello di incertezza -messa in uscita dell’immagine GT prodotta -attribuzione codici identificativi Tab. 17. Sotto-fasi della fase di Sviluppo dell’immagine GT 3.7.3. Controllo dell’immagine Ground Truth Il Medico supervisore riceve le immagini GT separatamente e procede al controllo. Questa fase si rende necessaria perché, come descritto in [Tru13], la generazione delle immagini GT non fa parte della normale pratica clinica e i medici non vi sono abituati, pertanto potrebbero sorgere fraintendimenti sulle modalità di svolgimento del compito. Dopo la verifica di ciascun’immagine GT, l’attore coinvolto può procedere in due differenti modi: ο· approvare l’archiviazione della nuova immagine GT, nel caso di corretta esecuzione del compito; ο· rinviare l’immagine GT al Medico sviluppatore immagine GT per una nuova esecuzione del lavoro, nel caso di individuazione di errori nello sviluppo della stessa. La fase successiva dipende dalla scelta che viene effettuata dal Medico supervisore. Nel primo caso si procederà con l’ultima fase, di seguito riportata, mentre nel secondo caso si tornerà alla fase di Sviluppo dell’immagine GT (sezione 3.7.2), attraverso la richiesta di ripetizione del compito, inviata dal sistema all’oftalmologo interessato, individuabile dal suo codice identificativo. In Tab. 18 e Tab. 19 sono riportate le indicazioni dell’attore coinvolto nella fase in esame, dei permessi di lettura (r) e scrittura (w) (rw indica che entrambe le azioni sono permesse) e le sotto-fasi con relativa descrizione. 65 ATTORE Medico supervisore Controllo dell’immagine GT x Valutazione immagine GT rw Tab. 18. Permessi dell’attore coinvolto nella fase di Controllo dell’immagine GT SOTTO-FASI Valutazione immagine GT Esito del controllo DESCRIZIONE -valutazione corretta esecuzione dell’immagine GT -richiesta revisione dell’immagine GT o approvazione dell’archiviazione Tab. 19. Sotto-fasi della fase di Controllo dell’immagine GT 3.7.4. Archiviazione dell’immagine Ground Truth Se il Medico supervisore ha approvato l’archiviazione dell’immagine GT, il Gestore archiviazione viene interpellato per avviare l’ultima fase di questo processo. Questo attore riceve l’immagine GT e le indicazioni ad essa relative e procede all’archiviazione. L’oggetto “GT” è archiviato, corredato dal sistema di codice identificativo immagine GT e codice identificativo immagine retinica e, quindi, reso disponibile per la consultazione, secondo le regole di accesso e visualizzazione del database indicate nella sezione 3.5. In Tab. 20 e Tab. 21 sono riportate le indicazioni dell’attore coinvolto nella fase in esame, dei permessi di lettura (r) e scrittura (w) (rw indica che entrambe le azioni sono permesse) e le sotto-fasi con relativa descrizione. ATTORE Gestore archiviazione Archiviazione dell’immagine GT x Immagine GT rw Tab. 20. Permessi dell’attore coinvolto nella fase di Archiviazione dell’immagine GT SOTTO-FASI Archiviazione DESCRIZIONE -archiviazione immagine GT -attribuzione codici identificativi Tab. 21. Sotto-fasi della fase di Archiviazione dell’immagine GT 66 3.8. Modello innovativo di rete oftalmica basato sulla Virtual Organization I due database di retinografie classificate e di immagini GT sono costituiti attraverso le fasi dei processi precedentemente descritti e sono resi disponibili ad ogni Ospite della rete di tipo VO. L’estensibilità e la flessibilità della tipologia collaborativa scelta offre notevoli vantaggi. Infatti, ogni Ospite può essere di volta in volta produttore di informazioni che accrescono importanza e utilità dell’organizzazione proposta. In questo lavoro è stata considerata la creazione di un flusso di dati che passando dall’interno all’esterno della rete di tipo VO, produce database per patologia attraverso il lavoro di ogni figura coinvolta, come mostrato in Fig. 29. Archivio retinografie originali VO Database immagini Ground Truth Database retinografie classificate Database di immagini elaborate per retinopatia diabetica Archivio immagini elaborate per retinopatia diabetica Database di immagini elaborate per glaucoma Ospite Archivio immagini elaborate per glaucoma Ospite Archivio immagini elaborate per altra patologia Database di immagini elaborate per altra patologia retinica Ospite Fig. 29. Modello innovativo di rete oftalmica basato sulla VO 67 L’Ospite ha accesso ai database secondo le regole di visualizzazione descritte e può ricavare gli elementi utili ai propri studi attraverso la ricerca per metadati. Ogni Ospite può svolgere il proprio lavoro in autonomia, all’esterno della rete di tipo VO, sviluppando le metodologie che permettono l’elaborazione delle immagini retiniche contenenti la patologia oggetto di studio. Le immagini elaborate da ogni Ospite possono essere messe a disposizione dell’organizzazione proposta, in archivi appositamente predisposti. Questo offre notevoli possibilità di miglioramento per la rete di tipo VO, in quanto questi archivi di immagini consentono lo sviluppo di database specifici per patologia che sono di supporto alla ricerca in campo oftalmico. Questi nuovi database possono essere utilizzati da altri Ospiti per agevolare lo sviluppo e i miglioramenti delle proprie metodologie ed effettuare confronti sulle prestazioni ottenute. Va precisato che gli archivi contenenti le immagini elaborate da ogni Ospite non possono essere direttamente utilizzati perché non controllati e mancanti di metadati. L’accesso agli archivi da parte dei componenti dell’organizzazione proposta si rende quindi indispensabile, per effettuare le operazioni necessarie a che i preziosi dati possano diventare effettivamente utilizzabili. Le figure professionali già presenti nella rete di tipo VO sin qui proposta, possono svolgere tutte le operazioni utili per la formazione di nuovi database attraverso opportuni flussi di lavoro. I database così creati sono suddivisi per patologia e continuamente accresciuti attraverso immagini fornite dagli Ospiti e il lavoro di controllo e modifica effettuato dai componenti dell’organizzazione. Si viene così a creare un flusso di informazioni che attraverso il lavoro dei partecipanti interni ed esterni alla rete di tipo VO, può migliorare significativamente i database per patologia e permette l’approfondimento degli studi per quelle patologie più rare, per le quali è più difficoltoso reperire dati utili. 68 4. Modello di una rete oftalmica innovativa per la retinopatia diabetica L’importanza e l’utilità dell’organizzazione proposta può essere messa in luce attraverso un esempio di utilizzo dei due database creati. Come detto lo sviluppo di metodologie di elaborazione d’immagine necessita di un ampio e vario set di retinografie classificate per l’addestramento e di riferimenti per la convalida. Il database delle retinografie classificate permette di selezionare le immagini per lo sviluppo della metodologia individuata per la patologia in esame, mentre il database delle immagini GT offre i riferimenti per convalidare tale metodologia e valutarne l’efficacia. Ponendosi nel ruolo di un Ospite che accede ai database della rete di tipo VO si possono selezionare da questi tutti i dati necessari allo sviluppo del metodo qui proposto. Le immagini elaborate possono essere caricate sull’apposito archivio, predisposto per la patologia esaminata, e diventare così elementi di arricchimento per i database successivamente creati dalla rete di tipo VO. In questa tesi si è considerata la retinopatia diabetica come patologia oftalmica. Questa patologia si rivela in fase avanzata la principale causa di cecità per i paesi industrializzati [Sim15, Das15, Lan14], pertanto è molto importante la tempestività nella sua identificazione. Si è considerato il caso di un Ospite della rete di tipo VO impegnato nello sviluppo della corrispondente metodologia. Le immagini qui elaborate andranno ad accrescere l’archivio di immagini elaborate per retinopatia diabetica, da cui verrà costituito il corrispettivo database, Fig. 30. Archivio retinografie originali VO Database immagini Ground Truth Database retinografie classificate Database di immagini elaborate per retinopatia diabetica Archivio immagini elaborate per retinopatia diabetica Ospite Fig. 30. Modello innovativo di rete oftalmica per la retinopatia diabetica 69 4.1. La retinopatia diabetica Il diabete mellito è il terzo problema di salute pubblica più grande al mondo e se nel 2000 il numero di individui affetti da questa patologia si assestava intorno ai 171 milioni [Lan14], le stime annunciano un aumento entro il 2030, anno in cui si prevede che il numero di casi si avvicinerà ai 552 milioni [Sim15]. Nel 1856, per la prima volta, venne descritta, ad opera di Eduard Jaeger, l’osservazione di macchie giallastre e extra-vascolarizzazione nella macula di un paziente diabetico. Bisognerà aspettare 113 anni perché il simposio Airlie House Symposium on Treatment of Diabetic Retinopathy stabilisca le basi del corrente metodo di fotografia, per stimare la presenza e la gravità della retinopatia diabetica. Si stima che quasi la metà di pazienti diabetici mostri i segni di una retinopatia diabetica. Questo tipo di retinopatia è risultato in aumento anche grazie ai notevoli progressi fatti nell’ambito delle cure mediche per la gestione del diabete (sin dalla scoperta dell’insulina principalmente ad opera di Frederick Banting e Charles Best nel 1921) che hanno permesso di migliorare l’aspettativa di vita dei pazienti affetti da questa patologia, sviluppando, così, anche la possibilità di incorrere in complicanze legate alla micro-vascolarizzazione [Sim15]. Generalmente per il diabete di tipo I, al momento della diagnosi si riscontra che nel 15%-20% dei casi i pazienti sono affetti da retinopatia diabetica, in quanto questa sarebbe comparsa dai 4 ai 7 anni prima, senza che essi ne fossero a conoscenza; mentre nel caso del diabete di tipo II si ritrova la retinopatia diabetica nel 13% dei casi e si stima che nel 90%-100% dei pazienti questa sia comparsa 20 anni prima. Il rischio maggiore si ha quando la retinopatia passa ad una fase proliferativa, evento che le permette di confermarsi come la principale causa di cecità nei paesi industrializzati (nel diabete di tipo I essa si manifesta nel 25% dei casi a 15 anni di malattia, mentre nel tipo II a più di 25 anni di malattia). Si rende così evidente che una diagnosi precoce, insieme ad una buona gestione del diabete, possa ridurre le complicanze dovute alla malattia e impedire la perdita della vista [Lan14]. I casi di retinopatia diabetica si possono, quindi, suddividere in due gruppi: retinopatia diabetica non-proliferante (NPDR) e retinopatia diabetica proliferante (PDR). La NPDR si ha nelle prime fasi della retinopatia diabetica, in cui i vasi sanguigni della retina si danneggiano causando la perdita di fluidi. L’occlusione di molti vasi si traduce in un insufficiente afflusso di sangue e quindi nella sofferenza retinica. Per cercare di contrastare questo fenomeno si ha la nascita di nuovi vasi che risultano tuttavia irregolari e più fragili rispetto a quelli presenti nella normale vascolarizzazione, portando così all’offuscamento della visione [Das15]. La retinopatia diabetica deve, quindi, essere rilevata appena possibile e trattata, per evitare seri danni alla retina dei pazienti, come la degenerazione in retinopatia diabetica proliferante, la quale forte minaccia deriva dal brusco peggioramento. Negli ultimi decenni molti sono stati i miglioramenti ottenuti nella diagnostica per immagini in campo oftalmico [Osa02, Wal02] e grazie ai progressi nei sistemi automatizzati di diagnosi, 70 i medici possono eseguire esami per screening di massa per le malattie più comuni [Sta04, Cha89, Hoo00, Car12]. La comparsa della neo-vascolarizzazione, tipicamente collegata all’insorgere della PDR, può essere identificata attraverso tecniche di estrazione dei vasi retinici [Zha09, Ram12, Car15]. Anche se molti sono gli studi che hanno condotto allo sviluppo di metodologie di edge detection [Sian15, Zha14], tuttavia questi ultimi non sempre portano a risultati accettabili nell’estrazione delle varie caratteristiche delle retinografie con retinopatia proliferante. Generalmente si possono evidenziare alcune fasi principali nella struttura delle metodologie. La prima fase è quella di pre-processing, in quanto le immagini retiniche risultano affette da cattiva illuminazione e artefatti; inoltre è necessario aumentare il contrasto dei vasi rispetto allo sfondo. Dopo aver esaltato i vasi si procede con la segmentazione, per giungere a quella che può anche essere chiamata mappa binaria dei vasi sanguigni. L’ultimo passaggio riguarda il post-processing, necessario per rimuovere i punti che sono stati erroneamente indicati come vasi [Sin15]. Alcuni inconvenienti non sono stati ancora superati, dal momento che ogni procedura di preprocessing fornisce miglioramenti in alcune aree dell’immagine, ma presenta contemporaneamente alcuni svantaggi in altre zone retiniche. Nel seguito di questo capitolo sarà affrontato il problema di rilevare i vasi sanguigni nelle immagini retiniche che presentano i primi segni di retinopatia proliferante, evidenziando i vasi in modo diverso a seconda che essi si trovino nel disco ottico o nella rimanente parte di sfondo della retina, cercando, in questo modo, di ridurre gli inconvenienti menzionati, al fine di ottenere un miglior screening per la retinopatia diabetica. Per conseguire tale obiettivo, si è sviluppato un metodo combinato per il pre-processing delle immagini retiniche che comprende più fasi. In particolare, ad ogni immagine retinica si applica inizialmente un’equalizzazione di istogramma di tipo CLAHE (Contrast Limited Adaptive Histogram Equalization); in seguito si prosegue con un metodo combinato che modifica ogni immagine ottenuta attraverso l’equalizzazione di tipo CLAHE, utilizzando sia un filtraggio TwoDimensional Matched, sia una trasformazione 2D-Gabor Wavelet. In questo modo si ottengono coppie di immagini modificate che contengono differenti informazioni sui vasi retinici e, successivamente alla loro corretta combinazione, si procede con la fase di segmentazione. 4.2. Il rilevamento dei vasi retinici attraverso un metodo combinato di pre-processing La ricerca ha dimostrato che la qualità della segmentazione dell’immagine dipende dalla qualità della fase di pre-processing, rivelando, così, la primaria importanza di questa fase per aumentare il contrasto tra i vasi retinici e lo sfondo, ed inoltre per rimuovere gli effetti di un’illuminazione impropria e degli artefatti. La procedura di rilevamento dei vasi retinici, 71 effettuata utilizzando un metodo combinato di pre-processing, è mostrata nel diagramma a blocchi in Fig. 31, dove sono indicate le variabili di ingresso per ogni step. Acquisizione immagine retinica πΌπΊ Metodo combinato di pre-processing πΌπ1, πΌπ2 Segmentazione / Post-processing πΌπππ Fig. 31. Diagramma a blocchi per il rilevamento dei vasi retinici proposto Inizialmente, per ogni immagine a livelli di grigio IG, viene eseguito accuratamente l’aumento di contrasto. Le immagini ottenute entrano nella fase di pre-processing e successivamente sono combinate [Umb10]. In seguito si ritrova la fase di segmentazione e post-processing, realizzata [Zha14] per determinare la mappa binaria dei vasi sanguigni e per ridurre il rumore, ottenendo, così, l’immagine risultante IOUT. Nel seguito sarà affrontata una descrizione più dettagliata delle fasi mostrate in Fig. 31. 4.2.1. Acquisizione dell’immagine retinica L’intero processo ha inizio con l’acquisizione della retinografia originale che si presenta come un’immagine RGB. In seguito si procede con l’estrazione di uno dei canali da cui è composta l’immagine RGB; questo step permette il passaggio ad un’immagine a livelli di grigio, indicata in Fig. 32 con IG. Acquisizione immagine retinica πΌπΌπ Estrazione canale del verde πΌπΊ Fig. 32. Diagramma a blocchi per la fase di acquisizione dell’immagine retinica 72 In particolare la scelta di considerare il canale del verde deriva dal buon contrasto che in esso è presente, tra i vasi retinici e lo sfondo. Questa caratteristica non si ritrova nel canale del rosso che pur essendo molto luminoso, non presenta un buon contrasto tra i vasi retinici e lo sfondo. La scelta del canale del blu è, invece, evitata, perché contiene un ridotto intervallo di livelli di grigio. Per questi motivi il canale del verde risulta essere il più adatto per il rilevamento dei vasi retinici [Zha14]. 4.2.2. Metodo combinato di pre-processing Lo schema a blocchi, del metodo combinato di pre-processing proposto, è riportato in Fig. 33. πΌπΊ β Estrazione caratteristiche CLAHE πΌπ1 , πΌπ2 πΌπ1 , πΌπ2 Filtraggio 2D Matched Gaussian Kernel Trasformazione 2D Gabor Wavelet πΌ2 , πΌ3 πΌ1 , πΌ4 Combinazione immagini πΌπ1, πΌπ2 Fig. 33. Diagramma a blocchi del metodo combinato di pre-processing Dal diagramma, Fig. 33, si può notare una fase iniziale di Estrazione caratteristiche. Questa operazione ha lo scopo di determinare il parametro β che è necessario per la successiva fase di equalizzazione di tipo CLAHE [Zui94, Rez04]. In particolare, una fase di aumento del contrasto dell’immagine è accuratamente eseguita per ogni immagine retinica a livelli di grigio IG, per produrre due coppie di immagini a contrasto aumentato per ogni retinografia. Ogni coppia di immagini a contrasto aumentato, IM1, IM2 e IW1, IW2, è separatamente sottoposta a pre-processing attraverso un filtraggio 2D Matched Gaussian Kernel [Cha89] e una trasformazione 2D-Gabor Wavelet [Zha14]. Le immagini risultanti sono poi combinate come in [Umb10], in modo tale da ottenere le immagini pre-elaborate IP1, IP2, come mostrato nel diagramma a blocchi in Fig. 33, che sarà successivamente descritto in dettaglio. Estrazione caratteristiche e Contrast Limited Adaptive Histogram Equalization. Il primo passo, del metodo combinato di pre-processing, consiste nella fase di equalizzazione di tipo 73 CLAHE [Zui94, Rez04, Min13, Vya14]. Si tratta di una tecnica di aumento del contrasto, basata sulla suddivisione dell’immagine in blocchi, che modifica la gamma dinamica e il contrasto di un’immagine, alterandone i livelli di grigio, in modo tale da dare al suo istogramma di intensità una forma desiderata. In questo lavoro, la scelta dei parametri dell’equalizzazione di tipo CLAHE viene utilizzata per ottenere un aumento della deviazione standard r e del valore medio q dell’istogramma, ampliando la distribuzione di quest’ultimo su una più grande regione di intensità di livelli di grigio. Più dettagliatamente, l’equalizzazione di tipo CLAHE opera su piccole regioni di ogni immagine retinica IG, chiamate tile, di dimensione S, per equalizzare i loro istogrammi e controllare il livello del loro aumento di contrasto per mezzo di un parametro β con 0 ≤ β ≤ 1. L’aumento di contrasto è dato dalla pendenza della funzione di trasformazione nelle vicinanze di ciascun pixel P di IG. Questa pendenza è, a sua volta, proporzionale alla pendenza della funzione CDF (Cumulative Distribution Function) della zona relativa al pixel P. Il problema di indesiderati artefatti e possibili aumenti eccessivi di contrasto è superato mediante una procedura di limitazione di contrasto, applicata ad ogni tile S. Infatti, il parametro β limita sia la pendenza della funzione CDF sia la pendenza della funzione di trasformazione, per ogni tile. Per ciascuna immagine i tile adiacenti, dopo l’aumento di contrasto, vengono combinati attraverso un’interpolazione bilineare [Vya14]. Se un’immagine ha un’intensità molto bassa di livelli di grigio, un β più grande rende il suo istogramma più disteso e l’immagine diventa più luminosa, anche se il rumore può risultare più evidenziato. Inoltre, il contrasto di un’immagine può essere ulteriormente modificato, per un dato β, utilizzando tile di dimensioni diverse. Allo stesso modo, quando S cresce, la gamma dinamica diventa più grande ed il contrasto di ogni immagine aumenta [Min13]. Pertanto, nel metodo combinato di pre-processing proposto, alcuni inconvenienti sono superati selezionando due dimensioni di tile Sa e Sb, ed applicando due volte, parallelamente, il CLAHE. In questo modo si ottengono due immagini che presentano alcune utili differenti informazioni sui vasi retinici, permettendo il conseguimento di migliori risultati. Inoltre, per consentire l’implementazione delle fasi successive, questa procedura è applicata sia all’immagine retinica nel canale del verde IG che presenta i vasi più scuri dello sfondo, sia alla sua complementare IN, così ottenuta πΌπ (π, π) = max(πΌπΊ ) − πΌπΊ (π, π) (1) L’immagine IN mostra, invece, i vasi più chiari dello sfondo. Quindi, con riferimento al diagramma a blocchi in Fig. 34, la coppia di immagini IW1, IW2 deriva dall’applicazione dell’equalizzazione di tipo CLAHE all’immagine a livelli di grigio IN, mentre la coppia di immagini IM1, IM2 deriva dall’applicazione dell’equalizzazione di tipo CLAHE all’immagine a livelli di grigio IG. 74 πΌπΊ Estrazione caratteristiche πΌπΊ , β Contrast-Limited Adaptive Histogram Equalization(CLAHE) Sa = (70x73) πΌπ1 πΌπΊ , β πΌπΊ , β Contrast-Limited Adaptive Histogram Equalization(CLAHE) Sb = (11x11) Complemento livelli di grigio πΌπ (π, π) = max(πΌπΊ ) − πΌπΊ (π, π) πΌπ πΌπ Contrast-Limited Adaptive Histogram Equalization(CLAHE) Sa = (70x73) Contrast-Limited Adaptive Histogram Equalization(CLAHE) Sb = (11x11) πΌπ1 πΌπ2 πΌπ2 Fig. 34. Diagramma a blocchi Estrazione caratteristiche e CLAHE In conclusione, questa fase genera più immagini con un differente aumento di contrasto, ognuna delle quali contenente informazioni differenti sui vasi retinici. Filtraggio 2D Matched Gaussian Kernel. I vasi sanguigni nelle immagini retiniche sono, generalmente, più scuri dello sfondo. Se P(x, y) indica un qualsiasi punto dell’immagine retinica in esame, il profilo di intensità di grigio può essere approssimato valutando il valore di una curva gaussiana G in ogni punto P, come segue [Cha89] (− πΊ (π) = π(π) {1 − π e π2 ) 2π2 } (2) dove d è la distanza perpendicolare tra il punto P e la retta che passa per il centro di ogni vaso, in direzione della sua lunghezza, la variabile σ definisce la diffusione del profilo di intensità di grigio, la quantità a(P) è l’intensità di livello di grigio dello sfondo locale di P e il valore k è una misura della riflettanza di ogni vaso sanguigno con riferimento alla sua regione. Un filtraggio 2D Matched Gaussian Kernel è qui considerato per rilevare i vasi [Cha89]. Questo metodo comporta la convoluzione di un insieme di kernel Gaussiani con l’immagine retinica in esame, dove un kernel generico può essere espresso come 75 (− πΎ(π₯, π¦) = −e π₯2 ) 2π2 per βyβ≤ L/2 (3) dove L è la lunghezza in pixel del segmento per il quale si assume che il vaso abbia un orientamento fisso. Il segno negativo indica che i vasi sono più scuri dello sfondo. Se P' è il generico punto nel kernel e φi è l’orientamento dell’i-esimo kernel, con 0 ≤ φi < π, il corrispondente punto P'(u,v), nel riferimento in coordinate ruotate, è dato da P'i = P'Ri T, attraverso la matrice di rotazione Ri πΉπ = [ cosπi sinπi −sinπi ] cosπi (4) Per mezzo della variazione dell’angolo φ, con un intervallo di 15 gradi, si ottiene un set di 12 kernel. Una zona N è definita come N = {(π’, π£) Η|π’| ≤ 3π, |π£| ≤ L/2 }. I corrispondenti pesi Ki nell’i-esimo kernel sono dati da πΎπ (π’, π£) = −π (− π’2 ) 2π2 ∀ P'i Ο΅ N e |π£| ≤ L/2 (5) Il valore medio mi di ogni kernel è dato da ππ = ∑π′π ππ πΎπ (π’, π£)/J, dove J rappresenta il numero di punti in N. Quindi la maschera per la convoluzione è ∀ P'i Ο΅ N K’i(u,v) = Ki(u,v) - mi (6) Il filtro deve essere ruotato per tutte le angolazioni possibili; quindi, le risposte corrispondenti, per ogni angolazione, sono confrontate e, per ogni pixel, solo la massima risposta viene conservata. Trasformazione 2D-Gabor Wavelet. Il contrasto nelle immagini retiniche è, qui, aumentato per mezzo di una trasformazione 2D-Gabor Wavelet [Zha14]. Una trasformazione wavelet continua, ππ (π, π, π ), è determinata dal prodotto scalare di un’immagine generica con la trasformata wavelet ππ,π,π , come −1/2 ππ (π, π, π ) = Cπ 1 − β¨ππ,π,π |πΌπ β© = Cπ2 π −1 ∫ π ∗ (π −1 π−π (π± − π))πΌπ (π±)π 2 π± 76 (7) dove π± = (π₯, π¦), π ∗ è il complesso coniugato di ψ e Cπ è la costante di normalizzazione. I parametri s, b e θ denotano rispettivamente la scala di espansione, il vettore spostamento e l’angolo di rotazione. L’operatore di rotazione ππ è dato da ππ (π±) = (π₯ cosπ − π¦ sinπ, π₯ sinπ + π¦ cosπ) (8) dove 0 ≤ θ ≤ 2π. La trasformata 2D-Gabor Wavelet può, quindi, essere espressa come 1 π(π±) = eππ€π± e(−2|π©π±| 2) (9) dove π© = ππππ[η−1/2 , 1] (η ≥ 1) è una matrice diagonale di dimensioni (2×2) che definisce l’anisotropia del filtro Gabor Wavelet e k è il vettore esponenziale complesso di frequenza. La scelta del parametro η che controlla l’elongazione del filtro in qualsiasi direzione desiderata, è critica, poiché un valore grande di η genera delle maggiori larghezze dei vasi retinici e un valore basso di η ha un effetto minore sulla valorizzazione dei vasi. In seguito, per ogni pixel, la massima risposta, ππ (π, π ) = maxπ |ππ (π, π, π )| tra tutte le possibili orientazioni, viene estratta, considerando θ l’angolo compreso tra 0° e 170°, con passo = 10°. Combinazione delle immagini. Nel metodo combinato di pre-processing proposto, un’adeguata combinazione di immagini viene eseguita attraverso una moltiplicazione (pixel per pixel) [Umb10] tra le appropriate coppie di immagini pre-elaborate. Questa operazione è implementata sia per aumentare l’intensità dei livelli di grigio dei pixel luminosi (generalmente appartenenti ai vasi) sia per scurire i pixel corrispondenti allo sfondo. Questo tipo di combinazione permette di ridurre i rilevamenti errati, provenienti dai passaggi precedenti. Nel dettaglio, la moltiplicazione (pixel per pixel) è eseguita sia tra le immagini I1 e I2 sia tra immagini I3 e I4, derivanti dai passaggi precedenti, come mostrato in Fig. 35. 77 πΌπ2 πΌπ1 Filtraggio 2D Matched Gaussian Kernel πΌπ1 2D Gabor Wavelet πΌ1 Filtraggio 2D Matched Gaussian Kernel πΌπ2 2D Gabor Wavelet πΌ2 πΌ4 πΌ3 Moltiplicazione Pixel-per-Pixel πΌπ1 = πΌ1 (π, π) × πΌ2 (π, π) Moltiplicazione Pixel-per-Pixel πΌπ2 = πΌ3 (π, π) × πΌ4 (π, π) πΌπ1 πΌπ2 Fig. 35. Diagramma a blocchi per implementare l’operazione di combinazione delle immagini Le immagini risultanti IP1 e IP2, sono, quindi, così ottenute IP1=I1(i,j)×I2(i,j) IP2=I3(i,j)×I4(i,j) (10) Le immagini IP1 e IP2 sono, in seguito, rimappate nell’intervallo (0, 255) e successivamente segmentate. 4.2.3. Segmentazione e post-processing Dopo aver esaltato i vasi retinici, con i diversi step della fase di pre-processing, si può procedere alla segmentazione; la sua implementazione risulta facilitata dalla buona qualità delle immagini elaborate che devono essere segmentate. Tuttavia, al termine della segmentazione è comunque necessaria l’introduzione di operazioni di post-processing, al fine di ridurre gli inevitabili falsi rilevamenti. I diversi step per la fase di segmentazione e postprocessing sono mostrati nel diagramma a blocchi in Fig. 36 e descritti nel seguito. 78 πΌπ1 πΌπ2 Segmentazione Segmentazione πΌπ΅ πΌπ΄ πΌπ = πΌπ΄ OR πΌπ΅ πΌπ Primo filtraggio πΌπΉ Secondo filtraggio πΌπππ Fig. 36. Diagramma a blocchi per la fase di segmentazione e postprocessing Segmentazione. La segmentazione è eseguita su ogni immagine Ipi, i = 1, 2, applicando due volte il seguente metodo. Un punto iniziale IPoi(x, y) è selezionato per la segmentazione di ogni immagine IPi, in modo tale che IPoi(x, y) ≥ gh - 0.05, dove gh è l’intensità di livello di grigio corrispondente al 99% della dimensione dell’istogramma di ogni immagine IPi [Zha14]. Ogni altro pixel Ipi(x, y) può essere correlato a IPoi(x, y) dalla relazione ΗIPoi (x,y) - IPi (x,y) Η < e (11) dove il valore e deriva dalla distribuzione di livelli di grigio di ogni immagine Ipi ed è definito come la differenza in valore assoluto tra gh e thi. Quest’ultimo parametro, per ogni immagine IP1, IP2, è calcolato attraverso il valore medio q1, q2 e la deviazione standard r1, r2, dei relativi istogrammi π‘βπ = ππ + π × ππ (12) la scelta del valore del parametro m è condotta attraverso un set di curve ROC (Receiver Operating Characteristic), relative alle immagini finali IOUT. Se (11) è soddisfatta, il pixel considerato Ipi(x, y) appartiene ad un vaso, altrimenti è parte dello sfondo. La segmentazione avviene per tutti i pixel delle immagini IP1, IP2. Il diagramma a blocchi, in Fig. 37, mostra i passaggi sopra descritti per eseguire la segmentazione. 79 πΌπ1 , πΌπ2 Calcolo qi , ri qi , ri Calcolo gh, thi , e gh, thi , e Selezione IPoi (x, y) IPoi (x, y) NO per ogni pixel ΗIPoi (x,y) - IPi (x,y) Η < e Pixel di sfondo SI Pixel di un vaso πΌπ΄ / πΌπ΅ Fig. 37. Diagramma a blocchi per la procedura di segmentazione Post-processing. Le immagini IA, IB, ottenute dal processo di segmentazione, sono successivamente combinate attraverso l’operatore logico OR. In seguito vengono eseguiti appropriati passaggi per rimuovere gli isolati falsi rilevamenti di pixel appartenenti a vasi e ottenere, così, l’immagine IOUT. Inizialmente si esegue un’operazione di rimozione del rumore introdotto dal bordo della maschera. Successivamente si valuta l’area A di ciascuna regione rilevata come appartenente ad un vaso; considerato un valore di soglia At, se risulta A ≤ At, i pixel dell’area in esame sono riclassificati come sfondo, in quanto considerati un falso rilevamento [ZHA14]. Il diagramma a blocchi della procedura di post-processing è mostrato in Fig. 38. 80 πΌπ΄ / πΌπ΅ πΌπ = πΌπ΄ OR πΌπ΅ πΌπ Prima riduzione di rumore πΌπΉ Calcolo A per ogni regione A NO A ≤ At Pixel bianchi SI Pixel neri πΌπππ Fig. 38. Diagramma a blocchi per la procedura di post-processing 81 5. Risultati e discussione 5.1. Rete collaborativa per la diagnostica oftalmica Il lavoro svolto ha permesso di sviluppare modelli di rete collaborativa per la creazione di vasti database che supportino la diagnostica oftalmica. Nel dettaglio il progetto sostiene il lavoro di una rete di tipo Virtual Organization nella creazione di un database che contenga retinografie classificate e di un altro database che sia composto di immagini Ground Truth. Tutto il lavoro si estende considerando un ambiente distribuito con regole di condivisione che definiscono chiaramente e attentamente: cosa può essere condiviso in termini di immagini e di informazioni ad esse relative, chi ha il permesso di condividere considerando tutte le figure coinvolte interne ed esterne all’organizzazione, e le condizioni in cui avviene la condivisione. La base per la formazione dei due database sono le banche dati mediche che hanno natura distribuita e presentano problematiche di gestione in riferimento agli aspetti di privacy, Fig. 39. -presentazione all’utente come sistemi distribuiti e non collegati -difficoltà di accesso -dimensioni ridotte -problemi di privacy nella condivisione - insufficienza o mancanza di classificazione e di immagini Ground Truth -nessuna possibilità di ricerca per parole chiave -difficoltà di gestione e manutenzione ARCHIVI RETINOGRAFIE ORIGINALI DATABASE RETINOGRAFIE CLASSIFICATE RETE COLLABORATIVA DATABASE IMMAGINI GROUND TRUTH -presentazione all’utente come un unico sistema -facilità di accesso -grandi dimensioni -garanzia del rispetto della privacy nella condivisione -inclusione di classificazione e immagini Ground Truth affidabili -possibilità di ricerca per parole chiave attraverso metadati -facilità di gestione e manutenzione Fig. 39. Schema delle caratteristiche degli archivi originali e dei database prodotti attraverso la rete collaborativa 82 Come descritto in Fig. 39, i modelli proposti di rete collaborativa permettono di risolvere molte delle problematiche legate ai comuni archivi medici, quali: - la presentazione all’utente come sistemi distribuiti e non collegati che non supportano la collaborazione a livello internazionale; - le difficoltà di accesso; - le dimensioni ridotte che non permettono di archiviare vasti volumi di dati; - i problemi di privacy nella condivisione, a causa della tipologia di dati trattati che risultano essere sensibili; - l’insufficienza o la mancanza di classificazione e di immagini Ground Truth che non agevola lo sviluppo dei sistemi ARIA; - l’assenza di possibilità di ricerca per parole chiave che ostacola gli studi in campo oftalmico; - la difficoltà di gestione e manutenzione che non assicura la sicurezza del database. Lo sviluppo dei modelli proposti affronta tutte queste problematiche, creando un sistema di collaborazione estendibile e flessibile che permette di creare due database di grandi dimensioni, facilmente gestibili e accessibili, e pensati nel rispetto della privacy dei pazienti. 5.2. Organizzazione del lavoro collaborativo Per la costituzione dei due database si è considerata la compartecipazione di più figure professionali, territorialmente suddivise, che costituiscono, quindi, il sistema della rete di tipo VO, in cui una serie di attori interagiscono per il conseguimento di un obiettivo comune. I ruoli coinvolti nel processo sono suddivisi in due gruppi, da un lato si sono considerate tutte le figure professionali (mediche e non) che permettono la classificazione delle retinografie e la creazione delle immagini GT, dall’altro si sono valutate le figure che consentono la gestione dei rapporti all’interno e all’esterno della rete di tipo VO, le autorizzazioni e la manutenzione dell’intero sistema, Fig. 40. 83 Medico analizzatore retinografia Medico selezionatore retinografia Amministratore piattaforma Medico sviluppatore immagine GT VO Esperto piattaforma Fornitore immagine elaborata GESTIONE SISTEMA CREAZIONE DATABASE Esperto qualità immagine Medico supervisore Gestore archiviazione Fig. 40. Schema attori coinvolti nella rete di tipo VO proposta Questo tipo di organizzazione permette di suddividere i compiti necessari al funzionamento di tutto il sistema, in modo tale da costruire database affidabili e di qualità, in quanto continuamente controllati da attori appositamente introdotti per conseguire questo scopo. Più nello specifico, si vogliono portare in rilievo due figure di grande importanza: - l’Amministratore piattaforma a cui è affidata la gestione di tutto il sistema virtuale e quindi anche dei permessi relativi ai ruoli ricoperti dai diversi utenti, con la possibilità di effettuare modifiche in ogni momento; - il Medico supervisore che, presente nella creazione di entrambi i database, assicura la qualità dei dati archiviati. Inoltre, la rete di tipo VO è pensata in modo tale che ogni partecipante possa ricoprire più di un ruolo e che, allo stesso modo, ogni ruolo possa essere ricoperto da più partecipanti. Questa scelta risulta fondamentale soprattutto nello sviluppo delle immagini GT, in quanto in questo modo si riescono ad archiviare più immagini GT per ogni retinografia, agevolando i futuri sviluppi dei sistemi ARIA. Per lo sviluppo dei due database si sono considerati due processi differenti che si basano sul lavoro dei diversi partecipanti al progetto. Ogni processo è stato suddiviso in adeguate fasi, organizzando i diversi compiti in modo tale da assicurare la giusta successione delle operazioni e comprendendo anche momenti di verifica che garantiscono l’accuratezza dei dati inseriti nei database. Infatti, prima di ogni archiviazione, per ciascun processo, è stata 84 introdotta una fase di verifica, affidata al Medico supervisore, che se conclusa con esito negativo, rimanda a passi precedenti, richiamando, ad operazioni di revisione e modifica, gli attori responsabili. Questo risulta particolarmente importante nel processo di produzione delle immagini GT, in quanto ci potrebbe essere una cattiva interpretazione riguardo le modalità di creazione delle stesse, a causa dell’assenza di questa specifica operazione nella normale pratica clinica e della conseguente mancata abitudine dei medici alla realizzazione di riferimenti. Per la corretta gestione delle diverse fasi si è considerata la tecnologia detta workflow che permette di gestire la sequenza delle attività necessarie per il raggiungimento dell’obiettivo, sostenendo la collaborazione all’interno della rete di tipo VO. Si sono realizzati due workflow per garantire il corretto sviluppo sia del processo di classificazione delle retinografie originali sia del processo di creazione delle immagini GT. Per ogni fase, in ciascun workflow, si è individuato accuratamente il ruolo interessato per lo sviluppo della stessa e gli aspetti relativi alle operazioni che ad esso competono, Fig. 41. CONTENUTO IN INGRESSO FASE RUOLO COMPITO CONTENUTO IN USCITA Fig. 41. Struttura organizzativa di una generica fase In questo modo si assicura che ogni nuovo contenuto venga prodotto dal corretto attore. La tecnologia del workflow permette di supportare efficacemente il flusso di lavoro tra i diversi ruoli, garantendo che vengano rispettate le fasi di revisione e approvazione, prima di procedere all’archiviazione. 85 5.3. Struttura dei database I contenuti dei database sono stati strutturati con molta attenzione, guardando da un lato alla sicurezza che il trattamento di dati sensibili necessariamente richiede, e dall’altro all’inserimento di tutte le informazioni utili per supportare i lavori che successivamente comporteranno l’utilizzo dei database. I dati sensibili devono essere protetti da figure non autorizzate; a questo scopo si sono stabilite delle regole di visualizzazione dei contenuti dei database che consentono di non rendere visibili informazioni private dei pazienti a figure che non ricoprono ruoli adeguati. Si sono creati opportuni modelli di dati per ciascun database, considerando, in particolare, una suddivisione dei metadati relativi ad ogni paziente in due campi: Caratterizzatori e Anagrafica; quest’ultimo visibile solo ad alcuni partecipanti alla rete di tipo VO, assicurando che i dati che strettamente identificano la persona, non siano in alcun modo divulgati. In aggiunta ai dati provenienti dagli archivi originali che come detto sono stati riconfigurati per assicurare la privacy dei pazienti, ad ogni nuovo contenuto vengono affiancate altre informazioni; queste sono derivanti dal processo di classificazione delle retinografie e vanno a costituire i metadati che consentiranno di effettuare ricerche mirate sui database: - sulla qualità dell’immagine retinica (Inadeguata (I) / Minima (M) / Buona (B)) per lo sviluppo dei sistemi ARIA; - sulle caratteristiche del paziente (etnia, genere, età), per studi epidemiologici; - sul tipo di problematica retinica, attraverso le indicazioni di Presenza (P) o Non Presenza (NP) di lesioni patologiche e dalla loro tipologia. Nella creazione del database delle immagini GT, invece, bisogna sottolineare che, grazie alla struttura di rete di tipo VO precedentemente descritta, è possibile archiviare, per ogni retinografia originale, riferimenti creati da più oftalmologi distribuiti sul territorio. In questo modo è possibile evitare che si presentino influenze nel giudizio. Inoltre, per ogni immagine GT, è stato previsto l’affiancamento del livello di incertezza dell’oftalmologo, molto utile nello sviluppo dei sistemi ARIA. Bisogna sottolineare che si è posta attenzione anche all’integrità degli archivi originali, consentendo l’accesso ad essi solo ad alcuni partecipanti alla rete di tipo VO che ricoprono ruoli di responsabilità. Quindi, partendo da archivi affetti da problematiche quali la mancata possibilità di effettuare ricerche per parola chiave e la non suddivisione in categorie che permetta un accesso differenziato per assicurare la privacy dei pazienti, si giunge a database di più facile gestione, in cui i metadati consentono di effettuare appropriate ricerche, a seconda delle necessità, ed in cui si assicura la sicurezza dei dati, Fig. 42. 86 SUDDIVISIONE DATI IN CATEGORIE SICUREZZA DEI DATI REGOLE DI VISUALIZZAZIONE RICERCA PER PAROLA CHIAVE METADATI Fig. 42. Principali obiettivi raggiunti attraverso la struttura proposta dei contenuti dei database 5.4. Modello di rete oftalmica per sviluppo database per retinopatia diabetica Ponendosi nel ruolo di un Ospite che accede ai database della rete di tipo VO, si è considerato di selezionare da questi i dati necessari allo sviluppo di una metodologia di elaborazione di immagini retiniche, nel caso di retinopatia diabetica. In particolare si è sviluppato un metodo combinato di pre-processing per la rilevazione dei vasi retinici, al fine di ottenere una base per la realizzazione di un database di immagini elaborate per retinopatia diabetica. La ricerca di immagini utili per lo sviluppo della metodologia di elaborazione ha permesso di individuare diversi archivi di retinografie, tuttavia questi contengono una collezione limitata di immagini che generalmente provengono da un unico sito, con scarsi riferimenti e annotazioni che non sempre consentono un adeguata selezione delle immagini da utilizzare. Si è ritenuto di indirizzare la scelta sul database DRIVE, pubblicamente disponibile [Sta04], che contiene immagini, di dimensioni 565x584, ottenute da un programma di screening per la retinopatia diabetica nei Paesi Bassi. Nel programma sono stati esaminati 400 individui affetti da diabete, di età compresa tra i 25 e i 90 anni, e selezionate 40 retinografie, di cui 33 non presentano alcun segno di retinopatia diabetica, mentre 7 mostrano una lieve PDR. Queste 7 retinografie sono state individuate grazie al lavoro svolto in [Ram12], in quanto nel database non è presente un’adeguata classificazione dei contenuti che permetta la giusta selezione delle retinografie. Tuttavia la scelta di utilizzare questo database è stata guidata dalla presenza, per ogni immagine, delle immagini GT (anche se in numero limitato, in quanto ogni retinografia è corredata da una o al massimo due immagini GT) e di una maschera che permette di delineare il FOV. Si riportano, in Fig. 43, le 7 retinografie presenti nel DRIVE con lieve PDR, ciascuna affiancata dall’immagine GT e dalla maschera utilizzata nelle fasi di elaborazione. 87 (a) (b) (g) (h) (o) (c) (p) (u) (d) (e) (f) (i) (l) (m) (n) (q) (r) (s) (t) (v) (z) Fig. 43. Immagini scelte per lo sviluppo della metodologia: (a) IIN1; (b) IGT1; (c) IMASK1 ; (d) IIN2; (e) IGT2 ; (f) IMASK2 ; (g) IIN10; (h) IGT10; (i) IMASK10; (l) IIN14; (m) IGT14; (n) IMASK14; (o) IIN18; (p) IGT18; (q) IMASK18 ; (r) IIN19; (s) IGT19; (t) IMASK19; (u) IIN20; (v) IGT20; (z) IMASK20 Il metodo proposto tratta ognuna delle 7 retinografie, ottenute dal DRIVE, attraverso le fasi di pre-processing, segmetazione e post-processing, al fine di esaltare i vasi retinici rispetto allo sfondo, evidenziandoli in modo diverso a seconda che essi si trovino nel disco ottico o nella rimanente parte di sfondo della retina. In questo modo si giunge alla mappa binaria dei vasi sanguigni, come mostrato in Fig. 44. 88 Acquisizione immagine retinica πΌπΌπ Estrazione canale del verde πΌπΊ Estrazione caratteristiche πΌπΊ , β Contrast-Limited Adaptive Histogram Equalization(CLAHE) Sa = (70x73) πΌπ πΌπ Contrast-Limited Adaptive Histogram Equalization(CLAHE) Sb = (11x11) πΌπ1 Filtraggio 2D Matched Gaussian Kernel 2D Gabor Wavelet πΌ4 πΌ3 πΌ2 Moltiplicazione Pixel-per-Pixel πΌπ1 = πΌ1 (π, π) × πΌ2 (π, π) πΌπ2 Filtraggio 2D Matched Gaussian Kernel πΌπ2 2D Gabor Wavelet πΌ1 Contrast-Limited Adaptive Histogram Equalization(CLAHE) Sb = (11x11) Complemento livelli di grigio πΌπ (π, π) = max(πΌπΊ ) − πΌπΊ (π, π) Contrast-Limited Adaptive Histogram Equalization(CLAHE) Sa = (70x73) πΌπ1 πΌπΊ , β πΌπΊ , β Moltiplicazione Pixel-per-Pixel πΌπ2 = πΌ3 (π, π) × πΌ4 (π, π) πΌπ1 πΌπ2 Segmentazione Segmentazione πΌπ΅ πΌπ΄ πΌπ = πΌπ΄ OR πΌπ΅ πΌπ Primo filtraggio πΌπΉ Secondo filtraggio πΌπππ Fig. 44. Diagramma a blocchi complessivo del metodo proposto 89 La prima operazione da effettuare, per consentire l’applicazione di tutti i passaggi della metodologia, è l’acquisizione della retinografia con la corrispettiva maschera. Dall’immagine retinografica di tipo RGB si estrae solo il canale del verde che presenta il miglior contrasto tra i vasi retinici e lo sfondo. Si riportano, in Fig. 45, le 7 immagini ottenute dall’estrazione del canale del verde dalla rispettiva retinografia originale di tipo RGB. (a) (b) (e) (c) (f) (d) (g) Fig. 45. Estrazione del canale del verde: (a) IG1; (b) IG2; (c) IG10; (d) IG14; (e) IG18; (f) IG19; (g) IG20 Come si può notare, dalla Fig. 45, le immagini IG sono a livelli di grigio e presentano i vasi retinici più scuri rispetto allo sfondo. Tuttavia questi non risultano abbastanza evidenziati per poter essere direttamente estratti; inoltre una segmentazione diretta porterebbe ad estrarre altre zone retiniche che in questa fase presentano la stessa intensità di livello di grigio dei vasi. Si vuole sottolineare che la zona del disco ottico (la parte, in Fig. 45, con una maggiore intensità di livello di grigio) rappresenta, per le sue caratteristiche di intensità, una delle zone in cui l’estrazione dei vasi retinici è maggiormente complessa. Tuttavia, la rilevazione dei vasi nel disco ottico risulta fondamentale per la precoce individuazione della PDR. Per migliorare il contrasto tra i vasi e lo sfondo si procede con la successiva fase di preprocessing. Per ogni immagine IG in esame, prima di procedere con la fase di pre-processing, si eseguono operazioni di estrazione delle caratteristiche, in cui è calcolata la deviazione standard r e il valor medio q dell’istogramma, per ottenere il valore di clip limit β, successivamente utilizzato nell’equalizzazione di tipo CLAHE. Le molte sperimentazioni condotte hanno evidenziato che, per il metodo proposto, questo valore si ritrova nell’intervallo [0.03-0.05]. A tal proposito è stata sviluppata una parte della metodologia in cui si effettuano delle scelte a soglia in base ai valori di r e q: - se q > 0.4, si sceglie β = 0.03; - se q ≤ 0.4, si calcola r e si sceglie β = 0.05 se r > 0.075, e β = 0.04 se r ≤ 0.075. 90 Il diagramma a blocchi, in Fig. 46, mostra la procedura implementata che conduce all’attribuzione del giusto valore al parametro β. πΌπΊ Calcolo valore medio dell’istogramma q NO q > 0.4 Calcolo deviazione standard dell’istogramma r SI β = 0.03 NO r > 0.075 β = 0.04 SI β = 0.05 Fig. 46. Diagramma a blocchi per la selezione del valore del parametro di clip limit β Per migliorare l’esecuzione delle successive procedure di pre-processing, in modo tale da evidenziare i vasi in modo diverso a seconda che essi si trovino nel disco ottico o nella rimanente parte di sfondo della retina, si applica più volte, parallelamente, l’equalizzazione di tipo CLAHE, utilizzando differenti dimensioni S dei tile. La sperimentazione condotta ha permesso di individuare il valore del parametro S che permette di conseguire prestazioni migliori con il metodo proposto. Si sono selezionate come dimensioni dei tile Sa = (70x73) e Sb = (11x11). In Fig. 47, si riportano esempi dei risultati dell’equalizzazione di tipo CLAHE all’immagine IG19 e alla sua complementare IN19, con i suddetti valori di β, di Sa e di Sb. (a) (b) (c) (d) Fig. 47. Risultati dell’equalizzazione di tipo CLAHE: (a) IM1; (b) IM2; (c) IW1; (d) IW2 91 Dalle immagini, in Fig. 47, è possibile notare la differente azione dell’equalizzazione di tipo CLAHE, al variare delle dimensioni dei tile, nell’evidenziazione dei vasi nelle diverse zone retiniche ed in particolar modo nel disco ottico. Questa procedura permette, quindi, di ottenere più immagini elaborate, provenienti dalla stessa retinografia originale, che contengono informazioni differenti sui vasi retinici. Le operazioni di pre-processing proseguono con il filtraggio 2D Matched Gaussian Kernel e la trasformazione 2D-Gabor Wavelet. Ognuna di queste procedure ha come ingresso la rispettiva immagine precedentemente elaborata. Le quantità L = 9 e σ = 2 sono state adottate per il filtraggio 2D Matched Gaussian Kernel, come in [Cha89], e i valori η = 4, k = [0 2.5]T e s = 1.5 sono stati considerati per la trasformazione 2D-Gabor Wavelet, come in [Zha14]. Questa scelta di k fornisce il massimo contrasto tra vasi e sfondo e, allo stesso tempo, limita l’aumento di intensità di grigio dei pixel non appartenenti a vasi. In Fig. 48 si riportano esempi di immagini risultanti per ogni passaggio considerato. (a) (b) (c) (d) Fig. 48. Risultati del filtraggio 2D Matched Gaussian Kernel e della trasformazione 2D-Gabor Wavelet: (a) I1; (b) I2; (c) I3; (d) I4 Nelle immagini, riportate in Fig. 48, i vasi risultano maggiormente evidenziati rispetto allo sfondo; tuttavia si può notare come ogni procedura di pre-processing fornisca miglioramenti in alcune aree dell’immagine, ma presenti contemporaneamente alcuni svantaggi in altre zone retiniche. Le successive operazione di moltiplicazione (pixel per pixel) permettono di ridurre questi inconvenienti, aumentando l’intensità dei livelli di grigio dei pixel luminosi e scurendo i pixel corrispondenti allo sfondo, come mostrato in Fig. 49. 92 (a) (b) (c) (d) (e) (f) (g) (h) (m) (n) (i) (l) (o) (p) Fig. 49. Risultati delle operazioni di moltiplicazione tra le coppie I1, I2, e I3, I4: (a) IP1-1; (b) IP2-1; (c) IP1-2; (d) IP2-2; (e) IP1-10; (f) IP2-10; (g) IP1-14; (h) IP2-14; (i) IP1-18; (l) IP2-18; (m) IP1-19; (n) IP2-19; (o) IP1-20; (p) IP2-20 Questa procedura risulta molto utile per ridurre i rilevamenti errati dei pixel nella fase di segmentazione. In questa fase risulta critica la scelta del valore del parametro m che consente il calcolo del parametro thi. Il valore di quest’ultimo parametro permette, a sua volta, il calcolo del parametro e utilizzato come valore di soglia. Per queste ragioni si sono condotte analisi avvalendosi del riferimento delle immagini GT, della retinografia in esame. Si sono calcolati il rapporto TPR (True Positive Rate), dato dal rapporto tra il numero di pixel correttamente identificati come vasi (TP) e il totale dei pixel effettivamente appartenenti ai vasi nelle immagini GT, e il rapporto FPR (False Positive Rate), dato dal rapporto tra i pixel erroneamente rilevati come vasi (FP) e il totale dei pixel di sfondo nelle immagini GT [Soa06]. Attraverso questi valori di TPR e di FPR si possono tracciare le 7 curve ROC, relative alle immagini IOUT, Fig.50. 93 (a) (b) (d) (c) (e) (g) (f) Fig. 50. Set di curve ROC, relative all’immagine IOUT, al variare del valore del parametro m: (a) IOUT1; (b) IOUT2 ; (c) IOUT10; (d) IOUT14; (e) IOUT18; (f) IOUT19; (g) IOUT20 Le curve, riportate in Fig. 50, sono state ottenute per 0 ≤ m ≤ 4.5, con passo 0.5, considerando il seguente set di parametri π‘ = π1 + (π − 0.3) × π1 { β1 π‘β2 = π2 + π × π2 (13) in cui il valore del parametro m che interviene nella segmentazione di IP1, è stato ridotto di 0.3. Attraverso le curve ROC si effettua, quindi, la scelta del valore del parametro m che risulta fondamentale dal momento che un valore elevato riduce FPR ma anche TPR, con conseguente perdita dei vasi, mentre un valore basso di m aumenta il rumore a causa di un elevato FPR. 94 Con riferimento alla Fig. 50, per m ≥ 2.50 il valore di FPR tende a zero, ma TPR non supera lo 0.47 nel migliore dei casi, mentre per m ≤ 0.50 si ottiene TPR ≥ 0.88, ma anche un aumento di FPR oltre lo 0.30. Con 1.00 ≤ m ≤ 2.00 si ottiene 0.00 ≤ FPR ≤ 0.14 e 0.50 ≤ TPR ≤ 0.89. Per il metodo proposto si è scelto m = 1.50 che permette di ottenere 0.02 ≤ FPR ≤ 0.03 e 0.64 ≤ TPR ≤ 0.77 per le 7 immagini retiniche. Per ogni retinografia in esame, ricavato il valore di m, è possibile procedere al calcolo del valore del parametro di soglia e, indispensabile per la segmentazione delle immagini IP1, IP2. Si procede, quindi, con la fase di segmentazione separatamente per le due immagini IP1, IP2. I risultati della segmentazione sono riportati in Fig. 51. (a) (b) (c) (d) (e) (f) (g) (h) (i) (l) (m) (n) (o) (p) Fig. 51. Risultati segmentazione: (a) IA1; (b) IB1; (c) IA2; (d) IB2; (e) IA10; (f) IB10; (g) IA14; (h) IB14; (i) IA18 ; (l) IB18; (m) IA19; (n) IB19; (o) IA20; (p) IB20 95 Le mappe binarie dei vasi retinici, così separatamente ricavate, contengono alcune informazioni diverse che devono essere combinate. A tale scopo si ricorre all’operatore logico OR, per giungere ad un’unica immagine segmentata che riunisca tutte le informazioni provenienti dalle due mappe binarie dei vasi retinici, Fig. 52. (a) (b) (e) (c) (f) (d) (g) Fig. 52. Risultati derivanti dalla combinazione delle due mappe binarie, relative ad ogni immagine in esame, con l’operatore logico OR: (a) IOR1; (b) IOR2; (c) IOR10; (d) IOR14; (e) IOR18; (f) IOR19; (g) IOR20 In seguito, la fase di post-processing è completata con due passaggi di rimozione dei pixel erroneamente attribuiti ai vasi, Fig. 53. (a) (b) (c) Fig. 53. Risultati dei passaggi di post-prosessing: (a) IOR19; (b) IF19; (c) IOUT19 Come si può notare dall’immagine IOR19, (a) Fig. 53, il risultato dell’operazione logica di OR, contiene molti falsi rilevamenti di pixel appartenenti a vasi. Il primo passaggio permette di rimuovere il rumore introdotto dal bordo della maschera; come esempio si guardi l’immagine IF19, (b) Fig. 53. Il secondo passaggio, valutando le aree delle zone rilevate come vasi, permette di rimuovere pixel o gruppi di pixel erroneamente considerati appartenenti ai vasi; nell’implementare quest’operazione si considera come valore di soglia At = 25 [Zha14]. Si 96 giunge, in questo modo, all’immagine finale IOUT che contiene un minor numero di falsi rilevamenti. Il metodo proposto è valutato quantitativamente su tutte le 7 immagini selezionate dal database DRIVE. Ogni immagine del set è elaborata, secondo il procedimento descritto nel cap. 4, per ottenere la corrispondente immagine IOUT. Per ciascuna retinografia, con riferimento alla rispettiva immagine GT, si calcolano i valori di TP e di FP, e quelli relativi ai pixel correttamente rilevati come sfondo (TN) ed ai pixel erroneamente individuati come sfondo (FN). Le prestazioni, del metodo combinato di pre-processing proposto, sono state indagate considerando la variabile Accuracy che è fortemente correlata alla qualità della segmentazione ed è spesso usata per valutare e confrontare i diversi metodi π΄πππ’ππππ¦ = ππ+ππ ππ+πΉπ+ππ+πΉπ (14) inoltre, sui risultati segmentati, sono state calcolate le altre quantità statistiche Precision, Sensitivity, Specificity ππππππ πππ = ππ ππ+πΉπ ππππ ππ‘ππ£ππ‘π¦ = ππππππππππ‘π¦ = ππ ππ+πΉπ ππ ππ+πΉπ (15) (16) (17) Le prestazioni ottenute, con il metodo combinato di pre-processing proposto, espresse in termini di Accuracy, Precision, Sensitivity, Specificity [Zha14], sono mostrate in Tab. 22, dove i valori del parametro β indicano il clip limit per piccoli e grandi vasi. Bisogna notare che il metodo proposto presenta un valor medio di Accuracy pari al 96.06%. 97 Im. β 01 02 10 14 18 19 20 Valore medio 0.0300 0.0300 0.0400 0.0300 0.0300 0.0500 0.0400 0.0357 Accuracy Precision Sensitivity Specificity 0.9593 0.9575 0.9597 0.9563 0.9610 0.9688 0.9615 0.9606 0.7729 0.8787 0.8352 0.7264 0.7548 0.8378 0.7258 0.7902 0.7701 0.6784 0.6357 0.7367 0.7514 0.7744 0.7650 0.7302 0.9778 0.9893 0.9888 0.9756 0.9790 0.9864 0.9771 0.9820 Tab. 22. Prestazioni del metodo proposto Per un confronto delle prestazioni del metodo proposto, in Tab. 23 si riportano i valori di Accuracy ottenuti in questo lavoro e quelli raggiunti con i metodi presentati in [Ram12] e in [Zha14]. Metodo Proposto [Ram12] [Zha14] Im. 1 02 10 14 18 19 20 0.9593 0.9575 0.9597 0.9563 0.9610 0.9688 0.9615 0.9384 0.9373 0.9372 0.9406 0.9373 0.9489 0.9400 0.9500 0.9498 0.9457 0.9517 0.9501 0.9618 0.9550 Tab. 23. Confronto, per le stesse immagini, dei valori di Accuracy dei differenti metodi Il confronto mostra che con il metodo proposto sono stati ottenuti valori maggiori di Accuracy, per tutte le immagini retiniche prese in esame. I miglioramenti dei valore di Accuracy, offerti dal metodo proposto, rispetto ai valori ottenuti con i metodi presentati in [Ram12] e in [Zha14], sono evidenziati in Tab. 24. 98 Im. Confronto con [Ram12] Confronto con [Zha14] 01 02 10 14 18 19 20 Valore medio 0.0209 0.0202 0.0225 0.0157 0.0237 0.0199 0.0215 0.0206 0.0093 0.0077 0.0140 0.0046 0.0109 0.0070 0.0065 0.0086 Tab. 24. Miglioramenti dei valori di Accuracy offerti dal metodo proposto, nel confronto con i metodi presentati in [Ram12] e in [Zha14] Dai risultati, mostrati in Tab. 24, si riscontrano in media miglioramenti dei valori di Accuracy di 0.0206 e di 0.0086, ottenuti rispettivamente dal confronto delle prestazioni del metodo proposto con quelle dei metodi presentati in [Ram12] e in [Zha14]. Quindi dalle retinografie originali, ottenute dal database DRIVE, si ricavano, con il metodo proposto, mappe binarie dei vasi sanguigni. Queste presentano buoni valori di Accuracy e forniscono utili informazioni sui vasi nelle diverse zone retiniche, in particolar modo nel disco ottico. Nonostante le buone prestazioni, il metodo proposto presenta delle criticità che possono essere oggetto di studi e miglioramenti futuri. Nell’equalizzazione di tipo CLAHE, infatti, la scelta del valore del parametro di clip limit β è condotta attraverso delle soglie prestabilite ed è effettuata considerando solo tre possibili valori finali: 0.03, 0.04, 0.05; inoltre le dimensioni dei tile sono fisse per ogni retinografia elaborata. A tal proposito si dovrebbe implementare una scelta dinamica e maggiormente flessibile sia del valore del parametro β sia dei valori dei parametri Sa ed Sb, valutando nel dettaglio le caratteristiche della retinografia in esame. Questo miglioramento potrebbe portare ad un ulteriore aumento delle prestazioni del metodo proposto. Si mostrano, infine, le immagini IOUT, ottenute dall’elaborazione delle 7 retinografie considerate, Fig. 54. 99 (a) (b) (c) (d) (e) (f) (g) (h) (l) (m) (n) (o) (p) (i) Fig. 54. Retinografie originali estratte dal database DRIVE e loro mappa binaria dei vasi retinici ottenuta con il metodo proposto: (a) IIN1; (b) IOUT1; (c) IIN2; (d) IOUT2; (e) IIN10; (f) IOUT10; (g) IIN14; (h) IOUT14; (i) IIN18; (l) IOUT18; (m) IIN19; (n) IOUT19; (o) IIN20; (p) IOUT20 Le immagini elaborate, così ottenute, possono essere caricate sull’apposito archivio predisposto per la retinopatia diabetica. Da questo archivio, secondo il modello di rete oftalmica proposto, è possibile creare il database di immagini elaborate per retinopatia diabetica, attraverso il lavoro dei componenti della rete di tipo VO. 100 5.5. Sviluppi progettuali futuri Per le successive fasi per la realizzazione dei modelli proposti, la ricerca indirizza verso una scelta tecnologica di tipo Grid computing che presenta un approccio nei confronti della condivisione delle risorse che permette di soddisfare nel modo più efficiente e collaborativo le necessità di una rete di tipo VO. L’ambiente di griglia, oltre a sostenere efficacemente il lavoro della rete di tipo VO, permette di garantire la sicurezza. Autenticazione e Autorizzazione sono assicurate, in questo ambiente, da strumenti come certificati X.509 e liste ACL che permettono di verificare l’identità degli utenti e di definire le azioni che ognuno di essi è autorizzato a compiere, rispettivamente. Si vuole indicare la tecnologia del Globus Toolkit come fondamentale per lo sviluppo dell’ambiente di griglia, in quanto contiene componenti utili quali: GridFTP, GRAM5, GSI C, MyProxy, GSI-OpenSSH, SimpleCA. Come indicato in letteratura, l’utilizzo dell’intero sistema si può facilitare attraverso il portale web che permette di ottenere servizi quali la verifica dello stato dei nodi della griglia, lo scambio di file tra gli utenti e il componente GridFTP, la validazione attraverso la tecnologia del workflow, la definizione del profilo utente e la possibilità di contatto privato con ognuno di questi. Con il portale web si possono definire, facilmente e nel dettaglio, tutte le figure professionali coinvolte, associando, ad ognuna, i permessi che consentono di eseguire le azioni, in accordo con le responsabilità assunte nella rete di tipo VO. Tutta questo sistema porta alla creazione collaborativa dei database di grandi dimensioni che archiviano un vasto volume di dati, a livello internazionale, permettendo di assicurare la ricercata visibilità, credibilità e utilità per gli sviluppi dei diversi lavori in campo oftalmico. Si può garantire, come detto, la facilità di accesso, assicurando sempre e comunque la sicurezza dei dati in tutti i suoi aspetti e mantenendola costantemente ad alti livelli attraverso le procedure di manutenzione. 101 6. Conclusioni Con il presente lavoro si è conseguito l’obiettivo di dare origine a modelli innovativi di rete collaborativa, al fine di agevolare la creazione di complessi database in medicina. In particolare si è considerata la problematica della mancanza di vasti database per sviluppare i programmi di screening in campo oftalmico. Si sono sviluppati modelli di rete collaborativa di tipo Virtual Organization per la creazione di due database, uno volto a contenere retinografie classificate e l’altro a contenere immagini di riferimento di tipo Ground Truth per la convalida degli algoritmi ARIA. La struttura dei database è stata pensata per sostenere le necessità derivanti da un ambiente distribuito e ricco di dati, affrontando le difficoltà legate ai processi di sviluppo ed alle esigenze di sicurezza. La rete collaborativa di tipo VO permette di fronteggiare gli inconvenienti derivanti dalle dispendiose e laboriose operazioni necessarie alla creazione ed alla gestione dei database. Per il raggiungimento dell’obiettivo prefissato le figure professionali necessarie sono state opportunamente selezionate e la loro interazione è stata strutturata in forma collaborativa nei modelli di rete proposti. Le regole di condivisione definiscono chiaramente e attentamente: cosa può essere condiviso in termini di immagini e di informazioni ad esse relative, quale ruolo ha il permesso di condivisione, considerando tutte le figure coinvolte interne ed esterne all’organizzazione, e le condizioni in cui può avvenire la condivisione stessa. Questo permette di garantire la qualità e la sicurezza dei database. Le operazioni che devono essere compiute da ogni profilo coinvolto per la creazione e la gestione dei database sono state organizzate attraverso la tecnologia del workflow. In questo modo si può supportare efficacemente il flusso di lavoro tra i diversi ruoli e garantire il rispetto della corretta esecuzione di ogni fase necessaria per ogni nuova archiviazione. I contenuti dei database sono stati efficacemente strutturati, in modo tale da presentare utili metadati per ogni immagine. Questa impostazione è stata stabilita per supportare l’esecuzione delle diverse operazioni che caratterizzano la natura stessa del database. Inoltre, l’accurata analisi dei dati ne ha permesso un’attenta suddivisione. Questo è risultato fondamentale per gestire le informazioni strettamente relative al paziente nel rispetto della privacy, impedendo l’accesso ad utenti non autorizzati ed esterni all’organizzazione stessa. Si è anche valutata l’interazione con il lavoro di ogni Ospite, importante fonte di accrescimento dei dati. È stato inoltre sviluppato un modello innovativo di rete oftalmica per la formazione di database di immagini elaborate suddivisi per patologia, con l’obiettivo di espandere la qualità e la quantità dei dati immagazzinati. Idea chiave di questo sviluppo è utilizzare il lavoro offerto da ogni Ospite, valorizzandolo attraverso processi di controllo e valutazione a cura delle figure professionali già presenti nei modelli di rete collaborativa proposti. I dati forniti da ogni Ospite opportunamente trattati sono utilizzati per la formazione di altri utili database di immagini elaborate suddivisi per patologia. I database, così costituiti, possono essere resi accessibili ad ogni figura interna o esterna all’organizzazione. 102 In particolare, indicazioni metodologiche per la realizzazione di un database di immagini di supporto per retinopatia diabetica sono state determinate attraverso lo sviluppo algoritmico di una procedura di elaborazione che permette di rilevare i vasi sanguigni nelle immagini retiniche. Questa esperienza ha permesso di constatare l’innegabile esigenza di vasti database contenenti retinografie classificate, immagini GT e metadati ad entrambe relativi, avvalorando i benefici derivanti dallo sviluppo dei modelli proposti. Per la realizzazione successiva dei modelli proposti gli studi indirizzano verso la tecnologia del Grid computing. Infatti, le ricerche hanno dimostrato che questa tecnologia ben si adatta al coordinamento di risorse di calcolo distribuite, eterogenee ed indipendenti. Si potrà, in questo modo, sostenere efficacemente il lavoro collaborativo e garantire la sicurezza richiesta in ambito medico. Si configura, così, l’opportunità di realizzare i modelli pensati di rete collaborativa, estensibile e flessibile, che permette la creazione di database di grandi dimensioni, facilmente gestibili e accessibili nel rispetto della privacy dei pazienti. I modelli di rete collaborativa qui proposti possono generare database di qualità garantita, facilmente accessibili ed utilizzabili che permettono di immagazzinare un vasto numero di informazioni anche per le patologie più rare. Questo lavoro si configura come un interessante supporto per incrementare le prestazioni nella diagnostica oftalmica, contribuendo allo sviluppo dei sistemi ARIA e sostenendo inoltre le procedure di formazione dei giovani medici. 103 Bibliografia [Aml14] Amland R.C., Hahn-Cover K.E., Clinical Decision Support for Early Recognition of Sepsis, American Journal of Medical Quality, SAGE journals, pp. 1-8, 2014, DOI: 10.1177/1062860614557636 [Ban05] Baniulis K., Tamulynas B., Aukstakalnis N., Case Study of Virtual Organization Learning and Knowledge Testing Environments, 3° International LeGE-WG Workshop-GRID Infrastructure to Support Future Technology Enhanced Learning, Berlin 2003. In: Towards the Learning Grid: Advances in Human Learning Services, vol. 127, Frontiers in AI and Applications. Ritrovato P. et al. (Eds.), IOS Press, Amsterdam, pp. 79-87, 2005, ISBN: 1-58603-534-7 [Bel07] Bellotti R., Cerello P., Tangaro S., Bevilacqua V., Castellano M., Mastronardi G., De Carlo F., Bagnasco S., Bottigli U., Cataldo R., Catanzariti E., Cheran S.C., Delogu P., De Mitri I., De Nunzio G., Fantacci M.E., Fauci F., Gargano G., Golosio B., Indovina P.L., Lauria A., Lopez Torres E., Magro R., Masala G.L., Massafra R., Oliva P., Preite Martinez A., Quarta M., Raso G., Retico A., Sitta M., Stumbo S., Tata A., Squarcia S., Schenone A., Molinari E., Canesi B., Distributed medical images analysis on a Grid infrastructure, Future Generation Computer Systems, Elsevier, vol. 23, issue 3, pp. 475-484, 2007, DOI: 10.1016/j.future.2006.07.006 [Boc06] Boccaletti S., Latora V., Moreno Y., Chavez M., Hwang D.U., Complex networks: Structure and dynamics, Physics Reports, Elsevier, vol. 424, issue 4-5, pp. 175-308, 2006, DOI:10.1016/j.physrep.2005.10.009 [Bot14] Botón-Fernández M., Vega-Rodríguez M.A., Castrillo F.P., Self-adaptivity for grid applications. An Efficient Resources Selection model based on evolutionary computation algorithms, Parallel Computing, Elsevier, vol. 40, issue 8, pp. 345361, 2014, DOI: 10.1016/j.parco.2014.06.005 [Bre10] Brewer P.E., Results of a survey on using international virtual teams in engineering, Professional Communication Conference (IPCC), 2015 IEEE International , pp. 14, 2015, DOI: 10.1109/IPCC.2015.7235803 [Bre15] Brewer P.E., Results of a survey on using international virtual teams in engineering, Professional Communication Conference (IPCC), 2015 IEEE International, pp.1-4, 2015, DOI: 10.1109/IPCC.2015.7235803 [Car09] Carnimeo L., Bevilacqua V., Cariello L., Mastronardi G., Retinal Vessel Extraction by a Combined Neural Network-Wavelet Enhancement Method, Emerging Intelligent Computing Technology and Applications with Aspects of Artificial Intelligence, Lecture Notes in Computer Science, New York: Springer, vol. 5755, pp. 1106-1116, 2009, DOI: 10.1007/978-3-642-04020-7_118 104 [Car12] Carnimeo L., Benedetto A. C., Mastronardi G., A Voting Procedure Supported by a Neural Validity Classifier for Optic Disc Detection, Emerging Intelligent Computing Technology & Appl., Communication in Computer and Information Science, Berlin Heidelberg: Springer-Verlag, vol. 304, pp. 467-474, 2012, DOI: 10.1007/978-3-642-31837-5_68 [Car15] Carnimeo L., Nitti R., On classifying diabetic patients’ with proliferative retinopathies via a radial basis probabilistic neural network, Advanced Intelligent Computing Theories and Applications, Lecture Notes in Computer Science, New York: Springer, vol. 9227, pp. 115-126, 2015, DOI: 10.1007/978-3-319-220536_14 [Cas09] Castellano M., Mastronardi G., Bellotti R., Tarricone G., A bioinformatics knowledge discovery in text application for grid computing, BMC Bioinformatics, 10(Suppl 6):S23, 2009, DOI:10.1186/1471-2105-10-S6-S23 [Cas11] Castellano M., Stifini R., Biomedical Knowledge Engineering Using a Computational Grid, Biomedical Engineering, Trends in Electronics, Communications and Software, InTech, vol. 1, no. 1, pp.601-625, 2011, DOI:10.5772/13809 [Cas14] Castellano M., Maggi G., Giorgio A., Carnimeo L., Tangaro S.S., Bellotti R., Designing Distributed Systems and their Applications, 1° WORKSHOP on the State of the art and Challenges Of Research Efforts@POLIBA, Politecnico di Bari, 2014 [Cas15] Castellano M., A Grid Based Collaborative Distributed System for E-Learning Design and Production, Concepts, Development and Results of the SFINGE Project, WIP Edizioni, 2015, ISBN: 978-88-8459-340-5 [Cha89] Chaudhuri S., Chatterjee S., Katz N., Nelson M., Goldbaum M., Detection of blood vessels in retinal images using two-dimensional matched filters, Medical Imaging, IEEE Transactions on, vol. 8, no. 3, pp.263-269, 1989, DOI:10.1109/42.34715 [Das15] Dash J., Bhoi N., A Survey on Blood Vessel Detection Methodologies in Retinal Images, Computational Intelligence and Networks (CINE), 2015 International Conference on, pp.166-171, 2015, DOI: 10.1109/CINE.2015.39 [Fos01] Foster I., Kesselman C., Tuecke S., The Anatomy of the Grid: Enabling Scalable Virtual Organizations, International Journal of High Performance Computing Applications, vol. 15, no. 3, pp. 200-222, 2001, DOI: 10.1177/109434200101500302 [Gae05] Gaeta M., Capuano N., Gaeta A., Orciuoli F., Pappacena L., Ritrovato P., DIOGENE: A service Oriented Virtual Organisation for e-Learning, 4th International LeGE-WG Workshop-Towards a European Learning Grid Infrastructure: Progressing with a European Learning Grid, Stuttgart 2004. In: 105 Towards the Learning Grid: Advances in Human Learning Services, vol. 127, Frontiers in AI and Applications. Edited by: Ritrovato P. et al., IOS Press, Amsterdam, pp. 145-158, 2005, ISBN: 1-58603-534-7 [Gol14] Golubev V.M., Dudin Y.B., Ushakov V.N., The Systematization, Development, and Application of GridSystem Technologies, Scientific and Technical Information Processing, Springer, vol. 41, issue 1, pp. 12–21, 2014, DOI: 10.3103/S014768821401002X [Gri15] Griebel L., Prokosch H.U., Köpcke F., Toddenroth D., Christoph J., Leb I., Engel I., Sedlmayr M., A scoping review of cloud computing in healthcare, BMC Medical Informatics and Decision Making, Springer, vol. 15, issue 1, 2015, DOI: 10.1186/s12911-015-0145-7 [Han09] Han L., The performance model of dynamic virtual organization (VO) formations within grid computing context, Chaos, Solitons & Fractals, Elsevier, vol. 40, issue 4, pp.1599-1608, 2009, DOI: 10.1016/j.chaos.2007.09.040 [Hoo00] Hoover A., Kouznetsova, V., Goldbaum M., Locating blood vessels in retinal images by piecewise threshold probing of a matched filter response, Medical Imaging, IEEE Transactions on, vol. 19, no. 3, pp. 203-210, 2000, DOI: 10.1109/42.845178 [Hua14] Huang H.K., Deshpande R., Documet J., Le A.H., Lee J., Ma K., Liu B.J., Medical imaging informatics simulators: a tutorial, International Journal of Computer Assisted Radiology and Surgery, Springer, vol. 9, issue 3, pp. 433-447, 2014, DOI: 10.1007/s11548-013-0939-y [Kau14] Kaur K., Rai A.K., A Comparative Analysis: Grid, Cluster and Cloud Computing, International Journal of Advanced Research in Computer and Communication Engineering, vol. 3, issue 3, 2014, ISSN: 2319-5940 [Lan14] Lancheros-Cuesta D.J., Tumialan A., Giovanni J., Perez V.H., Carrizosa M., Telemedicine platform for monitoring diabetic retinopathy, Information Systems and Technologies (CISTI), 2014 9th Iberian Conference on, pp. 1-6, 2014, DOI: 10.1109/CISTI.2014.6876924 [Li10] Li J., Huai J., Hu C., Zhu Y., A secure collaboration service for dynamic virtual organizations, Information Sciences, Elsevier, vol. 180, issue 17, pp.3086-3107, 2010, DOI: 10.1016/j.ins.2010.05.014 [Luo09] Luo J., Ni X., Yong J., A trust degree based access control in grid environments, Information Sciences, Elsevier, vol. 179, issue 15, pp. 2618-2628, 2009, DOI: 10.1016/j.ins.2009.01.039 [Min13] Min B.S., Lim D.K., Kim S.J., Lee J.H., A Novel Method of Determining Parameters of CLAHE Based on Image Entropy, Int. J. of Software Engin. and Its Appl., vol. 7, no. 5, pp. 113-120, 2013, DOI: 10.14257/ijseia.2013.7.5.11 106 [New03] Newman M.E.J., The structure and function of complex networks, SIAM, vol. 45, issue 2, pp. 167-256, 2003, DOI: 10.1137/S003614450342480 [Osa02] Osareh A., Mirmehdi M., Thomas B., Markham R., Classification and Localization of Diabetic-Related Eye Disease, Springer-Berlin Heidelberg, pp. 502-516, 2002, DOI: 10.1007/3-540-47979-1_34 [Qur14] Qureshi M.B., Dehnavi M.M., Min-Allah N., Qureshi M.S., Hussain H., Rentifis I., Tziritas N., Loukopoulos T., Khan S.U., Xu C.Z., Zomaya A.Y., Survey on Grid Resource Allocation Mechanisms, Journal of Grid Computing, Springer, vol. 12, issue 2, pp. 399-441, 2014, DOI: 10.1007/s10723-014-9292-9 [Ram12] Ramlugun G.S., Nagarajan V.K., Chakraborty C., Small retinal vessels extraction towards proliferative diabetic retinopathy screening, Expert Systems with Applications, Elsevier, vol. 39, issue 1, pp. 1141-1146, 2012, DOI: 10.1016/j.eswa.2011.07.115 [Rez04] Reza A.M., Realization of the Contrast Limited Adaptive Histogram Equalization (CLAHE) for real-time image enhancement, J. of VLSI Signal Processing, vol. 38, issue 1, pp. 35-44, 2004, DOI: 10.1023/B:VLSI.0000028532.53893.82 [Rod13] Rodero I., Villegas D., Bobroff N., Liu Y., Fong L., Sadjadi S.M., Enabling Interoperability among Grid Meta-Schedulers, Journal of Grid Computing, Springer, vol. 11, issue 2, pp. 311-336, 2013, DOI: 10.1007/s10723-013-9252-9 [Sil11] Silva P.S., Cavallerano J.D., Aiello L.M., Aiello L.P., Telemedicine and diabetic retinopathy: moving beyond retinal screening, Archives of Ophthalmology, vol. 129, no. 2, pp. 236-242, 2011, DOI: 10.1001/archophthalmol.2010.365 [Sil12] Silva L.A.B., Costa C., Oliveira J.L., A PACS archive architecture supported on cloud services, International Journal of Computer Assisted Radiology and Surgery, vol. 7, issue 3, pp. 349-358, 2012, DOI: 10.1007/s11548-011-0625-x [Sim15] Sim D.A., Keane P.A., Tufail A., Egan C.A., Aiello L.P., Silva P.S., Automated Retinal Image Analysis for Diabetic Retinopathy in Telemedicine, Current Diabetes Reports, Springer, vol. 15, issue 3, DOI: 10.1007/s11892-015-0577-6 [Sin15] Singh N., Kaur L., A survey on blood vessel segmentation methods in retinal images, Electronic Design, Computer Networks & Automated Verification (EDCAV), 2015 International Conference on , pp. 23-28, 2015 DOI: 10.1109/EDCAV.2015.7060532 [Soa06] Soares J.V.B., Leandro J.J.G., Cesar R.M., Jelinek H.F., Cree M.J., Retinal vessel segmentation using the 2-D Gabor wavelet and supervised classification, Medical Imaging, IEEE Transactions on , vol. 25, no. 9, pp. 1214-1222, 2006, doi:10.1109/TMI.2006.879967 107 [Sta04] Staal J., Abràmoff M.D., Niemeijer M., Viergever M.A., Van Ginneken B., RidgeBased Vessel Segmentation in Color Images of the Retina, Medical Imaging, IEEE Transactions on, vol. 23, no. 4, pp. 501-509, 2004, DOI: 10.1109/TMI.2004.825627 [Tru13] Trucco E., Ruggeri A., Karnowski T., Giancardo L., Chaum E., Hubschman J.P., alDiri B., Cheung C.Y., Wong D., Abràmoff M., Lim G., Kumar D., Burlina P., Bressler N.M., Jelinek H.F., Meriaudeau F., Quellec G., Macgillivray T., Dhillon B., Validating retinal fundus image analysis algorithms: issues and a proposal, Investigative ophthalmology & visual science, vol. 54, no. 5, pp. 35463559, 2013, DOI: 10.1167/iovs.12-10347 [Umb10] Umbaugh S.E., Digital Image Processing and Analysis: Human and Computer Vision Applications with CVIPtools, 2nd. ed., CRC Press, 2010 [Vya14] Vyas G., Thakur A., Bhan A., Analysis of histogram based contrast Enhancement with noise reduction method for endodontic therapy, Reliability, Infocom Technologies and Optimization (ICRITO) (Trends and Future Directions), 3rd International Conference on, pp.1-5, 2014, DOI: 10.1109/ICRITO.2014.7014739 [Wal02] Walter T., Klein J.C., Missin P., Erginay A., A contribution of Image Processing to the Diagnosis of Diabetic Retinopathy – Detection of Exudates in Color Fundus Images of the Human Retina, Medical Imaging, IEEE Transactions on, vol. 21, no. 10, pp. 1236-1243, 2002, DOI: 10.1109/TMI.2002.806290 [Wan03] Wang X.F., Chen G., Complex networks: small-world, scale-free and beyond, Circuits and Systems Magazine, IEEE Transactions on, vol. 3, no. 1, pp. 6-20, 2003, DOI: 10.1109/MCAS.2003.1228503 [Yan12] Yang B., Liu J., Liu D., Characterizing and Extracting Multiplex Patterns in Complex Networks, Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, vol. 42, no. 2, pp. 469-481, 2012, DOI: 10.1109/TSMCB.2011.2167751 [Yos12] Yoshida H., Wu Y., Cai W., Brett B., Scalable, high-performance 3D imaging software platform: System architecture and application to virtual colonoscopy, Engineering in Medicine and Biology Society (EMBC), 2012 Annual International Conference of the IEEE , pp. 3994-3997, 2012, DOI: 10.1109/EMBC.2012.6346842 [Zha09] Zhang L., Li Q., You J., Zhang D., A Modified Matched Filter With Double-Sided Thresholding for Screening Proliferative Diabetic Retinopathy, Information Technology in Biomedicine, IEEE Transactions on , vol. 13, no. 4, pp. 528-534, 2009, DOI: 10.1109/TITB.2008.2007201 [Zha14] Zhao Y.Q., Wang X.H., Wang X.F., Shih F.Y., Retinal vessels segmentation based on level set and region growing, Pattern Recognition, Elsevier, vol. 47, issue 7, pp. 2437-2446, 2014, DOI: 10.1016/j.patcog.2014.01.006 108 [Zui94] Zuiderveld K., Contrast Limited Adaptive Histogram Equalization, Graphics Gems IV. Heckbert P.S. (Ed.), Cambridge, MA, Academic Press, Chapter VIII.5, pp. 474485, 1994, ISBN: 0-12-336155-9 109