SlideShare una empresa de Scribd logo
1 de 122
Descargar para leer sin conexión
Anno Accademico 2011-2012




                  UNIVERSITÀ DEGLI STUDI DI TRIESTE


                       FACOLTÀ DI INGEGNERIA

       CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA




                            Tesi di laurea

     "VALUTAZIONE DI DESCRITTORI PER IL RILEVAMENTO
     AUTOMATICO DI NUCLEI CELLULARI IN IMMAGINI DI
             MICROSCOPIA A FLUORESCENZA"




Laureando:                                                    Relatore:
Paolo Fabris                                    Felice Andrea Pellegrino


                                                            Correlatore:
                                                        Walter Vanzella
Sommario        2




                                                 Ai miei amici,

                           a tutti coloro che mi vogliono bene

a tutti quelli che mi hanno supportato per tutto questo tempo

     ai miei carissimi genitori che mi sono sempre stati vicino
Sommario                  3




Sommario
SOMMARIO ..................................................................................................................................................... 3

INDICE DELLE FIGURE ....................................................................................................................................... 7

RINGRAZIAMENTI ............................................................................................................................................ 9

1.      INTRODUZIONE .................................................................................................................................... 10

     1.1.        OBBIETTIVI DEL PROGETTO ....................................................................................................................... 10

     1.2.        L’ALGORITMO ........................................................................................................................................ 11

     1.3.        MICROSCOPIA A FLUORESCENZA ................................................................................................................ 11

2.      REGIONI D’INTERESSE ........................................................................................................................... 14

     2.1.        INTRODUZIONE....................................................................................................................................... 14

     2.2.        NORMALIZZAZIONE DELLE IMMAGINI .......................................................................................................... 14

     2.3.        ESTRAZIONE DEI PUNTI D’INTERESSE ........................................................................................................... 18

     2.4.        RICERCA DEI PARAMETRI PER IL FILTRO DOG ................................................................................................ 28

     2.5.        ESTRAZIONE DELLE REGIONI D’INTERESSE ..................................................................................................... 29

     2.6.        ASSEGNAZIONE DELLE ROI ALLA CLASSE DI APPARTENENZA ............................................................................. 33

3.      FEATURE ............................................................................................................................................... 34

     3.1.        INTRODUZIONE....................................................................................................................................... 34

     3.2.        PROPRIETÀ DELLE FEATURE ....................................................................................................................... 34

     3.3.        SHAPEINTENSITY..................................................................................................................................... 37

     3.4.        ZERNIKE ................................................................................................................................................ 39

     3.5.        TRASFORMATA DI FOURIER-MELLIN, AFMT, DAFMT E FAFMT .................................................................... 42

     3.6.        TRASFORMATA DCT................................................................................................................................ 46

4.      MACCHINA A VETTORI DI SUPPORTO ................................................................................................... 48

     4.1.        INTRODUZIONE....................................................................................................................................... 48

     4.2.        LA MACCHINA ........................................................................................................................................ 48

        4.2.1.       Classificatore lineare su dati linearmente separabili .................................................................... 50

        4.2.2.       Classificatore lineare su dati non linearmente separabili ............................................................. 53
Sommario                  4


        4.2.3.       Classificatore non lineare .............................................................................................................. 54

        4.2.4.       Cross-validation ............................................................................................................................ 55

5.      RECEIVER OPERATING CHARACTERISTIC ............................................................................................... 57

     5.1.        INTRODUZIONE....................................................................................................................................... 57

     5.2.        SPAZIO ROC.......................................................................................................................................... 57

     5.3.        GENERAZIONE EFFICIENTE DEI PUNTI DI UNA CURVA ROC ............................................................................... 60

     5.4.        AUC .................................................................................................................................................... 62

6.      NVIDIA CUDA, ARCHITETTURA E MODELLO DI PROGRAMMAZIONE ..................................................... 63

     6.1.        INTRODUZIONE....................................................................................................................................... 63

     6.2.        GPU COME COMPUTER PARALLELO ............................................................................................................ 65

     6.3.        ARCHITETTURA NVIDIA FERMI GF110 ...................................................................................................... 69

        6.3.1.       Host Interface ............................................................................................................................... 70

        6.3.2.       Memory Controller ........................................................................................................................ 70

        6.3.3.       Gerarchia memoria ....................................................................................................................... 71

        6.3.4.       GDDR5........................................................................................................................................... 72

        6.3.5.       GigaThread Engine ........................................................................................................................ 72

        6.3.6.       Streaming Multiprocessor ............................................................................................................. 73

        6.3.7.       Instruction cache ........................................................................................................................... 74

        6.3.8.       Dual warp scheduler e dispatch unit ............................................................................................. 74

        6.3.9.       Register file ................................................................................................................................... 76

        6.3.10.           LD/ST ........................................................................................................................................ 76

        6.3.11.           SFU ........................................................................................................................................... 76

        6.3.12.           Texture Unit ............................................................................................................................. 76

        6.3.13.           CUDA Core ................................................................................................................................ 77

     6.4.        INTERFACCIA CUDA................................................................................................................................ 79

        6.4.1.       Architettura................................................................................................................................... 79

        6.4.2.       SIMT .............................................................................................................................................. 82

        6.4.3.       Organizzazione thread .................................................................................................................. 82

        6.4.4.       Organizzazione della memoria ..................................................................................................... 84
Sommario                  5


     6.5.         LIBRERIE ............................................................................................................................................... 85

     6.6.         VELOCITÀ DI ELABORAZIONE...................................................................................................................... 86

7.       BENCHMARK ........................................................................................................................................ 87

     7.1.         INTRODUZIONE....................................................................................................................................... 87

     7.2.         HARDWARE E SOFTWARE IMPIEGATI ........................................................................................................... 88

     7.3.         VALUTAZIONE DELLE CLASSIFICAZIONI MANUALI EFFETTUATE DAGLI ESPERTI........................................................ 90

     7.4.         VALUTAZIONE DEI PARAMETRI DELLA DOG .................................................................................................. 91

     7.5.         VALUTAZIONE DELLE PRESTAZIONI IN FASE DI ADDESTRAMENTO ....................................................................... 92

     7.6.         VALUTAZIONE DELLE PRESTAZIONI IN CLASSIFICAZIONE ................................................................................... 98

     7.7.         VALUTAZIONE DELLA VELOCITÀ DI ELABORAZIONE .......................................................................................... 99

8.       CONCLUSIONI ..................................................................................................................................... 101

BIBLIOGRAFIA .............................................................................................................................................. 104

APPENDICE A ............................................................................................................................................... 105

     A.1. DIRECTX 11 SU HARDWARE DIRECTX 10 E DIRECTX 9.0C .................................................................................... 105

     A.1. SHADER MODEL 5 ........................................................................................................................................ 105

     A.2. VERTEX E INDEX BUFFER ................................................................................................................................ 106

     A.3. PRIMITIVE .................................................................................................................................................. 106

     A.4. INPUT ASSEMBLER ........................................................................................................................................ 108

     A.4. RASTERIZATION ........................................................................................................................................... 108

     A.5. PIPELINE GRAFICA DIRECTX 11 ....................................................................................................................... 108

         A.5.1. Architettura shader model unificata ............................................................................................... 108

         A.5.2. Tessellation ..................................................................................................................................... 109

         A.5.3. Schema logico della pipeline grafica DirectX 11 ............................................................................. 112

     A.6. SPAZI IN UNA SCENA 3D ................................................................................................................................ 115

     A.6.1. OBJECT E WORLD SPACE ............................................................................................................................. 115

     A.6.2. VIEW E CLIP SPACE .................................................................................................................................... 116

     A.6.3. SCREEN SPACE E HSR ................................................................................................................................ 117

     A.7. NVIDIA APPROFONDIMENTI .......................................................................................................................... 118

         A.7.1. ROP ................................................................................................................................................. 118

         A.7.2. Tessellation ..................................................................................................................................... 118
Sommario                 6


        A.7.3 CUDA ................................................................................................................................................ 119

APPENDICE B ............................................................................................................................................... 121

    B.1. SVILUPPARE MEX IN VISUAL STUDIO 2010 PROFESSIONAL ................................................................................... 121

    B.2. SVILUPPARE CUDA KERNEL IN VISUAL STUDIO 2010 PROFESSIONAL..................................................................... 121

APPENDICE C ............................................................................................................................................... 122

    C.1. LIBSVM ...................................................................................................................................................... 122
Indice delle figure                    7




Indice delle figure
FIGURA 1 IMMAGINE CAMPIONE DI MICROSCOPIA A FLUORESCENZA .................................................................................... 12
FIGURA 2 CLASSIFICAZIONE MANUALE DA PARTE DI UN ESPERTO ......................................................................................... 13
FIGURA 3 ZOOM IN UNA REGIONE CLASSIFICATA MANUALMENTE DA UN ESPERTO ................................................................... 13
FIGURA 4 IMMAGINE NORMALIZZATA ............................................................................................................................ 14
FIGURA 5 RAPPRESENTAZIONE A COLORI ........................................................................................................................ 15
FIGURA 6 VARIAZIONE DI LUMINOSITÀ A COLORI .............................................................................................................. 15
FIGURA 7 IMMAGINE FLATTED...................................................................................................................................... 16
FIGURA 8 NORMALIZZAZIONE CHE SFRUTTA LA MEDIANA SU IMMAGINE CON LUMINOSITÀ UNIFORME ........................................ 17
FIGURA 9 FUNZIONE GAUSSIANA MONODIMENSIONALE CON MEDIA NULLA ........................................................................... 19
FIGURA 10 FUNZIONE GAUSSIANA BIDIMENSIONALE CENTRATA .......................................................................................... 20
FIGURA 11 FILTRAGGIO DOG ...................................................................................................................................... 21
FIGURA 12 RICERCA DEI MASSIMI LOCALI ....................................................................................................................... 22
FIGURA 13 SOGLIATURA DI OTSU E RIDLER CALVARD........................................................................................................ 25
FIGURA 14 SOGLIATURA DI OTSU E DI RIDLER CALVARD SU DOG........................................................................................ 26
FIGURA 15 CORREZIONE NELLA GENERAZIONE DEI PUNTI D’INTERESSE IN CONDIZIONI NON OTTIMALI ......................................... 28
FIGURA 16 IMMAGINE BINARIA DALLA DOG ................................................................................................................... 29
FIGURA 17 FILTRAGGIO DOG AL NEGATIVO CON IMPOSTAZIONE DEI PUNTI D'INTERESSE A ZERO ............................................... 30
FIGURA 18 BACINI WATERSHED .................................................................................................................................... 31
FIGURA 19 BLOB GENERATI DAI BACINI WATERSHED ......................................................................................................... 31
FIGURA 20 BLOB CHE CONTENGONO UN PUNTO D’INTERESSE ............................................................................................. 32
FIGURA 21 ESTRAZIONE ROI CON TRASLAZIONE DEL CENTRO DI MASSA ................................................................................ 32
FIGURA 22 FILTRAGGIO DELLA ROI CON FUNZIONE SIGMOIDALE ......................................................................................... 33
FIGURA 23 PIANO CARTESIANO .................................................................................................................................... 36
FIGURA 25 RICOSTRUZIONI DELLA ROI CON DIVERSI GRADI PER ZERNIKE .............................................................................. 41
FIGURA 26 CAMPIONAMENTO CON COORDINATE POLARI .................................................................................................. 44
FIGURA 27 CAMPIONAMENTO CON COORDINATE LOG-POLAR............................................................................................. 45
FIGURA 28 ENERGIA DELLA DCT .................................................................................................................................. 47
FIGURA 29 RICOSTRUZIONE DI UNA ROI DAI COEFFICIENTI DCT ......................................................................................... 47
FIGURA 30 CLASSIFICATORE LINEARE ............................................................................................................................. 50
FIGURA 31 DIFFERENZA FRA MARGINI SVM ................................................................................................................... 51
FIGURA 32 DATI NON LINEARMENTE SEPARABILI .............................................................................................................. 53
FIGURA 33 SPAIO D’INPUT E DELLE FEATURE ................................................................................................................... 54
FIGURA 34 CUT-OFF .................................................................................................................................................. 58
FIGURA 35 GENERAZIONE ROC ................................................................................................................................... 61
FIGURA 36 GPU VS CPU FLOATING-POINT..................................................................................................................... 66
FIGURA 37 GPU VS CPU BANDA DI MEMORIA ................................................................................................................ 67
FIGURA 38 ARCHITETTURA GF110 ............................................................................................................................... 69
FIGURA 39 GERARCHIA MEMORIA ................................................................................................................................ 71
FIGURA 40 CACHE L2 UNIFICATA .................................................................................................................................. 72
FIGURA 41 STREAMING PROCESSOR.............................................................................................................................. 73
FIGURA 42 ESECUZIONE KERNEL SU G80/GT200 E GF110 .............................................................................................. 74
FIGURA 43 GESTIONE THREAD NELLE ARCHITETTURE CUDA............................................................................................... 75
Indice delle figure                    8


FIGURA 44 OPS PER CLOCK PER LE ISTRUZIONI ESEGUIBILI DA UNO SM ................................................................................. 75
FIGURA 45 DISTRIBUZIONE DELLE ISTRUZIONI ALL'INTERNO DI UNO SM................................................................................ 76
FIGURA 46 CUDA CORE ............................................................................................................................................. 77
FIGURA 47 FMA VS MAD .......................................................................................................................................... 78
FIGURA 48 ARCHITETTURA MODELLO DI PROGRAMMAZIONE CUDA.................................................................................... 79
FIGURA 49 CAPACITÀ DI CALCOLO CUDA....................................................................................................................... 81
FIGURA 50 COMPUTE CAPABILITY FEATURE CUDA........................................................................................................... 81
FIGURA 51 BLOCCHI DI THREAD .................................................................................................................................... 83
FIGURA 52 GERARCHIA MEMORIA ................................................................................................................................ 84
FIGURA 53 CALIBRATURA DOG ................................................................................................................................... 92
FIGURA 54 PERCENTUALE DI REGIONI D'INTERESSE SCARTATE NELLA FASE DI ADDESTRAMENTO DELLA MACCHINA A VETTORI DI
     SUPPORTO ....................................................................................................................................................... 93
FIGURA 55 NUMERO DI COEFFICIENTI SELEZIONATI PER LA DCT .......................................................................................... 93
FIGURA 56 KERNEL POLINOMIALE ................................................................................................................................. 94
FIGURA 57 CURVA ROC KERNEL POLINOMIALE CON SHAPEINTENSITY .................................................................................. 95
FIGURA 58 KERNEL RBF ............................................................................................................................................. 95
FIGURA 59 CURVA ROC PER KERNEL RBF CON FEATURE FAFMT ....................................................................................... 96
FIGURA 60 KERNEL SIGMOIDALE ................................................................................................................................... 97
FIGURA 61 CURVA ROC PER KERNEL SIGMOIDALE CON SHAPEINTENSITY .............................................................................. 97
FIGURA 62 MIGLIORI FEATURE E KERNEL ........................................................................................................................ 98
FIGURA 63 VALUTAZIONE DEL CONTEGGIO ..................................................................................................................... 98
FIGURA 64 INCREMENTO PRESTAZIONALE SU GPU......................................................................................................... 100
FIGURA 65 QUADRATO INDICIZZATO ........................................................................................................................... 106
FIGURA 66 VERTEX INDEX BUFFER .............................................................................................................................. 106
FIGURA 67 PRIMITIVE .............................................................................................................................................. 107
FIGURA 68 PRIMITIVA PATCH ..................................................................................................................................... 107
FIGURA 69 PIPELINE GRAFICA DIRECTX 9.0C ................................................................................................................ 108
FIGURA 70 WORKLOAD DEGLI SHADER DEDICATI............................................................................................................ 108
FIGURA 71 PIPELINE GRAFICA DIRECTX 10 ................................................................................................................... 109
FIGURA 72 PATCH PER LA TESSELLATOR UNIT ................................................................................................................ 110
FIGURA 73 TESSELLATION REGOLARE ........................................................................................................................... 111
FIGURA 74 TESSELLATION SEMI-REGOLARE ................................................................................................................... 111
FIGURA 75 FIGURA INIZIALE PER L'EDGE FACTOR DELLA TESSELLATION ................................................................................ 111
FIGURA 76 RISULTATO DELL'EDGE FACTOR PER LA TESSELLATION ....................................................................................... 111
FIGURA 77 PIPELINE GRAFICA DIRECTX 11 ................................................................................................................... 112
FIGURA 78 SCHEMA A BLOCCHI INPUT ASSEMBLER, VERTEX SHADER, HULL SHADER, TESSELLATOR ......................................... 113
FIGURA 79 SECONDO PARTE DELLA PIPELINE GPU CON TESSELLATOR................................................................................. 114
FIGURA 80 SPAZI IN UNA SCENA 3D ............................................................................................................................ 115
FIGURA 81 COORDINATE NEL WORLD SPACE................................................................................................................. 116
FIGURA 82 VIEW FRUSTRUM ..................................................................................................................................... 116
FIGURA 83 PROIEZIONE DEGLI OGGETTI DAL CLIPPING SPACE AL CUBO ................................................................................ 117
FIGURA 84 POLYMORPH ENGINE ............................................................................................................................... 118
FIGURA 85 RASTER ENGINE ....................................................................................................................................... 119
Ringraziamenti     9




Ringraziamenti
Uno speciale ringraziamento ad Felice Andrea Pellegrino e Walter Vanzella che mi hanno
consigliato e guidato durante il periodo di tirocinio e tesi presso la Glance Vision
Technologies Srl; mi hanno fatto apprezzare il ramo informatico dedicato all’image
processing.

Un grande grazie a Jack.

Ultimo, ma non per questo meno importante, un sentito ringraziamento agli amici e ai
parenti che mi hanno dato sostegno quando ne ho avuto bisogno.
Introduzione       10




   1. Introduzione
   1.1.    Obbiettivi del progetto
Il progetto di questa tesi è stato sviluppato presso la Glance Vision Technologies Srl
http://www.gvt.it/; questo lavoro deriva dall’osservazione che presso la SISSA (Scuola
Internazionale Superiore Di Studi Avanzati di Trieste) gli esperti di classificazione cellulare
svolgevano in modo manuale la ricerca dei nuclei di neuroni in immagini di microscopia a
fluorescenza. L’obbiettivo che ci si prefigge è quello di automatizzare tale analisi con
conseguente raggiungimento dei seguenti benefici:

      Riduzione del tempo richiesto per portare a termine le indagini;
      L’esperto può concentrarsi esclusivamente sull’analisi dei risultati forniti
       dall’algoritmo senza dover selezionare manualmente le regioni d’interesse valide (i
       set d’immagini possono avere da 500 a 5000 regioni d’interesse valide);
      L’algoritmo genera automaticamente le regioni d’interesse classificate che possono
       essere usate successivamente per eseguire altre analisi (tipicamente in ambito
       statistico);
      Oggettività dei criteri e la conseguente ripetibilità dei risultati che non dipende da chi
       svolge l’analisi.

Tutte le immagini da esaminare sono ottenute tramite la microscopia a fluorescenza che
riveste un ruolo fondamentale nell’analisi di culture cellulari. Infatti, è in grado di mettere in
risalto aspetti salienti delle cellule come la localizzazione di DNA, RNA, mitocondri e nuclei.
Le analisi di questo tipo d’immagini sono fondamentali per studiare patologie, verificare
l’evoluzione nel tempo di una malattia, analisi statistiche sulla popolazione cellulare ecc.

La strategia di fondo seguita nell’algoritmo è:

      Eseguire un’analisi preliminare delle immagini per eliminare l’illuminazione non
       uniforme;
      Individuare le regioni d’interesse (ROI);
      Rappresentare ogni ROI con opportuni descrittori (detti feature);
      Usare un algoritmo d’apprendimento per affrontare il problema di
       addestramento/classificazione delle ROI (rappresentate dalle corrispondenti
       feature).

Nei seguenti capitoli si affrontano diverse tematiche che riguardano la classificazione binaria
delle ROI, in particolare:

      Nel secondo capitolo si descrive la procedura seguita per rendere le immagini più
       robuste alla luminosità non uniforme la quale può compromettere le prestazioni
