Tesi Magistrale - Francesco Paparella
Transcript
Tesi Magistrale - Francesco Paparella
UNIVERSITÀ DEGLI STUDI DI BARI “ALDO MORO” DIPARTIMENTO DI INFORMATICA CORSO DI LAUREA MAGISTRALE IN INFORMATICA TESI DI LAUREA IN ELABORAZIONE DI IMMAGINI E TECNICHE FUZZY ANNOTAZIONE FUZZY E RETRIEVAL DI FORME MEDIANTE CLUSTERING SEMI-SUPERVISIONATO Relatrice: Chiar.ma Prof.ssa Giovanna CASTELLANO Correlatrice: Dott.ssa Maria Alessandra TORSELLO Laureando: Francesco PAPARELLA Anno Accademico 2011/2012 INDICE ELENCO DELLE FIGURE ........................................................................................... 1 ELENCO DELLE TABELLE ........................................................................................ 3 INTRDOZUIONE ........................................................................................................... 7 CAPITOLO I. ANNOTAZIONE DI IMMAGINI ............................................................................... 10 1.1 Cos’è l’annotazione di immagini ........................................................................ 11 1.2 Tecniche per l’annotazione di immagini ............................................................ 14 1.2.1 Vantaggi e svantaggi delle tecniche per l’annotazione di immagini ............................................................................................... 16 1.3 Annotazione automatica vs. manuale ................................................................. 17 1.4 Valutare l’efficacia dell’annotazione .................................................................. 18 1.4.1 Precision e recall .................................................................................... 18 1.4.1.1 Precision e recall per immagini ................................................. 18 1.4.2 Parole chiave con recall maggiore di 0 .................................................. 19 1.4.3 Punteggio normalizzato ......................................................................... 19 1.5 Annotazione di immagini con apprendimento non supervisionato .................... 20 1.5.1 Modelli parametrici ............................................................................... 20 1.5.2 Modelli non parametrici ........................................................................ 25 1.6 Annotazione di immagini con apprendimento supervisionato ........................... 27 1.6.1 Classificazione basata su scene globali ................................................. 29 1.6.2 Classificazione basata su oggetti locali ................................................. 32 1.6.3 Classificazione multi-livello .................................................................. 34 1.7 Annotazione di forme: una breve panoramica .................................................... 36 CAPITOLO II. IMAGE RETRIEVAL ..................................................................................................38 2.1 Introduzione ........................................................................................................39 2.2 Text based Vs. Content based .............................................................................45 2.3 Il processo di Content Based Image Retrieval ....................................................47 2.4 Esempi di sistemi CBIR......................................................................................49 CAPITOLO III. CLUSTERING DI FORME SEMI-SUPERVISIONATO .........................................52 3.1 Introduzione al clustering ...................................................................................53 3.1.1 Definizioni e notazione..........................................................................54 3.1.2 I passi di un processo di clustering ........................................................55 3.1.3 Misure di similarità................................................................................56 3.1.4 Approccio fuzzy ....................................................................................58 3.2 Algoritmo Fuzzy C-Means non supervisionato ..................................................60 3.2.1 Fuzzy clustering .....................................................................................60 3.2.2 Descrizione dell’algoritmo ....................................................................64 3.2.3 I dati .......................................................................................................67 3.3 Algoritmo Fuzzy C-Means semi-supervisionato ................................................67 3.3.1 Clustering di forme semi-supervisionato ...............................................69 3.3.2 Annotazione fuzzy di forme ..................................................................73 CAPITOLO IV. SPERIMENTAZIONE ..................................................................................................78 4.1 Introduzione ........................................................................................................79 4.2 Sperimentazione algoritmo Fuzzy C-Means non supervisionato .......................81 4.3 Sperimentazione algoritmo Fuzzy C-Means semi-supervisionato .....................86 4.3.1 Sperimentazione con numero di cluster pari a 10..................................86 4.3.1.1 Etichettatura manuale .............................................................87 4.3.1.2 Etichettatura random ..............................................................99 4.3.1.3 Etichettatura automatica .......................................................111 4.3.1.4 Fuzzy C-Means non supervisionato .....................................124 4.3.1.5 Valutazione dei risultati........................................................128 4.3.1.6 Annotazione fuzzy ................................................................130 4.3.2 Sperimentazione con numero di cluster pari a 15................................ 133 4.3.2.1 Etichettatura manuale ........................................................... 134 4.3.2.2 Etichettatura random ............................................................ 140 4.3.2.3 Etichettatura automatica ....................................................... 146 4.3.2.4 Fuzzy C-Means non supervisionato ..................................... 152 4.3.2.5 Valutazione dei risultati........................................................ 158 4.3.2.6 Annotazione fuzzy................................................................ 161 4.3.3 Valutazione delle sperimentazioni ...................................................... 163 4.4 Sperimentazione retrieval ................................................................................. 165 4.4.1 Introduzione ......................................................................................... 165 4.4.2 Risultati sperimentali con numero di cluster pari a 10 ........................ 167 4.4.3 Risultati sperimentali con numero di cluster pari a 15 ........................ 175 4.4.4 Valutazione dei risultati ....................................................................... 182 4.5 Sperimentazione immagini reali ....................................................................... 182 4.5.1 Introduzione ......................................................................................... 182 4.5.2 Annotazione fuzzy ............................................................................... 185 4.5.3 Retrieval .............................................................................................. 190 4.5.4 Valutazione dei risultati ....................................................................... 197 CAPITOLO V. CONCLUSIONI E SVILUPPI FUTURI ................................................................... 198 5.1 Possibili sviluppi futuri ..................................................................................... 199 BIBLIOGRAFIA ........................................................................................................ 201 ELENCO DELLE FIGURE Figura 1.1: Architettura di un sistema di image annotation ................................................ 13 Figura 1.2: Processo di training del modello di co-occorrenza ........................................... 21 Figura 1.3: Processo di test del modello di co-occorrenza .................................................. 21 Figura 1.4: Modello di Barnard e Forsyth ........................................................................... 23 Figura 1.5: Modello Corr-LDA ........................................................................................... 24 Figura 1.6: Modello GCap ................................................................................................... 26 Figura 1.7: Sistema di annotazione di immagini basato sulla classificazione ..................... 28 Figura 1.8: Insieme delle istanze positive e negative .......................................................... 33 Figura 1.9: Esempio di concetto di ontologia utilizzato da Gao et. al. ................................ 35 Figura 2.1: Architettura di un sistema CBIR ....................................................................... 48 Figura 2.2: Schermata del sistema SQUID .......................................................................... 49 Figura 2.3: Schermata del sistema MARS........................................................................... 50 Figura 2.4: Schermata del sistema CIRES........................................................................... 50 Figura 2.5: Schermata del sistema QUICKLOOK. ............................................................. 51 Figura 3.1: Sequenza dei passi di un processo di clustering ............................................... 55 Figura 3.2: Confronto tra cluster fuzzy (F e F ) e cluster hard (H e H ) ......................... 59 Figura 3.3: Panoramica dell’approccio proposto ................................................................. 68 Figura 4.1: Immagini di esempio del data-set di riferimento .............................................. 79 Figura 4.2: Valori DCC ottenuti con l’algoritmo FCM non supervisionato ....................... 85 Figura 4.3: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM semi-supervisionato ................................................................................................... 95 Figura 4.4: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM semi-supervisionato ................................................................................................ 107 Figura 4.5: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM semi-supervisionato ................................................................................................ 120 Figura 4.6: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM non supervisionato .................................................................................................. 125 Figura 4.7: Confronto delle cardinalità delle categorie dominanti con numero di cluster pari a 10................................................................................................................. 128 Figura 4.8: Confronto delle cardinalità delle categorie dominanti con numero di forme da etichettare pari a 72 ....................................................................................... 129 Pagina |1 Elenco delle figure Figura 4.9: Box-plot rappresentante la distribuzione delle forme etichettate................... 130 Figura 4.10: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM semi-supervisionato ................................................................................................ 136 Figura 4.11: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM semi-supervisionato ................................................................................................ 142 Figura 4.12: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM semi-supervisionato ................................................................................................ 148 Figura 4.13: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM non supervisionato .................................................................................................. 154 Figura 4.14: Confronto delle cardinalità delle categorie dominanti con numero di cluster pari a 15................................................................................................................. 159 Figura 4.15: Confronto delle cardinalità delle categorie dominanti con numero di forme da etichettare pari a 72 ....................................................................................... 159 Figura 4.16: Box-plot rappresentante la distribuzione delle forme etichettate................. 161 Figura 4.17: Confronto tra le due tipologie di algoritmi .................................................. 164 Figura 4.18: Panoramica dell’approccio proposto ............................................................ 166 Figura 4.19: Esempio di query ottenute applicando l’algoritmo FCM semi-supervisionato e non supervisionato ........................................................................ 167 Figura 4.20: Valori di precision con numero di cluster pari a 10 ..................................... 172 Figura 4.21: Valori di recall con numero di cluster pari a 10 ........................................... 172 Figura 4.22: Box-plot rappresentante la distribuzione dei valori di precision ................. 173 Figura 4.23: Box-plot rappresentante la distribuzione dei valori di recall ....................... 174 Figura 4.24: Valori di precision con numero di cluster pari a 15 ..................................... 179 Figura 4.25: Valori di recall con numero di cluster pari a 15 ........................................... 179 Figura 4.26: Box-plot rappresentante la distribuzione dei valori di precision ................. 180 Figura 4.27: Box-plot rappresentante la distribuzione dei valori di recall ....................... 181 Figura 4.28: Immagini di esempio del data-set reale........................................................ 183 Figura 4.29: Valori di precision ........................................................................................ 194 Figura 4.30: Valori di recall ............................................................................................. 194 Figura 4.31: Box-plot rappresentante la distribuzione dei valori di precision ................. 195 Figura 4.32: Box-plot rappresentante la distribuzione dei valori di recall ....................... 196 Pagina |2 ELENCO DELLE TABELLE Tabella 4.1: Suddivisione delle categorie presenti nel data-set ........................................... 80 Tabella 4.2: Risultati algoritmo FCM con numero di cluster pari a 9 ................................. 81 Tabella 4.3: Risultati algoritmo FCM con numero di cluster pari a 10 ............................... 82 Tabella 4.4: Risultati algoritmo FCM con numero di cluster pari a 11 ............................... 82 Tabella 4.5: Risultati algoritmo FCM con numero di cluster pari a 12 ............................... 83 Tabella 4.6: Risultati algoritmo FCM con numero di cluster pari a 13 ............................... 83 Tabella 4.7: Risultati algoritmo FCM con numero di cluster pari a 14 ............................... 84 Tabella 4.8: Risultati algoritmo FCM con numero di cluster pari a 15 ............................... 84 Tabella 4.9: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 12 ......................................................................................................... 87 Tabella 4.10: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 24 ......................................................................................................... 87 Tabella 4.11: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 36 ......................................................................................................... 88 Tabella 4.12: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 48 ......................................................................................................... 89 Tabella 4.13: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 60 ......................................................................................................... 90 Tabella 4.14: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 72 ......................................................................................................... 92 Tabella 4.15: Tabella riepilogativa relativa alla etichettatura “manuale” ........................... 94 Tabella 4.16: Tabella relativa alla prova migliore dell’etichettatura “manuale” ................ 95 Tabella 4.17: Prototipi relativi alla prova migliore con etichettatura “manuale” ................ 98 Tabella 4.18: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 12 ......................................................................................................... 99 Tabella 4.19: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 24 ......................................................................................................... 99 Tabella 4.20: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 36 ...................................................................................................... 100 Tabella 4.21: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 48 ...................................................................................................... 101 Pagina |3 Elenco delle tabelle Tabella 4.22: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 60 ...................................................................................................... 102 Tabella 4.23: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 72 ...................................................................................................... 104 Tabella 4.24: Tabella riepilogativa relativa alla etichettatura “random”.......................... 106 Tabella 4.25: Tabella relativa alla prova migliore dell’etichettatura “random” ............... 107 Tabella 4.26: Prototipi relativi alla prova migliore con etichettatura “random” .............. 110 Tabella 4.27: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 12 ...................................................................................................... 111 Tabella 4.28: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 24 ...................................................................................................... 112 Tabella 4.29: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 36 ...................................................................................................... 113 Tabella 4.30: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 48 ...................................................................................................... 114 Tabella 4.31: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 60 ...................................................................................................... 115 Tabella 4.32: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 72 ...................................................................................................... 117 Tabella 4.33: Tabella riepilogativa relativa alla etichettatura “automatica” .................... 119 Tabella 4.34: Tabella relativa alla prova migliore dell’etichettatura “automatica” ........ 120 Tabella 4.35: Prototipi relativi alla prova migliore con etichettatura “automatica” ......... 123 Tabella 4.36: Tabella relativa alla prova migliore dell’algoritmo FCM non supervisionato ................................................................................................................... 124 Tabella 4.37: Prototipi relativi alla prova migliore dell’algoritmo FCM non supervisionato ............................................................................................................ 127 Tabella 4.38: Tabella relativa alla sperimentazione con numero di cluster pari a 10 ............................................................................................................................ 128 Tabella 4.39: Valori di media, deviazione standard, minimo e massimo per .................. 129 Tabella 4.40 : Composizione del data-set di test .............................................................. 131 Tabella 4.41: Tabella riassuntiva relativa all’annotazione con numero di cluster pari a 10 ............................................................................................................................ 132 Tabella 4.42: Valori di precision e recall per il processo di annotazione ......................... 133 Tabella 4.43: Tabella riepilogativa relativa alla etichettatura “manuale” ........................ 134 Pagina |4 Elenco delle tabelle Tabella 4.44: Tabella relativa alla prova migliore dell’etichettatura “manuale” ............. 135 Tabella 4.45: Prototipi relativi alla prova migliore con etichettatura “manuale” ............. 139 Tabella 4.46: Tabella riepilogativa relativa alla etichettatura “random”.......................... 140 Tabella 4.47: Tabella relativa alla prova migliore dell’etichettatura “random” ............... 141 Tabella 4.48: Prototipi relativi alla prova migliore con etichettatura “random” .............. 145 Tabella 4.49: Tabella riepilogativa relativa alla etichettatura “automatica” .................... 147 Tabella 4.50: Tabella relativa alla prova migliore dell’etichettatura “automatica” ......... 147 Tabella 4.51: Prototipi relativi alla prova migliore con etichettatura “automatica” ......... 151 Tabella 4.52: Tabella relativa alla prova migliore dell’algoritmo FCM non supervisionato ................................................................................................................... 153 Tabella 4.53: Prototipi relativi alla prova migliore dell’algoritmo FCM non supervisionato ............................................................................................................ 157 Tabella 4.54: Tabella relativa alla sperimentazione con numero di cluster pari a 15 ............................................................................................................................ 158 Tabella 4.55: Valori di media, deviazione standard, minimo e massimo......................... 160 Tabella 4.56: Tabella riassuntiva relativa all’annotazione con numero di cluster pari a 15 ............................................................................................................................ 162 Tabella 4.57: Valori di precision e recall per il processo di annotazione ......................... 163 Tabella 4.58: Valori di precision e recall con etichettatura “manuale” ............................ 168 Tabella 4.59: Valori di precision e recall con etichettatura “random” ............................. 168 Tabella 4.60: Valori di precision e recall con etichettatura “automatica” ........................ 170 Tabella 4.61: Valori di precision e recall eseguendo l’algoritmo FCM non supervisionato ............................................................................................................ 171 Tabella 4.62: Valori di media, deviazione standard, minimo e massimo relativi alla precision ........................................................................................................ 173 Tabella 4.63: Valori di media, deviazione standard, minimo e massimo relativi alla recall .............................................................................................................. 174 Tabella 4.64: Valori di precision e recall con etichettatura “manuale” ............................ 175 Tabella 4.65: Valori di precision e recall con etichettatura “random” ............................. 176 Tabella 4.66: Valori di precision e recall con etichettatura “automatica” ........................ 177 Tabella 4.67: Valori di precision e recall eseguendo l’algoritmo FCM non supervisionato ............................................................................................................ 178 Tabella 4.68: Valori di media, deviazione standard, minimo e massimo relativi alla precision ........................................................................................................ 180 Pagina |5 Elenco delle tabelle Tabella 4.69: Valori di media, deviazione standard, minimo e massimo relativi alla recall .............................................................................................................. 181 Tabella 4.70: Composizione del data-set di test costituito da immagini reali .................. 183 Tabella 4.71: Tabella riassuntiva relativa all’annotazione ............................................... 185 Tabella 4.72: Valori di precision e recall per il processo di annotazione ......................... 187 Tabella 4.73: Esempi di risultati dell’annotazione ........................................................... 188 Tabella 4.74: Valori di precision e recall con etichettatura “manuale” ............................ 190 Tabella 4.75: Valori di precision e recall con etichettatura “random” ............................. 191 Tabella 4.76: Valori di precision e recall con etichettatura “automatica” ........................ 192 Tabella 4.77: Valori di precision e recall eseguendo l’algoritmo FCM non supervisionato ............................................................................................................ 193 Tabella 4.78: Valori di media, deviazione standard, minimo e massimo relativi alla precision ........................................................................................................ 195 Tabella 4.79: Valori di media, deviazione standard, minimo e massimo relativi alla recall .............................................................................................................. 196 Pagina |6 INTRODUZIONE La diffusione esponenziale delle grandi collezioni di immagini digitali ha dato luogo ad un interesse crescente per i tool automatici in grado di memorizzare, organizzare e recuperare in modo efficiente le immagini. Questo ha reso possibile la crescita di una promettente area di ricerca conosciuta come Content-Based Image Retrieval (CBIR) che coinvolge la progettazione e lo sviluppo di sistemi capaci di utilizzare delle caratteristiche visuali di basso livello come texture, colore e forma per il processo di indicizzazione e recupero delle immagini [1], [2]. L’estrazione di caratteristiche di basso livello collegate alla visualizzazione dei contenuti di una immagine è un compito abbastanza semplice e piuttosto diretto. Inoltre, l’uso di caratteristiche di basso livello permette la definizione di misure di similarità adatte a sviluppare efficaci metodi da utilizzare nei processi CBIR. Tuttavia, molti utenti incontrano delle difficoltà nel formulare query di ricerca specificando direttamente attributi visuali di basso livello. Infatti, l’essere umano tende a riconoscere immagini e ad esprimere il loro contenuto in relazione a concetti di alto livello, cioè essi di solito formulano le loro query in linguaggio naturale utilizzando dei concetti semantici. Quindi, uno dei principali problemi che incide pesantemente sulle performance dei sistemi CBIR è rappresentato dal “semantic gap”, definito come “la mancanza di coincidenza tra l’informazione automatica estratta dai dati visuali e la conoscenza semantica cioè l’interpretazione che lo stesso dato visuale ha per un utente in una data situazione” [3]. In letteratura, sono stati proposti differenti approcci per scoprire la correlazione nascosta tra le caratteristiche visuali di basso livello e i concetti di alto livello [4], [5]. Tra questi, un approccio lineare è l’annotazione di immagini conosciuta come “image labellling” che consiste nella associazione di una descrizione testuale ai contenuti di una immagine fornendo così la capacità fondamentale di indicizzare semanticamente immagini [6], [7]. L’annotazione manuale di immagini è soggettiva, tempo e processo soggetti ad errori. Quindi, l’aumentare dello sforzo di ricerca ha indirizzato verso la definizione di metodi automatici per l’annotazione di immagini basata su contenuti visuali di basso livello [8], [9], [10]. L’annotazione di immagini può essere definita come il processo che assegna etichette testuali a immagini allo scopo di descrivere le categorie semantiche espresse nella immagine. Nella annotazione di immagini, diverse questioni da affrontare riguardano: la scelta delle caratteristiche di basso livello per descrivere il contenuto visuale di una immagine, la Pagina |7 Introduzione definizione delle categorie semantiche e l’associazione di una nuova immagine per le categorie rilevate. In particolare, la scelta delle caratteristiche di basso livello è un dogma centrale nella annotazione di immagini. Molti lavori hanno dimostrato che le caratteristiche visuali come colore, texture e posizionamento, sono insufficienti per esprimere le informazioni che possono essere ottenute attraverso una analisi delle forme degli oggetti presenti nelle immagini [11], [12], [13], [14]. La forma gioca un ruolo critico per la rappresentazione di oggetti contenuti nelle immagini diventando una caratteristica fondamentale in molte applicazione di computer vision e comprensione delle immagini per scopi di indicizzazione e recupero. Infatti un notevole aumento delle informazioni è contenuto nei contorni degli oggetti, quindi secondo la comunità scientifica la forma deve essere considerata come uno strumento fondamentale per descrivere gli oggetti in una immagine. Inoltre, la forma è una importante caratteristica strettamente correlata alla percezione umana. Infatti, molti utenti tendono a percepire le immagini come una composizione di oggetti singoli identificati dalla loro forma ed essi di solito riconoscono immagini basate sulla forma degli oggetti contenuti nelle immagini fornendo un esempio o disegnandole [15], [16] . Per quanto riguarda la definizione delle categorie semantiche, molti degli approcci per l’annotazione delle immagini assumono l’esistenza a priori di un numero di categorie semantiche altamente dipendente dal dominio delle immagini considerate. Comunque, in molti casi il numero delle categorie semantiche non è noto in anticipo. Gli esperti spesso possono avere alcuni tipi di conoscenza circa il dominio dell’immagine come l’appartenenza di un numero di immagini a delle specifiche categorie semantiche. Naturalmente, l’efficacia dell’intero processo di annotazione delle immagini può beneficiare di metodi che sono capaci di spiegare alcuni tipi di conoscenza del dominio per scoprire automaticamente un numero di categorie semantiche con i corrispondenti prototipi visuali. Tipicamente l’associazione di una immagine alle categorie semantiche è un processo crisp, cioè una immagine è classificata esattamente in una categoria semantica [17], [18]. Comunque, a causa della presenza di rumore e ambiguità nella caratteristiche di una immagine, risulta molto difficile o addirittura impossibile classificare precisamente una immagine in una categoria semantica. Pertanto, l’incertezza sottostante il processo di annotazione può essere opportunamente catturata etichettando immagini con parole chiavi multiple derivanti da un processo di annotazione fuzzy, il quale assegna etichette multiple ad una immagine assieme a valori riguardanti il grado di appartenenza di una stessa immagine ad ciascuna categoria semantica [19], [20], [21]. Pagina |8 Introduzione Per affrontare tutti questi aspetti, in questo lavoro di tesi viene presentato un algoritmo per l’annotazione fuzzy di forme. L’idea fondamentale di questo algoritmo è quella di fornire al clustering un meccanismo di supervisione parziale, il quale rappresenta una guida utile durante il processo di scoperta automatica dei prototipi visuali delle forme, che rappresentano un certo numero di categorie semantiche. Il fuzzy clustering semi-supervisionato consente di identificare le categorie semantiche raggruppando insieme forme simili sfruttando la conoscenza del dominio espressa in termini di poche forme etichettate. Tale conoscenza può essere acquisita in differenti modi. Per esempio, essa può essere esplicitata da un esperto del dominio oppure derivata automaticamente dalle collezioni di forme disponibili come verrà descritto nei capitoli successivi. Al termine del processo di clustering, per ogni cluster si determina un prototipo di forma. Successivamente, ad ogni prototipo è associata manualmente una etichetta testuale corrispondente alla specifica categoria semantica. Infine, per etichettare una nuova forma, i suoi descrittori visuali sono confrontati con i descrittori visuali di tutti i prototipi e i valori di similarità sono utilizzati per creare un insieme fuzzy che esprime i gradi di appartenenza della forma ad ogni categoria semantica identificata. La tesi si articola nel seguente modo: • capitolo 1: viene introdotto il processo di annotazione delle immagini, le tecniche utilizzate e presenti in letteratura ed infine ci si soffermerà in particolare sull’annotazione di forme; • capitolo 2: riporta una breve panoramica sull’image retrieval e sui sistemi presenti in letteratura; • capitolo 3: descrizione dell’algoritmo implementato e analisi delle varie fasi che lo compongono; • capitolo 4: descrizione delle due sperimentazioni condotte, la prima utilizzata per valutare le capacità dell’algoritmo e la seconda per valutare la performance del processo di retrieval; • capitolo 5: riporta le conclusioni e i possibili sviluppi futuri relativi al lavoro di tesi svolto. Pagina |9 CAPITOLO I ANNOTAZIONE DI IMMAGINI Pagina |10 Capitolo I – Annotazione di Immagini In questo capitolo viene riportata una breve panoramica relativa allo stato dell’arte dell’annotazione delle immagini, ed in particolare ci si soffermerà sulle tecniche presenti in letteratura. Infine verrà introdotto il concetto di shape clustering. 1.1 COS’È L’ANNOTAZIONE DI IMMAGINI? Per accedere e recuperare in maniera efficiente ed efficace le immagini, la soluzione più comunemente adottata è quella di contrassegnare le immagini con dei metadati che esprimano effettivamente la semantica del contenuto rappresentato; questo modo di procedere è appunto definito come “Image Annotation”. Se l'immagine è descritta mediante informazioni di tipo testuale, allora le tecniche di ricerca testuale possono essere usate per migliorare la ricerca delle immagini. Tuttavia si è sentiti la necessità di migliorare la generazione di tali metadati rendendola automatica, tale operazione prende il nome di “Automatic Image Annotation”. Utilizzando questo metodo si ha la possibilità di effettuare ricerche sulle immagini utilizzando sistemi CBIR più efficaci. Molti ricercatori hanno proposto varie tecniche volte a colmare il problema noto come “gap semantico”. Nel tentativo di risolvere tale problematica, molti si sono trovati dinanzi ad un ulteriore ostacolo, cioè la forte dipendenza del sistema dal data-set utilizzato per la fase di apprendimento. Le ricerche sull'annotazione di immagini sono state condotte da molti ricercatori sulla base delle esigenze e delle immagini da annotare. Ad esempio, nell’articolo “A Survey of Methods for Image Annotation” si suddivide l'approccio dell'image annotation in tre categorie distinte: 1) annotazione con testo libero; 2) annotazione con parole chiave; 3) annotazione basata sulle ontologie. Nell’articolo “Automatically Annotating Images with Keywords: A Review of Image Annotation Systems” gli autori, descrivono gli studi condotti, nei quali hanno esaminato ben 50 sistemi di annotazione di immagini utilizzando macchine volte a supervisionare le tecniche di apprendimento atte all'annotazione delle immagini utilizzate per mappare le caratteristiche o Pagina |11 Capitolo I – Annotazione di Immagini di basso livello, le features, assegnandogli concetti di alto livello, cioè semantica. Inoltre sempre nel 2008, Jiayu nella sua tesi di dottorato “Automatic Image Annotation and Object Detection” propone un'ulteriore classificazione per l'image annotation, secondo tale classificazione l'annotazione delle immagini può essere condotta mediante tre approcci: i. statistic approach (approccio statistico): le tecniche statistiche sono molto popolari nell'ambito dell'information retrieval, ma recentemente i ricercatori hanno iniziato ad applicarle anche nell'ambito dell'annotazione automatica di immagini, riscontrando promettenti risultati. L'idea alla base di tali tecniche è il valutare la possibilità che i documenti facciano riferimento alla query sottoposta dall'utente. I documenti sono ordinati in base a tale probabilità; ii. vector-space related approach (approccio basato su vettori correlati): esso risulta essere particolarmente usato nell'ambito dell'information retrieval, soprattutto per quanto riguarda la ricerca di documenti testuali. Generalmente, il documento è rappresentato mediante vettori, ciascuno dei quali contiene le occorrenze delle parole presenti nel relativo documento. La lunghezza del vettore è pari alla dimensione del vocabolario. Tale approccio applicato all'annotazione automatica delle immagini, tratta le immagini come fossero documenti testuali, paragonando gli oggetti visuali alle parole di un testo e considerando inoltre i descrittori delle feature dell'immagine per la generazione del vettore; iii. classification approach (classificazione): prevede l'assegnazione di una parola all'immagine classificandola come appartenente ad un gruppo fra un elenco inizialmente definito. Ognuno di questi gruppi è caratterizzato dal significato della parola ad esso associata. Fornendo al sistema di classificazione una immagine non annotata, tale algoritmo ne certifica il gruppo di appartenenza e la annota con la parola corrispondente. L'annotazione multipla può essere fatta assumendo che una immagine possa appartenere a più classi contemporaneamente. Dalle date e dal numero di pubblicazioni riguardanti l'image annotation, risulta evidente che esso rappresenta un'area di studio su cui si stanno focalizzando numerose attività di ricerca, soprattutto a causa del grande impatto che avrebbe sulla ricerca delle immagini all'interno di vaste collezioni e in particolare sulla ricerca di immagini via Web. Pagina |12 Capitolo I – Annotazione di Immagini Lo schema di un generico sistema di Image Annotation è riportato qui di seguito: Image Segmentation n Block baseed Region based Feature extraction Texture Color Shape Annotation Pattern classification Annotated Image Figura 1.1: Architettura di un sistema di image annotation Pagina |13 Capitolo I – Annotazione di Immagini 1.2 TECNICHE PER L’ANNOTAZIONE DI IMMAGINI L’annotazione delle immagini può essere effettuata con tre differenti tecniche: 1) manuale: l'utente, volta per volta, deve inserire manualmente le parole chiave che descrivono il contenuto dell'immagine; 2) automatica: all'insaputa dell'utente il sistema sulla base delle features riesce a ricavare la semantica del contenuto e associa delle parole chiave predefinite all'immagine; 3) semi-automatica: il sistema ha bisogni di interagire con l'utente, mediante feedback e query fornite dall'utente stesso. Le tre tecniche si differenziano sostanzialmente nel lavoro necessario per l'inizializzazione del sistema in modo che quest’ultimo produca un risultato corretto. Di seguito vengono esaminati i singoli aspetti. Inizializzazione del sistema: Per quanto riguarda l'annotazione manuale, lo sforzo che l'utente deve eseguire affinché il sistema possa produrre risultati, risulta essere notevole in quanto è costretto ad associare manualmente le parole chiave ogni qualvolta una nuova immagine viene inserita nell'archivio di immagini. Completamente opposto è il caso dell'annotazione automatica, in cui l'interazione da parte dell'utente nella fase preliminare risulta essere completamente assente. Si può intuire che nel caso dell'annotazione semi-automatica, si abbia un compromesso fra le due tecniche precedentemente descritte, infatti in tale caso vi è interazione fra utente e sistema, ma risulta essere minima, in quanto prevede solo l'inserimento di una query. Task della macchina: Non ci sono solo differenze riguardanti il lavoro svolto dall'utente, ma anche il sistema stesso nei tre casi svolge compiti alquanto differenti. Nell’annotazione manuale, il sistema non fa altro che memorizzare le immagini con le relative parole chiave associate, pertanto il sistema effettua interrogazioni sull'archivio di immagini sulla base delle parole chiave, senza dover utilizzare ulteriori elaborazioni. Pagina |14 Capitolo I – Annotazione di Immagini Nel caso dell’'annotazione automatica lo sforzo da parte del sistema risulta essere alquanto gravoso, infatti è proprio il sistema ad analizzare ciascuna immagine, a valutarne il contenuto visivo e ad estrarne le keywords che la descriveranno e che verranno utilizzate in fase di ricerca. Infine la tecnica di annotazione semi-automatica risulta essere sempre un compromesso fra le due precedenti, infatti il sistema in questo caso analizza la query fornita dall'utente e ne estrae le informazioni semantiche con lo scopo di migliorare l'annotazione delle immagini. Contributo da parte dell'utente: Il contributo dell'utente nei tre tipi di annotazione non solo si distingue per quanto riguarda le operazioni compiute, ma anche per quanto riguarda il momento in cui l'utente interagisce con il sistema per il processo di annotazione. Per quanto riguarda l'annotazione di tipo manuale, l'interazione dell'utente con il sistema si ha, come abbiamo visto in precedenza, nella fase di inizializzazione del sistema stesso, e tale interazione è volta a fornire al sistema i mezzi necessari per poter effettuare una ricerca basata sul contenuto. In precedenza si è detto che l'annotazione di tipo automatica non presentava nessun tipo di interazione al momento dell'inizializzazione del sistema, ed infatti, in modo completamente opposto all'annotazione manuale, la totalità dell'interazione si ha nella fase finale del processo di annotazione, in cui l'utente verifica la correttezza e l'accuratezza del risultato ottenuto. Come nei precedenti casi, l'annotazione semi-automatica rappresenta una mediazione fra le altre due tecniche completamente opposte fra loro, infatti l'interazione fra l'utente e il sistema si ha durante tutto il corso del processo di annotazione e inoltre l'utente collabora con il sistema per la corretta annotazione delle immagini nella collezione. Pagina |15 Capitolo I – Annotazione di Immagini 1.2.1 VANTAGGI E SVANTAGGI DELLE TECNICHE PER L’ANNOTAZIONE DI IMMAGINI Ciascuna delle tecniche descritte nel paragrafo precedente presenta dei vantaggi e degli svantaggi, che andremo ad analizzare e valutare qui di seguito: 1) Annotazione manuale: o vantaggi: fra le tecniche risulta essere la più accurata, in quanto le keywords vengono fornite dall'utente; o svantaggi: risulta essere molto dispendiosa in termini di tempo e si incontrano delle difficoltà nel caso di grandi quantità di immagini. 2) Annotazione automatica: o vantaggi: risulta essere fra le tre tecniche la più efficiente in termini di tempo e risorse; o svantaggi: risulta essere molto incline agli errori durante la fase di assegnazione delle keyword, pertanto è la meno accurata fra le tre tecniche. 3) Annotazione semi-automatica: o vantaggi: la qualità dell'annotazione viene migliorata mediante l'interazione tra il sistema e l'utente; o svantaggi: il tempo dedicato all'annotazione automatica è molto inferiore rispetto a quello dedicato a quella manuale. Dall'analisi dei vantaggi e degli svantaggi possiamo concludere che una maggiore qualità dei risultati, data dall'annotazione manuale, è inversamente proporzionale all'efficienza del sistema in termini di tempo, medesimo discorso vale per quanto riguarda l'annotazione automatica in cui viene ottimizzata al massimo l'efficienza a discapito dell'efficacia, infatti risulta essere la tecnica più rapida, ma contemporaneamente la più soggetta ad errore. Pagina |16 Capitolo I – Annotazione di Immagini Per ottenere risultati ottimali è preferibile cercare un compromesso fra le due tecniche dato dall'annotazione semi-automatica, la quale risulta essere molto efficiente se comparata con l'annotazione manuale e molto accurata se comparata con quella automatica. 1.3 ANNOTAZIONE AUTOMATICA VS. MANUALE Nel paragrafo precedente abbiamo messo a confronto le tre tecniche di annotazione cercando di individuare le differenze sostanziali che le separano. In questo paragrafo verranno messe a confronto l'annotazione automatica e quella manuale. Come vedremo tali tecniche non si discostano l'una dall'altra solo per le differenze sostanziali e di natura generica prima precedentemente, come lo sforzo richiesto dall'utente e la precisione con cui eseguono l'annotazione, ma presentano anche differenze più sottili e su cui è opportuno riflettere . Nell’articolo “Automatic annotation of images from the practitioner perspective”, vengono messe in evidenza due importanti limitazioni dell'annotazione automatica rispetto a quella manuale. La prima limitazione è data dal fatto che le parole chiave generate dalle tecniche di annotazione automatica si riferiscono unicamente alle entità visibili all'interno dell'immagine, anche se l'utente spesso tende a valutare solo gli elementi di maggior peso o addirittura lo scenario presente nell'immagine. Questo problema è dovuto al fatto che i concetti espressi e le informazioni sul contesto, che l'uomo può percepire dall'immagine, non possono essere facilmente rilevati dalle features che tali algoritmi di annotazione riescono ad estrapolare. Il secondo limite che l'annotazione automatica presenta è dovuto alla natura generica delle etichette presenti nel vocabolario. Infatti Enser afferma che gli oggetti hanno proprietà comuni dal punto di vista degli stimoli visivi ed hanno bisogno di un minimo di interpretazione da parte dell'osservatore in modo da poter essere distinti. In conclusione possiamo affermare che nonostante queste limitazioni l’annotazione automatica ha ancora un valore fondamentale; in quanto, anche se, almeno per il momento, non è possibile far si che l'annotazione risenta dell'interpretazione concettuale dell'immagine, la possibilità di annotare semplici oggetti raffigurati nelle immagini, sarebbe di enorme aiuto considerando la mole di immagini esistenti al giorno d'oggi. Pagina |17 Capitolo I – Annotazione di Immagini 1.4 VALUTARE L’EFFICACIA DELL’ANNOTAZIONE Una volta che le immagini di prova sono state contrassegnate con sistemi di auto-annotazione, le qualità di annotazione devono essere valutate per il confronto delle prestazioni tra i diversi sistemi. Un certo numero di metriche di valutazione sono stati utilizzati dai ricercatori, alcune delle quali vengono descritte qui di seguito. 1.4.1 PRECISION E RECALL Precision e recall, sono due tra le più popolari metriche utilizzate per la comparazione dei sistemi di information retieval, ma sono anche ampiamente usati per valutare l’efficacia dell’approccio dell’auto-annotazione. Nella comunità dell’information retrieval, la precision di una query è definita come il rapporto tra il numero dei documenti restituiti dal sistema e il numero totale dei documenti restituiti, mentre la recall è definita come il rapporto tra il numero totale dei documenti restituiti e il numero totale dei documenti rilevanti presenti nel database. Ci sono due versioni: per immagini e per documenti. Nel paragrafo successivo verrà analizzata relativa alle immagini, in quanto risulta essere quella attinente al progetto di tesi svolto. 1.4.1.1 PRECISION E RECALL PER IMMAGINI La precision e la recall nel caso delle immagini, sono calcolate sulla base del test di una singola immagine. Per ogni immagine di test, la precision è definita come il rapporto del numero delle parole che sono classificate correttamente e il numero di parole classificate. Mentre la recall è definita come il rapporto tra il numero di parole che sono classificate correttamente e il numero di parole oppure annotate manualmente. Matematicamente, esse sono calcolate nel seguente modo: Pagina |18 Capitolo I – Annotazione di Immagini dove: a) r: è il numero di parole classificate correttamente; b) n: è il numero di etichette manuali nell’immagine di test; c) w: è il numero di parole classificate in modo errato. I valori finali di precision e recall sono ottenuti dalla media dei valori calcolati sull’intero insieme delle immagini di test. 1.4.2 PAROLE CHIAVE CON RECALL MAGGIORE DI 0 Duygulu, usa anche il numero della parole chiave aventi un valore di recall maggiore di 0 e che mostra la diversità delle parole corrette che possono essere classificate con l’annotazione automatica. Una parola chiave ha un valore di recall maggiore di 0, se classifica correttamente una o più. 1.4.3 PUNTEGGIO NORMALIZZATO Barnard nel 2003, propone l’utilizzo del punteggio normalizzato, il quale è calcolato tramite l’equazione riportata qui di seguito e viene utilizzata per la valutazione della annotazione autoamtica: dove: a) r, n e w: hanno la stessa definizione utilizzata nel paragrafo 1.4.1.1; b) N: è il numero di parole presenti nel vocabolario. Pagina |19 Capitolo I – Annotazione di Immagini Esso è uguale a: o 1 se l’immagine è correttamente annotata; o -1 se è classificato l’esatto complemento dell’insieme attuale di parole; o 0 per una qualsiasi classificazione. Infine, come sostenuto da Hare e Lewis nel 2005, il punteggio normalizzato è massimo quando sono prodotti risultati in cui abbiamo poca rumorosità, quando essa non è desiderata. 1.5 ANNOTAZIONE DI IMMAGINI CON APPRENDIMENTO NON SUPERVISIONATO I metodi di apprendimento non supervisionato per l’annotazione di immagini hanno una caratteristica in comune, cioè essi considerano le parole chiave come un tipo di caratteristica, ovvero le caratteristuche testuali, in modo tale da essere distinte da quelle visuali. Questo approccio può essere suddiviso ulteriormente in due gruppi: modelli parametrici e modelli non parametrici. Tutti i modelli parametrici hanno fase di formazione per stimare i parametri di modello. In contrasto, i modelli non parametrici non devono necessariamente stimare qualche parametro di modello nella fase di formazione, ma essi hanno bisogno dell’intero data-set di training quando devono annotare una nuova immagine. 1.5.1 MODELLI PARAMETRICI Il primo tentativo di annotazione automatica di immagini considerando le parole come caratteristiche testuali è forse il lavoro di Mori et. al. [22], in cui essi propose un modello di co-occorrenza per rappresentare le relazioni tra le parole chiavi e le caratteristiche visuali. Ogni immagine è convertita in un insieme di aree di immagini aventi forma rettangolare utilizzando una griglia regolare. Le aree delle immagini relative ai dati di training sono raggruppate in un certo numero di cluster. Per ogni immagine di training, si propagano le sue parole chiave ad ogni area delle immagini presenti nella stessa immagine. La distribuzione Pagina |20 Capitolo I – Annotazione di Immagini condizionata delle parole chiave di ogni cluster relativo alle aree, può essere stimato da distribuzioni empiriche sui dati i training. Data una nuova immagine, la distribuzione condizionale di ogni parola chiave relativa a ciascuna area dell’immagine è aggregata per generare la distribuzione condizionale delle parole chiavi delle immagini di test. Figura 1.2: Processo di training del modello di co-occorrenza Figura 1.3: Processo di test del modello di co-occorrenza Pagina |21 Capitolo I – Annotazione di Immagini Il grave inconveniente del modello di co-occorrenza è dovuta all’assunzione dell’annotazione di alcune parole chiave ad una immagine, ed esse sono propagate a ciascuna regione presente nell’immagine con uguale probabilità. Questa assunzione è violata in molte situazioni reali, in quanto molte parole chiavi sono nomi di oggetti come “sole”, “acqua”, “cielo”. L’aspetto di questa tipologia di concetti in una immagine è di solito una piccola porzione di una immagine all’interno dell’intera immagine. Così Durygulu et. al. [23] propose un modello di traduzione automatica per l’annotazione delle immagini, il quale è essenzialmente un miglioramento del modello di co-occorrenza di Mori. Essi rappresentano una immagine come un insieme di regioni di immagini ottenute dalla segmentazione e dalla esecuzione del vettore di quantizzazione su ciascuna delle caratteristiche relative alle regioni. Le regioni dell’immagine quantizzate con i vettori sono trattate come “parole visuali” e la relazione tra queste e le parole chiavi testuali piò essere pensata come quella tra una lingua, come il francese, ed un’altra lingua come il tedesco. L’insieme dei dati di training è analogo all’insieme di due lingue. Data una immagine di test, il processo di annotazione è simile al processo di traduzione delle parole visuali in parole chiavi tessiturali usando un lessico appreso dall’insieme di due lingue. Essi hanno trovato che un modello di traduzione relativamente semplice usato per la traduzione delle lingue, cioè il modello di Brown et. al. [24] produce risultati migliori rispetto ad altri modelli di traduzione disponibili. In modo simile al modello di co-occorrenza, i parametri di apprendimento del modello di traduzione sono anche le probabilità di distribuzione condizionata, ma il modello di traduzione non deve propagare le parole chiave di una immagine a ogni regione con uguale probabilità. Invece, le probabilità di associazione di una parola chiave testuale a una parola visuale è presa come una variabile nascosta e stimata attraverso l’algoritmo di massimizzazione attesa (Expectation-Maximization) [25]. Un approccio simile al modello di traduzione automatica è usato dal modello di Markov [26] proposto da Ghoshal et. al. [27]. In questo approccio, ogni parola chiave testuale è rappresentato da uno stato nascosto, il quale può generare caratteristiche visuali a seguito di una distribuzione di probabilità per Stato. Il processo di training mira a trovare la migliore corrispondenza tra le regioni dell’immagine e stima i parametri per ogni stato. Il processo di annotazione di una nuova immagine è equivalente a recuperare lo stato nascosto più probabile di ogni regione dell’immagine. Una maggiore differenza tra l’approccio HMM e il modello di traduzione automatica è che l’approccio HMM modella le distribuzioni continue di caratteristiche visuali, mentre il modelli di traduzione rappresenta la distribuzione delle parole Pagina |22 Capitolo I – Annotazione di Immagini chiave di ogni regione dell’immagine quantizzata da un vettore. Comunque, il modello HMM assume che un processo di traduzione fra differenti stati (parole chiavi testuali) che non è necessariamente supportata da dati reali. Invece di modellare la distribuzione condizionale delle parole chiave testuali basate su caratteristiche visuali, alcuni ricercatori hanno proposto metodi per modellare la distribuzione congiunta di caratteristiche testuali e visuali. Un tentativo è stato fatto da Barnard e Forsyth [28]. Essi definirono un documento come una combinazione di caratteristiche visuali e testuali. Un modello fattoriale gerarchico è proposto per modellare la distribuzione congiunta di caratteristiche visuali e testuali, come illustrato nella figura 1.4. Figura 1.4: Modello di Barnard e Forsyth Il modello assume che un documento appartiene ad un cluster, il quale è denotato dai nodi foglia nell’albero gerarchico. Dati il documento e il relativo cluster di appartenenza, il documento è generato dai nodi basandosi sul percorso ottenuto percorrendo l’albero dal nodo radice ai nodi foglia. Ogni aspetto sul percorso può generare regioni di immagini e caratteristiche testuali seguendo per un aspetto le distribuzioni di probabilità. Inoltre differenti cluster hanno diversi percorsi di attraversamento ed ognuno ha dei modelli di congiunzione separati. Peraltro, tutti gli aspetti sono organizzati in una struttura gerarchica, gli aspetti sono Pagina |23 Capitolo I – Annotazione di Immagini molto compatti e essi possono modellare i punti in comune tra i cluster. Comunque, questo modello è ottimizzato per il clustering di immagini invece di collegare la parole testuali alle regioni dell’immagine. Per l’annotazione delle immagini, l’obiettivo generale è trovare una relazione condizionale tra le caratteristiche dell’immagine e le caratteristiche testuali. A tal fine, Blei e Jordan [29] proposero il modello Corr-LDA in cui le dipendenze delle parole testuali dalle regioni dell’immagine sono modellate esplicitamente. Questo viene illustrato nella figura 1.5, in cui z denota l’aspetto che genera una regione r, y è l’aspetto che genera una parola w, mentre α e Ɵ denotano i parametri che generano z. N e M sono rispettivamente il numero di regioni e il numero di parole. La freccia da z a w indica che la generazione di una parola w dipende dal fattore che genera una regione. Figura 1.5: Modello Corr-LDA Zhang et. al. [30] propose un modello semantico probabilistico per rappresentare la distribuzione congiunta delle caratteristiche di una immagine e delle parole testuali. Essi assumono che ci sono un numero di semantiche nascoste in una immagine, ogni semantica ha una probabilità di generare la caratteristica visuale globale e le parole testuali. Data una specifica semantica, la generazione delle caratteristiche visuali e delle parole testuali sono indipendenti da ogni altro. La maggior differenza tra questo approccio e quello di Blei e Jordan è quella di prendere una immagine nel suo complesso all’interno di un insieme di regioni. Pagina |24 Capitolo I – Annotazione di Immagini 1.5.2 MODELLI NON PARAMETRICI Differente dal modello parametrico, un modello non parametrico non ha un processo di training. Joen et. al. [31] formularono il problema di annotazione automatica delle immagini come un recupero di informazioni cross lingual e hanno applicato il modello “relevance cross-media” (CMRM) alla annotazione di immagini. Sebbene tale modello, prova a modellare la distribuzione congiunta delle caratteristiche visuali e delle parole testuali, esso non è un modello non parametrico, come il K-NN [32] per il modello di classificazione. L’idea essenziale è di trovare le immagini di training che sono simili alle immagini di test e propagare la loro annotazione alle immagini di test. CMRM non assume qualunque forma della distribuzione di probabilità congiunta sulle caratteristiche visuali e testuali affinché essi non hanno una fase di addestramento per stimare i modelli parametrici. Uno svantaggio dei modelli CMRM è che il vettore quantizza le regioni dell’immagine in masse di immagini e questo può ridurre la capacità discriminate di questo modello. Così Mammatha et. al. [33] hanno proposto un modello migliorato, cioè il modello di rilevanza cross-media continuo (CRM). Esso preserva il vettore di caratteristiche continuo di ogni regione e questo offre un maggior potere discriminante. Feng et. al. [34] proposero una ulteriore estensione del modello CRM chiamato modello di rilevanza multiplo di Bernoulli (MBRM). Essi suggerirono che l’assunzione di una distribuzione multinomiale di parole chiavi in CRM e CMRM favorisce concetti importanti nelle immagini e uguale lunghezza di annotazione per ogni immagine. Così essi proposero di modellare la distribuzione delle parole chiave dell’annotazione di una immagine come una distribuzione multipla di Bernoulli, la quale rappresenta soltanto lo stato (valore binario) di esistenza/non esistenza di ogni parola. I risultati sperimentali mostrarono che MBMR supera CMRM e CRM per l’annotazione di video, nei quali la lunghezza dell’annotazione di ogni immagine varia molto e la questione più importante è l’esistenza di un concetto piuttosto che la sua importanza. Tutti i metodi menzionati predicono ogni parola indipendentemente da una immagine di test. Essi possono modellare la correlazione tra le parole chiavi e le caratteristiche visuali, ma non sono in grado di modellare la correlazione tra die parole testuali. Per risolvere questo problema, Jin et. al. [35] proposero un modello che estende CMRM [34]. Esso definisce un modello di linguaggio come una distribuzione multinomiale di parole. Invece di stimare la Pagina |25 Capitolo I – Annotazione di Immagini distribuzione condizionale di una singola parola, essi stimano la distribuzione condizionale di un modello di linguaggio. La correlazione fra le parole può essere spiegata da un vincolo sulla distribuzione multinomiale la cui somma della distribuzione delle singole parole deve essere uguale a 1. Così la predizione di una parola ha effetto sulla predizione di un’altra parola. Pan et. al. [36] proposero un approccio basato su grafo (GCap) per l’annotazione automatica di immagini. Essi rappresentano una immagine come un insieme di regioni, ognuna delle quali è descritta da un vettore di caratteristiche visuali. Un grafo è costruito sulla base dei dati di training. Essi definiscono tre tipologie di nodi in questo grafo: i. nodi “immagine”, che rappresentano una immagine; ii. nodi “regione”, che rappresenta una regione dell’immagine; iii. nodi “parola”, che rappresenta una parola chiave testuale. Il collegamento tra i nodi rappresenta la relazione fra differenti unità (immagini, regioni e parole), ed esso include: 1) collegamento all’attributo dell’immagine: connette una immagine alle sue parole chiavi e ai nodi delle caratteristiche visuali; 2) collegamento alle regioni: connette ogni nodo di una regione ai k nodi più vicini alle regioni limitrofe. Figura 1.6: Modello GCap Pagina |26 Capitolo I – Annotazione di Immagini Data una immagine di test, le regioni dell’immagine sono ottenute da una segmentazione dell’immagine non supervisionata. Un nodo di una immagine rappresenta l’immagine di test e parecchi nodi delle regioni rappresentano le regioni dell’immagine di test e sono aggiunti al grafo costruito sull’insieme di training. Dato che le parole testuali di una immagine di test mancano, non ci sono collegamenti diretti tra i nodi dell’immagine di test a un qualsiasi nodo della parola chiave. Il processo di annotazione è modellato come un cammino casuale con ripartenza (RWR) [37] sul grafo. Lo stato fisso di probabilità di un cammino casuale per arrivare ad un nodo di una parola testuale da un nodo di una immagine di test è la probabilità di annotazione di questa parola ad una immagine. In modo analogo al modello CMRM, questo approccio è anche un modello non parametrico. Dato che esso necessita di memorizzare i dati di training in una struttura a grafo, esso non è efficiente e non è applicabile ad applicazioni che utilizzano data-set molto grandi. Liu et. al. [38] proposero un modello di grafo adattivo per l’annotazione di immagini. Essi costruiscono anche un grafo sui dati di training. Ma a differenza di GCap [36], c’è soltanto una tipologia di nodo, cioè il nodo immagine. Ogni nodo immagine è connesso al kesimo nodo più vicino. Il modello grafico è adattivo nel senso che il numero dei nodi più vicini connessi a ogni nodo immagine, k, è differente da ogni altro e deciso aa un processo adattivo. La similarità fra due nodi immagine è una misura globale pesata. La probabilità di annotazione di ogni parola alle immagini è rappresentata da una matrice con punteggio. Per una immagine non annotata, la matrice è ottenuta aggiornando iterativamente la matrice ottenuta dall’algoritmo [39]. 1.6 ANNOTAZIONE DI IMMAGINI CON APPRENDIMENTO SUPERVISIONATO Oltre a considerare le parole chiave annotate a immagini come una tipologia di caratteristiche nei metodi non supervisionati, diamo ora uno sguardo a differenti classi di etichette. Così facendo, il processo di annotazione di una immagine con una parola chiave diventa simile a quello di classificare l'immagine se essa appartiene a una particolare classe. Questa è la motivazione alla base dell’annotazione di immagini basata sulla classificazione dell’immagine.Vale la pena notare che, sebbene l’annotazione di immagini è emersa come un argomento attivo solo nel corso dell'ultimo decennio, il problema della classificazione delle oo Pagina |27 Capitolo I – Annotazione di Immagini immagini ha una storia molto più lunga. Nei primi giorni antecedenti al 1990, la classificazione delle immagini si è principalmente focalizzata su alcuni settori particolari, come le immagini provenienti dai radar [40], mediche [41], multi-spettrali [42], quelle provenienti dal telerilevamento, ecc.. Solamente nel corso degli ultimi anni, l'attenzione si è riversata sulle immagini generali come le fotografie dei consumatori, forse perché questo tipo di immagini sono più facilmente reperibili grazie anche ai rapidi progressi che si sono avuti nella qualità del dispositivo di acquisizione. Più recentemente, l'annotazione automatica delle immagini è stata collegata alla classificazione delle immagini e nella maggior parte dei casi, il suo obiettivo è quello di fornire l'indicizzazione e il recupero delle immagini in database di immagini di grandi dimensioni. Gli approcci esistenti per l’annotazione di immagini basata sulla classificazione si suddividono in tre categorie: 1. metodi di classificazione orientati su scene globali: sono in grado di estrarre un descrittore globale offerta da un'immagine e quindi di fornire un classificatore statistico per la classificazione delle immagini. Esempi di questo tipo di etichette di classe includono “campagna”, “paesaggio”, “outdoor” e così via. Il compito è quello di classificare l'immagine nel suo complesso; 2. metodi di classificazione locali: classificano le immagini con i nomi degli oggetti. Il contenuto di immagine assegnato alle etichette è di solito una parte dell'immagine. Esempi di queste etichette di classe sono “balloon”, “acqua”, “persone” e così via; 3. metodi di classificazione multi-livello: assegnano etichette di classe ad una struttura gerarchica, che comprende sia classi oriente alle scene e sia classi orientate agli oggetti. Figura 1.7: Sistema di annotazione di immagini basato sulla classificazione Pagina |28 Capitolo I – Annotazione di Immagini 1.6.1 CLASSIFICAZIONE BASATA SU SCENE GLOBALI Tra gli approcci di classificazione basati su scene globali, alcuni dei primi lavori si sono focalizzati sulla realizzazione di caratteristiche visive. Ad esempio, Gorkani e Picard [43] sono stati in grado di classificare le immagini di “città”/“sobborgo” utilizzando le caratteristiche globali di orientamento multi-scala. Lipson et al. [44] provò ad incorporare relazioni spaziali quantitative e fotometriche all'interno e tra le regioni in immagini a bassa risoluzione (ad esempio 20 × 20 pixel) per la classificazione di immagini con scene naturali. Essi hanno realizzato manualmente il modello utilizzato per descrivere le relazioni spaziali e fotometriche per ciascuna classe di scena. In seguito, Ratan e Grimson [45] hanno proposto un metodo di classificazione basato su dei modelli di configurazione di ogni classe che apprendono da pochi esempi di training, selezionati da una persona. Huang et al. [46] hanno proposto uno schema di classificazione gerarchico delle immagini. Essi hanno usato correlogrammi di colore [47] come le caratteristiche visuali e un albero di classificazione come il classificatore. In un lavoro relativo, Vailaya et al. [48] ha esaminato la capacità discriminante delle diverse caratteristiche di classificazione visuali delle scene “città” vs “paesaggio” ed hanno trovato che la funzionalità basata sul contorno ha la migliore capacità discriminante sul loro data-set. Concentrandosi su diverse caratteristiche visuali, l’approccio fornisce una buona base per il seguente lavoro di classificazione delle immagini, ma i classificatori statistici non sono abbastanza potenti. Con i rapidi progressi da parte della comunità di apprendimento delle macchine, sono stati resi disponibili classificatori statistici sempre più potenti, come ad esempio il “Support Vector Machines” (SVM) [49]. Chapelle et al. [50] ha tentato di risolvere il problema generale di classificazione delle immagini utilizzando la SVM e ha usato un kernel RBF per immagini aventi una risoluzione elevata. Fung e Leo [51], invece, decompongono la semantica della scena di una immagine in due livelli: i. la semantica primitiva a livello di patch; ii. la semantica di scena a livello di immagine. L'apprendimento di semantica primitiva si basa su un raggruppamento supervisionato delle caratteristiche di patch. La classificazione è ottenuta utilizzando la distribuzione di ciascuna primitiva in un'immagine. Pagina |29 Capitolo I – Annotazione di Immagini La semantica di scena è stata esplicitata da Vailaya et al. [52] che ha proposto un metodo per la classificazione gerarchica di immagini professionali: al massimo livello, le immagini vengono classificati come “indoor” o “outdoor”; le immagini “outdoor” sono ulteriormente classificati come “città” o “paesaggio”, infine, un sottoinsieme delle immagini di “paesaggio” è classificato in “tramonto”, “foresta” e “montagna”. Essi modellano la densità di probabilità di ciascuna classe di scena attraverso la quantizzazione vettoriale [53] e classificano le immagini in base al valore massimo di un criterio posteriore. Chang et al. [54] ha proposto un metodo di categorizzazione di immagini basato sulle “Bayes Machine Point” (BPM) [55], ovvero classificatore avanzato basato su kernel. I metodi sopra menzionati sono basati su caratteristiche visive globali estratte da una intera immagine. Come abbiamo già accennato in precedenza, suddividendo l'immagine in una raccolta di patch di immagini si può lavorare meglio. A tal fine, Wang e Li [56] hanno proposto un metodo per la categorizzazione di immagini basato sull'uso del 2-D multirisoluzione del modello Markov (2D-HMM) [57]. Le immagini sono segmentate in regioni impiegando una griglia regolare multi-risoluzione. 2D-HMM può modellare la dipendenza tra le regioni con la stessa risoluzione e le regioni che hanno diverse risoluzioni. Csurka et al. [58] ha proposto un modello basato su un insieme di punti chiave per la categorizzazione della classe dell’oggetto. Ogni immagine è rappresentata come un insieme di regioni ottenute dai rivelatori dei punti di interesse, mentre ogni regione è rappresentata da un vettore delle caratteristiche visive. Dopo un processo di quantizzazione vettoriale sulle caratteristiche delle regioni, una immagine può essere vista come un insieme di parole visuali. Il vettore frequenza delle parole visuali considerato come il vettore delle caratteristiche global e un classificatore SVM, viene distribuito per classificare le immagini di classi di oggetti. Carneiro e Vasconcelos [59] hanno proposto un framework per l’annotazione di una immagine basato sulla modellazione gerarchica della stima della densità di probabilità relativa ad ogni classe. Ogni immagine è rappresentata come un insieme di caratteristiche di patch. La distribuzione di queste caratteristiche di patch per ogni concetto è modellata come un modello Gaussiano e tutti i concetti sono modellati da un modello Gaussiano gerarchico (Hier-GMM). I risultati sperimentali dimostrano che il Hier-GMM è efficiente per database di grandi dimensioni. Maree et al. [60] ha proposto un metodo di classificazione delle immagini ottenuto dalla combinazione del campionamento casuale di sotto-finestre di immagini. Sono state aggiunte varie trasformazioni nel processo di astrazione casuale di sotto-finestre, e l’approccio risulta essere robusto sia per la scala che per la rotazione. Esso però non è stato testato su data-set di immagini più complesse. Pagina |30 Capitolo I – Annotazione di Immagini La combinazione di caratteristiche complementari è in grado di produrre risultati di successo. Datta et al. [61] ha proposto un sistema di categorizzazione per immagini generiche basato su due modelli generativi eterogenei per categorie di immagini. I due modelli forniscono la relazione per la classificazione di due differenti aspetti di immagini, ossia un modello di struttura-composizione (SC) costruito dalla distribuzione Beta per catturare la relazione spaziale tra le regioni segmentate di immagini, e un modello Gaussiano delle caratteristiche colore-struttura (C-T). Questa combinazione di un modello strutturato e non strutturato offre una potenza discriminante per la categorizzazione di immagini generiche rispetto ad altre soluzioni che utilizzano un solo tipo di modello. Alcuni metodi sono basati su sofisticati modelli probabilistici. Li e Wang [62] rappresentano ogni immagine come una distribuzione probabilistica delle caratteristiche “colore” e “texture”. Ogni categoria di immagini è modellata come distribuzione probabilistica delle distribuzioni probabilistiche. Approfittando dell’algoritmo di ottimizzazione, questo approccio può raggiungere le prestazioni di annotazione su un data-set di grandi dimensioni. Tuttavia, non è chiaro come il loro metodo possa essere eseguito su concetti di oggetti individuali. Tra i lavori di classificazione di immagini, alcuni più recenti si sono focalizzati sulla classificazione di una serie molto piccola di concetti, quali categorie di scene naturali. Essi possono essere ulteriormente suddivisi in due categorie. La prima definisce le caratteristiche intermedie. Oliva e Torralba [63] hanno proposto un insieme di dimensioni percettive (naturalità, trasparenza, rugosità, espansione e robustezza) che rappresentano la struttura spaziale dominante di una scena. Ciascuna di queste dimensioni può essere automaticamente estratta e le immagini di scena possono essere classificate in una rappresentazione di basse dimensioni. Vogel e Schiele [64] utilizzano le occorrenze della frequenza di concetti diversi (acqua, roccia, ecc.) in una immagine come le caratteristiche intermedie per la classificazione di immagini di scena, e necessitano di una etichettatura manuale di ogni patch dell’immagine nei dati di training. Mentre l'etichettatura manuale può migliorare la l'interpretazione semantica delle immagini, essa è ancora un lusso per un insieme di dati di grandi dimensioni e può anche introdurre incongruenze nel modo in cui una serie di concetti sono definiti [64]. Il secondo tipo di approccio è volto ad alleviare questo onere di etichettatura manuale e ad apprendere automaticamente le caratteristiche intermedie. Ciò si ottiene facendo una analogia tra un documento e un'immagine e approfittando degli approcci esistenti per l’analisi dei documenti. Ad esempio, Fei-Fei e Perona [65] hanno o Pagina |31 Capitolo I – Annotazione di Immagini proposto un modello gerarchico bayesiano esteso dall’allocazione latente Dirichlet (LDA) per apprendere categorie di scene naturali. Bosch et al. [66] ha ottenuto buone prestazioni nella classificazione di scene combinando l’analisi semantica latente probabilistica (PLSA) [67] e un classificatore K-NN. Un punto comune di questi approcci è che essi rappresentano una immagine come un insieme disordinata di parole visuali. Una eccezione è rappresentata dal lavoro di Lazebnik et. al. [68]. Questi esempi di classificazione delle immagini orientata sulla scena globale ha fornito buoni risultati nella classificazione delle categorie di scena, come “tramonto”, “paesaggio” e “campagna”, ma non hanno mostrato alcun vantaggio nel classificare i nomi degli oggetti, come “cielo”, “tigre”, “cavallo”, ecc.. 1.6.2 CLASSIFICAZIONE BASATA SU OGGETTI LOCALI Per oggetti singoli, l'aspetto visivo corrispondente nell'immagine è solitamente un segmento dell'immagine anziché l'intera immagine. A volte, anche collettivamente, questi segmenti di oggetti possono rappresentare solo una piccola parte dell’immagine. Questo rende una caratteristica globale visiva non sempre una soluzione adeguata, specialmente nel caso di in ci è presente un certo numero di oggetti nell'immagine. Pertanto, il trattamento di una immagine come un insieme di regioni e l'annotazione dell’immagine con queste regioni è utile per la classificazione di immagini basata su oggetti. Come abbiamo affermato in precedenza, una immagine può essere suddivisa in un insieme di regioni. In tale modo, l’annotazione dell’immagine può essere formulata come un apprendimento di istanza multiple (MIL) e questo problema è stato descritto da Dietterich et al. [69]. Nell'impostazione MIL, l'oggetto da classificare è un insieme di istanze invece di una singola istanza. I dati di training sono formati da esempi positivi e negativi. Un insieme viene etichettato come positivo se almeno una delle istanze presenti al suo interno è etichettato come positivo. Un insieme è etichettato come negativo se nessuna delle istanze presenti è etichettata come positivo. Questo concetto è illustrato nella figura 1.8. Pagina |32 Capitolo I – Annotazione di Immagini Figura 1.8: Insieme delle istanze positive e negative Le etichette sui dati di training sono fornite solo per ogni insieme e non per ogni singola istanza. Data una nuovo insieme senza etichetta, è necessario classificarlo come positivo o negativo. Questo tipo di problema non può essere risolto dai tradizionali classificatori statistici in cui ogni esempio di training è rappresentato come un unico vettore di caratteristiche invece che di un insieme di vettori di caratteristiche. Un certo numero di approcci sono stati proposti sulla base della formulazione MIL per l’annotazione di una immagine. Maron e Raton [70] tentarono di applicare le tecniche MIL per classificare le immagini di scene naturali, distinguendo i termini come “cielo”, “cascata” e “montagna”. Essi rappresentano ciascuna immagine come un insieme di sotto-immagini di 2 × 2 pixel, ciascuna delle quali è rappresentata da un vettore contenente il colore medio e la differenza di colore fra di esse ed inoltre le quattro sotto-immagini limitrofe. L’addestramento di MIL è ottenuto massimizzando le diverse densità (DD), cioè ricerca il punto nello spazio delle caratteristiche che è più vicino ad almeno una delle istanze di ciascun insieme positivo e lontano da tutte le istanze di ciascun insieme negativo. Successivamente, Yang et al. [71] hanno applicato MIL per annotare immagini con l'obiettivo di annotare in modo esplicito delle regioni singole di una immagine invece di etichettare l'intera immagine. Essi usano l’algoritmo PWDD per trovare le corrispondenti regioni delle immagini presenti nel training set. Rispetto al tradizionale algoritmo DD di Maron et al. [70], l’algoritmo PWDD trova sempre una regione di una immagine presente nel training set. Pagina |33 Capitolo I – Annotazione di Immagini L'algoritmo sopra menzionato è computazionalmente costoso, così altri algoritmi sono stati proposti e applicati per eseguire l’annotazione delle immagini. Andrews et al. [72] ha riformulato la problematicità MIL. Nella loro formulazione, le variabili intere sono le variabili di selezione che indicano quale istanza in un insieme di positivi indica un esempio positivo. Il loro algoritmo, chiamato MI-SVM, ha un ciclo esterno e un ciclo interno. Il ciclo esterno imposta i valori di queste variabili di selezione, mentre quello interno allena poi una SVM standard in cui l'istanza selezionata positiva sostituisce tutti gli insiemi positivi. L’approccio MI-SVM tende a diventare una soluzione locale ottimale piuttosto che influire sulle prestazioni del classificatore finale. Così Yang et al. [73] ha proposto un metodo di supporto asimmetrico vettore macchina (ASVM) per risolvere il problema MIL e lo ha applicato alla annotazione di immagine basata su regioni. Il metodo, chiamato ASVM-MIL, estende le tradizionali support vector machine all'impostazione MIL con l'introduzione di funzioni di perdita asimmetriche per i falsi positivi ed i falsi negativi. Oltre a questi tentativi che utilizzano algoritmi di apprendimento differenti per l'algoritmo MIL, Cheng e Wang [74] sostengono che alcuni concetti non possono essere descritti da una singola istanza in un insieme, e rappresenta l'assunzione di base dell'algoritmo MIL tradizionale. Invece, questi concetti possono essere solamente descritte da una combinazione di diverse istanze. Ad esempio, una scena di “sci”: una combinazione di “persone” e “neve”. Per questo motivo, essi hanno proposto un algoritmo, chiamato DDSVM, per apprendere i molteplici aspetti di un concetto. DDSVM si articola in due fasi: nella prima fase, una serie di prototipi sono identificati dall'algoritmo DD di Maron e Raton, ciascun prototipo è un massimizzatore locale della funzione di ottimizzazione DD. Nella seconda fase, avviene una mappatura di ogni insieme di istanze con un vettore di caratteristiche avente lunghezza fissa ed usa la distanza tra le istanze presenti nell’insieme e l’insieme dei prototipi. Dopo aver ottenuto questo vettore di caratteristica di lunghezza fissa, un classificatore SVM tradizionale viene applicato per classificare questo nuovo esempio dello spazio vettoriale delle caratteristiche. 1.6.3 CLASSIFICAZIONE MULTI-LIVELLO Sia la classificazione basata su scene globali che quella orientata agli oggetti locali risultano essere vantaggiose per trattare alcuni tipi di categorie di immagini. Tuttavia, siamo spesso di ob Pagina |34 Capitolo I – Annotazione di Immagini fronte al problema dell’annotazione di immagini che contengono sia classi orientate a scene globali e sia elementi di classi orientate a oggetti locali. Quindi abbiamo bisogno di un approccio globale in grado di annotare questi due tipi di classe insieme. Dal momento che la classificazione delle immagini da parte di un essere umano tende a seguire una struttura gerarchica [52], un schema multi-livello di classificazione risulta essere utile. Ad esempio, possiamo classificare una immagine come immagine di “giardino”, e il “giardino” può essere ulteriormente suddiviso in “fiore”, “erba”, ecc.. Con le virtù di questo tipo di concetti gerarchici, una annotazione di immagini multi-livello è stata proposta da Fan et al. [75, 76] e Gao e Fan [77]. Come illustrato in Figura 1.9, Gao e Fan [77] organizzano le parole chiave in diversi livelli di semantica in una struttura gerarchica. Al livello più basso sono presenti i concetti che possono essere rappresentati da oggetti salienti. I singoli rilevatori di questi oggetti salienti sono addestrati separatamente. Poiché la variazione dell'aspetto di ogni oggetto saliente è relativamente piccola, l'insieme dei sensori degli oggetti salienti può ottenere una elevata precisione di classificazione. Al livello più alto è presente il concetto di immagine semantica atomica. Essi vengono rilevati in modo probabilistico da un framework bayesiano, considerando la loro dipendenza dagli oggetti salienti. Figura 1.9: Esempio di concetto di ontologia utilizzato da Gao et. al. Per quanto riguarda la costruzione del concetto di ontologia, Gao e Fan [78], hanno proposto un algoritmo semi-supervisionato per imparare il loro concetto di ontologia dal dataset LabelMe [79] e WordNet [80]. Tuttavia, tale framework multi-livello di annotazione è stato provato solamente in un dominio molto speciale selezionando immagini di scene naturali. Pagina |35 Capitolo I – Annotazione di Immagini La loro performance su immagini di grandi dimensioni non è chiara. In particolare, la generazione del concetto di ontologia sarà complicata soprattutto se sono presenti un gran numero di concetti in differenti livelli di semantica. 1.7 ANNOTAZIONE DI FORME: UNA BREVE PANORAMICA L’annotazione di immagini sulla base della forma degli oggetti richiede un meccanismo automatico per associare i concetti di alto livello (categorie semantiche) alle caratteristiche di forma di basso livello. L’associazione dei concetti semantici alle immagini può essere essenzialmente vista come un processo di classificazione. Per ogni forma, l’appartenenza ad una categoria semantica è derivata in accordo con alcune misure di similarità. A questo punto la forma può essere classificata in una delle categorie considerate. Secondo la letteratura corrente, questo processo può essere eseguito mediante la supervisione o la non-supervisione degli algoritmi di apprendimento. L’obiettivo principale dell’apprendimento supervisionato consiste nella previsione delle etichette relative alle categorie semantiche per un oggetto basato sui descrittori di forma sfruttando le informazioni circa le forme etichettate in precedenza. Nell’apprendimento non-supervisionato, nessuna etichetta è disponibile e l’obiettivo è di scoprire come i descrittori di forma possono essere raggruppati sulla base di alcuni criteri di similarità. Alla fine, il risultato di ogni cluster può essere associato ad una etichetta di categoria. Il successo delle tecniche di supervisione è influenzato da diversi fattori. Per ottenere buone performance di classificazione, essi richiedono un grande numero di dati di training etichettati, ma fornendo questi dati si rischia di incorrere in errori. Quando i database di immagini iniziano a diventare molto grandi, tale pre-annotazione è sempre più difficile perché aumenta lo sforzo manuale coinvolto. Inoltre, quando il dominio dell’applicazione cambia, nuovi esempi etichettati devono essere forniti. L’uso delle tecniche non-supervisionate consente di superare tali limitazioni. In particolare, gli algoritmi di clustering possono essere propriamente applicate ad un gruppo di immagini di forma non etichettate, in modo tale che le forme che hanno caratteristiche di basso livello simili sono considerate simili ad altre (cioè hanno contenuti semantici simili) e così esse sono raggruppate nello stesso cluster. Una descrizione testuale di una categoria semantica può essere associata ad ogni cluster estratto. In questo modo, una nuova forma non etichettata può essere etichettata associando il cluster in ogg Pagina |36 Capitolo I – Annotazione di Immagini modo che corrisponda meglio alle caratteristiche di basso livello delle forma considerata. Il clustering di forme riveste un ruolo fondamentale in molte applicazioni, comprese l’analisi delle immagini, l’indicizzazione e il loro riconoscimento. A causa del grande numero di potenziali domini applicativi, molte varietà di algoritmi di clustering sono state proposti per la classificazione di forme. Ad esempio, in [81] l’algoritmo K-means è applicato per classificare le forme della sostanza bianca in fibra di tratti modellata usando i descrittori di Fourier. In [82] gli autori propongono un metodo per scoprire cluster di forme che sono rappresentati dai prototipi descrittivi. Questo metodo è formato da due passi: i. primo passo: un insieme iniziale di forme è messo in relazione con i prototipi potenziali dei cluster; ii. secondo passo: un approccio agglomerativo è applicato iterativamente per raffinare le etichette iniziali. Infine in [83] è proposto il clustering non-supervisionato di forme di oggetti, in cui gruppi di forme simili rappresentate dai descrittori di forma contestuali sono derivati applicando un algoritmo di clustering che utilizza le mappe di diffusione, un metodo di riduzione di dimensionalità non lineare, per incorporare i vettori di caratteristiche delle forme in spazi dimensionali inferiori. Un ulteriore esempio di tecniche di applicazione del clustering per classificare forme è presentato in [84]. Gli autori utilizzano in questo caso una rappresentazione geometrica delle forme e definiscono le similarità di forme usando il concetto della lunghezza geodetica. Un algoritmo di clustering basato sulla minimizzazione di un criterio di dispersione all’interno dei cluster è utilizzato per raggruppare forme considerate simili ad altre. Per ogni gruppo, è derivato un prototipo rappresentativo della categoria come la forma più significativa calcolata sulle forme appartenenti al cluster corrispondente. Pagina |37 CAPITOLO II IMAGE RETRIEVAL Pagina |38 Capitolo II – Image Retrieval Questo capitolo ha l’obiettivo di introdurre il concetto di image retrieval, di descrivere il processo di Content Base Image Retrieval e di riportare una breve panoramica sui sistemi presenti in letteratura. 2.1 INTRODUZIONE L’image retrieval (o visual retrieval) si interseca nel più ampio panorama dell’information retrieval, ed è definito come il metodo di reperimento, in una collezione o in un database, di immagini rilevanti rispetto ad una determinata richiesta. Le ricerche nel campo dell’Image Retrieval hanno fatto il loro esordio negli anni ‟70 e inizialmente l’approccio utilizzato per il ritrovamento delle immagini era basato sul testo. Ciò accadeva perché le immagini erano annotate manualmente dall’uomo e venivano memorizzate tramite parole chiave, le stesse che si dovevano impiegare per il ritrovamento delle immagini. Con il passare del tempo questo modo di operare è diventato troppo dispendioso e in termini di lavoro dell’uomo e in termini di prestazione durante la fase di ritrovamento, per questo la ricerca si è incentrata sul contenuto visuale delle immagini. Di questo si occupa il MMIR (MultiMedia Information Retrieval) che definisce i sistemi di recupero delle informazioni multimediali digitali permettendo all’utente di comunicare le proprie query al sistema non attraverso modalità testuali, ma visive, sonore e audiovisive. Tutto questo è fatto perché MMIR ha come scopo la costruzione di banche dati di documenti multimediali sulle quali agiranno i motori di ricerca operando con specifici linguaggi di programmazione. Per agevolare la ricerca all’interno delle banche dati, l’indicizzazione delle immagini è multimediale; tutto questo permette di affiancare la ricerca testuale a quella tramite immagini, figure e forme. Nell’image retrieval, alle immagini sono associati diversi tipi di informazioni chiamati metadati1 che possono essere: o metadati indipendenti dal contenuto: dati non direttamente collegati al contenuto delle immagini ma ad esse correlati, come ad esempio l’autore, la data di realizzazione, ecc.; 1 Raccolgono le informazioni relative al dove, al quando, al come e da chi i dati sono stati ottenuti. Si tratta quindi di un corredo indispensabile per rendere tali dati fruibili correttamente da chiunque, anche a distanza di tempo e di spazio ottenuti. Pagina |39 Capitolo II – Image Retrieval o dati relativi al contenuto visuale delle immagini: metadati dipendenti dal contenuto: relativi a caratteristiche di livello basso o intermedio come forma, colore, tessitura e relazioni spaziali; metadati descrittivi del contenuto (o relativi alla semantica): relativi alle relazioni tra entità e attributi delle immagini con oggetti del mondo reale, emozioni e quindi tutti quei significati che sono associabili all’immagine o a parte di essa. Come già accennato, i primi sistemi di image retrieval inizialmente permettevano l’accesso alle immagini solo attraverso stringhe e in questi sistemi i metadati indipendenti dal contenuto erano rappresentati da stringhe alfanumeriche, mentre i metadati descrittivi del contenuto (o dipendenti dal contenuto) erano espressi con parole chiave o script. Le parole chiave identificano entità significative presenti nell’immagine, termini o concetti dipendenti dal contesto o una rappresentazione della scena; mentre gli script sono descrizioni più ampie che esprimono a parole il contenuto e il significato dell’immagine. Questo modo di ritrovamento delle immagini però sfrutta solo la ricerca full text 2 , non prendendo in considerazione le caratteristiche di livello basso o intermedio che sono correlate alle caratteristiche percettive delle immagini stesse. Molto spesso quest’ultime hanno un ruolo secondario nel retrieval, ma in realtà possono essere estremamente importanti in molte applicazioni. Alla luce di queste considerazioni bisogna anche aggiungere che il dominio testuale è poco adatto a descrivere l’importanza percettiva di alcune caratteristiche visuali e non fornisce misure di similarità che invece sono indispensabili quando si opera con le immagini. Infatti la descrizione testuale riflette il punto di vista di chi annota l’immagine e, nella maggior parte dei casi, è una persona diversa dall’utente che potrebbe trovare inappropriata la descrizione, in quanto essa è soggettiva e cambia da persona a persona. Per questo l'inadeguatezza della descrizione del testo è molto evidente poiché non si può: o catturare la salienza percettiva della funzionalità visiva; o caratterizzare alcune entità, gli attributi, i ruoli o gli eventi; o modellare la correlazione tra funzioni percettive e concettuali; 2 La logica full text permette di rappresentare un documento tramite l‘intero insieme delle parole ad esso associate. Pagina |40 Capitolo II – Image Retrieval o descrivere in maniera oggettiva un’immagine e il processo di annotazione potrebbe risultare incoerente, incompleto, ambiguo, e molto difficile da automatizzare. Attualmente, nei sistemi di image retrieval il ritrovamento è basato sul contenuto e l’accesso all’informazione è effettuato tramite testo affiancato all’uso di misure oggettive e di appropriati modelli di similarità tra le immagini. Ad esempio possiamo decidere di effettuare una query basandoci sulla forma e definendo dei parametri che la descrivono. Un tipico sistema di recupero di immagini tramite somiglianza di forma presuppone: 1. una query by sketch: l’utente disegna una sagoma approssimativa di ciò che sta cercando nel database di immagini; 2. la ricerca nel database avviene quindi tramite tecniche di indicizzazione e di riconoscimento provenienti dalla Computer Vision3; 3. l’output del sistema non si limita a dire cosa è stato o non è stato riconosciuto, ma deve fornire una lista di immagini ordinate per grado di somiglianza con la forma inserita dall’utente. In sostanza possiamo dire che il salto di qualità nel ritrovamento delle immagini nel corso degli anni è stato determinato dalla consapevolezza, sempre più forte, che non sempre la parole riescono ad esprimere ciò che vediamo e che il contenuto dell'immagine è molto più versatile rispetto al testo. "Una foto vale più di mille parole" dice William I. Grosky 4 ed è proprio per questo che l’approccio visuale nel ritrovamento delle immagini ha avuto un così enorme successo. Sostanzialmente possiamo dire che l’image retrieval utilizza cinque modalità per indicizzare, archiviare, ricercare e recuperare le immagini: 1) modalità semantica: è il metodo più tradizionale, ma anche il più problematico nel campo delle immagini. Si definiscono etichette testuali che dovranno essere richiamate per consentire di recuperare l’immagine a cui sono associate; 3 La Computer Vision permette di gestire le informazioni grafiche mediante sistemi di analisi che permettono di recuperare tutte le immagini legate a un argomento mostrato graficamente. Le immagini vengono archiviate in un database oppure mediante speciali librerie in database pubblici. 4 Professore del Dipartimento di Informatica e Scienze dell'Informazione University of Michigan-Dearborn, Dearborn, MI, USA. Pagina |41 Capitolo II – Image Retrieval 2) modalità formale: si basa sulla capacità del sistema di confrontare le forme estratte dall’immagine archiviata con quelle estratte dal modello su cui si basa la query. Nella fase di recupero il sistema valuterà il grado di vicinanza tra i dati; 3) modalità strutturale: si basa sulla scomposizione delle immagini dell’archivio e delle immagini modello in sezioni. Il recupero dell’immagine sarà effettuato in base alla similitudine delle sezioni; 4) modalità coloristica: si basa sulla rappresentazione delle immagini attraverso i colori in esse contenuti. Il recupero sarà effettuato sulla base del confronto di tali caratteristiche; 5) modalità parametrica: si basa sulla determinazione dei parametri che rappresentano un’immagine (forma, struttura e colore). Il recupero dell’immagine sarà effettuato confrontando i valori dei parametri immessi nelle query con quelli già esistenti nelle immagini archiviate. Fino ad ora abbiamo analizzato la nascita e lo sviluppo dell’image retrieval come strumento per la ricerca di immagini all’interno dello spazio web. Ma come questo metodo si interfaccia con l’utente permettendogli di poter effettuare le sue query?. In [85] è descritto come sia importante e necessaria la creazione di interfacce naturali che aiutino l’utente a svolgere la propria ricerca. Gli anni recenti hanno visto uno sviluppo sempre maggiore del numero e delle dimensioni dei depositi di immagini digitali, ma esiste ancora un gap semantico tra utente e sistema. In questo tipo di sistema di ritrovamento delle immagini, l’utente esprime la sua query facendo riferimento a caratteristiche di basso livello che le immagini ricercate dovrebbero contenere. I sistemi VIR (Visual Information Retrieval) hanno bisogno di manipolare le informazioni che l’utente fornisce e lo fanno tramite un agente che comunica con lui attraverso meccanismi di linguaggio naturale, gesti, espressioni, ecc... Questo agente ha una struttura predeterminata, in cui sono memorizzate associazioni tra concetti e sensazioni, che risulta essere nettamente (e ovviamente) limitata rispetto alla memoria e al background della mente umana. Ciò provoca l’uso di un canale comunicativo ristretto determinato dalla macchina che non permette processi inferenziali a cui l’utente invece è abituato. Idealmente la comunicazione tra sistema e utente incorpora le migliori caratteristiche dei due partecipanti utilizzando le seguenti regole: Pagina |42 Capitolo II – Image Retrieval a) l’adozione di un linguaggio quanto più naturale possibile; b) l’acquisizione della conoscenza dell’utente da parte della macchina per migliorare i risultati delle query, adeguare il sistema e la sua interfaccia all’utente. Possiamo avere due tipi di approcci nella comunicazione tra utente e sistema: 1. pull model: in cui l’utente ha la responsabilità esclusiva per la specifica della query e il sistema gli fornisce assistenza; 2. push model: in cui il sistema ha un ruolo più attivo e non si limita solo a fare da assistente, ma diventa partner dell’utente. Questo modello presuppone che il sistema apprenda come rilevare le informazioni che l’utente gli fornisce e gli suggerisca i risultati conformi alle sue richieste. In entrambi gli approcci però un ruolo importante ha il background dell’utente perché esso influisce sulla terminologia utilizzata da egli per formulare la query per l’immagine desiderata. È anche dimostrato, che i diversi tipi di utenti richiedono diversi stili di interazione con il sistema e recenti studi si stanno occupando di questo problema per realizzare sistemi basati sull’image retrieval più efficaci. Per attuare questo progetto di creazione di sistemi più vicini all’utente si prendono in considerazione aspetti come: o sviluppare tecniche che permettono al sistema di acquisire informazioni dell’utente e usarle per adattare il processo di ritrovamento delle immagini alle richieste dell’utente stesso; o fornire un’interfaccia multimodale5e che possa consentire l’uso combinato tra testo e immagini nella formulazione delle query; o creare prototipi di assistenti da inserire nell’interfaccia e valutarli; o modellazione sia degli aspetti oggettivi (basso livello) che soggettivi (alto livello) di un’immagine, attraverso l’uso di tecniche basate sulla conoscenza. 5 Interazione che coinvolge più di un canale percettivo. Pagina |43 Capitolo II – Image Retrieval Per concludere la parte relativa all’image retrieval e allo sviluppo di interfacce che utilizzano questa tecnica di retrieval, elenchiamo come i sistemi VIR possono essere classificati e come si differenziano tra loro a seconda di alcune caratteristiche: o automazione: vengono estratte e indicizzate le caratteristiche visuali delle immagini utili per le query visive. I sistemi si differiscono nel grado di automazione dell’estrazione e indicizzazione di tali caratteristiche che in linea di massima usano metodi del tutto automatici per estrarre le caratteristiche di basso livello e si affidano all’intervento dell’uomo per determinare i concetti a livello semantico; o caratteristiche multimediali: i contenuti multimediali comprendono informazioni di diverso tipo (immagini, testi…) e i sistemi si differiscono nel trattamento multiplo di queste informazioni; o adattabilità: la maggior parte dei sistemi usa un insieme statico di caratteristiche estratte che vengono selezionate o dal sistema o dal progettista e ciò comporta alti costi di indicizzazione e nella ricerca. I sistemi si differiscono in questo senso in base alla capacità, più o meno alta, di estrarre e indicizzare in modo dinamico le caratteristiche al fine di adattarsi ai bisogni dell’utente; o astrazione: i diversi sistemi si differiscono in base al livello di astrazione con cui si indicizza il contenuto. Si può astrarre a livello di oggetto, a livello di funzionalità, di sintassi e di semantica, ma in linea generale i sistemi automatici mirano al livello basso e per gli indici di alto livello ci si affida all’uomo; o generalità: i sistemi si differiscono nella specificità del dominio di informazioni visive. Alcuni sistemi fanno riferimento a uno specifico dominio, altri invece mirano ad un’indicizzazione svincolata da esso; o contenuto della collezione: i sistemi si differiscono nel modo in cui vengono aggiunte nuove informazioni visuali. Nei sistemi dinamici ciò avviene automaticamente, negli altri le informazioni visuali sono inserite manualmente; o elaborazione del dominio: i sistemi si differiscono nel loro approccio per elaborare le informazioni visuali (basso livello) e quelle soggettive (di alto livello) di un’immagine, attraverso l’uso di tecniche basate sulla conoscenza. Pagina |44 Capitolo II – Image Retrieval 2.2 TEXT BASED VS. CONTENT BASED Nell’era in cui ci troviamo, in cui tutto è basato su Internet e sul reperimento di informazioni tramite esso, è quasi “naturale” pensare ad un sistema che sia in grado di comprendere ciò che si cerca come se stessimo parlano con un umano. È dunque restrittivo continuare a pensare che la ricerca di un documento possa essere effettuata basandosi solo su un linguaggio testuale. Ancora più limitativo sarebbe pensare di usare questo metodo per la ricerca di immagini, così come è stato fino a poco fa. Infatti si operava esclusivamente nel campo dell’image retrieval dove, ogni documento è ricercato tramite linguaggio testuale, attraverso sistemi text-based. In questi sistemi le informazioni sono descritte con etichette testuali, che serviranno anche per la ricerca di documenti (testuali e non) ad esse correlati. È chiaro che questi sistemi sono adatti per archivi il cui contenuto è essenzialmente un testo, ed è ovvio riferirsi ad essi tramite termini e frasi contenute nel documento stesso. Oggi invece la tecnologia ha permesso la creazione di sistemi di information retrieval content based (o multimedia information retrieval) in cui ogni documento elettronico può essere trattato e ricercato tramite gli elementi del linguaggio più adatti alla sua natura di documento multimediale. Negli archivi che contengono questi documenti si rivela troppo semplificativo e impreciso attribuire una descrizione testuale a tali contenuti. Ad esempio risulterebbe dispersivo ricercare l’immagine di un tramonto attraverso l’uso delle parole perché esso potrebbe essere descritto secondo vari punti di vista: il luogo in cui esso avviene, le sensazioni che suscita o i colori e sfumature presenti. Invece risulterebbe più appropriato usare un sistema di ricerca che operi direttamente sul contenuto visuale. In questa sezione si distinguono: a) sistemi di visual retrieval in cui sono estratte caratteristiche (features) riguardanti colore, tessitura, forma, ecc., di immagini 2D e 3D; b) sistemi di video retrieval che si basano sul linguaggio audiovisivo, cioè elementi di ricerca ricavati dal filmato, che comprendono il movimento degli oggetti nelle inquadrature, le tracce sonore, etc. Una fase importante per il recupero di tali informazioni è la suddivisione del video in shot, da cui sono estratti i keyframe, sui quali si basa la query dell’utente. Pagina |45 Capitolo II – Image Retrieval c) sistemi di audio retrieval in cui le informazioni estratte riguardano analisi di volumi, sonorità, ritmi e melodie. Anche questi sistemi, così come i video retrieval precedentemente illustrati, peccano di poca accuratezza. Per comprendere al meglio le tecniche del recupero delle immagini, è opportuno spiegare innanzitutto come avvengono le ricerche e le indicizzazioni su di esse, divise essenzialmente tra un sistema tradizionale chiamato “Term-Based Image Retrieval” (ricerca basata sui termini) e un sistema di recupero più innovativo come il Content-Based Image Retrieval (recupero basato sul contenuto). In un sistema TBIR, la query è espressa testualmente così come i descrittori a cui sono collegate le immagini. Insomma, tutto viene tradotto in parole: l’immagine, il suo contenuto, le chiavi di accesso che lo identificano nella sua memorizzazione e anche la struttura della query nella fase di ricerca. Le query, quindi, sono nella forma di parole chiave o testo libero con o senza l’utilizzo di operatori booleani. Il testo inserito per la ricerca è trasformato in una lista di elementi, chiamati token, ignorando solitamente numeri e punteggiatura e considerando token solamente le stringhe contigue di caratteri alfabetici, così come avviene quando si usano i comuni motori di ricerca. Anche se rappresenta il metodo maggiormente utilizzato, non sempre risulta essere il più efficace, in quanto a volte la punteggiatura o la differenza tra maiuscole e minuscole è significativa. Sono inoltre eliminate le stopwords, ovvero le parole che compaiono frequentemente in un linguaggio come pronomi, articoli o congiunzioni e applicate le tecniche di de-hyphenation e stemming che rispettivamente permettono la divisione in più parole delle parole che contengono il trattino e la riduzione delle parole alla loro radice grammaticale. L’utilizzo di queste tecniche è positivo dal punto di vista dell’occupazione dello spazio, ma non sempre migliora la qualità della risposta ad una query. Successivamente è effettuata la ricerca attraverso algoritmi di IR basati sulla ricerca di similarità tra query e testo associato alle immagini contenute negli archivi. Le immagini ritrovate sono ordinate in base alla probabilità che siano rilevanti per l’utente, il quale infine le esamina ed eventualmente, se non è soddisfatto, raffina la query (relevance feedback). Concludendo, i sistemi TBIR, riescono a catturare i concetti di alto livello o astratti presenti nell’immagine, come una persona che sorride o è triste, ma a fronte di ciò, presentano i seguenti svantaggi: Pagina |46 Capitolo II – Image Retrieval 1) il testo non sempre, forse mai, è consistente e completo; 2) è necessario associare alla stessa immagine più sinonimi; 3) l’etichetta testuale associata all’immagine è soggettiva e quindi diversa da soggetto a soggetto. Un sistema più efficace, quindi, per la ricerca delle immagini è quello basato sul loro contenuto visuale: CBIR (Content Based Image Retrieval). L’obiettivo di tali sistemi è descrivere, mediante modelli matematici e implementazioni informatiche delle immagini, il loro contenuto, cercando, per quanto possibile, di rispettare i principi del sistema visivo umano [4]. I sistemi attualmente sviluppati si basano sul riconoscimento del contenuto dell’immagine utilizzando le seguenti tecniche: o histogram detection: è la tecnica più banale, ma anche la meno affidabile. È al primo livello di ogni sistema CBIR; o pattern recognition: si basa sul riconoscimento di elementi ripetuti all’interno di un’immagine ed è usato congiuntamente ad altre tecniche; o edge detection: permette di riconoscere i confini delle figure presenti nelle immagini attraverso il riconoscimento di cambiamenti di colore; o shape detection: è basata sull’edge detection e riconosce le forme geometriche basilari; o object recognition: è la più complessa delle tecniche e ha come obiettivo il riconoscimento di oggetti in un’immagine. 2.3 IL PROCESSO DI CONTENT BASED IMAGE RETRIEVAL L’architettura di un sistema di CBIR è articolata in due fasi [86]: 1. pre-processing: consiste nel popolare il database. In questa fase sono estratte le caratteristiche di basso livello (low level features) dell’immagine (forma, colore e tessitura), che vengono memorizzate e indicizzate. Queste caratteristiche vengono estratte dalle immagini mediante particolari algoritmi, che ne derivano vettori Pagina |47 Capitolo II – Image Retrieval multidimensionali volti a rappresentare le features dell''immagine. Infatti questa fase risulta essere costosa in termini di tempo; 2. query processing: consiste nella fase di interrogazione in cui l’utente, tramite un’interfaccia grafica, formula un’interrogazione utilizzando un’immagine campione o disegnandone una. L’mmagine query deve essere processata dal sistema per estrarre le caratteristiche, le quali saranno confrontate con quelle delle immagini memorizzate nel database. È importante che questa fase abbia una breve durata per permettere di presentare all’utente i risultati in tempo reale. Nei sistemi più avanzati è presente anche il meccanismo di relevance feedback, che consente di interagire con l’utente, il quale ha già visto i primi risultati ma è ancora insoddisfatto, e gli permette di raffinare la query di partenza. Figura 2.1: Architettura di un sistema CBIR Pagina |48 Capitolo II – Image Retrieval 2.4 ESEMPI DI SISTEMI CBIR Nel corso degli anni sono stati progettati molti sistemi di Content based image retrieval, alcuni più semplici considerando come features solo le forme, ad altri che considerano tutti i tipi di features o prevedono anche una fase di relevance feedback. Alcuni esempi di sistemi sono CBIR sono i seguenti: o SQUID (Shape Queries Using Image Databases): è un sistema progettato e realizzato dal Centre for Vision Speech and Signal Processing dell’Università di Surrey. Questo sistema utilizza tecniche di indicizzazione e di ricerca basate delle sole forme. Ogni immagine è processata per recuperare il contorno che è rappresentato poi da tre parametri di forma globali ed il massimo della curvatura nella sua immagine CSS (Curvature Scale Space). Il database impiegato è composto da 1100 immagini di creature marine; Figura 2.2: Schermata del sistema SQUID o MARS (Multimedia Analysis and Retrieval System): sistema basato sul relevance feedback in C++, proposto dall’Università dell'Illinois; Pagina |49 Capitolo II – Image Retrieval Figura 2.3: Schermata del sistema MARS o CIRES (Computer and VIsion RESearch Center): sistema basato su query by example, proposto dall'università del Texas; Figura 2.4: Schermata del sistema CIRES Pagina |50 Capitolo II – Image Retrieval o QUICKLOOK: sistema sviluppato in Italia dai ricercatori del Dipartimento di Informatica, Sistemistica e Comunicazione dell’Università di Milano-Bicocca e dall'Istituto per le Tecnologie della Costruzione del CNR di Milano. Il sistema si applica alle immagini fisse nonché ai video, ed è in grado di combinare interrogazioni basate sul contenuto visivo estratto automaticamente e interrogazioni basate sulla similarità testuale tra descrizioni associate agli elementi. Il sistema permette l'interrogazione dell’archivio sulla base di differenti strategie, ma in particolare consente di raffinare progressivamente la risposta sulla base di un relevance feedback che l'utente fornisce sugli elementi visivi reperiti. Questo metodo permette all’utente di interagire continuamente con il sistema, introducendo diversi parametri di aggiustamento della mira, i quali sono analizzati di volta in volta dal sistema e producono ulteriori indicazioni sulla rilevanza dei documenti recuperati nell’archivio e permettono alla macchina di apprendere informazioni sul senso della ricerca. Figura 2.5: Schermata del sistema QUICKLOOK Pagina |51 CAPITOLO III CLUSTERING DI FORME SEMI-SUPERVISIONATO Pagina |52 Capitolo III – Clustering di forme semi-supervisionato Questo capitolo ha l’obiettivo di presentare il concetto di clustering nella sua accezione più generale, ed in particolare ci si soffermerà sul clustering di forme semi-supervisionato. In seguito verranno approfonditi gli aspetti componenti del processo di clustering non supervisionato e di quello semi-supervisionato, descrivendo tutte le componenti dell’algoritmo implementato. 3.1 INTRODUZIONE AL CLUSTERING Il clustering è il processo di classificazione automatica (cioè non supervisionata) di dati, non etichettati, in gruppi omogenei (cluster). Esso consiste nell’organizzazione di una collezione di dati, rappresentati solitamente come vettori di misure o come punti in uno spazio multidimensionale, in gruppi basati sulla somiglianza. Intuitivamente, i dati appartenenti a un gruppo sono più simili tra di essi rispetto a un dato appartenente a un gruppo diverso. La varietà di tecniche per rappresentare i dati, per misurare la somiglianza fra essi e infine per raggrupparli ha causato il proliferare di un vasto e confuso assortimento di metodi di clustering, che va anch’esso, appunto, classificato. È innanzitutto importante comprendere la differenza fra clustering (classificazione non supervisionata) e analisi discriminante (classificazione supervisionata): nel primo caso il problema da risolvere consiste nel raggruppamento di una data collezione di dati non etichettati in gruppi significativi; nel secondo caso, data una collezione di dati etichettati (usata come training set al fine di descrivere le classi di dati o gruppi), il problema consiste nell’etichettare i dati non ancora etichettati. Come già accennato il clustering è utile in alcuni processi di exploratory data analysis, ma anche di raggruppamento, decision-making e machine-learning, quali ad esempio: image segmentation, pattern recognition, information retrieval e data mining. In ogni campo di ricerca viene utilizzata una terminologia diversa per le parti componenti del processo di clustering e vengono fatte delle assunzioni sui dati diversi in base al contesto in cui il clustering viene usato. Pagina |53 Capitolo III – Clustering di forme semi-supervisionato 3.1.1 DEFINZIONI E NOTAZIONE In questa sezione vengono introdotte le definizioni e le notazioni di frequente utilizzo: o pattern: detto anche “vettore delle feature”, osservazione o dato, e corrisponde ad un singolo elemento usato dall’algoritmo di clustering. Solitamente consiste in un vettore di d misure: x = {x1,……, xd}; o feature: detta anche attributo, è il componente scalare xi di un pattern x; o dimensione del pattern: d è la cardinalità del vettore x; o pattern set: insieme dei pattern da raggruppare denotato con X = {x1,…… , xn}. L’iesimo pattern di X è il vettore xi = {xi,1,…….,, xi,d}. In molti casi questo insieme è rappresentato come una matrice di dimensione n x d; o class: detto anche cluster, è un insieme di pattern le cui feature sono caratterizzate da un criterio in comune (ad esempio: misura di similarità minore di una certa soglia); o label (o etichetta): assegnata dagli algoritmi di clustering di tipo hard 6 a ogni pattern xi al fine di identificare la sua classe d’appartenenza; o label set: dato un pattern set X è l’insieme delle label L = {l1,…. , ln} con {1,….., k} dove k è il numero di classi (o cluster); ∈ o grado di appartenenza: spesso chiamato anche “fractional degree of membership”, fij è un valore numerico assegnato dagli algoritmi di clustering di tipo fuzzy7 a ogni pattern xi per il cluster j ed indica, appunto, il grado di appartenenza del pattern al cluster; 6 7 Algoritmi che assegnano ogni pattern a un unico cluster ed anche detti di tipo crisp. Algoritmi che assegnano a ogni pattern un grado di appartenenza, fij appunto, al cluster j-esimo. Pagina |54 Capitolo III – Clustering di forme semi-supervisionato o distanza: metrica usata per quantificare la similarità fra pattern e ne esistono di vari tipi. Patterns Feature selection/extraction Pattern Interpattern similarity Grouping Clusters Representations Feedback loop Figura 3.1: Sequenza dei passi di un processo di clustering 3.1.2 I PASSI DI UN PROCESSO DI CLUSTERING Generalmente il processo di clustering è composto dai seguenti passi: 1) rappresentazione dei pattern: riguarda la scelta del numero dei pattern, delle dimensioni e del tipo delle feature. Scegliere il giusto numero di feature, o effettuare trasformazioni su di esse, può portare a significativi miglioramenti sul risultato del procedimento. Tale fase può comprendere, eventualmente anche i seguenti passi: o feature selection : consiste nel selezionare un sottoinsieme significativo delle feature di cui si dispone; si noti che, in generale, non è banale riuscire a capire a priori quali siano gli attributi migliori ai fini del risultato. o feature extraction: opera trasformazioni sulle feature in ingresso al fine di trovarne di nuove e più significative. 2) definizione di una misura di prossimità: per poter raggruppare i pattern in insiemi omogenei occorre quantificare la diversità tra i vari elementi (spesso si tratta di una distanza tra punti nello spazio come la distanza euclidea); Pagina |55 Capitolo III – Clustering di forme semi-supervisionato 3) raggruppamento (grouping o clustering): è la procedura che permette di effettuare la categorizzazione; 4) astrazione dei dati: consiste nell'estrarre una rappresentazione semplice e compatta dei dati. Tale rappresentazione deve essere sia comprensibile all'uomo, sia facile da elaborare. Un tipico esempio di astrazione è il fatto che un cluster può essere rappresentato per mezzo di un punto detto prototipo. 5) verifica dei risultati: per stimare la bontà dei risultati prodotti occorre avere un criterio di ottimalità; una struttura di cluster è detta valida se non è stata prodotta dal caso o da un artefatto interno all'algoritmo. Ci sono tre modi di accertare la validità: o verifica esterna: si controlla se la struttura dei dati ricostruita dall'algoritmo rispetta la struttura nota a priori. o verifica interna: si valuta che la struttura ottenuta dal clustering sia appropriata alla tipologia di dati. o verifica relativa: date due strutture di dati ricostruite dall'algoritmo, ne viene calcolata la qualità relativa. 3.1.3 MISURE DI SIMILARITÀ La prossimità fra pattern e la scelta riguardante le modalità con cui calcolarla è l’aspetto che maggiormente influenza i risultati di un algoritmo di clustering. Essa è misurata calcolando la distanza fra le coppie di pattern facenti parte del pattern set. Esistono una lunga serie di misure di similarità, alcune delle quali, come la distanza euclidea, utilizzabili per riflettere la diversità fra due pattern, altre utili invece a caratterizzare la similarità concettuale fra pattern. A causa della già enunciata varietà di tipi e scale di feature, la scelta della misura di similarità da utilizzare per calcolare la distanza fra pattern in un algoritmo di clustering è di vitale importanza per la sua buona riuscita. Ciò poiché la similarità è un aspetto fondamentale per la definizione di un cluster di pattern. La scelta adottata più frequentemente a tal riguardo è quella di calcolare la similarità (o la difformità) fra una coppia di pattern utilizzando una funzione di distanza definita sullo spazio delle feature. Pagina |56 Capitolo III – Clustering di forme semi-supervisionato La misura di similarità più conosciuta per feature di tipo continuo è la distanza euclidea, , !" & #$ %' ,% !,% " ( ) * ! * 1a che è un caso speciale della metrica di Minkowski: - , !" & #$. %' ,% !,% . ( ) * ! *- 1b Il motivo principale per cui la distanza calcolata tramite la formula (1a) è comunemente usata risiede nel fatto che essa lavora bene su data set compatti oppure su data set le cui classi di dati sono isolate. Lo svantaggio invece di usare la misura calcolata dalla formula (1b) risiede nella sua tendenza a lasciar prevalere le feature con la scala maggiore rispetto alle altre. Comunque, una soluzione a questo problema esiste ed è relativamente semplice: è sufficiente normalizzare le feature a valori continui affinchè divengano così composte da intervalli di valori. Un problema comune alle misure di distanza (1a) e (1b) è la correlazione lineare fra le feature, tuttavia questa distorsione può essere limata applicando una trasformazione chiamata “whitening” o più semplicemente applicando la distanza di Mahalonobis. Diversamente, quando si deve computare la distanza fra pattern le cui feature sono di tipo non continuo, questo processo diventa molto più complesso per i due seguenti motivi: a) la nozione di prossimità è binaria per valori nominali e scalari; b) tipi differenti di feature non sono comparabili. Al fine di risolvere questo problema, in ambito pratico sono state sviluppate delle misure di prossimità per pattern composti da feature non omogenee anche se non è compito di questo lavoro di tesi analizzare queste particolarità. Una classe di misure di distanze di notevole interesse è sicuramente quella costituita dalle misure dipendenti da contesto; misure che tengono in considerazione gli effetti dei punti Pagina |57 Capitolo III – Clustering di forme semi-supervisionato circostanti. Una misura di questo tipo, definita usando il contesto, è, ad esempio, la Mutual Neighbor Distance (MND). Nonostante essa non sia realmente una metrica, poiché non soddisfa la diseguaglianza triangolare8, è stata ampiamente utilizzata, con buoni risultati, in molte applicazioni. Ciò supporta l’idea che la difformità non debba necessariamente essere una metrica. In generale, il teorema del brutto anatroccolo di Watanabe enuncia: “nella misura in cui usiamo un insieme finito di predicati che sono in grado di distinguere due oggetti qualsiasi presi in considerazione, il numero di predicati condivisi da essi è costante, indipendentemente dalla scelta degli oggetti”. Questo teorema afferma quindi che è possibile rendere due pattern qualsiasi ugualmente simili, purché essi vengano codificati con un numero sufficientemente alto di feature; di conseguenza, qualsiasi due pattern saranno altrettanto simili purché non venga usata informazione di dominio addizionale nel calcolo della loro similarità. In conclusione, la nozione appena data risulta utile e molto evidente nei clustering di tipo concettuale, tipologie nelle quali vengono appunto utilizzate le misure di similarità concettuali che sono, indubbiamente, le più generali in assoluto. 3.1.4 APPROCCIO FUZZY Gli approcci tradizionali di clustering generano partizioni e si basano, inoltre, su una corrispondenza → 1 fra pattern e partizioni. L’approccio fuzzy [Bezdek, 1981] estende questa nozione: esso ha lo scopo di creare una corrispondenza → associando ogni pattern ad ogni cluster tramite l’utilizzo di una funzione d’appartenenza [Zadeh, 1965]. Perciò, il risultato di un algoritmo di clustering fuzzy non sarà una partizione crisp dei pattern bensì una partizione soft (fuzzy). Di seguito si descrivono sommariamente i passi di un algoritmo di clustering fuzzy: 1. creare una matrice d’appartenenza 1di dimensione 2 3, dove N è il numero di pattern e K il numero di cluster. L’elemento 4 ! di questa matrice rappresenta il grado 8 Proprietà che caratterizza una distanza in uno spazio metrico (Wikipedia). Pagina |58 Capitolo III – Clustering di forme semi-supervisionato d’appartenenza dell’oggetto al cluster in [0, 1]; !! ed è, tipicamente, un valore compreso 2. utilizzare la matrice 1 al fine di calcolare il valore della funzione costo associata alla corrispondente partizione. Una possibile funzione costo di tipo fuzzy è: 5, 1 dove % $$ ' 7 %' 4 !‖ %‖ 2 ∑ ' 4 ! è il centroide del k-esimo cluster fuzzy; 3. riassegnare i pattern ai cluster al fine di ridurre il valore della funzione 2 e ricalcolare la matrice 1; 4. ripetere il passo 2 finchè i cambiamenti nella matrice 1 sono significativi. Nel fuzzy clustering, ogni cluster è un insieme fuzzy. È tale in quanto ciascun pattern appartiene all’insieme con un certo grado di appartenenza. La figura 3.2 mostra tale idea. Figura 3.2: Confronto tra cluster fuzzy (:; e :< ) e cluster hard (=; e =< ) Una descrizione compatta ma altrettanto chiara dei fuzzy cluster > e > mostrati dalla figura 3.2 è la seguente: > ? 1, 0.9 , 2, 0.8 , ⋯ , 9, 0.0 E, Pagina |59 Capitolo III – Clustering di forme semi-supervisionato > dove le coppie ordinate cluster. ,4 ? 1, 0.0 , ⋯ , 8, 1.0 , 9, 0.9 E, indicano l’i-esimo pattern e il suo grado d’appartenenza al Chiaramente valori maggiori del grado di appartenenza indicano una maggiore possibilità che un pattern appartenga al cluster in questione. Un aspetto molto interessante degli algoritmi di fuzzy clustering risiede nella possibilità di tramutare facilmente i risultati in cluster di tipo crisp semplicemente filtrando i pattern il cui grado d’appartenenza al cluster risulti inferiore ad una specifica e prestabilita soglia. La definizione della funzione costo è il problema principale e di maggior rilevanza negli algoritmi clustering di questo tipo: essa può essere basata sui centroidi o, in alternativa, sull’errore quadratico. L’algoritmo basato su approccio fuzzy più popolare è il Fuzzy C-Means (FCM), descritto nel paragrafo successivo. Sebbene sia esso in grado di evitare la convergenza ad un minimo locale molto meglio rispetto al k-means, tale pericolo non è del tutto scongiurato durante il suo utilizzo. 3.2 ALGORITMO FUZZY C-MEANS NON SUPERVISIONATO L’algoritmo Fuzzy C-Means (FCM) rappresenta una generalizzazione di un altro ben noto algoritmo di clustering, l’hard C-Means. Nel paragrafo successivo è riportata la descrizione dell’algoritmo. 3.2.1 FUZZY CLUSTERING L’algoritmo Fuzzy C-Means è descritto dalle condizioni presentate nell’equazione (3), le quali sono convertite in forma matriciale: F G H I 1 J J 3 Pagina |60 Capitolo III – Clustering di forme semi-supervisionato F ∩ F! P OF ' H I G M 3N F 3 A tal fine, si considera U come una matrice Q 1 di numeri reali: R4 % S ed essa rappresenta la matrice delle partizioni ?F E descritta nella equazione (3) con le seguenti condizioni: 4 T% 4 % U 1;T% ∈ F 4 0; W X W $ 4 % Z 0[ W4WW 4N ' $4 % ' 1[ W4WW \ 4 Nella equazione (4), 4 è una funzione definita come segue: 4 ∶ F → ?0, 1E. Nel modello convenzionale, 4 rappresenta la funzione caratteristica di F , infatti 4 F sono determinati e quindi 4 viene etichettato come l’i-esimo sottoinsieme delle partizioni. Le condizioni dell’equazioni (3) e (4) sono equivalenti, così U è definita come una partizione c di Y. Generalizzando questa idea, ci si riferisce ad U come una partizione fuzzy “c” di Y, dove gli elementi di U sono numeri compresi nell’intervallo [0, 1] e che soddisfano le condizioni (2b) e (2c). La base di questa definizione è la funzione c: 4 ∶ F → ?0, 1E, dove i valori 4 T% ∈ R0, 1S e sono interpretati come i gradi di appartenenza delle T% al sottoinsieme fuzzy 4 di Y. Questa definizione è stata fornita da Zadeh nel 1965, il quale concepì l’idea dell’insieme fuzzy come uno strumento per modellare sistemi fisici che presentano incertezza non statistica. Pagina |61 Capitolo III – Clustering di forme semi-supervisionato Di conseguenza, l’insieme e la partizione fuzzy, rappresentano uno strumento per alterare gli assiomi basilari sottostanti al clustering e ai modelli di classificazione. Con questo metodo, un punto T% può appartenere interamente ad un singolo cluster, ma in generale è in grado di appartenere “parzialmente” a più cluster. Si denotano gli insiemi di tutte le partizioni c di Y con: ^P ^bP ?1P_ |4 % ∈ R0, 1SE 5 ?1P_ |4 % ∈ R0, 1SE 5N È importante evidenziare che ^P è incorporato in ^bP . Questo indica che gli algoritmi di fuzzy clustering permettono di ottenere c partizioni compatte. Per individuare le c partizioni ottimali di Y, sono stato proposti molti criteri, e quello migliore è dato dall’associazione di una funzione che calcola il valore degli errori al quadrato: cd 1, e P $$ 4 % %' ' d 2 e ‖ 6 f ‖T% dove: o F o ?T , T , … … … , Ti E∁ i rappresenta i dati; identifica il numero dei cluster presenti in Y ed è compreso nel seguente intervallo 2 J k ; o m rappresenta l’esponente ed ha un valore compreso tra: 1 J X k ∞; o U è la matrice delle c partizioni di Y, 1 ∈ ^bP ; o e o e e , e , … … … … , eP e , e , … … … . , e i indica il vettore dei centri; rappresentano i centri del cluster i; o ‖ ‖m è la norma indotta di A calcolata su i ; Pagina |62 Capitolo III – Clustering di forme semi-supervisionato o la matrice A (N x N) è la matrice (i suoi valori sono tutti positivi) dei pesi. La distanza al quadrato tra T% e e è calcolata in norma A nel seguente modo: ‖T% % e ‖ 2 f T% e n f T% Il peso collegato all’errore quadratico è 4 % d e 7 , dove l’m-esima potenza delle T% appartiene al cluster i. I vettori ?e Esono definiti come i centri dei cluster oppure come i centri di massa dei sottoinsiemi di partizionamento. Se m ha un valore pari ad 1, si può dimostrare che minimizzando la componente cd soltanto 1 I ∈ ^P e i corrispondenti e rappresentano il baricentro geometrico delle F . Dopo queste affermazioni, è possibile decomporre cd nei suoi elementi di base, in modo da vedere quali proprietà dei punti ?T% E esso soddisfa: • • • • % è la distanza in norma A al quadrato calcolata a partire dal punto T% fino al centro di massa e ; 4% d % rappresenta l’errore in norma A al quadrato sostenuta da T% con e pesando l’appartenenza di T% al cluster i; ∑P' 4 % d % è la somma dei quadrati dell’errore in norma A dovuta alla sostituzione parziale di T% con tutte le c dei centri ?e E; ∑%' ∑P' 4 % d % è la somma pesata degli errori in norma A dovuta alla sostituzione di Y con v. L’esponente m controlla i pesi relativi collocati su ciascun errore al quadrato % . Se m ha un valore prossimo ad 1, le partizioni diventano sempre più compatte. Mentre con un valore pari ad 1, le partizioni saranno necessariamente compatte. L’altro parametro di cd che merita una menzione speciale è il peso della matrice A. Questa matrice determina la forma ottimale che i cluster assumono in norma su i i . Affinché ogni sia un prodotto interno, si utilizza la seguente formula: Pagina |63 Capitolo III – Clustering di forme semi-supervisionato 〈 , T〉m n fr 8 ed inoltre ci sono infiniti modi per calcolare la norma A nella equazione (6). L’algoritmo FCM consente di scegliere tra tre norme, ognuna indotta da una specifica matrice dei pesi. Le norme da utilizzare nell’equazione (6) corrispondono a: I; o norma euclidea:A o norma diagonale: A Dv r ; o norma di Mahalonobis: A Crv . x ey" che minimizzano Un clustering ottimale di Y è definito come coppie: 1, localmente cd . Nel caso in cui il valore di m è maggiore di 1, se T% G e{z per tutte le j e k, dovrà essere ottimale localmente per tutte le cd soltanto se: e{| 4} |% dove • |% sufficienti. P ∑%' 4} |% •$ € !' ‖T% • |% • z% ‚ d / dv T% ~ ∑%' 4} |% v „ d 1 J J 9 1 J \ J ,1 J J 9N e{| ‖m . Le condizioni espresse nell’equazione (9) sono necessarie ma non 3.2.2 DESCRIZIONE DELL’ALGORITMO Sia dato il coefficiente X ∈ R1, ∞ detto costante di fuzzificazione o fuzziness; l’algoritmo ha la seguente struttura: 1. generare una partizione P casuale, con ?f , … … … , f… E; Pagina |64 Capitolo III – Clustering di forme semi-supervisionato 2. calcolare le coordinate dei centroidi tramite la formula seguente: ∑%' 4d% 5%! 4d! †! in cui † ! è la coordinata j-esima del vettore rappresentante il centroide del cluster i- esimo. Questa formula equivale a minimizzare cd 1, ∶ con U fissato; 3. aggiornare la partizione tramite la formula seguente: 4% con 1, … , Qe \ V fissato; ∑…!' 1 ‖5% *5% † ‖ †! * 1, … , . Questa formula equivale a minimizzare cd : , † con 4. iterare i passi “2” e “3” finché due partizioni successive non risultano “abbastanza vicine”. Per misurare la distanza tra due partizioni fuzzy si opera come segue: o si indica con 1 v la matrice associata alla partizione iterazione. La distanza tra e , ! è definita come segue: ! " *1 o il processo termina all’iterazione m se massimo ammissibile. generata all’i-esima 1! * d , dv k ˆ con ˆ errore L’algoritmo FCM consiste, quindi, nello scegliere una partizione fuzzy inizialmente arbitraria P, applicare la formula al passo 2 per calcolare i centroidi e quindi applicare la formula al passo 3 per aggiornare P. Si applicano iterativamente i passi 2 e 3 finché la differenza tra due partizioni successive diventa minore di un numero reale positivo fissato a Pagina |65 Capitolo III – Clustering di forme semi-supervisionato priori. Equivalentemente, si può partire da un insieme di centroidi arbitrari ed applicare alternativamente le formule precedenti per calcolare partizioni e prototipi. Per quanto riguarda l’esponente m utilizzato nella funzione obiettivo, ci sarebbero alcune precisazioni da fare. Se m ha un valore pari ad 1, gli unici gradi di appartenenza degli oggetti ai cluster prodotti dall’algoritmo sono 0 e 1, ed ogni oggetto appartiene quindi ad un solo cluster. Viceversa, se X → ∞, il valore della funzione cd → ∞ . In generale, maggiore è il valore di m, “più fuzzy” sono i valori delle appartenenze ai cluster, mentre per m uguale ad 1, tali valori tendono a 0 oppure 1. Poiché non esistono formule per calcolare il valore ottimale di m, occorre effettuare diverse prove per diversi valori di questo parametro. Di solito, nella pratica, non si conosce nemmeno il numero di cluster per cui vengono effettuate varie prove anche per la ricerca di tale parametro. In Matlab viene fornita la seguente funzione, la quale implementa l’algoritmo Fuzzy C-Means: [V, U, OBJ_FCN] = FCM(DATA, C) dove: • C rappresenta il numero dei cluster; • DATA è una matrice SxR, dove S è il numero delle sessioni ed R è il numero di coordinate di ciascun punto; • V è una matrice CxR, contenente le coordinate di ciascun centroide nelle righe della matrice; • U è una matrice CxS, contenente i gradi di appartenenza di ciascun punto a ciascun cluster; • OBJ_FCN rappresenta una matrice contenente i valori della funzione obiettivo. Pagina |66 Capitolo III – Clustering di forme semi-supervisionato 3.2.3 I DATI I dati di input dell’algoritmo FCM sono rappresentati da matrici i cui vettori sono costituiti da valori numerici tutti compresi tra 0 ed 1. In output avremo le seguenti matrici: o la matrice dei “prototipi o centri”, i cui vettori sono costituiti di valori numerici compresi tra 0 e 1, contiene le coordinate di ciascun prototipo; o la matrice dei “gradi di membership”, formata da valori numerici compresi tra 0 e 1, la cui somma, per ogni cluster, è uguale a 1; o la matrice “obj_fcn”, costituita da valori numerici, e contiene i valori della funzione obiettivo ed il numero dei suoi elementi, ed avremo tanti valori quante sono le iterazioni eseguite dell’algoritmo. 3.3 ALGORITMO FUZZY C-MEANS SEMI-SUPERVISIONATO Nell’approccio proposto per l’annotazione di forme, si possono identificare principalmente due fasi: i. clustering di forme semi-supervisionato per la scoperta automatica dei prototipi delle forme, i quali rappresentano un certo numero di categorie semantiche; ii. annotazione fuzzy di forme. Come si può osservare dalla figura riportata qui di seguito, l’input per il processo di annotazione è rappresentato da una collezione di forme espresse tramite l’utilizzo delle coordinate del contorno. Tutte le coordinate delle forme sono descritte attraverso i descrittori di Fourier. Tra i differenti approcci proposti per la descrizione delle informazioni relative alla forma, i descrittori di Fourier sono ben noti al giorno d’oggi per fornire robustezza e invarianza, ottenendo una buona efficienza nell’indicizzazione e nel recupero di forme [87]. Pagina |67 Capitolo III – Clustering di forme semi-supervisionato Shape Shape Description Database Shape Descriptors Domain Knowledge Semi-Supervised Shape Clustering Shape Prototypes Fuzzy Shape Unlabeled Labeling Shapes Labeled Shapes Figura 3.3: Panoramica dell’approccio proposto Le caratteristiche dei descrittori di Fourier (Fourier Descriptor) sono le seguenti: a. dominio delle feature: un FD è ottenuto da un dominio spettrale; b. dimensioni: la dimensione del FD è costante una volta scelto il numero dei coefficienti; c. matching: il matching di due insiemi di FD è bassato sul calcolo della semplice distanza city block tra due vettori caratteristici di dimensione 10; d. tipo di caratteristiche calcolate: FD cattura sia caratteristiche globali che locali; e. influenza di parametri o limiti: per i FD, il solo parametro è il numero delle feature FD; f. rappresentazione gerarchica: FD supportano una rappresentazione gerarchica grezza; g. indicizzazione efficiente: FD è adatto per essere organizzato in una struttura dati efficiente. Pagina |68 Capitolo III – Clustering di forme semi-supervisionato I descrittori di Fourier rappresentano il contorno esterno di una forma attraverso la media di un limitato numero di coefficienti nel dominio delle frequenze. Poiché tali coefficienti contengono informazioni circa la dimensione, l’orientazione e la posizione delle forma, essi devono essere adeguatamente normalizzati per ottenere proprietà invarianti rispetto alle trasformazioni. In aggiunta, per ottenere una descrizione compatta della forma, un approccio comune è mantenere soltanto un sottoinsieme dei coefficienti di Fourier, che corrispondono a quelli aventi una frequenza più vicina allo zero [88], [89]. La scelta di un appropriato numero M di coefficienti da utilizzare deve sacrificare la precisione nel rappresentare il contorno originale con compattezza e semplicità della rappresentazione. Indichiamo con ,………, Œ la rappresentazione della forma di un oggetto attraverso la media dei suoi M descrittori di Fourier. Una volta rappresentate tutte le possibili forme attraverso i descrittori di Fourier, il processo di annotazione delle forme può essere avviato. Nei paragrafi che seguono, verranno illustrati in modo dettagliato le due fasi di cui il processo si compone. 3.3.1 CLUSTERING DI FORME SEMI-SUPERVISIONATO Nel primo passo, un insieme di prototipi di forme è definito automaticamente applicando un processo di clustering ad un gruppo di forme simili, definendo così un certo numero di cluster e rappresentando ognuno di essi attraverso la media delle forme prototipali. Per questo scopo, si è utilizzato l’algoritmo di clustering FCM (Fuzzy C-Means), a cui è stato aggiunto un meccanismo di supervisione parziale, che verrà descritto qui di seguito. Prendiamo • Ž ! • !' come un insieme di N forme rappresentate dai descrittori di Fourier e K uguale ad un certo numero di cluster, che si potrà definire prima dell’inizio del processo. Con • ⊂ • denotiamo un piccolo insieme di forme etichettate e con N un vettore booleano definito nel seguente modo: N! 1 ‘ U ŽN! • !' X ! è W “ WW W 10 0 W X W Analogamente, i valori di appartenenza delle forme etichettate al cluster sono stati inseriti all’interno di una matrice, definita nel seguente modo: Pagina |69 Capitolo III – Clustering di forme semi-supervisionato > ”‘!% • \ M 1, … . , 3 11 1, … . . , Il clustering semi-supervisionato lavora esattamente come l’algoritmo FCM (descritto nel paragrafo 2.2). Esso è un processo che estrae iterativamente K cluster attraverso la minimizzazione della funzione obiettivo “obj”, la quale è stata modificata rispetto a quella originale presente nel Fuzzy C-Means, in quanto è stata aggiunta la componente di supervisione espressa nella forma di b e F e definita come segue: 7 d $ $ 4!% !% %' !' – 7 — $ $ 4!% %' !' N! ‘!% d !% 12 dove djk rappresenta la distanza Euclidea tra la forma sj e il centro del k-esimo cluster, m (coefficiente di fuzzificazione) è un qualsiasi numero reale più grande di 1 ed α è un parametro utilizzato per bilanciare la componente supervisionata e quella non supervisionata del processo di clustering. Il valore della componente alfa è proporzionale al seguente rapporto: — 4X ‘ X W “ WW 4X W W ‘ X ed esso assicura che l’impatto delle forme etichettate non sia ignorato durante il processo di clustering. Inoltre più alto sarà il valore di alfa e più alto sarà l’impatto derivante dalla componente supervisionata. Il secondo termine della funzione obiettivo cattura le differenze fra l’autentica appartenenza delle forme (incapsulate in F) e l’appartenenza calcolata dall’algoritmo. L’obiettivo da raggiungere è che per le forme etichettate, questi valori coincidano. Per minimizzare la funzione obiettivo, si fissano i valori dei prototipi dei cluster e rilevando che le colonne di U sono indipendenti, il clustering ha il compito di leggere il seguente problema di ottimizzazione vincolata: min –% soggetto a P $4 % ' 1 13 Pagina |70 Capitolo III – Clustering di forme semi-supervisionato con K = 1,2,…….,N dove: 7 –% d $ 4!% !' !% 7 — $ 4!% !' N! ‘!% d !% 14 e 4% indica la K-esima colonna di U. Usando la tecnica dei moltiplicatori di Lagrange, il problema di ottimizzazione deve essere convertito nella forma di minimizzazione libera: 7 –% ›, 4% d $ 4!% !% !' 7 — $ 4!% !' N! ‘!% " d !% 7 › $ 4!% !' 1 15 dove con λ si denota il moltiplicatore di Lagrange. La coppia ›, 4% forma un punto stazionario della funzione ottimizzata se e soltanto se œc% œ› 7 $ 4%! !' 1 16 Ci sono quindi due strade da poter seguire: 1. settare il coefficiente di fuzzificazione ad un valore pari a 2; 2. per qualsiasi valore di “p” diverso da 2, le condizioni di ottimizzazione da utilizzare per alcuni sforzi computazionali sono 4•ž e ›, i quali sono collegati insieme nella forma di una certa equazione polinomiale le cui radici devono essere determinati numericamente. La funzione obiettivo “O” è minimizzata aggiornando la matrice di partizione U 1 ”4!% • \ M 1….3 17 1…. nel seguente modo: Pagina |71 Capitolo III – Clustering di forme semi-supervisionato 4!% 1 Il termine 1 1 — ¡ Ÿ 1 — 1 ∑7 ¢' ¥ N% ∑7 ¢' ‘¢% ¤ ¤ !% ¤ ~ £ ¢% —N% ‘!% 18 — gioca un ruolo fondamentale nel fattore scalare, il quale può essere facilmente ignorato non avendo alcun impatto sul risultato del clustering. Analogamente assegnando a b un valore pari a 0, la matrice delle partizioni si aggiorna nel seguente modo: 4!% ∑7 ¢' 1 ~ !% ¢% 19 Il processo iterativo termina quando la differenza tra i valori della funzione obiettivo ottenuta in due iterazioni consecutive non supera un valore di soglia fissato a priori oppure se è raggiunto il massimo numero di iterazioni stabilito. Per quanto riguarda la scelta delle forme etichettate da etichettare, essa può essere realizzata in diversi modi. Nel primo modo, la conoscenza del dominio deve essere esplicitamente fornita da un esperto, il quale conosce le categorie di appartenenza di un certo numero di forme. Così l’esperto può imporre il suo punto di vista circa la semantica di un numero di forme, fornendo anche la lista delle forme selezionate insieme alle etichette testuali che corrispondono alle relative categorie di appartenenza. Generalmente, l’esperto decide di fornire le forme “non chiare”, ad esempio forme che risultano essere visivamente simili ad altre forme appartenenti a diverse categorie semantiche. Questo approccio è stato implementato in [90]. Un altro modo per acquisire la conoscenza del dominio, consiste nella selezione “casuale” di un insieme di forme da etichettare fra quelle presenti nella collezione. Questo approccio è stato proposto in [91]. In questo lavoro di tesi, è stato proposto anche un nuovo metodo per acquisire la conoscenza del dominio che consiste in una selezione automatica delle forme ottenuta analizzando i valori della matrice delle partizioni prodotta dall’algoritmo Fuzzy C-Means. Infatti, si possono sfruttare i valori parziali di appartenenza per identificare le forme “non chiare” come forme aventi i gradi di appartenenza più vicino al valore ottenuto dal rapporto 1) . 3 In accordo con ciò, per ogni forma ! si calcola l’indice di separabilità nel seguente modo: Pagina |72 Capitolo III – Clustering di forme semi-supervisionato Ψ 1 7 3 7 § 4!% 20 %' Si può notare che nel caso in cui tutti i valori di 4!% sono uguali a 1)3 , il valore di Ψ è pari a 0. Dall’altro lato, se un valore di membership è uguale a 1, Ψrisulterà pari ad 1. Facendo riferimento a queste considerazioni, si è scelti come forme “non chiare” da etichettare quelle che hanno un valore dell’indice di separabilità più vicino allo zero. Una volta terminato il processo di clustering, come risultato, l’algoritmo fornirà una matrice di partizione fuzzy denotata con “U” contenente i gradi di appartenenza di ogni forma ad ogni cluster scoperto. Questi valori sono stati esplicitati per poter derivare una forma prototipale per ogni cluster. In pratica, per ogni cluster, la forma con il massimo valore di appartenenza è selezionata come prototipo. Con [% è stata denotata la forma prototipale del cluster “k”. Conclusa la fase di derivazione dei prototipi, viene avviata la fase di annotazione manuale grazie all’aiuto dell’esperto di dominio, in accordo con un insieme “C” di categorie semantiche. Precisamente, ogni forma prototipale derivata è associata ad una etichetta testuale unica, la quale corrisponde alla categoria semantica rappresentata dal prototipo. Naturalmente, differenti forme prototipali possono convergere nello stesso contenuto semantico (cioè , molte forme differenti possono convergere nella stessa classe di oggetti), cioè K ≥ C. Alcuni prototipi però possono appartenere alla stessa categoria semantica: allora, tali prototipi avranno etichette identiche. Di conseguenza, molte forme prototipali avranno la stessa descrizione testuale. 3.3.2 ANNOTAZIONE FUZZY DI FORME L’annotazione fuzzy di forme rappresenta la fase in cui avviene l’effettiva annotazione delle forme. Ogni volta che una nuova forma è aggiunta al database delle forme, i suoi descrittori di Fourier !∗ sono confrontati con i descrittori di Fourier dei tutti i prototipi [% e successivamente sono calcolati i gradi di appartenenza della forma ai cluster. Essi sono calcolati utilizzando la seguente formula: Pagina |73 Capitolo III – Clustering di forme semi-supervisionato ©!∗% dove * !∗ ∑7 P' * € * 1 !∗ !∗ [% * ‚ [P * 21 [% * rappresenta la distanza Euclidea calcolata tra i descrittori della forma e i K- esimi descrittori del prototipo. In questo modo, ogni oggetto della forma etichette ª!∗ definita come segue: ª!∗ !∗ è associato con un insieme fuzzy di Ž©!∗ , ©!∗ , … … … … … … … . , ©!∗… •22 dove ©!∗ rappresenta il valore del grado di appartenenza della j-esima forma alla i-esima categoria semantica che sono ottenuti dal calcolo del valore massimo dei gradi di appartenenza della forma rispetto a tutti i prototipi [% rappresentativi della i-esima categoria semantica, ossia: ©!∗ max Ž©!∗% • 23 -« ¬…- Si può quindi affermare che un oggetto di forma di solito appartiene a categorie semantiche multiple con differenti gradi di appartenenza. Ogni qualvolta una nuova forma è etichettata, i prototipi delle forme devono essere aggiornati al fine di tener conto delle informazioni derivanti dall’associazione della nuova forma ad una data categoria semantica. Per realizzare ciò, si sceglie inizialmente la categoria semantica Q avente massimo grado di appartenenza della nuova forma etichettata e verrà effettuato l’aggiornamento del prototipo visuale corrispondente a tale categoria. Se questo grado di appartenenza è maggiore di una soglia (nel nostro caso è pari a 0,5), tra cluster associati a tale categoria, si seleziona quello il cui prototipo ha distanza minima dalla nuova forma: [∗ ® min -« ¬…- !∗ , [% " 24 Pagina |74 Capitolo III – Clustering di forme semi-supervisionato Infine, viene calcolata la distanza media tra il prototipo determinato [∗ e tutte le forme del relativo cluster e quest’ultimo con la forma etichettata. Il nuovo prototipo sarà rappresentato dalla forma avente valore minimo della distanza media. Quando il matching tra una nuova forma e i prototipi visuali di tutte le classi semantiche fornisce valori di appartenenza inferiori rispetto ad una data soglia, una nuova categoria viene aggiunta. Precisamente, i descrittori di Fourier di una nuova forma sono considerati come il prototipo visuale della nuova categoria semantica (cioè [%¯ !∗ ). Allora, il prototipo creato recentemente è etichettato manualmente dall’esperto di dominio con una keyword che descrive la nuova categoria semantica aggiunta. L’utilizzo di forme prototipali, le quali rappresentano un livello intermedio di segni visuali, facilita il processo di annotazione, poiché solo un ridotto numero di forme deve essere etichettato manualmente. In secondo luogo, l’uso dei prototipi semplifica il processo di ricerca in un sistema di ricerca. Inoltre, poiché qualsiasi query effettuata dall’utente è probabile che corrisponda con elevato grado soltanto ad un piccolo numero di oggetti, un grande numero di confronti inutili è evitato durante la ricerca e si eseguono così solo i confronti con le forme prototipali anziché con la forma specifica. In altre parole, i prototipi svolgono la funzione di filtro che riduce velocemente lo spazio di ricerca mentre gli oggetti vengono differenziati. Algoritmo: Siano date n forme non etichettate. Il numero di forme da etichettare è stato calcolato nel seguente modo: ‘ X W “ WW 4X ‘ X W W 100 W ® W ∗[ . ‘ X W “ WW dove la percentuale di forme da etichettare varia tra il 5 e il 30%. CONFIGURAZIONE: scelta delle forme da etichettare: l’utente può scegliere tra 3 metodi: i. manuale: si avvale del supporto di un esperto del dominio; Pagina |75 Capitolo III – Clustering di forme semi-supervisionato ii. random: la scelta avviene in modo totalmente causale, in quanto è l’algoritmo a scegliere le forme; iii. automatica: utilizza le forme classificate in modo errato dall’algoritmo FCM, e vengono scelte le prime n forme da etichettare; creazione della matrice F, la quale come abbiamo già detto in precedenza contiene solo 0 e 1. CLUSTERING SEMI-SUPERVISIONATO: avvio del processo di clustering semi-supervisionato, il quale utilizza come dati di input: o la matrice dei dati di training; o il numero dei cluster; o la matrice F (indica le forme etichettate con una delle tre tipologie di etichettatura). ed ottenendo come output: o la matrice dei centri; o la matrice di membership (contiene i gradi di appartenenza di ogni singola forma ai cluster creati); o i valori della funzione obiettivo. creazione dei cluster: in input riceve o la matrice di membership; o la matrice dei dati; o la matrice delle etichette relativa alle forme; o la matrice degli indici relativa alle forme. Come output avremo i cluster contenenti le forme raggruppate per categoria. Il numero dei cluster ottenuto sarà pari al numero dei cluster fornito in input al processo di clustering; Pagina |76 Capitolo III – Clustering di forme semi-supervisionato creazione del prototipo per tutti i cluster creati: identifica come prototipo quello avente massimo grado di appartenenza al cluster; etichettatura del cluster in base al prototipo identificato: al cluster viene associata l’etichetta della forma prototipale; ANNOTAZIONE FUZZY: creazione della matrice di appartenenza delle forme di test ai cluster derivati dal processo di clustering. Questa passo restituirà come output: o la matrice di appartenenza, contenente i gradi di appartenenza delle forme di test ai cluster; o la matrice dei prototipi, contenente i descrittori di Fourier dei prototipi; o la matrice delle etichette, contenente le etichette delle forme di test. avvio della fase di test: si confronta la matrice delle etichette ottenuta come output dal passo precedente con la matrice delle etichette di test, in modo da verificare il numero di forme classificate correttamente; calcolo dei valori di precision e recall per ciascuna categoria semantica: 4X ‘ X W “ WW W WW X W 4X W W ‘ X W “ WW W 4W X W X 4X ‘ X W “ WW W WW X W 4X W W ‘ X W “ WW W X 4 X W W Pagina |77 CAPITOLO IV SPERIMENTAZIONE Pagina |78 Capitolo IV – Sperimentazione In questo capitolo verranno presentate le due sperimentazioni effettuate, la prima volta a valutare le capacità dell’algoritmo implementato e la seconda utilizzata per valutare le performance del processo di retieval. In particolare, si descriverà la modalità con cui è stata condotta la sperimentazione ed in seguito verranno riportati i risultati (grafici, tabelle, ecc.) relativi ad ogni sperimentazione. Il capitolo si conclude con le valutazioni dei risultati ottenuti per entrambe le sperimentazioni. 4.1 INTRODUZIONE Per valutare l’efficacia dell’algoritmo proposto in questo lavoro di tesi, sono stati eseguiti una serie di esperimenti utilizzando come data-set di riferimento “Surrey Fish” (reperibile al seguente indirizzo http://www.ee.surrey.ac.uk). Esso è un data-set di immagini di forme di specie marine dell’università del Surrey composto da 1100 forme, ed ogni file contiene le coordinate dei punti che a loro volta formano il contorno della forma di ciascun animale marino. Shark Ueel Tonguefish Crustacean Eel Sole Ray Seamoth Seahorse Pipefish Figura 4.1: Immagini di esempio del data-set di riferimento Nella sperimentazione condotta è stata selezionata solamente una parte del data-set preso in considerazione, ovvero si sono scelte 265 forme cercando di includere tutte le 10 categorie semantiche presenti al suo interno. Una volta selezionate le 265 forme, si è proceduti ad una classificazione manuale, come si può vedere dalla tabella riportata qui di seguito: Pagina |79 Capitolo IV – Sperimentazione CATEGORIA TRAINING TESTING Shark 53 5 Ueel 18 2 Ray 37 4 Eel 23 3 Pipefish 15 1 Tonguefish 17 2 Sole 47 5 Seamoth 10 1 Seahorse 10 1 Crustacean 10 1 TOTALE 240 25 Tabella 4.1: Suddivisione delle categorie presenti nel data-set Questa classificazione manuale è stata utilizzata come base per valutare le performance del modello di annotazione proposto. Per ogni forma del data-set, sono stati calcolati i descrittori di Fourier e successivamente sono stati scelti i primi 32 coefficienti più rappresentativi della forma. Tali numeri sono stati stabiliti in maniera empirica sulla base di esperimenti preliminari in cui si è notato che il numero dei coefficienti fornisce un buon compromesso tra compattezza e accuratezza della rappresentazione della forma. L’insieme dei 265 descrittori di forma è stato suddivisi in due parti (come si può osservare dalla tabella 4.1): il 90% rappresenta il training set utilizzato per la scoperta dei prototipi di forma, mentre il rimanente 10% rappresenta il test set utilizzato nel processo effettivo di annotazione. Per poter ottenere risultati più attendibili è stata utilizzata la procedura della fold cross validation, infatti ogni esperimento è stato eseguito 10 volte per ognuna delle 3 tipologie di etichettatura utilizzata (manuale, automatica e random). Nella serie di esperimenti eseguiti, ci si è principalmente interessati ai prototipi di forma derivati, i quali rappresentano un certo numero di categorie semantiche ed inoltre si è valutata l'accuratezza dell’annotazione di forma. La fase di sperimentazione si suddivide principalmente in due fasi: Pagina |80 Capitolo IV – Sperimentazione i. nella prima fase si esegue 10 volte l’algoritmo sul data-set di training in modo da ottenere i prototipi di forma; ii. nella seconda fase viene scelta la prova migliore per ogni tipologia di etichettatura e si esegue la fase di annotazione fuzzy delle forme. Per la sperimentazione relativa al retrieval, si utilizzeranno i cluster e i prototipi di forma ottenuti dall’algoritmo semi-supervisionato. Nei paragrafi seguenti vengono riportati i risultati ottenuti dalle due sperimentazioni eseguite. 4.2 SPERIMENTAZIONE ALGORITMO FUZZY C-MEANS NON SUPERVISIONATO Per poter valutare l’idoneità dell’algoritmo implementato, sono state effettuate delle prove utilizzando l’algoritmo FCM non supervisionato. Esso è stato eseguito sul training set variando sia il numero dei cluster da 9 a 15 (quando il numero dei cluster è pari a 10 esso coincide con il numero delle categorie) e sia il coefficiente di fuzzificazione “m” da 1.5 a 3. L’esperimento è stato eseguito 10 volte come già accennato nel paragrafo precedente. Riportiamo qui di seguito i risultati delle prove migliori ottenuti per ogni caso: 1. Primo caso: numero di cluster pari a 9 Cluster m = 1.5 1 Ueel 2 Eel 3 Shark 4 Sole 5 Seahorse 6 Ray 7 Seamoth 8 Crustacean 9 Shark m=2 12 19 28 40 9 33 10 10 22 Ueel Seamoth Sole Seahorse Ray Sole Eel Shark Shark 12 10 21 8 32 19 19 19 24 m = 2.5 Shark 22 Shark 22 Sole 4 Ray 25 Ray 10 Sole 29 Ueel 12 Sole 2 Eel 19 m=3 Sole Ueel Shark Shark Shark Sole Ray Ray Eel 29 14 20 24 2 3 19 2 19 Tabella 4.2: Risultati algoritmo FCM con numero di cluster pari a 9 Pagina |81 Capitolo IV – Sperimentazione 2. Secondo caso: numero di cluster pari a 10 Cluster 1 2 3 4 5 6 7 8 9 10 m = 1.5 Sole Shark Ray Sole Seahorse Ueel Shark Shark Eel Seamoth 15 10 33 29 9 12 19 22 18 10 m=2 Shark Eel Ray Shark Ray Ueel Sole Sole Seamoth Shark 23 18 18 4 15 12 12 29 10 19 m = 2.5 Seahorse 8 Eel 18 Ueel 12 Sole 31 Ray 12 Shark 25 Shark 19 Sole 7 Ray 17 Sole 2 m=3 Sole 6 Ueel 14 Shark 21 Ray 31 Shark 12 Ray 25 Sole 19 Sole 7 Sole 17 Eel 2 Tabella 4.3: Risultati algoritmo FCM con numero di cluster pari a 10 3. Terzo caso: numero di cluster pari a 11 Cluster m = 1.5 1 Eel 2 Crustacean 3 Shark 4 Ueel 5 Shark 6 Seamoth 7 Seahorse 8 Ueel 9 Sole 10 Ray 11 Sole 19 9 20 8 30 10 9 8 29 31 15 m=2 Ueel Shark Seahorse Sole Shark Ray Shark Seamoth Ray Eel Sole 12 10 8 5 17 13 21 10 20 18 28 m = 2.5 Ueel Tonguefish Ray Shark Shark Shark Sole Seamoth Ray Shark Eel m=3 12 1 9 13 10 1 29 10 20 24 18 Sole Sole Ueel Ray Shark Eel Shark Seahorse Shark Sole Shark 16 4 14 18 2 19 14 9 18 5 13 Tabella 4.4: Risultati algoritmo FCM con numero di cluster pari a 11 Pagina |82 Capitolo IV – Sperimentazione 4. Quarto caso: numero di cluster pari a 12 Cluster m = 1.5 1 Shark 2 Sole 3 Tonguefish 4 Seahorse 5 Ueel 6 Shark 7 Seamoth 8 Crustacean 9 Sole 10 Ray 11 Ueel 12 Eel 25 15 10 9 8 19 10 9 28 31 8 18 m=2 Eel Shark Shark Shark Sole Seamoth Seahorse Ray Ueel Sole Sole Ray 16 17 22 6 18 10 7 13 12 15 9 20 m = 2.5 Eel 17 Shark 26 Sole 11 Ray 24 Sole 11 Shark 1 Shark 10 Ray 10 Sole 2 Sole 10 Sole 6 Ueel 12 m=3 Ray Ray Sole Sole Crustacean Ray Ueel Shark Eel Sole Shark Shark 5 7 13 14 8 12 14 14 18 9 13 16 Tabella 4.5: Risultati algoritmo FCM con numero di cluster pari a 12 5. Quinto caso: numero di cluster pari a 13 Cluster m = 1.5 1 Ueel 2 Sole 3 Shark 4 Crustacean 5 Shark 6 Seahorse 7 Sole 8 Ueel 9 Eel 10 Seamoth 11 Ray 12 Shark 13 Shark 8 14 14 9 19 9 29 8 16 10 32 12 6 m=2 Shark Pipefish Sole Eel Shark Ueel Ray Shark Sole Sole Seamoth Ray Sole 2 6 12 15 21 12 13 18 4 18 10 20 7 m = 2.5 Sole 4 Sole 4 Sole 20 Shark 20 Ueel 12 Ray 8 Eel 17 Sole 7 Ray 19 Shark 6 Shark 19 Sole 4 Seamoth 10 m=3 Sole Sole Shark Sole Shark Sole Ray Shark Ueel Sole Seahorse Eel Ray 8 4 10 7 19 10 15 15 14 8 8 18 4 Tabella 4.6: Risultati algoritmo FCM con numero di cluster pari a 13 Pagina |83 Capitolo IV – Sperimentazione 6. Sesto caso: numero di cluster pari a 14 Cluster m = 1.5 1 Seahorse 2 Ray 3 Crustacean 4 Eel 5 Ray 6 Ueel 7 Shark 8 Sole 9 Seamoth 10 Shark 11 Shark 12 Ueel 13 Shark 14 Shark 9 10 9 15 24 7 6 14 10 14 8 8 23 29 m=2 Shark Sole Sole Ray Seahorse Sole Ueel Ray Eel Pipefish Shark Shark Ray Seamoth 16 6 10 2 8 19 12 11 15 6 10 14 20 10 m = 2.5 Shark 6 Sole 3 Shark 22 Sole 2 Sole 2 Seamoth 10 Shark 17 Ray 18 Sole 14 Ray 9 Ueel 12 Sole 11 Sole 4 Eel 17 m=3 Shark Ray Shark Seahorse Ray Shark Sole Eel Ueel Shark Sole Sole Ray Sole 3 13 11 8 7 1 4 15 14 29 14 6 3 12 Tabella 4.7: Risultati algoritmo FCM con numero di cluster pari a 14 7. Settimo caso: numero di cluster pari a 15 Cluster m = 1.5 1 Sole 2 Seahorse 3 Shark 4 Shark 5 Ray 6 Tonguefish 7 Eel 8 Ueel 9 Sole 10 Sole 11 Ueel 12 Sole 13 Seamoth 14 Shark 15 Ueel 22 9 11 15 28 10 17 7 6 7 6 10 10 18 3 m=2 Seamoth Ray Seamoth Shark Ueel Pipefish Seahorse Shark Sole Sole Eel Ray Shark Shark Ueel 10 17 3 3 8 7 7 15 20 12 15 16 15 12 8 m = 2.5 Eel 15 Sole 2 Ray 18 Sole 2 Shark 1 Ray 4 Ray 6 Ueel 12 Sole 8 Seamoth 10 Shark 14 Pipefish 7 Sole 21 Sole 7 Shark 21 m=3 Sole Shark Ueel Ray Seahorse Shark Sole Shark Eel Sole Sole Shark Shark Ray Ray 4 2 14 5 8 11 9 12 17 9 9 15 7 11 3 Tabella 4.8: Risultati algoritmo FCM con numero di cluster pari a 15 Pagina |84 Capitolo IV – Sperimentazione La figura 4.2 riporta i risultati medi delle 10 prove eseguite variando il numero dei cluster e i valori del coefficiente di fuzzificazione. 82 77 K=9 DCC 72 K=10 K=11 67 K=12 62 K=13 57 K=14 K=15 52 1,5 2 2,5 3 Valori del coefficiente di fuzzificazione Figura 4.2: Valori DCC ottenuti con l’algoritmo FCM non supervisionato Si può osservare che i valori delle cardinalità di categoria dominanti (DCC) sono influenzati dai parametri di clustering. Infatti, i valori DCC migliorano all’aumentare del numero dei cluster. Inoltre, indipendentemente dal numero di cluster, i valori DCC più elevati sono ottenuti quando il valore del coefficiente di fuzzificazione è pari a 1.5. Nei paragrafi successivi verranno analizzati in dettaglio i casi con numero di cluster rispettivamente pari a 10 e 15. Pagina |85 Capitolo IV – Sperimentazione 4.3 SPERIMENTAZIONE ALGORITMO FUZZY C-MEANS SEMISUPERVISIONATO 4.3.1 SPERIMENTAZIONE CON NUMERO DI CLUSTER PARI A 10 La sperimentazione sull’algoritmo FCM dotato del meccanismo di supervisione è stata eseguita utilizzando le tre tipologie di etichettatura descritte nel capitolo 3 e variando la percentuale di forme da etichettare dal 5% al 30%. È stato osservato che le migliori partizioni di forme si ottengono fissando in tutte le prove il valore del coefficiente di fuzzificazione pari a 2. Mentre il parametro α è stato modificato di volta in volta in modo da renderlo proporzionale alla percentuale di forme da etichettare (vedi paragrafo 3.3.1): — 4X ‘ X W “ WW 4X W W ‘ X dove il numero totale di forme è pari a 240 e il numero di forme cambia di volta in volta. Riportiamo qui di seguito il valore di α per ognuno dei sei casi: 1. Primo caso: 5% di forme da etichettare - α = (12/240) = 0.05 2. Secondo caso: 10% di forme da etichettare - α = (24/240) = 0.1 3. Terzo caso: 15% di forme da etichettare - α = (36/240) = 0.15 4. Quarto caso: 20% di forme da etichettare - α = (48/240) = 0.2 5. Quinto caso: 25% di forme da etichettare - α = (60/240) = 0.25 6. Sesto caso: 30% di forme da etichettare - α = (72/240) = 0.3 Nei paragrafi successivi verranno riportati i risultati della prova migliore per ogni tipologia di etichettatura e relativi alla scoperta dei prototipi di forma. Pagina |86 Capitolo IV – Sperimentazione 4.3.1.1 ETICHETTATURA MANUALE Con l’utilizzo di questa tipologia di etichettatura, viene effettuata insieme all’esperto di dominio una scelta manuale delle forme da etichettare. Questa scelta è ricaduta su quelle presenti in un cluster di appartenenza diverso da quello ad esso associato. Qui di seguito vengono riportate le composizioni ottenute per ciascun caso: i. Caso 5%: numero di forme da etichettare pari a 12 1 - Tonguefish 2 - Pipefish 3 - Crustacean 4 - Sole 5 -Shark 6 - Eel 7 - Ueel 8 - Tonguefish 9 - Seahorse 10 - Shark 11 - Ray 12 - Seamoth Tabella 4.9: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 12 ii. Caso 10%: numero di forme da etichettare pari a 24 1 - Tonguefish 2 - Tonguefish 3 - Pipefish 4 - Pipefish 5 - Crustacean 6 - Sole 7 - Shark 8 - Shark 9 - Pipefish 10 - Eeel Pagina |87 Capitolo IV – Sperimentazione 11 - Eel 12 - Ueel 16 - Sole 17 - Tonguefish 21 - Shark 22 - Ray 13 - Ueel 14 - Tonguefish 15 - Pipefish 19 - Sole 20 - Ueel 18 Seahorse 23 - Ray 24 - Seamoth Tabella 4.10: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 24 iii. Caso 15%: numero di forme da etichettare pari a 36 1 - Tonguefish 2 - Tonguefish 3 - Pipefish 4 - Pipefish 5 - Crustacean 6 - Sole 7 - Shark 8 - Shark 9 - Pipefish 10 - Eeel 11 - Eel 12 - Ueel 13 - Ueel 14 - Tonguefish 15 - Pipefish 16 - Sole 17 - Tonguefish 19 - Sole 20 - Ueel 21 - Shark 22 - Ray 24 - Seamoth 25 - Ueel 18 - Seahorse 23 - Ray Pagina |88 Capitolo IV – Sperimentazione 26 - Sole 27 - Tonguefish 28 - Seahorse 29 - Pipefish 30 - Tonguefish 31 - Eel 32 - Tonguefish 33 - Crustecan 34 - Ray 35 - Shark 36 - Pipefish Tabella 4.11: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 36 iv. Caso 20%: numero di forme da etichettare pari a 48 1 - Tonguefish 2 - Tonguefish 3 - Pipefish 4 - Pipefish 5 - Crustacean 6 - Sole 7 - Shark 8 - Shark 9 - Pipefish 10 - Eeel 11 - Eel 12 - Ueel 13 - Ueel 14 - Tonguefish 15 - Pipefish 16 - Sole 17 - Tonguefish 19 - Sole 20 - Ueel 21 - Shark 22 - Ray 24 - Seamoth 25 - Ueel 18 - Seahorse 23 - Ray Pagina |89 Capitolo IV – Sperimentazione 26 - Sole 27 - Tonguefish 28 - Seahorse 31 - Eel 32 - Tonguefish 33 - Crustecan 29 - Pipefish 30 - Tonguefish 34 - Ray 35 - Shark 36 - Pipefish 37 - Pipefish 38 - Ueel 39 - Pipefish 40 - Tonguefish 41 - Tonguefish 42 - Eel 43 - Eel 44 - Eel 45 - Sole 46 - Tonguefish 47 - Ray 48 - Sole Tabella 4.12: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 48 v. Caso 25%: numero di forme da etichettare pari a 60 1 - Tonguefish 2 - Tonguefish 3 - Pipefish 4 - Pipefish 5 - Crustacean 6 - Sole 7 - Shark 8 - Shark 9 - Pipefish 10 - Eeel 11 - Eel 12 - Ueel 13 - Ueel 14 - Tonguefish 15 - Pipefish Pagina |90 Capitolo IV – Sperimentazione 16 - Sole 17 - Tonguefish 18 - Seahorse 19 - Sole 20 - Ueel 21 - Shark 22 - Ray 23 - Ray 24 - Seamoth 25 - Ueel 26 - Sole 27 - Tonguefish 28 - Seahorse 29 - Pipefish 30 - Tonguefish 31 - Eel 32 - Tonguefish 33 - Crustecan 34 - Ray 35 - Shark 36 - Pipefish 37 - Pipefish 38 - Ueel 39 - Pipefish 40 - Tonguefish 41 - Tonguefish 42 - Eel 43 - Eel 44 - Eel 45 - Sole 46 - Tonguefish 47 - Ray 48 - Sole 49 - Tonguefish 50 - Ray 51 - Ueel 52 - Ray 53 - Sole 54 - Pipefish 55 - Pipefish 56 - Sole 57 - Sole 58 - Ray 59 - Shark 60 - Shark Tabella 4.13: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 60 Pagina |91 Capitolo IV – Sperimentazione vi. Caso 30%: numero di forme da etichettare pari a 72 1 - Tonguefish 2 - Tonguefish 3 - Pipefish 4 - Pipefish 5 - Crustacean 6 - Sole 7 - Shark 8 - Shark 9 - Pipefish 10 - Eeel 11 - Eel 12 - Ueel 13 - Ueel 14 - Tonguefish 15 - Pipefish 16 - Sole 17 - Tonguefish 18 - Seahorse 19 - Sole 20 - Ueel 21 - Shark 22 - Ray 23 - Ray 24 - Seamoth 25 - Ueel 26 - Sole 27 - Tonguefish 28 - Seahorse 29 - Pipefish 30 - Tonguefish 31 - Eel 32 - Tonguefish 33 - Crustecan 34 - Ray 35 - Shark 36 - Pipefish 37 - Pipefish 38 - Ueel 39 - Pipefish 40 - Tonguefish 41 - Tonguefish 42 - Eel 43 - Eel 44 - Eel 45 - Sole Pagina |92 Capitolo IV – Sperimentazione 46 - Tonguefish 47 - Ray 48 - Sole 49 - Tonguefish 50 - Ray 51 - Ueel 52 - Ray 53 - Sole 54 - Pipefish 55 - Pipefish 56 - Sole 57 - Sole 58 - Ray 59 - Shark 60 - Shark 61 - Shark 62 - Tonguefish 63 - Shark 64 - Shark 65 - Tonguefish 66 - Shark 67 - Shark 68 - Shark 69 - Tonguefish 70 - Ray 71 - Sole 72 - Sole Tabella 4.14: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 72 Terminata la fase di scelta delle forme da etichettare, si è proceduti all’esecuzione dell’algoritmo per ognuno dei sei casi. Come risultato, avremo le seguenti matrici: a) matrice dei centri; b) matrice di memebership: contenente il valore del grado di appartenenza di ogni forma al singolo cluster; c) matrice dei cluster: contenente per ogni cluster le etichette delle forme presenti e il relativo indice; d) matrice dei prototipi: contiene l’indice del prototipo estratto per ciascun cluster; Pagina |93 Capitolo IV – Sperimentazione e) matrice delle etichette: contiene l’etichetta di ogni singolo cluster, creata sulla base del prototipo del cluster. Le matrici di output verranno successivamente utilizzate nella fase di annotazione fuzzy delle forme. Qui di seguito riportiamo una tabella riepilogativa contenente il numero delle forme presenti in ogni cluster relativo alla prova migliore scelta per ognuno dei sei casi. 5% 10% 15% 20% 25% 30% Shark 5 13 24 24 27 34 Ueel N.C 14 15 17 18 18 Ray 12 26 26 32 33 36 Eel N.C N.C N.C 21 22 22 Pipefish N.C N.C N.C N.C N.C 10 Tonguefish N.C N.C 10 N.C 12 16 Sole 10 34 23 26 34 40 Seamoth N.C 10 10 10 10 10 Seahorse N.C 10 10 10 10 10 Crustacean N.C 9 N.C. N.C. 10 10 TOTALE 27 116 118 140 176 206 Tabella 4.15: Tabella riepilogativa relativa alla etichettatura “manuale” Nella tabella si può osservare la presenza del termine N.C. (Non Classificato), il quale indica che non è stato possibile classificare il cluster ovvero al suo interno non è presente un numero di forme predominanti corrispondente alla forma ad esso associata. Ad esempio nel caso del 5% di forme da etichettare, il cluster è stato classificato come N.C. in quanto non è presente un numero prevalente di forme etichettate come “Ueel”, ma sono presenti altre tipologie di forme. La tabella riportata qui di seguito, mostra in dettaglio l’associazione tra i cluster e le categorie nel caso del 30% di forme. Infatti per l’annotazione si è decisi di scegliere solamente il caso del 30% per ogni tipologia di etichettatura, in quanto come si può ben notare dalla tabella vengono etichettate tutte le 10 categorie. Pagina |94 Capitolo IV – Sperimentazione CLUSTER CATEGORIE Shark Ueel Ray Eel Pipefish Tonguefish Sole Seamoth Seahorse Crustacean 1 2 3 4 5 6 7 8 9 10 34 0 0 0 9 4 0 0 1 5 0 18 0 0 0 0 0 0 0 0 0 0 36 0 0 0 0 1 0 0 0 0 0 22 0 1 0 0 0 0 1 0 0 4 10 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 1 0 0 0 0 2 40 0 1 3 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 10 Tabella 4.16: Tabella relativa alla prova migliore dell’etichettatura “manuale” Riportiamo gli istogrammi a barre relativi ai 10 cluster della prova identificata come “migliore” utilizzando una percentuale di forme da etichettare pari al 30%. Cluster 1 Cluster 2 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |95 Capitolo IV – Sperimentazione Cluster 3 Cluster 4 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 5 Cluster 6 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 7 Cluster 8 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |96 Capitolo IV – Sperimentazione Cluster 9 Cluster 10 100 100 80 80 60 60 40 40 20 20 0 0 Figura 4.3: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM semi-supervisionato Infine riportiamo la tabella relativa ai prototipi di forma estratti per i 10 cluster. Pagina |97 Capitolo IV – Sperimentazione DCC ETICHETTA PROTOTIPO Cluster 1 94,4% Shark Cluster 2 100% Ueel Cluster 3 100% Ray Cluster 4 84.6% Eel Cluster 5 52.6% Pipefish Cluster 6 69.6% Tonguefish Cluster 7 100% Sole Cluster 8 90.9% Seamoth Cluster 9 83.3% Seahorse Cluster 10 55.6% Crustacean Tabella 4.17: Prototipi relativi alla prova migliore con etichettatura “manuale” Pagina |98 Capitolo IV – Sperimentazione 4.3.1.2 ETICHETTATURA RANDOM Con l’utilizzo di questa tipologia di etichettatura, viene effettuata una scelta “random” da parte dell’algoritmo delle forme da etichettare. Per poter effettuare questa scelta, è stata implementata una funzione, la quale genera un certo numero di forme casuali (definite dall’utente). Qui di seguito vengono riportate le composizioni ottenute per ciascun caso: i. Caso 5%: numero di forme da etichettare pari a 12 1 - Shark 2 - Ray 3 - Shark 4 - Sole 5 - Shark 6 - Shark 7 - Shark 8 - Sole 9 - Shark 10 - Shark 11 - Ray 12 - Sole Tabella 4.18: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 12 ii. Caso 10%: numero di forme da etichettare pari a 24 1 - Sole 2 - Eel 3 - Shark 4 - Shark 5 - Shark 6 - Ray 7 - Sole 8 - Seahorse 9 - Shark 10 - Eel Pagina |99 Capitolo IV – Sperimentazione 11 - Sole 12 - Ray 13 - Seahorse 14 - Shark 15 - Ueel 16 - Tonguefish 17 - Shark 18 - Tonguefish 19 - Seamoth 20 - Sole 21 - Ray 22 - Ueel 23 - Tonguefish 24 - Tonguefish Tabella 4.19: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 24 iii. Caso 15%: numero di forme da etichettare pari a 36 1 - Shark 2 - Ray 3 - Shark 4 - Shark 5 - Ray 6 - Sole 7 - Seamoth 8 - Eel 9 - Ray 10 – Crustacean 11 - Seamoth 12 - Ray 13 - Shark 14 - Ueel 15 - Tonguefish 16 - Sole 17 - Seamoth 18 - Seahorse 19 - Ray 20 – Sole 21 - Eel 22 - Shark 23 - Ray 24 - Eel 25 - Seamoth Pagina |100 Capitolo IV – Sperimentazione 26 - Tonguefish 27 - Eel 28 - Shark 29 - Ray 30 - Tonguefish 31 - Ueel 32 - Seamoth 33 - Eel 34 - Seamoth 35 – Pipefish 36 - Crustacean Tabella 4.20: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 36 iv. Caso 20%: numero di forme da etichettare pari a 48 1 - Tonguefish 2 - Sole 3 - Shark 4 - Shark 5 - Shark 6 - Sole 7 - Sole 8 - Eel 9 - Sole 10 – Ray 11 - Pipefish 12 - Pipefish 13 - Ray 14 - Ray 15 - Shark 16 - Shark 17 - Shark 18 - Crustacean 19 - Ray 20 – Sole 21 - Shark 22 - Sole 23 - Sole 24 - Ray 25 - Ray Pagina |101 Capitolo IV – Sperimentazione 26 - Eel 27 - Ray 28 - Crustacean 29 - Sole 30 - Tonguefish 31 - Seamoth 32 - Shark 33 - Ueel 34 - Pipefish 35 – Sole 36 - Tonguefish 37 - Sole 38 - Sole 39 - Shark 40 - Ueel 41 - Seahorse 42 - Ray 43 - Shark 44 - Ray 45 -Sole 46 - Eel 47 - Sole 48 - Pipefish Tabella 4.21: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 48 v. Caso 25%: numero di forme da etichettare pari a 60 1 - Tonguefish 2 - Sole 3 - Pipefish 4 - Sole 5 - Shark 6 - Ueel 7 - Sole 8 - Crustacean 9 - Crustacean 10 – Crustacean 14 - Ueel 15 - Eel 11 - Pipefish 12 - Crustacean 13 - Crustacean Pagina |102 Capitolo IV – Sperimentazione 16 - Ueel 17 - Shark 18 - Sole 19 - Pipefish 20 - Crustacean 21 - Ray 22 - Shark 23 - Sole 24 - Seamoth 25 – Ray 26 - Eel 27 - Eel 28 - Shark 29 - Ray 30 - Seamoth 31 - Ray 32 - Shark 33 - Sole 34 - Ray 35 – Ueel 36 - Tonguefish 37 - Ray 38 - Seamoth 39 - Crustacean 40 – Shark 41 – Shark 42 Shark 43 Seahorse 44 Pipefish 45 Pipefish 46 - Eel 47 - Shark 48 - Ray 49 - Ray 50 - Eel 51 - Sole 52 - Ray 53 - Ray 54 - Pipefish 55 - Pipefish 56 - Ueel 57 - Crustacean 58 - Ray 59 - Eel 60 - Ueel Tabella 4.22: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 60 Pagina |103 Capitolo IV – Sperimentazione vi. Caso 30%: numero di forme da etichettare pari a 72 1 - Eel 2 - Shark 3 - Sole 4 - Ray 5 - Shark 6 - Ray 7 - Ueel 8 - Sole 9 - Tonguefish 10 – Eel 11 - Sole 12 - Ray 13 - Sole 14 - Eel 15 - Seahorse 16 - Sole 17 - Sole 18 - Ray 19 - Tonguefish 20 - Sole 21 - Shark 22 - Shark 23 - Ueel 24 - Ray 25 – Seahorse 26 - Sole 27 - Sole 28 - Shark 29 - Ueel 30 - Eel 31 - Sole 32 - Sole 33 - Eel 34 - Eel 35 – Crustacean 36 - Sole 37 - Ueel 38 - Shark 39 - Ueel 40 – Ray Pagina |104 Capitolo IV – Sperimentazione 41 – Sole 42 - Sole 43 - Ray 44 - Shark 45 - Sole 46 - Ray 47 - Ray 48 - Sole 49 - Seahorse 50 - Ueel 51 - Eel 52 - Shark 53 - Ray 54 - Sole 55 – Shark 56 - Shark 57 - Ray 58 - Pipefish 59 - Shark 60 - Ray 61 - Eel 62 - Shark 63 - Ray 64 - Ueel 65 – Sole 66 - Sole 67 - Sole 68 - Tonguefish 69 - Eel 70 – Sole 71 – Sole 72 - Sole Tabella 4.23: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 72 Terminata la fase di scelta delle forme da etichettare, si è proceduti all’esecuzione dell’algoritmo per ognuno dei sei casi. In output avremo le stesse matrici ottenute nel caso dell’etichettatura manuale. Qui di seguito riportiamo una tabella riepilogativa contenente il numero delle forme presenti in ogni cluster relativo alla prova migliore scelta per ognuno dei sei casi. Pagina |105 Capitolo IV – Sperimentazione Shark Ueel Ray Eel Pipefish Tonguefish Sole Seamoth Seahorse Crustacean TOTALE 5% 10% 15% 20% 25% 30% N.C 21 19 25 29 21 12 13 13 13 15 15 N.C 30 29 33 31 34 N.C 18 19 19 N.C 21 N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C 29 31 27 33 40 35 N.C 10 10 10 10 10 N.C 10 10 9 10 10 N.C N.C 10 10 10 10 41 133 137 152 145 156 Tabella 4.24: Tabella riepilogativa relativa alla etichettatura “random” Come nel caso dell’etichettatura manuale, anche questa volta si può osservare nella tabella la presenza del termine N.C. (Non Classificato), il quale indica che non è stato possibile classificare il cluster ovvero al suo interno non è presente un numero di forme predominanti e corrispondente alla forma ad esso associata. La tabella riportata qui di seguito, mostra in dettaglio l’associazione tra i cluster e le categorie nel caso del 30% di forme. Infatti anche per questa tipologia di etichettatura, si è decisi di scegliere per l’annotazione solamente il caso del 30% per ogni tipologia di etichettatura, in quanto come si può ben notare dalla tabella vengono etichettate tutte le 10 categorie. Pagina |106 Capitolo IV – Sperimentazione CLUSTER CATEGORIE Shark Ueel Ray Eel Pipefish Tonguefish Sole Seamoth Seahorse Crustacean 1 2 3 4 5 6 7 8 9 10 21 0 0 1 20 1 0 0 1 9 2 15 1 0 0 0 0 0 0 0 0 0 34 0 1 0 0 2 0 0 1 0 0 21 0 1 0 0 0 0 3 0 0 9 3 0 0 0 0 0 8 0 0 2 0 5 2 0 0 0 1 0 0 0 0 11 35 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 10 Tabella 4.25: Tabella relativa alla prova migliore dell’etichettatura “random” Riportiamo gli istogrammi a barre relativi ai 10 cluster della prova identificata come “migliore” utilizzando una percentuale di forme da etichettare pari al 30%. Cluster 1 Cluster 2 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |107 Capitolo IV – Sperimentazione Cluster 3 Cluster 4 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 5 Cluster 6 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 7 Cluster 8 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |108 Capitolo IV – Sperimentazione Cluster 9 Cluster 10 100 100 80 80 60 60 40 40 20 20 0 0 Figura 4.4: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM semi-supervisionato Infine riportiamo la tabella relativa ai prototipi estratti per i 10 cluster. Pagina |109 Capitolo IV – Sperimentazione DCC ETICHETTA Cluster 1 58.3% Shark Cluster 2 100% Ueel Cluster 3 97.1% Ray Cluster 4 63.6% Eel Cluster 5 12.5% Pipefish Cluster 6 61.1% Tonguefish Cluster 7 94.6% Sole Cluster 8 83.3% Seamoth Cluster 9 90.9% Seahorse Cluster 10 52.6% PROTOTIPO Crustacean Tabella 4.26: Prototipi relativi alla prova migliore con etichettatura “random” Confrontando gli istogrammi a barre e i prototipi estratti dall’algoritmo si può notare che nel cluster 5 anche se abbiamo un numero maggiore di forme etichettate come “Shark”, il prototipo estratto è un “Pipefish”. Questo è possibile in quanto il prototipo che viene estratto è Pagina |110 Capitolo IV – Sperimentazione quello avente il grado maggiore di appartenenza al cluster. 4.3.1.3 ETICHETTATURA AUTOMATICA Con l’utilizzo di questa tipologia di etichettatura, viene effettuata una scelta “automatica” da parte dell’algoritmo delle forme da etichettare. Per poter effettuare questa scelta, è stata implementata una nuova funzione che utilizza la formula (19) descritta nel paragrafo 3.3.1. Qui di seguito vengono riportate le composizioni ottenute per ciascun caso: i. Caso 5%: numero di forme da etichettare pari a 12 1 - Ueel 2 - Ueel 3 - Ueel 4 - Seamoth 5 - Ueel 6 - Ray 7 - Crustacean 8 - Ueel 9 - Ray 10 - Ray 11 - Sole 12 - Seahorse Tabella 4.27: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 12 Pagina |111 Capitolo IV – Sperimentazione ii. Caso 10%: numero di forme da etichettare pari a 24 1 - Ueel 2 - Ueel 3 - Ueel 4 - Seamoth 5 - Ueel 6 - Ray 7 - Crustacean 8 - Ueel 9 - Ray 10 - Ray 11 - Sole 12 - Seahorse 13 - Ray 14 - Shark 15 - Ray 16 - Ueel 17 - Sole 18 - Seahorse 19 - Seahorse 20 - Seahorse 21 - Seahorse 22 - Seahorse 23 - Seahorse 24 - Seahorse Tabella 4.28: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 24 iii. Caso 15%: numero di forme da etichettare pari a 36 Pagina |112 Capitolo IV – Sperimentazione 1 - Ueel 2 - Ueel 3 - Ueel 4 - Seamoth 5 - Ueel 6 - Ray 7 - Crustacean 8 - Ueel 9 - Ray 10 - Ray 11 - Sole 12 - Seahorse 13 - Ray 14 - Shark 15 - Ray 16 - Ueel 17 - Sole 18 - Seahorse 19 - Seahorse 20 - Seahorse 21 - Seahorse 22 - Seahorse 23 - Seahorse 24 - Seahorse 25 - Ueel 26 - Sole 27 - Ray 28 - Crustacean 29 - Crustacean 30 - Crustacean 31 - Crustacean 32 - Crustacean 33 - Crustacean 34 - Crustacean 35 - Crustacean 36 - Seahorse Tabella 4.29: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 36 Pagina |113 Capitolo IV – Sperimentazione iv. Caso 20%: numero di forme da etichettare pari a 48 1 - Ueel 2 - Ueel 3 - Ueel 4 - Seamoth 5 - Ueel 6 - Ray 7 - Crustacean 8 - Ueel 9 - Ray 10 - Ray 11 - Sole 12 - Seahorse 13 - Ray 14 - Shark 15 - Ray 16 - Ueel 17 - Sole 18 - Seahorse 19 - Seahorse 20 - Seahorse 21 - Seahorse 22 - Seahorse 23 - Seahorse 24 - Seahorse 25 - Ueel 26 - Sole 27 - Ray 28 - Crustacean 29 - Crustacean 30 - Crustacean 31 - Crustacean 32 - Crustacean 33 - Crustacean 34 - Crustacean 35 - Crustacean 36 - Seahorse 37 - Ray 38 - Seamoth 39 - Ray 40 - Sole Pagina |114 Capitolo IV – Sperimentazione 41 - Ueel 42 - Seamoth 43 - Crustacean 46 - Sole 47 - Ray 48 - Sole 44 - Ueel 45 - Seahorse Tabella 4.30: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 48 v. Caso 25%: numero di forme da etichettare pari a 60 1 - Ueel 2 - Ueel 3 - Ueel 4 - Seamoth 5 - Ueel 6 - Ray 7 - Crustacean 8 - Ueel 9 - Ray 10 - Ray 11 - Sole 12 - Seahorse 13 - Ray 14 - Shark 15 - Ray 16 - Ueel 17 - Sole 18 - Seahorse 19 - Seahorse 20 - Seahorse 21 - Seahorse 22 - Seahorse 23 - Seahorse 24 - Seahorse 25 - Ueel Pagina |115 Capitolo IV – Sperimentazione 26 - Sole 27 - Ray 28 - Crustacean 29 - Crustacean 30 - Crustacean 31 - Crustacean 32 - Crustacean 33 - Crustacean 34 - Crustacean 35 - Crustacean 36 - Seahorse 37 - Ray 38 - Seamoth 39 - Ray 40 - Sole 41 - Ueel 42 - Seamoth 43 - Crustacean 44 - Ueel 45 - Seahorse 46 - Sole 47 - Ray 48 - Sole 49 - Seamoth 50 - Ray 51 - Sole 52 - Ray 53 - Sole 54 - Ray 55 - Ray 56 - Ray 57 - Sole 58 - Shark 59 - Sole 60 - Ray Tabella 4.31: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 60 Pagina |116 Capitolo IV – Sperimentazione vi. Caso 30%: numero di forme da etichettare pari a 72 1 - Ueel 2 - Ueel 3 - Ueel 4 - Seamoth 5 - Ueel 6 - Ray 7 - Crustacean 8 - Ueel 9 - Ray 10 - Ray 11 - Sole 12 - Seahorse 13 - Ray 14 - Shark 15 - Ray 16 - Ueel 17 - Sole 18 - Seahorse 19 - Seahorse 20 - Seahorse 21 - Seahorse 22 - Seahorse 23 - Seahorse 24 - Seahorse 25 - Ueel 26 - Sole 27 - Ray 28 - Crustacean 29 - Crustacean 30 - Crustacean 31 - Crustacean 32 - Crustacean 33 - Crustacean 34 - Crustacean 35 - Crustacean 36 - Seahorse 37 - Ray 38 - Seamoth 39 - Ray 40 - Sole Pagina |117 Capitolo IV – Sperimentazione 41 - Ueel 42 - Seamoth 43 - Crustacean 44 - Ueel 45 - Seahorse 46 - Sole 47 - Ray 48 - Sole 49 - Seamoth 50 - Ray 51 - Sole 52 - Ray 53 - Sole 54 - Ray 55 - Ray 56 - Ray 57 - Sole 58 - Shark 59 - Sole 60 - Ray 61 - Eel 62 - Shark 63 - Ray 64 - Shark 65 - Pipefish 66 - Shark 67 - Eel 68 - Pipefish 69 - Eel 70 - Eel 71 - Shark 72 - Shark Tabella 4.32: Composizione della matrice “cat_clust” con numero di forme da etichettare pari a 72 Terminata la fase di scelta delle forme da etichettare, si è proceduti all’esecuzione dell’algoritmo per ognuno dei sei casi. In output avremo le stesse matrici ottenute nel caso dell’etichettatura manuale. Qui di seguito riportiamo una tabella riepilogativa contenente il numero delle forme presenti in ogni cluster relativo alla prova migliore scelta per ognuno dei sei casi. Pagina |118 Capitolo IV – Sperimentazione Shark Ueel Ray Eel Pipefish Tonguefish Sole Seamoth Seahorse Crustacean 5% 10% 15% 20% 25% 30% 15 17 19 27 19 33 12 15 16 18 18 18 N.C 35 36 36 36 37 N.C 18 18 N.C 18 22 N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C 19 34 29 30 20 N.C 10 10 10 10 10 N.C 9 9 10 10 10 N.C N.C 10 10 10 10 TOTALE 27 123 152 140 151 160 Tabella 4.33: Tabella riepilogativa relativa alla etichettatura “automatica” Come nel caso dell’etichettatura manuale, anche questa volta si può osservare nella tabella la presenza del termine N.C. (Non Classificato), il quale indica che non è stato possibile classificare il cluster ovvero al suo interno non è presente un numero di forme predominanti e corrispondente alla forma ad esso associata. La tabella riportata qui di seguito, mostra in dettaglio l’associazione tra i cluster e le categorie nel caso del 30% di forme. Infatti anche per questa tipologia di etichettatura, si è decisi di scegliere per l’annotazione solamente il caso del 30% per ogni tipologia di etichettatura, in quanto come si può ben notare dalla tabella vengono etichettate tutte le 10 categorie. Pagina |119 Capitolo IV – Sperimentazione CLUSTER CATEGORIE Shark Ueel Ray Eel Pipefish Tonguefish Sole Seamoth Seahorse Crustacean 1 2 3 4 5 6 7 8 9 10 33 0 0 1 19 0 0 0 0 0 0 18 0 0 0 0 0 0 0 0 0 0 37 0 0 0 0 0 0 0 0 0 0 22 0 1 0 0 0 0 2 0 0 9 4 0 0 0 0 0 0 0 0 2 9 5 1 0 0 0 0 0 0 0 2 25 20 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 10 Tabella 4.34: Tabella relativa alla prova migliore dell’etichettatura “automatica” Riportiamo gli istogrammi a barre relativi ai 10 cluster della prova identificata come “migliore” utilizzando una percentuale di forme da etichettare pari al 30%. Cluster 1 Cluster 2 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |120 Capitolo IV – Sperimentazione Cluster 3 Cluster 4 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 5 Cluster 6 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 7 Cluster 8 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |121 Capitolo IV – Sperimentazione Cluster 9 Cluster 10 100 100 80 80 60 60 40 40 20 20 0 0 Figura 4.5: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM semi-supervisionato Infine riportiamo la tabella relativa ai prototipi estratti per i 10 cluster della prova. Pagina |122 Capitolo IV – Sperimentazione DCC ETICHETTA Cluster 1 94.3% Shark Cluster 2 100% Ueel Cluster 3 100% Ray Cluster 4 64.7% Eel Cluster 5 55.9% Shark Cluster 6 80.6% Sole Cluster 7 95.2% Sole Cluster 8 100% Seamoth Cluster 9 100% Seahorse Cluster 10 100% Crustacean PROTOTIPO Tabella 4.35: Prototipi relativi alla prova migliore con etichettatura “automatica” Pagina |123 Capitolo IV – Sperimentazione 4.3.1.4 FUZZY C-MEANS NON SUPERVISIONATO Come già accennato nel paragrafo 4.2, riportiamo i risultati relativi all’esecuzione dell’algoritmo FCM non supervisionato con numero di cluster pari a 10 e coefficiente di fuzzificazione (m) pari a 1.5. Nel caso dell’algoritmo FCM, non si è reso necessario effettuare la scelta delle forme da etichettare come nel caso dell’algoritmo semi-supervisionato, in quanto esse sono scelte automaticamente dall’algoritmo. CLUSTER CATEGORIE Shark Ueel Ray Eel Pipefish Tonguefish Sole Seamoth Seahorse Crustacean 1 2 3 4 5 6 7 8 9 10 1 10 0 0 1 0 19 22 0 0 0 2 3 0 1 12 0 0 0 0 0 0 33 0 0 0 1 0 0 3 0 3 0 2 0 0 0 0 18 0 0 2 0 0 0 0 4 1 8 0 0 10 0 4 0 0 2 0 0 0 15 0 0 29 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 1 0 9 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 Tabella 4.36: Tabella relativa alla prova migliore dell’algoritmo FCM non supervisionato Riportiamo gli istogrammi a barre relativi ai 10 cluster della prova identificata come “migliore” per l’algoritmo FCM non supervisionato. Pagina |124 Capitolo IV – Sperimentazione Cluster 1 Cluster 2 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 3 Cluster 4 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 5 Cluster 6 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |125 Capitolo IV – Sperimentazione Cluster 7 Cluster 8 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 9 Cluster 10 100 100 80 80 60 60 40 40 20 20 0 0 Figura 4.6: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM non supervisionato Infine riportiamo la tabella relativa ai prototipi estratti per i 10 cluster della prova. Pagina |126 Capitolo IV – Sperimentazione DCC ETICHETTA Cluster 1 57.7% Sole Cluster 2 37% Shark Cluster 3 89.2% Ray Cluster 4 82.9% Sole Cluster 5 75% Seahorse Cluster 6 100% Ueel Cluster 7 67.9% Shark Cluster 8 95.7% Shark Cluster 9 69.2% Eel Cluster 10 76.9% PROTOTIPO Seamoth Tabella 4.37: Prototipi relativi alla prova migliore dell’algoritmo FCM non supervisionato Osservando la tabella relativa ai prototipi, si può notare che più cluster vengono etichettati con la stessa label, ed inoltre non sono presenti tute le 10 categorie di forme, infatti l’algoritmo non etichetta le categorie “Pipefish”, “Tonguefish” e “Crustacean”. Pagina |127 Capitolo IV – Sperimentazione 4.3.1.5 VALUTAZIONE DEI RISULTATI La tabella riportata qui di seguito, mette a confronto le percentuali di forme etichettate per ognuno dei sei casi e per ciascuna tipologia di etichettatura utilizzata. 5% 10% 15% 20% 25% 30% 17.1% 55.4% 57.1% 63.3% 60.4% 65.0% Random Automatica 11.3% 51.3% 63.3% 58.3% 62.9% 66.7% 11.3% 48.3% 49.2% 58.3% 73.3% 85.8% Manuale Tabella 4.38: Tabella relativa alla sperimentazione con numero di cluster pari a 10 Cardinalità delle categorie dominanti 100 80 60 Random 40 Automatica Manuale 20 0 5% 10% 15% 20% 25% 30% Percentuale di forme etichettate Figura 4.7: Confronto delle cardinalità delle categorie dominanti con numero di cluster pari a 10 Osservando l’istogramma a barre, si può osservare come all’aumentare della percentuale di forme etichettate la bontà delle partizioni ottenute migliora in termini di compattezza dei cluster che hanno valori DCC elevati. Pagina |128 Capitolo IV – Sperimentazione Percentuale di classificazione 100 80 FCM non supervisionato 60 FCM con selezione random 40 FCM con selezione automatica 20 FCM con selezione manuale 0 Figura 4.8: Confronto delle cardinalità delle categorie dominanti con numero di forme da etichettare pari a 72 La figura 4.8 mette a confronto le percentuali di forme etichettate nelle tre tipologie di etichettatura (il numero di forme da etichettare è pari a 72) con l’algoritmo FCM non supervisionato. Osservando il grafico si può notare che con l’utilizzo della etichettatura manuale abbiamo una elevata percentuale di forme etichettate rispetto alle altre due tipologie e all’algoritmo FCM non supervisionato. Manuale Random Automatica FCM Media 86.0% 75.8% 84.6% 73.4% Deviazione standard 5.2% 2.24% 0.1% 2.17% Minimo Massimo 71.7% 92.7% 71.7% 77.9% 84.6% 85.0% 68.8% 77.1% Tabella 4.39: Valori di media, deviazione standard, minimo e massimo La tabella 4.39 riassume i risultati comparativi dei valori delle categorie dominanti ottenuti nei differenti scenari sperimentali. In particolare, per ogni scenario, si sono calcolati la media, la deviazione standard ed i valori di minimo e massimo ottenuti dalle 10 prove eseguite. I risultati ottenuti mostrano che tutte le versioni dell’algoritmo FCM semisupervisionato superano l’algoritmo FCM in termini di valori DCC. Questo conferma i benefici offerti dal meccanismo di supervisione nel classificare le forme nelle categorie Pagina |129 Capitolo IV – Sperimentazione corrispondenti. Inoltre, anche se l’etichettatura automatica ha fornito valori medi leggermente inferiore all’etichettatura manuale, esso risulta essere il metodo più stabile in quanto è caratterizzato dal più basso valore di deviazione standard. Figura 4.9: Box-plot rappresentante la distribuzione delle forme etichettate 4.3.1.6 ANNOTAZIONE FUZZY Per valutare l’efficacia della fase di annotazione delle forme, sono stati eseguiti una serie di esperimenti sul test set. Precisamente, ogni forma inclusa nel test set è stata confrontata con i prototipi di forma ottenuti dalla prima fase dell’algoritmo. Quindi, essa è stata annotata assegnando un insieme fuzzy derivato dall’esecuzione dei gradi di appartenenza in accordo con l’equazione (20). L’intero processo di annotazione è stato valutato usando le misure di “Precision” e “Recall” sul test set basato sulle annotazioni corrette (annotazione manuale effettuata dall’esperto di dominio) e sulle annotazioni automatiche. Inoltre, consideriamo forma di test, W! la sua annotazione corretta e di ogni singola categoria ! ! come una l’annotazione automatica. Per ogni etichetta , la precision e la recall sono state calcolate nel seguente modo: Pagina |130 Capitolo IV – Sperimentazione .Ž ! . .Ž ! . ∈ W! ∧ .Ž ! . ∈ W! ∧ .Ž ! . ∈ ∈ ! •. ∈ ∈ W! •. ! •. ! •. Infine, per valutare l’efficacia del modello proposto, è stata effettuata una comparazione dell’accuratezza dell’annotazione sfruttando i prototipi derivati da tutti gli scenari considerati (etichettatura manuale, random, automatica e FCM non supervisionato). 1 – Crustacean 2 - Eel 3 - Eel 4 - Eel 5 - Ueel 6 - Ueel 7 - Pipefish 8 - Ray 9 - Ray 10 - Ray 11 - Ray 12 - Seahorse 13 - Seamoth 14 - Shark 15 - Shark 16 - Shark 17 - Shark 18 - Shark 19 - Sole 20 - Sole 21 - Sole 22 - Sole 23 - Sole 24 - Tonguefish 25 - Tonguefish Tabella 4.40: Composizione del data-set di test Pagina |131 Capitolo IV – Sperimentazione Qui di seguito riportiamo la tabella contenente le etichette delle forme presenti nel test set e quelle relative ad ogni scenario considerato. Inoltre per ogni etichettatura viene indicato il numero di forme classificate correttamente. Manuale Random Automatica FCM Crustacean Crustacean Crustacean Shark Crustacean Eel Tonguefish Shark Shark Shark Eel Eel Eel Eel Eel Eel Eel Shark Shark Eel Ueel Seahorse Seahorse Seahorse Seahorse Ueel Ueel Ueel Ueel Ueel Pipefish Pipefish Shark Shark Shark Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Seahorse Seahorse Sole Sole Sole Seamoth Seamoth Seamoth Seamoth Seamoth Shark Pipefish Shark Shark Shark Shark Shark Shark Shark Shark Shark Shark Sole Shark Sole Shark Shark Sole Shark Shark Shark Tonguefish Sole Shark Sole Sole Sole Sole Shark Sole Sole Sole Sole Sole Sole Sole Tonguefish Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Tonguefish Tonguefish Sole Sole Sole Tonguefish Tonguefish Shark Shark Shark Forme classificate correttamente 20 15 17 16 Tabella 4.41: Tabella riassuntiva relativa all’annotazione con numero di cluster pari a 10 Pagina |132 Capitolo IV – Sperimentazione Manuale Random Automatica FCM Categorie P R P R P R P R Shark 1 0.6 0.33 0.4 0.5 0.6 0.45 1 Ueel 1 0.5 1 0.5 1 0.5 1 0.5 Ray 1 1 1 1 1 1 1 1 Eel 1 0.66 1 0.33 1 0.67 1 0.33 Pipefish 0.5 1 0 0 0 0 0 0 Tonguefish 0.5 1 0 0 0 0 0 0 Sole 1 0.8 0.56 1 0.56 1 0.67 0.8 Seamoth 1 1 1 1 1 1 1 1 Seahorse 1 1 0 0 0 0 0 0 Crustacean 1 1 1 1 1 1 0 0 Media 0.9 0.86 0.59 0.52 0.61 0.58 0.51 0.46 Tabella 4.42: Valori di precision e recall per il processo di annotazione La tabella riportata in precedenza, mostra i valori di precision e recall calcolati per i quattro scenari considerati. I valori migliori sono quelli ottenuti utilizzando l’etichettatura manuale, infatti più alti sono i valori e maggiore sarà l’affidabilità dei risultati ottenuti. Dall’osservazione dei risultati, si possono osservare valori di accuratezza “buoni” in corrispondenza di tutte le categorie semantiche. Mentre in tutti gli altri scenari, si possono osservare valori nulli di Precision e Recall in corrispondenza di alcune categorie semantiche, tra cui “Seahorse”, “Pipefish” e “Tonguefish”. Questo è dovuto principalmente al fatto che l’algoritmo non è capace di riconoscere tali categorie. Di conseguenza, i prototipi non sono stati derivati per tali categorie e quindi questo influenza l’accuratezza della annotazione. 4.3.2 SPERIMENTAZIONE CON NUMERO DI CLUSTER PARI A 15 In questa nuova sperimentazione, il metodo utilizzato è identico a quello precedente ma con un’unica differenza ovvero il numero dei cluster, che in questo caso è stato posto uguale a 15. Anche in questo caso, sono state utilizzate diverse tipologie di etichettatura (manuale, random, automatica) e per ognuna di esse sono state effettuate 10 prove. Pagina |133 Capitolo IV – Sperimentazione Le forme da etichettare utilizzate sono le stesse utilizzate nelle tre tipologie di etichettatura della sperimentazione precedente . 4.3.2.1 ETICHETTATURA MANUALE Con l’utilizzo di questa tipologia di etichettatura, viene effettuata insieme all’esperto di dominio una scelta manuale delle forme da etichettare. La scelta delle forme da etichettare è ricaduta su quelle presenti in un cluster di appartenenza diverso da quello ad esso associato. Riportiamo qui di seguito le due tabelle, di cui la prima è quella riassuntiva relativa alla prova migliore scelta per ognuno dei sei casi mentre la seconda riporta il numero delle forme presenti in ogni cluster sempre in riferimento alla prova migliore con 72 forme da etichettare. 5% 10% 15% 20% 25% 30% Shark 41 46 40 38 40 42 Ueel 12 13 17 17 18 18 Ray 33 32 34 36 29 35 Eel 15 15 18 20 20 20 Pipefish 7 N.C N.C 8 11 11 Tonguefish N.C 7 13 12 14 16 Sole 37 36 43 44 44 45 Seamoth 10 10 10 9 10 10 Seahorse 8 9 8 10 10 10 Crustacean N.C 10 10 10 10 10 TOTALE 163 178 193 204 206 217 Tabella 4.43: Tabella riepilogativa relativa alla etichettatura “manuale” Come abbiamo già visto per la sperimentazione precedente, anche questa volta si può osservare nella tabella riepilogativa la presenza del termine N.C. (Non Classificato), il quale indica che non è stato possibile classificare il cluster ovvero al suo interno non è presente un numero di forme predominanti e corrispondente alla forma ad esso associata. Pagina |134 Capitolo IV – Sperimentazione CLUSTER CATEGORIE Shark Ueel Ray Eel Pipefish Tonguefish Sole Seamoth Seahorse Crustacean 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 18 0 0 0 5 4 1 0 1 0 0 0 0 0 24 0 8 0 0 0 0 0 0 0 0 10 0 0 0 0 0 1 20 0 0 0 0 1 0 0 0 0 0 15 0 0 0 0 20 2 1 0 0 0 0 0 0 0 0 0 1 0 0 3 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 24 0 0 0 0 15 6 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 Tabella 4.44: Tabella relativa alla prova migliore dell’etichettatura “manuale” Riportiamo gli istogrammi a barre relativi ai 15 cluster della prova identificata come “migliore” utilizzando una percentuale di forme da etichettare pari al 30%. Pagina |135 Capitolo IV – Sperimentazione Cluster 1 Cluster 2 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 3 Cluster 4 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 5 Cluster 6 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |136 Capitolo IV – Sperimentazione Cluster 7 Cluster 8 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 9 Cluster 10 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 11 Cluster 12 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |137 Capitolo IV – Sperimentazione Cluster 13 Cluster 14 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 15 100 80 60 40 20 0 Figura 4.10: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM semi-supervisionato Infine riportiamo la tabella relativa ai prototipi estratti per i 15 cluster della prova. Pagina |138 Capitolo IV – Sperimentazione DCC ETICHETTA Cluster 1 94.7% Shark Cluster 2 80% Ueel Cluster 3 100% Ray Cluster 4 87% Eel Cluster 5 61.1% Pipefish Cluster 6 72.7% Tonguefish Cluster 7 96% Sole Cluster 8 90.9% Seamoth Cluster 9 90.9% Seahorse Cluster 10 100% Crustacean Cluster 11 100% Ueel Cluster 12 93.8% Sole PROTOTIPO Pagina |139 Capitolo IV – Sperimentazione Cluster 13 100% Sole Cluster 14 100% Ray Cluster 15 100% Shark Tabella 4.45: Prototipi relativi alla prova migliore con etichettatura “manuale” 4.3.2.2 ETICHETTATURA RANDOM Con l’utilizzo di questa tipologia di etichettatura, viene effettuata una scelta “random” da parte dell’algoritmo delle forme da etichettare. Per poter effettuare questa scelta, è stata implementata una nuova funzione, la quale genera un certo numero di forme casuali (definite dall’utente). Qui di seguito riportiamo una tabella riepilogativa relativa alla prova migliore scelta per ognuno dei sei casi. In questa tabella viene riportato il numero delle forme presenti in ogni cluster. 5% 10% 15% 20% 25% 30% Shark 40 47 45 41 38 43 Ueel 12 12 13 13 14 12 Ray 17 33 34 34 34 35 Eel 15 15 15 16 18 17 Pipefish 7 7 6 7 8 8 Tonguefish 1 1 N.C. 10 13 8 Sole 39 45 43 44 42 43 Seamoth 10 10 9 10 10 10 Seahorse 9 9 9 9 10 9 Crustacean 10 N.C. 10 10 9 10 TOTALE 160 179 184 194 196 195 Tabella 4.46: Tabella riepilogativa relativa alla etichettatura “random” Pagina |140 Capitolo IV – Sperimentazione Come abbiamo già visto per la sperimentazione precedente, anche questa volta si può osservare nella tabella riepilogativa la presenza del termine N.C. (Non Classificato), il quale indica che non è stato possibile classificare il cluster ovvero al suo interno non è presente un numero di forme predominanti e corrispondente alla forma ad esso associata. La tabella riportata qui di seguito, mostra in dettaglio l’associazione tra i cluster e le categorie nel caso del 30% di forme. Infatti per l’annotazione si è decisi di scegliere solamente il caso del 30% per ogni etichettatura, in quanto vengono etichettate tutte le forme. CLUSTER CATEGORIE Shark Ueel Ray Eel Pipefish Tonguefish Sole Seamoth Seahorse Crustacean 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 31 0 0 0 2 6 1 0 1 0 10 0 0 0 2 0 12 2 0 3 0 0 0 0 0 0 0 1 0 0 0 0 17 0 0 0 2 0 0 0 0 9 9 0 0 0 0 17 4 1 1 0 0 0 0 0 0 0 0 4 0 0 3 8 0 0 0 0 0 0 0 0 0 0 1 0 0 0 3 8 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 39 0 0 0 0 4 0 0 2 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 Tabella 4.47: Tabella relativa alla prova migliore dell’etichettatura “random” Riportiamo gli istogrammi a barre relativi ai 15 cluster della prova identificata come “migliore” utilizzando una percentuale di forme da etichettare pari al 30%. Pagina |141 Capitolo IV – Sperimentazione Cluster 1 Cluster 2 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 3 Cluster 4 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 5 Cluster 6 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |142 Capitolo IV – Sperimentazione Cluster 7 Cluster 8 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 9 Cluster 10 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 11 Cluster 12 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |143 Capitolo IV – Sperimentazione Cluster 13 Cluster 14 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 15 100 80 60 40 20 0 Figura 4.11: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM semi-supervisionato Infine riportiamo la tabella relativa ai prototipi estratti per i 15 cluster della prova. Pagina |144 Capitolo IV – Sperimentazione DCC ETICHETTA Cluster 1 86.1% Shark Cluster 2 100% Ueel Cluster 3 85% Ray Cluster 4 85% Eel Cluster 5 40% Pipefish Cluster 6 50% Tonguefish Cluster 7 95.1% Sole Cluster 8 83.3% Seamoth Cluster 9 90% Seahorse Cluster 10 100% Crustacean Cluster 11 100% Shark Cluster 12 80% Sole PROTOTIPO Pagina |145 Capitolo IV – Sperimentazione Cluster 13 90% Ray Cluster 14 90% Ray Cluster 15 66.7% Sole Tabella 4.48: Prototipi relativi alla prova migliore con etichettatura “random” Confrontando gli istogrammi a barre e i prototipi estratti dall’algoritmo si può notare che nel cluster 15 anche se abbiamo un numero uguale di forme etichettate come “Shark” e “Sole” il prototipo estratto è un “Sole”. Questo è possibile in quanto i prototipi estratti sono quelli aventi grado maggiore di appartenenza al cluster. 4.3.2.3 ETICHETTATURA AUTOMATICA Con l’utilizzo di questa tipologia di etichettatura, viene effettuata una scelta “automatica” da parte dell’algoritmo delle forme da etichettare. Riportiamo qui di seguito le due tabelle, di cui la prima è quella riassuntiva relativa alla prova migliore scelta per ognuno dei sei casi mentre la seconda riporta il numero delle forme presenti in ogni cluster sempre in riferimento alla prova migliore con 72 forme da etichettare. Pagina |146 Capitolo IV – Sperimentazione 5% 10% 15% 20% 25% 30% Shark 43 47 40 48 42 44 Ueel 12 15 17 18 18 18 Ray 31 30 34 35 37 37 Eel 15 15 15 15 14 19 Pipefish 7 7 7 7 7 6 Tonguefish N.C 1 7 2 9 6 Sole 40 41 43 42 42 43 Seamoth 9 9 N.C. 10 10 10 Seahorse 7 9 9 10 10 10 Crustacean 8 N.C. 10 10 10 10 TOTALE 172 174 182 197 199 203 Tabella 4.49: Tabella riepilogativa relativa alla etichettatura “automatica” Come abbiamo già visto per la sperimentazione precedente, anche questa volta si può osservare nella tabella riepilogativa la presenza del termine N.C. (Non Classificato), il quale indica che non è stato possibile classificare il cluster ovvero al suo interno non è presente un numero di forme predominanti e corrispondente alla forma ad esso associata. CLUSTER CATEGORIE Shark Ueel Ray Eel Pipefish Tonguefish Sole Seamoth Seahorse Crustacean 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 22 0 0 0 13 5 0 0 0 0 4 0 0 0 9 0 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 0 3 0 0 0 0 0 1 0 0 0 2 0 0 4 3 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 1 0 0 0 6 1 1 2 0 0 0 0 0 0 0 14 0 0 0 2 4 21 4 2 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 Tabella 4.50: Tabella relativa alla prova migliore dell’etichettatura “automatica” Pagina |147 Capitolo IV – Sperimentazione Riportiamo gli istogrammi a barre relativi ai 15 cluster della prova identificata come “migliore” utilizzando una percentuale di forme da etichettare pari al 30%. Cluster 1 Cluster 2 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 3 Cluster 4 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |148 Capitolo IV – Sperimentazione Cluster 5 Cluster 6 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 7 Cluster 8 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 9 Cluster 10 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |149 Capitolo IV – Sperimentazione Cluster 11 Cluster 12 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 14 Cluster 13 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 15 100 80 60 40 20 0 Figura 4.12: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM semi-supervisionato Pagina |150 Capitolo IV – Sperimentazione Infine riportiamo la tabella relativa ai prototipi estratti per i 15 cluster della prova. DCC ETICHETTA Cluster 1 91.7% Shark Cluster 2 100% Ueel Cluster 3 100% Ray Cluster 4 82.6% Eel Cluster 5 18.8% Pipefish Cluster 6 30% Tonguefish Cluster 7 93.3% Sole Cluster 8 100% Seamoth Cluster 9 100% Seahorse Cluster 10 100% Crustacean Cluster 11 50% Tonguefish PROTOTIPO Pagina |151 Capitolo IV – Sperimentazione Cluster 12 66.7% Sole Cluster 13 95.5% Sole Cluster 14 66.7% Sole Cluster 15 18.2% Sole Tabella 4.51: Prototipi relativi alla prova migliore con etichettatura “automatica” Confrontando gli istogrammi a barre e i prototipi estratti dall’algoritmo si può notare che nel cluster 5 anche se abbiamo un numero maggiore di forme etichettate come “Shark”, il prototipo estratto è un “Pipefish”. Anche il cluster 6 in cui abbiamo un numero uguale sia di forme “Pipefish” e sia “Tonguefish”, il prototipo estratto è “Shark”. Infine nel cluster 15 in cui prevalgono le forme etichettate come “Shark”, il prototipo estratto è “Sole”. Questo è possibile in quanto i prototipi estratti sono quelli aventi grado maggiore di appartenenza al cluster. 4.3.2.4 FUZZY C-MEANS NON SUPERVISIONATO Come già accennato nel paragrafo 4.2, riportiamo i risultati relativi all’esecuzione dell’algoritmo FCM non supervisionato con numero di cluster pari a 15 e coefficiente di fuzzificazione (m) pari a 1.5. Nel caso dell’algoritmo FCM non supervisionato, non si è reso necessario effettuare la scelta delle forme da etichettare come nel caso dell’algoritmo semi-supervisionato, infatti esse sono scelte automaticamente dall’algoritmo. Pagina |152 Capitolo IV – Sperimentazione CLUSTER CATEGORIE Shark Ueel Ray Eel Pipefish Tonguefish Sole Seamoth Seahorse Crustacean 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 12 3 0 0 8 4 0 0 1 0 25 0 0 0 0 0 0 0 0 0 3 0 8 0 0 0 7 0 0 1 0 0 0 23 0 0 13 0 0 0 0 0 0 0 0 0 2 16 0 1 4 0 0 0 0 0 0 0 0 0 4 0 4 0 0 6 0 0 0 0 1 0 0 0 0 0 4 0 0 9 3 0 0 0 1 0 0 0 0 0 0 14 0 1 2 0 0 0 0 11 0 0 19 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 9 Tabella 4.52: Tabella relativa alla prova migliore dell’algoritmo FCM non supervisionato Riportiamo gli istogrammi a barre relativi ai 10 cluster della prova identificata come “migliore” per l’algoritmo FCM non supervisionato. Pagina |153 Capitolo IV – Sperimentazione Cluster 1 Cluster 2 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 3 Cluster 4 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 5 Cluster 6 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |154 Capitolo IV – Sperimentazione Cluster 7 Cluster 8 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 9 Cluster 10 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 11 Cluster 12 100 100 80 80 60 60 40 40 20 20 0 0 Pagina |155 Capitolo IV – Sperimentazione Cluster 13 Cluster 14 100 100 80 80 60 60 40 40 20 20 0 0 Cluster 15 100 80 60 40 20 0 Figura 4.13: Distribuzione delle forme tra i vari cluster derivati dall’algoritmo FCM non supervisionato Infine riportiamo la tabella relativa ai prototipi estratti per i 15 cluster della prova. Pagina |156 Capitolo IV – Sperimentazione DCC ETICHETTA Cluster 1 90.9% Seamoth Cluster 2 75% Shark Cluster 3 61% Sole Cluster 4 80% Eel Cluster 5 92% Ray Cluster 6 45% Tonguefish Cluster 7 20% Eel Cluster 8 100% Ray Cluster 9 100% Ueel Cluster 10 90% Seahorse Cluster 11 84.6% Sole Cluster 12 96.2% Shark PROTOTIPO Pagina |157 Capitolo IV – Sperimentazione Cluster 13 100% Ueel Cluster 14 100% Sole Cluster 15 100% Crustacean Tabella 4.53: Prototipi relativi alla prova migliore dell’algoritmo FCM non supervisionato Confrontando gli istogrammi a barre e i prototipi estratti dall’algoritmo si può notare che nel cluster 7 anche se abbiamo un numero maggiore di forme etichettate come “Pipefish”, il prototipo estratto è “Eel”. Questo è possibile in quanto il prototipo che viene estratto è quello che ha il grado maggiore di appartenenza al cluster. 4.3.2.5 VALUTAZIONE DEI RISULTATI La tabella riportata qui di seguito, mette a confronto le percentuali di forme etichettate per ognuno dei sei casi e per ciascuna tipologia di etichettatura utilizzata. 5% 10% 15% 20% 25% 30% 66.7% 74.6% 76.7% 80.8% 81.7% 81.3% Random Automatica 71.7% 72.5% 75.8% 82.1% 82.9% 84.6% 67.9% 74.2% 80.4% 85.0% 85.8% 90.4% Manuale Tabella 4.54: Tabella relativa alla sperimentazione con numero di cluster pari a 15 Pagina |158 Capitolo IV – Sperimentazione Cardinalità delle categorie dominanti 100 80 60 Random 40 Automatica Manuale 20 0 5% 10% 15% 20% 25% 30% Percentuale di forme etichettate Figura 4.14: Confronto delle cardinalità delle categorie dominanti con numero di cluster pari a 15 Osservando l’istogramma a barre, si può osservare come all’aumentare della percentuale di forme etichettate la bontà delle partizioni ottenute migliora in termini di compattezza dei cluster che hanno valori DCC elevati. Inoltre rispetto alla sperimentazione precedente, aumenta anche la percentuale di forme etichettate soprattutto nei primi tre casi, ovvero 5%, 10% e 15%. Percentuale di classificazione 100 80 FCM non supervisionato 60 FCM con selezione random 40 FCM con selezione automatica 20 FCM con selezione manuale 0 Figura 4.15: Confronto delle cardinalità delle categorie dominanti con numero di forme da etichettare pari a 72 Pagina |159 Capitolo IV – Sperimentazione La figura 4.15 mette a confronto le percentuali di forme etichettate nelle tre tipologie etichettatura (il numero di forme da etichettare è pari a 72) con l’algoritmo FCM non supervisionato. Osservando il grafico si può notare che con l’utilizzo della etichettatura manuale abbiamo una elevata percentuale di forme etichettate. Manuale Random Automatica FCM Media 89.0% 77.8% 83.2% 76.1% Deviazione standard 2.6% 5.2% 3.1% 3.7% Minimo Massimo 82.5% 90.4% 65.8% 81.3% 75.0% 86.7% 70.0% 79.6% Tabella 4.55: Valori di media, deviazione standard, minimo e massimo La tabella 4.55 riassume i risultati comparativi dei valori delle categorie dominanti ottenuti nei differenti scenari sperimentali. In particolare, per ogni scenario, si sono calcolati la media, la deviazione standard ed i valori di minimo e massimo ottenuti dalle 10 prove eseguite. I risultati ottenuti mostrano che tutte le versioni dell’algoritmo FCM semisupervisionato superano l’algoritmo FCM non supervisionato in termini di valori DCC. Questo conferma i benefici offerti dal meccanismo di supervisione nel classificare le forme nelle categorie corrispondenti. Infine l’etichettatura manuale risulta essere il metodo più stabile in questa sperimentazione, in quanto è caratterizzata dal più basso valore di deviazione standard e dal più alto valore di media. Pagina |160 Capitolo IV – Sperimentazione Figura 4.16: Box-plot rappresentante la distribuzione delle forme etichettate 4.3.2.6 ANNOTAZIONE FUZZY La procedura utilizzata per l’annotazione fuzzy con 10 cluster è stata ripetuta utilizzando un numero di cluster pari a 15, ovvero verificando il numero di forme correttamente classificate e calcolando i valori di “Precision” e “Recall”. Il data-set di test utilizzato è lo stesso utilizzato nella sperimentazione precdente. Qui di seguito riportiamo la tabella contenente le etichette delle forme presenti nel test set, e quelle relative ad ogni scenario considerato. Inoltre per ogni scenario viene indicato il numero di forme classificate correttamente. Pagina |161 Capitolo IV – Sperimentazione Crustacean Eel Manuale Random Automatica FCM Crustacean Crustacean Crustacean Crustacean Tonguefish Tonguefish Tonguefish Tonguefish Eel Eel Eel Eel Eel Eel Pipefish Pipefish Shark Eel Ueel Ueel Seahorse Seahorse Eel Ueel Ueel Ueel Ueel Ueel Pipefish Pipefish Shark Shark Tonguefish Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Ray Seahorse Sole Shark Sole Shark Seamoth Seamoth Seamoth Seamoth Seamoth Shark Pipefish Pipefish Shark Eel Shark Shark Tonguefish Shark Tonguefish Shark Shark Sole Sole Sole Shark Shark Sole Sole Shark Shark Shark Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Tonguefish Sole Sole Sole Sole Shark Tonguefish 17 16 Tonguefish Forme classificate correttamente Tonguefish Tonguefish 20 14 Tabella 4.56: Tabella riassuntiva relativa all’annotazione con numero di cluster pari a 15 Pagina |162 Capitolo IV – Sperimentazione Manuale Random Automatica FCM Categorie P R P R P R P R Shark 1 0.80 0 0 0.40 0.40 0.50 0.20 Ueel 1 1 1 0.50 1 0.50 1 0.50 Ray 1 1 1 1 1 1 1 1 Eel 1 0.33 1 0.33 1 0.33 0.50 0.67 Pipefish 0.33 1 0 0 0 0 0 0 Tonguefish 0.50 0.50 0.33 0.50 0 0 0.25 0.50 Sole 0.71 1 0.56 1 0.50 1 0.63 1 Seamoth 1 1 1 1 1 1 1 1 Seahorse 0 0 0 0 0 0 0 0 Crustacean 1 1 1 1 1 1 1 1 Media 0.75 0.76 0.59 0.53 0.59 0.52 0.59 0.59 Tabella 4.57: Valori di precision e recall per il processo di annotazione La tabella riportata in precedenza, mostra i valori di precision e recall calcolati per i quattro scenari considerati. I valori migliori sono quelli ottenuti utilizzando l’etichettatura manuale, infatti più alti sono i valori e maggiore sarà l’affidabilità dei risultati ottenuti. Dall’osservazione dei risultati, si possono osservare valori di accuratezza “buoni” in corrispondenza di tutte le categorie semantiche. Mentre in tutti gli altri scenari, si possono osservare valori nulla di Precision e Recall in corrispondenza di alcune categorie semantiche, tra cui “Seahorse”, “Pipefish”. Questo è dovuto principalmente al fatto che l’algoritmo non è capace di riconoscere tali categorie. Di conseguenza, i prototipi non sono stati derivati per tali categorie e quindi questo influenza l’accuratezza della annotazione. 4.3.3 VALUTAZIONE DELLE SPERIMENTAZIONI In generale, i risultati ottenuti confermano che il meccanismo di supervisione porta dei benefici nella estrazione dei prototipi utili per l’annotazione delle forme. Infatti, l’algoritmo con etichettatura manuale (ovvero avvalendosi della conoscenza dell’esperto di dominio) consente di ottenere una annotazione con accuratezza migliore, a differenza dell’etichettatura Pagina |163 Capitolo IV – Sperimentazione automatica e random che consentono di ottenere dei valori medi che superano l'accuratezza dell’annotazione ottenuta utilizzando l’algoritmo FCM non supervisionato. Percentuale di classificazione 100 80 60 FCM non supervisionato FCM semi-supervisionato 40 20 0 Figura 4.17: Confronto tra le due tipologie di algoritmi Questi valori possono essere considerati come un buon compromesso fra accuratezza della annotazione e semplicità del processo di etichettatura delle forme. Infatti, sulla base di questi metodi, la conoscenza del dominio da fornire in ingresso all'algoritmo di clustering viene acquisito in modo completamente automatico senza richiedere l'intervento dell’esperto. In questo modo, il processo di etichettatura della forma sarà più veloce e meno incline alla soggettività dell’esperto. Infine confrontando i valori di precision e recall relativi all’etichettatura manuale ottenuti nelle due sperimentazioni effettuate, si può notare che i valori di recall sono molto simili mentre quelli di precision differiscono tra loro. Da ciò si può dedure che utilizzando un numero di cluster pari a 15, si avrà una maggiore precisione nell’annotazione, ma tuttavia i risultati ottenuti con un numero di cluster pari a 10 (uguale al numero delle categorie semantiche) evidenziano l’efficacia dell’algoritmo proposto. Pagina |164 Capitolo IV – Sperimentazione 4.4 SPERIMENTAZIONE RETRIEVAL 4.4.1 INTRODUZIONE Per eseguire il processo di retrieval, è stato utilizzato il data-set di test (basato sulla classificazione manuale effettuata dall’esperto di dominio) usato nella fase di annotazione della sperimentazione precedente, il quale è formato da 25 forme ed ognuna di essa è considerata come query. Le fasi che compongo il processo di retrieval sono le seguenti: i. ordinamento dei cluster in base alla distanza euclidea tra la singola forma e il prototipo associato al cluster. Si calcola la distanza euclidea tra i descrittori di Fourier associati alla forma e quelli associati al prototipo identificativo del cluster e successivamente si ordinano le forme in ordine crescente in base ai valori ottenuti; ii. calcolo della distanza euclidea tra la query considerata e i prototipi ottenuti dal processo di clustering. Una volta terminato il calcolo, i valori ottenuti vengono ordinati in ordine crescente. Questi valori consentiranno di determinare l’ordine dei cluster in cui recuperare le forme; iii. recupero delle prime 50 forme con similarità più alta e che sono considerate come risultato della query. Per la valutazione dell’approccio proposto, sono state calcolate Precision e Recall su ciascun insieme di forme restituite come risultato della query (da 1 a 50): 4X 4X 4X ‘ X W W ‘ 4X ‘ X W W ‘ X [ WW 4[ X 4[ WW 4[ W W W W ± dove il numero di forme presenti nella collezione varia a seconda della query considerata, ovvero in base alla categoria di appartenenza della forma. Pagina |165 Capitolo IV – Sperimentazione Offline Process Shape Descriptors Shapes Clustering Prototypes Shape Representation Shape Descriptors Shape Query Matching & Retrieval Online Process Ranked Shapes Figura 4.18: Panoramica dell’approccio proposto Infine è stata calcolata la media dei valori di Precision e Recall sul numero totale di query presenti nel data-set di test. Nei paragrafi successivi vengono riportati i risultati relativi al processo di retrieval eseguito sulla prova migliore per ciascuna tipologia di etichettatura, ovvero manuale, random ed automatica. La prova utilizzata per ciascuna tipologia di etichettatura è quella relativa al 30% di forme etichettate (72 forme). Inoltre è stato fatto un confronto anche con l’algoritmo FCM non supervisionato con coefficiente di fuzzificazione (m) pari ad 1.5 e numero di cluster pari a 10. Tutto ciò è stato ripetuto anche per le prove ottenute con numero di cluster pari a 15. Pagina |166 Capitolo IV – Sperimentazione 4.4.2 RISULTATI SPERIMENTALI CON NUMERO DI CLUSTER PARI A 10 Per dare un’idea dell’approccio utilizzato riportiamo due esempi di query e per ognuna sono mostrati i primi 9 risultati (a partire dalla seconda forma). Come si può notare, l’approccio permette di recuperare un numero elevato di forme in corrispondenza delle due query effettuate. ssFCM (Manuale) ssFCM (Random) ssFCM (Automatica) Unsupervised FCM Figura 4.19: Esempio di query ottenute applicando l’algoritmo FCM semi-supervisionato e non supervisionato Riportiamo i valori medi di precision e recall ottenuti per le tre tipologie di etichettatura utilizzando i cluster ed i prototipi ottenuti come risultato dell’algoritmo semisupervisionato, ed inoltre si effettuerà il confronto con l’algoritmo FCM non supervisionato. In tutti i casi si è utilizzato un numero di cluster pari a 10. Pagina |167 Capitolo IV – Sperimentazione 1) Etichettatura manuale: Precision Recall 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0.76 0.76 0.76 0.75 0.75 0.75 0.75 0.76 0.76 0.76 0.76 0.74 0.73 0.72 0.71 0.71 0.70 0.69 0.67 0.68 0.67 0.67 0.68 0.68 0.68 0.03 0.06 0.08 0.11 0.14 0.17 0.20 0.23 0.26 0.29 0.33 0.29 0.32 0.34 0.36 0.39 0.40 0.43 0.36 0.38 0.40 0.41 0.44 0.46 0.48 Precision Recall 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 0.68 0.68 0.68 0.68 0.67 0.67 0.67 0.67 0.67 0.67 0.66 0.65 0.64 0.63 0.63 0.61 0.60 0.59 0.58 0.57 0.56 0.56 0.55 0.54 0.68 0.52 0.54 0.55 0.56 0.58 0.60 0.61 0.63 0.65 0.67 0.68 0.69 0.70 0.71 0.71 0.72 0.72 0.72 0.72 0.72 0.73 0.73 0.74 0.74 0.52 Tabella 4.58: Valori di precision e recall con etichettatura “manuale” Pagina |168 Capitolo IV – Sperimentazione 2) Etichettatura random: Precision Recall 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0.72 0.72 0.72 0.72 0.71 0.71 0.70 0.70 0.69 0.70 0.69 0.69 0.68 0.68 0.68 0.67 0.67 0.66 0.66 0.66 0.66 0.64 0.64 0.63 0.62 0.02 0.04 0.07 0.09 0.11 0.13 0.15 0.18 0.19 0.22 0.24 0.27 0.26 0.28 0.31 0.32 0.34 0.35 0.37 0.36 0.38 0.39 0.40 0.41 0.42 Precision Recall 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 0.60 0.59 0.59 0.59 0.58 0.59 0.58 0.57 0.57 0.56 0.55 0.54 0.53 0.51 0.50 0.49 0.49 0.48 0.47 0.47 0.46 0.46 0.45 0.45 0.60 0.44 0.45 0.46 0.48 0.49 0.51 0.52 0.53 0.54 0.54 0.55 0.55 0.55 0.55 0.55 0.55 0.56 0.56 0.57 0.57 0.58 0.59 0.59 0.59 0.44 Tabella 4.59: Valori di precision e recall con etichettatura “random” Pagina |169 Capitolo IV – Sperimentazione 3) Etichettatura automatica: Precision Recall 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0.76 0.76 0.76 0.75 0.75 0.75 0.75 0.74 0.73 0.73 0.71 0.70 0.70 0.69 0.69 0.68 0.69 0.68 0.67 0.66 0.66 0.65 0.65 0.64 0.63 0.03 0.05 0.08 0.11 0.13 0.16 0.18 0.21 0.23 0.26 0.21 0.23 0.24 0.26 0.28 0.30 0.32 0.34 0.32 0.34 0.35 0.37 0.38 0.40 0.41 Precision Recall 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 0.62 0.62 0.62 0.62 0.62 0.62 0.61 0.61 0.61 0.59 0.59 0.48 0.47 0.46 0.45 0.44 0.44 0.43 0.42 0.42 0.41 0.40 0.40 0.39 0.62 0.43 0.44 0.46 0.48 0.49 0.51 0.52 0.54 0.55 0.55 0.56 0.47 0.47 0.47 0.47 0.47 0.48 0.48 0.48 0.48 0.49 0.49 0.49 0.49 0.43 Tabella 4.60: Valori di precision e recall con etichettatura “automatica” Qui di seguito invece riportiamo i risultati relativi al processo di retrieval effettuato sulla prova migliore ottenuta eseguendo 10 volte l’algoritmo FCM non supervisionato con m (coefficiente di fuzzificazione) pari ad 1.5. Pagina |170 Capitolo IV – Sperimentazione Precision Recall 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0.68 0.68 0.67 0.66 0.65 0.65 0.65 0.65 0.64 0.65 0.65 0.65 0.63 0.63 0.62 0.61 0.60 0.59 0.59 0.58 0.57 0.57 0.56 0.56 0.56 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20 0.22 0.24 0.22 0.24 0.25 0.26 0.27 0.28 0.30 0.31 0.32 0.34 0.35 0.36 0.37 Precision Recall 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 0.53 0.52 0.52 0.52 0.52 0.51 0.51 0.51 0.51 0.50 0.49 0.49 0.48 0.47 0.47 0.46 0.45 0.45 0.44 0.44 0.43 0.43 0.43 0.43 0.53 0.38 0.40 0.41 0.42 0.43 0.44 0.45 0.46 0.48 0.48 0.49 0.49 0.50 0.50 0.51 0.52 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.60 0.38 Tabella 4.61: Valori di precision e recall eseguendo l’algoritmo FCM non supervisionato I due grafici riportati qui di seguito, mettono a confronto i valori di precision e di recall riportati nelle tabelle precedenti. Pagina |171 Capitolo IV – Sperimentazione 0,80 0,70 Precision 0,60 FCM con selezione manuale 0,50 FCM con selezione random 0,40 0,30 FCM con selezione automatica 0,20 FCM non supervisionato 0,10 0,00 Retrieved shapes Figura 4.20: Valori di precision con numero di cluster pari a 10 0,80 0,70 0,60 FCM con selezione manuale Recall 0,50 FCM con selezione random 0,40 0,30 FCM con selezione automatica 0,20 FCM non supervisionato 0,10 0,00 Retrieved shapes Figura 4.21: Valori di recall con numero di cluster pari a 10 Per poter calcolare valore medio, deviazione standard, minimo e massimo, sia i valori di precision che quelli di recall sono stati moltiplicati per 100. Pagina |172 Capitolo IV – Sperimentazione Manuale Random Automatica FCM Media 67.7% 60.6% 61.1% 55.1% Deviazione standard 6.2% 8.7% 11.8% 8.0% Minimo Massimo 54.3% 76.0% 44.7% 72.0% 39.0% 76.0% 42.6% 68.0% Tabella 4.62: Valori di media, deviazione standard, minimo e massimo relativi alla precision La tabella 4.62 riassume i risultati comparativi dei valori di precision ottenuti nei differenti scenari sperimentali. In particolare, per ogni scenario, si sono calcolati la media, la deviazione standard ed i valori di minimo e massimo. I risultati ottenuti mostrano che tutte le versioni dell’algoritmo FCM semi-supervisionato (manuale, random e automatica) superano l’algoritmo FCM non supervisionato in termini di valori di precision. Inoltre l’etichettatura manuale risulta essere il metodo più stabile in quanto ha il più basso valore di deviazione standard e il più alto valore di media. Figura 4.22: Box-plot rappresentante la distribuzione dei valori di precision Pagina |173 Capitolo IV – Sperimentazione Manuale Random Automatica FCM Media 47.6% 39.3% 36.7% 35.2% Deviazione standard 21.3% 17.0% 14.6% 16.0% Minimo Massimo 2.7% 74.3% 2.2% 59.4% 2.6% 56.2% 2.0% 59.5% Tabella 4.63: Valori di media, deviazione standard, minimo e massimo relativi alla recall La tabella 4.63 riassume i risultati comparativi dei valori di recall ottenuti nei differenti scenari sperimentali. I risultati ottenuti mostrano che tutte le versioni dell’algoritmo FCM semi-supervisionato superano l’algoritmo FCM non supervisionato in termini di valori di recall. In questo caso l’etichettatura automatica risulta essere il metodo più stabile in quanto ha il più basso valore di deviazione standard, ma anche questa volta l’etichettatura manuale fornisce un valore medio più elevato rispetto agli altri. Figura 4.23: Box-plot rappresentante la distribuzione dei valori di recall Una tipologia di etichettatura è considerata migliore di un'altra se consente di ottenere dei valori di precision e recall maggiori per grandi insiemi di forme recuperati. Pagina |174 Capitolo IV – Sperimentazione Infine dall’osservazione dei grafici relativi alla precision e alla recall riportati in figura 4.20 e 4.21, si può notare che con l’utilizzo della etichettatura manuale abbiamo un valore medio di precision e recall più elevato rispetto alle altre due tipologie e all’algoritmo FCM non supervisionato. 4.4.3 RISULTATI SPERIMENTALI CON NUMERO DI CLUSTER PARI A 15 Riportiamo i valori medi di precision e recall ottenuti per le tre tipologie di etichettatura e per l’algoritmo FCM non supervisionato, utilizzando un numero di cluster pari a 15: 1) Etichettatura manuale: Precision Recall 1 2p 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0.92 0.92 0.91 0.89 0.87 0.87 0.86 0.87 0.87 0.86 0.85 0.83 0.82 0.81 0.81 0.80 0.80 0.80 0.80 0.80 0.78 0.78 0.77 0.76 0.75 0.04 0.07 0.11 0.15 0.18 0.22 0.25 0.29 0.32 0.35 0.35 0.32 0.34 0.36 0.38 0.41 0.43 0.45 0.48 0.50 0.50 0.52 0.54 0.55 0.56 Precision Recall 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 0.73 0.72 0.71 0.71 0.70 0.69 0.68 0.68 0.66 0.66 0.65 0.64 0.64 0.63 0.62 0.61 0.60 0.60 0.59 0.58 0.57 0.56 0.55 0.54 0.73 0.58 0.59 0.60 0.62 0.63 0.64 0.65 0.66 0.66 0.68 0.68 0.69 0.68 0.69 0.69 0.70 0.71 0.71 0.71 0.72 0.72 0.73 0.73 0.73 0.58 Tabella 4.64: Valori di precision e recall con etichettatura “manuale” Pagina |175 Capitolo IV – Sperimentazione 2) Etichettatura random: Precision Recall 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0.52 0.52 0.53 0.55 0.56 0.57 0.58 0.59 0.60 0.58 0.56 0.55 0.54 0.54 0.54 0.53 0.51 0.50 0.48 0.47 0.45 0.44 0.43 0.43 0.42 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.15 0.18 0.19 0.17 0.19 0.16 0.17 0.19 0.19 0.20 0.21 0.21 0.22 0.22 0.23 0.23 0.24 0.24 Precision Recall 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 0.40 0.40 0.39 0.39 0.37 0.36 0.36 0.36 0.35 0.35 0.35 0.34 0.33 0.33 0.33 0.33 0.32 0.32 0.32 0.32 0.31 0.31 0.30 0.30 0.40 0.25 0.26 0.26 0.27 0.27 0.27 0.27 0.28 0.28 0.29 0.30 0.30 0.30 0.31 0.32 0.32 0.32 0.33 0.33 0.34 0.34 0.34 0.35 0.35 0.25 Tabella 4.65: Valori di precision e recall con etichettatura “random” Pagina |176 Capitolo IV – Sperimentazione 3) Etichettatura automatica: Precision Recall 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0.72 0.70 0.69 0.68 0.66 0.65 0.66 0.68 0.66 0.66 0.64 0.63 0.63 0.62 0.62 0.62 0.61 0.61 0.59 0.59 0.60 0.60 0.60 0.60 0.60 0.03 0.05 0.07 0.10 0.12 0.14 0.17 0.20 0.22 0.25 0.20 0.22 0.24 0.25 0.27 0.29 0.30 0.32 0.30 0.32 0.34 0.36 0.37 0.39 0.40 Precision Recall 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 0.59 0.59 0.59 0.60 0.60 0.60 0.60 0.59 0.59 0.59 0.58 0.47 0.46 0.46 0.45 0.44 0.43 0.43 0.42 0.41 0.41 0.40 0.40 0.39 0.59 0.43 0.44 0.46 0.48 0.50 0.51 0.53 0.54 0.56 0.57 0.57 0.48 0.49 0.49 0.49 0.50 0.50 0.51 0.51 0.51 0.51 0.52 0.52 0.53 0.43 Tabella 4.66: Valori di precision e recall con etichettatura “automatica” Qui di seguito invece riportiamo i risultati relativi al processo di retrieval effettuato sulla prova migliore ottenuta eseguendo 10 volte l’algoritmo FCM non supervisionato con m (coefficiente di fuzzificazione) pari ad 1.5. Pagina |177 Capitolo IV – Sperimentazione Precision Recall 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0.72 0.72 0.71 0.70 0.70 0.69 0.67 0.66 0.66 0.66 0.65 0.64 0.63 0.63 0.62 0.60 0.60 0.59 0.57 0.57 0.57 0.56 0.56 0.55 0.55 0.03 0.05 0.08 0.10 0.13 0.15 0.17 0.19 0.22 0.24 0.26 0.24 0.26 0.27 0.29 0.30 0.31 0.32 0.33 0.34 0.35 0.37 0.38 0.39 0.40 Precision Recall 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 0.54 0.54 0.54 0.54 0.54 0.54 0.53 0.53 0.53 0.53 0.52 0.51 0.51 0.50 0.50 0.49 0.49 0.48 0.48 0.47 0.47 0.46 0.46 0.45 0.54 0.43 0.44 0.45 0.47 0.48 0.50 0.51 0.52 0.53 0.55 0.56 0.56 0.57 0.58 0.59 0.60 0.61 0.62 0.62 0.63 0.64 0.64 0.65 0.65 0.43 Tabella 4.67: Valori di precision e recall eseguendo l’algoritmo FCM non supervisionato I due grafici riportati qui di seguito, mettono a confronto i valori di precision e di recall riportati nelle tabelle precedenti. Pagina |178 Capitolo IV – Sperimentazione 1,00 0,90 0,80 FCM con selezione manuale Precision 0,70 0,60 FCM con selezione random 0,50 FCM con selezione automatica 0,40 0,30 FCM non supervisionato 0,20 0,10 0,00 Retrieved shapes Figura 4.24: Valori di precision con numero di cluster pari a 15 0,80 0,70 0,60 FCM con selezione manuale Recall 0,50 FCM con selezione random 0,40 0,30 FCM con selezione automatica 0,20 FCM non supervisionato 0,10 0,00 Retrieved shapes Figura 4.25: Valori di recall con numero di cluster pari a 15 Pagina |179 Capitolo IV – Sperimentazione Manuale Random Automatica FCM Media 73.8% 43.3% 57.2% 56.9% Deviazione standard 11.0% 9.8% 9.2% 7.7% Minimo Massimo 54.4% 92.0% 30.0% 59.6% 39.3% 72.0% 44.8% 72.0% Tabella 4.68: Valori di media, deviazione standard, minimo e massimo relativi alla precision La tabella 4.68 riassume i risultati comparativi dei valori di precision ottenuti nei differenti scenari sperimentali. In particolare, per ogni scenario, si sono calcolati la media, la deviazione standard ed i valori di minimo e massimo. I risultati ottenuti mostrano che tutte le versioni dell’algoritmo FCM semi-supervisionato superano l’algoritmo FCM non supervisionato in termini di valori di precision. In questa sperimentazione, possiamo notare che l’algoritmo FCM non supervisionato presenta il valore più basso di deviazione standard, il quale è leggermente inferiore al valore ottenuto con l’etichettatura automatica. Il valore medio più alto è assunto sempre dall’etichettatura manuale. Figura 4.26: Box-plot rappresentante la distribuzione dei valori di precision Pagina |180 Capitolo IV – Sperimentazione Manuale Random Automatica FCM Media 50.8% 23.2% 36.9% 39.9% Deviazione standard 19.9% 8.4% 15.6% 17.9% Minimo Massimo 3.7% 72.9% 1.8% 34.7% 2.6% 57.4% 2.6% 64.8% Tabella 4.69: Valori di media, deviazione standard, minimo e massimo relativi alla recall La tabella 4.69 riassume i risultati comparativi dei valori di recall ottenuti nei differenti scenari sperimentali. I risultati ottenuti mostrano che tutte le versioni dell’algoritmo FCM semi-supervisionato superano l’algoritmo FCM in termini di valori di recall. Come si può notare dai risultati ottenuti per la recall, l’etichettatura random ha il più basso valore di deviazione standard, mentre è sempre l’etichettatura manuale ad avere il valore di media più alto. Figura 4.27: Box-plot rappresentante la distribuzione dei valori di recall Osservando i grafici relativi alla precision e alla recall riportati in figura 4.24 e 4.25, si può notare che con l’utilizzo della etichettatura manuale abbiamo un valore medio di precision e recall più elevato rispetto alle altre due tipologie e all’algoritmo FCM non supervisionato. Pagina |181 Capitolo IV – Sperimentazione Infine, si può affermare che con l’utilizzo di un numero di cluster maggiore ed esattamente in questo caso pari a 15 l’etichettatura manuale ha un valore medio di precision più elevato rispetto a quello ottenuto utilizzando un numero di cluster pari a 10. 4.4.4 VALUTAZIONE DEI RISULTATI In generale, i risultati ottenuti con il meccanismo di supervisione offrono benefici nel determinare prototipi significativi utili come meccanismo di indicizzazione per recuperare forme. Infatti, l’algoritmo FCM semi-supervisionato supera l’algoritmo FCM non supervisionato in termini di precisione di recupero. Questi valori possono essere considerati come un buon compromesso tra un’accuratezza di recupero soddisfacente e la semplicità del processo di recupero. 4.5 SPERIMENTAZIONE IMMAGINI REALI 4.5.1 INTRODUZIONE Una ulteriore serie di esperimenti è stata eseguita applicando l’approccio proposto su una collezione di immagini del mondo reale contenente forme di animali marini. Precisamente, sono state scelte 50 forme, per esattezza 5 forme appartenenti ad ognuna delle 10 categorie semantiche identificate nel data-set “Surrey Fish”. Alcune immagini di esempio sono riportate qui di seguito. Pagina |182 Capitolo IV – Sperimentazione Shark Ueel Tonguefish Crustacean Eel Sole Ray Seamoth Seahorse Pipefish Figura 4.28: Immagini di esempio del data-set reale Come primo passo, ogni immagine reale è stata segmentata in modo da poter estrarre la forma dell’animale marino in esso contenuta. Per fare questo, l’immagine a colori è stata convertita in livelli di grigio ed è stata inoltre applicata una soglia di thresholding per convertire la forma in livelli di grigio in una immagine binaria. Dal momento che nel mondo reale le immagini sono spesso danneggiate a causa del rumore, la forma ottenuta applicando una soglia di thresholding, di solito ha un rumore lungo il contorno della forma, e quindi si è reso necessario applicare un processo di eliminazione del rumore. Il processo di rimozione del rumore elimina i pixel isolati e le regioni isolate di piccole dimensioni o segmenti. Inoltre il contorno della forma non è sempre connesso, e quindi, è stata utilizzata una tecnica di connessione per chiudere questi punti non connessi tra loro. Infine la forma è stata tracciata utilizzando una tecnica di tracciamento del contorno 8connected per ottenere le coordinate del contorno relative alla forma considerata. 1 -Crustacean 2 - Crustacean 3 - Crustacean 4 - Crustacean 5 - Crustacean 6 - Eel 7 - Eel 8 - Eel 9 - Eel 10 - Eeel Pagina |183 Capitolo IV – Sperimentazione 11 - Pipefish 12 - Pipefish 13 - Pipefish 14 - Pipefish 15 - Pipefish 16 - Ray 17 - Ray 18 - Ray 19 - Ray 20 - Ray 21 - Seahorse 22 - Seahorse 23 - Seahorse 24 - Seahorse 25 - Seahorse 26 - Seamoth 27 - Seamoth 28 - Seamoth 29 - Seamoth 30 - Seamoth 31 - Shark 32 - Shark 33 - Shark 34 - Shark 35 - Shark 36 - Sole 37 - Sole 38 - Sole 39 - Sole 40 - Sole 43 - Tonguefish 44 - Tonguefish 45 - Tonguefish 48 - Ueel 49 - Ueel 50 - Ueel 41 - Tonguefish 42 - Tonguefish 46 - Ueel 47 - Ueel Tabella 4.70: Composizione del data-set di test costituito da immagini reali Successivamente, per ciascuna forma estratta sono stati calcolati i descrittori di Fourier e sono stati selezionati i primi 32 coefficienti per rappresentare la forma. Pagina |184 Capitolo IV – Sperimentazione Infine è stato applicato sia il processo di annotazione che quello di retrieval utilizzando prototipi di forma derivati dai differenti scenari di clustering eseguiti sul data-set sintetico. Nei paragrafi successivi vengono analizzati in dettaglio i risultati ottenuti. 4.5.2 ANNOTAZIONE FUZZY Qui di seguito riportiamo la tabella contenente le etichette delle forme presenti nel test set, e quelle relative ad ogni tipologia di etichettatura considerata. Inoltre per ciascun scenario viene indicato il numero di forme classificate correttamente. Manuale Random Automatica FCM Crustacean Crustacean Crustacean Crustacean Sole Crustacean Ueel Ueel Ueel Ueel Crustacean Pipefish Shark Eel Shark Crustacean Crustacean Crustacean Crustacean Sole Crustacean Ueel Ueel Ueel Ueel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Eel Pipefish Eel Eel Eel Eel Pipefish Eel Eel Eel Eel Pipefish Eel Eel Eel Eel Pipefish Eel Eel Eel Eel Pipefish Eel Eel Eel Eel Ray Ueel Ueel Ueel Ray Ray Ray Ray Ray Ray Pagina |185 Capitolo IV – Sperimentazione Ray Ueel Ueel Ueel Ray Ray Seamoth Seamoth Seamoth Seamoth Ray Seamoth Seamoth Seamoth Seamoth Seahorse Ray Ray Ray Ray Seahorse Pipefish Shark Shark Shark Seahorse Shark Ray Shark Shark Seahorse Seahorse Seahorse Seahorse Seahorse Seahorse Seahorse Seahorse Seahorse Seahorse Seamoth Sole Sole Shark Sole Seamoth Tonguefish Shark Shark Shark Seamoth Sole Sole Shark Shark Seamoth Tonguefish Sole Shark Shark Seamoth Tonguefish Sole Shark Shark Shark Shark Sole Shark Shark Shark Sole Sole Shark Shark Shark Tonguefish Shark Shark Shark Shark Shark Shark Shark Shark Shark Shark Pipefish Shark Shark Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Sole Tonguefish Sole Sole Sole Sole Sole Sole Sole Shark Tonguefish Tonguefish Sole Shark Shark Tonguefish Tonguefish Shark Shark Shark Tonguefish Tonguefish Sole Sole Sole Tonguefish Tonguefish Shark Shark Shark Pagina |186 Capitolo IV – Sperimentazione Tonguefish Tonguefish Shark Shark Shark Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Ueel Forme classificate correttamente 27 22 25 24 Tabella 4.71: Tabella riassuntiva relativa all’annotazione Manuale Random Automatica FCM Categorie P R P R P R P R Shark 0.75 0.6 0.25 0.4 0.31 1 0.29 1 Ueel 0.56 1 0.56 1 0.56 1 0.71 1 Ray 0.5 0.2 0.33 0.2 0.5 0.2 0.75 0.6 Eel 0.5 1 0.5 1 0.45 1 0.5 1 Pipefish 0 0 0 0 0 0 0 0 Tonguefish 0.5 1 0 0 0 0 0 0 Sole 0.57 0.8 0.38 1 0.83 1 0.5 0.8 Seamoth 0 0 0 0 0 0 0 0 Seahorse 1 0.4 1 0.4 1 0.4 1 0.4 Crustacean 1 0.4 1 0.4 1 0.4 0 0 Media 0.54 0.54 0.40 0.44 0.47 0.50 0.38 0.48 Tabella 4.72: Valori di precision e recall per il processo di annotazione La tabella riportata in precedenza, mostra i valori di precision e recall calcolati per i quattro scenari considerati. I valori migliori sono quelli ottenuti utilizzando l’etichettatura manuale, infatti più alti sono i valori e maggiore sarà l’affidabilità dei risultati ottenuti. Dall’osservazione dei risultati, si possono osservare valori di accuratezza “buoni” in corrispondenza di quasi tutte le categorie semantiche. Mentre in tutti gli altri scenari, si Pagina |187 Capitolo IV – Sperimentazione possono osservare valori nulli di Precision e Recall in corrispondenza di alcune categorie semantiche, tra cui “Seamoth”, “Pipefish”, “Tonguefish” e “Crustacean”. Infine, riportiamo alcuni esempi di risultati ottenuti dal processo di annotazione fuzzy. Nella tabella 4.73, per ciascuna immagine non etichettata, viene mostrata la forma estratta dal processo di segmentazione, i prototipi di forma che sono stati riconosciuti come i più simili alla forma e il grado di appartenenza della forma non etichettata per la corrispondente categoria semantica. Forme non etichettate Categorie semantiche Crustacean Sole Shark (0.24) (0.17) (0.11) Eel Pipefish Tonguefish (0.45) (0.23) (0.10) Eel Pipefish Tonguefish (0.41) (0.25) (0.10) Ray Seamoth Seahorse (0.31) (0.19) (0.09) Seahorse Ray Shark (0.45) (0.10) (0.09) Pagina |188 Capitolo IV – Sperimentazione Sole Shark Seahorse (0.17) (0.15) (0.14) Shark Tonguefish Pipefish (0.35) (0.30) (0.18) Sole Tonguefish Shark (0.36) (0.17) (0.15) Tonguefish Shark Pipefish (0.64) (0.14) (0.07) Ueel Ray Seamoth (0.46) (0.10) (0.09) Tabella 4.73: Esempi di risultati dell’annotazione Pagina |189 Capitolo IV – Sperimentazione 4.5.3 RETRIEVAL In questo paragrafo riportiamo i risultati relativi al processo di retrieval utilizzando un data-set di test di forme marine reali. Anche in questo caso abbiamo eseguito le sperimentazioni eseguite nel caso precedente (data-set sintetico). Qui di seguito riportiamo i valori medi di precision e recall ottenuti per le tre tipologie di etichettatura utilizzando i cluster ed i prototipi ottenuti come risultato dell’algoritmo semi-supervisionato, ed inoltre si effettuerà il confronto con l’algoritmo FCM. In questa sperimentazione si è utilizzato solamente un numero di cluster pari a 10. 1) Etichettatura manuale: Precision Recall 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0.38 0.44 0.46 0.48 0.48 0.49 0.49 0.49 0.48 0.48 0.47 0.47 0.46 0.46 0.46 0.46 0.46 0.46 0.40 0.40 0.41 0.41 0.41 0.41 0.41 0.02 0.04 0.06 0.09 0.11 0.14 0.17 0.19 0.21 0.23 0.25 0.27 0.26 0.29 0.31 0.32 0.35 0.37 0.28 0.30 0.32 0.34 0.36 0.37 0.38 Precision Recall 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 0.41 0.41 0.41 0.40 0.40 0.40 0.40 0.40 0.40 0.39 0.39 0.39 0.38 0.38 0.38 0.37 0.36 0.35 0.35 0.34 0.34 0.34 0.33 0.33 0.41 0.40 0.41 0.42 0.43 0.43 0.44 0.45 0.47 0.47 0.49 0.50 0.50 0.51 0.51 0.53 0.54 0.54 0.54 0.55 0.55 0.56 0.56 0.56 0.57 0.40 Tabella 4.74: Valori di precision e recall con etichettatura “manuale” Pagina |190 Capitolo IV – Sperimentazione 2) Etichettatura random: Precision Recall 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0.20 0.28 0.33 0.36 0.38 0.39 0.39 0.39 0.39 0.40 0.40 0.38 0.38 0.38 0.39 0.38 0.38 0.38 0.37 0.36 0.36 0.35 0.35 0.35 0.35 0.01 0.03 0.05 0.06 0.08 0.10 0.12 0.14 0.16 0.19 0.21 0.19 0.21 0.24 0.26 0.28 0.29 0.31 0.32 0.30 0.31 0.32 0.33 0.34 0.35 Precision Recall 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 0.35 0.35 0.35 0.36 0.36 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.34 0.34 0.34 0.34 0.34 0.34 0.34 0.34 0.34 0.32 0.32 0.32 0.35 0.37 0.38 0.39 0.40 0.41 0.42 0.44 0.45 0.46 0.46 0.47 0.48 0.49 0.50 0.50 0.52 0.53 0.53 0.54 0.55 0.55 0.55 0.56 0.56 0.37 Tabella 4.75: Valori di precision e recall con etichettatura “random” Pagina |191 Capitolo IV – Sperimentazione 3) Etichettatura automatica: Precision Recall 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0.30 0.35 0.39 0.39 0.40 0.41 0.42 0.42 0.42 0.43 0.38 0.38 0.38 0.39 0.38 0.38 0.38 0.39 0.31 0.31 0.31 0.31 0.32 0.32 0.32 0.02 0.04 0.06 0.08 0.10 0.13 0.15 0.17 0.20 0.22 0.17 0.19 0.21 0.23 0.25 0.26 0.28 0.29 0.21 0.23 0.24 0.25 0.26 0.27 0.28 Precision Recall 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 0.33 0.32 0.32 0.32 0.32 0.33 0.32 0.33 0.33 0.33 0.33 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.32 0.31 0.31 0.31 0.31 0.31 0.33 0.30 0.31 0.32 0.34 0.35 0.36 0.37 0.39 0.40 0.41 0.42 0.42 0.43 0.44 0.44 0.46 0.47 0.48 0.48 0.49 0.49 0.50 0.50 0.51 0.30 Tabella 4.76: Valori di precision e recall con etichettatura “automatica” Qui di seguito invece riportiamo i risultati relativi al processo di retrieval effettuato sulla prova migliore ottenuta eseguendo 10 volte l’algoritmo FCM non supervisionato con m (coefficiente di fuzzificazione) pari ad 1.5. Pagina |192 Capitolo IV – Sperimentazione Precision Recall 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0.42 0.43 0.43 0.44 0.44 0.42 0.41 0.42 0.42 0.43 0.43 0.44 0.43 0.43 0.42 0.42 0.42 0.42 0.41 0.41 0.41 0.41 0.41 0.40 0.40 0.02 0.03 0.05 0.07 0.10 0.11 0.13 0.15 0.17 0.19 0.21 0.24 0.25 0.26 0.27 0.29 0.30 0.32 0.33 0.34 0.35 0.37 0.38 0.40 0.41 Precision Recall 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 0.39 0.39 0.49 0.48 0.47 0.46 0.45 0.44 0.37 0.37 0.37 0.36 0.35 0.35 0.34 0.34 0.33 0.33 0.32 0.32 0.31 0.31 0.31 0.30 0.39 0.44 0.42 0.42 0.42 0.44 0.46 0.47 0.47 0.48 0.49 0.50 0.50 0.51 0.51 0.51 0.52 0.52 0.52 0.53 0.53 0.53 0.54 0.54 0.54 0.44 Tabella 4.77: Valori di precision e recall eseguendo l’algoritmo FCM non supervisionato I due grafici riportati qui di seguito, mettono a confronto i valori di precision e di recall riportati nelle tabelle precedenti. Pagina |193 Capitolo IV – Sperimentazione 0,60 0,50 FCM con selezione manuale Precision 0,40 FCM con selezione random 0,30 FCM con selezione automatica 0,20 FCM non supervisionato 0,10 0,00 Retrieved shapes Figura 4.29: Valori di precision 0,6 0,5 FCM con selezione manuale Recall 0,4 FCM con selezione random 0,3 FCM con selezione automatica 0,2 FCM non supervisionato 0,1 0 Retrieved shapes Figura 4.30: Valori di recall Per poter calcolare valore medio, deviazione standard, minimo e massimo, sia i valori di precision che quelli di recall sono stati moltiplicati per 100. Pagina |194 Capitolo IV – Sperimentazione Manuale Random Automatica FCM Media 41.4% 35.4% 34.3% 39.7% Deviazione standard 4.8% 3.2% 3.9% 4.8% Minimo Massimo 32.9% 49.3% 20.0% 39.7% 30.0% 42.6% 30.3% 48.9% Tabella 4.78: Valori di media, deviazione standard, minimo e massimo relativi alla precision La tabella 4.78 riassume i risultati comparativi dei valori di precision ottenuti nei differenti scenari sperimentali. In particolare, per ogni scenario, si sono calcolati la media, la deviazione standard ed i valori di minimo e massimo. I risultati ottenuti mostrano che solamente una versione dell’algoritmo FCM semi-supervisionato (manuale) supera l’algoritmo FCM in termini di valori di precision. Anche con l’utilizzo di un data-set di immagini reali, possiamo notare che l’etichettatura random presenta il valore più basso di deviazione standard, mentre sia l’etichettatura manuale che l’algoritmo FCM non supervisionato hanno lo stesso valore di deviazione standard. Il valore medio più alto è assunto sempre dall’etichettatura manuale. Figura 4.31: Box-plot rappresentante la distribuzione dei valori di precision Pagina |195 Capitolo IV – Sperimentazione Manuale Random Automatica FCM Media 36.7% 34.1% 30.4% 36.0% Deviazione standard 15.4% 16.2% 13.5% 15.9% Minimo Massimo 1.7% 56.7% 1.0% 56.4% 1.8% 51.0% 1.6% 54.3% Tabella 4.79: Valori di media, deviazione standard, minimo e massimo relativi alla recall La tabella 4.79 riassume i risultati comparativi dei valori di recall ottenuti nei differenti scenari sperimentali. Come si può notare dai risultati ottenuti per la recall, l’etichettatura automatica ha il più basso valore di deviazione standard. Sia l’etichettatura manuale che l’algoritmo FCM non supervisionato hanno un valore medio quasi uguale (infatti i valori ottenuti con l’algoritmo FCM non supervisionato sono leggermente inferiori rispetto a quelli ottenuti con l’etichettura manuale), mentre l’algoritmo FCM non supervisionato ha un valore di deviazione standard leggermente superiore a quello ottentuo con l’etichettatura manuale. Figura 4.32: Box-plot rappresentante la distribuzione dei valori di recall Pagina |196 Capitolo IV – Sperimentazione Infine, anche dall’osservazione dei grafici relativi alla precision e alla recall riportati in figura 4.29 e 4.30, si può notare che con l’utilizzo della etichettatura manuale abbiamo un valore medio di precision e recall più elevato rispetto alle altre due tipologie e all’algoritmo FCM non supervisionato. 4.5.4 VALUTAZIONE DEI RISULTATI In generale, i risultati ottenuti utilizzando un data-set di immagini reali mostrano l’efficacia del meccanismo di supervisione sviluppato in questo lavoro di tesi. Come si può ben osservare dai risultati alcune categorie semantiche non sono riconosciute e questo infatti rimane uno dei problemi ancora da risolvere. Tuttavia questi risultati lasciano ben sperare in un futuro miglioramento dell’approccio proposto. Pagina |197 CAPITOLO V CONCLUSIONI E SVILUPPI FUTURI Pagina |198 Capitolo IV – Conclusioni e sviluppi futuri In questo lavoro di tesi, è stato presentato un approccio per l’annotazione fuzzy e il retrieval di forme. L'approccio sfrutta una tecnica di fuzzy clustering dotata del meccanismo di supervisione, il quale è in grado di fornire una guida utile durante il processo di shape clustering, al fine di ricavare una serie di prototipi rappresentativi di un certo numero di categorie semantiche. I prototipi derivati sono manualmente etichettati aggiungendo le etichette alle relative categorie semantiche. Quando una nuova forma viene automaticamente etichettata, viene associato un insieme fuzzy che fornisce i gradi di appartenenza della forma a tutte le categorie semantiche scoperte. L’efficacia dell'approccio proposto è stato dimostrata attraverso un test su un data-set di forme. I risultati ottenuti in termini di “Precision” e “Recall” mostrano l’efficacia del fuzzy clustering semi-supervisionato nel determinare i prototipi di forma più significativi, i quali possono essere opportunamente utilizzati per l’annotazione di nuove forme. Per quanto riguarda invece il processo di retrieval, si può affermare che i risultati di accuratezza ottenuti sono incoraggianti. Naturalmente, molti problemi potrebbero essere affrontati al fine di migliorare l’efficacia dell’approccio proposto. Un ulteriore miglioramento per il processo di recupero potrebbe essere quello di fare uso di feedback di rilevanza e ripetizione della ricerca con le nuove informazioni aggiunte. Infine i clusters potrebbe essere raffinati includendo i nuovi oggetti secondo i feedback forniti dagli utenti sulle forme restituite. 5.1 POSSIBILI SVLUPPI FUTURI Di seguito si riporta un elenco di idee finalizzate al miglioramento futuro dell’approccio proposto: i. utilizzo di nuovi descrittori di forma in modo da poter effettuare un confronto con quelli presenti attualmente nell’approccio proposto; ii. utilizzo di nuove misure di similarità diverse da quella euclidea, attualmente utilizzata dall’algoritmo; iii. esecuzione di ulteriori sperimentazioni utilizzando un numero di cluster compreso tra 10 e 15; Pagina |199 Capitolo IV – Conclusioni e sviluppi futuri iv. testare l’algoritmo su un data-set diverso anche più complesso, in modo da poter confrontare i risultati con quelli attualmente presentati in questo lavoro di tesi e poter valutare l'adeguatezza dell’approccio proposto; v. utilizzo di feedback di rilevanza, in cui l'utente può raffinare i risultati della ricerca contrassegnando le forme presenti nei risultati come “rilevante”, “non rilevante” o “neutrale” alla query di ricerca; vi. aggiornamenti dei prototipi di forma ottenuti dal processo di clustering. Pagina |200 BIBLIOGRAFIA Pagina |201 Riferimenti Bibliografici [1] Lew, M., Sebe, N., Djeraba, C., Li, F., Ramesh, J. - “Content-based Multimedia Information Retrieval: State of the Art and Challenges”. ACM Transactions on Multimedia Computing, Communications, and Applications. 1-19, (2006). [2] Datta, R., Dhiraj, J., Jia, L., Wang, J.Z. - “Image Retrieval: Ideas, Influences, and Trends of the New Age”. ACM Computing Surveys. 40, 1-60, (2008). [3] Smeulders, A.W.M., Worring, M., Santini, S., Gupta, A., Jain, R. - “Content-based image retrieval at the end of the early years”. IEEE Transaction on Pattern Analysis and Machine Intelligence 22, 1349-1380, (2000). [4] Mylonas, P., Spyrou, E., Avrithis, Y., Kollias, S. - “Using Visual Context and Region Semantics for High-Level Concept Detection”. IEEE Transactions on Multimedia 11(2) 229-243, (2009). [5] Hauptmann, A., Rong, Yan, Lin, W.-H., Christel, M., Wactlar, H. - “Can High-Level Concepts Fill the Semantic Gap in Video Retrieval? A Case Study With Broadcast News”. IEEE Transactions on Multimedia 9(5), 958 – 966, (2007). [6] Inoue, M. - “On the need for annotation-based image retrieval”. In Proc. of the Workshop on Information Retrieval in Context pp. 44-46, (2004). [7] Akbas, E., and Vural, F. Y. - “Automatic Image Annotation by Ensemble of Visual Descriptors”. In Proc. of Conf. on Computer Vision (CVPR), Workshop on Semantic Learning Applications in Multimedia 1-8, (2007). [8] Zhang, D., Islam, M. M., Lu, G. - “A review on automatic image annotation techniques”. Pattern Recognition. 45(1) 346-362, (2011). [9] Fan, J., Gao, Y., Luo, H. - “Hierarchical classification for automatic image annotation”. In Proc. of the 30th annual International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 111-118, (2007). Pagina |202 Riferimenti Bibliografici [10] Muda, Z. - “Classification and Image Annotation for Bridging the Semantic Gap”. In: Summer School on Multimedia Semantics 2007, University of Glasgow, Glasgow, (2007). [11] Belongie, S., Malik, J., Puzicha, J. - “Shape matching and object recognition using shape contexts”. IEEE Trans. Pattern Anal. Mach. Intell., 24(4), 509-522, (2002). [12] Li, D., Simske, S. - “Shape retrieval based on distance ratio distribution”. HP Tech Report. HPL-2002-251, (2002). [13] Rui, Y., Huang, T., Chang, S. - “Image retrieval: current techniques, promising directions and open issues”. Journal of Visual Communication and Image Representation, 10(4), 39-62, (1999). [14] Veltkamp, R., Tanase, M. - “Content-based image retrieval systems: a survey”. Technical Report, (2001). [15] Niblack, W., Barber, R., Equitz, W., Flickner, M., Glasman, E., Petkovic, D., Yanker, P. - “The Qbic project: Querying images by content using color, texture, and shape”. In Proc. of SPIE Conference on Storage and Retrieval of Image and Video Databases, pp. 1-8, (1993). [16] Borras, A., Llados, J. - “Object Image Retrieval by Shape Content in Complex Scenes Using Geometric Constraints. Pattern Recognition and Image Analysis”. Springer Berlin/Heidelberg. 325-332, (2005). [17] Platt, J., Cristianini, N., Shawe-Taylor, J. - “Large margin DAGs for multiclass classification”. Advances in Neural Information Processing Systems. 12 547-553, (2000). [18] Wu, G., Chang, E., Li, C. - “SVM binary classifier ensembles for image classification”. In Proc. of ACM Conf. on Information and knowledge Management 395-402, (2001). Pagina |203 Riferimenti Bibliografici [19] Chen, Y., Wang, J.Z. - “A region-based fuzzy feature matching approach to contentbased image retrieval”. IEEE Transaction on Pattern Analysis and Machine Intelligence. 40(9), 1252-1267, (2002). [20] Chander, V., Tapaswi, S. - “Shape Based Automatic Annotation and Fuzzy Indexing of Video Sequences”. In Proc. of the 2010 IEEE/ACIS 9th International Conference on Computer and Information Science (ICIS '10), pp. 222-227, (2010). [21] Athanasiadis, T., Mylonas, P., Avrithis, Y., Kollias, S. - “Semantic Image segmentation and object labeling”. IEEE Transaction on Circuits and Systems for Video Technology. 17(3), 298-312, (2007). [22] Y. Mori, H. Takahashi, and R. Oka. - “Image-to-word transformation based on dividing and vector quantizing images with words”. In First International Workshop on Multimedia Intelligent Storage and Retrieval Management, 1999. [23] Pinar Duygulu, Kobus Barnard, Joo F. G. de Freitas, and David A. Forsyth. - “Object Recognition as Machine Translation: Learning a Lexicon for a Fixed Image Vocabulary”. In Proceedings of European Conference on Computer Vision (ECCV), pages 97–112, 2002. [24] Peter F. Brown, John Cocke, Stephen A. Della Pietra, Vincent J. Della Pietra, Fredrick Jelinek, John D. Lafferty, Robert L. Mercer, and Paul S. Roossin. - “A statistical approach to machine translation”. Computer Linguists, 16(2):79–85, 1990. [25] A. P. Dempster, N.M. Laird, and D. B. Rubin. - “Maximum likelihood from incomplete data via the em algorithm”. Journal of the Royal Statistical Society. Series B (Methodological), 39(1):1–38, 1977. [26] Lawrence R. Rabiner. - “A tutorial on hidden markov models and selected applications in speech recognition”. Proceedings of the IEEE, 77(2):257–286, 1989. Pagina |204 Riferimenti Bibliografici [27] Arnab Ghoshal, Pavel Ircing, and Sanjeev Khudanpur. - “Hidden markov models for automatic annotation and content-based retrieval of images and video”. In Proceedings of ACM SIGIR International Conference on Research and Development in Informaion Retrieval (SIGIR), pages 544–551, 2005. [28] Kobus Barnard and David A. Forsyth. - “Learning the semantics of words and pictures”. In Proceedings of IEEE International Conference on Computer Vision (ICCV), pages 408-415, 2001. [29] David M. Blei and Michael I. Jordan. - “Modeling annotated data”. In Proceedings of ACM SIGIR International Conference on Research and Development in Informaion Retrieval (SIGIR), pages 127–134, 2003. [30] Ruofei Zhang, Zhongfei (Mark) Zhang, Mingjing Li, Wei-Ying Ma, and Hong-Jiang Zhang. - “A probabilistic semantic model for image annotation and multi-modal image retrieval”. In Proceedings of IEEE International Conference on Computer Vision (ICCV), pages 846–851, 2005. [31] J. Jeon, V. Lavrenko, and R. Manmatha. - “Automatic image annotation and retrieval using cross-media relevance models”. In Proceedings of ACM SIGIR International Conference on Research and Development in Informaion Retrieval (SIGIR), pages 119– 126, 2003. [32] Richard O. Duda, Peter E. Hart, and David G. Stork. - “Pattern classification: Pattern classification”. John Wiley & Sons Inc, 2nd edition, 2001. [33] Victor Lavrenko, R. Manmatha, and Jiwoon Jeon. - “A model for learning the semantics of pictures”. In Proceedings of Advances in Neural Information Processing Systems (NIPS), 2004. [34] S. L. Feng et al. - “Multiple bernoulli relevance models for image and video annotation”. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 1242–1245, 2004. Pagina |205 Riferimenti Bibliografici [35] Rong Jin, Joyce Y. Chai, and Luo Si. - “Effective automatic image annotation via a coherent language model and active learning”. In Proceedings of ACM International Conference on Multimedia (ACM MULTIMEDIA), pages 892–899, 2004. [36] Jia-Yu Pan, Hyung-Jeong Yang, Christos Faloutsos, and Pinar Duygulu. - “GCap: Graphbased automatic image captioning”. In Proceedings of IEEE International Conference on Computer Vision and Pattern Recognition Workshop, pages 146–149, 2004. [37] Hanghang Tong, Christos Faloutsos, and Jia-Yu Pan. - “Fast random walk with restart and its applications”. In Proceedings of the International Conference on Data Mining, pages 613–622, 2006. [38] Jing Liu, Mingjing Li, Wei-Ying Ma, Qingshan Liu, and Hanqing Lu. - “An adaptive graph model for automatic image annotation”. In Proceedings of the ACM SIGMM International Workshop on Multimedia Information Retrieval (MIR), pages 873–877, 2006. [39] Dengyong Zhou, Jason Weston, Arthur Gretton, Olivier Bousquet, and Bernhard Scholkopf. - “Ranking on data manifolds”. In Proceedings of Advances in Neural Information Processing Systems (NIPS), 2004. [40] F.T. Ulaby, F. Kouyate, B. Brisco, and T.H.L. Williams. - “Textural information in sar images”. Geoscience and Remote Sensing, IEEE Transactions on, GE-24(2):235–245, 1986. [41] C.-C. Chen, J.S. DaPonte, and M.D. Fox. - “Fractal feature analysis and classification in medical imaging”. Medical Imaging, IEEE Transactions on, 8(2):133–142, 1986. [42] R.L. Kettig and D.A. Landgrebe. - “Classification of multispectral image data by extraction and classification of homogeneous objects”. Geoscience Electronics, IEEE Transactions on, 14(1):19–26, 1976. Pagina |206 Riferimenti Bibliografici [43] M.M. Gorkani and R.W. Picard. - “Texture orientation for sorting photos at a glance”. In Proceedings of IEEE International Conference in Pattern Recognition, pages 459– 464, 1994. [44] P. Lipson, E. Grimson, and P. Sinha. - “Configuration based scene classification and image indexing”. In Proceedings of the 1997 Conference on Computer Vision and Pattern Recognition, pages 1007–1010, 1997. [45] A. Lakshmi Ratan and W. E. L. Grimson. - “Training templates for scene classification using a few examples”. In Proceedings of the 1997 Workshop on Content-Based Access of Image and Video Libraries, pages 90–94, 1997. [46] Jing Huang, S. Ravi Kumar, and Ramin Zabih. - “An automatic hierarchical image classification scheme”. In Proceedings of ACM International Conference on Multimedia (ACM MULTIMEDIA), pages 219–228, 1998. [47] Jing Huang, S. Ravi Kumar, Mandar Mitra, Wei-Jing Zhu, and Ramin Zabih. - “Image indexing using color correlograms”. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 762–765, 1997. [48] Aditya Vailaya, Anil. Jain, and Hong-Jiang Zhang. - “On image classification: city images vs. landscapes”. Pattern Recognition, 31(12):1921–1935, 1998. [49] Nello Cristianini and John Shawe-Taylor. - “An Introduction to Support Vector Machines and Other Kernel-based Learning Methods”. Cambridge University Press, March 2000. [50] O. Chapelle, P. Haffner, and V. Vapnik. - “Support vector machines for histogrambased image classification”. Neural Networks, IEEE Transactions on, 10(5):1055–1064, 1999. [51] Cheong Yiu Fung and Kai Fock Loe. - “Learning primitive and scene semantics of images for classification and retrieval”. In Proceedings of ACM International Conference on Multimedia (ACM MULTIMEDIA), pages 9–12, 1999. Pagina |207 Riferimenti Bibliografici [52] A. Vailaya, M. Figueiredo, A. Jain, and H. Zhang. - “Image classification for contentbased indexing”. Image Processing, IEEE Transactions on, 10(1):117–130, 2001. [53] R. Gray. - “Vector quantization”. IEEE Signal Processing Magazine, 1(2):4–29, 1986. [54] Edward Y. Chang, Kingshy Goh, Gerard Sychay, and Gang Wu. - “CBSA: contentbased soft annotation for multimodal image retrieval using bayes point machines”. Circuits Systems and Video Technology (CSVT), IEEE Transactions on, 13(1):26–38, 2003. [55] Ralf Herbrich, Thore Graepel, and Colin Campbell. - “Bayes point machines”. Journal of Machine Learning Research (JMLR), 1:245–279, 2001. [56] James Z. Wang and Jia Li. – “Learning-based linguistic indexing of pictures with 2-D MHMMs”. In Proceedings of ACM International Conference on Multimedia (ACM MULTIMEDIA), pages 436–445, 2002. [57] Lawrence R. Rabiner. - “A tutorial on hidden markov models and selected applications in speech recognition”. Proceedings of the IEEE, 77(2):257–286, 1989. [58] G. Csurka, C. Bray, C. Dance, and L. Fan. - “Visual categorization with bags of keypoints”. In Workshop on Statistical Learning in Computer Vision, European Conference on Computer Vision, pages 1–22, 2004. [59] Gustavo Carneiro and Nuno Vasconcelos. - “Formulating semantic image annotation as a supervised learning problem”. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 163–168, 2005. [60] Raphael Maree, Pierre Geurts, Justus Piater, and Louis Wehenkel. – “Random subwindows for robust image classification”. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 34–40, 2005. Pagina |208 Riferimenti Bibliografici [61] Ritendra Datta, Weina Ge, Jia Li, and James Z. Wang. – “Toward bridging the annotation retrieval gap in image search by a generative modeling approach”. In Proceedings of ACM International Conference on Multimedia (ACM MULTIMEDIA), pages 977–986, 2006. [62] Jia Li and James Z.Wang. – “Real-time computerized annotation of pictures”. In Proceedings of ACM International Conference on Multimedia (ACM MULTIMEDIA), pages 911–920, 2006. [63] Aude Oliva and Antonio Torralba. - “Modeling the shape of the scene: A holistic representation of the spatial envelope”. International Journal of Computer Vision (IJCV), 42(3):145–175, 2001. [64] Julia Vogel and Bernt Schiele. - “Semantic modeling of natural scenes for contentbased image retrieval”. International Journal of Computer Vision (IJCV), 72(2):133– 157, 2007. [65] L. Fei-Fei and P. Perona. - “A bayesian hierarchical model for learning natural scene categories”. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 523–525, 2005. [66] A. Bosch, A. Zisserman, and X. Munoz. - “Scene Classification via pLSA”. In Proceedings of European Conference on Computer Vision (ECCV), pages 1134–1137, 2006. [67] T. Hofmann. - “Unsupervised learning by probabilistic latent semantic analysis”. In Proceedings of Uncertainty in Artificial Intelligence, pages 624–627, 1999. [68] S. Lazebnik, C. Schmid, and J. Ponce. – “Beyond bags of features: Spatial pyramid matching for recognizing natural scene categories”. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 988–991, 2006. Pagina |209 Riferimenti Bibliografici [69] Thomas G. Dietterich, Richard H. Lathrop, and Tomas Lozano-Perez. – “Solving the multiple instance problem with axis-parallel rectangles”. Artificial Intelligence, 89(12):31–71, 1997. [70] Oded Maron and Aparna Lakshmi Ratan. – “Multiple-instance learning for natural scene classification”. In Proceedings of IEEE International Conference on Machine Learning (ICML), pages 341–349, 1998. [71] C. Yang and T. Lozano-Perez. - “Image database retrieval with multiple-instance learning techniques”. In Proceedings of IEEE Intternational Conference on Data Engineering, pages 233–243, 2000. [72] S. Andrews, I. Tsochantaridis, and T. Hofmann. - “Support vector machines for multiple instance learning”. In Proceedings of Advances in Neural Information Processing Systems (NIPS), pages 561–568, 2003. [73] Changbo Yang, Ming Dong, and Jing Hua. - “Region-based image annotation using asymmetrical upport vector machine-based multiple-instance learning”. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 1057–1063, 2006. [74] Yixin Chen and James Z. Wang. – “Image categorization by learning and reasoning with regions”. Journal of Machine Learning Research (JMLR), 5:913–939, 2004. [75] Jianping Fan, Yuli Gao, and Hangzai Luo. - “Multi-level annotation of natural scenes using dominant image components and semantic concepts”. In Proceedings of ACM International Conference on Multimedia (ACM MULTIMEDIA), pages 540–547, 2004. [76] Jianping Fan, Yuli Gao, Hangzai Luo, and Guangyou Xu. - “Automatic image annotation by using concept-sensitive salient objects for image content representation”. In Proceedings of ACM SIGIR International Conference on Research and Development in Informaion Retrieval (SIGIR), pages 361–368, 2004. Pagina |210 Riferimenti Bibliografici [77] Yuli Gao and Jianping Fan. - “Incorporating concept ontology to enable probabilistic concept reasoning for multi-level image annotation”. In Proceedings of the ACM SIGMM International Workshop on Multimedia Information Retrieval (MIR), pages 79–88, 2006. [78] Yuli Gao, Jianping Fan, Xiangyang Xue, and Ramesh Jain. - “Automatic image annotation by incorporating feature hierarchy and boosting to scale up svm classifiers”. In Proceedings of ACM International Conference on Multimedia (ACM MULTIMEDIA), pages 901–910, 2006. [79] B. C. Russell, A. Torralba, K. P. Murphy, and W. T. Freeman. - “LabelMe: a database and web-based tool for image annotation”. Technical report, Massachusetts Institute of Technology, 2005. MIT AI Lab Memo AIM-2005-025. [80] George A. Miller. - “WordNet: a lexical database for English”. In Proceedings of the Workshop on Speech and Natural Language, pages 483–483, 1992. [81] Liang, X., Zhuang, Q., Cao, N., Zhang, J. - “Shape modeling and clustering of white matter fiber tracts using Fourier descriptors”. In Proc. of the 6th Annual IEEE conference on Computational Intelligence in Bioinformatics and Computational Biology, pp. 292-297 (2009). [82] Kontschieder, P., Donoser, M., Bischof, H. – “Beyond pairwise shape similarity analysis”. In Proc. of Asian Conference on Computer Vision (ACCV), pp.655-666 (2009). [83] Rajpoot, N.M., Arif, M. - “Unsupervised shape clustering using diffusion maps”. The Annals of the BMVA. (5) 1-17 (2008). [84] Klassen, E., Srivastava, A., Mio, W., Joshi, S. H. – “analysis of planar shapes using geodesic paths on shape spaces”. IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(3) 372-383 (2004). Pagina |211 Riferimenti Bibliografici [85] J. M. Torres, A. P. Parkes – “Intelligent Multimodal Interface for Visual Information Retrieval ”. [86] Elisa Rondini – “Tecniche semi-automatiche per l’annotazione semantica di dati multimediali”. [87] Bartolini, I., Ciaccia, P., Patella, M. WAarp - “Accurate retrieval of shapes using phase of Fourier descriptors and Time warping distance”. IEEE Trans. on Pattern Analysis and machine Intelligence, 27(1), 142-147, (2005). [88] Rafiei, D., Mendelzon, A.O. - “Efficient Retrieval of Similar Shapes”. The Very Large Data Bases Journal. 11(1), 17-27, (2002). [89] Zhang, D. and Lu, G. - “A Comparative Study of Fourier Descriptors for Shape Representation and Retrieval”. In Proc. Fifth Asian Conf. Computer Vision 646-651, (2002). [90] Castellano, G., Fanelli, A. M., Torsello, M. A. - “Fuzzy image labeling by partially supervised shape clustering”. In Proc. of the 15th international conference on Knowledge-based and intelligent information and engineering systems, pp. 84-93, (2011). [91] Pedrycz, W., Amato, A., Di Lecce, V., Piuri, V. - “Fuzzy Clustering with partial supervision in organization and classification of digital images”. IEEE Transactions on Fuzzy Systems 16(4), 1008-1025, (2008). [92] G. Qian, S. Sural, Y. Gu, and S. Pramanik. 2004 – “Similarity between Euclidean and cosine angle distance for nearest neighbor queries”. In Proceedings of the 2004 ACM symposium on Applied computing (SAC '04), pp. 1232-1237. ACM, New York, NY, USA. [93] C. Shahabi, and M. Safar. – “An experimental study of alternative shape-based image retrieval techniques”. Multimedia Tools and Applications, 32(1):29-48, 2007. Pagina |212 Riferimenti Bibliografici [94] N. Xing and I.S. Ahmad. – “Fuzzy Clustering Paradigm and the Shape-Based Image Retrieval”. In Proc. of the 21st International FLAIRS Conference, pp. 121-122, 2008. Pagina |213