presentazione valutazione di descrittori per il rilevamento automatico di nuclei cellulari in...
DESCRIPTION
PresentazioneTRANSCRIPT
UNIVERSITA’ DEGLI STUDI DI TRIESTEFACOLTA’ DI INGEGNERIA
CORSO DI LAURE SPECIALISTICA IN INGEGNERIA INFORMATICA
Tesi di laurea
“VALUTAZIONE DI DESCRITTORI PER IL RILEVAMENTE AUTOMATICO DI NUCLEI CELLULARI IN IMMAGINI DI
MICROSCOPIA A FLUORESCENZA”
RelatoreFelice Andrea Pellegrino
CorrelatoreWalter Vanzella
LaureandoPaolo Fabris
• Introduzione• Algoritmo• Benchmark• Conclusioni
Indice
• Introduzione• Algoritmo• Benchmark• Conclusioni
Indice
Obbiettivi:• Automatizzare la ricerca di nuclei cellulari in immagini
di microscopia a flurescenza
Vantaggi:• Riduzione del tempo richiesto per portare a termine le
indagini• Oggettività dei criteri (ripetibilità dei risultati)
Introduzione: obbiettivi del progetto
Introduzione: Microscopia a flurescenza
Introduzione: Microscopia a flurescenza
Introduzione: problemi da affrontare
Classificazione:• Oggetti molto diversi fra loro (per nuclei cellulari e
non)• Elevata soggettività nella classificazione manuale
(10.2273% di scostamento tra le classificazioni manuali)
Introduzione: problemi da affrontare
• Introduzione• Algoritmo• Benchmark• Conclusioni
Indice
Passi di elaborazione:• Rimozione della luminosità non uniforme• Estrazione delle ROI• Calcolo delle feature• Algoritmo d’apprendimento
Implementazione:• Ambiente MATLAB• mex libsvm (elaborazione parallela su CPU)• mex CUDA C (elaborazione parallela su GPU)
Algoritmo: strategia di fondo
Algoritmo: luminosità non uniforme
Algoritmo: distribuzione della luminosità
Algoritmo: luminosità uniforme
Strategia:• Filtraggio DOG• Sogliatura globale sull’immagine filtrata• Individuazione dei massimi locali
Vantaggi rispetto al filtro LOG:• Semplicità d’implementazione• Velocità di computazione• Buona approssimazione del filtro LOG per
Algoritmo: estrazione dei punti d’interesse
Algoritmo: estrazione dei punti d’interesse con sogliatura globale
Strategia:• Segmentazione (con procedura watershed) che
associa a ogni punto d’interesse un blob• Genera ROI quadrata centrata nel punto d’interesse• Trasla il contenuto in modo che il centro di massa (del
blob associato) coincide con il centro della ROI• Rimuove oggetti indesiderati con la funzione
sigmoidale
Algoritmo: estrazione delle ROI
Prorpietà da garantire per le feature:• Invarianza alla traslazione (centro di massa)• Invarianza alla rotazione• Varianza per scala
Vantaggi:• Definizione accurata del modella della macchina
d’apprendimento dopo la fase di addestramento e minimizzazione dell’errore per separare opportunamente le osservazioni
Algoritmo: feature
Strategia:• Filtraggio gaussiano• Calcolo del vettore gradiente nel centro della ROI• Individuazione dell’orientazione dell’oggetto (in base
all’orientazione del vettore gradiente)• Rotazione del contenuto della ROI per portare
l’oggetto a orientazione zero
Vantaggi:• Semplice da implementare• Veloce da computare• Molto efficace per individuare l’orientazione
dell’oggetto da analizzare nella ROI
Algoritmo: feature, invarianza per rotazione
Tipi di feature:• ShapeIntensity• Zernike• AFMT (approssimazioni discrete con FAFMT e DAFMT)• DCT
Algoritmo: feature
Vantaggi:• Costo computazionale ridotto e nessun problema di
convergenza• Compatta l’informazione nei vettori di supporto• Gestisce dati con molte caratteristiche descrittive• Complessità del classificatore binario legata ai vettori di
supporto (no allo spazio delle feature) e ridotto overfitting
SVM:• Mappa le osservazioni in uno spazio multidimensionale• Individua l’iperpiano di separazione che massimizza il
margine (ridotto overfitting)
Algoritmo: macchina d’apprendimento SVM
Vantaggi:• Indipendenza delle curve alla variazione delle
proporzioni tra le distribuzioni delle due classi (osservazioni positive e negative) se le prestazioni effettive della macchina non cambiano
Matrice di confusione
Algoritmo: macchina d’apprendimento SVM, valutazione delle prestazioni con curve ROC
Golden testTest Classe 1 (ROI positiva) Classe 2 (ROI
negativa)
Y TP FPN FN TN
Algoritmo: macchina d’apprendimento SVM, valutazione delle prestazioni con curve ROC
;
;
;
.
Metriche comuni:
Algoritmo: macchina d’apprendimento SVM, valutazione delle prestazioni con curve ROC
;
;
;
.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
False Positive Rate
Tru
e P
ositiv
e R
ate
ROC curve of ( AUC = 0.95862 )
Algoritmo: macchina d’apprendimento SVM, valutazione delle prestazioni con curve ROC
;
;
;
.
AUC, capacità discriminante in un test (Swets):• AUC = 0.5 test non informativo• 0.5 < AUC <= 0.7 test poco accurato• 0.7 < AUC <= 0.9 test moderatamente accurato• 0.9 < AUC < 1.0 test altamente accurato• AUC = 1.0 test perfetto
• Introduzione• Algoritmo• Benchmark• Conclusioni
Indice
Benchmark: considerazione
• Si ha a disposizione un insieme di 132 immagini su cui calibrare il filtro DOG e addestrare la macchina d’apprendimento (4704 nuclei cellulari classificati manualmente)
• Differenza nel caso di classificazione manuale tra gli esperti del 10.2273%
• Nella calibrazione del filtro DOG si ha che con i parametri migliori non si rivelano 2.5751% landmark
• Nei grafici seguenti si comparano le macchina d’apprendimento addestrate sul training set con i migliori parametri rilevati dall’algoritmo (AUC massima)
Benchmark: kernel polinomiale
ShapeIntensity
Zernike
FAFMT
DAFMT
DCT
0.9 0.905 0.91 0.915 0.92 0.925 0.93 0.935 0.94 0.945 0.95
0.946700000000001
0.9165
0.9325
0.9295
0.9375
Kernel polinomiale
AUC
AUC
ShapeIntensity
Zernike
FAFMT
DAFMT
DCT
0.93 0.935 0.94 0.945 0.95 0.955 0.96 0.965
0.949600000000002
0.9404
0.958600000000003
0.9564
0.9475
Kernel RBF
AUC
AUC
ShapeIntensity
Zernike
FAFMT
DAFMT
DCT
0.895 0.9 0.905 0.91 0.915 0.92 0.925 0.93 0.935 0.94 0.945
0.9416
0.9109
0.9245
0.9385
0.9136
Kernel sigmoidale
AUC
AUC
Benchmark: migliori feature e kernel
ShapeIntensity
FAFMT
ShapeIntensity
Polin
omia
leRB
FSi
gmoi
dale
0.93 0.935 0.94 0.945 0.95 0.955 0.96 0.965
0.946700000000001
0.958600000000001
0.9416
Migliori feature e kernel
AUC
AUC
Benchmark: valutazione del conteggio
Data1 (3544)
dot 400 4 (821)
Dot100 (1450)
dots 200nm 1 (538)
t9_12 DAPI ctrl (738)
Data2 (1160)
ctrl 30 aprile 2010 (715)
ctrl2 30 aprile 2010 (736)
t9_12 DAPI 400nm (973)
Pillar100 (2220)
-10 -8 -6 -4 -2 0 2 4 6 8
3.4142
-7.06459999999998
1.3793
3.9033
0.677500000000002
2.931
6.2937
3.5326
-7.5026
-5.1351
Valutazione del conteggio
Errore nel conteggio
%
Benchmark: velocità di elaborazione
ExtractCircularBlob
ExtractDOGError
GetCircularSeed
BenchmarkUserSeeds
GetSeeds
AutomaticDOG
AutomaticDOGImproved
Mean
STDV
0 2 4 6 8 10 12 14
2.26
12.21
3.13
1.85
1.84
2.06
1.67
Incremento prestazionale su GPU
Incremento prestazionale su GPU
Incremento
• Introduzione• Soluzione proposta• Benchmark• Conclusioni
Conclusioni
• Con feature FAFMT e kernel RBF si hanno le prestazioni migliori nel rilevamento di nuclei cellulari
• ShapeIntensity migliore per kernel polinomiale e sigmoidale; quasi migliore per RBF a dimostrazione del fatto che i descrittori impiegati mettono in risalto gli aspetti salienti degli oggetti
• Nel caso peggiore si ha un errore nel conteggio di -7.5026 (causa immagini troppo rumorose)
• L’errore medio nel conteggio è di 4.1834% (buon comportamento dell’algoritmo nonostante il termine soggettivo non trascurabile in classificazione manuale)
Conclusioni: osservazioni
• Testare nuove feature, in particolare aggiungere nuovi descrittori alla ShapeIntensity
• Impiegare una tecnica più efficace della funzione sigmoidale per rimuove gli oggetti indesiderati in una ROI
• Libreria MKLAB che implementa libsvm per kernel RBF in CUDA C
• Riscrivere eventualmente le mex CUDA C in OpenCL per rendere l’applicazione indipendente dal produttore della GPU (NVIDIA)
Conclusioni: sviluppi futuri
Grazie per l’attenzione