Introduzione       11


       dell’algoritmo in addestramento/classificazione. Successivamente si descrive
       l’approccio seguito per l’estrazione delle regioni d’interesse;
      Il terzo è dedicato alla rappresentazione delle ROI tramite opportuni descrittori detti
       feature e si descrivono le tecniche per garantire l’invarianza per rotazione, invarianza
       per traslazione e varianza per scala;
      Il quarto descrive l’algoritmo d’apprendimento ossia la macchina a vettori di
       supporto;
      Nel quinto capitolo si presenta la descrizione delle curve ROC (Receiver Operating
       Characteristic) per la caratterizzazione statistica dei risultati in classificazione binaria.
       La scelta dei parametri dell’algoritmo e la valutazione delle prestazioni del medesimo
       sono effettuate in base all’analisi delle curve ROC;
      Il sesto tratta l’architettura NVIDIA CUDA impiegata per accelerare alcune
       elaborazioni su GPU;
      Il settimo presenta i risultati ottenuti;
      L’ottavo riguarda le conclusioni;
      Infine, l’appendice A descrive argomenti supplementari riguardanti l’elaborazione su
       GPU, B illustra quali sono i passi da seguire per sviluppare in Visual Studio 2010 le
       mex e i CUDA Kernel, C descrive i parametri della libreria libsvm.

   1.2.    L’algoritmo
Per sviluppare l’algoritmo si è scelto di usare l’ambiente MATLAB dato che mette a
disposizione una serie di strumenti che semplificano l’implementazione e quindi riducono il
tempo di sviluppo; il linguaggio MATLAB è interpretato e questo comporta lo svantaggio che
la velocità di elaborazione non è elevata. Per superare parzialmente questo inconveniente,
che influenza notevolmente il tempo totale di elaborazione, si è deciso di riscrivere una
parte della macchina a vettori di supporto con OpenMP in C/C++ (accelera l’elaborazione su
CPU multicore) e una parte degli script MATLAB in CUDA C sfruttando la programmazione
ibrida (CPU/GPU). E’ importante osservare che il wrapping fatto tramite le mex per eseguire
l’elaborazione in CUDA introduce overhead non eliminabile; in particolare la velocità di
trasferimento dei dati tra CPU e GPU è dimezzata rispetto a quanto sarebbe stato possibile
ottenere dato che le variabili nello spazio di lavoro MATLAB non sono memorizzate nella
pinned memory. Le mex sono funzioni richiamabile dall’ambiente MATLAB sviluppate in
linguaggio C/C++.

L’intero algoritmo è strutturato in modo che l’utente debba inserire solo un numero ridotto
di parametri.

   1.3.    Microscopia a fluorescenza
L’intero lavoro si basa sull’elaborazione d’immagini di microscopia a fluorescenza; queste
sono ottenute impiegando un microscopio a fluorescenza tipicamente usato nei laboratori
di biologia per analizzare campioni organici sfruttando i fenomeni della fluorescenza e
Introduzione     12


fosforescenza. D’ora in poi si considera soltanto il caso in cui si vogliono evidenziare i nuclei
cellulari di neuroni che è la situazione trattata in questo progetto.

Le procedure per ottenere le immagini consistono nel marcare i campioni d’interesse con
molecole fluorescenti, ossia il fluorocromo, e successivamente il tutto è illuminato con un
fascio di luce a una specifica lunghezza d’onda; il fascio luminoso è assorbito dal
fluorocromo che provoca l’emissione di luce a lunghezza d’onda maggiore e questo
permette di generare un colore diverso da quello della luce assorbita. Tramite un filtro si
separano i due tipi di luce e si considera soltanto quella generata dal fluorocromo; una tipica
immagine ottenuta con questa tecnica è riportata di seguito.




                        Figura 1 Immagine campione di microscopia a fluorescenza

Su immagini come quella di sopra, gli esperti di classificazione eseguono delle analisi per
separare i nuclei delle cellule da altri corpi estranei; di seguito si riporta una tipica
classificazione manuale.
Introduzione   13




                          Figura 2 Classificazione manuale da parte di un esperto




                   Figura 3 Zoom in una regione classificata manualmente da un esperto

I punti d’interesse inseriti dall’esperto marcano le regioni d’interesse valide, le ROI non
segnate sono da considerarsi come non valide.
Regioni d’interesse      14




   2. Regioni d’interesse
   2.1.    Introduzione
L’estrazione delle regioni d’interesse presenti in un’immagine è il primo problema da
affrontare; le regioni d’interesse (ROI) sono porzioni rilevanti dell’immagine che possono
contenere i nuclei cellulari da identificare. Lo scopo è di generare una ROI per ogni oggetto
che può rappresentare un nucleo cellulare.

   2.2.    Normalizzazione delle immagini
Prima di poter elaborare un’immagine di microscopia a fluorescenza è necessario eseguire
una normalizzazione della stessa per renderla visibile a un operatore umano e al tempo
stesso ridurre l’influenza della variazione di luminosità che può compromettere l’estrazione
delle regioni d’interesse.

La luminosità non uniforme ha i seguenti effetti indesiderati:

      C’è la possibilità che una porzione dello sfondo sia estratta come ROI quando in
       realtà questa non dà alcun contributo informativo per individuare i nuclei delle
       cellule;
      Compromette la reale distribuzione dell’intensità del potenziale nucleo.

Il primo passo quindi consiste nell’eseguire la normalizzazione dell’immagine da elaborare
tra zero e uno. Il risultato è riportato in figura.




                                  Figura 4 Immagine normalizzata

Dall’immagine in tonalità di grigio non si riesce ad apprezzare completamente la variazione
di luminosità; se si usa una rappresentazione in cui l’intensità segue il seguente schema di
colori (dove l’intensità più bassa è posta a sinistra e quella più alta a destra)
Regioni d’interesse   15




                                  Figura 5 Rappresentazione a colori

si ottiene




                               Figura 6 Variazione di luminosità a colori

Da questa è possibile notare che la luminosità non è uniforme nell’immagine ed ha la
tendenza a essere più intensa nell’angolo in basso a destra. Per rendere l’immagine a
luminosità uniforme si dovrebbe avere a disposizione un’immagine con solo sfondo
(ottenuta nelle stesse condizioni di quella da analizzare) e combinarla con quella avente le
cellule tramite la seguente formula




dove         è l’immagine con le cellule,          è l’immagine con solo sfondo (chiamata
anche immagine flatted) e           è l’immagine con luminosità uniforme. Il problema è che
         non è disponibile direttamente e quindi è necessario ricavarla dall’immagine iniziale
estraendo solo lo sfondo; per fare questo si è deciso di sfruttare un filtro che fa la media
dato che è semplice da implementare e se la finestra di applicazione del filtro non è troppo
ampia si eseguono i calcoli velocemente. Si è scelta come dimensione della finestra di
filtraggio una abbastanza ampia da cancellare le cellule dall’immagine e allo stesso tempo
abbastanza ridotta da fare i calcoli velocemente; il risultato dell’estrazione dell’immagine
         da        nell’esempio considerato è
Regioni d’interesse      16




                                      Figura 7 Immagine flatted

Da questa si nota in dettaglio la distribuzione della luminosità. Da osservare che prima
dell’applicazione del filtro si applica del padding verticale e orizzontale in modo da evitare in
prossimità dei bordi dell’immagine che la media sia fatta con dei pixel zero (che stanno fuori
dai bordi); successivamente si esegue un ritaglio in modo da estrarre la parte senza padding.
A questo punto si ha a disposizione un’immagine con distribuzione uniforme della
luminosità; si può inoltre notare che in tutte le immagini a disposizione, il 50% + 1 dei pixel è
sfondo, quindi è possibile sfruttare la mediana per cancellare quasi completamente il
rumore presente sullo sfondo con le seguenti operazioni eseguite in sequenza:




dove     è la mediana di             e                è l’immagine normalizzata a luminosità
uniforme dopo la sottrazione con la mediana.

Il risultato finale è riportato di seguito, da cui si può notare che l’effetto della luminosità è
stato completamente cancellato.
Regioni d’interesse   17




             Figura 8 Normalizzazione che sfrutta la mediana su immagine con luminosità uniforme

Con questa procedura si ha che le immagini sono sempre rappresentate tra zero e uno e i
pixel risentono meno l’influenza della luminosità non uniforme che può essere diversa tra le
immagini; in questo modo le ROI e quindi le feature possono essere calcolate in condizioni
pressoché identiche tra un’immagine e l’altra.

Altra osservazione da fare è che nelle immagini spesso si presenta la situazione in cui alcuni
blob, gli agglomerati di pixel che formano un oggetto da analizzare, sono a contatto con i
bordi dell’immagine e risultano “tagliati”; per evitare di compromettere il comportamento
dell’algoritmo d’apprendimento si è deciso di non considerare i blob vicini ai bordi, il che è
anche una strategia tipica utilizzata nella classificazione manuale delle cellule.
Regioni d’interesse      18



    2.3.    Estrazione dei punti d’interesse
Dopo aver normalizzato l’immagine e aver eliminato gli effetti della luminosità non uniforme
è necessario procedere all’individuazione delle regioni d’interesse; si può notare che gli
oggetti presenti nelle immagini sono per lo più ovali e tipicamente l’intensità è concentrata
al centro dei medesimi, per questo motivo si è fatta la scelta di sfruttare una tecnica basata
sul Laplaciano per individuare i punti in cui si hanno le maggiori variazioni d’intensità. Da
notare che in questo modo, oltre a mettere in risalto i centri dei potenziali nuclei, si
mettono in risalto anche i bordi degli oggetti che devono essere cancellati. Una volta che i
punti d’interesse sono a disposizione, l’algoritmo li sfrutta come seme per costruire le
regioni d’interesse.

Di solito nell’ambito dell’image processing, per applicare il Laplaciano a un’immagine, si usa
una delle due seguenti tecniche:

       LOG (Laplacian of Gaussian);
       DOG (Difference of Gaussian).

La tecnica impiegata per applicare il laplaciano in questo lavoro si basa sulla DOG dato che
dal punto di vista computazionale è più veloce e semplice da implementare rispetto alla LOG
di cui è una buona approssimazione. Come si vedrà successivamente, entrambe le tecniche
richiedono l’uso di filtri gaussiani; prima di procedere con la trattazione è necessario
descrivere quest’ultimo filtro.

Un filtro gaussiano monodimensionale con deviazione standard         e media nulla si ottiene
dalla seguente funzione




Siccome questa non si annulla con in                   , il supporto del filtro è teoricamente
infinito. Però per valori di fuori da             , la funzione può essere considerata nulla
dato che il 99.7% dell’area sottesa della gaussiana risiede nell’intervallo suddetto.

Di seguito si riporta il profilo del filtro con   .
Regioni d’interesse   19




                      Figura 9 Funzione gaussiana monodimensionale con media nulla

Nel caso bidimensionale si ha che il kernel del filtro con deviazione standard              è




dove e rappresentano le coordinate; come nel caso precedente si ha che il 99.7% del
contributo è dato per e nell’intervallo              . La finestra del kernel gaussiano
bidimensionale può quindi essere approssimata tramite una finestra quadrata di dimensioni
   x ; questo filtro è di tipo passa basso.

       Di seguito si rappresenta la distribuzione nello spazio con                   e media nulla:
Regioni d’interesse     20


                          Figura 10 Funzione gaussiana bidimensionale centrata

Tornando al filtro LOG si ha che




dove con           s’indica la funzione che rappresenta un’immagine continua, il laplaciano
e         il risultato del filtraggio che si può calcolare tramite la convoluzione; poiché
l’immagine è rappresentata da un insieme discreto di pixel, è necessario individuare un
kernel che approssimi la derivata seconda nella definizione del laplaciano. Due tipici kernel
    approssimati sono riportati di seguito (il primo per intorni 4-connessi e il secondo per 8-
connessi):




L’inconveniente nell’usare la convoluzione dell’immagine con uno di questi due filtri
approssimati consiste nel fatto che sono molto sensibili al rumore (alte frequenze); per
attenuarlo, si filtra l’immagine con un filtro gaussiano. L’operazione di convoluzione è
associativa, quindi è possibile costruire prima un filtro ibrido dato dalla combinazione di
quello gaussiano con quello laplaciano e successivamente convolvere questo con
l’immagine. Tutto ciò porta a due vantaggi:

      Siccome i kernel del filtro gaussiano e laplaciano sono molto più piccoli
       dell’immagine da considerare, questo metodo richiede poche operazioni
       aritmetiche;
      Si può precalcolare il kernel e quindi fare solo la convoluzione durante
       l’elaborazione.

La funzione 2-D LOG centrata nello zero con deviazione standard                  della gaussiana è data da




Il secondo filtro che si presenta sfrutta il kernel della DOG che è dato da
Regioni d’interesse   21


dove < sono rispettivamente le deviazioni standard della prima e seconda gaussiana.
La DOG quindi consiste nel fare la differenza tra due immagini ottenute dal filtraggio
gaussiano delle medesima ma con deviazioni standard differenti; il filtro gaussiano con
deviazione standard maggiore ha un effetto di filtraggio più accentuato.

I vantaggi del filtraggio DOG su quello di tipo LOG sono:

      Semplicità d’implementazione;
      Velocità di computazione maggiore (il kernel del filtro gaussiano 2D è separabile,
       quindi il kernel della DOG può essere calcolato come il contributo di due kernel
       gaussiani separabili);
      Buona approssimazione della LOG con                   .

Per i vantaggi elencati, si è deciso di impiegare il filtro DOG in luogo di LOG.

L’algoritmo, una volta a disposizione l’immagine normalizzata con luminosità non uniforme
cancellata, applica la DOG; a questo punto si passa alla ricerca dei massimi locali. Si
riportano il risultato del filtraggio e relativa ricerca dei massimi.




                                       Figura 11 Filtraggio DOG
Regioni d’interesse      22




                                 Figura 12 Ricerca dei massimi locali

Si può notare che in questo caso ci sono tanti punti d’interesse vicini generati in
corrispondenza delle zone poche “stabili”, cioè lì dove ci sono delle continue variazioni
d’intensità (anche se d’entità molto ridotta) causa rumore residuo. Siccome ci sono delle
zone in cui i punti d’interesse sono molto vicini fra loro (le aree nere), queste vanno a
compromettere l’estrazione delle ROI (si rischia di generare tantissime ROI vuote causa il
filtraggio circolare che sarà descritto durante la fase di estrazione delle medesime) oltre che
a ridurre di molto la velocità di elaborazione complessiva delle successive fasi. Per evitare
questi effetti indesiderati si può quindi applicare all’immagine filtrata con la DOG una
sogliatura globale in modo da cancellare queste zone. Per sogliatura globale s’intende
l’individuazione di un valore d’intensità in modo tale che tutti i pixel sotto a questo siano
considerati sfondo (e quindi è possibile porli a zero). Esistono diverse tecniche di sogliatura
in letteratura, molte delle quali si basano sull’analisi dell’istogramma di un’immagine; i
vantaggi principali di questi approcci consistono nella semplicità d’implementazione
dell’algoritmo ed efficienza computazionale. Ci sono però degli svantaggi da tenere in
considerazione che sono dovuti al fatto che il valore di soglia dipende da:

      Distanza tra i picchi nell’istogramma;
      Rumore nell’immagine;
      Dimensione dei blob rispetto allo sfondo;
      Luminosità nell’immagine.

Da notare che queste dipendenze sono notevolmente ridotte in questa fase di ricerca dei
massimi locali, infatti:

      Il rumore è ridotto notevolmente grazie all’impiego del filtraggio DOG (che funge da
       filtro passa banda);
Regioni d’interesse       23



      Gli effetti della luminosità non uniforme sono stati eliminati durante la
       normalizzazione dell’immagine;
      Il 50% + 1 dei pixel sono sfondo quindi nell’istogramma è garantito che ci siano due
       picchi distanti (uno relativo allo sfondo e uno all’intensità delle cellule che in questa
       fase, dopo il filtraggio con DOG, hanno intensità pressoché identica e uniforme).

Da tutto ciò si deduce che la sogliatura globale in questo contesto è un buon approccio per
ridurre la generazione di punti d’interesse indesiderati.

Ci sono molti ricercatori nell’ambito dell’elaborazione digitale d’immagini ad aver proposto
diverse procedure per eseguire la sogliatura, una delle più usate prende il nome di
sogliatura di Otsu.

La sogliatura di Otsu si basa sul metodo del discriminante; i pixel dell’immagine sono
associati a due classi differenti: e ;                                                     dove
rappresenta il livello di sogliatura, valore in tonalità di grigio e il numero di livelli di grigio
nell’immagine considerata. L’algoritmo valuta le varianze delle due classi e quella totale, la
soglia ottima è scelta massimizzando la varianza inter-classe. Per utilizzare questa tecnica in
modo efficiente è necessario che sia soddisfatta l’ipotesi in cui l’istogramma contiene due
mode dominanti; in questo caso il valore di soglia è quello che separa le due mode.

Si consideri un’immagine di dimensioni         con livelli d’intensità in tonalità di grigio e
con il numero totale di pixel di livello i-esimo, allora l’istogramma normalizzato ha come
componenti




Si seleziona una soglia            con                  e si definiscono due classi:

          con tutti i pixel d’intensità tra e ;
          con tutti i pixel d’intensità tra     e       .

La probabilità di assegnamento di un pixel alla classe       è pari a




mentre per la classe




Il valore medio d’intensità dei pixel che appartengono a        è
Regioni d’interesse     24




invece per la classe




La media cumulativa di livello k è pari a




mentre la media sull’immagine è




Per valutare la bontà della soglia si sfrutta la seguente formula




dove      rappresenta la varianza globale dei pixel dell’immagine




e      la varianza inter-classe




Più distanti sono le due medie e più la varianza inter-classe è elevata, la soglia   è quella
che massimizza questa varianza; si ha



L’inconveniente di questo sogliatura è che ha la tendenza a generare una soglia troppo
aggressiva, nel senso che la soglia è in genere troppo alta in questo contesto e ciò comporta
la cancellazione di pixel che invece potrebbero dare un contributo informativo per la
generazione di punti d’interesse in prossimità di oggetti che potrebbero essere nuclei
cellulari. Per risolvere questo inconveniente è possibile usare un’altra sogliatura globale
ossia quella proposta da Ridler e Calvard che permette di calcolare un valore di soglia più
Regioni d’interesse   25


conservativo e quindi di considerare più blob. Questa procedura sfrutta il metodo di Otsu
per calcolare una soglia iniziale e successivamente in modo iterativo individua la media
sopra e sotto tale soglia; la nuova soglia è individuata come la media delle due medie
calcolate precedentemente. Il procedimento continua fino a quando la differenza tra la
nuova soglia e quella al passo precedente è inferiore a un valore prestabilito.

Di seguito si riporta il confronto tra i risultati della ricerca dei massimi locali dopo
l’applicazione della soglia di Otsu e Ridler Calvard.




                            Figura 13 Sogliatura di Otsu e Ridler Calvard
Regioni d’interesse   26




                         Figura 14 Sogliatura di Otsu e di Ridler Calvard su DOG




Da sopra si nota che conviene sfruttare la procedura di Ridler Calvard che garantisce una
soglia più conservativa rispetto a quella di Otsu e ciò comporta in genere risultati più
accurati, anche se questo ha l’inconveniente di non cancellare tutte le regioni indesiderate
afflitte da rumore. Da notare comunque che le zone affette da rumore non cancellate dopo
la sogliatura di Ridler Calvard sono in genere molto poche e quindi non compromettono la
ricerca dei nuclei cellulari infatti:

      Molto probabilmente le regioni indesiderate saranno cancellate dall’algoritmo
       durante la fase di estrazione delle ROI per garantire l’invarianza per rotazione (come
       sarà chiarito in seguito);
Regioni d’interesse      27



       Nel caso in cui le regioni indesiderate non fossero scartate dopo l’estrazione delle
        ROI, queste sarebbero comunque marcate come non valide durante l’addestramento
        della macchina a vettori di supporto senza compromettere la ricerca dei nuclei
        cellulari.

Per ottenere i punti d’interesse correttamente è necessario impostare opportunamente i
parametri della DOG; questi parametri sono fissi per ogni immagine, quello che può
accadere è che questi non vanno bene in certe situazioni e si può avere uno dei seguenti
scenari:

       I punti d’interesse generati sono troppo pochi;
       I punti d’interesse generati sono molti e sono troppo vicini fra loro (se sono troppo
        vicini, allora questo può compromettere l’estrazione delle ROI perché rischiano di
        essere vuote).

Per il primo caso, l’unico modo per risolvere il problema è di impostare altri valori per i
parametri della DOG in modo da aumentare il numero di punti d’interesse; questo non è
attuabile perché non è possibile sapere a priori quali siano i parametri ottimali senza aver a
disposizione la classificazione fatta da un esperto (non si può sfruttare una procedura
automatizzata). Per il secondo problema si è scelto di usare un algoritmo in grado di
localizzare le situazioni in cui i punti d’interesse sono troppo vicini; i parametri da impostare
sono raggio massimo e minimo che un intorno associato a un punto d’interesse può avere:

   1) Si associa a ogni punto d’interesse un intorno il cui raggio è la metà della distanza dal
      punto d’interesse più vicino, se viene superato il raggio massima allora è impostato a
      quest’ultimo valore;
   2) Per tutti gli intorni con raggio inferiore a quello minimo consentito, si procede come
      di seguito:
          a. Si seleziona l’intorno con raggio più piccolo e lo si marca come analizzato;
          b. I punti d’interesse che distano dal centro dell’intorno selezionato di un valore
              inferiore al doppio del raggio minimo consentito sono cancellati assieme ai
              relativi intorni associati;
          c. Si riparte da a. fino a quando tutti gli intorni sono stati analizzati.

Il raggio dell’intorno associato a ogni punto d’interesse è impiegato per rilevare la situazione
in cui i seed sono troppo vicini. Da notare che questa situazione indesiderata si verifica di
rado; questa procedura è in grado di migliorare un po’ l’estrazione delle ROI nella
condizione suddetta. Ad esempio, forzando l’algoritmo a operare con parametri che si
scostano da quelli ottimali (per simulare la situazione descritta sopra), si ottiene (a sinistra
senza l’ottimizzazione e a destra con l’algoritmo descritto):
Regioni d’interesse   28




             Figura 15 Correzione nella generazione dei punti d’interesse in condizioni non ottimali

   2.4.   Ricerca dei parametri per il filtro DOG
Uno degli aspetti più importanti per usare correttamente la DOG riguarda l’impostazione dei
parametri del filtro DOG ossia le deviazioni standard delle due gaussiane




un’impostazione errata può compromettere drasticamente l’estrazione delle regioni
d’interesse. La procedura seguita fa riferimento a com’è stata fatta la classificazione
manuale da parte di un esperto:

   1) Imposta una coppia di deviazioni standard da un insieme prestabilito in modo che
               ;
   2) Genera i punti d’interesse per tutte le immagini classificate manualmente
      dall’esperto;
   3) In ogni immagine classificata manualmente dall’esperto ci sono dei marcatori che
      rappresentano i centri dei nuclei, questi sono usati per costruire un intorno in modo
      che il diametro massimo sia pari a quello impostato dall’utente (scelto a priori). Nel
      caso di sovrapposizioni tra intorni si ha che il diametro di questi è pari alla distanza
      dal centro dell’intorno più vicino (si può osservare che i nuclei sono ovali, quindi
      risulta ragionevole considerare intorni di forma circolare);
   4) Per ogni intorno costruito si verifica quanti punti d’interesse generati dalla DOG sono
      situati all’interno di questo. Si calcolano tre quantità che saranno usate
      successivamente per stabilire quali sono i parametri migliori:
          a. Validi. Numero di marcatori che hanno nell’intorno un solo punto d’interesse
               generato dalla DOG;
          b. Sovrannumero. Numero di marcatori che hanno nell’intorno più di un punto
               d’interesse;
          c. Sovra raggio. Numero di marcatori che inizialmente avevano un intorno senza
               punti d’interesse ma aumentando il raggio del doppio c’è almeno un punto
               d’interesse nell’intorno (è ragionevole procedere in questo modo perché i
               marcatori inseriti dall’esperto possono essere posizionati anche sui bordi dei
               nuclei e quindi la distanza tra centro dell’intorno e punto d’interesse può
               essere maggiore del raggio dell’intorno iniziale);
Regioni d’interesse      29


   5) Si riparte dal passo uno fino a esaurire tutte le coppie di deviazioni standard a
      disposizione.

La coppia di deviazioni standard ottima è quella che massimizza la quantità data dalla
somma dei marcatori validi con quelli in sovra raggio, questa è un indice che descrive
quanto l’algoritmo si “avvicina” nella generazione dei punti d’interesse ai marcatori
dell’esperto. Non si prende in considerazione il sovrannumero nella ricerca dei parametri
migliori perché se la DOG generasse molti punti d’interesse, allora ci sarebbero tanti
marcatori individuati per sovrannumero (quindi non è un valore discriminante nella scelta
dei parametri).

   2.5.    Estrazione delle regioni d’interesse
I punti d’interesse generati servono come seme per la costruzione delle regioni d’interesse
(dette ROI, Region of Interest); queste sono tutte quelle porzioni dell’immagine in analisi che
potrebbero contenere uno o più nuclei cellulari. Lo scopo è quindi di creare delle regioni che
descrivono i dettagli degli oggetti senza compromettere il contenuto informativo (bordi,
distribuzione d’intensità ecc.).

La soluzione proposta si basa sulla segmentazione dell’immagine sfruttando i punti
d’interesse generati dalla DOG e successivamente si applica un filtraggio per cancellare gli
oggetti indesiderati all’interno delle ROI; si è fatta questa scelta perché porta il notevole
vantaggio di non compromettere il contenuto informativo e di sfruttare delle tecniche
ampiamente usate e testate nell’ambito dell’image processing.

Si converte l’immagine filtrata dalla DOG in binario.




                                Figura 16 Immagine binaria dalla DOG

Ora è necessario calcolare il negativo dell’immagine filtrata mediante la DOG e ogni pixel
associato a un punto d’interesse si pone a valore zero. La conversione al negativo serve per
Regioni d’interesse   30


applicare la procedura watershed (descritta successivamente) e l’impostazione dei pixel a
zero in corrispondenza dei punti d’interesse serve invece a garantire che i blob che saranno
generati saranno strettamente legati ai punti d’interesse.




               Figura 17 Filtraggio DOG al negativo con impostazione dei punti d'interesse a zero

A questo punto è possibile applicare la procedura watershed sull’immagine generata dal
passo precedente che è basata sul digital elevation model: i valori di un blocco di dati sono
interpretati come altitudini. Ai minimi locali si associano gli elementi dell’intorno che sono
collegati a essi da un percorso in discesa; s’individuano così i catchment basin separati da
linee chiamate watershed. Si simula il riempimento con acqua dei bacini catchment; la
crescita delle regioni nelle varie direzioni è arrestata quando più bacini si fondono. Per dare
una forma ai blob che seguono il profilo degli oggetti, è necessario moltiplicare il risultato
che si ottiene da questa procedura con l’immagine binaria calcolata in precedenza; a questo
punto si procede con l’assegnamento delle etichette ai blob ottenuti, si cancellano i blob in
prossimità dei bordi dell’immagine (dato che non devono essere considerati
nell’elaborazione) e quelli che non contengono nessun punto d’interesse.

Da notare che a ogni punto d’interesse è associato un blob grazie all’impostazione dei
relativi pixel a zero nell’immagine al negativo.
Regioni d’interesse   31




        Figura 18 Bacini watershed




Figura 19 Blob generati dai bacini watershed
Regioni d’interesse   32




                          Figura 20 Blob che contengono un punto d’interesse

L’utente deve impostare come parametro d’ingresso dell’algoritmo il diametro massimo che
una cellula può avere; questo è usato per estrarre regioni d’interesse quadrate centrate nei
relativi punti d’interesse, la ROI ha come lunghezza dei propri lati il diametro impostato. I
blob calcolati in precedenza servono per individuare i relativi centri di massa che sono
sfruttati per traslare il blob da analizzare nel centro della ROI. Questo passo serve per
rafforzare l’invarianza per traslazione durante il calcolo delle feature che è una delle
condizioni fondamentali da garantire per rappresentare opportunamente una ROI (il
discorso è ripreso nel capitolo relativo ai descrittori delle ROI).




                       Figura 21 Estrazione ROI con traslazione del centro di massa

Ora si cancellano eventuali oggetti indesiderati all’interno della ROI che possono
compromettere la fase di addestramento della macchina a vettori di supporto dato che si è
interessati ad analizzare un oggetto per volta; questa situazione si può presentare quando ci
sono oggetti vicini che hanno blob di diametro inferiore a quello impostato dall’utente. La
strategia impiegata consiste nel calcolare una matrice che ha le medesime dimensioni della
ROI che deve essere moltiplicata elemento per elemento con quest’ultima; questa matrice si
ottiene sfruttando la funzione sigmoidale come riportato di seguito:
Regioni d’interesse   33


Dove            è la matrice che deve essere moltiplicata elemento per elemento con i pixel
della ROI, è il raggio del blob associato alla ROI (si calcola come la metà dell’asse maggiore
dell’elisse che contiene il blob) e       è la distanza dal centro della ROI.




                          Figura 22 Filtraggio della ROI con funzione sigmoidale

E’ importante notare che in questo modo gran parte degli oggetti indesiderati all’interno
della ROI sono cancellati; non conviene sfruttare direttamente i blob individuati
precedentemente perché si rischia di compromettere la forma degli oggetti da analizzare. Il
principale svantaggio però è legato al fatto che in questo modo non sempre è possibile
cancellare con accuratezza i blob indesiderati, quindi la macchina a vettori di supporto dovrà
gestire le situazioni in cui le ROI contengono anche parti di oggetti indesiderati e non solo
quello effettivamente da analizzare.

   2.6.    Assegnazione delle ROI alla classe di appartenenza
Per l’addestramento della macchina a vettori di supporto è necessario stabilire quali ROI
devono essere considerate come positive e quali negative; è indispensabile avere a
disposizione il risultato di classificazione manuale di un esperto. Per stabilire la classe di
appartenenza di una ROI si sfruttano i blob associati a ogni regione e si verifica se il blob
contiene almeno un marcatore inserito dall’esperto di classificazione; nel caso sia presente
un marcatore, allora la ROI dovrà essere considerata come positiva, altrimenti negativa.
L’approccio considerato è migliore rispetto a quello basato sulla ricerca di marcatori
all’interno di un intorno centrato nei punti d’interesse perché ci sono varie situazioni in cui
questi punti sono molto distanti dai marcatori inseriti dagli esperti (ciò andrebbe a
compromettere l’associazione della ROI alla corretta classe di appartenenza). Invece, con
l’approccio basato sui blob, si prende in considerazione la forma degli oggetti e quindi si
aumenta la probabilità di individuare i marcatori inseriti dall’esperto; lo svantaggio è che se
l’esperto ha inserito i marcatori in prossimità dei bordi delle cellule allora questa soluzione
potrebbe non rilevare tali marcatori (di solito i marcatori sono posti nel centro delle cellule,
quindi il problema è quasi sempre trascurabile).
Feature      34




   3. Feature
   3.1.    Introduzione
Dopo aver descritto come si estraggono le regioni d’interesse, ora è necessario stabilire
come rappresentarle prima di inoltrarle all’algoritmo d’apprendimento Support Vector
Machine (SVM); la rappresentazione fa riferimento a dei descrittori che prendono il nome di
feature. Il problema da affrontare consiste quindi nell’individuare delle feature in grado di
descrivere in modo efficiente le regioni d’interesse; per efficienza s’intende che con un
numero ridotto di descrittori si è in grado di rappresentare le caratteristiche salienti degli
oggetti. Si può osservare che spesso gli oggetti che rappresentano nuclei cellulari sono di
forma ovale oppure hanno forme meno regolari e le texture degli oggetti non validi sono
abbastanza simili fra loro (dato che spesso rappresentano rumore o porzioni di cellule a
intensità pressoché uniforme); quindi, conviene usare dei descrittori in grado di mettere in
risalto le forme degli oggetti ma anche la loro texture interna.

Per costruire della feature con alto contenuto informativo per la SVM, cioè affinché questa
sia in grado di discriminare correttamente gli oggetti presenti nelle immagini, è necessario
garantire tre proprietà:

      Invarianza per traslazione, ossia la posizione dell’oggetto da analizzare all’interno di
       un’immagine non deve influenzare il calcolo delle feature;
      Invarianza per rotazione, cioè due oggetti uguali ma ruotati devono generare le
       medesime feature;
      Varianza per scala, le feature devono essere strettamente legate alla scala
       dell’oggetto.

Garantire le caratteristiche suddette è uno dei principali problemi da affrontare prima del
calcolo delle feature e dell’addestramento dell’algoritmo di apprendimento.

In questo lavoro si presentano come tipologie di feature ShapeIntensity, Zernike, DCT, FMT
(distinte in FAFMT e DAFMT).

   3.2.    Proprietà delle feature
L’invarianza per traslazione è garantita dalla fase di traslazione del centro di massa del blob
d’interesse nel centro della ROI come descritto nel capitolo precedente.

La varianza per scala dipende unicamente dal tipo di feature, quindi queste devono essere
scelte in modo da renderle dipendenti dalla scala degli oggetti da analizzare.

L’invarianza per rotazione la si può ottenere in quattro modi diversi:

      Ruotare le ROI e per ogni rotazione calcolare le feature da passare alla SVM;
      Agire direttamente sulle feature in modo che sia garantita questa proprietà;
Feature      35



      Ruotare i vettori di supporto della SVM;
      Rendere direttamente le ROI invarianti per rotazione.

La prima soluzione richiede di ruotare (per un numero finito di volte) tutte le ROI, calcolare
per ogni rotazione le relative feature e passarle alla SVM; l’inconveniente è che deve essere
la SVM ad “apprendere” che le ROI sono ruotate in base a quanto descritto dalle feature, ciò
non garantisce l’invarianza per rotazione in tutti le possibili situazioni (la macchina a vettori
di supporto può sbagliare nella classificazione). Altro inconveniente è che il tempo di
elaborazione richiesto è elevato dato che sono coinvolte molte operazioni.

La seconda soluzione non sempre è attuabile dato che dipende dalle formule impiegate per
calcolare le feature.

La soluzione basata sulla rotazione dei vettori di supporto ha l’inconveniente di complicare
l’elaborazione perché è necessario mantenere l’associazione tra vettori di supporto e
corrispondenti regioni d’interesse; altro svantaggio sta nel fatto che è necessario ruotare le
ROI e poi ricalcolare le feature, ma le rotazioni non possono essere continue (altrimenti si
avrebbero infiniti vettori di supporto che su calcolatore non è possibile rappresentare). Altro
svantaggio è che è necessario stabilire in modo empirico il numero di rotazioni da
impiegare.

La quarta soluzione è migliore rispetto alle altre perché rende direttamente le ROI invarianti
per rotazione; la soluzione che si propone si basa su una tecnica che sfrutta il gradiente sulle
regioni d’interesse da analizzare. In questo caso, prima di procedere al calcolo
dell’orientazione delle ROI, si applica un filtro gaussiano sulle ROI per ridurre il rumore. Sulle
ROI così ottenute si procede con il calcolo del gradiente




dove           è il gradiente della ROI       , è il versore lungo l’asse , è il versore
lungo l’asse ,          è la componente del gradiente lungo la direzione e         lungo
l’asse .

Per risalire all’orientazione della ROI si calcola il gradiente in corrispondenza del centro
dell’oggetto in analisi; per fare questo, s’individuano i valori dei centri di e .
Feature      36


dove          sono le coordinate del centro della ROI e quindi anche delle matrici            e
        . Sfruttando la funzione arcotangente si risale all’orientazione del centro della ROI e
quindi della ROI medesima




Ora facendo riferimento al piano cartesiano




                                     Figura 23 Piano cartesiano

e ai segni di            è possibile risalire alla posizione del vettore in uno dei quattro
quadranti; le possibili situazioni sono (gli angoli sono in gradi):

                 e     allora              ;
                 e     allora                  ;
                 e       allora            ;
             e       allora                          ;
             e       allora                          ;
             e       allora                          .

Nella fase di classificazione basta calcolare l’orientazione come descritto in precedenza e
ruotare la ROI in modo che l’angolo di rotazione sia
Feature      37


La condizione di sopra garantisce che tutte le ROI abbiano orientazione zero; calcolando le
feature sulle ROI così ottenute, si ha che queste sono invarianti per rotazione dato che le
ROI sono sempre a orientazione zero (due ROI iniziali uguali ma con orientazioni diverse
assumono la medesima orientazione dopo l’applicazione della procedura descritta sopra,
quindi le feature calcolate sono uguali).

Nel caso in cui le ROI debbano essere impiegate nella fase di addestramento della macchina
a vettori di supporto, conviene procedere in un altro modo ossia ridurre le ROI sulle quali
calcolare le feature. Infatti alcune feature non portano contenuto informativo che permetta
di definire al meglio il modello della SVM; queste ROI sono poco robuste alla rotazione causa
rumore o forme non regolari (oggetti piccoli dello sfondo), quindi si possono non
considerare nella definizione del modello della SVM (in fase di addestramento) e ciò porta ai
seguenti vantaggi:

      Migliore definizione del modello della macchina a vettori di supporto dato che si
       considerano esclusivamente feature molto robuste all’invarianza per rotazione;
      Si aumenta la velocità di addestramento della SVM dato che si elaborano meno ROI
       e quindi meno feature.

Una ROI poco robusta è individuata ruotandola di trentacinque volte di dieci gradi, per ogni
rotazione si verifica lo scostamento dell’orientazione da quella attesa; se lo scostamento
supera i cinque gradi allora la ROI viene scartata. Si è deciso di rendere molto ridotto il
margine per garantire una definizione accurata del modello della macchina a vettori di
supporto. Se la ROI risulta robusta allora si procede come descritto in precedenza, ossia si
esegue una rotazione della regione d’interesse in modo che l’orientazione sia di zero gradi
prima di calcolare le feature.

   3.3.    ShapeIntensity
La prima tipologia di feature che si presenta in questo lavoro serve per descrivere la forma
dei blob, la distribuzione dell’intensità e le informazioni sul profilo dell’istogramma; questi
descrittori non possono essere impiegati per ricostruire gli oggetti analizzati. La scelta di
testare questa tipologia di descrittore deriva dal fatto che permette di descrivere in modo
naturale le caratteristiche degli oggetti da analizzare.

Le feature che si calcolano per ogni oggetto da analizzare sono: area, asse maggiore, asse
minore, rapporto tra gli assi, intensità massima, intensità media, varianza, entropia, energia,
contrasto, correlazione, omogeneità, skewness e curtosi; quasi tutte le feature menzionate
appartengono ai descrittori di forma dell’istogramma del primo e secondo ordine. Oltre a
queste se ne sono aggiunte altre per migliorare le informazioni relative alla forma degli
oggetti (area, asse maggiore, asse minore, rapporto tra gli assi).

La distribuzione di probabilità del primo ordine di un’immagine quantizzata può essere
descritta da
Feature      38




dove rappresenta la quantizzazione del livello d’intensità                         e      è il
pixel considerato nell’immagine F di coordinate . La stima di              dell’istogramma del
primo ordine è




dove       rappresenta il numero totale di pixel nella finestra centrata nel punto d’interesse e
       il numero di pixel d’ampiezza .

Occorre osservare che la forma dell’istogramma permette di descrivere molte
caratteristiche e in questo caso le feature prendono il nome di descrittori quantitativi di
forma dell’istogramma del primo ordine:




Le feature dell’istogramma del secondo ordine sono basate sulla definizione della
distribuzione di probabilità congiunta di una coppia di pixel. Si considerano due pixel
e           di coordinate rispettivamente            e       posti a distanza con angolo
rispetto all’asse orizzontale; quindi la distribuzione congiunta è data da



dove        sono le ampiezze quantizzate. La stima della distribuzione del secondo ordine
dell’istogramma è data da
Feature      39


dove rappresenta il numero totale dei pixel nella finestra di misura e   il numero di
occorrenze per       = e            = . I descrittori di forma dell’istogramma del
secondo ordine sono:




Dove




Oltre a queste se ne sono aggiunte altre per migliorare le prestazioni di riconoscimento dei
nuclei cellulari, ossia il valore massimo d’intensità della cellula, asse maggiore e minore
dell’ellisse che contiene il blob considerato e il loro rapporto, area del blob ottenuta tramite
la segmentazione basata sulla sogliatura di Otsu.

   3.4.    Zernike
La trasformata di Zernike tipicamente si usa per l’analisi di oggetti di forma circolare di un
certo raggio, quindi in questo lavoro si presta bene alla generazione di descrittori.
L’inconveniente principale è che è necessario usare un numero molto elevato di feature
(molti coefficienti) per non perdere troppe informazioni riguardanti l’oggetto da descrivere;
ciò significa che è necessario presentare alla macchina a vettori di supporto vettori con
molti elementi (le feature) ma questo non implica necessariamente una migliore definizione
del modello della SVM.
Feature      40


Le funzioni di Zernike sono calcolate come il prodotto tra i polinomi di Zernike e le funzioni
trigonometriche coseno e seno:




Dove rappresenta il raggio e ө l’angolo, l’indice                   è chiamato grado della
funzione o del polinomio di Zernike, mentre                  con        pari ed è chiamato
ordine di Zernike. I polinomi sono espressi come:




Di seguito si riportano le prime dieci funzioni di Zernike tipiche che si utilizzano nelle
applicazioni pratiche:




Queste funzioni sono un’utile base per la decomposizione di funzioni complesse perché
sono ortogonali sul cerchio di raggio unitario. Utilizzando tale ortogonalità, una qualsiasi
funzione        definita sul cerchio, può essere espressa come somma delle mode di
Zernike (come nel caso delle funzioni coseno e seno nella trasformata di Fourier)




Se si rappresentano i dati in questo modo, è possibile descrivere deformazioni complesse in
termini di un numero ridotto di coefficienti associati alle mode dominanti di Zernike.
Feature   41


I coefficienti     (detti momenti di Zernike) possono essere calcolati dall’inversione
dell’equazione precedente se è nota la funzione    :




Il numero di coefficienti dipende dal grado del polinomio di Zernike e più questo è elevato
migliore è la rappresentazione dell’oggetto in analisi. Da notare che Zernike si può calcolare
solo all’interno di un cerchio, quindi l’oggetto da analizzare deve risiedere completamente
nel cerchio inscritto nella ROI di diametro pari alla lunghezza di un lato della ROI. Occorre
osservare che non si può aumentare il grado a un valore arbitrario dato che la velocità di
calcolo diminuisce notevolmente già da grado dieci in poi.

Di seguito si riporta un esempio di oggetto sul quale si calcola un certo numero di
coefficienti di Zernike e poi la relativa ricostruzione; rispettivamente i gradi del polinomio
sono dodici (novantuno feature), venti (duecento trentuno feature) e poi trenta
(quattrocento novantasei feature).




                       Figura 24 Ricostruzioni della ROI con diversi gradi per Zernike

Dalle immagini di sopra si può immediatamente notare che per rappresentare con dettaglio
elevato le caratteristiche dell’oggetto in questione sono necessari molti coefficienti; il
passaggio da grado dodici a venti non produce un miglioramento descrittivo significativo,
mentre con grado trenta si ha una buona descrizione ma il problema è che il tempo di
Feature      42


elaborazione richiesto è eccessivo dato che ci sono tantissime feature da calcolare
(quattrocentonovantasei).

   3.5.    Trasformata di Fourier-Mellin, AFMT, DAFMT e FAFMT
Un altro tipo di feature considerato in questo lavoro di tesi si basa sulla trasformata di
Fourier-Mellin (FMT); i principali problemi della FMT classica sono legati nell’accuratezza ed
efficienza della sua approssimazione numerica, il vantaggio è che è possibile avere una
rappresentazione accurata dell’oggetto anche con pochi coefficienti.

La trasformata di Fourier–Mellin di una funzione    continua è data da




e deve valere




dove          è la rappresentazione dell’immagine nel piano polare ( è il raggio e
l’angolo); questa è una trasformata globale che si applica su ogni pixel dell’immagine. Per
poterla calcolare è necessario definire il centro delle coordinate; l’inconveniente principale è
legato al calcolo dell’integrale nell’espressione di cui sopra, la FMT esiste per funzioni che
sono equivalenti a          nelle vicinanze dell’origine per costante e              . Occorre
osservare che la funzione di rappresentazione dell’immagine non necessariamente soddisfa
tale condizione dato che nelle vicinanze del centro dell’immagine (tipicamente corrisponde
al centro di “massa” dell’oggetto considerato) non assume valore zero; come conseguenza
   non è sommabile e l’integrale per il calcolo di          diverge. Altra osservazione da fare
è che la FMT è invariante per rotazione e scala di (cioè scala di ROI no dell’oggetto da
analizzare).

A causa della singolarità nell’origine delle coordinate, Ghorbel [17] ha proposto di calcolare
la FMT classica sulla funzione                          in luogo di        dove è fissato e
deve essere un numero reale strettamente positivo; in questo caso esiste sempre la
trasformata FMT e prende il nome di trasformata di Fourier–Mellin Analitica (AFMT) di . Di
seguito si riporta l’AFMT




dove       . L’anti trasformata IAFMT è data da:
Feature      43




Per                           , dove è l’angolo di rotazione e il fattore di scala rispetto a
 , si ha che i due oggetti   e hanno la stessa forma quindi sono simili. L’AFMT di g è data
da




che si può anche riscrivere come



Si può osservare che l’AFMT può essere utilizzata per calcolare feature invarianti per
rotazione (basta considerare il modulo dell’AFMT); da notare che in questo lavoro è
costante dato che le feature sono calcolate sempre su finestre (ROI) della stessa
dimensione (nel caso in cui la finestra cambiasse dimensione allora la trasformata
dipenderebbe anche dal fattore    ).

Ora che si è definita l’AFMT e IAFMT per funzioni reali è necessario passare alla
rappresentazione discreta. Questa, però, non esiste direttamente e per ricavarla è
necessario stimare la trasformata diretta e inversa. L’invarianza in rotazione degli oggetti è
già gestita mediante la tecnica basata sul gradiente descritta all’inizio di questo capitolo, ma
è possibile rafforzare questa condizione considerando il modulo della trasformata;
l’inconveniente è che in questo modo si perde l’informazione sulla fase e di conseguenza
non è più possibile ricostruire l’oggetto iniziale a partire dalle feature (questo non è un
problema perché non è necessario fare la ricostruzione).

Per l’approssimazione discreta della trasformata AFMT si considera con
un’immagine discreta definita su una griglia rettangolare finita; non esiste fuori dal piano
2D, la sua AFMT non è a banda limitata e richiede un numero infinito di armoniche per
descrivere l’oggetto in questione. Su calcolatore è possibile rappresentare un numero finito
di armoniche e quindi si perde una parte dell’informazione iniziale. L’AFMT discreta a
estensione finita            è calcolata per              e             ; nel lavoro di Goh
[18] si suggerisce di utilizzare         . Per funzioni reali l’AFMT è simmetrica, quindi
indicando con la linea il complesso coniugato si ha:



D’ora in poi con          si denota la ricostruzione di  da un numero finito di
armoniche Fourier–Mellin; per la scelta di e non ci sono delle regole predefinite,
Feature       44


tipicamente si procede in modo empirico. Di seguito si descrivono le due approssimazioni
possibili considerate.

La prima approssimazione che si considera è quella diretta di AFMT (DAFMT) e consiste nel
campionare           nel piano discreto polare e stimare gli integrali di Fourier–Mellin. La
griglia polare di campionamento si costruisce dalle intersezioni tra cerchi concentrici di
raggi incrementati di un valore fissato e linee radiali generate dal centro dell’immagine. I
passi di campionamento angolari e radiali sono rispettivamente




dove rappresenta il raggio minimo del disco che è in grado di contenere l’oggetto. I punti
di campionamento quando non corrispondono alla griglia dei pixel dell’immagine sono
calcolati per interpolazione; la rappresentazione polare dell’immagine è una matrice     i
cui valori corrispondono a



dove           e          sono rispettivamente il raggio d’indice e cerchio d’indice             .
Un esempio di campionamento in coordinate polari è riportato di seguito.




                           Figura 25 Campionamento con coordinate polari

La trasformata diretta DAFMT                                      è




con




La trasformata inversa della DAFMT                                         è data da
Feature      45




con




La seconda approssimazione possibile consiste nel cambiare la variabile d’integrazione da r a
q = ln(r), quindi si può riscrivere il tutto come la trasformata di Fourier dell’oggetto
deformato             . Questa trasformata prende il nome di trasformata veloce FMT
(FAFMT) ed è data da




con




La FAFMT consiste nel campionare la          nel piano log-polar e stimare Fourier-Mellin; la
conversione numerica da coordinate cartesiane in log-polar avviene come nel caso
precedente eccetto che i cerchi in questo caso sono separati esponenzialmente.

Un esempio di campionamento con log-polar è riportato di seguito.




                          Figura 26 Campionamento con coordinate log-polar

Per calcolare l’AFMT con questo tipo d’approssimazione si utilizza la trasformata discreta 2D
con coordinate log–polar                             :
Feature      46


La trasformata inversa                                       è data da




   3.6.    Trasformata DCT
La trasformata DCT (Discrete Cosine Transform) è tipicamente utilizzata nelle elaborazioni
delle immagini e video; la procedura di calcolo delle feature basata sulla DCT consiste nel
calcolare la DCT direttamente sulla ROI da analizzare e poi selezionare i coefficienti (le
feature) da considerare.

Se con         s’indica il valore in posizione        del pixel nell’immagine di dimensione
     e con           il coefficiente DCT della matrice delle frequenze allora sia ha:




Per l’anti trasformata:




La DCT permette di passare da una rappresentazione nel dominio spaziale a quello della
frequenza. L’elemento       è il valore massimo presente nel blocco trasformato (è la
componente continua), gli altri elementi dicono quanto potere spettrale è presente. Le
componenti a bassa frequenza rendono conto dell’andamento generale della luminosità
nell’immagine, mentre quelle ad alta frequenza codificano i dettagli e il rumore.

Per stabilire il numero di coefficienti da usare come feature è conveniente fare un’analisi
preliminare di tutte le ROI in cui si calcolano le energie dei singoli coefficienti della DCT; a
questo punto è possibile individuare l’energia media complessiva delle ROI e selezionare il
numero di coefficienti in modo che la somma delle energie di questi dia come valore quello
più vicino (per eccesso) a una soglia prestabilita dall’utente.

Di seguito si riporta un esempio dell’andamento dell’energia di una ROI, si può notare che la
DCT ha la tendenza a concentrare l’energia nei coefficienti in alto a sinistra.
Feature   47




                                     Figura 27 Energia della DCT

Si riporta un esempio di ricostruzione della ROI con una finestra dodici
(centoquarantaquattro feature), quindici (duecentoventi cinque feature), venti
(quattrocento feature) e trenta (novecento feature). Si può notare che dopo una finestra
quindici, il miglioramento nella ricostruzione della ROI è minimo.




                        Figura 28 Ricostruzione di una ROI dai coefficienti DCT
Macchina a vettori di supporto       48




   4. Macchina a vettori di supporto
   4.1.    Introduzione
Dopo aver rappresentato opportunamente le ROI tramite le feature, è necessario procede
con la classificazione delle medesime; per far questo si usa un opportuno algoritmo
d’apprendimento che dopo l’addestramento sia in grado di eseguire nel miglior modo
possibile tale classificazione. Gli algoritmi d’apprendimento stanno rivestendo un ruolo
sempre più importante in tutti quei campi in cui è necessario risolvere un problema di
classificazione:

      Binario, ossia ci sono solo due possibili risposte;
      Multi-classe cioè l’algoritmo è in grado di fornire più di due risposte.

Allo stato attuale esistono vari classificatori binari ma si è deciso di impiegare la macchina a
vettori di supporto (questa è implementata dalla libreria open source libsvm); si è deciso di
sfruttare la SVM (Support Vector Machine) per i seguenti motivi:

      Possibilità di risolvere problemi di classificazione generali con tecniche di
       programmazione quadratica o lineare ben note;
      Costo computazionale ridotto e nessun problema di convergenza. Le reti neurali a
       singolo strato sono molto efficienti ma si possono impiegare nel caso in cui i dati
       sono linearmente separabili. Le reti multistrato possono rappresentare funzioni non
       lineari ma l’addestramento è complesso, inoltre le tecniche più diffuse permettono
       di ottenere i pesi della rete tramite la risoluzione a un problema di ottimizzazione
       che però presenta un numero indeterminato di minimi locali;
      Compatta l’informazione contenuta nel data set d’input tramite i vettori di supporto;
      Gestisce dati con molte caratteristiche descrittive;
      La complessità del classificatore è legata ai vettori di supporto e non alla dimensione
       dello spazio delle feature. Questo comporta ridotto overfitting, ossia dopo che la
       macchina è stata addestrata sul training set e l’errore minimizzato, questa tende ad
       associare ai nuovi dati in ingresso un errore ridotto ossia è addestrata anche per
       generalizzare le nuove situazioni che a essa si presentano.

Ultima osservazione è che la SVM è adatta per risolvere problemi binari, quindi in un
problema di classificazione multi-classe è necessario costruire una rete di macchine che
richiede una gestione dell’intera struttura; nel problema che questo lavoro si prefigge di
risolvere è possibile impiegare una singola macchina dato che la classificazione cellulare in
questo caso è binaria.

   4.2.    La macchina
L’algoritmo della SVM fa riferimento alla teoria di apprendimento statistico di Vapnik-
Chervonenkis (VC); questa teoria caratterizza le proprietà degli algoritmi di apprendimento
Macchina a vettori di supporto       49


che dopo l’addestramento sono in grado di generalizzare. Una SVM è un classificatore
binario che apprende il confine tra esempi appartenenti a due classi diverse. Gli esempi
d’input sono proiettati in uno spazio multidimensionale e l’algoritmo individua un iperpiano
di separazione in questo spazio in modo tale da massimizzare la distanza dagli esempi di
training più vicini (questa distanza prende il nome di margine).

Per descrivere il processo d’apprendimento è necessario introdurre un insieme di funzioni di
soglia




dove è un insieme di parametri reali che definiscono la macchina, le funzioni si
chiamano ipotesi e l’insieme                   è lo spazio delle ipotesi . Ora si considera un
insieme di esempi già classificati presi da una distribuzione sconosciuta       :




La macchina deve trovare un’ipotesi     che minimizzi il rischio, questo è in funzione di
 :




L’errore teorico rappresenta la misura della bontà dell’ipotesi nel predire la classe del
punto . L’insieme genera una SVM in grado di risolvere un particolare problema di
classificazione binaria; la distribuzione di probabilità non è nota quindi non è possibile
calcolare direttamente l’errore teorico ma è necessario procedere in modo diverso per
individuare .

L’errore empirico è dato da




dove è il numero delle osservazioni a disposizione; per            si ha che l’errore empirico
converge in probabilità all’errore teorico.

Prima di procedere con la descrizione della classificazione mediante macchina a vettori di
supporto è necessario introdurre il concetto di dimensione VC dello spazio delle ipotesi ;
questo è un numero naturale che rappresenta il più grande numero di punti che possono
essere separati in tutti i modi possibili dall’insieme delle ipotesi . La dimensione VC è una
misura della complessità dell’insieme e in generale per un insieme d’iperpiani separatori
di dimensione è           .
Macchina a vettori di supporto   50


La teoria della convergenza uniforme in probabilità sviluppata da Vapnik e Chervonenkis
fornisce un limite alla deviazione dell’errore empirico da quello teorico; fissato con
           si ha:




Dove è la dimensione VC di ; da questa espressione si ha che per ottenere l’errore
teorico minimo è necessario minimizzare la somma dell’errore empirico e della confidenza.
L’algoritmo SVM risolve efficientemente il problema di classificazione binaria minimizzando
contemporaneamente sia la dimensione VC sia il numero di errori sul training set.

      4.2.1. Classificatore lineare su dati linearmente separabili
In questo caso specifico si ha che l’insieme dei dati d’ingresso, quindi le osservazioni, sono
linearmente separabili. La macchina d’apprendimento deve individuare il miglior iperpiano
che li separa in questa situazione.

Un insieme di osservazioni è linearmente separabile se esiste una coppia                   tale che

                                                 con

                                                  con

Le seguenti funzioni quindi rappresentano lo spazio delle ipotesi



con        s’indica il discriminatore binario.

Un esempio di separazione lineare è riportato di seguito:




                                     Figura 29 Classificatore lineare

Per quanto riguarda la notazione che sarà utilizzata d’ora in poi, si ha che: lo spazio d’input è
indicato con      , lo spazio d’output                     , ipotesi        o       , training set
                        ed errore su un dato di test .

La distanza dell’iperpiano associato alla coppia               dal generico punto     è
Macchina a vettori di supporto    51




cioè è funzione di     ; se s’impone che                allora la distanza dell’iperpiano dal punto
più vicino deve essere maggiore di . Per ridurre il numero d’iperpiani, e quindi migliorare la
velocità di ricerca del piano ottimale, si considerano soltanto gli iperpiani che non
intersecano nessuna delle sfere di raggio centrate nei punti dell’insieme delle osservazioni.
L’iperpiano ottimale è quello che permette di classificare correttamente il training set e ha
      minima cioè massimizza il margine alle osservazioni del training set; la norma piccola
ha come conseguenza quella di tenere la dimensione VC piccola.

Di seguito si riportano due soluzioni al medesimo problema binario, però la seconda
garantisce un minor rischio di overfitting ossia ha una migliore generalizzazione (margine più
elevato):




                                 Figura 30 Differenza fra margini SVM

Il problema della ricerca dell’iperpiano ottimo si può descrivere tramite la




con      legati al vincolo
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza

Más contenido relacionado

La actualidad más candente

Web 20 Il Libro Gratis
Web 20 Il Libro GratisWeb 20 Il Libro Gratis
Web 20 Il Libro Gratisguest456c3f
 
Risorse infrastrutturali area vasta di Torremaggiore
Risorse infrastrutturali area vasta di TorremaggioreRisorse infrastrutturali area vasta di Torremaggiore
Risorse infrastrutturali area vasta di Torremaggioregifanta
 
Joseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia WebJoseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia WebCyclope86
 
Analisi Usabilità 3d Mansion
Analisi Usabilità 3d MansionAnalisi Usabilità 3d Mansion
Analisi Usabilità 3d MansionRoberta Sanzani
 
Validation and analysis of mobility models
Validation and analysis of mobility modelsValidation and analysis of mobility models
Validation and analysis of mobility modelsUmberto Griffo
 
Vdohnovenie123 ef7bb245 819c-439d-819a-97ac014c0084
Vdohnovenie123 ef7bb245 819c-439d-819a-97ac014c0084Vdohnovenie123 ef7bb245 819c-439d-819a-97ac014c0084
Vdohnovenie123 ef7bb245 819c-439d-819a-97ac014c0084suku dim
 
1.03 calcolo strut
1.03 calcolo strut1.03 calcolo strut
1.03 calcolo strutalebisy
 
Progettazione ed implementazione di una base di dati per la gestione di emiss...
Progettazione ed implementazione di una base di dati per la gestione di emiss...Progettazione ed implementazione di una base di dati per la gestione di emiss...
Progettazione ed implementazione di una base di dati per la gestione di emiss...Francesco Occhioni
 
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D Andrea Bidinost
 
Leggere per sapere Alessandro De Concini
Leggere per sapere   Alessandro De ConciniLeggere per sapere   Alessandro De Concini
Leggere per sapere Alessandro De ConciniEnzo Garofalo
 
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...maik_o
 
Regolamento 2012 2013
Regolamento 2012 2013Regolamento 2012 2013
Regolamento 2012 2013fra_it
 
I promessi sposi 3.0 Mobile User Experience & Usability nel settore dei beni...
I promessi sposi 3.0  Mobile User Experience & Usability nel settore dei beni...I promessi sposi 3.0  Mobile User Experience & Usability nel settore dei beni...
I promessi sposi 3.0 Mobile User Experience & Usability nel settore dei beni...RiccardoPietra
 

La actualidad más candente (16)

Web 20 Il Libro Gratis
Web 20 Il Libro GratisWeb 20 Il Libro Gratis
Web 20 Il Libro Gratis
 
Risorse infrastrutturali area vasta di Torremaggiore
Risorse infrastrutturali area vasta di TorremaggioreRisorse infrastrutturali area vasta di Torremaggiore
Risorse infrastrutturali area vasta di Torremaggiore
 
Joseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia WebJoseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia Web
 
Analisi Usabilità 3d Mansion
Analisi Usabilità 3d MansionAnalisi Usabilità 3d Mansion
Analisi Usabilità 3d Mansion
 
Validation and analysis of mobility models
Validation and analysis of mobility modelsValidation and analysis of mobility models
Validation and analysis of mobility models
 
Vdohnovenie123 ef7bb245 819c-439d-819a-97ac014c0084
Vdohnovenie123 ef7bb245 819c-439d-819a-97ac014c0084Vdohnovenie123 ef7bb245 819c-439d-819a-97ac014c0084
Vdohnovenie123 ef7bb245 819c-439d-819a-97ac014c0084
 
Teoria probabilità 4
Teoria probabilità 4Teoria probabilità 4
Teoria probabilità 4
 
1.03 calcolo strut
1.03 calcolo strut1.03 calcolo strut
1.03 calcolo strut
 
Progettazione ed implementazione di una base di dati per la gestione di emiss...
Progettazione ed implementazione di una base di dati per la gestione di emiss...Progettazione ed implementazione di una base di dati per la gestione di emiss...
Progettazione ed implementazione di una base di dati per la gestione di emiss...
 
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
Sviluppo e confronto di tecniche di stima della traiettoria di sensori 3D
 
Tesi peiretti
Tesi peirettiTesi peiretti
Tesi peiretti
 
Leggere per sapere Alessandro De Concini
Leggere per sapere   Alessandro De ConciniLeggere per sapere   Alessandro De Concini
Leggere per sapere Alessandro De Concini
 
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
 
120 2015 tesi-sicurezza_gru_cantiere
120   2015   tesi-sicurezza_gru_cantiere120   2015   tesi-sicurezza_gru_cantiere
120 2015 tesi-sicurezza_gru_cantiere
 
Regolamento 2012 2013
Regolamento 2012 2013Regolamento 2012 2013
Regolamento 2012 2013
 
I promessi sposi 3.0 Mobile User Experience & Usability nel settore dei beni...
I promessi sposi 3.0  Mobile User Experience & Usability nel settore dei beni...I promessi sposi 3.0  Mobile User Experience & Usability nel settore dei beni...
I promessi sposi 3.0 Mobile User Experience & Usability nel settore dei beni...
 

Similar a Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza

Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...Nicola Cerami
 
Manuale rwx62
Manuale rwx62Manuale rwx62
Manuale rwx62Rui Silva
 
Sintesi non tecnica
Sintesi non tecnicaSintesi non tecnica
Sintesi non tecnicatricaricom
 
Linee guida AIOM sul carcinoma prostatico
Linee guida AIOM sul carcinoma prostaticoLinee guida AIOM sul carcinoma prostatico
Linee guida AIOM sul carcinoma prostaticoMerqurio
 
Dispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaDispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaStefano Bussolon
 
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...enriconatella
 
Tesi Dottorato di Ricerca in Informatica e Telecomunicazioni Dott. Ing. Crist...
Tesi Dottorato di Ricerca in Informatica e Telecomunicazioni Dott. Ing. Crist...Tesi Dottorato di Ricerca in Informatica e Telecomunicazioni Dott. Ing. Crist...
Tesi Dottorato di Ricerca in Informatica e Telecomunicazioni Dott. Ing. Crist...Cristian Randieri PhD
 
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiIl Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiFrancesco Magagnino
 
Il Rischio di Credito - CDS e Mercato Obbligazionario
Il Rischio di Credito - CDS e Mercato ObbligazionarioIl Rischio di Credito - CDS e Mercato Obbligazionario
Il Rischio di Credito - CDS e Mercato ObbligazionarioLorenzo Cito
 
Manuale posa cortexa
Manuale posa cortexaManuale posa cortexa
Manuale posa cortexaCortexa
 
Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...
Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...
Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...lucafiore1
 
Progetto Tecnologia Meccanica II
Progetto Tecnologia Meccanica IIProgetto Tecnologia Meccanica II
Progetto Tecnologia Meccanica IIPieroEro
 

Similar a Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza (20)

Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
 
Tesi
TesiTesi
Tesi
 
Aqfa probabilita
Aqfa   probabilitaAqfa   probabilita
Aqfa probabilita
 
Borsari 2 emme abbigliamento da lavoro
Borsari 2 emme abbigliamento da lavoroBorsari 2 emme abbigliamento da lavoro
Borsari 2 emme abbigliamento da lavoro
 
Monitoraggio di rete con nagios
Monitoraggio di rete con nagiosMonitoraggio di rete con nagios
Monitoraggio di rete con nagios
 
Manuale rwx62
Manuale rwx62Manuale rwx62
Manuale rwx62
 
Sintesi non tecnica
Sintesi non tecnicaSintesi non tecnica
Sintesi non tecnica
 
Linee guida AIOM sul carcinoma prostatico
Linee guida AIOM sul carcinoma prostaticoLinee guida AIOM sul carcinoma prostatico
Linee guida AIOM sul carcinoma prostatico
 
Dispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaDispensa Interazione Uomo Macchina
Dispensa Interazione Uomo Macchina
 
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
 
Tesi Dottorato di Ricerca in Informatica e Telecomunicazioni Dott. Ing. Crist...
Tesi Dottorato di Ricerca in Informatica e Telecomunicazioni Dott. Ing. Crist...Tesi Dottorato di Ricerca in Informatica e Telecomunicazioni Dott. Ing. Crist...
Tesi Dottorato di Ricerca in Informatica e Telecomunicazioni Dott. Ing. Crist...
 
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiIl Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
 
PSA - Luigi Trinchieri
PSA - Luigi TrinchieriPSA - Luigi Trinchieri
PSA - Luigi Trinchieri
 
Il Rischio di Credito - CDS e Mercato Obbligazionario
Il Rischio di Credito - CDS e Mercato ObbligazionarioIl Rischio di Credito - CDS e Mercato Obbligazionario
Il Rischio di Credito - CDS e Mercato Obbligazionario
 
Comunicazione in un progetto di educativa di strada con strumenti Web 2.0
Comunicazione in un progetto di educativa di strada con strumenti Web 2.0Comunicazione in un progetto di educativa di strada con strumenti Web 2.0
Comunicazione in un progetto di educativa di strada con strumenti Web 2.0
 
OMARI TESI
OMARI TESIOMARI TESI
OMARI TESI
 
Manuale posa cortexa
Manuale posa cortexaManuale posa cortexa
Manuale posa cortexa
 
Rita ostan tesi
Rita ostan tesiRita ostan tesi
Rita ostan tesi
 
Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...
Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...
Libro "La valutazione dei rischi di incendio" L. Fiorentini (TECSA S.p.A.), L...
 
Progetto Tecnologia Meccanica II
Progetto Tecnologia Meccanica IIProgetto Tecnologia Meccanica II
Progetto Tecnologia Meccanica II
 

Último

La produzione e la gestione degli Open Data
La produzione e la gestione degli Open DataLa produzione e la gestione degli Open Data
La produzione e la gestione degli Open DataGianluigi Cogo
 
Storia dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptxStoria dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptxOrianaOcchino
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaPierLuigi Albini
 
Terza cultura w la scienza Italo Calvino.pdf
Terza cultura w la scienza Italo Calvino.pdfTerza cultura w la scienza Italo Calvino.pdf
Terza cultura w la scienza Italo Calvino.pdfPierLuigi Albini
 
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024Damiano Orru
 
Esame finale - riunione genitori 2024.pptx
Esame finale - riunione genitori 2024.pptxEsame finale - riunione genitori 2024.pptx
Esame finale - riunione genitori 2024.pptxfedericodellacosta2
 
Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?
Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?
Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?Nicola Rabbi
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieVincenzoPantalena1
 

Último (8)

La produzione e la gestione degli Open Data
La produzione e la gestione degli Open DataLa produzione e la gestione degli Open Data
La produzione e la gestione degli Open Data
 
Storia dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptxStoria dell’Inghilterra nell’Età Moderna.pptx
Storia dell’Inghilterra nell’Età Moderna.pptx
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza cultura
 
Terza cultura w la scienza Italo Calvino.pdf
Terza cultura w la scienza Italo Calvino.pdfTerza cultura w la scienza Italo Calvino.pdf
Terza cultura w la scienza Italo Calvino.pdf
 
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
biblioverifica ijf24 Festival Internazionale del Giornalismo 2024
 
Esame finale - riunione genitori 2024.pptx
Esame finale - riunione genitori 2024.pptxEsame finale - riunione genitori 2024.pptx
Esame finale - riunione genitori 2024.pptx
 
Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?
Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?
Parole inclusive: le parole cambiano il mondo o il mondo cambia le parole?
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medie
 

Valutazione di descrittori per il rilevamento automatico di nuclei cellulari in immagini di microscopia a fluorescenza

  • 1. Anno Accademico 2011-2012 UNIVERSITÀ DEGLI STUDI DI TRIESTE FACOLTÀ DI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA Tesi di laurea "VALUTAZIONE DI DESCRITTORI PER IL RILEVAMENTO AUTOMATICO DI NUCLEI CELLULARI IN IMMAGINI DI MICROSCOPIA A FLUORESCENZA" Laureando: Relatore: Paolo Fabris Felice Andrea Pellegrino Correlatore: Walter Vanzella
  • 2. Sommario 2 Ai miei amici, a tutti coloro che mi vogliono bene a tutti quelli che mi hanno supportato per tutto questo tempo ai miei carissimi genitori che mi sono sempre stati vicino
  • 3. Sommario 3 Sommario SOMMARIO ..................................................................................................................................................... 3 INDICE DELLE FIGURE ....................................................................................................................................... 7 RINGRAZIAMENTI ............................................................................................................................................ 9 1. INTRODUZIONE .................................................................................................................................... 10 1.1. OBBIETTIVI DEL PROGETTO ....................................................................................................................... 10 1.2. L’ALGORITMO ........................................................................................................................................ 11 1.3. MICROSCOPIA A FLUORESCENZA ................................................................................................................ 11 2. REGIONI D’INTERESSE ........................................................................................................................... 14 2.1. INTRODUZIONE....................................................................................................................................... 14 2.2. NORMALIZZAZIONE DELLE IMMAGINI .......................................................................................................... 14 2.3. ESTRAZIONE DEI PUNTI D’INTERESSE ........................................................................................................... 18 2.4. RICERCA DEI PARAMETRI PER IL FILTRO DOG ................................................................................................ 28 2.5. ESTRAZIONE DELLE REGIONI D’INTERESSE ..................................................................................................... 29 2.6. ASSEGNAZIONE DELLE ROI ALLA CLASSE DI APPARTENENZA ............................................................................. 33 3. FEATURE ............................................................................................................................................... 34 3.1. INTRODUZIONE....................................................................................................................................... 34 3.2. PROPRIETÀ DELLE FEATURE ....................................................................................................................... 34 3.3. SHAPEINTENSITY..................................................................................................................................... 37 3.4. ZERNIKE ................................................................................................................................................ 39 3.5. TRASFORMATA DI FOURIER-MELLIN, AFMT, DAFMT E FAFMT .................................................................... 42 3.6. TRASFORMATA DCT................................................................................................................................ 46 4. MACCHINA A VETTORI DI SUPPORTO ................................................................................................... 48 4.1. INTRODUZIONE....................................................................................................................................... 48 4.2. LA MACCHINA ........................................................................................................................................ 48 4.2.1. Classificatore lineare su dati linearmente separabili .................................................................... 50 4.2.2. Classificatore lineare su dati non linearmente separabili ............................................................. 53
  • 4. Sommario 4 4.2.3. Classificatore non lineare .............................................................................................................. 54 4.2.4. Cross-validation ............................................................................................................................ 55 5. RECEIVER OPERATING CHARACTERISTIC ............................................................................................... 57 5.1. INTRODUZIONE....................................................................................................................................... 57 5.2. SPAZIO ROC.......................................................................................................................................... 57 5.3. GENERAZIONE EFFICIENTE DEI PUNTI DI UNA CURVA ROC ............................................................................... 60 5.4. AUC .................................................................................................................................................... 62 6. NVIDIA CUDA, ARCHITETTURA E MODELLO DI PROGRAMMAZIONE ..................................................... 63 6.1. INTRODUZIONE....................................................................................................................................... 63 6.2. GPU COME COMPUTER PARALLELO ............................................................................................................ 65 6.3. ARCHITETTURA NVIDIA FERMI GF110 ...................................................................................................... 69 6.3.1. Host Interface ............................................................................................................................... 70 6.3.2. Memory Controller ........................................................................................................................ 70 6.3.3. Gerarchia memoria ....................................................................................................................... 71 6.3.4. GDDR5........................................................................................................................................... 72 6.3.5. GigaThread Engine ........................................................................................................................ 72 6.3.6. Streaming Multiprocessor ............................................................................................................. 73 6.3.7. Instruction cache ........................................................................................................................... 74 6.3.8. Dual warp scheduler e dispatch unit ............................................................................................. 74 6.3.9. Register file ................................................................................................................................... 76 6.3.10. LD/ST ........................................................................................................................................ 76 6.3.11. SFU ........................................................................................................................................... 76 6.3.12. Texture Unit ............................................................................................................................. 76 6.3.13. CUDA Core ................................................................................................................................ 77 6.4. INTERFACCIA CUDA................................................................................................................................ 79 6.4.1. Architettura................................................................................................................................... 79 6.4.2. SIMT .............................................................................................................................................. 82 6.4.3. Organizzazione thread .................................................................................................................. 82 6.4.4. Organizzazione della memoria ..................................................................................................... 84
  • 5. Sommario 5 6.5. LIBRERIE ............................................................................................................................................... 85 6.6. VELOCITÀ DI ELABORAZIONE...................................................................................................................... 86 7. BENCHMARK ........................................................................................................................................ 87 7.1. INTRODUZIONE....................................................................................................................................... 87 7.2. HARDWARE E SOFTWARE IMPIEGATI ........................................................................................................... 88 7.3. VALUTAZIONE DELLE CLASSIFICAZIONI MANUALI EFFETTUATE DAGLI ESPERTI........................................................ 90 7.4. VALUTAZIONE DEI PARAMETRI DELLA DOG .................................................................................................. 91 7.5. VALUTAZIONE DELLE PRESTAZIONI IN FASE DI ADDESTRAMENTO ....................................................................... 92 7.6. VALUTAZIONE DELLE PRESTAZIONI IN CLASSIFICAZIONE ................................................................................... 98 7.7. VALUTAZIONE DELLA VELOCITÀ DI ELABORAZIONE .......................................................................................... 99 8. CONCLUSIONI ..................................................................................................................................... 101 BIBLIOGRAFIA .............................................................................................................................................. 104 APPENDICE A ............................................................................................................................................... 105 A.1. DIRECTX 11 SU HARDWARE DIRECTX 10 E DIRECTX 9.0C .................................................................................... 105 A.1. SHADER MODEL 5 ........................................................................................................................................ 105 A.2. VERTEX E INDEX BUFFER ................................................................................................................................ 106 A.3. PRIMITIVE .................................................................................................................................................. 106 A.4. INPUT ASSEMBLER ........................................................................................................................................ 108 A.4. RASTERIZATION ........................................................................................................................................... 108 A.5. PIPELINE GRAFICA DIRECTX 11 ....................................................................................................................... 108 A.5.1. Architettura shader model unificata ............................................................................................... 108 A.5.2. Tessellation ..................................................................................................................................... 109 A.5.3. Schema logico della pipeline grafica DirectX 11 ............................................................................. 112 A.6. SPAZI IN UNA SCENA 3D ................................................................................................................................ 115 A.6.1. OBJECT E WORLD SPACE ............................................................................................................................. 115 A.6.2. VIEW E CLIP SPACE .................................................................................................................................... 116 A.6.3. SCREEN SPACE E HSR ................................................................................................................................ 117 A.7. NVIDIA APPROFONDIMENTI .......................................................................................................................... 118 A.7.1. ROP ................................................................................................................................................. 118 A.7.2. Tessellation ..................................................................................................................................... 118
  • 6. Sommario 6 A.7.3 CUDA ................................................................................................................................................ 119 APPENDICE B ............................................................................................................................................... 121 B.1. SVILUPPARE MEX IN VISUAL STUDIO 2010 PROFESSIONAL ................................................................................... 121 B.2. SVILUPPARE CUDA KERNEL IN VISUAL STUDIO 2010 PROFESSIONAL..................................................................... 121 APPENDICE C ............................................................................................................................................... 122 C.1. LIBSVM ...................................................................................................................................................... 122
  • 7. Indice delle figure 7 Indice delle figure FIGURA 1 IMMAGINE CAMPIONE DI MICROSCOPIA A FLUORESCENZA .................................................................................... 12 FIGURA 2 CLASSIFICAZIONE MANUALE DA PARTE DI UN ESPERTO ......................................................................................... 13 FIGURA 3 ZOOM IN UNA REGIONE CLASSIFICATA MANUALMENTE DA UN ESPERTO ................................................................... 13 FIGURA 4 IMMAGINE NORMALIZZATA ............................................................................................................................ 14 FIGURA 5 RAPPRESENTAZIONE A COLORI ........................................................................................................................ 15 FIGURA 6 VARIAZIONE DI LUMINOSITÀ A COLORI .............................................................................................................. 15 FIGURA 7 IMMAGINE FLATTED...................................................................................................................................... 16 FIGURA 8 NORMALIZZAZIONE CHE SFRUTTA LA MEDIANA SU IMMAGINE CON LUMINOSITÀ UNIFORME ........................................ 17 FIGURA 9 FUNZIONE GAUSSIANA MONODIMENSIONALE CON MEDIA NULLA ........................................................................... 19 FIGURA 10 FUNZIONE GAUSSIANA BIDIMENSIONALE CENTRATA .......................................................................................... 20 FIGURA 11 FILTRAGGIO DOG ...................................................................................................................................... 21 FIGURA 12 RICERCA DEI MASSIMI LOCALI ....................................................................................................................... 22 FIGURA 13 SOGLIATURA DI OTSU E RIDLER CALVARD........................................................................................................ 25 FIGURA 14 SOGLIATURA DI OTSU E DI RIDLER CALVARD SU DOG........................................................................................ 26 FIGURA 15 CORREZIONE NELLA GENERAZIONE DEI PUNTI D’INTERESSE IN CONDIZIONI NON OTTIMALI ......................................... 28 FIGURA 16 IMMAGINE BINARIA DALLA DOG ................................................................................................................... 29 FIGURA 17 FILTRAGGIO DOG AL NEGATIVO CON IMPOSTAZIONE DEI PUNTI D'INTERESSE A ZERO ............................................... 30 FIGURA 18 BACINI WATERSHED .................................................................................................................................... 31 FIGURA 19 BLOB GENERATI DAI BACINI WATERSHED ......................................................................................................... 31 FIGURA 20 BLOB CHE CONTENGONO UN PUNTO D’INTERESSE ............................................................................................. 32 FIGURA 21 ESTRAZIONE ROI CON TRASLAZIONE DEL CENTRO DI MASSA ................................................................................ 32 FIGURA 22 FILTRAGGIO DELLA ROI CON FUNZIONE SIGMOIDALE ......................................................................................... 33 FIGURA 23 PIANO CARTESIANO .................................................................................................................................... 36 FIGURA 25 RICOSTRUZIONI DELLA ROI CON DIVERSI GRADI PER ZERNIKE .............................................................................. 41 FIGURA 26 CAMPIONAMENTO CON COORDINATE POLARI .................................................................................................. 44 FIGURA 27 CAMPIONAMENTO CON COORDINATE LOG-POLAR............................................................................................. 45 FIGURA 28 ENERGIA DELLA DCT .................................................................................................................................. 47 FIGURA 29 RICOSTRUZIONE DI UNA ROI DAI COEFFICIENTI DCT ......................................................................................... 47 FIGURA 30 CLASSIFICATORE LINEARE ............................................................................................................................. 50 FIGURA 31 DIFFERENZA FRA MARGINI SVM ................................................................................................................... 51 FIGURA 32 DATI NON LINEARMENTE SEPARABILI .............................................................................................................. 53 FIGURA 33 SPAIO D’INPUT E DELLE FEATURE ................................................................................................................... 54 FIGURA 34 CUT-OFF .................................................................................................................................................. 58 FIGURA 35 GENERAZIONE ROC ................................................................................................................................... 61 FIGURA 36 GPU VS CPU FLOATING-POINT..................................................................................................................... 66 FIGURA 37 GPU VS CPU BANDA DI MEMORIA ................................................................................................................ 67 FIGURA 38 ARCHITETTURA GF110 ............................................................................................................................... 69 FIGURA 39 GERARCHIA MEMORIA ................................................................................................................................ 71 FIGURA 40 CACHE L2 UNIFICATA .................................................................................................................................. 72 FIGURA 41 STREAMING PROCESSOR.............................................................................................................................. 73 FIGURA 42 ESECUZIONE KERNEL SU G80/GT200 E GF110 .............................................................................................. 74 FIGURA 43 GESTIONE THREAD NELLE ARCHITETTURE CUDA............................................................................................... 75
  • 8. Indice delle figure 8 FIGURA 44 OPS PER CLOCK PER LE ISTRUZIONI ESEGUIBILI DA UNO SM ................................................................................. 75 FIGURA 45 DISTRIBUZIONE DELLE ISTRUZIONI ALL'INTERNO DI UNO SM................................................................................ 76 FIGURA 46 CUDA CORE ............................................................................................................................................. 77 FIGURA 47 FMA VS MAD .......................................................................................................................................... 78 FIGURA 48 ARCHITETTURA MODELLO DI PROGRAMMAZIONE CUDA.................................................................................... 79 FIGURA 49 CAPACITÀ DI CALCOLO CUDA....................................................................................................................... 81 FIGURA 50 COMPUTE CAPABILITY FEATURE CUDA........................................................................................................... 81 FIGURA 51 BLOCCHI DI THREAD .................................................................................................................................... 83 FIGURA 52 GERARCHIA MEMORIA ................................................................................................................................ 84 FIGURA 53 CALIBRATURA DOG ................................................................................................................................... 92 FIGURA 54 PERCENTUALE DI REGIONI D'INTERESSE SCARTATE NELLA FASE DI ADDESTRAMENTO DELLA MACCHINA A VETTORI DI SUPPORTO ....................................................................................................................................................... 93 FIGURA 55 NUMERO DI COEFFICIENTI SELEZIONATI PER LA DCT .......................................................................................... 93 FIGURA 56 KERNEL POLINOMIALE ................................................................................................................................. 94 FIGURA 57 CURVA ROC KERNEL POLINOMIALE CON SHAPEINTENSITY .................................................................................. 95 FIGURA 58 KERNEL RBF ............................................................................................................................................. 95 FIGURA 59 CURVA ROC PER KERNEL RBF CON FEATURE FAFMT ....................................................................................... 96 FIGURA 60 KERNEL SIGMOIDALE ................................................................................................................................... 97 FIGURA 61 CURVA ROC PER KERNEL SIGMOIDALE CON SHAPEINTENSITY .............................................................................. 97 FIGURA 62 MIGLIORI FEATURE E KERNEL ........................................................................................................................ 98 FIGURA 63 VALUTAZIONE DEL CONTEGGIO ..................................................................................................................... 98 FIGURA 64 INCREMENTO PRESTAZIONALE SU GPU......................................................................................................... 100 FIGURA 65 QUADRATO INDICIZZATO ........................................................................................................................... 106 FIGURA 66 VERTEX INDEX BUFFER .............................................................................................................................. 106 FIGURA 67 PRIMITIVE .............................................................................................................................................. 107 FIGURA 68 PRIMITIVA PATCH ..................................................................................................................................... 107 FIGURA 69 PIPELINE GRAFICA DIRECTX 9.0C ................................................................................................................ 108 FIGURA 70 WORKLOAD DEGLI SHADER DEDICATI............................................................................................................ 108 FIGURA 71 PIPELINE GRAFICA DIRECTX 10 ................................................................................................................... 109 FIGURA 72 PATCH PER LA TESSELLATOR UNIT ................................................................................................................ 110 FIGURA 73 TESSELLATION REGOLARE ........................................................................................................................... 111 FIGURA 74 TESSELLATION SEMI-REGOLARE ................................................................................................................... 111 FIGURA 75 FIGURA INIZIALE PER L'EDGE FACTOR DELLA TESSELLATION ................................................................................ 111 FIGURA 76 RISULTATO DELL'EDGE FACTOR PER LA TESSELLATION ....................................................................................... 111 FIGURA 77 PIPELINE GRAFICA DIRECTX 11 ................................................................................................................... 112 FIGURA 78 SCHEMA A BLOCCHI INPUT ASSEMBLER, VERTEX SHADER, HULL SHADER, TESSELLATOR ......................................... 113 FIGURA 79 SECONDO PARTE DELLA PIPELINE GPU CON TESSELLATOR................................................................................. 114 FIGURA 80 SPAZI IN UNA SCENA 3D ............................................................................................................................ 115 FIGURA 81 COORDINATE NEL WORLD SPACE................................................................................................................. 116 FIGURA 82 VIEW FRUSTRUM ..................................................................................................................................... 116 FIGURA 83 PROIEZIONE DEGLI OGGETTI DAL CLIPPING SPACE AL CUBO ................................................................................ 117 FIGURA 84 POLYMORPH ENGINE ............................................................................................................................... 118 FIGURA 85 RASTER ENGINE ....................................................................................................................................... 119
  • 9. Ringraziamenti 9 Ringraziamenti Uno speciale ringraziamento ad Felice Andrea Pellegrino e Walter Vanzella che mi hanno consigliato e guidato durante il periodo di tirocinio e tesi presso la Glance Vision Technologies Srl; mi hanno fatto apprezzare il ramo informatico dedicato all’image processing. Un grande grazie a Jack. Ultimo, ma non per questo meno importante, un sentito ringraziamento agli amici e ai parenti che mi hanno dato sostegno quando ne ho avuto bisogno.
  • 10. Introduzione 10 1. Introduzione 1.1. Obbiettivi del progetto Il progetto di questa tesi è stato sviluppato presso la Glance Vision Technologies Srl http://www.gvt.it/; questo lavoro deriva dall’osservazione che presso la SISSA (Scuola Internazionale Superiore Di Studi Avanzati di Trieste) gli esperti di classificazione cellulare svolgevano in modo manuale la ricerca dei nuclei di neuroni in immagini di microscopia a fluorescenza. L’obbiettivo che ci si prefigge è quello di automatizzare tale analisi con conseguente raggiungimento dei seguenti benefici:  Riduzione del tempo richiesto per portare a termine le indagini;  L’esperto può concentrarsi esclusivamente sull’analisi dei risultati forniti dall’algoritmo senza dover selezionare manualmente le regioni d’interesse valide (i set d’immagini possono avere da 500 a 5000 regioni d’interesse valide);  L’algoritmo genera automaticamente le regioni d’interesse classificate che possono essere usate successivamente per eseguire altre analisi (tipicamente in ambito statistico);  Oggettività dei criteri e la conseguente ripetibilità dei risultati che non dipende da chi svolge l’analisi. Tutte le immagini da esaminare sono ottenute tramite la microscopia a fluorescenza che riveste un ruolo fondamentale nell’analisi di culture cellulari. Infatti, è in grado di mettere in risalto aspetti salienti delle cellule come la localizzazione di DNA, RNA, mitocondri e nuclei. Le analisi di questo tipo d’immagini sono fondamentali per studiare patologie, verificare l’evoluzione nel tempo di una malattia, analisi statistiche sulla popolazione cellulare ecc. La strategia di fondo seguita nell’algoritmo è:  Eseguire un’analisi preliminare delle immagini per eliminare l’illuminazione non uniforme;  Individuare le regioni d’interesse (ROI);  Rappresentare ogni ROI con opportuni descrittori (detti feature);  Usare un algoritmo d’apprendimento per affrontare il problema di addestramento/classificazione delle ROI (rappresentate dalle corrispondenti feature). Nei seguenti capitoli si affrontano diverse tematiche che riguardano la classificazione binaria delle ROI, in particolare:  Nel secondo capitolo si descrive la procedura seguita per rendere le immagini più robuste alla luminosità non uniforme la quale può compromettere le prestazioni
  • 11. Introduzione 11 dell’algoritmo in addestramento/classificazione. Successivamente si descrive l’approccio seguito per l’estrazione delle regioni d’interesse;  Il terzo è dedicato alla rappresentazione delle ROI tramite opportuni descrittori detti feature e si descrivono le tecniche per garantire l’invarianza per rotazione, invarianza per traslazione e varianza per scala;  Il quarto descrive l’algoritmo d’apprendimento ossia la macchina a vettori di supporto;  Nel quinto capitolo si presenta la descrizione delle curve ROC (Receiver Operating Characteristic) per la caratterizzazione statistica dei risultati in classificazione binaria. La scelta dei parametri dell’algoritmo e la valutazione delle prestazioni del medesimo sono effettuate in base all’analisi delle curve ROC;  Il sesto tratta l’architettura NVIDIA CUDA impiegata per accelerare alcune elaborazioni su GPU;  Il settimo presenta i risultati ottenuti;  L’ottavo riguarda le conclusioni;  Infine, l’appendice A descrive argomenti supplementari riguardanti l’elaborazione su GPU, B illustra quali sono i passi da seguire per sviluppare in Visual Studio 2010 le mex e i CUDA Kernel, C descrive i parametri della libreria libsvm. 1.2. L’algoritmo Per sviluppare l’algoritmo si è scelto di usare l’ambiente MATLAB dato che mette a disposizione una serie di strumenti che semplificano l’implementazione e quindi riducono il tempo di sviluppo; il linguaggio MATLAB è interpretato e questo comporta lo svantaggio che la velocità di elaborazione non è elevata. Per superare parzialmente questo inconveniente, che influenza notevolmente il tempo totale di elaborazione, si è deciso di riscrivere una parte della macchina a vettori di supporto con OpenMP in C/C++ (accelera l’elaborazione su CPU multicore) e una parte degli script MATLAB in CUDA C sfruttando la programmazione ibrida (CPU/GPU). E’ importante osservare che il wrapping fatto tramite le mex per eseguire l’elaborazione in CUDA introduce overhead non eliminabile; in particolare la velocità di trasferimento dei dati tra CPU e GPU è dimezzata rispetto a quanto sarebbe stato possibile ottenere dato che le variabili nello spazio di lavoro MATLAB non sono memorizzate nella pinned memory. Le mex sono funzioni richiamabile dall’ambiente MATLAB sviluppate in linguaggio C/C++. L’intero algoritmo è strutturato in modo che l’utente debba inserire solo un numero ridotto di parametri. 1.3. Microscopia a fluorescenza L’intero lavoro si basa sull’elaborazione d’immagini di microscopia a fluorescenza; queste sono ottenute impiegando un microscopio a fluorescenza tipicamente usato nei laboratori di biologia per analizzare campioni organici sfruttando i fenomeni della fluorescenza e
  • 12. Introduzione 12 fosforescenza. D’ora in poi si considera soltanto il caso in cui si vogliono evidenziare i nuclei cellulari di neuroni che è la situazione trattata in questo progetto. Le procedure per ottenere le immagini consistono nel marcare i campioni d’interesse con molecole fluorescenti, ossia il fluorocromo, e successivamente il tutto è illuminato con un fascio di luce a una specifica lunghezza d’onda; il fascio luminoso è assorbito dal fluorocromo che provoca l’emissione di luce a lunghezza d’onda maggiore e questo permette di generare un colore diverso da quello della luce assorbita. Tramite un filtro si separano i due tipi di luce e si considera soltanto quella generata dal fluorocromo; una tipica immagine ottenuta con questa tecnica è riportata di seguito. Figura 1 Immagine campione di microscopia a fluorescenza Su immagini come quella di sopra, gli esperti di classificazione eseguono delle analisi per separare i nuclei delle cellule da altri corpi estranei; di seguito si riporta una tipica classificazione manuale.
  • 13. Introduzione 13 Figura 2 Classificazione manuale da parte di un esperto Figura 3 Zoom in una regione classificata manualmente da un esperto I punti d’interesse inseriti dall’esperto marcano le regioni d’interesse valide, le ROI non segnate sono da considerarsi come non valide.
  • 14. Regioni d’interesse 14 2. Regioni d’interesse 2.1. Introduzione L’estrazione delle regioni d’interesse presenti in un’immagine è il primo problema da affrontare; le regioni d’interesse (ROI) sono porzioni rilevanti dell’immagine che possono contenere i nuclei cellulari da identificare. Lo scopo è di generare una ROI per ogni oggetto che può rappresentare un nucleo cellulare. 2.2. Normalizzazione delle immagini Prima di poter elaborare un’immagine di microscopia a fluorescenza è necessario eseguire una normalizzazione della stessa per renderla visibile a un operatore umano e al tempo stesso ridurre l’influenza della variazione di luminosità che può compromettere l’estrazione delle regioni d’interesse. La luminosità non uniforme ha i seguenti effetti indesiderati:  C’è la possibilità che una porzione dello sfondo sia estratta come ROI quando in realtà questa non dà alcun contributo informativo per individuare i nuclei delle cellule;  Compromette la reale distribuzione dell’intensità del potenziale nucleo. Il primo passo quindi consiste nell’eseguire la normalizzazione dell’immagine da elaborare tra zero e uno. Il risultato è riportato in figura. Figura 4 Immagine normalizzata Dall’immagine in tonalità di grigio non si riesce ad apprezzare completamente la variazione di luminosità; se si usa una rappresentazione in cui l’intensità segue il seguente schema di colori (dove l’intensità più bassa è posta a sinistra e quella più alta a destra)
  • 15. Regioni d’interesse 15 Figura 5 Rappresentazione a colori si ottiene Figura 6 Variazione di luminosità a colori Da questa è possibile notare che la luminosità non è uniforme nell’immagine ed ha la tendenza a essere più intensa nell’angolo in basso a destra. Per rendere l’immagine a luminosità uniforme si dovrebbe avere a disposizione un’immagine con solo sfondo (ottenuta nelle stesse condizioni di quella da analizzare) e combinarla con quella avente le cellule tramite la seguente formula dove è l’immagine con le cellule, è l’immagine con solo sfondo (chiamata anche immagine flatted) e è l’immagine con luminosità uniforme. Il problema è che non è disponibile direttamente e quindi è necessario ricavarla dall’immagine iniziale estraendo solo lo sfondo; per fare questo si è deciso di sfruttare un filtro che fa la media dato che è semplice da implementare e se la finestra di applicazione del filtro non è troppo ampia si eseguono i calcoli velocemente. Si è scelta come dimensione della finestra di filtraggio una abbastanza ampia da cancellare le cellule dall’immagine e allo stesso tempo abbastanza ridotta da fare i calcoli velocemente; il risultato dell’estrazione dell’immagine da nell’esempio considerato è
  • 16. Regioni d’interesse 16 Figura 7 Immagine flatted Da questa si nota in dettaglio la distribuzione della luminosità. Da osservare che prima dell’applicazione del filtro si applica del padding verticale e orizzontale in modo da evitare in prossimità dei bordi dell’immagine che la media sia fatta con dei pixel zero (che stanno fuori dai bordi); successivamente si esegue un ritaglio in modo da estrarre la parte senza padding. A questo punto si ha a disposizione un’immagine con distribuzione uniforme della luminosità; si può inoltre notare che in tutte le immagini a disposizione, il 50% + 1 dei pixel è sfondo, quindi è possibile sfruttare la mediana per cancellare quasi completamente il rumore presente sullo sfondo con le seguenti operazioni eseguite in sequenza: dove è la mediana di e è l’immagine normalizzata a luminosità uniforme dopo la sottrazione con la mediana. Il risultato finale è riportato di seguito, da cui si può notare che l’effetto della luminosità è stato completamente cancellato.
  • 17. Regioni d’interesse 17 Figura 8 Normalizzazione che sfrutta la mediana su immagine con luminosità uniforme Con questa procedura si ha che le immagini sono sempre rappresentate tra zero e uno e i pixel risentono meno l’influenza della luminosità non uniforme che può essere diversa tra le immagini; in questo modo le ROI e quindi le feature possono essere calcolate in condizioni pressoché identiche tra un’immagine e l’altra. Altra osservazione da fare è che nelle immagini spesso si presenta la situazione in cui alcuni blob, gli agglomerati di pixel che formano un oggetto da analizzare, sono a contatto con i bordi dell’immagine e risultano “tagliati”; per evitare di compromettere il comportamento dell’algoritmo d’apprendimento si è deciso di non considerare i blob vicini ai bordi, il che è anche una strategia tipica utilizzata nella classificazione manuale delle cellule.
  • 18. Regioni d’interesse 18 2.3. Estrazione dei punti d’interesse Dopo aver normalizzato l’immagine e aver eliminato gli effetti della luminosità non uniforme è necessario procedere all’individuazione delle regioni d’interesse; si può notare che gli oggetti presenti nelle immagini sono per lo più ovali e tipicamente l’intensità è concentrata al centro dei medesimi, per questo motivo si è fatta la scelta di sfruttare una tecnica basata sul Laplaciano per individuare i punti in cui si hanno le maggiori variazioni d’intensità. Da notare che in questo modo, oltre a mettere in risalto i centri dei potenziali nuclei, si mettono in risalto anche i bordi degli oggetti che devono essere cancellati. Una volta che i punti d’interesse sono a disposizione, l’algoritmo li sfrutta come seme per costruire le regioni d’interesse. Di solito nell’ambito dell’image processing, per applicare il Laplaciano a un’immagine, si usa una delle due seguenti tecniche:  LOG (Laplacian of Gaussian);  DOG (Difference of Gaussian). La tecnica impiegata per applicare il laplaciano in questo lavoro si basa sulla DOG dato che dal punto di vista computazionale è più veloce e semplice da implementare rispetto alla LOG di cui è una buona approssimazione. Come si vedrà successivamente, entrambe le tecniche richiedono l’uso di filtri gaussiani; prima di procedere con la trattazione è necessario descrivere quest’ultimo filtro. Un filtro gaussiano monodimensionale con deviazione standard e media nulla si ottiene dalla seguente funzione Siccome questa non si annulla con in , il supporto del filtro è teoricamente infinito. Però per valori di fuori da , la funzione può essere considerata nulla dato che il 99.7% dell’area sottesa della gaussiana risiede nell’intervallo suddetto. Di seguito si riporta il profilo del filtro con .
  • 19. Regioni d’interesse 19 Figura 9 Funzione gaussiana monodimensionale con media nulla Nel caso bidimensionale si ha che il kernel del filtro con deviazione standard è dove e rappresentano le coordinate; come nel caso precedente si ha che il 99.7% del contributo è dato per e nell’intervallo . La finestra del kernel gaussiano bidimensionale può quindi essere approssimata tramite una finestra quadrata di dimensioni x ; questo filtro è di tipo passa basso. Di seguito si rappresenta la distribuzione nello spazio con e media nulla:
  • 20. Regioni d’interesse 20 Figura 10 Funzione gaussiana bidimensionale centrata Tornando al filtro LOG si ha che dove con s’indica la funzione che rappresenta un’immagine continua, il laplaciano e il risultato del filtraggio che si può calcolare tramite la convoluzione; poiché l’immagine è rappresentata da un insieme discreto di pixel, è necessario individuare un kernel che approssimi la derivata seconda nella definizione del laplaciano. Due tipici kernel approssimati sono riportati di seguito (il primo per intorni 4-connessi e il secondo per 8- connessi): L’inconveniente nell’usare la convoluzione dell’immagine con uno di questi due filtri approssimati consiste nel fatto che sono molto sensibili al rumore (alte frequenze); per attenuarlo, si filtra l’immagine con un filtro gaussiano. L’operazione di convoluzione è associativa, quindi è possibile costruire prima un filtro ibrido dato dalla combinazione di quello gaussiano con quello laplaciano e successivamente convolvere questo con l’immagine. Tutto ciò porta a due vantaggi:  Siccome i kernel del filtro gaussiano e laplaciano sono molto più piccoli dell’immagine da considerare, questo metodo richiede poche operazioni aritmetiche;  Si può precalcolare il kernel e quindi fare solo la convoluzione durante l’elaborazione. La funzione 2-D LOG centrata nello zero con deviazione standard della gaussiana è data da Il secondo filtro che si presenta sfrutta il kernel della DOG che è dato da
  • 21. Regioni d’interesse 21 dove < sono rispettivamente le deviazioni standard della prima e seconda gaussiana. La DOG quindi consiste nel fare la differenza tra due immagini ottenute dal filtraggio gaussiano delle medesima ma con deviazioni standard differenti; il filtro gaussiano con deviazione standard maggiore ha un effetto di filtraggio più accentuato. I vantaggi del filtraggio DOG su quello di tipo LOG sono:  Semplicità d’implementazione;  Velocità di computazione maggiore (il kernel del filtro gaussiano 2D è separabile, quindi il kernel della DOG può essere calcolato come il contributo di due kernel gaussiani separabili);  Buona approssimazione della LOG con . Per i vantaggi elencati, si è deciso di impiegare il filtro DOG in luogo di LOG. L’algoritmo, una volta a disposizione l’immagine normalizzata con luminosità non uniforme cancellata, applica la DOG; a questo punto si passa alla ricerca dei massimi locali. Si riportano il risultato del filtraggio e relativa ricerca dei massimi. Figura 11 Filtraggio DOG
  • 22. Regioni d’interesse 22 Figura 12 Ricerca dei massimi locali Si può notare che in questo caso ci sono tanti punti d’interesse vicini generati in corrispondenza delle zone poche “stabili”, cioè lì dove ci sono delle continue variazioni d’intensità (anche se d’entità molto ridotta) causa rumore residuo. Siccome ci sono delle zone in cui i punti d’interesse sono molto vicini fra loro (le aree nere), queste vanno a compromettere l’estrazione delle ROI (si rischia di generare tantissime ROI vuote causa il filtraggio circolare che sarà descritto durante la fase di estrazione delle medesime) oltre che a ridurre di molto la velocità di elaborazione complessiva delle successive fasi. Per evitare questi effetti indesiderati si può quindi applicare all’immagine filtrata con la DOG una sogliatura globale in modo da cancellare queste zone. Per sogliatura globale s’intende l’individuazione di un valore d’intensità in modo tale che tutti i pixel sotto a questo siano considerati sfondo (e quindi è possibile porli a zero). Esistono diverse tecniche di sogliatura in letteratura, molte delle quali si basano sull’analisi dell’istogramma di un’immagine; i vantaggi principali di questi approcci consistono nella semplicità d’implementazione dell’algoritmo ed efficienza computazionale. Ci sono però degli svantaggi da tenere in considerazione che sono dovuti al fatto che il valore di soglia dipende da:  Distanza tra i picchi nell’istogramma;  Rumore nell’immagine;  Dimensione dei blob rispetto allo sfondo;  Luminosità nell’immagine. Da notare che queste dipendenze sono notevolmente ridotte in questa fase di ricerca dei massimi locali, infatti:  Il rumore è ridotto notevolmente grazie all’impiego del filtraggio DOG (che funge da filtro passa banda);
  • 23. Regioni d’interesse 23  Gli effetti della luminosità non uniforme sono stati eliminati durante la normalizzazione dell’immagine;  Il 50% + 1 dei pixel sono sfondo quindi nell’istogramma è garantito che ci siano due picchi distanti (uno relativo allo sfondo e uno all’intensità delle cellule che in questa fase, dopo il filtraggio con DOG, hanno intensità pressoché identica e uniforme). Da tutto ciò si deduce che la sogliatura globale in questo contesto è un buon approccio per ridurre la generazione di punti d’interesse indesiderati. Ci sono molti ricercatori nell’ambito dell’elaborazione digitale d’immagini ad aver proposto diverse procedure per eseguire la sogliatura, una delle più usate prende il nome di sogliatura di Otsu. La sogliatura di Otsu si basa sul metodo del discriminante; i pixel dell’immagine sono associati a due classi differenti: e ; dove rappresenta il livello di sogliatura, valore in tonalità di grigio e il numero di livelli di grigio nell’immagine considerata. L’algoritmo valuta le varianze delle due classi e quella totale, la soglia ottima è scelta massimizzando la varianza inter-classe. Per utilizzare questa tecnica in modo efficiente è necessario che sia soddisfatta l’ipotesi in cui l’istogramma contiene due mode dominanti; in questo caso il valore di soglia è quello che separa le due mode. Si consideri un’immagine di dimensioni con livelli d’intensità in tonalità di grigio e con il numero totale di pixel di livello i-esimo, allora l’istogramma normalizzato ha come componenti Si seleziona una soglia con e si definiscono due classi:  con tutti i pixel d’intensità tra e ;  con tutti i pixel d’intensità tra e . La probabilità di assegnamento di un pixel alla classe è pari a mentre per la classe Il valore medio d’intensità dei pixel che appartengono a è
  • 24. Regioni d’interesse 24 invece per la classe La media cumulativa di livello k è pari a mentre la media sull’immagine è Per valutare la bontà della soglia si sfrutta la seguente formula dove rappresenta la varianza globale dei pixel dell’immagine e la varianza inter-classe Più distanti sono le due medie e più la varianza inter-classe è elevata, la soglia è quella che massimizza questa varianza; si ha L’inconveniente di questo sogliatura è che ha la tendenza a generare una soglia troppo aggressiva, nel senso che la soglia è in genere troppo alta in questo contesto e ciò comporta la cancellazione di pixel che invece potrebbero dare un contributo informativo per la generazione di punti d’interesse in prossimità di oggetti che potrebbero essere nuclei cellulari. Per risolvere questo inconveniente è possibile usare un’altra sogliatura globale ossia quella proposta da Ridler e Calvard che permette di calcolare un valore di soglia più
  • 25. Regioni d’interesse 25 conservativo e quindi di considerare più blob. Questa procedura sfrutta il metodo di Otsu per calcolare una soglia iniziale e successivamente in modo iterativo individua la media sopra e sotto tale soglia; la nuova soglia è individuata come la media delle due medie calcolate precedentemente. Il procedimento continua fino a quando la differenza tra la nuova soglia e quella al passo precedente è inferiore a un valore prestabilito. Di seguito si riporta il confronto tra i risultati della ricerca dei massimi locali dopo l’applicazione della soglia di Otsu e Ridler Calvard. Figura 13 Sogliatura di Otsu e Ridler Calvard
  • 26. Regioni d’interesse 26 Figura 14 Sogliatura di Otsu e di Ridler Calvard su DOG Da sopra si nota che conviene sfruttare la procedura di Ridler Calvard che garantisce una soglia più conservativa rispetto a quella di Otsu e ciò comporta in genere risultati più accurati, anche se questo ha l’inconveniente di non cancellare tutte le regioni indesiderate afflitte da rumore. Da notare comunque che le zone affette da rumore non cancellate dopo la sogliatura di Ridler Calvard sono in genere molto poche e quindi non compromettono la ricerca dei nuclei cellulari infatti:  Molto probabilmente le regioni indesiderate saranno cancellate dall’algoritmo durante la fase di estrazione delle ROI per garantire l’invarianza per rotazione (come sarà chiarito in seguito);
  • 27. Regioni d’interesse 27  Nel caso in cui le regioni indesiderate non fossero scartate dopo l’estrazione delle ROI, queste sarebbero comunque marcate come non valide durante l’addestramento della macchina a vettori di supporto senza compromettere la ricerca dei nuclei cellulari. Per ottenere i punti d’interesse correttamente è necessario impostare opportunamente i parametri della DOG; questi parametri sono fissi per ogni immagine, quello che può accadere è che questi non vanno bene in certe situazioni e si può avere uno dei seguenti scenari:  I punti d’interesse generati sono troppo pochi;  I punti d’interesse generati sono molti e sono troppo vicini fra loro (se sono troppo vicini, allora questo può compromettere l’estrazione delle ROI perché rischiano di essere vuote). Per il primo caso, l’unico modo per risolvere il problema è di impostare altri valori per i parametri della DOG in modo da aumentare il numero di punti d’interesse; questo non è attuabile perché non è possibile sapere a priori quali siano i parametri ottimali senza aver a disposizione la classificazione fatta da un esperto (non si può sfruttare una procedura automatizzata). Per il secondo problema si è scelto di usare un algoritmo in grado di localizzare le situazioni in cui i punti d’interesse sono troppo vicini; i parametri da impostare sono raggio massimo e minimo che un intorno associato a un punto d’interesse può avere: 1) Si associa a ogni punto d’interesse un intorno il cui raggio è la metà della distanza dal punto d’interesse più vicino, se viene superato il raggio massima allora è impostato a quest’ultimo valore; 2) Per tutti gli intorni con raggio inferiore a quello minimo consentito, si procede come di seguito: a. Si seleziona l’intorno con raggio più piccolo e lo si marca come analizzato; b. I punti d’interesse che distano dal centro dell’intorno selezionato di un valore inferiore al doppio del raggio minimo consentito sono cancellati assieme ai relativi intorni associati; c. Si riparte da a. fino a quando tutti gli intorni sono stati analizzati. Il raggio dell’intorno associato a ogni punto d’interesse è impiegato per rilevare la situazione in cui i seed sono troppo vicini. Da notare che questa situazione indesiderata si verifica di rado; questa procedura è in grado di migliorare un po’ l’estrazione delle ROI nella condizione suddetta. Ad esempio, forzando l’algoritmo a operare con parametri che si scostano da quelli ottimali (per simulare la situazione descritta sopra), si ottiene (a sinistra senza l’ottimizzazione e a destra con l’algoritmo descritto):
  • 28. Regioni d’interesse 28 Figura 15 Correzione nella generazione dei punti d’interesse in condizioni non ottimali 2.4. Ricerca dei parametri per il filtro DOG Uno degli aspetti più importanti per usare correttamente la DOG riguarda l’impostazione dei parametri del filtro DOG ossia le deviazioni standard delle due gaussiane un’impostazione errata può compromettere drasticamente l’estrazione delle regioni d’interesse. La procedura seguita fa riferimento a com’è stata fatta la classificazione manuale da parte di un esperto: 1) Imposta una coppia di deviazioni standard da un insieme prestabilito in modo che ; 2) Genera i punti d’interesse per tutte le immagini classificate manualmente dall’esperto; 3) In ogni immagine classificata manualmente dall’esperto ci sono dei marcatori che rappresentano i centri dei nuclei, questi sono usati per costruire un intorno in modo che il diametro massimo sia pari a quello impostato dall’utente (scelto a priori). Nel caso di sovrapposizioni tra intorni si ha che il diametro di questi è pari alla distanza dal centro dell’intorno più vicino (si può osservare che i nuclei sono ovali, quindi risulta ragionevole considerare intorni di forma circolare); 4) Per ogni intorno costruito si verifica quanti punti d’interesse generati dalla DOG sono situati all’interno di questo. Si calcolano tre quantità che saranno usate successivamente per stabilire quali sono i parametri migliori: a. Validi. Numero di marcatori che hanno nell’intorno un solo punto d’interesse generato dalla DOG; b. Sovrannumero. Numero di marcatori che hanno nell’intorno più di un punto d’interesse; c. Sovra raggio. Numero di marcatori che inizialmente avevano un intorno senza punti d’interesse ma aumentando il raggio del doppio c’è almeno un punto d’interesse nell’intorno (è ragionevole procedere in questo modo perché i marcatori inseriti dall’esperto possono essere posizionati anche sui bordi dei nuclei e quindi la distanza tra centro dell’intorno e punto d’interesse può essere maggiore del raggio dell’intorno iniziale);
  • 29. Regioni d’interesse 29 5) Si riparte dal passo uno fino a esaurire tutte le coppie di deviazioni standard a disposizione. La coppia di deviazioni standard ottima è quella che massimizza la quantità data dalla somma dei marcatori validi con quelli in sovra raggio, questa è un indice che descrive quanto l’algoritmo si “avvicina” nella generazione dei punti d’interesse ai marcatori dell’esperto. Non si prende in considerazione il sovrannumero nella ricerca dei parametri migliori perché se la DOG generasse molti punti d’interesse, allora ci sarebbero tanti marcatori individuati per sovrannumero (quindi non è un valore discriminante nella scelta dei parametri). 2.5. Estrazione delle regioni d’interesse I punti d’interesse generati servono come seme per la costruzione delle regioni d’interesse (dette ROI, Region of Interest); queste sono tutte quelle porzioni dell’immagine in analisi che potrebbero contenere uno o più nuclei cellulari. Lo scopo è quindi di creare delle regioni che descrivono i dettagli degli oggetti senza compromettere il contenuto informativo (bordi, distribuzione d’intensità ecc.). La soluzione proposta si basa sulla segmentazione dell’immagine sfruttando i punti d’interesse generati dalla DOG e successivamente si applica un filtraggio per cancellare gli oggetti indesiderati all’interno delle ROI; si è fatta questa scelta perché porta il notevole vantaggio di non compromettere il contenuto informativo e di sfruttare delle tecniche ampiamente usate e testate nell’ambito dell’image processing. Si converte l’immagine filtrata dalla DOG in binario. Figura 16 Immagine binaria dalla DOG Ora è necessario calcolare il negativo dell’immagine filtrata mediante la DOG e ogni pixel associato a un punto d’interesse si pone a valore zero. La conversione al negativo serve per
  • 30. Regioni d’interesse 30 applicare la procedura watershed (descritta successivamente) e l’impostazione dei pixel a zero in corrispondenza dei punti d’interesse serve invece a garantire che i blob che saranno generati saranno strettamente legati ai punti d’interesse. Figura 17 Filtraggio DOG al negativo con impostazione dei punti d'interesse a zero A questo punto è possibile applicare la procedura watershed sull’immagine generata dal passo precedente che è basata sul digital elevation model: i valori di un blocco di dati sono interpretati come altitudini. Ai minimi locali si associano gli elementi dell’intorno che sono collegati a essi da un percorso in discesa; s’individuano così i catchment basin separati da linee chiamate watershed. Si simula il riempimento con acqua dei bacini catchment; la crescita delle regioni nelle varie direzioni è arrestata quando più bacini si fondono. Per dare una forma ai blob che seguono il profilo degli oggetti, è necessario moltiplicare il risultato che si ottiene da questa procedura con l’immagine binaria calcolata in precedenza; a questo punto si procede con l’assegnamento delle etichette ai blob ottenuti, si cancellano i blob in prossimità dei bordi dell’immagine (dato che non devono essere considerati nell’elaborazione) e quelli che non contengono nessun punto d’interesse. Da notare che a ogni punto d’interesse è associato un blob grazie all’impostazione dei relativi pixel a zero nell’immagine al negativo.
  • 31. Regioni d’interesse 31 Figura 18 Bacini watershed Figura 19 Blob generati dai bacini watershed
  • 32. Regioni d’interesse 32 Figura 20 Blob che contengono un punto d’interesse L’utente deve impostare come parametro d’ingresso dell’algoritmo il diametro massimo che una cellula può avere; questo è usato per estrarre regioni d’interesse quadrate centrate nei relativi punti d’interesse, la ROI ha come lunghezza dei propri lati il diametro impostato. I blob calcolati in precedenza servono per individuare i relativi centri di massa che sono sfruttati per traslare il blob da analizzare nel centro della ROI. Questo passo serve per rafforzare l’invarianza per traslazione durante il calcolo delle feature che è una delle condizioni fondamentali da garantire per rappresentare opportunamente una ROI (il discorso è ripreso nel capitolo relativo ai descrittori delle ROI). Figura 21 Estrazione ROI con traslazione del centro di massa Ora si cancellano eventuali oggetti indesiderati all’interno della ROI che possono compromettere la fase di addestramento della macchina a vettori di supporto dato che si è interessati ad analizzare un oggetto per volta; questa situazione si può presentare quando ci sono oggetti vicini che hanno blob di diametro inferiore a quello impostato dall’utente. La strategia impiegata consiste nel calcolare una matrice che ha le medesime dimensioni della ROI che deve essere moltiplicata elemento per elemento con quest’ultima; questa matrice si ottiene sfruttando la funzione sigmoidale come riportato di seguito:
  • 33. Regioni d’interesse 33 Dove è la matrice che deve essere moltiplicata elemento per elemento con i pixel della ROI, è il raggio del blob associato alla ROI (si calcola come la metà dell’asse maggiore dell’elisse che contiene il blob) e è la distanza dal centro della ROI. Figura 22 Filtraggio della ROI con funzione sigmoidale E’ importante notare che in questo modo gran parte degli oggetti indesiderati all’interno della ROI sono cancellati; non conviene sfruttare direttamente i blob individuati precedentemente perché si rischia di compromettere la forma degli oggetti da analizzare. Il principale svantaggio però è legato al fatto che in questo modo non sempre è possibile cancellare con accuratezza i blob indesiderati, quindi la macchina a vettori di supporto dovrà gestire le situazioni in cui le ROI contengono anche parti di oggetti indesiderati e non solo quello effettivamente da analizzare. 2.6. Assegnazione delle ROI alla classe di appartenenza Per l’addestramento della macchina a vettori di supporto è necessario stabilire quali ROI devono essere considerate come positive e quali negative; è indispensabile avere a disposizione il risultato di classificazione manuale di un esperto. Per stabilire la classe di appartenenza di una ROI si sfruttano i blob associati a ogni regione e si verifica se il blob contiene almeno un marcatore inserito dall’esperto di classificazione; nel caso sia presente un marcatore, allora la ROI dovrà essere considerata come positiva, altrimenti negativa. L’approccio considerato è migliore rispetto a quello basato sulla ricerca di marcatori all’interno di un intorno centrato nei punti d’interesse perché ci sono varie situazioni in cui questi punti sono molto distanti dai marcatori inseriti dagli esperti (ciò andrebbe a compromettere l’associazione della ROI alla corretta classe di appartenenza). Invece, con l’approccio basato sui blob, si prende in considerazione la forma degli oggetti e quindi si aumenta la probabilità di individuare i marcatori inseriti dall’esperto; lo svantaggio è che se l’esperto ha inserito i marcatori in prossimità dei bordi delle cellule allora questa soluzione potrebbe non rilevare tali marcatori (di solito i marcatori sono posti nel centro delle cellule, quindi il problema è quasi sempre trascurabile).
  • 34. Feature 34 3. Feature 3.1. Introduzione Dopo aver descritto come si estraggono le regioni d’interesse, ora è necessario stabilire come rappresentarle prima di inoltrarle all’algoritmo d’apprendimento Support Vector Machine (SVM); la rappresentazione fa riferimento a dei descrittori che prendono il nome di feature. Il problema da affrontare consiste quindi nell’individuare delle feature in grado di descrivere in modo efficiente le regioni d’interesse; per efficienza s’intende che con un numero ridotto di descrittori si è in grado di rappresentare le caratteristiche salienti degli oggetti. Si può osservare che spesso gli oggetti che rappresentano nuclei cellulari sono di forma ovale oppure hanno forme meno regolari e le texture degli oggetti non validi sono abbastanza simili fra loro (dato che spesso rappresentano rumore o porzioni di cellule a intensità pressoché uniforme); quindi, conviene usare dei descrittori in grado di mettere in risalto le forme degli oggetti ma anche la loro texture interna. Per costruire della feature con alto contenuto informativo per la SVM, cioè affinché questa sia in grado di discriminare correttamente gli oggetti presenti nelle immagini, è necessario garantire tre proprietà:  Invarianza per traslazione, ossia la posizione dell’oggetto da analizzare all’interno di un’immagine non deve influenzare il calcolo delle feature;  Invarianza per rotazione, cioè due oggetti uguali ma ruotati devono generare le medesime feature;  Varianza per scala, le feature devono essere strettamente legate alla scala dell’oggetto. Garantire le caratteristiche suddette è uno dei principali problemi da affrontare prima del calcolo delle feature e dell’addestramento dell’algoritmo di apprendimento. In questo lavoro si presentano come tipologie di feature ShapeIntensity, Zernike, DCT, FMT (distinte in FAFMT e DAFMT). 3.2. Proprietà delle feature L’invarianza per traslazione è garantita dalla fase di traslazione del centro di massa del blob d’interesse nel centro della ROI come descritto nel capitolo precedente. La varianza per scala dipende unicamente dal tipo di feature, quindi queste devono essere scelte in modo da renderle dipendenti dalla scala degli oggetti da analizzare. L’invarianza per rotazione la si può ottenere in quattro modi diversi:  Ruotare le ROI e per ogni rotazione calcolare le feature da passare alla SVM;  Agire direttamente sulle feature in modo che sia garantita questa proprietà;
  • 35. Feature 35  Ruotare i vettori di supporto della SVM;  Rendere direttamente le ROI invarianti per rotazione. La prima soluzione richiede di ruotare (per un numero finito di volte) tutte le ROI, calcolare per ogni rotazione le relative feature e passarle alla SVM; l’inconveniente è che deve essere la SVM ad “apprendere” che le ROI sono ruotate in base a quanto descritto dalle feature, ciò non garantisce l’invarianza per rotazione in tutti le possibili situazioni (la macchina a vettori di supporto può sbagliare nella classificazione). Altro inconveniente è che il tempo di elaborazione richiesto è elevato dato che sono coinvolte molte operazioni. La seconda soluzione non sempre è attuabile dato che dipende dalle formule impiegate per calcolare le feature. La soluzione basata sulla rotazione dei vettori di supporto ha l’inconveniente di complicare l’elaborazione perché è necessario mantenere l’associazione tra vettori di supporto e corrispondenti regioni d’interesse; altro svantaggio sta nel fatto che è necessario ruotare le ROI e poi ricalcolare le feature, ma le rotazioni non possono essere continue (altrimenti si avrebbero infiniti vettori di supporto che su calcolatore non è possibile rappresentare). Altro svantaggio è che è necessario stabilire in modo empirico il numero di rotazioni da impiegare. La quarta soluzione è migliore rispetto alle altre perché rende direttamente le ROI invarianti per rotazione; la soluzione che si propone si basa su una tecnica che sfrutta il gradiente sulle regioni d’interesse da analizzare. In questo caso, prima di procedere al calcolo dell’orientazione delle ROI, si applica un filtro gaussiano sulle ROI per ridurre il rumore. Sulle ROI così ottenute si procede con il calcolo del gradiente dove è il gradiente della ROI , è il versore lungo l’asse , è il versore lungo l’asse , è la componente del gradiente lungo la direzione e lungo l’asse . Per risalire all’orientazione della ROI si calcola il gradiente in corrispondenza del centro dell’oggetto in analisi; per fare questo, s’individuano i valori dei centri di e .
  • 36. Feature 36 dove sono le coordinate del centro della ROI e quindi anche delle matrici e . Sfruttando la funzione arcotangente si risale all’orientazione del centro della ROI e quindi della ROI medesima Ora facendo riferimento al piano cartesiano Figura 23 Piano cartesiano e ai segni di è possibile risalire alla posizione del vettore in uno dei quattro quadranti; le possibili situazioni sono (gli angoli sono in gradi):  e allora ;  e allora ;  e allora ;  e allora ;  e allora ;  e allora . Nella fase di classificazione basta calcolare l’orientazione come descritto in precedenza e ruotare la ROI in modo che l’angolo di rotazione sia
  • 37. Feature 37 La condizione di sopra garantisce che tutte le ROI abbiano orientazione zero; calcolando le feature sulle ROI così ottenute, si ha che queste sono invarianti per rotazione dato che le ROI sono sempre a orientazione zero (due ROI iniziali uguali ma con orientazioni diverse assumono la medesima orientazione dopo l’applicazione della procedura descritta sopra, quindi le feature calcolate sono uguali). Nel caso in cui le ROI debbano essere impiegate nella fase di addestramento della macchina a vettori di supporto, conviene procedere in un altro modo ossia ridurre le ROI sulle quali calcolare le feature. Infatti alcune feature non portano contenuto informativo che permetta di definire al meglio il modello della SVM; queste ROI sono poco robuste alla rotazione causa rumore o forme non regolari (oggetti piccoli dello sfondo), quindi si possono non considerare nella definizione del modello della SVM (in fase di addestramento) e ciò porta ai seguenti vantaggi:  Migliore definizione del modello della macchina a vettori di supporto dato che si considerano esclusivamente feature molto robuste all’invarianza per rotazione;  Si aumenta la velocità di addestramento della SVM dato che si elaborano meno ROI e quindi meno feature. Una ROI poco robusta è individuata ruotandola di trentacinque volte di dieci gradi, per ogni rotazione si verifica lo scostamento dell’orientazione da quella attesa; se lo scostamento supera i cinque gradi allora la ROI viene scartata. Si è deciso di rendere molto ridotto il margine per garantire una definizione accurata del modello della macchina a vettori di supporto. Se la ROI risulta robusta allora si procede come descritto in precedenza, ossia si esegue una rotazione della regione d’interesse in modo che l’orientazione sia di zero gradi prima di calcolare le feature. 3.3. ShapeIntensity La prima tipologia di feature che si presenta in questo lavoro serve per descrivere la forma dei blob, la distribuzione dell’intensità e le informazioni sul profilo dell’istogramma; questi descrittori non possono essere impiegati per ricostruire gli oggetti analizzati. La scelta di testare questa tipologia di descrittore deriva dal fatto che permette di descrivere in modo naturale le caratteristiche degli oggetti da analizzare. Le feature che si calcolano per ogni oggetto da analizzare sono: area, asse maggiore, asse minore, rapporto tra gli assi, intensità massima, intensità media, varianza, entropia, energia, contrasto, correlazione, omogeneità, skewness e curtosi; quasi tutte le feature menzionate appartengono ai descrittori di forma dell’istogramma del primo e secondo ordine. Oltre a queste se ne sono aggiunte altre per migliorare le informazioni relative alla forma degli oggetti (area, asse maggiore, asse minore, rapporto tra gli assi). La distribuzione di probabilità del primo ordine di un’immagine quantizzata può essere descritta da
  • 38. Feature 38 dove rappresenta la quantizzazione del livello d’intensità e è il pixel considerato nell’immagine F di coordinate . La stima di dell’istogramma del primo ordine è dove rappresenta il numero totale di pixel nella finestra centrata nel punto d’interesse e il numero di pixel d’ampiezza . Occorre osservare che la forma dell’istogramma permette di descrivere molte caratteristiche e in questo caso le feature prendono il nome di descrittori quantitativi di forma dell’istogramma del primo ordine: Le feature dell’istogramma del secondo ordine sono basate sulla definizione della distribuzione di probabilità congiunta di una coppia di pixel. Si considerano due pixel e di coordinate rispettivamente e posti a distanza con angolo rispetto all’asse orizzontale; quindi la distribuzione congiunta è data da dove sono le ampiezze quantizzate. La stima della distribuzione del secondo ordine dell’istogramma è data da
  • 39. Feature 39 dove rappresenta il numero totale dei pixel nella finestra di misura e il numero di occorrenze per = e = . I descrittori di forma dell’istogramma del secondo ordine sono: Dove Oltre a queste se ne sono aggiunte altre per migliorare le prestazioni di riconoscimento dei nuclei cellulari, ossia il valore massimo d’intensità della cellula, asse maggiore e minore dell’ellisse che contiene il blob considerato e il loro rapporto, area del blob ottenuta tramite la segmentazione basata sulla sogliatura di Otsu. 3.4. Zernike La trasformata di Zernike tipicamente si usa per l’analisi di oggetti di forma circolare di un certo raggio, quindi in questo lavoro si presta bene alla generazione di descrittori. L’inconveniente principale è che è necessario usare un numero molto elevato di feature (molti coefficienti) per non perdere troppe informazioni riguardanti l’oggetto da descrivere; ciò significa che è necessario presentare alla macchina a vettori di supporto vettori con molti elementi (le feature) ma questo non implica necessariamente una migliore definizione del modello della SVM.
  • 40. Feature 40 Le funzioni di Zernike sono calcolate come il prodotto tra i polinomi di Zernike e le funzioni trigonometriche coseno e seno: Dove rappresenta il raggio e ө l’angolo, l’indice è chiamato grado della funzione o del polinomio di Zernike, mentre con pari ed è chiamato ordine di Zernike. I polinomi sono espressi come: Di seguito si riportano le prime dieci funzioni di Zernike tipiche che si utilizzano nelle applicazioni pratiche: Queste funzioni sono un’utile base per la decomposizione di funzioni complesse perché sono ortogonali sul cerchio di raggio unitario. Utilizzando tale ortogonalità, una qualsiasi funzione definita sul cerchio, può essere espressa come somma delle mode di Zernike (come nel caso delle funzioni coseno e seno nella trasformata di Fourier) Se si rappresentano i dati in questo modo, è possibile descrivere deformazioni complesse in termini di un numero ridotto di coefficienti associati alle mode dominanti di Zernike.
  • 41. Feature 41 I coefficienti (detti momenti di Zernike) possono essere calcolati dall’inversione dell’equazione precedente se è nota la funzione : Il numero di coefficienti dipende dal grado del polinomio di Zernike e più questo è elevato migliore è la rappresentazione dell’oggetto in analisi. Da notare che Zernike si può calcolare solo all’interno di un cerchio, quindi l’oggetto da analizzare deve risiedere completamente nel cerchio inscritto nella ROI di diametro pari alla lunghezza di un lato della ROI. Occorre osservare che non si può aumentare il grado a un valore arbitrario dato che la velocità di calcolo diminuisce notevolmente già da grado dieci in poi. Di seguito si riporta un esempio di oggetto sul quale si calcola un certo numero di coefficienti di Zernike e poi la relativa ricostruzione; rispettivamente i gradi del polinomio sono dodici (novantuno feature), venti (duecento trentuno feature) e poi trenta (quattrocento novantasei feature). Figura 24 Ricostruzioni della ROI con diversi gradi per Zernike Dalle immagini di sopra si può immediatamente notare che per rappresentare con dettaglio elevato le caratteristiche dell’oggetto in questione sono necessari molti coefficienti; il passaggio da grado dodici a venti non produce un miglioramento descrittivo significativo, mentre con grado trenta si ha una buona descrizione ma il problema è che il tempo di
  • 42. Feature 42 elaborazione richiesto è eccessivo dato che ci sono tantissime feature da calcolare (quattrocentonovantasei). 3.5. Trasformata di Fourier-Mellin, AFMT, DAFMT e FAFMT Un altro tipo di feature considerato in questo lavoro di tesi si basa sulla trasformata di Fourier-Mellin (FMT); i principali problemi della FMT classica sono legati nell’accuratezza ed efficienza della sua approssimazione numerica, il vantaggio è che è possibile avere una rappresentazione accurata dell’oggetto anche con pochi coefficienti. La trasformata di Fourier–Mellin di una funzione continua è data da e deve valere dove è la rappresentazione dell’immagine nel piano polare ( è il raggio e l’angolo); questa è una trasformata globale che si applica su ogni pixel dell’immagine. Per poterla calcolare è necessario definire il centro delle coordinate; l’inconveniente principale è legato al calcolo dell’integrale nell’espressione di cui sopra, la FMT esiste per funzioni che sono equivalenti a nelle vicinanze dell’origine per costante e . Occorre osservare che la funzione di rappresentazione dell’immagine non necessariamente soddisfa tale condizione dato che nelle vicinanze del centro dell’immagine (tipicamente corrisponde al centro di “massa” dell’oggetto considerato) non assume valore zero; come conseguenza non è sommabile e l’integrale per il calcolo di diverge. Altra osservazione da fare è che la FMT è invariante per rotazione e scala di (cioè scala di ROI no dell’oggetto da analizzare). A causa della singolarità nell’origine delle coordinate, Ghorbel [17] ha proposto di calcolare la FMT classica sulla funzione in luogo di dove è fissato e deve essere un numero reale strettamente positivo; in questo caso esiste sempre la trasformata FMT e prende il nome di trasformata di Fourier–Mellin Analitica (AFMT) di . Di seguito si riporta l’AFMT dove . L’anti trasformata IAFMT è data da:
  • 43. Feature 43 Per , dove è l’angolo di rotazione e il fattore di scala rispetto a , si ha che i due oggetti e hanno la stessa forma quindi sono simili. L’AFMT di g è data da che si può anche riscrivere come Si può osservare che l’AFMT può essere utilizzata per calcolare feature invarianti per rotazione (basta considerare il modulo dell’AFMT); da notare che in questo lavoro è costante dato che le feature sono calcolate sempre su finestre (ROI) della stessa dimensione (nel caso in cui la finestra cambiasse dimensione allora la trasformata dipenderebbe anche dal fattore ). Ora che si è definita l’AFMT e IAFMT per funzioni reali è necessario passare alla rappresentazione discreta. Questa, però, non esiste direttamente e per ricavarla è necessario stimare la trasformata diretta e inversa. L’invarianza in rotazione degli oggetti è già gestita mediante la tecnica basata sul gradiente descritta all’inizio di questo capitolo, ma è possibile rafforzare questa condizione considerando il modulo della trasformata; l’inconveniente è che in questo modo si perde l’informazione sulla fase e di conseguenza non è più possibile ricostruire l’oggetto iniziale a partire dalle feature (questo non è un problema perché non è necessario fare la ricostruzione). Per l’approssimazione discreta della trasformata AFMT si considera con un’immagine discreta definita su una griglia rettangolare finita; non esiste fuori dal piano 2D, la sua AFMT non è a banda limitata e richiede un numero infinito di armoniche per descrivere l’oggetto in questione. Su calcolatore è possibile rappresentare un numero finito di armoniche e quindi si perde una parte dell’informazione iniziale. L’AFMT discreta a estensione finita è calcolata per e ; nel lavoro di Goh [18] si suggerisce di utilizzare . Per funzioni reali l’AFMT è simmetrica, quindi indicando con la linea il complesso coniugato si ha: D’ora in poi con si denota la ricostruzione di da un numero finito di armoniche Fourier–Mellin; per la scelta di e non ci sono delle regole predefinite,
  • 44. Feature 44 tipicamente si procede in modo empirico. Di seguito si descrivono le due approssimazioni possibili considerate. La prima approssimazione che si considera è quella diretta di AFMT (DAFMT) e consiste nel campionare nel piano discreto polare e stimare gli integrali di Fourier–Mellin. La griglia polare di campionamento si costruisce dalle intersezioni tra cerchi concentrici di raggi incrementati di un valore fissato e linee radiali generate dal centro dell’immagine. I passi di campionamento angolari e radiali sono rispettivamente dove rappresenta il raggio minimo del disco che è in grado di contenere l’oggetto. I punti di campionamento quando non corrispondono alla griglia dei pixel dell’immagine sono calcolati per interpolazione; la rappresentazione polare dell’immagine è una matrice i cui valori corrispondono a dove e sono rispettivamente il raggio d’indice e cerchio d’indice . Un esempio di campionamento in coordinate polari è riportato di seguito. Figura 25 Campionamento con coordinate polari La trasformata diretta DAFMT è con La trasformata inversa della DAFMT è data da
  • 45. Feature 45 con La seconda approssimazione possibile consiste nel cambiare la variabile d’integrazione da r a q = ln(r), quindi si può riscrivere il tutto come la trasformata di Fourier dell’oggetto deformato . Questa trasformata prende il nome di trasformata veloce FMT (FAFMT) ed è data da con La FAFMT consiste nel campionare la nel piano log-polar e stimare Fourier-Mellin; la conversione numerica da coordinate cartesiane in log-polar avviene come nel caso precedente eccetto che i cerchi in questo caso sono separati esponenzialmente. Un esempio di campionamento con log-polar è riportato di seguito. Figura 26 Campionamento con coordinate log-polar Per calcolare l’AFMT con questo tipo d’approssimazione si utilizza la trasformata discreta 2D con coordinate log–polar :
  • 46. Feature 46 La trasformata inversa è data da 3.6. Trasformata DCT La trasformata DCT (Discrete Cosine Transform) è tipicamente utilizzata nelle elaborazioni delle immagini e video; la procedura di calcolo delle feature basata sulla DCT consiste nel calcolare la DCT direttamente sulla ROI da analizzare e poi selezionare i coefficienti (le feature) da considerare. Se con s’indica il valore in posizione del pixel nell’immagine di dimensione e con il coefficiente DCT della matrice delle frequenze allora sia ha: Per l’anti trasformata: La DCT permette di passare da una rappresentazione nel dominio spaziale a quello della frequenza. L’elemento è il valore massimo presente nel blocco trasformato (è la componente continua), gli altri elementi dicono quanto potere spettrale è presente. Le componenti a bassa frequenza rendono conto dell’andamento generale della luminosità nell’immagine, mentre quelle ad alta frequenza codificano i dettagli e il rumore. Per stabilire il numero di coefficienti da usare come feature è conveniente fare un’analisi preliminare di tutte le ROI in cui si calcolano le energie dei singoli coefficienti della DCT; a questo punto è possibile individuare l’energia media complessiva delle ROI e selezionare il numero di coefficienti in modo che la somma delle energie di questi dia come valore quello più vicino (per eccesso) a una soglia prestabilita dall’utente. Di seguito si riporta un esempio dell’andamento dell’energia di una ROI, si può notare che la DCT ha la tendenza a concentrare l’energia nei coefficienti in alto a sinistra.
  • 47. Feature 47 Figura 27 Energia della DCT Si riporta un esempio di ricostruzione della ROI con una finestra dodici (centoquarantaquattro feature), quindici (duecentoventi cinque feature), venti (quattrocento feature) e trenta (novecento feature). Si può notare che dopo una finestra quindici, il miglioramento nella ricostruzione della ROI è minimo. Figura 28 Ricostruzione di una ROI dai coefficienti DCT
  • 48. Macchina a vettori di supporto 48 4. Macchina a vettori di supporto 4.1. Introduzione Dopo aver rappresentato opportunamente le ROI tramite le feature, è necessario procede con la classificazione delle medesime; per far questo si usa un opportuno algoritmo d’apprendimento che dopo l’addestramento sia in grado di eseguire nel miglior modo possibile tale classificazione. Gli algoritmi d’apprendimento stanno rivestendo un ruolo sempre più importante in tutti quei campi in cui è necessario risolvere un problema di classificazione:  Binario, ossia ci sono solo due possibili risposte;  Multi-classe cioè l’algoritmo è in grado di fornire più di due risposte. Allo stato attuale esistono vari classificatori binari ma si è deciso di impiegare la macchina a vettori di supporto (questa è implementata dalla libreria open source libsvm); si è deciso di sfruttare la SVM (Support Vector Machine) per i seguenti motivi:  Possibilità di risolvere problemi di classificazione generali con tecniche di programmazione quadratica o lineare ben note;  Costo computazionale ridotto e nessun problema di convergenza. Le reti neurali a singolo strato sono molto efficienti ma si possono impiegare nel caso in cui i dati sono linearmente separabili. Le reti multistrato possono rappresentare funzioni non lineari ma l’addestramento è complesso, inoltre le tecniche più diffuse permettono di ottenere i pesi della rete tramite la risoluzione a un problema di ottimizzazione che però presenta un numero indeterminato di minimi locali;  Compatta l’informazione contenuta nel data set d’input tramite i vettori di supporto;  Gestisce dati con molte caratteristiche descrittive;  La complessità del classificatore è legata ai vettori di supporto e non alla dimensione dello spazio delle feature. Questo comporta ridotto overfitting, ossia dopo che la macchina è stata addestrata sul training set e l’errore minimizzato, questa tende ad associare ai nuovi dati in ingresso un errore ridotto ossia è addestrata anche per generalizzare le nuove situazioni che a essa si presentano. Ultima osservazione è che la SVM è adatta per risolvere problemi binari, quindi in un problema di classificazione multi-classe è necessario costruire una rete di macchine che richiede una gestione dell’intera struttura; nel problema che questo lavoro si prefigge di risolvere è possibile impiegare una singola macchina dato che la classificazione cellulare in questo caso è binaria. 4.2. La macchina L’algoritmo della SVM fa riferimento alla teoria di apprendimento statistico di Vapnik- Chervonenkis (VC); questa teoria caratterizza le proprietà degli algoritmi di apprendimento
  • 49. Macchina a vettori di supporto 49 che dopo l’addestramento sono in grado di generalizzare. Una SVM è un classificatore binario che apprende il confine tra esempi appartenenti a due classi diverse. Gli esempi d’input sono proiettati in uno spazio multidimensionale e l’algoritmo individua un iperpiano di separazione in questo spazio in modo tale da massimizzare la distanza dagli esempi di training più vicini (questa distanza prende il nome di margine). Per descrivere il processo d’apprendimento è necessario introdurre un insieme di funzioni di soglia dove è un insieme di parametri reali che definiscono la macchina, le funzioni si chiamano ipotesi e l’insieme è lo spazio delle ipotesi . Ora si considera un insieme di esempi già classificati presi da una distribuzione sconosciuta : La macchina deve trovare un’ipotesi che minimizzi il rischio, questo è in funzione di : L’errore teorico rappresenta la misura della bontà dell’ipotesi nel predire la classe del punto . L’insieme genera una SVM in grado di risolvere un particolare problema di classificazione binaria; la distribuzione di probabilità non è nota quindi non è possibile calcolare direttamente l’errore teorico ma è necessario procedere in modo diverso per individuare . L’errore empirico è dato da dove è il numero delle osservazioni a disposizione; per si ha che l’errore empirico converge in probabilità all’errore teorico. Prima di procedere con la descrizione della classificazione mediante macchina a vettori di supporto è necessario introdurre il concetto di dimensione VC dello spazio delle ipotesi ; questo è un numero naturale che rappresenta il più grande numero di punti che possono essere separati in tutti i modi possibili dall’insieme delle ipotesi . La dimensione VC è una misura della complessità dell’insieme e in generale per un insieme d’iperpiani separatori di dimensione è .
  • 50. Macchina a vettori di supporto 50 La teoria della convergenza uniforme in probabilità sviluppata da Vapnik e Chervonenkis fornisce un limite alla deviazione dell’errore empirico da quello teorico; fissato con si ha: Dove è la dimensione VC di ; da questa espressione si ha che per ottenere l’errore teorico minimo è necessario minimizzare la somma dell’errore empirico e della confidenza. L’algoritmo SVM risolve efficientemente il problema di classificazione binaria minimizzando contemporaneamente sia la dimensione VC sia il numero di errori sul training set. 4.2.1. Classificatore lineare su dati linearmente separabili In questo caso specifico si ha che l’insieme dei dati d’ingresso, quindi le osservazioni, sono linearmente separabili. La macchina d’apprendimento deve individuare il miglior iperpiano che li separa in questa situazione. Un insieme di osservazioni è linearmente separabile se esiste una coppia tale che con con Le seguenti funzioni quindi rappresentano lo spazio delle ipotesi con s’indica il discriminatore binario. Un esempio di separazione lineare è riportato di seguito: Figura 29 Classificatore lineare Per quanto riguarda la notazione che sarà utilizzata d’ora in poi, si ha che: lo spazio d’input è indicato con , lo spazio d’output , ipotesi o , training set ed errore su un dato di test . La distanza dell’iperpiano associato alla coppia dal generico punto è
  • 51. Macchina a vettori di supporto 51 cioè è funzione di ; se s’impone che allora la distanza dell’iperpiano dal punto più vicino deve essere maggiore di . Per ridurre il numero d’iperpiani, e quindi migliorare la velocità di ricerca del piano ottimale, si considerano soltanto gli iperpiani che non intersecano nessuna delle sfere di raggio centrate nei punti dell’insieme delle osservazioni. L’iperpiano ottimale è quello che permette di classificare correttamente il training set e ha minima cioè massimizza il margine alle osservazioni del training set; la norma piccola ha come conseguenza quella di tenere la dimensione VC piccola. Di seguito si riportano due soluzioni al medesimo problema binario, però la seconda garantisce un minor rischio di overfitting ossia ha una migliore generalizzazione (margine più elevato): Figura 30 Differenza fra margini SVM Il problema della ricerca dell’iperpiano ottimo si può descrivere tramite la con legati al vincolo