SlideShare a Scribd company logo
1 of 105
Download to read offline
UNIVERSITA' DEGLI STUDI DI BARI
ALDO MORO
FACOLTA' DI SCIENZE MATEMATICHE, FISICHE E NATURALI
CORSO DI LAUREA IN
INFORMATICA
TESI DI LAUREA
IN
INGEGNERIA DELLA CONOSCENZA E SISTEMI ESPERTI
CLASSIFICAZIONE DI IMMAGINI
MEDIANTE
UN SISTEMA ESPERTO
RELATORI:
Chiar.ma Prof.ssa Floriana Esposito
Dott. Claudio Taranto
LAUREANDO:
Domenico Caputi
ANNO ACCADEMICO 2010/2011
I computer sono incredibilmente
veloci, accurati e stupidi.
Gli uomini sono incredibilmente
lenti, inaccurati e intelligenti.
L'insieme dei due costituisce
una forza incalcolabile.
-Albert Einstein-
Ai miei genitori.
Indice
1 Classicazione di immagini 1
1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Analisi del problema . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Archittetura dei CBIR . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Obiettivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Bibliograa capitolo 1 14
2 Stato dell'arte 16
2.1 Classicazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.1 Classicazione Supervisionata . . . . . . . . . . . . . . 18
2.1.2 Classicazione Non Supervisionata . . . . . . . . . . . 19
2.1.3 Classicazione Semi Supervisionata . . . . . . . . . . . 19
2.1.4 Classicazione Per Rinforzo . . . . . . . . . . . . . . . 20
2.2 Alberi di Decisione . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1 ID3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.2 C4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.3 C5.0/See5C5.0/See5 . . . . . . . . . . . . . . . . . . . 24
2.2.4 CART . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.5 Estrazione Regole . . . . . . . . . . . . . . . . . . . . . 26
2.2.6 Applicazioni alle immagini . . . . . . . . . . . . . . . . 26
2.3 Random Forests . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.1 Applicazioni alle immagini . . . . . . . . . . . . . . . . 30
2.4 Estrazione delle Features . . . . . . . . . . . . . . . . . . . . . 35
2.4.1 SIFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
I
INDICE
2.4.2 SURF . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4.3 HSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.4 Correlogramma . . . . . . . . . . . . . . . . . . . . . . 38
2.5 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Bibliograa capitolo 2 42
3 Soluzione proposta: CISE 45
3.1 Soluzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2 Archittetura CISE . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2.1 Estrattore di Features . . . . . . . . . . . . . . . . . . 46
3.2.2 Albero di Decisione . . . . . . . . . . . . . . . . . . . . 47
3.2.3 Sistema Esperto . . . . . . . . . . . . . . . . . . . . . . 48
3.2.4 Funzionamento del Sistema . . . . . . . . . . . . . . . 48
Bibliograa capitolo 3 58
4 Progetto CISE di dettaglio 59
4.1 Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2 Archittetura Dettagliata . . . . . . . . . . . . . . . . . . . . . 61
4.2.1 Modulo estrattore di features . . . . . . . . . . . . . . 62
4.2.2 Modulo Albero di Decisione . . . . . . . . . . . . . . . 65
4.2.3 Modulo Sistema Esperto . . . . . . . . . . . . . . . . . 67
4.2.4 Modulo Interfaccia Graca . . . . . . . . . . . . . . . . 69
Bibliograa capitolo 4 72
5 Valutazione del sistema CISE 73
5.1 Metriche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2 Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.1 Caltech-256 . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2.2 SUNET . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.3 Progettazione della Sperimentazione . . . . . . . . . . . . . . . 76
5.3.1 Accuratezza . . . . . . . . . . . . . . . . . . . . . . . . 76
5.3.2 Prestazioni . . . . . . . . . . . . . . . . . . . . . . . . 77
II
INDICE
5.4 Risultati Sperimentali . . . . . . . . . . . . . . . . . . . . . . 78
5.5 Conclusioni e sviluppi futuri . . . . . . . . . . . . . . . . . . . 86
Bibliograa capitolo 5 88
Bibliograa generale 90
III
Elenco delle gure
1.1 CBIR: architettura di un Content-Based Image Retrieval. Tale
archittetura si articola in due fasi principali la prima di pre-
processing e la seconda di interrograzione. Il pre-processing
elabora le immagini per estrarre le features ed inserirle in
un data base, mentre l'interrogazione mediante un'interfaccia
graca interroga il data base tramite esempi visivi. . . . . . . . 12
2.1 Classicazione supervisionata: schema generale di apprendi-
mento supervisionato. . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Esempio di albero di decisione e di selezione di un percorso
(in rosso) dalla radice ad una foglia per l'estrazione di regole
di classicazione. . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3 Algoritmo SIFT: l'immagine viene elaborata in modo da rile-
vare i punti chiave nella prima immagine, i punti rimantenti
a basso contrasto nella seconda ed inne ltra i punti che si
trovano sul bordo. Nell'ultima immagine si mostrano i punti
chiave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.4 Algoritmo SURF: esempio d'immagine (grato) elaborato con
l'algoritmo SURF . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5 Le immagini rappresentate nel modello HSV consistono in
tre immagini componenti, una per ogni caratteristica: hue,
saturation, value. . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.6 Cambiamento di colore illustrato da una sequenza di frame. Il
Correlogramma cattura la dispersione di colore. . . . . . . . . 40
IV
ELENCO DELLE FIGURE
3.1 E' possibile notare i tre componenti: l'estrattore di features, il
generatore dell'albero di decisione e il sistema esperto. . . . . 46
3.2 FullNeighbourhood: metodo per la selezione dell'intero vicina-
to del pixel selezionato. . . . . . . . . . . . . . . . . . . . . . 47
3.3 Quarterneighbourhood: metodo per la selezione di un quarto
del vicinato del pixel selezionato. . . . . . . . . . . . . . . . . 47
3.4 Superfast: metodo per la selezione del vicinato orizzontale e
verticale in positivo. . . . . . . . . . . . . . . . . . . . . . . . 47
3.5 Avvio: permette all'utente di scegliere se utilizzare una base di
conoscenza predenita o se estrarra da un nuovo dataset. . . . 49
3.6 Nuova nestra per l'inserimento di una nuova base di conoscen-
za. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.7 Sezione per la scelta di features e del dataset facente parte
della nestra di generazione della nuova base di conoscenza. . 50
3.8 Inserimento del numero di immagini per classe da selezionare
dalla path, in cui si trova il dataset di immagini. . . . . . . . . 51
3.9 Nuova nestra per l'inserimento della path, in cui si trova il
dataset di immagini. . . . . . . . . . . . . . . . . . . . . . . . 51
3.10 Selezione del tipo di vicinato per l'estrattore Autocorrelogram-
ma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.11 All'avvio della generazione dell'albero si ha la possibilità di
poter avviare o meno la 10-fold cross validation implementato
da WEKA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.12 Terminali presenti nella fase di acquisizione della base di conoscen-
za. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.13 Visualizzazione della legenda degli attributi presenti nelle re-
gole generate. . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.14 Scelta della base di conoscenza: permette di scegliere quale
tipo di features e la quantità di classi (massimo 4) sarà costi-
tuito il dataset. . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.15 Test: l'utente può interrogare la base di conoscenza tramite
l'interfaccia. . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
V
ELENCO DELLE FIGURE
4.1 Features Extraction: schema del modulo mediante il quale si
gestiscono l'estrazione delle features. . . . . . . . . . . . . . . 62
4.2 Il diagramma della classe di correlogramma. . . . . . . . . . . 63
4.3 Il diagramma della classe di FeatureExtraction. . . . . . . . . 64
4.4 Visualizzazione dei package che compongono il modulo albero
di decisione. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.5 Diagramma della classe di Classicator.dbAr . . . . . . . . 66
4.6 J48: elenco dei metodi presenti nella classe ClassierJ48 . . . 66
4.7 Clips: elenco dei metodi e della sottoclasse (LSH ) presenti
nella classe Clips . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.8 Package prensenti nel modulo interfaccia graca . . . . . . . 69
4.9 Thread: schema delle classi . . . . . . . . . . . . . . . . . . . . 69
4.10 Interface: schema delle classi Interface. . . . . . . . . . . . . . 70
4.11 Schema dei metodi presenti nella classe foldCrossValidation. 71
4.12 Schema delle classi presenti nel package legenda. . . . . . . 71
VI
Elenco delle tabelle
5.1 Algoritmi SIFT, SURF e HSV; utilizzando il DataSet01: Golden-
gate-bridge e Sunowers. Accuracy [%]. . . . . . . . . . . . . . 78
5.2 (Algoritmo Correlogramma) calcolo dell'accuracy [%] con i
relativi range e distance sulle 2 Classi del Datase01. . . . . . 78
5.3 Accuracy [%] con l'algoritmo Autocorrelogramma su 2 Classi
del Datase01. . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.4 Algoritmi SIFT, SURF, HSV, Corellogramma (range: 15, dis-
tance: 15) e Autocorrelogramma (tramite il SuperFast); uti-
lizzando il DataSet04: Airplanes e Faces-easy, mediante l'uso
di 300 immagini per classe. Accuracy [%]. . . . . . . . . . . . . 79
5.5 Tabella riassuntiva, nella colonna dei Correlogramma e degli
Autocorrelogramma sono visualizzati i risultati migliori. . . . 79
5.6 (Algoritmo Correlogramma) calcolo dell'accuracy [%] con i
relativi range e distance su 4 Classi del DataSet02. . . . . . . 80
5.7 Accuracy [%] con l'algoritmo Autocorrelogramma sulle 4 Classi
del DataSet02. Settando il valore di Max Distance a 64. . . . 80
5.8 Prima porzione della tabella Tabella 3 relativa al dataset Caltech-
256 dell'articolo [2]. . . . . . . . . . . . . . . . . . . . . . . . . 81
5.9 Seconda porzione della tabella Tabella 3 relativa al dataset
Caltech-256 dell'articolo [2]. . . . . . . . . . . . . . . . . . . . 81
5.10 Test sull'algoritmo Correlogramma, utilizzando sempre le rispet-
tive classi adoperate precedentemente. . . . . . . . . . . . . . 83
5.11 Test sull'algoritmo Autocorrelogramma, utilizzando sempre le
rispettive classi adoperate precedentemente. . . . . . . . . . . 84
VII
ELENCO DELLE TABELLE
5.12 Tabella riassuntiva. . . . . . . . . . . . . . . . . . . . . . . . . 84
5.13 Accuracy [%] sul rispettivo dataset SUNET (DataSet03) e le
relative classi: Animal e Sport del metodo [25]. . . . . . . . . 85
5.14 Accuracy [%] del dataset SUNET (DataSet03) e le relative
classi: Animal e Sport del metodo Autocorrelogramma. . . . . 85
5.15 (Algoritmo Correlogramma) calcolo dell'accuracy [%] con i
relativi range e distance sulle 2 classi del dataset SUNET
(DataSet03). . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.16 Tabella riassuntiva. . . . . . . . . . . . . . . . . . . . . . . . . 85
5.17 Average Time - 10-fcvW (10-fold cross validation con l'ausilio
di Weka), fcvES (10-fold cross validation con il Sistema Es-
perto eettuato sul Dataset02). . . . . . . . . . . . . . . . . . 86
VIII
Capitolo 1
Classicazione di immagini
L'uso delle immagini quali strumenti di comunicazione è tanto antico quan-
to la storia dell'uomo; molto tempo prima dell'introduzione della scrittura
sono, infatti, le immagini ad imprimere e tramandare i momenti più signi-
cativi dell'umanità. Nel corso dei secoli il mondo dell'arte gurativa si è
quindi sviluppato di pari passo con l'evoluzione dell'uomo e della tecnolo-
gia assumendo un ruolo di primaria importanza nella civiltà moderna. Con
l'avvento di calcolatori prima e d'Internet poi, si è attuato un aumento espo-
nenziale di diusione delle immagini con la necessità di doverle archiviare e
classicare (ad esempio Google Image, Yahoo etc).
1.1 Introduzione
Grazie al rapido e inarrestabile progresso tecnologico che ha portato in pochi
anni ad un'evoluzione nel campo dell'acquisizione, della memorizzazione e
della trasmissione di immagini, è cambiato il mondo di rapportarsi con esse
da parte di società e singoli individui. Immersi in un mare di immagini,
il problema primario è riuscire ad accedere a quelle di nostro interesse e,
soprattutto, riuscire a farlo sia in modo eciente in termini di tempo, che in
modo ecace in termini di risultati.
I sistemi che sono in grado di recuperare immagini in modo eciente si
possono suddividere in due tipologie di sistemi di ricerca:
1
1.1. INTRODUZIONE
• sistemi di ricerca tramite i metadati (informazione che descrive un
insieme di dati);
• sistemi di ricerca basati sul contenuto visivo (corrispondenti al colore,
alla tessitura e alla forma delle immagini analizzate).
Nei primi sistemi le immagini stesse, che fanno parte di un database, sono
annotate con un contenuto semantico ovvero da delle etichette di termini che
ne possano denotare il loro contenuto. Di conseguenza l'annotazione d'im-
magini è il processo con cui si assegna ad un'immagine un'etichetta, una
descrizione testuale o signicante, allo scopo di poterla in seguito recuper-
are tramite strumenti di information retrieval. Con questo termine, infatti,
si indica l'insieme delle tecniche utilizzate per il recupero mirato dell'infor-
mazione in formato elettronico che proiettato in un sistema informatico per
la navigazione, la ricerca e il recupero di immagini da un grande database di
immagini digitali prende il nome di image retrieval.
L'approccio tradizionale basato sulla prima tipologia di ricerca e sviluppa-
to a partire dagli anni '70, prevedeva una descrizione delle immagini fondata
sull'annotazione manuale di stringhe di attributi (ad esempio l'autore, l'anno,
il titolo di una fotograa e una sua descrizione: i metadati) ed in questo modo
ci si rifaceva al caso degli algoritmi di ricerca basati sui metadati. Il primo mi-
crocomputer basato su tali sistemi è stato svilupato negli anni '80 dal MIT
1
da Banireddy Prasaad, Amar Gupta, Hoo-min Toong e Stuart Madnik. Tale
metodo è entrato in crisi negli anni '90 essendo in pratica inutilizzabile per la
gestione di dataset costituiti da milioni di oggetti: oltre a richiedere un carico
di lavoro inaccettabile nella fase di popolazione del database, si fornisce una
descrizione delle immagini troppo soggettiva (tipicamente individui diversi
potrebbero ad esempio scegliere attributi diversi) e troppo spesso imprecisa
a causa delle dicoltà nel dare una descrizione.
Mentre con la seconda tipologia di ricerca, basata sul contenuto visi-
vo, si introducono diverse soluzioni che permettono, in maniera ecace, di
reperire immagini dotate di determinate caratteristiche di basso livello (low
1Massachusetts Institute of Technology, università privata è ubicata nella città di
Cambridge (USA).
2
1.1. INTRODUZIONE
level features) quali il colore e la tessitura. Un aspetto critico concernente
tali sistemi di recupero delle immagini basati sul contenuto visivo (detti an-
che content-based image retrieval, CBIR) si individua nella scelta di tecniche
ecienti all'estrazione di conoscenza da un gran numero di dati, i quali sono
complessi da rappresentare e trattare.
Vi è un crescente interesse verso questi sistemi di recupero delle immagi-
ni basati sul contenuto visivo, dovuto sia alla limitazione dei metodi fondati
sui metadati aggiunti manualmente sia al gran numero di possibili impieghi,
come la classicazione, l'organizzazione e l'indicizzazione di enormi archivi
web. La necessità di studiare e sviluppare sistemi in grado di annotare au-
tomaticamente le immagini sulla base del contenuto visivo si riassume nelle
seguenti motivazioni:
• la crescente quantità d'immagini digitali;
• la possibilità di avere come risorsa il World Wide Web;
• le limitazioni dei data base e dei motori di ricerca attuali fondati
sul contenuto lessicale, sia in termini di costo di tempo e denaro, sia
d'incoerenza dovuta alla soggettività dell'intervento umano.
I grandi progressi nel campo dell'hardware, della tecnologia dei database,
della graca e delle applicazioni open-source durante gli ultimi decenni ren-
dono possibile la nascita di sistemi potenzialmente in grado di trattare gran-
di quantità d'informazioni complesse e multidimensionali presenti in svariate
forme e tipologie a seconda del campo in cui vengono utilizzate: il range di
applicazione è al giorno d'oggi molto vasto ed in continua espansione.
Da queste considerazioni di base nasce e si sviluppa il presente lavoro di
tesi che si pone come obiettivo quello di proporre una nuova tecnica per ge-
stire in modo automatico la classicazione d'immagini mediante l'inclusione
di un sistema esperto. Un sistema esperto è un programma che cerca di ripro-
durre le prestazioni di una o più persone esperte in un determinato campo
di attività, è un'applicazione o una branca dell'intelligenza articiale. Con
intelligenza articiale (AI ) si intende generalmente l'abilità di un calcolatore
di svolgere funzioni e ragionamenti che espongono un comportamento tipo
3
1.2. ANALISI DEL PROBLEMA
della mente umana, in ambito informatico essa comprende la teoria e le tec-
niche per lo sviluppo che consentono alle macchine (tipicamente i calcolatori)
di mostrare un'abilità o un'attività intelligente in domini specici.
1.2 Analisi del problema
Molti sono i sistemi fondati sui metadati adoperati attualmente, difatti la
ricerca d'immagini in rete opera esclusivamente a partire da enunciati verbali.
Si possono menzionare due dierenti tipologie di esempi concernenti quanto
detto:
1. Motori di ricerca, tramite l'inserimento di una determinata parola o
frase che si ritiene possa accompagnare l'immagine in una data pagina
web (ad esempio Google);
2. Archivi d'immagini (di musei, collezioni, archivi fotograci), attraver-
so l'immissione in campi di ricerca testuali, più o meno elaborati (au-
tore, titolo, data, soggetto, ecc.), di una delle parole chiave con cui
potrebbe essere stata schedata (da un addetto all'archivio) l'immagine.
Non è prevista alcuna ricerca d'immagini a partire dalle loro proprietà
formali (salvo la possibilità in alcuni motori di ricerca di applicare un
ltro in grado di selezionare tra immagini a colori, in bianco e nero, in
scala di grigi o in tinta unita oppure di discriminare automaticamente
tra fotograe e dipinti).
In entrambi i casi, comunque, è sempre necessario l'intervento manuale
per assegnare il contenuto rappresentato nell'immagini. Un esempio di sis-
tema di annotazione manuale (non automatizzato) centrato sulla descrizione
del contenuto dell'oggetto (il soggetto rappresentato nell'immagine, appunto)
è Iconclass
2
il quale viene utilizzato dall'Istituto Centrale per il Catalogo e la
Documentazione italiano (ICCD
3
) del Ministero per i Beni e le Attività Cul-
turali. Tale sistema di classicazione gerarchico è pensato come strumento
2http://www.iconclass.nl, un software proprietario ideato all'interno dell'Università di
Utrecht e sviluppato oggi dall'olandese Edita Knaw.
3Istituto Centrale per il Catalogo e la Documentazione,
http://www.iccd.beniculturali.it.
4
1.2. ANALISI DEL PROBLEMA
per aiutare l'iconografo nella soggettazione di immagini (quadri, fotograe,
manoscritti etc.) dotandolo di un vasto corpus di denizioni già pronte (rel-
ative ad oggetti, persone, eventi ragurati etc.). Utilizziando questo sistema
si può ipotizzare la dicoltà in cui incorre un iconografo sia nell'associare
ad una ragurazione di un certo episodio biblico determinati codici sintetici,
indipendenti dall'idioma dell'utente e corrispondenti a parole chiave o a temi
complessi della storia dell'arte che consentirebbero di descriverlo il più pre-
cisamente possibile sia durante il processo di catalogazione data l'imponente
mole di descrittori e il loro altissimo livello di dettaglio. I tempi necessari per
l'annotazione manuale sono lunghi, possono diventare proibitivi dal punto
di vista dei costi e scoraggiare in ultima analisi descrizioni non superciali
(quanti codici potete immaginare come necessari per descrivere un singolo
quadro?). Ambiziosi progetti appartenenti a questo tipo di catalogazione con
un vasto corpus d'immagini hanno dovuto recedere dall'obiettivo d'indiciz-
zare in profondità le immagini stesse proprio per tali cause. Le limitazioni
dovute a questi metodi, fondati sui metadati aggiunti manualmente, le de-
scrive metaforicamente il prof. Lev Manovich
4
come la battaglia tra le im-
magini e i loro creatori, ossia gli esseri umani. Questi vogliono controllare le
immagini, la loro semantica, automatizzando questo controllo via computer;
le immagini, per così dire, cercano di resistere a questi tentativi (si pensi per
esempio a tutte quelle campagne pubblicitarie nate per veicolare un preciso
messaggio e che, trasportate in dierenti contesti culturali, hanno provocato
fraintendimenti, scandali, etc.).
Se i metodi di intelligenza articiale hanno raggiunto una ranatezza
tale da rendere sucientemente semplice ed eciente l'estrazione automati-
ca di metadati da un brano di testo, come per i motori di ricerca, è ancora
lontana la realizzazione di un computer in grado di riconoscere il soggetto
rappresentato in un quadro e annotare automaticamente un'immagine digi-
tale con parole chiave come David, Betsabea, Bibbia; ma è anche dicile
che possa integrare l'immagine con keywords relative alle proprietà formali.
4Lev Manovich, professore associato al dipartimento di Arti Visuali all'University of
California, San Diego ed autore de The Language of New Media. Si occupa di animazione,
design e programmazione.
5
1.2. ANALISI DEL PROBLEMA
Tuttavia molti sforzi convergono proprio verso questa direzione, ossia nella
realizzazione di sistemi (ancora in gran parte allo stato sperimentale) chia-
mati CBIR[1], acronimo di content-based image retrieval (recupero d'im-
magini basato sul contenuto), nati per permettere la ricerca d'immagini non
attraverso parole chiave a essa collegate (i metadati), ma mediante le propri-
età dell'immagine stessa. Queste proprietà (features) dette di basso livello
riguardano informazioni cromatiche, testurali e di disposizione delle forme
(region-based).
Tali proprietà (features) usate per la caratterizzazione delle immagini
sono per lo più percettive. In particolare, quelle più utilizzate come features
dai sistemi di ricerca di immagini basati sul contenuto sono il colore e la tes-
situra. La scelta delle caratteristiche da estrarre da un'immagine è sempre il
risultato di un compromesso tra ecacia del risultato ed ecienza in termi-
ni di spazio su disco e di tempo necessario per l'elaborazione. Combinando,
infatti, tra loro le caratteristiche principali si possono sia denire proprietà
più complesse, ad esempio utilizzando le relazioni spaziali fra gli oggetti e
attribuendo un signicato semantico ad alcune loro particolari combinazioni,
sia aumentare anche le informazioni da recuperare e memorizzare in fase di
analisi dell'immagine (pre-processing).
Qualora le immagini in esame abbiano una struttura complessa e non
omogenea, considerare l'immagine come un unico oggetto atomico non porta
a risultati soddisfacenti. Ad esempio se due immagini ragurano lo stesso
oggetto ma su sfondi diversi, le caratteristiche globali estratte probabilmente
saranno molto dierenti quando, invece, la semantica dell'immagine potrebbe
essere sostanzialmente la stessa. Per superare questi limiti, in alcuni sistemi
di CBIR, è stato introdotto l'approccio region-based. I sistemi che implemen-
tano tale approccio suddividono l'immagine in regioni omogenee in base alle
features utilizzate e descrivono poi ciascuna regione mediante features locali
quali il colore, la tessitura e la forma. Viene denita una misura di distanza
per valutare la similarità fra le regioni, si confrontano le regioni solo in un
secondo tempo sulla base dei risultati parziali e solo alla ne si confrontano
le immagini nella loro totalità [2] [3] [4] [5] [6] [7].
6
1.2. ANALISI DEL PROBLEMA
Di conseguenza l'annotazione e il retrieval possono essere formulati come
problemi di classicazione dove le classi identicano la semantica delle im-
magini. Le operazioni di classicazione delle immagini sono basate sull'anal-
isi del contenuto delle stesse, in particolare consistono nella rappresentazione
delle loro caratteristiche primitive costituite dal colore, dalla trama e dalle
forme geometriche elementari ivi presenti. L'estrazione di queste features
può avvenire mediante dierenti processi. L'impiego di elementi unicamente
graci porta ad una mancanza d'allineamento tra la percezione dell'utente
e quella del sistema: questa dierenza è nota come gap semantico [1]. Tra
le varie denizioni attribuite a questo concetto vi è quella secondo cui esso
denota la dierenza sussistente fra le caratteristiche di basso livello e la sim-
ilarità fra concetti di alto livello. In ogni caso esso denota la dierenza che
c'è fra ciò che il computer è in grado di comprendere da solo e ciò che l'uomo
è in grado di astrarre da caratteristiche di basso livello, ossia i concetti.
Non è semplice ridurre questo gap semantico, ma negli ultimi anni la
ricerca si è preoccupata molto a riguardo. Da tali sforzi è emersa l'impor-
tanza d'integrare tecniche di apprendimento automatico non supervisionato
e supervisionato o ibride tramite cui avverrà l'assegnazione di un'immagine
ad una determinata classe, allo scopo di colmare questo gap semantico.
Un altro aspetto importante di questi sistemi è la formulazione della query
(richiesta) di un utente. A seconda del campo di utilizzo e delle esigenze del-
l'utente può cambiare sostanzialmente l'approccio. Vi sono diversi mondi
in cui la query può essere formulata. La richiesta dell'utente può avvenire
presentando un'immagine particolare e volerla ritrovare in un database (ad
esempio trovare a chi appartiene una certa impronta digitale); oppure può es-
sere presentato un disegno, un identikit, o una gura stilizzata e si può voler
trovare immagini simili. Ma non sempre si hanno a disposizione immagi-
ni e può quindi essere necessario utilizzare parole, usate come annotazioni,
etichette, keyword, o articolate in frasi per esprimere un'idea. E queste idee
possono essere concrete, ma anche astratte. Si possono voler cercare immag-
ini facilmente classicabili, di singoli o come combinazione di più soggetti.
Ben più complicato risulta invece essere la ricerca di immagini che esprimano
sensazioni astratte quali bambini gioiosi, persona triste, folle urlanti,etc.
7
1.2. ANALISI DEL PROBLEMA
Diversi, sono gli aspetti che la ricerca in questo settore deve arontare e
questo viene fatto anchè un sistema di recupero di immagini possa risultare
molto più familiare per l'utente che, in genere, durante la propria attività di
ricerca è molto più abituato a pensare alle immagini a livello di signicati
semantici ad esse associati, piuttosto che a caratteristiche tecniche associate
alle stesse quali colore, tessitura, forma etc.
In [1] si individuano tre livelli di query in un sistema di CBIR, in cui gli
ultimi due livelli (secondo e terzo) fanno riferimento a una ricerca di immagini
di tipo semantico e il divario tra il primo e il secondo livello è quello che viene
denito in [1] come il gap semantico. Essi sono:
• Livello 1: Recupero degli elementi dell'immagine da feature primitive
quali colore, texture, forma o posizione spaziale. Una interrogazione
tipica di questa livello potrebbe essere la query by example cioè 'trova
immagini come questa';
• Livello 2: il recupero di oggetti di un dato tipo identicato da carat-
teristiche derivate, con un certo grado di inferenza logica. Per esempio,
trova la foto di un ore;
• Livello 3: Recupero per attributi astratti, che comportano un peso sig-
nicativo del ragionamento di alto livello sul signicato degli oggetti o
scene illustrate. Ciò include il recupero di eventi per nome, di immagini
di signicato emotivo o ideologico, ecc. Un esempio di query potrebbe
essere: trovare immagini di una folla gioiosa;
Gli utenti della ricerca di livello 1, di solito, sono tenuti a presentare un'
immagine di esempio o uno schizzo come query. Ma che cosa succede se l'u-
tente non ha una immagine di esempio da sottoporre al sistema? Se il sistema
supportasse query per keywords (parole chiavi) o per texture, sarebbe più
probabile avere un retrieval adeguato? Come si rapportano le caratteristiche
dell'immagine di basso livello alla semantica di alto livello? Per rispondere
a questi interrogativi parte della ricerca scientica si è data come obietti-
vo quello di trovare nuove strade per poter salvaguardare la semantica delle
8
1.2. ANALISI DEL PROBLEMA
immagine, dando così origine a una nuova tipologia di image retrival basa-
ta appunto su di essa; si parla quindi di Semantic-Based Image Retrieval
(SBIR).
Esistono ad oggi pochissimi prodotti commerciali che includono moduli
per la ricerca basati sul contenuto (Livello 1), così come pochi sono i pac-
chetti software utilizzabili: uno dei più sfruttati è senza dubbio QBIC (Query
By Image Content) [8], sviluppato dall' Almaden Research Center dell'IBM,
questa tecnica permette l'interrogazione del sistema, da parte dell'utente,
tramite la composizione di uno schema dell'immagine da reperire facendo
denire all'utente la forma e i colori. La maggior parte dei sistemi CBIR
esistenti sono prototipi di ricerca sviluppati in laboratori ed università. Tra i
tanti i più noti sono: Photobook [9] sviluppato al MIT Media Lab. il quale è
un sistema informatico che consente all'utente di sfogliare data base d'immag-
ini di grandi dimensioni in modo ecace usando sia le informazioni annotate
che le caratteristiche di basso livello. Esso si articola in tre tipi di ricerca:
• la prima fondata sull' apparenza (applicata ai data base facciali);
• la seconda sull'uso della forma 2D (applicata ai cataloghi di beni di
consumo come gli utensili manuali o ai cataloghi biologici);
• la terza sulla caratteristica di basso livello quale la texture (applicata a
data base d'industrie contenenti tessuti, piastrelle, rivestimenti murari
ed altri prodotti tessili);
VisualSEEk [3] della Columbia University totalmente basato sulla ricerca
di caratteristiche di basso livello. La tipologia d'interrogazione al database
da parte dell'utente è simile al QIBC ossia l'utente forma la query crean-
do diagrammi spaziali delle aree colorate il cui risultato sarà la restituzione
d'immagini aventi regioni simili a quelle indicate dall'utente stesso mediante
l'implementazione region-based; NeTra [4] della UCSB il quale è anch'esso
implementato tramite l'approccio region-based ed adopera come caratteris-
tiche di basso livello il colore, la texture e la forma; WALRUS [5] sviluppato
presso i Bell Laboratories è sempre implementato con region-based; Blob-
world [6] dell'università della California, fondato sulle region-based, usa come
9
1.3. ARCHITTETURA DEI CBIR
caratteristiche di basso livello il colore e la texture invece la query eet-
tuata dall'utente consiste nello specicare gli attributi di uno o due regioni
d'interesse; inne WINDSURF [7] sviluppato presso l'Università di Bologna,
implementato mediante le region-based, esso è basato sulla texture in quanto
caratteristica di basso livello. Il crescente interesse mostrato nei confronti dei
sistemi per la gestione e il reperimento di immagini è legato al sempre mag-
gior numero di settori nei quali vengono utilizzati, ad esempio in applicazioni
Web ma anche nella medicina, nel campo militare e nella prevenzione del
crimine.
In questo elaborato il sistema di apprendimento supervisionato utilizzato
è l'albero di decisione che, tramite il training set, cioè l'insieme di esempi usati
per addestrare un sistema supervisionato, genera delle regole che potranno
essere adoperate per la classicazione di nuove immagini. Un successivo passo
è quello d'inserire le regole, generate dall'albero di decisione, in un sistema
esperto per poter automatizzare e velocizzare la classicazione delle nuove
immagini.
1.3 Archittetura dei CBIR
Un sistema di ricerca di immagini basato sul contenuto deve riuscire ad es-
trarre da ogni immagine, e in modo automatico, una qualche rappresentazione
a basso livello del contenuto che sia comprensibile dal calcolatore e possa,
quindi, permettere i confronti in fase di interrogazione in un sistema CBIR.
Si possono distinguere due fasi distinte (Figura 1.1):
• La fase di pre-processing (o di popolazione del database), in cui avviene
l'estrazione automatica delle caratteristiche di basso livello (low lev-
el features) dell'immagine (ad esempio la distribuzione del colore, in-
formazioni di tessitura, di forma etc.). Tali informazioni vengono poi
memorizzate ed eventualmente indicizzate. Questa fase è di norma e
abbastanza costosa in termini di tempo.
• La fase di interrogazione vera e propria (o fase di query processing), in
cui l'utente ad alto livello, tipicamente attraverso un'interfaccia graca,
10
1.3. ARCHITTETURA DEI CBIR
formula un'interrogazione alla collezione creata in precedenza mediante
esempi visivi (selezionando un'immagine). L'immagine query selezion-
ata, in generale, deve essere a sua volta processata dal sistema per es-
trarre feature analoghe a quelle memorizzate per il database. In questo
modo le caratteristiche estratte da ciascuna immagine della collezione
sono comparate con quelle dell'immagine query secondo il modello di
similarità implementato dal sistema: il problema del confronto fra le
immagini si riconduce, quindi, alla sola determinazione di una misura
di distanza fra le feature estratte. Questa seconda fase deve avere una
durata molto breve perchè i risultati devono essere presentati all'utente
e in tempo reale (questi si chiamano sistemi on-line).
I vari CBIR dieriscono fra loro perchè adottano soluzioni diverse relativa-
mente sia all'estrazione delle features, che alla valutazione della similarità
oltre che alle modalità di indicizzazione dei dati utilizzate per aumentare
l'ecienza.
11
1.3. ARCHITTETURA DEI CBIR
Figura 1.1: CBIR: architettura di un Content-Based Image Retrieval. Tale
archittetura si articola in due fasi principali la prima di pre-processing e la
seconda di interrograzione. Il pre-processing elabora le immagini per estrarre
le features ed inserirle in un data base, mentre l'interrogazione mediante
un'interfaccia graca interroga il data base tramite esempi visivi.
12
1.4. OBIETTIVI
1.4 Obiettivi
Lo studio dei CBIR pertiene ad un vasto campo d'indagine, in parte coin-
cidente con quello della Computer Vision (insieme dei processi che mirano
a creare un modello approssimato del mondo reale partendo da immagini
bidimensionali) e dell'Intelligenza Articiale, da cui i CBIR attingono tec-
niche e tecnologie. Questo settore ore applicazioni pratiche nali estrema-
mente eterogenee, dal riconoscimento delle targhe delle auto, delle impronte
digitali o dei volti, all'individuazione (e ltraggio) automatico di immagini
pornograche dalle pagine web (ad. es., per la navigazione sicura di bambi-
ni/adolescenti in Internet), passando per le applicazioni in campo medico,
sia diagnostiche sia operative. I CBIR nascono anche in relazione alla cres-
cente mole di informazioni disponibili in formato digitale, e alla conseguente
necessità di nuovi, più veloci ma soprattutto diversi metodi di accesso a
queste informazioni. L'obiettivo principale dei CBIR è quello di consentire
queste nuove modalità di ricerca: l'automazione di certi procedimenti non
ne aumenta semplicemente la velocità, ma modica alla base la natura dei
risultati che si possono ottenere. In fondo, l'uomo è abituato anche a cer-
care e a comparare, nella propria memoria, le immagini con le immagini, e
non attraverso le parole; la nostra memoria (che pure è associativa, colle-
gando keywords a persone, oggetti, eventi etc.) in generale funziona meglio
visivamente e spazialmente.
Lo scenario di riferimento, descritto precedentemente, della presente at-
tività di tesi è la base su cui si vuole proporre un classicatore automantico
di immagini basato sulle caratteristiche di basso livello fatures che con l'in-
clusione di un sistema esperto attua delle migliorie rispetto ai lavori presenti
nello stato dell'arte.
13
Bibliograa
[1] J. Eakins, M. Graham. Content-based image retrieval , TechnicalRe-
port, University of Northumbria at Newcastle, 1999.
[2] Wei Fan, Erheng Zhong, Jing Peng, Oliver Versheure, Kun Zhang, Jiang-
tao Ren, Rong Yan, Qing Yang. Generalized and Heuristic-Free Feature
Costruction for Improved Accurancy, SDM, pp. 629-640, 2010.
[3] J. R. Smith e Shih-Fu Chang. VisualSEEk. a fully automated
content-based image query system, Proceedings of the Fourth ACM
International Conference on Multimedia, pp. 8798, 1996.
[4] Wei-Ying Ma e B. S. Manjunath. NeTra: A toolbox for navigating large
image databases, Proceedings of the IEEE International Conference on
Image Processing, pp. 568571, 1999.
[5] A. Natsev, R. Rastogi e K. Shim. WALRUS: A Similarity Retrieval
Algorithm for Image Databases, IEEE Trans. Knowledge and Data
Engineering, 2004.
[6] C. Carson, M Thomas, S. Belongie, J. M. Hellerstein e J. Malik. Blob-
world: A system for region-based image indexing and retrieval, Third
International Conference on Visual Information System, 1999.
[7] S. Ardizzoni, I. Bartolini e M. Patella. Windsurf: region-Based Image
Retrival Usng Wavelets, 10th International Workshop on Database and
Expert Systems Applications, pp. 167173, 1999.
14
BIBLIOGRAFIA
[8] W. Niblack, R. Barber, W. Equitz, M. Flickner, E. Glasman, D.
Petkovic, P. Yanker, C. Faloutsos e G. Taubin. The QBIC: Querying
Images By Contenet Using Color, Texture, and Shape, Proc. Storage
and Retrieval for Image and Video Databases, 1993.
[9] A. Pentland, R. W. Picard e S. Sclaro. Photobook: Content-Based
Manipulation of Image Databases, SPIE Storage and Retrieval Image
and Video Databases II, 1995.
15
Capitolo 2
Stato dell'arte
Prima di scegliere una precisa strada d'azione per la classicazione, risulta
opportuno, in ogni caso, valutare lo stato dell'arte attuale relativo ai processi
di classicazione automatica di immagini, soermandosi sulle proposte più
interessanti ed andando ad indagare quali aspetti rendono queste adatte per
i ni che ci stiamo preggendo e quali altri aspetti vanno, invece, scartati
poichè non rilevanti in base agli obiettivi presentati nello scenario di riferi-
mento. Si è deciso di concentrare la ricerca sugli studi più recenti che si sono
evoluti nel corso degli ultimi anni cercando, dapprima, di comprendere le
idee che stanno alla base degli approcci proposti e provvedendo, poi, a fare
una valutazione conservativa sui vantaggi e gli svantaggi connessi alla loro
applicazione in relazione al nostro scenario di riferimento. Tutto ciò con la
consapevolezza che le tecniche che verranno riassunte nei paragra succes-
sivi sono solamente alcune, quelle ritenute più signicative, delle tante che
sono state esaminate e che fanno parte dello stato dell'arte. Fra quelle che,
in qualche modo, risultano rilevanti e che sono riportate dettagliatamente
nello stato dell'arte ritroviamo delle tecniche che in questa sede, per ragioni
di completezza, abbiamo deciso semplicemente di citare suddividendole in
due grossi loni: tecniche che utilizzano gli Alberi di Decisione e tecniche che
fanno uso dei Random Forest. Per poi confrontandoli, nei capitoli successivi,
con le tecniche scelte per lo svilippo della soluzione proposta.
16
2.1. CLASSIFICAZIONE
2.1 Classicazione
Il termine Classiciazione viene utilizzato per varie attività che si possono ri-
condurre alla gestione della conoscenza (data mining). Il data mining ha per
oggetto l'estrazione di sapere o di conoscenza a partire da grandi quantità
di dati. Lo scopo in ambito prettamente informatico e riguardante questo
elaborato è l'estrazione automatica di conoscenza nascosta in voluminosi
database al ne di renderla disponibile e direttamente fruibile. La classi-
cazione, intesa come tecnica di data mining, viene utilizzata per analizzare
grandi quantità di dati in modo automatico ed estrarne conoscenza; in par-
ticolare la classicazione estrae conoscenza a livello di variabili categoriche o
classi. Tali categorie o classi sono il risultato dell'individuazione delle carat-
teristiche che indicano a quale gruppo un certo caso appartiene (es. discrim-
inazione tra comportamenti ordinari e fraudolenti). I principali metodi di
Classicazione si possono suddividere in base all'apprendimento automatico
(Machine Learning) con cui lo si sviluppa. L'area del Machine Learning è
una delle aree fondamentali dell'intelligenza articiale e si occupa della re-
alizzazione di sistemi e algoritmi che si basano su osservazioni come dati
per la sintesi di nuova conoscenza. L'apprendimento può avvenire catturan-
do caratteristiche d'interesse provenienti da esempi, strutture dati o sensori,
al ne di analizzarle e valutarne le relazioni tra le variabili osservate. Uno
degli obbiettivi principali di ricerca dell'apprendimento automatico è quello
d'imparare a riconoscere automaticamente modelli complessi ed a prendere
decisioni intelligenti basate su dati. Essenzialmente vi sono quattro macro
categorie di algoritmi di apprendimento automatico:
1. apprendimento supervisionato;
2. apprendimento non supervisionato;
3. apprendimento semi supervisionato;
4. apprendimento per rinforzo.
17
2.1. CLASSIFICAZIONE
2.1.1 Classicazione Supervisionata
La Classicazione Supervisionata, come esplica il titolo, utilizza l'apprendi-
mento supervisionato il cui obbiettivo è prevedere, dato un elemento di cui
si conoscono un insieme di parametri (features), il valore di un diverso para-
mentro di output relativo all'elemento stesso. Per fare ciò, nell'apprendimento
supervisionato è denito (mediante apprendimento da insiemi di esempi) un
modello.
Figura 2.1: Classicazione supervisionata: schema generale di apprendimento
supervisionato.
Il problema è denito (Figura 2.1) a partire da un universo di elementi
(descritti da valori assunti da un insieme x di features considerate come input
del problema): ad ogni elemento è associato un valore y di output (o target).
Avendo un insieme T di elementi (denominato Training set). Ogni elemento
è descritto da una coppia (xi,yi), dove xi è il vettore dei valori delle d features
x
(1)
i ,x
(2)
i , ... , x
(d)
i e yi è il relativo output. Quello che si vuole è derivare un
modello della relazione (sconosciuta) tra le features ed i valori di output,
che consenta, dato un nuovo elemento x, di predire il corrispondente valore
di output y. La Classicazione (Supevisionata) delle immagini avviene dopo
che il sistema è stato addestrato preventivamente con una serie d'immagini
(già etichettate): il Training set. Quindi il compito di tale classicatore è
quello di associare ad un immagine di input una o più classi note a priori.
18
2.1. CLASSIFICAZIONE
Esempi di machine learning supervisionati sono: gli Alberi di decisione
[2] [10] [11] [12] [13], le Macchine a vettori di supporto (SVM).
2.1.2 Classicazione Non Supervisionata
La Classicazione Non Supervisionata utilizza l'apprendimento non supervi-
sionato in cui i dati consistono soltanto in un insieme di features xi senza
variabili di output yi. Quel che si vuole è individuare un modello che si adatti
ai dati, al ne di scoprire proprietà interessanti di essi. In questo modo le
classi sono sconosciute e devono essere derivate dai dati stessi durante la fasi
di classicazione. Tale classicazione è usata in casi in cui non si hanno a
disposizione immagini già etichettate per la fase di Training set. In questo
caso si può parlare di clustering, ossia di suddivisione degli esempi in sot-
toinsiemi disgiunti tali che gli esempi di uno stesso gruppo risultino molto
simili tra loro. Esempi di machine learning supervisionati sono: K-Nearest
Neighbor(K-NN) [14], Normalized Cut (NCut), Locality Preserving Cluster
(LPC), k-means clustering.
2.1.3 Classicazione Semi Supervisionata
L'algoritmo fonde le due tecniche sopra citate (Classicazione Supervisionata
e Classicazione Non Supervisionata) per generare un'appropriata funzione
di classicazione, grazie a piccole quantità di dati etichettati ed a grandi
quantità non etichettate. E' stato dimostrato che l'uso di dati privi d'etichetta
in concomitanza con quelli etichettati possono produrre un notevole migliora-
mento della qualità dell'apprendimento. In oltre se la quantità delle immagini
è elevata l'acquisizione di quelle già etichettate può divenire onerosa poichè
richiede un agente umano capace di classicarle. Per ovviare a ciò l'apprendi-
mento semi supervisionato può esser sicuramente utile. Un'esplicazione di ciò
si può cogliere in [15].
19
2.2. ALBERI DI DECISIONE
2.1.4 Classicazione Per Rinforzo
La Classicazione Per Rinforzo adopera l'apprendimento per rinforzo il quale
punta a realizzare algoritmi in grado d'apprendere e di adattarsi alle mu-
tazioni dell'ambiente. Questa si fonda sul presupposto di poter ricevere degli
stimoli dall'esterno a seconda delle scelte dell'algoritmo stesso. Quindi una
scelta corretta comporterà un premio mentre una scorretta porterà ad una
penalizzazzione del sistema (Funzione di Bontà), il cui obiettivo è il raggiung-
imento del maggior premio possibile e di conseguenza del miglior risultato
possibile. Alcuni esempi di tali algoritmi sono adoperati in [16] ed in [17].
2.2 Alberi di Decisione
La classicazione supervisionata dei dati, ossia l'individuazione delle carat-
teristiche che indicano a quale gruppo un determinato caso appartiene, si
attua attraverso l'apprendimento induttivo da esempi, in cui il sistema ap-
prende la denizione di una funzione di classicazione. Un metodo di classi-
cazione supervisionata è l'albero di decisione, ovvero le funzioni di classi-
cazione acquisiscono un'organizzazione concettuale ad albero al cui interno
ogni nodo rappresenta una variabile, un arco verso un nodo-glio indica un
possibile valore per quella proprietà ed inne una foglia denisce il valore
predetto per la classe a partire dai valori delle altre proprietà, che nell'albero
si determinano tramite il cammino dal nodo-radice al nodo-foglia.
Diversi sono gli algoritmi che generano alberi di decisione:
• ID3;
• C4.5;
• C5.0/See5C5.0/See5;
• CART;
20
2.2. ALBERI DI DECISIONE
2.2.1 ID3
ID3 è un algoritmo greedy che accresce l'albero secondo un'ordine top-down,
selezionando ad ogni nodo l'attributo che classica meglio gli esempi cor-
rentemente disponibili. In generale un algoritmo greedy è un algoritmo che
cerca di ottenere una soluzione ottima da un punto di vista globale attraverso
la scelta della soluzione più golosa (aggressiva o avida) ad ogni passo locale.
Questa tecnica, dove applicabile, consente di trovare soluzioni ottimali per
problemi di natura non deterministica. L'algoritmo ID3 termina se tutti gli
esempi sono classicati perfettamente o se tutti gli attributi sono esaminati.
Di fondamentale importanza è la scelta dell'attributo migliore, basato sul
concetto di entropia. Fisicamente l'entropia può esser denita come l'unità
di misura del disordine, mentre per la teoria dell'informazione essa misura
l'incertezza dell'esito di un esperimento modellabile mediante una variabile
aleatoria.
E(S) = −
n
i=1
fs(i)log2fs(i)
dove:
• E(S) è il valore dell'entropia nella porzione di esempi di training cor-
rentemente analizzati (S );
• n è il numero dei dierenti valori dell'attributo in S ;
• fs(i) è la frequenza relativa al valore i nel set S.
L'Information Gain rappresenta la riduzione attesa di entropia conseguente
al partizionamento degli esempi di S in accordo al test.
G(S, A) = E(S) −
m
i=1
fs(Ai)E(SAi
))
dove:
• G(S,A) è il guadagno nella porzione S dopo la scissione sull'attributo
A;
• E(S) è l'entropia nella porzione (S );
21
2.2. ALBERI DI DECISIONE
• m è il numero dei diversi valori dell'attributo A in S ;
• fs(Ai) è la frequenza degli elementi avente come valore Ai dell'attributo
A nella porzione S ;
• Ai è l'i-esimo valore dell'attributo A;
• SAi
è il sottoinsieme di S contenenti tutti gli elementi aventi il valore
dell'attributo A uguale a Ai.
Il criterio basato sull'Information Gain sceglie il test che massimizza G(S,
A).
Quindi l'algoritmo ID3 può esser esplicitato come segue:
1. SE tutti gli esempi di T appartengo alla calasse Ci ALLORA crea un
nuovo nodo Ci e fermati ALTRIMENTI:
(a) scegli, usando un criterio euristico, un attributo F (non usato in
precedenza) con i possibili valori v1, . . . , vn;
(b) crea un nuovo nodo F da cui si dipartono i rami corrispondenti ai
valori v1, . . . , vn;
(c) partiziona l'insieme T in tanti sottoinsiemi T1, . . . , Tn ognuno dei
quali contiene le istanze di T che hanno rispettivamente v1, . . . ,
vn come valore dell'attributo;
2. riapplica il passo 1. su tutti i sottoinsiemi Ti=1..n così ottenuti.
2.2.2 C4.5
Un altro algoritmo usato per generare un albero di decisione è il C4.5.
Quest'ultimo non è altro che un'espansione dell'algoritmo ID3, con l'aggiunta
di varie migliorie:
1. regole di post-pruning;
2. gestione di attributi continui;
22
2.2. ALBERI DI DECISIONE
3. gestione degli attributi con costi dierenti;
4. gestione del training set con i valori degli attributi mancanti;
5. miglioramento dell'ecenza computazionale.
Il C4.5 costruisce l'albero di decisione tramite il training set, similmente al-
l'algoritmo ID3 utilizzando il concetto di entropia. Il training set è S = s1, s2...
di campioni già classicati. Ogni campione si=x1, x2... è un vettore, dove x1,
x2... rappresentano gli attributi o le caratteristiche del medesimo. Il training
set si amplia mediante un vettore c=c1, c2... dove quest'ultimi rappresentano
le classi a cui ogni campione appartiene. Ad ogni nodo dell'albero l'algorit-
mo C4.5 sceglie un attributo tra i dati che separano più ecientemente il
set di campioni in sottoinsiemi applicando una delle classi. Questo crite-
rio è la normalizzazione dell'Information Gain (dierente dall'entropia) che
deriva dalla scelta di un attributo determinante la separazione dei dati. Per
attuare tale scelta fondamentale è l'identicazione dell'attributo con la più
alta normalizzazione dell'Information Gain. Tale algoritmo ricorre a piccole
sottoliste.
L'algoritmo C4.5 è strutturato nei seguenti passi:
1. Sceglie un attributo che meglio dierenzia i valori dell'attributo di
output;
2. Crea, nell'albero, un ramo separato per ogni possibile valore dell'at-
tributo scelto;
3. Divide le istanze in sottogruppi che riettono i valori dell'attributo
scelto;
4. Per ogni sottogruppo il processo di selezione termina se:
(a) Tutti i membri di un sottogruppo hanno lo stesso valore per l'at-
tributo di output (in questo caso il ramo cosiderato va etichettato
con il valore specicato);
23
2.2. ALBERI DI DECISIONE
(b) Il sottogruppo contiene un singolo nodo oppure non è più possi-
bile individuare un attributo in base al quale fare dierenziazioni
(in questo caso il ramo considerato viene etichettato con il val-
ore dell'attributo di output che caratterizza la maggior parte delle
istanze rimanenti);
5. Si ripete iterativamente il passo 4. per ogni sottogruppo che non è stato
etichettato come terminale.
Un parametro che regola la capacità di generalizzazione di un albero è il livello
di pruning (potatura dell'albero stesso). Il pruning consiste nel tagliare tutti i
rami dell'albero che si ritiene peggiorino la capacità di generalizzazione e che
incrementino la sua complessità e impedisce la divisione ricorsiva su attributi
che non mostrano una chiara rilevanza.
Il J48 è l'implementazione Open Source di java del suddetto algoritmo
C4.5.
2.2.3 C5.0/See5C5.0/See5
Gli algoritmi C5.0/See5C5.0/See5 (rispettivamente il primo per Unix/Linux
ed il secondo per Windows) sono versioni commerciali del C4.5 che orono
alcune ottimizzazioni, tra cui si possono menzionare:
• la velocità di computazione;
• utlizzo della memoria più ecene;
• ottiene risultati simile al C4.5 con alberi di decisione più piccoli.
2.2.4 CART
CART è un algoritmo non parametrico ossia non necessita di pre-testare
la normalità o altre assunzioni che riguardano la distribuzione statistica dei
dati. L'albero ottenuto con tale algoritmo include solo le variabili indipenden-
ti che risultano essere predittive della variabile dipendente; le altre variabili
24
2.2. ALBERI DI DECISIONE
indipendenti non predittive non hanno eetto sul risultato nale, dierenzian-
dosi oltremodo dai metodi sopramenzionati. La struttura di un classication
tree include i nodi non terminali, i quali hanno due discendenti diretti, ed i
nodi terminali che non subiscono ulteriori bipartizioni. Il primo nodo radice
contiene tutte le osservazioni. Il metodo è binario e ricorsivo: binario poiché
ogni nodo interno si divide in due discendenti diretti e ricorsivo poiché i nodi
(non terminali) nati dalla suddivisione del precedenti nodi in due discenden-
ti diretti possono diventare, a loro volta, nodi interni e suddividersi in due
nodi successivi. Il processo continuerà no a che non verranno raggiunti nodi
terminali che saranno tra di loro più eterogenei possibile ma che, allo stesso
tempo, andranno a costituire classi molto omogenee al loro interno. Il cri-
terio con i cui i nodi vengono suddivisi sarà tanto migliore quanto più alto
sarà il grado di omogeneità in ogni nodo-glio ossia quanto minimo sarà il
grado di impurità di ciascun nodo. Il criterio di suddivisione adottato è la
funzione di diversità di Gini in base alla quale vengono individuate le suddi-
visioni che minimizzano l'eterogeneità dei nodi-glio rispetto al valore della
variabile dipendente. Il metodo di Gini si fonda sulle probabilità quadratiche
di appartenenza, per ciascuna categoria, alla variabile dipendente.
IG(i) = 1 −
m
j=1
f(i, j)2
L'indice di Gini raggiunge il suo minimo (zero) quando il nodo appartiene
ad una singola categoria. Una volta individuata la suddivisione migliore per
il nodo radice, il CART ripete il processo di ricerca per ogni nodo-glio
continuando a bipartire nché non è più possibile alcuna suddivisione. Il
processo di bipartizione è impossibile quando un nodo è costituito da un solo
caso oppure quando tutti i casi che compongono un nodo appartengono alla
stessa classe.
L'algoritmo CART è il seguente:
1. per ogni campo si ordinano tutti i possibili valori in base a quanto
permettono di diminuire la funzione di diversità;
2. fra le migliori divisioni di ogni campo si considera quella che più diminuisce
25
2.2. ALBERI DI DECISIONE
la funzione di diversità; tale campo è scelto come splitter per il nodo;
3. si procede iterando il punto 1. no a quando non si riesce a minimizzare
ulteriormente la funzione di diversità.
2.2.5 Estrazione Regole
Da un albero di decisione, una volta generato, si possono estrarre le regole
di classicazione, le quali si ottengono visitando l'albero dal nodo-radice al
nodo-foglia interessato. Una regola di classicazione è una formula logica del
tipo:
IF antecedente THEN conseguente
L'antecedente è una serie di test sui nodi interni di un albero di classi-
cazione, mentre il conseguente identica la classe da assegnare alle istanze
che soddisfano l'antecedente, la quale classe è specicata dal nodo-foglia.
Esempio (Figura 2.2):
IF ((Outlook = Sunny) AND (Wind = Weak )) THEN Play = YES
2.2.6 Applicazioni alle immagini
Risale al 2010 uno degli studi nell'ambito degli Alberi di decisione attuato da
P. Rajendran e M. Madheswaran, i quali nel [10] propongono un metodo per
individuare i tumori del cervello tramite l'elaborazione d'immagini ottenute
dal CT scan. Nella tecnica proposta vi è una prima fase di pre-processing
in cui si estraggono le features grazie all'utilizzo dell'Istogramma, dove si
attua il ltraggio ed il rilevamento del conne dell'immagine. L'algoritmo
HARC, utilizzato nel sistema proposto, classica le regole generate tramite
l'associazione di regole in normale, benigno e maligno. L'HARC è sviluppato
sotto forma di alberi di decisione su training set mediante il concetto di
entropia. Il dataset usato è stato messo a disposizione dal centro CT scan di
Pandima. Le metriche utilizzate per valutare le prestazioni del sistema sono:
l'accuratezza, la sensibilità e la specicità.
26
2.2. ALBERI DI DECISIONE
Figura 2.2: Esempio di albero di decisione e di selezione di un percorso (in
rosso) dalla radice ad una foglia per l'estrazione di regole di classicazione.
Dello stesso anno è il [11] di M. K. Ghose, Ratika Pradhan e Sucheta
Sushan Ghose, i quali avanzano una classicazione d'immagini remote, in-
viate da satellite, tramite l'algoritmo di alberi di decisione, mentre i dati
vengono trattati con la Separability Matrix. I passi principali del metodo si
sviluppano come segue:
• selezione ottimale del gruppo: tramite l'utilizzo della Separability Ma-
trix, che individua una soglia e un gruppo in ordine di partizione del
training set in modo ottimale;
• in base alla strategia di partizionamento, il corrente training set è diviso
in due sottoinsiemi considerando il valore della soglia;
• quando il criterio di stop è soddisfatto il sottoinsieme è dichiarato foglia.
Per testare il metodo proposto sono state considerate le immagini IRS-
1C/LISS III della riserva di Mayurakshi. Per la valutazione del metodo sono
stati considerati l'accuratezza e il coeciente-K.
27
2.2. ALBERI DI DECISIONE
In [12] è illustrato un metodo per analizzare e classicare immagini Po-
larimetric SAR. Vi è una prima fase di decomposizione dell'immagine tramite
H/A/Alpha Polarimetric. Successivamente si attua la segmentazione dell'im-
magine e l'estrazione delle features. La segmentazione avviene tramite la
Pauli Composition (metodo standard per le immagini PolSAR). I vari tipi di
features considerati sono ottenuti mediante l'analisi object-oriented dell'im-
magine, come ad esempio i valori medi dei pixel, la deviazione standard degli
oggetti nell'immagine, la dierenza media dei pixel vicini, l'area, la lunghezza.
Il classicatore implementato dagli autori fa uso del QUEST, ossia l'albero
di decisione binario di Loh e Shin del 1997. Il metodo è stato testato su 497
immagini. Nello specico ne sono state adoperate 210 per l'addestramento
e 287 per testare il classicatore. La metrica usata per valutare il metodo è
l'accuratezza.
Sempre nel 2010 gli autori di [2] propongono l'FCTree (Feature Construc-
tion Tree) ossia un albero di decisione generato (adoperato in seguito per le
previsioni) simultaneamente alla costruzione delle sue stesse features estrat-
te in modo ricorsivo ad ogni nodo, facendo si che alla ne della ricorsione
si abbia una nuovo spazio di features.La costruzione delle features attuata
si fonda su un sottoinsieme di dati locali piuttosto che sull'intero dataset.
Tutto ciò assicura la copertura ottimale del set di features realizzato. In più
i pesi creati dalle operazioni sono ottimizzati dinamicamente a seconda della
performance del dataset, di conseguenza si evita l'uso dell'intero dominio e
il possibile overtting derivante. Ogni nodo genera un nuovo set di features
prodotte in modo random (selezionato da un operatore in base ai pesi) il quale
è identicato dal sottoinsieme di features precedentemente generato. Questo
processo è iterato n volte in modo da selezionare le migliori features secondo
l'information gain, calcolato dall'esempio del corrente nodo. Tale meccanis-
mo produce un'alta discriminante di features ad ogni step. Il passo ricorsivo
dell'albero prodotto dall'FCTree si può fermare per le seguenti condizioni: o
il numero delle istanze nel nodo è più piccolo della soglia oppure il nodo con-
tiene solo esempi di un'unica classe. Il metodo è stato testato su 22 dataset
binari rispettivamente ottenuti da Uci, Caltech-256, Landmine Collection e
Nuclear Ban Data. Le due classi di ogni dataset sono state adoperate per
28
2.2. ALBERI DI DECISIONE
comparare il suddetto metodo con altri, utilizzando lo standard 10-fold cross
validation, mentre come parametro di valutazione si è scelta l'accuratezza.
La 10-fold cross validation è una tecnica statistica utilizzabile in presenza
di una buona numerosità del training set, in particolare tale tecnica consiste
nella suddivisione del dataset totale in 10 parti uguali e ad ogni passo una
parte, a turno, è esclusa divenendo il validation dataset, mentre la restante
parte costituisce il dataset. Su ogni validation dataset si calcola l'accuratezza,
la loro media sarà l'accuratezza nale del metodo sottoposto.
La proposta prensentata in [18] introduce un metodo per il riconoscimento
facciale. Gli autori propongono un estrattore di features basato sul Local Bi-
nary Pattern (LBP, una descrizione della scala delle texture). Questo metodo
estrappola le features più discriminati in modo supervisionato tramite l'uti-
lizzo degli alberi di decisione per questo è stato nominato Decision Tree-based
Local Binary Pattern DT-LBP. Il risultato dell'elaborazione dell'immagini,
da parte dell'algoritmo menzionato, può essere visto come una quantizzazione
di ogni pixel con un particolare albero di decisione binario (implementato
dagli autori) e ogni ramo dell'albero codica un particolare LBP. La strut-
tura risultante è un istogramma spaziale discriminante dovuto ai confronti
tra i pixel ad ogni nodo. I database utilizzati per testare l'algoritmo sono
Feret e Cas-Peal-R1, mentre l'accuracy è stata scelta come metrica per la
valutazione.
Un altro lavoro è del 2009 [13]. Lo studio attuato da questi autori cerca
di combinare l'analisi dei Subpixel con gli alberi di decisione per migliorare
la mappatura di zone umide nell'area del delta del ume Yellow. La compo-
sizione delle zone umide sono costituite da parti solide/sabbiose, vegetazione
e da corpi liquidi. Ogni classe delle zone umide sono una combinazione di
queste parti basi, con proporzioni diverse. Gli spettri dei pixel misti nel-
l'immagine sono una miscela dello spettro dell'acqua, del suolo e della vege-
tazione. In questo modo l'analisi dei Subpixel è utile per la decomposizione
e l'estrazione dei materiali maggiormente presenti nella zona umida dall'im-
magine. Dopo di che, tramite gli alberi di decisione, avviene la classicazione
sulle classi che compongono le zone umide. L'analisi dei Subpixel è imple-
mentata utilizzando RSI ENVI4.0 e IDL dell'ambiente su immagini ASTER,
29
2.3. RANDOM FORESTS
che sono state adoperate come dataset. I risultati della classicazione sono
stati valutati tramite l'accuratezza e il coeciente K, e confrontati con i
risultati ottenuti con il metodo di classicazione MLC (maximum likelihood
classication).
2.3 Random Forests
La tecnica dei Random Forests è un'estensione dell'approccio relativo alla
costruzione degli alberi di decisione. L'algoritmo Random Forests si basa sulla
costruzione di molteplici alberi di classicazione (sviluppati tramite l'algorit-
mo CART). Tale tecnica genera ogni albero a partire da un diverso dataset
e la classicazione avviene sulla base di un semplice voto di maggioranza.
Si consideri un dataset di training T con N campioni (x1, y1), (x2, y2),
..., (xN , yN ), dove x1 è il vettore delle features di dimensione D, mentre y1
è l'etichetta della classe di appartenenza. Il metodo dei Random Forests si
sviluppa secondo i seguenti step:
1. Si genera a partire dall'insieme originario un sottoinsieme In-Bag t di
n elementi (capionamento con reinserimento) (n ≤ N ), questo set di
dati verrà usato nella costruzione dell'albero come training set;
2. Si genera un sottoinsieme di d features (dD). Ad ogni nodo le d feature
sono selezionate casualmente e solo esse vengono usate per valutale
la bipartizione ottimale (d rimane costante durante lo sviluppo del
random forests);
3. Ogni albero viene fatto crescere no alla sua massima estensione senza
usare tecniche di pruning.
Il punto 1. è ripetuto più volte in modo tale da generare più sottoinsiemi t.
2.3.1 Applicazioni alle immagini
Molti studi sono stati apportati in questo ambito, tra cui menzioniamo [19]. Il
metodo che gli autori sottopongono alla nostra attenzione opera direttamente
30
2.3. RANDOM FORESTS
sui valori dei pixel senza l'utilizzo di estrazioni di features. L'immagine per
poter essere classicata è prima suddivisa in subwindows, estratte in modo
casuale, per ognuno delle quali si costruisce l'albero di decisione e le si assegna
ad una classe, dopo di che si addizionano tutte le classi delle varie subwindows,
la classe che risulta dominante sarà quella di appartenenza dell'immagine. Per
la descrizione dell'immagine è stato utilizzato un array di dimensione Wx x
Wy, formato da k, l ((k,l) descrivono la posizione dei pixel) e ch dove:
• k = 1, .. Wx;
• l = 1, .. Wy;
• ch = 1, .., CH dove CH in caso di immagini in bianco e nero corrispon-
derà ad 1 (CH = 1), altrimenti avrà 3 valori utilizzando il metodo RGB
(CH = 3).
Gli autori, nell'ambito del machine-learning, propongono un approccio
mediante gli extremely randomized tree, che hanno la stessa struttura di un
classico albero di decisione ma l'algoritmo d'induzione è dierente. Nell'algo-
ritmo d'induzione classico l'albero si sviluppa in modo top-down tramite l'u-
tilizzo di esempi di apprendimento e ricercando per ogni nodo il test che mas-
simizza il valore stimato. Al contrario nell'algoritmo d'induzione extremely
randomized tree l'albero si sviluppa selezionando ad ogni nodo l'attributo
del test in modo completamente casuale e la soglia è scelta a random attorno
al suo principale valore corrente. In questo modo si ottiene una funzione sem-
plice e ricorsiva. Per valutare il metodo hanno utilizzato due tipi di dataset
reperibili pubblicamente in rete: COIL-100 e ZuBuD. Il primo è un dataset
di immagini a colori da 128x128 pixel di 100 dierenti oggetti in 3D, con 72
immagini per oggetto messo in posizioni di intervalli di 5 gradi . Il secon-
do invece, creato nell'Aprile 2003, è un database d'immagini a colori di 201
edici di Zurigo. Ogni edicio è rappresentato da 5 immagini acquisite da 5
dierenti punti di vista. Le valutazioni sono state eettuate considerando il
tasso d'errore prodotto dal metodo.
Altra contemporanea ricerca è sviluppata nell'articolo [20]. L'estrazione e
la rappresentazione delle features avviene tramite il metodo CS-LBP (Centre
31
2.3. RANDOM FORESTS
Symmetric Local Binary Pattern), che è una variante del LBP (Local Binary
Pattern) più performante e veloce dal punto di vista computazionale, e la
trasformata di Wavelet che permette di codicare i dati dell'immagine. La
classicazione avviene tramite l'uso del random forests. Questo è un insieme
di alberi di decisione, ognuno dei quali si sviluppa utilizzando un tipo di
randomizzazione. La sua struttura è di tipo binario, si genera in modo top-
down e può avere al massimo due gli. La procedura di addestramento del
random forests parte dalla scelta casuale dal sottoinsieme I' del WCS-LBP
locale dei dati di addestramento I. Un nodo n dei dati di addestramento In è
diviso iterativamente in parte sinistra e parte destra (Il,Ir) tramite l'utilizzo
della soglia t che è scelta in modo casuale dalla funzione di divisione. Diversi
candidati sono creati in modo casuale tramite tale funzione e la soglia in
corrispondenza del nodo diviso. Tra questi candidati sarà selezionato quello
che massimizza l'Information Gain rispetto al nodo selezionato. Il metodo
è stato sperimentato su un dataset di 2400 immagini a raggi-X dell'IRMA
2007. Le metriche utilizzate per valutare l'ecacia del metodo proposto sono
principalmente due, il richiamo e la precisione.
Un altro lavoro è del 2009 [21] che descrive un approccio per la clas-
sicazione delle immagini ImageCLEF (immagini radiologiche). In questo
metodo è stato utilizzato l'istogramma di contorno per la descrizione delle
features globali, mentre l'istogramma SIFT è stato adoperato per le fea-
tures locali. Questi vettori di features sono combinati tramite un semplice
concatenamento degli stessi. Il suddetto metodo è denominato PCTs ed è
organizzato mediante una gerarchizzazione dei dierenti gruppi: il primo no-
do corrisponde ad un gruppo contenete tutti i dati, che ricorsivamente si
partiziona in gruppi più piccoli scendendo l'albero, o meglio il PCTs può
essere implementato tramite l'algoritmo standard d'induzione degli alberi di
decisione. Nello specico si sono considerate due tecniche d'apprendimento,
ampiamente impiegate negli alberi di decisione, il random forest e il baggign. I
risultati ottenuti dalle due tecniche sono simili, ma gli autori considereranno
maggiormente solo i risultati desunti dal random forest, poiché esso risulta
nettamente più veloce del secondo. Il dataset su cui è stato testato il metodo
presenta un totale di 1733 radiograe. I risultati ottenuti nel dataset Image-
32
2.3. RANDOM FORESTS
CLEF2009 mostrano un numero di errori di classicazione pari, totalmente,
a 1.352,56 risultando così il terzo tra i gruppi partecipanti.
Pubblicato nel 2008 dagli autori Jamie Shotton, Matthew Johnson e
Roberto Cipolla è l'articolo [22]. L'idea principale si basa sul Semantic Tex-
ton Forest il quale a sua volta si fonda sui randomized decision forest. Tali
alberi di decisione sono implementati mediante le Bag of Semantic Texton
(cioè un vocabolario di elementi base di tessitura detti Texton) e successiva-
mente si giunge alla caratterizzazione delle patch sulla base dell'istogramma
degli stessi Texton. Questo approccio evita l'estrazione di features e permette
di lavorare sui pixel, aumentando le prestazioni, in quanto non necessitano di
ltri o features locali. Per generalizzare meglio lo spettro del colore, il metodo
è stato sviluppato tramite l'ausilio del CIELab, più performante dell'RGB.
L'algoritmo proposto per la categorizzazione dell'immagine è caratterizzato
da un supporto non lineare SVM, il quale, sfruttando e adattando la gerar-
chia dei Texton, tramite i Semantic Texton Forest e gli istogrammi dei Bag
of Semantic Texton, denisce i parametri di tali SVM. I dataset utilizzati per
testare il modello, su citato, sono principalemnte due: MSRC e VOC2007. Le
metriche adoperate per la valutazione del sistema sono la media della pre-
cisione per la categorizzazione e l'accuratezza per la prestazione del metodo
nell'ambito della segmentazione dell'immagine.
Degno di nota [23] dello stesso anno di pubblicazione, in cui si propone la
classicazione delle immagini tramite i Random Forest. Specicatamente gli
autori considerano una serie di test per la rappresentazione e l'estrazione delle
features, usufruendo, in primis, del single-histogram class models (SHCM) ed
in seguito, dapprima dell'RGB, poi dell'HOG ed inne dei Texton. Testando
il modello e combinando le varie features su menzionate si giunge all'indi-
viduazione del top delle prestazione. L'aggiunta dei Texton non aumenta le
performance, probabilmente a causa di una ridondanza delle features data
la presenza di quest'ultimi. In ne vi è un CRF stage (Conditional Random
Field), molto sensibile ai colori, che permette di aumentare maggiormente
la resa del modello proposto. I dataset utilizzati principalmente sono MSRC
e VOC2007. Le metriche adoperate per misurare il rendimento del metodo
proposto è l'accuratezza.
33
2.3. RANDOM FORESTS
In [24] gli autori propongono una soluzione per il problema Indoor-Outdoor.
Tale problematica si riferisce alla necessità di classicare le immagini in due
grandi categorie:
• Indoor : sono tutte quelle immagini che rapprensentano luoghi chiusi
(ed esempio foto riguardanti interni di uci, case, scuole etc);
• Outdoor : sono le immagini che rappresentano luoghi aperti (ad esempio
parchi, strade, piazze etc).
Tale metodo si basa sull'idea di stimare l'illuminazione tramite algoritmi ap-
positi per tale compito, il tutto si basa sulla scelta del miglior algoritmo.
Per ogni immagine si estaggono le features, per la descrizione delle quali gli
autori utilizzano lo spazio YCbCr. Successivamente utilizzando il Random
Forest, coposto da alberi di decisione CART, per attuare la classicazione
delle immagini Indoor-Outdoor. Il dataset utilizato è composto da 6785 im-
magini prelevati dal web o acquisti tramite scanner, aventi dimensioni di 256
pixel. Tutte le immagini sono state etichettate manualmente (2105 Indoor,
4680 Outdoor ). Il trainning set è stato formato da 2000 di queste immagini
(1000 per ogni classe). L'accuratezza è stata scelta come metrica per valutare
il metodo.
Inne un lavoro del 2006 [25] in cui gli autori propongono un metodo
che utilizza un algoritmo di co-training il cui paradigma asserisce che le fea-
tures possono essere divise in due set distinti, i cui classicatori C1 e C2
(rispettivamente Random Forest e Naive Bayes) si formano su un piccolo
training-set già etichettato ed in seguito ogniuno di essi classica un secondo
set più grande non etichettato. Consecutivamente sarà scelto il classicatore
che avrà ottenuto il miglior esito di predizione. Ne risulta che il migliore
della classicazione è il C1 ossia il Random Forest ottimizzato dal Naive
Bayes. La rappresentazione e delle immagini avviene mediante il MPEG-7
che denisce i descrittori e la distribuzione dello spazio di colore da associare
ad un'immagine e successivamente vi è la rielaborazione di questi descrittori
rappresentati con lo standard YCrCb (spazio di colore che codica l'infor-
mazione RGB). I dataset usati sono: l'ISB dataset il quale contiene immagini
di indoor-outdoor e il SUNET dataset del quale sono state scelte solo le due
34
2.4. ESTRAZIONE DELLE FEATURES
categorie di animali e sport, rispettivamente aventi una 511 immagini e l'al-
tra 415 immagini. La valutazione del co-training è stata eettuate sul 10-fold
cross validation adoperando come parametro di valutazione l'accuratezza.
2.4 Estrazione delle Features
L'estrazione delle features di basso livello dell' immagine è la base di sistemi
CBIR. Essa può avvenire dall'intera immagine o da alcune zone (regioni)
della stessa. Le features basate sul colore sono una delle caratteristiche più
ampiamente usate in image retrieval. I colori sono deniti in uno spazio di
colore selezionato. Esiste una varietà di spazi di colore, che sono utilizzati
spesso in applicazioni diverse. Fra gli spazi di colore quelli che risultano più
vicini alla percezione umana e, quindi,vengono maggiormente impiegati in un
contesto di RBIR sono: RGB [26], LAB [27], HSV [28], e il YCrCb [20][24].
L'estrazione delle features può avvenire mediante dierenti processi og-
nuno dei quali produce altrettante diverse caratteristiche. I metodi principali
d'astrazione delle features sono i seguenti:
• l'algoritmo SIFT;
• l'algoritmo SURF;
• l'algoritmo HSV;
• l'algoritmo dei Correlogrammi.
Ad essi se ne possono aggiungere altri descrittori di features quali ad
esempio istogramma dei colori RGB o YCrCb, le Subwindows [19], i Texton
[22] ed altri ancora.
2.4.1 SIFT
Scale-Invariant Feature Transform o SIFT [31] è un algoritmo in grado di
estrarre features da immagini, al ne d'individuare dei punti omologhi. L'al-
goritmo SIFT ricerca i punti (keypoint) su regioni più ampie dell'immagine
35
2.4. ESTRAZIONE DELLE FEATURES
superando i problemi di occlusione e di deformazione prospettica. A tale
scopo, ogni immagine è innanzi tutto ltrata, mediante convoluzioni gaus-
siane, formando un spazio delle scale. Per ogni scala sono quindi calcolate
le dierenze fra gaussiane adiacenti i cui massimi sono memorizzati come
punti d'interesse (keypoint). La ricerca di questi punti nello spazio delle scale
anziché sulle immagini originali fa si che i keypoints estratti non coincidano
con spigoli o discontinuità radiometriche, ma si localizzino in prossimità degli
stessi. Per ogni keypoints individuato è quindi denito un descrittore (vet-
tore di numeri) capace di descrivere i gradienti radiometrici nell'intorno del
punto d'interesse indipendentemente da rotazioni, variazioni di scala e cam-
biamenti d'illuminazione. In base alla distanza euclidea fra questi vettori n-
dimensionali è inne possibile individuare keypoints omologhi fra la immagi-
ni. Un esempio in Figura 2.3, formata da tre immagini, in modo da rilevare i
punti chiave nella prima immagine, i punti rimantenti a basso contrasto nella
seconda ed inne ltra i punti che si trovano sul bordo. Nell'ultima immagine
si mostrano i punti chiave.
Figura 2.3: Algoritmo SIFT: l'immagine viene elaborata in modo da rilevare i
punti chiave nella prima immagine, i punti rimantenti a basso contrasto nella
seconda ed inne ltra i punti che si trovano sul bordo. Nell'ultima immagine
si mostrano i punti chiave.
36
2.4. ESTRAZIONE DELLE FEATURES
2.4.2 SURF
Speeded-Up Robust Feature o SURF [32] (Figura 2.4) è uno dei più re-
centi algoritmi d'estrazione di features, può essere visto come un'evoluzione
del SIFT. Come quest'ultimo, infatti, il SURF associa ai punti d'interesse
individuati nell'immagine un descrittore, cioè un vettore caratteristico del-
l'intorno di tali pixel, il quale dev'essere distintivo e quindi permettere di
riconoscere una particolare features dalle altre e al tempo stesso robusto al
rumore, agli errori di rivelazione e alle deformazioni geometriche che avven-
gono tra le immagini. Tali descrittori infatti vengono poi utilizzati per trovare
le corrispondenze fra le features d'immagini diverse, confrontando semplice-
mente la distanza (per esempio quella euclidea
1
) che esiste tra questi vettori.
Il SURF sfrutta una rappresentazione intermedia dell'immagine da proces-
sare, detta integral image la quale viene calcolata molto rapidamente a
partire dall'immagine originale e viene utilizzata per velocizzare il calcolo
delle nestre necessarie all'estrattore. Adoperando questa tecnica, il compito
di calcolare la somma dell'intensità di una qualsiasi porzione dell'immagine
si riduce alla sola esecuzione di un paio di operazioni e ad alcuni accessi di
memoria.
Figura 2.4: Algoritmo SURF: esempio d'immagine (grato) elaborato con
l'algoritmo SURF
1Distanza euclidea è la distanza fra due punti, ossia la misura del segmento avente per
estremi due punti. Per due punti monodimensionali, P = (px, py)eQ = (qx, qy), la distanza
è calcolata come: (px − qx)2 = |px − qx|.
37
2.4. ESTRAZIONE DELLE FEATURES
2.4.3 HSV
Hue Saturation Value o HSV [28] è un metodo additivo di composizione di
colori e il modo per rappresentarli in un sistema digitale; analogamente al
sistema visivo umano opera una netta distinzione tra luminosità e colore.
Il colore di un punto è determinato dalle seguenti componenti: saturazione,
luminosità e tonalità. Per saturazione s'intende l'intensità e la purezza del
colore, la luminosità (valore) è l'indicazione della sua brillantezza, mentre la
tonalità indica il colore stesso (Figura 2.5).
Figura 2.5: Le immagini rappresentate nel modello HSV consistono in tre
immagini componenti, una per ogni caratteristica: hue, saturation, value.
2.4.4 Correlogramma
Il Correlogramma [33] o l'Autocorrelogramma [30] è un graco che rappre-
senta l'autocorrelazione di una serie storica in funzione del ritardo con cui
l'autocorrelazione è calcolata. Nello specico il Correlogramma di colore, at-
tuato dopo la quantizzazione dell'immagine, è una tabella indicizzata da una
38
2.4. ESTRAZIONE DELLE FEATURES
coppia di colori, dove il k -esimo ingresso di (i,j) specica la probabilità di
trovare un pixel di colore j a distanza k da un pixel di colore i all'interno
dell'immagine.
Questo è un esempio di matrice quantizzata a 8 colori:








2 3 8 2
7 5 3 5
2 3 7 7
1 2 5 5








Una volta quantizzata l'immagine, si attua l'algoritmo Correlogramma
sull'immagine stessa, settando la distanza.
Con l'applicazione dell'algoritmo Correlogramma a distance 1 si avrà una
matrice 8x8 con le relative frequenze:




















0 2 1 0 0 0 0 0
2 2 4 0 4 0 3 1
1 4 4 0 5 0 5 2
0 0 0 0 0 0 0 0
0 4 5 0 2 0 8 2
0 0 0 0 0 0 0 0
0 3 5 0 8 0 2 0
0 1 2 0 2 0 0 0




















Si dividono i coecenti della matrice per la somma degli elementi della
riga a cui appartengono:
somma elementi della prima riga = 3 ;


2
3

 = 0.6
39
2.5. CONCLUSIONI
In questo modo si avrà la matrice normalizzata:




















0 0.6 0.3 0 0 0 0 0
0.125 0.125 0.25 0 0.125 0 0.1875 0.0625
0.5 0.1904 0.1904 0 0.238 0 0.23809 0.0952
0 0 0 0 0 0 0 0
0 0.1904 0.23809 0 0.0952 0 0.3809 0.0952
0 0 0 0 0 0 0 0
0 0.166 0.277 0 0.444 0 0.111 0
0 0.2 0.4 0 0.4 0 0 0




















Figura 2.6: Cambiamento di colore illustrato da una sequenza di frame. Il
Correlogramma cattura la dispersione di colore.
A dierenza del Correlogramma, l'Autocorrelogramma esamina solo il
colore dominante.
2.5 Conclusioni
Le tecniche di apprendimento non Supervisionato presentano risultati peg-
giori rispetto al Supervisionato, d'altra parte è l'unico a poter essere utilizzato
in real time ed a non richiedere necessariamente l'intervento dell'operatore
umano, sia nella fase di training sia in occasione di classicazioni errate
da parte dell'algoritmo, che andrebbe quindi corretto tramite un nuovo -
allenamento. Le tecniche di apprendimento Supervisionato è ancora quello
maggiormente utilizzato e no ad ora ha fornito risultati migliori nonostante
alcuni svantaggi:
40
2.5. CONCLUSIONI
• forte dipendenza dal training set;
• problemi con l'analisi di dati sparsi.
Nell'ambito specico del machine learning Supervisionato si è optato per
gli alberi di decisione, scartando i random forests essendo quest'ultimi meno
idonei al ne del progetto e computazionalmente più onerosi rispetto ai primi.
Gli algoritmi SIFT e SURF, cercando i punti in comune con l'immag-
ine paragonata (in modo tale da poter trovare immagini della stessa capo-
volta, orizzontalmente o verticalmente), risultano poco utili alla nalità del
progetto. Uno degli estrattori di features più veloce e di conseguenza meno
oneroso dal punto di vista computazionale è l'Istogramma (di colore, HSV)
ma questo cattura solo la distribuzione del colore in un'immagine non in-
cludendo altre informazioni, risultando inferiore al Correlogramma che oltre
alla distribuzione di colore include l'informazione sulle correlazioni di colore
nello spazio, risultando il più adeguato alle necessità del progetto.
Di conseguenza il progetto presentato in questo lavoro di tesi si baserà
principalmente sulla tecnica di apprendimento supervisionato (alberi di de-
cisione) e sull'algoritmo correlogramma per l'estrattore di features.
41
Bibliograa
[2] Wei Fan, Erheng Zhong, Jing Peng, Oliver Versheure, Kun Zhang, Jiang-
tao Ren, Rong Yan, Qing Yang. Generalized and Heuristic-Free Feature
Costruction for Improved Accurancy, SDM, pages 629-640, 2010.
[10] P. Rajendran e M. Madheswaran. Hybrid Medical Image Classication
Using Association Rule Mining With Decision Tree Algorithm , Journal
Of Computing, 2010.
[11] M. K. Ghose, Ratika Pradhan e Sucheta Sushan Ghose . Decision Tree
Classication of Remotely Sensed Satellite Data using Spectral Separa-
bility Matrix, International Journal of Advanced Computer Science and
Applications, 2010.
[12] Z. Qi, A.G. Yeh, X. Li e Z. Lin. Land Use and Land Cover Classication
Using Radarsat-2 Polarimetric SAR Image, ISPRS TC VII Symposium,
2010.
[13] W. Wei, X. Zhang, X. Chen, J. Tang e M. Jiang. Wetland Mapping
Using Subpixel Analysis and Decision Tree Classication in the Yellow
River Delta Area, ISPRS 37, pp. 667-670, 2009.
[14] O. Boiman, E. Shechtman e M. Irani. In Defense of Nearest-Neighbor
Based Image Classication, Proc. of IEEE Int. Conf. on Computer Vis.
 Pat. Rec (CVPR '08), pp. 1-8, 2008.
[15] M. Guillaumin, J. Verbeek e C. Schmid. Multimodal Semi-Supervised
Learning for Image Classication, Proc. of IEEE Int. Conf. on
Computer Vis.  Pat. Rec (CVPR '10), 2010.
42
BIBLIOGRAFIA
[16] A. Lakdashti e H. Ajorloo. Contenet-Based Image Retrilal Based on
Relevance Feedback and Renforcement Learning for Medical Images,
ETRI Journal, pp. 240-250, 2011.
[17] M. T. Harandi, M. N. Ahmadabadi e B. N. Araabi. Optimal Lo-
cal Basis: A Rinforcement Learning Approach for Face Recognnition,
International Journal Of Computer Vision, pp. 191-204, 2009.
[18] D. Maturana, D. Mery e A. Soto. Face Recognition with Decision Tree-
based Local Binary Patterns, Proc. of Asian Conference on Computer
Vision (ACCV), 2010.
[19] B.Sumalatha e M.Seetha. An Ecient Approach for Robust Image
Classication Based on Extremely Randomized Decision Trees, Iter-
national Journal of computer Science and Information Technologies
(IJCSIT), pp. 677-685, 2011.
[20] Byoung Chul Ko, Seong Hoon Kim e Jaen-Yeal Nam. X-ray Image
Classication Using Random Forest with Local Wavelet based CS-Local
Binary Pattern, Journal Digit Imaging, 2011.
[21] Ivica Dimitrovski, Dragi Kocev, Suzana Loskocska e Saso Dzeroski. Im-
ageCLEF2009 Medical Image Annotation Task: PCTs for Hierarchical
Multi-Label Classication, Multilingual Information Access Evaluation
II. Multimedia Experiments, pp. 231-238, 2009.
[22] Jamie Shotton, Matthew Johnson e Roberto Cipolla. Semantic Texton
Forest for Image Categorization and Segmention, Proc. of IEEE Int.
Conf. on Computer Vis.  Pat. Rec (CVPR '08),2008.
[23] F. Schrodd, A. Creiminisi e A. Zisserman. Object Class Segmentation
using Random Forest, British Machine Vision Conference (BMVC),
2008.
[24] S. Bianco, G. Ciocca, C. Cusano e R. S. Improving Color Constancy
Using Indor-Outdoor Image Classication, IEEE Transactions on Image
Processing, pp. 2381-2392, 2009.
43
BIBLIOGRAFIA
[25] Irena Koprinska, Da Deng and Felix Feger. Image Classication Using
Labelled and Unlabelled Data, Proceedings of 14h European Signal and
Image Processing Conference (EUSIPCO), 2006.
[26] P. L. Stanchev, D. Green Jr. e B. Dimitrov. High level color similarity
retrieval , International Journal Information Theories  Applications,
pp. 283-287, 2003.
[27] Y. Liu, D.S. Zhang, G. Lu, W.-Y. Ma. Region-based image retrieval with
perceptual colors , Proceedings of Pacic-Rim Multimedia Conference
(PCM), pp. 931-938, 2004.
[28] Z. Lei, Lin Fuzong e Z. Bo. A CBIR method based on color-spatial
feature , Proceedings of the IEEE Region 10 Conference, pp. 166-169,
1999.
[29] Huang, J., Kumar, S. R., Mitra, M., Zhu, W., Zabih, R. Image Indexing
Using Color Correlograms, Proc. of IEEE Int. Conf. on Computer Vis.
 Pat. Rec (CVPR '97), pp. 762-768, 1997.
[30] Lux, Mathias and Chatzichristos, Savvas A. Lire: lucene image re-
trieval: an extensible java CBIR library, Proceeding of the 16th ACM
international conference on Multimedia, pp. 10851088, 2008.
[31] Lowe, David G. Object Recognition from Local Scale-Invariant
Features, Object Recognition from Local Scale-Invariant Features, 1999.
[32] Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool. -
SURF: Speeded Up Robust Features, Computer Vision and Image
Understanding (CVIU), pp. 346359, 2008.
[33] Huang, Jing and Kumar, S. Ravi and Mitra, Mandar and Zhu, Wei-
Jing and Zabih, Ramin. Image Indexing Using Color Correlograms,
Conference on Computer Vision and Pattern Recognition, pp. 762-768,
1997.
44
Capitolo 3
Soluzione proposta: CISE
3.1 Soluzione
La soluzione proposta per la classicazione delle immagini si compone della
scelta di uno spazio di rappresentazione valore-attributo. Su tale spazio di
rappresentazione si è usato l'albero di decisione le cui regole sono state inte-
grate in un Sistema Esperto per eettuare decisioni automatiche. Tramite
un'adeguata interfaccia graca, consentirà una iterazione fra un soggetto
umano e il programma che darà risposta alle sue problematiche di classi-
cazione dell'immagine e l'aggiornamento o la creazione di una nuova base
di conoscenza. Ci si riferirà a questo sistema proposto mediante l'acronimo
CISE (Classicazione di Immagini Mediante un Sistema Esperto).
3.2 Archittetura CISE
La scelta della tecnica di apprendimento supervisionato è ricaduta sugli alberi
di decisione, in particolare sul J48 ossia l'implementazione java del C4.5.
Tale algoritmo restituisce le regole, generate dall'albero, in forma pressa di
seguito queste regole vengono ritrascritte in forma inssa per essere utilizzate
dal sistema esperto. Con CLIPS, strumento scelto per la creazione del sistema
esperto, si è riusciti ad attuare procedure d'inferenza adeguate alla risoluzione
45
3.2. ARCHITTETURA CISE
del problema. Tale sistema è costituito dalla base di conoscenza determinata
dalle regole estratte dall'albero e dalle asserzioni dei fatti (feature estratte).
Il sistema proposto è formato da quattro fasi principali:
1. estrazione delle features;
2. creazione dell'albero di decisione;
3. creazione regole CLIPS (sistema esperto);
4. interfaccia java per la previsione dell'immagine inserita dall'utente.
Figura 3.1: E' possibile notare i tre componenti: l'estrattore di features, il
generatore dell'albero di decisione e il sistema esperto.
3.2.1 Estrattore di Features
Il modulo dell'estrattore di features è suddiviso principalmente in 5 sotto-
moduli, ognuno dei quali rapprensenta uno specico algoritmo. Per il correl-
ogramma [33] si può scegliere due paramentri distance e il range. La distance
serve per denire il vicinato, cioè tutti i pixel che sono presenti a distanza
d dal pixel preso in cosiderazione. Il secondo modulo è l'implementazione
dell'Autocorrelogramma [30] in cui ci sono tre dierenti metodi di analisi
disponibili: FullNeighbourhood, Quarterneighbourhood e Superfast.
FullNeighbourhood calcola l'intero vicinato di pixel data la distanza d;
46
3.2. ARCHITTETURA CISE
Figura 3.2: FullNeighbourhood: metodo per la selezione dell'intero vicinato
del pixel selezionato.
Quarterneighbourhood analizza i pixel in basso e a destra del vicinato
rispetto al pixel considerato;
Figura 3.3: Quarterneighbourhood: metodo per la selezione di un quarto del
vicinato del pixel selezionato.
Superfast utilizza l'approccio descritto nel documento [29].
Figura 3.4: Superfast: metodo per la selezione del vicinato orizzontale e
verticale in positivo.
Il terzo, il quarto e il quinto modulo si riferiscono rispettivamente all'HSV
[28], al SIFT [31] e al SURF [32].
3.2.2 Albero di Decisione
La tecnica di apprendimento supervisionato adoperata è l'albero di deci-
sione implementato in java mediante l'algoritmo C4.5 ideato da john Ross
Quinland. Tale implementazione è stata sviluppata con l'ausilio WEKA.
WEKA è l'acronimo di Waikato Environment for Knowledge Analysis,
software svilppato presso l'università di Waikato, Nuova Zelanda. Il software
47
3.2. ARCHITTETURA CISE
è open source rilasciato con licenza GNU e che raggruppa metodi di apprendi-
mento automatici tra cui diverse implementazioni dell'albero di decisione, con
il nome di J48 è catalogata l'implementazione del C4.5.
3.2.3 Sistema Esperto
Il sistema esperto è un programma che cerca di riprodurre le prestazioni di
una o più persone esperte in un determinato campo di attività. I programmi
adoperati dai sistemi esperti sono in grado di attuare procedure d'inferen-
za adeguate alla risoluzione di problemi particolarmente complessi, a cui
potrebbe, se posto in una dimensione umana, porre rimedio solo un esperto
del settore disciplinare in cui rientra la questione da risolvere. Ciò implica
che tale sistema possa avvalersi in modo risoluto e autorevole delle istanze
inferenziali che soggiacciono al corretto funzionamento del programma, cos-
icché sia capace di superare le incertezze e le dicoltà su cui volge la propria
attività. I sistemi esperti di dieriscono da altri programmi simili, in quanto
sono sempre in grado di esibire i passaggi logici che esplicano le loro decisioni.
Il sistema esperto si compone essenzialmente di tre componenti:
1. una base di conoscenza, in cui vi sono accumulate le regole deduttive e
i dettami procedurali di cui il sistema si serve nel suo operato;
2. un motore inferenziale, in cui il programma si occupa di applicare in
concreto le nozioni contenute nella base di dati;
3. un'interfaccia utente, che permette l'iterazione fra il soggetto umano e
il programma che deve dare risposta ai suoi problemi.
I sistemi esperti basati su regole sono dei programmi composti da regole nella
forma IF condizione THEN azione. Dati una serie di fatti, i sistemi esperti,
grazie alle regole di cui sono composti, riescono a dedurre nuovi fatti.
3.2.4 Funzionamento del Sistema
Il sistema è utilizzabile mediante un'interfaccia graca che da la possibilità
al sistema di interagire con l'utente. Inizialmente è necessario far scegliere
48
3.2. ARCHITTETURA CISE
all'utente se estrarre una nuova base di conoscenza o acquisire un sistema già
appreso (Figura 3.5).
Figura 3.5: Avvio: permette all'utente di scegliere se utilizzare una base di
conoscenza predenita o se estrarra da un nuovo dataset.
Qualora l'utente abbia scelto la prima opzione, ovvero l'acquisizione di
una nuova base di conoscenza, il sistema permetterà il settaggio di ulteriori
parametri (Figura 3.6). Il parametro fondamentale da impostare è lo spazio
di rappresentazione con cui andare a rappresentare le immagini (Figura 3.7).
Una vola scelta la tecnica di estrazione delle features sarà possibile settare
anche il numero di immagini rappresentative per ogni classe (Figura 3.8).
Inne si indicherà al sistema dove sono le immagini che formano il training
set (Figura 3.9).
49
3.2. ARCHITTETURA CISE
Figura 3.6: Nuova nestra per l'inserimento di una nuova base di conoscenza.
Figura 3.7: Sezione per la scelta di features e del dataset facente parte della
nestra di generazione della nuova base di conoscenza.
50
3.2. ARCHITTETURA CISE
Figura 3.8: Inserimento del numero di immagini per classe da selezionare
dalla path, in cui si trova il dataset di immagini.
Figura 3.9: Nuova nestra per l'inserimento della path, in cui si trova il dataset
di immagini.
51
3.2. ARCHITTETURA CISE
Come specicato precedentemente se è selezionato Estrazioni tramite
AutoCorrelogrammi, il sistema darà la possibilità di poter decidere quale
tipo di vicinato si intende considerare: FullNeighbourhood, Quarterneigh-
bourhood o Superfast (Figura 3.10). Anche con gli altri estrattori si dovrà
immetere le speciche richieste dal sistema.
Figura 3.10: Selezione del tipo di vicinato per l'estrattore Autocorrelogram-
ma.
52
3.2. ARCHITTETURA CISE
In più vi è la possibilità di eettuare la 10-fold cross validation (WEKA)
oppure mediante la 10-fold cross validation con il sistema esperto (Figura
3.11).
Figura 3.11: All'avvio della generazione dell'albero si ha la possibilità di poter
avviare o meno la 10-fold cross validation implementato da WEKA.
53
3.2. ARCHITTETURA CISE
Nel footer dell'applicazione sono presenti 3 terminali (Figura 3.12), il
primo (Figura 3.12a) descrive le varie azioni dell'utente, il secondo (Figura
3.12b) è visualizzato prima l'albero generato e succesivamente, se selezionato
il pulsante delle 10-fold cross validation anche gli esiti delle stesse. L'utlimo
(Figura 3.12c) terminale verranno mostrate le regole prodotte dall'albero di
decisione e il loro numero totale.
(a) Primo terminale, adibito per la descrizione delle azioni dell'utente.
(b) Secondo terminale, è visualizzato prima l'albero generato e succesivamente, se
selezionato il pulsante delle 10-fold cross validation anche gli esiti delle stesse.
(c) Terzo terminale, verranno mostrate le regole prodotte dall'albero di decisione e il loro
numero totale.
Figura 3.12: Terminali presenti nella fase di acquisizione della base di
conoscenza.
54
3.2. ARCHITTETURA CISE
Una volta appreso il modello in grado di classicare le immagini è possibile
sia consultare le regole tramite il terzo terminale (3.12c) sia visualizzare la
legenda relativa ai attributi presenti nelle regole (Figura 4.12).
Figura 3.13: Visualizzazione della legenda degli attributi presenti nelle regole
generate.
55
3.2. ARCHITTETURA CISE
Se invece, si opta per la scelta di una base di conoscenza prestabilita
si aprità la nestra in cui l'utente potrà scegliere sia il tipo di spazio di
rappresentazione (autocorrelogramma, correlogramma, HSV, SIFT, SURF)
sia la quantità di classi (minumo 2 massimo 4) di cui la base di conoscenza
sarrà composta.
Figura 3.14: Scelta della base di conoscenza: permette di scegliere quale tipo
di features e la quantità di classi (massimo 4) sarà costituito il dataset.
Inne vi è la nestra per eettuare il test, in questa nestra è possibile se-
lezionare l'immagine desiderata dall'utente da sottoporre al sistema, il quale,
dopo avere estratto le features (con lo stesso metodo esplicato in precedenza),
avvierà il motore inferenziale del Sistema Esperto che applicando in concre-
to le nozioni contenute nella base dati e le regole accumulate in precedenza
predirà la classe dell'immagine.
Nella Figura 3.15 si possono notare i due pulsati Aggiorna e Nuova, il
primo oggiorna la base di conoscenza in modo tale da poter aggiungere altre
regole a quelle già esistenti, mentre il secondo pulsante permette di creare
una nuova base di conoscenza.
56
3.2. ARCHITTETURA CISE
Figura 3.15: Test: l'utente può interrogare la base di conoscenza tramite
l'interfaccia.
57
Bibliograa
[28] Z. Lei, Lin Fuzong e Z. Bo. A CBIR method based on color-spatial
feature , Proceedings of the IEEE Region 10 Conference, pp. 166-169,
1999.
[29] Huang, J., Kumar, S. R., Mitra, M., Zhu, W., Zabih, R. Image Indexing
Using Color Correlograms, Proc. of IEEE Int. Conf. on Computer Vis.
 Pat. Rec (CVPR '97), pp. 762-768, 1997.
[30] Lux, Mathias and Chatzichristos, Savvas A. Lire: lucene image re-
trieval: an extensible java CBIR library, Proceeding of the 16th ACM
international conference on Multimedia, pp. 10851088, 2008.
[31] Lowe, David G. Object Recognition from Local Scale-Invariant
Features, Object Recognition from Local Scale-Invariant Features, 1999.
[32] Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool. SURF:
Speeded Up Robust Features, Computer Vision and Image Understanding
(CVIU), pp. 346359, 2008.
[33] Huang, Jing and Kumar, S. Ravi and Mitra, Mandar and Zhu, Wei-
Jing and Zabih, Ramin. Image Indexing Using Color Correlograms,
Conference on Computer Vision and Pattern Recognition, pp. 762-768,
1997.
58
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale
domenicoCaputiTriennale

More Related Content

What's hot

Modellazione della dinamica di un liquido bifase mediante GPU CUDA
Modellazione della dinamica di un liquido bifase mediante GPU CUDAModellazione della dinamica di un liquido bifase mediante GPU CUDA
Modellazione della dinamica di un liquido bifase mediante GPU CUDAkylanee
 
Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)Gerardo Di Iorio
 
Monitoraggio di applicazioni software mediante modelli di Markov
Monitoraggio di applicazioni software mediante modelli di MarkovMonitoraggio di applicazioni software mediante modelli di Markov
Monitoraggio di applicazioni software mediante modelli di Markovrkjp
 
[Thesis] IBSS: Intelligent Brake Support System
[Thesis] IBSS: Intelligent Brake Support System [Thesis] IBSS: Intelligent Brake Support System
[Thesis] IBSS: Intelligent Brake Support System Stefano Bonetta
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPFabio Pustetto
 
GaPiL - Guida alla Programmazione in Linux
GaPiL - Guida alla Programmazione in LinuxGaPiL - Guida alla Programmazione in Linux
GaPiL - Guida alla Programmazione in LinuxAmmLibera AL
 
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleInterfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleLuigi De Russis
 
Apprendimento di movimenti della testa tramite Hidden Markov Model
Apprendimento di movimenti della testa tramite Hidden Markov ModelApprendimento di movimenti della testa tramite Hidden Markov Model
Apprendimento di movimenti della testa tramite Hidden Markov ModelFausto Intilla
 
Il Linux OpenSound System
Il Linux OpenSound SystemIl Linux OpenSound System
Il Linux OpenSound SystemAntonioTringali
 
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...Antonio Sanfelice
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Alberto Scotto
 
mastertesi
mastertesimastertesi
mastertesiReply
 
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...Pasquale Naclerio
 
Tesi Laurea Sergio Taddia
Tesi Laurea Sergio TaddiaTesi Laurea Sergio Taddia
Tesi Laurea Sergio TaddiaSergio Taddia
 
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...Andrea Cavicchini
 
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks ThesisLearning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks ThesisGuido Colangiuli
 
GFilosofi_brain-mind-and-behavior_a-neuroscientific-approach_2007
GFilosofi_brain-mind-and-behavior_a-neuroscientific-approach_2007GFilosofi_brain-mind-and-behavior_a-neuroscientific-approach_2007
GFilosofi_brain-mind-and-behavior_a-neuroscientific-approach_2007Gabriele Filosofi
 
Pattern Recognition Lecture Notes
Pattern Recognition Lecture NotesPattern Recognition Lecture Notes
Pattern Recognition Lecture NotesRobertoMelfi
 

What's hot (20)

Modellazione della dinamica di un liquido bifase mediante GPU CUDA
Modellazione della dinamica di un liquido bifase mediante GPU CUDAModellazione della dinamica di un liquido bifase mediante GPU CUDA
Modellazione della dinamica di un liquido bifase mediante GPU CUDA
 
Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)
 
Monitoraggio di applicazioni software mediante modelli di Markov
Monitoraggio di applicazioni software mediante modelli di MarkovMonitoraggio di applicazioni software mediante modelli di Markov
Monitoraggio di applicazioni software mediante modelli di Markov
 
[Thesis] IBSS: Intelligent Brake Support System
[Thesis] IBSS: Intelligent Brake Support System [Thesis] IBSS: Intelligent Brake Support System
[Thesis] IBSS: Intelligent Brake Support System
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMP
 
GaPiL - Guida alla Programmazione in Linux
GaPiL - Guida alla Programmazione in LinuxGaPiL - Guida alla Programmazione in Linux
GaPiL - Guida alla Programmazione in Linux
 
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleInterfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
 
Apprendimento di movimenti della testa tramite Hidden Markov Model
Apprendimento di movimenti della testa tramite Hidden Markov ModelApprendimento di movimenti della testa tramite Hidden Markov Model
Apprendimento di movimenti della testa tramite Hidden Markov Model
 
Il Linux OpenSound System
Il Linux OpenSound SystemIl Linux OpenSound System
Il Linux OpenSound System
 
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
 
mastertesi
mastertesimastertesi
mastertesi
 
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
Implementazione di un sistema di misura di tipo quantitativo per sensori a na...
 
Andrea_Gangemi_tesi
Andrea_Gangemi_tesiAndrea_Gangemi_tesi
Andrea_Gangemi_tesi
 
Tesi Laurea Sergio Taddia
Tesi Laurea Sergio TaddiaTesi Laurea Sergio Taddia
Tesi Laurea Sergio Taddia
 
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
Reti di partecipazione fra società di capitale in Italia: presenza di topolog...
 
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks ThesisLearning of non-homogeneous Continuous Times Bayesian Networks Thesis
Learning of non-homogeneous Continuous Times Bayesian Networks Thesis
 
Dynamic Scheduling
Dynamic SchedulingDynamic Scheduling
Dynamic Scheduling
 
GFilosofi_brain-mind-and-behavior_a-neuroscientific-approach_2007
GFilosofi_brain-mind-and-behavior_a-neuroscientific-approach_2007GFilosofi_brain-mind-and-behavior_a-neuroscientific-approach_2007
GFilosofi_brain-mind-and-behavior_a-neuroscientific-approach_2007
 
Pattern Recognition Lecture Notes
Pattern Recognition Lecture NotesPattern Recognition Lecture Notes
Pattern Recognition Lecture Notes
 

Viewers also liked

Disruptive Technology & It's Effect on Payroll and HCM
Disruptive Technology & It's Effect on Payroll and HCMDisruptive Technology & It's Effect on Payroll and HCM
Disruptive Technology & It's Effect on Payroll and HCMInfinity Software Solutions
 
Environmental History of Europe
Environmental History of EuropeEnvironmental History of Europe
Environmental History of EuropeKim Copenhaver
 
Sacks and Zolonz Blog Entries 10-2010
Sacks and Zolonz Blog Entries 10-2010Sacks and Zolonz Blog Entries 10-2010
Sacks and Zolonz Blog Entries 10-2010SacksandZolonz
 
關渡的水生植物Taiwan
關渡的水生植物Taiwan關渡的水生植物Taiwan
關渡的水生植物TaiwanTai selina
 
Maladies neurodégénératives : 35 questions pour identifier les prémisses de l...
Maladies neurodégénératives : 35 questions pour identifier les prémisses de l...Maladies neurodégénératives : 35 questions pour identifier les prémisses de l...
Maladies neurodégénératives : 35 questions pour identifier les prémisses de l...AtlanticoFR
 
Ανεύρυσματα κοιλιακής αορτής – Ενδαγγειακή Αντιμετώπιση
Ανεύρυσματα κοιλιακής αορτής – Ενδαγγειακή ΑντιμετώπισηΑνεύρυσματα κοιλιακής αορτής – Ενδαγγειακή Αντιμετώπιση
Ανεύρυσματα κοιλιακής αορτής – Ενδαγγειακή ΑντιμετώπισηGeorge Trellopoulos
 

Viewers also liked (13)

Disruptive Technology & It's Effect on Payroll and HCM
Disruptive Technology & It's Effect on Payroll and HCMDisruptive Technology & It's Effect on Payroll and HCM
Disruptive Technology & It's Effect on Payroll and HCM
 
Unify Brochure
Unify BrochureUnify Brochure
Unify Brochure
 
Environmental History of Europe
Environmental History of EuropeEnvironmental History of Europe
Environmental History of Europe
 
Sacks and Zolonz Blog Entries 10-2010
Sacks and Zolonz Blog Entries 10-2010Sacks and Zolonz Blog Entries 10-2010
Sacks and Zolonz Blog Entries 10-2010
 
Get started with dropbox
Get started with dropboxGet started with dropbox
Get started with dropbox
 
關渡的水生植物Taiwan
關渡的水生植物Taiwan關渡的水生植物Taiwan
關渡的水生植物Taiwan
 
Implementing InfinityHR
Implementing InfinityHRImplementing InfinityHR
Implementing InfinityHR
 
Maladies neurodégénératives : 35 questions pour identifier les prémisses de l...
Maladies neurodégénératives : 35 questions pour identifier les prémisses de l...Maladies neurodégénératives : 35 questions pour identifier les prémisses de l...
Maladies neurodégénératives : 35 questions pour identifier les prémisses de l...
 
Marketing Employment Screenings with Aurico
Marketing Employment Screenings with AuricoMarketing Employment Screenings with Aurico
Marketing Employment Screenings with Aurico
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Anderson_Portfolio
Anderson_PortfolioAnderson_Portfolio
Anderson_Portfolio
 
Ανεύρυσματα κοιλιακής αορτής – Ενδαγγειακή Αντιμετώπιση
Ανεύρυσματα κοιλιακής αορτής – Ενδαγγειακή ΑντιμετώπισηΑνεύρυσματα κοιλιακής αορτής – Ενδαγγειακή Αντιμετώπιση
Ανεύρυσματα κοιλιακής αορτής – Ενδαγγειακή Αντιμετώπιση
 
Amrita Shergill
Amrita ShergillAmrita Shergill
Amrita Shergill
 

Similar to domenicoCaputiTriennale

Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Daniele Ciriello
 
Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques Maurizio Cacace
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxCe.Se.N.A. Security
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...michael_mozzon
 
CaputiDomenicoMagistrale
CaputiDomenicoMagistraleCaputiDomenicoMagistrale
CaputiDomenicoMagistraleDomenico Caputi
 
Il tutorial di Python
Il tutorial di PythonIl tutorial di Python
Il tutorial di PythonAmmLibera AL
 
Publish/Subscribe EDI with Content-Based Routing
Publish/Subscribe EDI with Content-Based RoutingPublish/Subscribe EDI with Content-Based Routing
Publish/Subscribe EDI with Content-Based RoutingNicola Mezzetti
 
Public Light Manager - Una GUI per la gestione remota di un impianto di illum...
Public Light Manager - Una GUI per la gestione remota di un impianto di illum...Public Light Manager - Una GUI per la gestione remota di un impianto di illum...
Public Light Manager - Una GUI per la gestione remota di un impianto di illum...Gianluca Ritrovati
 
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Myrteza Kertusha
 
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...danieledegan
 
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Francesco Komauli
 
Sistemi SCADA - Supervisory control and data acquisition
Sistemi SCADA - Supervisory control and data acquisitionSistemi SCADA - Supervisory control and data acquisition
Sistemi SCADA - Supervisory control and data acquisitionAmmLibera AL
 
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilitàTesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilitàRiccardo Melioli
 
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...GabrieleGandossi
 

Similar to domenicoCaputiTriennale (17)

Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
 
Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linux
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
 
Tesi
TesiTesi
Tesi
 
CaputiDomenicoMagistrale
CaputiDomenicoMagistraleCaputiDomenicoMagistrale
CaputiDomenicoMagistrale
 
Thesis marco de_marco
Thesis marco de_marcoThesis marco de_marco
Thesis marco de_marco
 
Il tutorial di Python
Il tutorial di PythonIl tutorial di Python
Il tutorial di Python
 
Publish/Subscribe EDI with Content-Based Routing
Publish/Subscribe EDI with Content-Based RoutingPublish/Subscribe EDI with Content-Based Routing
Publish/Subscribe EDI with Content-Based Routing
 
Public Light Manager - Una GUI per la gestione remota di un impianto di illum...
Public Light Manager - Una GUI per la gestione remota di un impianto di illum...Public Light Manager - Una GUI per la gestione remota di un impianto di illum...
Public Light Manager - Una GUI per la gestione remota di un impianto di illum...
 
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
 
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
 
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
Implementazione in Java di plugin Maven per algoritmi di addestramento per re...
 
Tesi
TesiTesi
Tesi
 
Sistemi SCADA - Supervisory control and data acquisition
Sistemi SCADA - Supervisory control and data acquisitionSistemi SCADA - Supervisory control and data acquisition
Sistemi SCADA - Supervisory control and data acquisition
 
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilitàTesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
 
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
 

domenicoCaputiTriennale

  • 1. UNIVERSITA' DEGLI STUDI DI BARI ALDO MORO FACOLTA' DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA TESI DI LAUREA IN INGEGNERIA DELLA CONOSCENZA E SISTEMI ESPERTI CLASSIFICAZIONE DI IMMAGINI MEDIANTE UN SISTEMA ESPERTO RELATORI: Chiar.ma Prof.ssa Floriana Esposito Dott. Claudio Taranto LAUREANDO: Domenico Caputi ANNO ACCADEMICO 2010/2011
  • 2. I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. L'insieme dei due costituisce una forza incalcolabile. -Albert Einstein-
  • 4. Indice 1 Classicazione di immagini 1 1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Analisi del problema . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Archittetura dei CBIR . . . . . . . . . . . . . . . . . . . . . . 10 1.4 Obiettivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Bibliograa capitolo 1 14 2 Stato dell'arte 16 2.1 Classicazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.1.1 Classicazione Supervisionata . . . . . . . . . . . . . . 18 2.1.2 Classicazione Non Supervisionata . . . . . . . . . . . 19 2.1.3 Classicazione Semi Supervisionata . . . . . . . . . . . 19 2.1.4 Classicazione Per Rinforzo . . . . . . . . . . . . . . . 20 2.2 Alberi di Decisione . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2.1 ID3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2.2 C4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.3 C5.0/See5C5.0/See5 . . . . . . . . . . . . . . . . . . . 24 2.2.4 CART . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2.5 Estrazione Regole . . . . . . . . . . . . . . . . . . . . . 26 2.2.6 Applicazioni alle immagini . . . . . . . . . . . . . . . . 26 2.3 Random Forests . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.3.1 Applicazioni alle immagini . . . . . . . . . . . . . . . . 30 2.4 Estrazione delle Features . . . . . . . . . . . . . . . . . . . . . 35 2.4.1 SIFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 I
  • 5. INDICE 2.4.2 SURF . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.4.3 HSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.4.4 Correlogramma . . . . . . . . . . . . . . . . . . . . . . 38 2.5 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Bibliograa capitolo 2 42 3 Soluzione proposta: CISE 45 3.1 Soluzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.2 Archittetura CISE . . . . . . . . . . . . . . . . . . . . . . . . 45 3.2.1 Estrattore di Features . . . . . . . . . . . . . . . . . . 46 3.2.2 Albero di Decisione . . . . . . . . . . . . . . . . . . . . 47 3.2.3 Sistema Esperto . . . . . . . . . . . . . . . . . . . . . . 48 3.2.4 Funzionamento del Sistema . . . . . . . . . . . . . . . 48 Bibliograa capitolo 3 58 4 Progetto CISE di dettaglio 59 4.1 Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.2 Archittetura Dettagliata . . . . . . . . . . . . . . . . . . . . . 61 4.2.1 Modulo estrattore di features . . . . . . . . . . . . . . 62 4.2.2 Modulo Albero di Decisione . . . . . . . . . . . . . . . 65 4.2.3 Modulo Sistema Esperto . . . . . . . . . . . . . . . . . 67 4.2.4 Modulo Interfaccia Graca . . . . . . . . . . . . . . . . 69 Bibliograa capitolo 4 72 5 Valutazione del sistema CISE 73 5.1 Metriche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.2 Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.2.1 Caltech-256 . . . . . . . . . . . . . . . . . . . . . . . . 74 5.2.2 SUNET . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.3 Progettazione della Sperimentazione . . . . . . . . . . . . . . . 76 5.3.1 Accuratezza . . . . . . . . . . . . . . . . . . . . . . . . 76 5.3.2 Prestazioni . . . . . . . . . . . . . . . . . . . . . . . . 77 II
  • 6. INDICE 5.4 Risultati Sperimentali . . . . . . . . . . . . . . . . . . . . . . 78 5.5 Conclusioni e sviluppi futuri . . . . . . . . . . . . . . . . . . . 86 Bibliograa capitolo 5 88 Bibliograa generale 90 III
  • 7. Elenco delle gure 1.1 CBIR: architettura di un Content-Based Image Retrieval. Tale archittetura si articola in due fasi principali la prima di pre- processing e la seconda di interrograzione. Il pre-processing elabora le immagini per estrarre le features ed inserirle in un data base, mentre l'interrogazione mediante un'interfaccia graca interroga il data base tramite esempi visivi. . . . . . . . 12 2.1 Classicazione supervisionata: schema generale di apprendi- mento supervisionato. . . . . . . . . . . . . . . . . . . . . . . . 18 2.2 Esempio di albero di decisione e di selezione di un percorso (in rosso) dalla radice ad una foglia per l'estrazione di regole di classicazione. . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.3 Algoritmo SIFT: l'immagine viene elaborata in modo da rile- vare i punti chiave nella prima immagine, i punti rimantenti a basso contrasto nella seconda ed inne ltra i punti che si trovano sul bordo. Nell'ultima immagine si mostrano i punti chiave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.4 Algoritmo SURF: esempio d'immagine (grato) elaborato con l'algoritmo SURF . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.5 Le immagini rappresentate nel modello HSV consistono in tre immagini componenti, una per ogni caratteristica: hue, saturation, value. . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.6 Cambiamento di colore illustrato da una sequenza di frame. Il Correlogramma cattura la dispersione di colore. . . . . . . . . 40 IV
  • 8. ELENCO DELLE FIGURE 3.1 E' possibile notare i tre componenti: l'estrattore di features, il generatore dell'albero di decisione e il sistema esperto. . . . . 46 3.2 FullNeighbourhood: metodo per la selezione dell'intero vicina- to del pixel selezionato. . . . . . . . . . . . . . . . . . . . . . 47 3.3 Quarterneighbourhood: metodo per la selezione di un quarto del vicinato del pixel selezionato. . . . . . . . . . . . . . . . . 47 3.4 Superfast: metodo per la selezione del vicinato orizzontale e verticale in positivo. . . . . . . . . . . . . . . . . . . . . . . . 47 3.5 Avvio: permette all'utente di scegliere se utilizzare una base di conoscenza predenita o se estrarra da un nuovo dataset. . . . 49 3.6 Nuova nestra per l'inserimento di una nuova base di conoscen- za. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.7 Sezione per la scelta di features e del dataset facente parte della nestra di generazione della nuova base di conoscenza. . 50 3.8 Inserimento del numero di immagini per classe da selezionare dalla path, in cui si trova il dataset di immagini. . . . . . . . . 51 3.9 Nuova nestra per l'inserimento della path, in cui si trova il dataset di immagini. . . . . . . . . . . . . . . . . . . . . . . . 51 3.10 Selezione del tipo di vicinato per l'estrattore Autocorrelogram- ma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.11 All'avvio della generazione dell'albero si ha la possibilità di poter avviare o meno la 10-fold cross validation implementato da WEKA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.12 Terminali presenti nella fase di acquisizione della base di conoscen- za. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.13 Visualizzazione della legenda degli attributi presenti nelle re- gole generate. . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.14 Scelta della base di conoscenza: permette di scegliere quale tipo di features e la quantità di classi (massimo 4) sarà costi- tuito il dataset. . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.15 Test: l'utente può interrogare la base di conoscenza tramite l'interfaccia. . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 V
  • 9. ELENCO DELLE FIGURE 4.1 Features Extraction: schema del modulo mediante il quale si gestiscono l'estrazione delle features. . . . . . . . . . . . . . . 62 4.2 Il diagramma della classe di correlogramma. . . . . . . . . . . 63 4.3 Il diagramma della classe di FeatureExtraction. . . . . . . . . 64 4.4 Visualizzazione dei package che compongono il modulo albero di decisione. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.5 Diagramma della classe di Classicator.dbAr . . . . . . . . 66 4.6 J48: elenco dei metodi presenti nella classe ClassierJ48 . . . 66 4.7 Clips: elenco dei metodi e della sottoclasse (LSH ) presenti nella classe Clips . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.8 Package prensenti nel modulo interfaccia graca . . . . . . . 69 4.9 Thread: schema delle classi . . . . . . . . . . . . . . . . . . . . 69 4.10 Interface: schema delle classi Interface. . . . . . . . . . . . . . 70 4.11 Schema dei metodi presenti nella classe foldCrossValidation. 71 4.12 Schema delle classi presenti nel package legenda. . . . . . . 71 VI
  • 10. Elenco delle tabelle 5.1 Algoritmi SIFT, SURF e HSV; utilizzando il DataSet01: Golden- gate-bridge e Sunowers. Accuracy [%]. . . . . . . . . . . . . . 78 5.2 (Algoritmo Correlogramma) calcolo dell'accuracy [%] con i relativi range e distance sulle 2 Classi del Datase01. . . . . . 78 5.3 Accuracy [%] con l'algoritmo Autocorrelogramma su 2 Classi del Datase01. . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.4 Algoritmi SIFT, SURF, HSV, Corellogramma (range: 15, dis- tance: 15) e Autocorrelogramma (tramite il SuperFast); uti- lizzando il DataSet04: Airplanes e Faces-easy, mediante l'uso di 300 immagini per classe. Accuracy [%]. . . . . . . . . . . . . 79 5.5 Tabella riassuntiva, nella colonna dei Correlogramma e degli Autocorrelogramma sono visualizzati i risultati migliori. . . . 79 5.6 (Algoritmo Correlogramma) calcolo dell'accuracy [%] con i relativi range e distance su 4 Classi del DataSet02. . . . . . . 80 5.7 Accuracy [%] con l'algoritmo Autocorrelogramma sulle 4 Classi del DataSet02. Settando il valore di Max Distance a 64. . . . 80 5.8 Prima porzione della tabella Tabella 3 relativa al dataset Caltech- 256 dell'articolo [2]. . . . . . . . . . . . . . . . . . . . . . . . . 81 5.9 Seconda porzione della tabella Tabella 3 relativa al dataset Caltech-256 dell'articolo [2]. . . . . . . . . . . . . . . . . . . . 81 5.10 Test sull'algoritmo Correlogramma, utilizzando sempre le rispet- tive classi adoperate precedentemente. . . . . . . . . . . . . . 83 5.11 Test sull'algoritmo Autocorrelogramma, utilizzando sempre le rispettive classi adoperate precedentemente. . . . . . . . . . . 84 VII
  • 11. ELENCO DELLE TABELLE 5.12 Tabella riassuntiva. . . . . . . . . . . . . . . . . . . . . . . . . 84 5.13 Accuracy [%] sul rispettivo dataset SUNET (DataSet03) e le relative classi: Animal e Sport del metodo [25]. . . . . . . . . 85 5.14 Accuracy [%] del dataset SUNET (DataSet03) e le relative classi: Animal e Sport del metodo Autocorrelogramma. . . . . 85 5.15 (Algoritmo Correlogramma) calcolo dell'accuracy [%] con i relativi range e distance sulle 2 classi del dataset SUNET (DataSet03). . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.16 Tabella riassuntiva. . . . . . . . . . . . . . . . . . . . . . . . . 85 5.17 Average Time - 10-fcvW (10-fold cross validation con l'ausilio di Weka), fcvES (10-fold cross validation con il Sistema Es- perto eettuato sul Dataset02). . . . . . . . . . . . . . . . . . 86 VIII
  • 12. Capitolo 1 Classicazione di immagini L'uso delle immagini quali strumenti di comunicazione è tanto antico quan- to la storia dell'uomo; molto tempo prima dell'introduzione della scrittura sono, infatti, le immagini ad imprimere e tramandare i momenti più signi- cativi dell'umanità. Nel corso dei secoli il mondo dell'arte gurativa si è quindi sviluppato di pari passo con l'evoluzione dell'uomo e della tecnolo- gia assumendo un ruolo di primaria importanza nella civiltà moderna. Con l'avvento di calcolatori prima e d'Internet poi, si è attuato un aumento espo- nenziale di diusione delle immagini con la necessità di doverle archiviare e classicare (ad esempio Google Image, Yahoo etc). 1.1 Introduzione Grazie al rapido e inarrestabile progresso tecnologico che ha portato in pochi anni ad un'evoluzione nel campo dell'acquisizione, della memorizzazione e della trasmissione di immagini, è cambiato il mondo di rapportarsi con esse da parte di società e singoli individui. Immersi in un mare di immagini, il problema primario è riuscire ad accedere a quelle di nostro interesse e, soprattutto, riuscire a farlo sia in modo eciente in termini di tempo, che in modo ecace in termini di risultati. I sistemi che sono in grado di recuperare immagini in modo eciente si possono suddividere in due tipologie di sistemi di ricerca: 1
  • 13. 1.1. INTRODUZIONE • sistemi di ricerca tramite i metadati (informazione che descrive un insieme di dati); • sistemi di ricerca basati sul contenuto visivo (corrispondenti al colore, alla tessitura e alla forma delle immagini analizzate). Nei primi sistemi le immagini stesse, che fanno parte di un database, sono annotate con un contenuto semantico ovvero da delle etichette di termini che ne possano denotare il loro contenuto. Di conseguenza l'annotazione d'im- magini è il processo con cui si assegna ad un'immagine un'etichetta, una descrizione testuale o signicante, allo scopo di poterla in seguito recuper- are tramite strumenti di information retrieval. Con questo termine, infatti, si indica l'insieme delle tecniche utilizzate per il recupero mirato dell'infor- mazione in formato elettronico che proiettato in un sistema informatico per la navigazione, la ricerca e il recupero di immagini da un grande database di immagini digitali prende il nome di image retrieval. L'approccio tradizionale basato sulla prima tipologia di ricerca e sviluppa- to a partire dagli anni '70, prevedeva una descrizione delle immagini fondata sull'annotazione manuale di stringhe di attributi (ad esempio l'autore, l'anno, il titolo di una fotograa e una sua descrizione: i metadati) ed in questo modo ci si rifaceva al caso degli algoritmi di ricerca basati sui metadati. Il primo mi- crocomputer basato su tali sistemi è stato svilupato negli anni '80 dal MIT 1 da Banireddy Prasaad, Amar Gupta, Hoo-min Toong e Stuart Madnik. Tale metodo è entrato in crisi negli anni '90 essendo in pratica inutilizzabile per la gestione di dataset costituiti da milioni di oggetti: oltre a richiedere un carico di lavoro inaccettabile nella fase di popolazione del database, si fornisce una descrizione delle immagini troppo soggettiva (tipicamente individui diversi potrebbero ad esempio scegliere attributi diversi) e troppo spesso imprecisa a causa delle dicoltà nel dare una descrizione. Mentre con la seconda tipologia di ricerca, basata sul contenuto visi- vo, si introducono diverse soluzioni che permettono, in maniera ecace, di reperire immagini dotate di determinate caratteristiche di basso livello (low 1Massachusetts Institute of Technology, università privata è ubicata nella città di Cambridge (USA). 2
  • 14. 1.1. INTRODUZIONE level features) quali il colore e la tessitura. Un aspetto critico concernente tali sistemi di recupero delle immagini basati sul contenuto visivo (detti an- che content-based image retrieval, CBIR) si individua nella scelta di tecniche ecienti all'estrazione di conoscenza da un gran numero di dati, i quali sono complessi da rappresentare e trattare. Vi è un crescente interesse verso questi sistemi di recupero delle immagi- ni basati sul contenuto visivo, dovuto sia alla limitazione dei metodi fondati sui metadati aggiunti manualmente sia al gran numero di possibili impieghi, come la classicazione, l'organizzazione e l'indicizzazione di enormi archivi web. La necessità di studiare e sviluppare sistemi in grado di annotare au- tomaticamente le immagini sulla base del contenuto visivo si riassume nelle seguenti motivazioni: • la crescente quantità d'immagini digitali; • la possibilità di avere come risorsa il World Wide Web; • le limitazioni dei data base e dei motori di ricerca attuali fondati sul contenuto lessicale, sia in termini di costo di tempo e denaro, sia d'incoerenza dovuta alla soggettività dell'intervento umano. I grandi progressi nel campo dell'hardware, della tecnologia dei database, della graca e delle applicazioni open-source durante gli ultimi decenni ren- dono possibile la nascita di sistemi potenzialmente in grado di trattare gran- di quantità d'informazioni complesse e multidimensionali presenti in svariate forme e tipologie a seconda del campo in cui vengono utilizzate: il range di applicazione è al giorno d'oggi molto vasto ed in continua espansione. Da queste considerazioni di base nasce e si sviluppa il presente lavoro di tesi che si pone come obiettivo quello di proporre una nuova tecnica per ge- stire in modo automatico la classicazione d'immagini mediante l'inclusione di un sistema esperto. Un sistema esperto è un programma che cerca di ripro- durre le prestazioni di una o più persone esperte in un determinato campo di attività, è un'applicazione o una branca dell'intelligenza articiale. Con intelligenza articiale (AI ) si intende generalmente l'abilità di un calcolatore di svolgere funzioni e ragionamenti che espongono un comportamento tipo 3
  • 15. 1.2. ANALISI DEL PROBLEMA della mente umana, in ambito informatico essa comprende la teoria e le tec- niche per lo sviluppo che consentono alle macchine (tipicamente i calcolatori) di mostrare un'abilità o un'attività intelligente in domini specici. 1.2 Analisi del problema Molti sono i sistemi fondati sui metadati adoperati attualmente, difatti la ricerca d'immagini in rete opera esclusivamente a partire da enunciati verbali. Si possono menzionare due dierenti tipologie di esempi concernenti quanto detto: 1. Motori di ricerca, tramite l'inserimento di una determinata parola o frase che si ritiene possa accompagnare l'immagine in una data pagina web (ad esempio Google); 2. Archivi d'immagini (di musei, collezioni, archivi fotograci), attraver- so l'immissione in campi di ricerca testuali, più o meno elaborati (au- tore, titolo, data, soggetto, ecc.), di una delle parole chiave con cui potrebbe essere stata schedata (da un addetto all'archivio) l'immagine. Non è prevista alcuna ricerca d'immagini a partire dalle loro proprietà formali (salvo la possibilità in alcuni motori di ricerca di applicare un ltro in grado di selezionare tra immagini a colori, in bianco e nero, in scala di grigi o in tinta unita oppure di discriminare automaticamente tra fotograe e dipinti). In entrambi i casi, comunque, è sempre necessario l'intervento manuale per assegnare il contenuto rappresentato nell'immagini. Un esempio di sis- tema di annotazione manuale (non automatizzato) centrato sulla descrizione del contenuto dell'oggetto (il soggetto rappresentato nell'immagine, appunto) è Iconclass 2 il quale viene utilizzato dall'Istituto Centrale per il Catalogo e la Documentazione italiano (ICCD 3 ) del Ministero per i Beni e le Attività Cul- turali. Tale sistema di classicazione gerarchico è pensato come strumento 2http://www.iconclass.nl, un software proprietario ideato all'interno dell'Università di Utrecht e sviluppato oggi dall'olandese Edita Knaw. 3Istituto Centrale per il Catalogo e la Documentazione, http://www.iccd.beniculturali.it. 4
  • 16. 1.2. ANALISI DEL PROBLEMA per aiutare l'iconografo nella soggettazione di immagini (quadri, fotograe, manoscritti etc.) dotandolo di un vasto corpus di denizioni già pronte (rel- ative ad oggetti, persone, eventi ragurati etc.). Utilizziando questo sistema si può ipotizzare la dicoltà in cui incorre un iconografo sia nell'associare ad una ragurazione di un certo episodio biblico determinati codici sintetici, indipendenti dall'idioma dell'utente e corrispondenti a parole chiave o a temi complessi della storia dell'arte che consentirebbero di descriverlo il più pre- cisamente possibile sia durante il processo di catalogazione data l'imponente mole di descrittori e il loro altissimo livello di dettaglio. I tempi necessari per l'annotazione manuale sono lunghi, possono diventare proibitivi dal punto di vista dei costi e scoraggiare in ultima analisi descrizioni non superciali (quanti codici potete immaginare come necessari per descrivere un singolo quadro?). Ambiziosi progetti appartenenti a questo tipo di catalogazione con un vasto corpus d'immagini hanno dovuto recedere dall'obiettivo d'indiciz- zare in profondità le immagini stesse proprio per tali cause. Le limitazioni dovute a questi metodi, fondati sui metadati aggiunti manualmente, le de- scrive metaforicamente il prof. Lev Manovich 4 come la battaglia tra le im- magini e i loro creatori, ossia gli esseri umani. Questi vogliono controllare le immagini, la loro semantica, automatizzando questo controllo via computer; le immagini, per così dire, cercano di resistere a questi tentativi (si pensi per esempio a tutte quelle campagne pubblicitarie nate per veicolare un preciso messaggio e che, trasportate in dierenti contesti culturali, hanno provocato fraintendimenti, scandali, etc.). Se i metodi di intelligenza articiale hanno raggiunto una ranatezza tale da rendere sucientemente semplice ed eciente l'estrazione automati- ca di metadati da un brano di testo, come per i motori di ricerca, è ancora lontana la realizzazione di un computer in grado di riconoscere il soggetto rappresentato in un quadro e annotare automaticamente un'immagine digi- tale con parole chiave come David, Betsabea, Bibbia; ma è anche dicile che possa integrare l'immagine con keywords relative alle proprietà formali. 4Lev Manovich, professore associato al dipartimento di Arti Visuali all'University of California, San Diego ed autore de The Language of New Media. Si occupa di animazione, design e programmazione. 5
  • 17. 1.2. ANALISI DEL PROBLEMA Tuttavia molti sforzi convergono proprio verso questa direzione, ossia nella realizzazione di sistemi (ancora in gran parte allo stato sperimentale) chia- mati CBIR[1], acronimo di content-based image retrieval (recupero d'im- magini basato sul contenuto), nati per permettere la ricerca d'immagini non attraverso parole chiave a essa collegate (i metadati), ma mediante le propri- età dell'immagine stessa. Queste proprietà (features) dette di basso livello riguardano informazioni cromatiche, testurali e di disposizione delle forme (region-based). Tali proprietà (features) usate per la caratterizzazione delle immagini sono per lo più percettive. In particolare, quelle più utilizzate come features dai sistemi di ricerca di immagini basati sul contenuto sono il colore e la tes- situra. La scelta delle caratteristiche da estrarre da un'immagine è sempre il risultato di un compromesso tra ecacia del risultato ed ecienza in termi- ni di spazio su disco e di tempo necessario per l'elaborazione. Combinando, infatti, tra loro le caratteristiche principali si possono sia denire proprietà più complesse, ad esempio utilizzando le relazioni spaziali fra gli oggetti e attribuendo un signicato semantico ad alcune loro particolari combinazioni, sia aumentare anche le informazioni da recuperare e memorizzare in fase di analisi dell'immagine (pre-processing). Qualora le immagini in esame abbiano una struttura complessa e non omogenea, considerare l'immagine come un unico oggetto atomico non porta a risultati soddisfacenti. Ad esempio se due immagini ragurano lo stesso oggetto ma su sfondi diversi, le caratteristiche globali estratte probabilmente saranno molto dierenti quando, invece, la semantica dell'immagine potrebbe essere sostanzialmente la stessa. Per superare questi limiti, in alcuni sistemi di CBIR, è stato introdotto l'approccio region-based. I sistemi che implemen- tano tale approccio suddividono l'immagine in regioni omogenee in base alle features utilizzate e descrivono poi ciascuna regione mediante features locali quali il colore, la tessitura e la forma. Viene denita una misura di distanza per valutare la similarità fra le regioni, si confrontano le regioni solo in un secondo tempo sulla base dei risultati parziali e solo alla ne si confrontano le immagini nella loro totalità [2] [3] [4] [5] [6] [7]. 6
  • 18. 1.2. ANALISI DEL PROBLEMA Di conseguenza l'annotazione e il retrieval possono essere formulati come problemi di classicazione dove le classi identicano la semantica delle im- magini. Le operazioni di classicazione delle immagini sono basate sull'anal- isi del contenuto delle stesse, in particolare consistono nella rappresentazione delle loro caratteristiche primitive costituite dal colore, dalla trama e dalle forme geometriche elementari ivi presenti. L'estrazione di queste features può avvenire mediante dierenti processi. L'impiego di elementi unicamente graci porta ad una mancanza d'allineamento tra la percezione dell'utente e quella del sistema: questa dierenza è nota come gap semantico [1]. Tra le varie denizioni attribuite a questo concetto vi è quella secondo cui esso denota la dierenza sussistente fra le caratteristiche di basso livello e la sim- ilarità fra concetti di alto livello. In ogni caso esso denota la dierenza che c'è fra ciò che il computer è in grado di comprendere da solo e ciò che l'uomo è in grado di astrarre da caratteristiche di basso livello, ossia i concetti. Non è semplice ridurre questo gap semantico, ma negli ultimi anni la ricerca si è preoccupata molto a riguardo. Da tali sforzi è emersa l'impor- tanza d'integrare tecniche di apprendimento automatico non supervisionato e supervisionato o ibride tramite cui avverrà l'assegnazione di un'immagine ad una determinata classe, allo scopo di colmare questo gap semantico. Un altro aspetto importante di questi sistemi è la formulazione della query (richiesta) di un utente. A seconda del campo di utilizzo e delle esigenze del- l'utente può cambiare sostanzialmente l'approccio. Vi sono diversi mondi in cui la query può essere formulata. La richiesta dell'utente può avvenire presentando un'immagine particolare e volerla ritrovare in un database (ad esempio trovare a chi appartiene una certa impronta digitale); oppure può es- sere presentato un disegno, un identikit, o una gura stilizzata e si può voler trovare immagini simili. Ma non sempre si hanno a disposizione immagi- ni e può quindi essere necessario utilizzare parole, usate come annotazioni, etichette, keyword, o articolate in frasi per esprimere un'idea. E queste idee possono essere concrete, ma anche astratte. Si possono voler cercare immag- ini facilmente classicabili, di singoli o come combinazione di più soggetti. Ben più complicato risulta invece essere la ricerca di immagini che esprimano sensazioni astratte quali bambini gioiosi, persona triste, folle urlanti,etc. 7
  • 19. 1.2. ANALISI DEL PROBLEMA Diversi, sono gli aspetti che la ricerca in questo settore deve arontare e questo viene fatto anchè un sistema di recupero di immagini possa risultare molto più familiare per l'utente che, in genere, durante la propria attività di ricerca è molto più abituato a pensare alle immagini a livello di signicati semantici ad esse associati, piuttosto che a caratteristiche tecniche associate alle stesse quali colore, tessitura, forma etc. In [1] si individuano tre livelli di query in un sistema di CBIR, in cui gli ultimi due livelli (secondo e terzo) fanno riferimento a una ricerca di immagini di tipo semantico e il divario tra il primo e il secondo livello è quello che viene denito in [1] come il gap semantico. Essi sono: • Livello 1: Recupero degli elementi dell'immagine da feature primitive quali colore, texture, forma o posizione spaziale. Una interrogazione tipica di questa livello potrebbe essere la query by example cioè 'trova immagini come questa'; • Livello 2: il recupero di oggetti di un dato tipo identicato da carat- teristiche derivate, con un certo grado di inferenza logica. Per esempio, trova la foto di un ore; • Livello 3: Recupero per attributi astratti, che comportano un peso sig- nicativo del ragionamento di alto livello sul signicato degli oggetti o scene illustrate. Ciò include il recupero di eventi per nome, di immagini di signicato emotivo o ideologico, ecc. Un esempio di query potrebbe essere: trovare immagini di una folla gioiosa; Gli utenti della ricerca di livello 1, di solito, sono tenuti a presentare un' immagine di esempio o uno schizzo come query. Ma che cosa succede se l'u- tente non ha una immagine di esempio da sottoporre al sistema? Se il sistema supportasse query per keywords (parole chiavi) o per texture, sarebbe più probabile avere un retrieval adeguato? Come si rapportano le caratteristiche dell'immagine di basso livello alla semantica di alto livello? Per rispondere a questi interrogativi parte della ricerca scientica si è data come obietti- vo quello di trovare nuove strade per poter salvaguardare la semantica delle 8
  • 20. 1.2. ANALISI DEL PROBLEMA immagine, dando così origine a una nuova tipologia di image retrival basa- ta appunto su di essa; si parla quindi di Semantic-Based Image Retrieval (SBIR). Esistono ad oggi pochissimi prodotti commerciali che includono moduli per la ricerca basati sul contenuto (Livello 1), così come pochi sono i pac- chetti software utilizzabili: uno dei più sfruttati è senza dubbio QBIC (Query By Image Content) [8], sviluppato dall' Almaden Research Center dell'IBM, questa tecnica permette l'interrogazione del sistema, da parte dell'utente, tramite la composizione di uno schema dell'immagine da reperire facendo denire all'utente la forma e i colori. La maggior parte dei sistemi CBIR esistenti sono prototipi di ricerca sviluppati in laboratori ed università. Tra i tanti i più noti sono: Photobook [9] sviluppato al MIT Media Lab. il quale è un sistema informatico che consente all'utente di sfogliare data base d'immag- ini di grandi dimensioni in modo ecace usando sia le informazioni annotate che le caratteristiche di basso livello. Esso si articola in tre tipi di ricerca: • la prima fondata sull' apparenza (applicata ai data base facciali); • la seconda sull'uso della forma 2D (applicata ai cataloghi di beni di consumo come gli utensili manuali o ai cataloghi biologici); • la terza sulla caratteristica di basso livello quale la texture (applicata a data base d'industrie contenenti tessuti, piastrelle, rivestimenti murari ed altri prodotti tessili); VisualSEEk [3] della Columbia University totalmente basato sulla ricerca di caratteristiche di basso livello. La tipologia d'interrogazione al database da parte dell'utente è simile al QIBC ossia l'utente forma la query crean- do diagrammi spaziali delle aree colorate il cui risultato sarà la restituzione d'immagini aventi regioni simili a quelle indicate dall'utente stesso mediante l'implementazione region-based; NeTra [4] della UCSB il quale è anch'esso implementato tramite l'approccio region-based ed adopera come caratteris- tiche di basso livello il colore, la texture e la forma; WALRUS [5] sviluppato presso i Bell Laboratories è sempre implementato con region-based; Blob- world [6] dell'università della California, fondato sulle region-based, usa come 9
  • 21. 1.3. ARCHITTETURA DEI CBIR caratteristiche di basso livello il colore e la texture invece la query eet- tuata dall'utente consiste nello specicare gli attributi di uno o due regioni d'interesse; inne WINDSURF [7] sviluppato presso l'Università di Bologna, implementato mediante le region-based, esso è basato sulla texture in quanto caratteristica di basso livello. Il crescente interesse mostrato nei confronti dei sistemi per la gestione e il reperimento di immagini è legato al sempre mag- gior numero di settori nei quali vengono utilizzati, ad esempio in applicazioni Web ma anche nella medicina, nel campo militare e nella prevenzione del crimine. In questo elaborato il sistema di apprendimento supervisionato utilizzato è l'albero di decisione che, tramite il training set, cioè l'insieme di esempi usati per addestrare un sistema supervisionato, genera delle regole che potranno essere adoperate per la classicazione di nuove immagini. Un successivo passo è quello d'inserire le regole, generate dall'albero di decisione, in un sistema esperto per poter automatizzare e velocizzare la classicazione delle nuove immagini. 1.3 Archittetura dei CBIR Un sistema di ricerca di immagini basato sul contenuto deve riuscire ad es- trarre da ogni immagine, e in modo automatico, una qualche rappresentazione a basso livello del contenuto che sia comprensibile dal calcolatore e possa, quindi, permettere i confronti in fase di interrogazione in un sistema CBIR. Si possono distinguere due fasi distinte (Figura 1.1): • La fase di pre-processing (o di popolazione del database), in cui avviene l'estrazione automatica delle caratteristiche di basso livello (low lev- el features) dell'immagine (ad esempio la distribuzione del colore, in- formazioni di tessitura, di forma etc.). Tali informazioni vengono poi memorizzate ed eventualmente indicizzate. Questa fase è di norma e abbastanza costosa in termini di tempo. • La fase di interrogazione vera e propria (o fase di query processing), in cui l'utente ad alto livello, tipicamente attraverso un'interfaccia graca, 10
  • 22. 1.3. ARCHITTETURA DEI CBIR formula un'interrogazione alla collezione creata in precedenza mediante esempi visivi (selezionando un'immagine). L'immagine query selezion- ata, in generale, deve essere a sua volta processata dal sistema per es- trarre feature analoghe a quelle memorizzate per il database. In questo modo le caratteristiche estratte da ciascuna immagine della collezione sono comparate con quelle dell'immagine query secondo il modello di similarità implementato dal sistema: il problema del confronto fra le immagini si riconduce, quindi, alla sola determinazione di una misura di distanza fra le feature estratte. Questa seconda fase deve avere una durata molto breve perchè i risultati devono essere presentati all'utente e in tempo reale (questi si chiamano sistemi on-line). I vari CBIR dieriscono fra loro perchè adottano soluzioni diverse relativa- mente sia all'estrazione delle features, che alla valutazione della similarità oltre che alle modalità di indicizzazione dei dati utilizzate per aumentare l'ecienza. 11
  • 23. 1.3. ARCHITTETURA DEI CBIR Figura 1.1: CBIR: architettura di un Content-Based Image Retrieval. Tale archittetura si articola in due fasi principali la prima di pre-processing e la seconda di interrograzione. Il pre-processing elabora le immagini per estrarre le features ed inserirle in un data base, mentre l'interrogazione mediante un'interfaccia graca interroga il data base tramite esempi visivi. 12
  • 24. 1.4. OBIETTIVI 1.4 Obiettivi Lo studio dei CBIR pertiene ad un vasto campo d'indagine, in parte coin- cidente con quello della Computer Vision (insieme dei processi che mirano a creare un modello approssimato del mondo reale partendo da immagini bidimensionali) e dell'Intelligenza Articiale, da cui i CBIR attingono tec- niche e tecnologie. Questo settore ore applicazioni pratiche nali estrema- mente eterogenee, dal riconoscimento delle targhe delle auto, delle impronte digitali o dei volti, all'individuazione (e ltraggio) automatico di immagini pornograche dalle pagine web (ad. es., per la navigazione sicura di bambi- ni/adolescenti in Internet), passando per le applicazioni in campo medico, sia diagnostiche sia operative. I CBIR nascono anche in relazione alla cres- cente mole di informazioni disponibili in formato digitale, e alla conseguente necessità di nuovi, più veloci ma soprattutto diversi metodi di accesso a queste informazioni. L'obiettivo principale dei CBIR è quello di consentire queste nuove modalità di ricerca: l'automazione di certi procedimenti non ne aumenta semplicemente la velocità, ma modica alla base la natura dei risultati che si possono ottenere. In fondo, l'uomo è abituato anche a cer- care e a comparare, nella propria memoria, le immagini con le immagini, e non attraverso le parole; la nostra memoria (che pure è associativa, colle- gando keywords a persone, oggetti, eventi etc.) in generale funziona meglio visivamente e spazialmente. Lo scenario di riferimento, descritto precedentemente, della presente at- tività di tesi è la base su cui si vuole proporre un classicatore automantico di immagini basato sulle caratteristiche di basso livello fatures che con l'in- clusione di un sistema esperto attua delle migliorie rispetto ai lavori presenti nello stato dell'arte. 13
  • 25. Bibliograa [1] J. Eakins, M. Graham. Content-based image retrieval , TechnicalRe- port, University of Northumbria at Newcastle, 1999. [2] Wei Fan, Erheng Zhong, Jing Peng, Oliver Versheure, Kun Zhang, Jiang- tao Ren, Rong Yan, Qing Yang. Generalized and Heuristic-Free Feature Costruction for Improved Accurancy, SDM, pp. 629-640, 2010. [3] J. R. Smith e Shih-Fu Chang. VisualSEEk. a fully automated content-based image query system, Proceedings of the Fourth ACM International Conference on Multimedia, pp. 8798, 1996. [4] Wei-Ying Ma e B. S. Manjunath. NeTra: A toolbox for navigating large image databases, Proceedings of the IEEE International Conference on Image Processing, pp. 568571, 1999. [5] A. Natsev, R. Rastogi e K. Shim. WALRUS: A Similarity Retrieval Algorithm for Image Databases, IEEE Trans. Knowledge and Data Engineering, 2004. [6] C. Carson, M Thomas, S. Belongie, J. M. Hellerstein e J. Malik. Blob- world: A system for region-based image indexing and retrieval, Third International Conference on Visual Information System, 1999. [7] S. Ardizzoni, I. Bartolini e M. Patella. Windsurf: region-Based Image Retrival Usng Wavelets, 10th International Workshop on Database and Expert Systems Applications, pp. 167173, 1999. 14
  • 26. BIBLIOGRAFIA [8] W. Niblack, R. Barber, W. Equitz, M. Flickner, E. Glasman, D. Petkovic, P. Yanker, C. Faloutsos e G. Taubin. The QBIC: Querying Images By Contenet Using Color, Texture, and Shape, Proc. Storage and Retrieval for Image and Video Databases, 1993. [9] A. Pentland, R. W. Picard e S. Sclaro. Photobook: Content-Based Manipulation of Image Databases, SPIE Storage and Retrieval Image and Video Databases II, 1995. 15
  • 27. Capitolo 2 Stato dell'arte Prima di scegliere una precisa strada d'azione per la classicazione, risulta opportuno, in ogni caso, valutare lo stato dell'arte attuale relativo ai processi di classicazione automatica di immagini, soermandosi sulle proposte più interessanti ed andando ad indagare quali aspetti rendono queste adatte per i ni che ci stiamo preggendo e quali altri aspetti vanno, invece, scartati poichè non rilevanti in base agli obiettivi presentati nello scenario di riferi- mento. Si è deciso di concentrare la ricerca sugli studi più recenti che si sono evoluti nel corso degli ultimi anni cercando, dapprima, di comprendere le idee che stanno alla base degli approcci proposti e provvedendo, poi, a fare una valutazione conservativa sui vantaggi e gli svantaggi connessi alla loro applicazione in relazione al nostro scenario di riferimento. Tutto ciò con la consapevolezza che le tecniche che verranno riassunte nei paragra succes- sivi sono solamente alcune, quelle ritenute più signicative, delle tante che sono state esaminate e che fanno parte dello stato dell'arte. Fra quelle che, in qualche modo, risultano rilevanti e che sono riportate dettagliatamente nello stato dell'arte ritroviamo delle tecniche che in questa sede, per ragioni di completezza, abbiamo deciso semplicemente di citare suddividendole in due grossi loni: tecniche che utilizzano gli Alberi di Decisione e tecniche che fanno uso dei Random Forest. Per poi confrontandoli, nei capitoli successivi, con le tecniche scelte per lo svilippo della soluzione proposta. 16
  • 28. 2.1. CLASSIFICAZIONE 2.1 Classicazione Il termine Classiciazione viene utilizzato per varie attività che si possono ri- condurre alla gestione della conoscenza (data mining). Il data mining ha per oggetto l'estrazione di sapere o di conoscenza a partire da grandi quantità di dati. Lo scopo in ambito prettamente informatico e riguardante questo elaborato è l'estrazione automatica di conoscenza nascosta in voluminosi database al ne di renderla disponibile e direttamente fruibile. La classi- cazione, intesa come tecnica di data mining, viene utilizzata per analizzare grandi quantità di dati in modo automatico ed estrarne conoscenza; in par- ticolare la classicazione estrae conoscenza a livello di variabili categoriche o classi. Tali categorie o classi sono il risultato dell'individuazione delle carat- teristiche che indicano a quale gruppo un certo caso appartiene (es. discrim- inazione tra comportamenti ordinari e fraudolenti). I principali metodi di Classicazione si possono suddividere in base all'apprendimento automatico (Machine Learning) con cui lo si sviluppa. L'area del Machine Learning è una delle aree fondamentali dell'intelligenza articiale e si occupa della re- alizzazione di sistemi e algoritmi che si basano su osservazioni come dati per la sintesi di nuova conoscenza. L'apprendimento può avvenire catturan- do caratteristiche d'interesse provenienti da esempi, strutture dati o sensori, al ne di analizzarle e valutarne le relazioni tra le variabili osservate. Uno degli obbiettivi principali di ricerca dell'apprendimento automatico è quello d'imparare a riconoscere automaticamente modelli complessi ed a prendere decisioni intelligenti basate su dati. Essenzialmente vi sono quattro macro categorie di algoritmi di apprendimento automatico: 1. apprendimento supervisionato; 2. apprendimento non supervisionato; 3. apprendimento semi supervisionato; 4. apprendimento per rinforzo. 17
  • 29. 2.1. CLASSIFICAZIONE 2.1.1 Classicazione Supervisionata La Classicazione Supervisionata, come esplica il titolo, utilizza l'apprendi- mento supervisionato il cui obbiettivo è prevedere, dato un elemento di cui si conoscono un insieme di parametri (features), il valore di un diverso para- mentro di output relativo all'elemento stesso. Per fare ciò, nell'apprendimento supervisionato è denito (mediante apprendimento da insiemi di esempi) un modello. Figura 2.1: Classicazione supervisionata: schema generale di apprendimento supervisionato. Il problema è denito (Figura 2.1) a partire da un universo di elementi (descritti da valori assunti da un insieme x di features considerate come input del problema): ad ogni elemento è associato un valore y di output (o target). Avendo un insieme T di elementi (denominato Training set). Ogni elemento è descritto da una coppia (xi,yi), dove xi è il vettore dei valori delle d features x (1) i ,x (2) i , ... , x (d) i e yi è il relativo output. Quello che si vuole è derivare un modello della relazione (sconosciuta) tra le features ed i valori di output, che consenta, dato un nuovo elemento x, di predire il corrispondente valore di output y. La Classicazione (Supevisionata) delle immagini avviene dopo che il sistema è stato addestrato preventivamente con una serie d'immagini (già etichettate): il Training set. Quindi il compito di tale classicatore è quello di associare ad un immagine di input una o più classi note a priori. 18
  • 30. 2.1. CLASSIFICAZIONE Esempi di machine learning supervisionati sono: gli Alberi di decisione [2] [10] [11] [12] [13], le Macchine a vettori di supporto (SVM). 2.1.2 Classicazione Non Supervisionata La Classicazione Non Supervisionata utilizza l'apprendimento non supervi- sionato in cui i dati consistono soltanto in un insieme di features xi senza variabili di output yi. Quel che si vuole è individuare un modello che si adatti ai dati, al ne di scoprire proprietà interessanti di essi. In questo modo le classi sono sconosciute e devono essere derivate dai dati stessi durante la fasi di classicazione. Tale classicazione è usata in casi in cui non si hanno a disposizione immagini già etichettate per la fase di Training set. In questo caso si può parlare di clustering, ossia di suddivisione degli esempi in sot- toinsiemi disgiunti tali che gli esempi di uno stesso gruppo risultino molto simili tra loro. Esempi di machine learning supervisionati sono: K-Nearest Neighbor(K-NN) [14], Normalized Cut (NCut), Locality Preserving Cluster (LPC), k-means clustering. 2.1.3 Classicazione Semi Supervisionata L'algoritmo fonde le due tecniche sopra citate (Classicazione Supervisionata e Classicazione Non Supervisionata) per generare un'appropriata funzione di classicazione, grazie a piccole quantità di dati etichettati ed a grandi quantità non etichettate. E' stato dimostrato che l'uso di dati privi d'etichetta in concomitanza con quelli etichettati possono produrre un notevole migliora- mento della qualità dell'apprendimento. In oltre se la quantità delle immagini è elevata l'acquisizione di quelle già etichettate può divenire onerosa poichè richiede un agente umano capace di classicarle. Per ovviare a ciò l'apprendi- mento semi supervisionato può esser sicuramente utile. Un'esplicazione di ciò si può cogliere in [15]. 19
  • 31. 2.2. ALBERI DI DECISIONE 2.1.4 Classicazione Per Rinforzo La Classicazione Per Rinforzo adopera l'apprendimento per rinforzo il quale punta a realizzare algoritmi in grado d'apprendere e di adattarsi alle mu- tazioni dell'ambiente. Questa si fonda sul presupposto di poter ricevere degli stimoli dall'esterno a seconda delle scelte dell'algoritmo stesso. Quindi una scelta corretta comporterà un premio mentre una scorretta porterà ad una penalizzazzione del sistema (Funzione di Bontà), il cui obiettivo è il raggiung- imento del maggior premio possibile e di conseguenza del miglior risultato possibile. Alcuni esempi di tali algoritmi sono adoperati in [16] ed in [17]. 2.2 Alberi di Decisione La classicazione supervisionata dei dati, ossia l'individuazione delle carat- teristiche che indicano a quale gruppo un determinato caso appartiene, si attua attraverso l'apprendimento induttivo da esempi, in cui il sistema ap- prende la denizione di una funzione di classicazione. Un metodo di classi- cazione supervisionata è l'albero di decisione, ovvero le funzioni di classi- cazione acquisiscono un'organizzazione concettuale ad albero al cui interno ogni nodo rappresenta una variabile, un arco verso un nodo-glio indica un possibile valore per quella proprietà ed inne una foglia denisce il valore predetto per la classe a partire dai valori delle altre proprietà, che nell'albero si determinano tramite il cammino dal nodo-radice al nodo-foglia. Diversi sono gli algoritmi che generano alberi di decisione: • ID3; • C4.5; • C5.0/See5C5.0/See5; • CART; 20
  • 32. 2.2. ALBERI DI DECISIONE 2.2.1 ID3 ID3 è un algoritmo greedy che accresce l'albero secondo un'ordine top-down, selezionando ad ogni nodo l'attributo che classica meglio gli esempi cor- rentemente disponibili. In generale un algoritmo greedy è un algoritmo che cerca di ottenere una soluzione ottima da un punto di vista globale attraverso la scelta della soluzione più golosa (aggressiva o avida) ad ogni passo locale. Questa tecnica, dove applicabile, consente di trovare soluzioni ottimali per problemi di natura non deterministica. L'algoritmo ID3 termina se tutti gli esempi sono classicati perfettamente o se tutti gli attributi sono esaminati. Di fondamentale importanza è la scelta dell'attributo migliore, basato sul concetto di entropia. Fisicamente l'entropia può esser denita come l'unità di misura del disordine, mentre per la teoria dell'informazione essa misura l'incertezza dell'esito di un esperimento modellabile mediante una variabile aleatoria. E(S) = − n i=1 fs(i)log2fs(i) dove: • E(S) è il valore dell'entropia nella porzione di esempi di training cor- rentemente analizzati (S ); • n è il numero dei dierenti valori dell'attributo in S ; • fs(i) è la frequenza relativa al valore i nel set S. L'Information Gain rappresenta la riduzione attesa di entropia conseguente al partizionamento degli esempi di S in accordo al test. G(S, A) = E(S) − m i=1 fs(Ai)E(SAi )) dove: • G(S,A) è il guadagno nella porzione S dopo la scissione sull'attributo A; • E(S) è l'entropia nella porzione (S ); 21
  • 33. 2.2. ALBERI DI DECISIONE • m è il numero dei diversi valori dell'attributo A in S ; • fs(Ai) è la frequenza degli elementi avente come valore Ai dell'attributo A nella porzione S ; • Ai è l'i-esimo valore dell'attributo A; • SAi è il sottoinsieme di S contenenti tutti gli elementi aventi il valore dell'attributo A uguale a Ai. Il criterio basato sull'Information Gain sceglie il test che massimizza G(S, A). Quindi l'algoritmo ID3 può esser esplicitato come segue: 1. SE tutti gli esempi di T appartengo alla calasse Ci ALLORA crea un nuovo nodo Ci e fermati ALTRIMENTI: (a) scegli, usando un criterio euristico, un attributo F (non usato in precedenza) con i possibili valori v1, . . . , vn; (b) crea un nuovo nodo F da cui si dipartono i rami corrispondenti ai valori v1, . . . , vn; (c) partiziona l'insieme T in tanti sottoinsiemi T1, . . . , Tn ognuno dei quali contiene le istanze di T che hanno rispettivamente v1, . . . , vn come valore dell'attributo; 2. riapplica il passo 1. su tutti i sottoinsiemi Ti=1..n così ottenuti. 2.2.2 C4.5 Un altro algoritmo usato per generare un albero di decisione è il C4.5. Quest'ultimo non è altro che un'espansione dell'algoritmo ID3, con l'aggiunta di varie migliorie: 1. regole di post-pruning; 2. gestione di attributi continui; 22
  • 34. 2.2. ALBERI DI DECISIONE 3. gestione degli attributi con costi dierenti; 4. gestione del training set con i valori degli attributi mancanti; 5. miglioramento dell'ecenza computazionale. Il C4.5 costruisce l'albero di decisione tramite il training set, similmente al- l'algoritmo ID3 utilizzando il concetto di entropia. Il training set è S = s1, s2... di campioni già classicati. Ogni campione si=x1, x2... è un vettore, dove x1, x2... rappresentano gli attributi o le caratteristiche del medesimo. Il training set si amplia mediante un vettore c=c1, c2... dove quest'ultimi rappresentano le classi a cui ogni campione appartiene. Ad ogni nodo dell'albero l'algorit- mo C4.5 sceglie un attributo tra i dati che separano più ecientemente il set di campioni in sottoinsiemi applicando una delle classi. Questo crite- rio è la normalizzazione dell'Information Gain (dierente dall'entropia) che deriva dalla scelta di un attributo determinante la separazione dei dati. Per attuare tale scelta fondamentale è l'identicazione dell'attributo con la più alta normalizzazione dell'Information Gain. Tale algoritmo ricorre a piccole sottoliste. L'algoritmo C4.5 è strutturato nei seguenti passi: 1. Sceglie un attributo che meglio dierenzia i valori dell'attributo di output; 2. Crea, nell'albero, un ramo separato per ogni possibile valore dell'at- tributo scelto; 3. Divide le istanze in sottogruppi che riettono i valori dell'attributo scelto; 4. Per ogni sottogruppo il processo di selezione termina se: (a) Tutti i membri di un sottogruppo hanno lo stesso valore per l'at- tributo di output (in questo caso il ramo cosiderato va etichettato con il valore specicato); 23
  • 35. 2.2. ALBERI DI DECISIONE (b) Il sottogruppo contiene un singolo nodo oppure non è più possi- bile individuare un attributo in base al quale fare dierenziazioni (in questo caso il ramo considerato viene etichettato con il val- ore dell'attributo di output che caratterizza la maggior parte delle istanze rimanenti); 5. Si ripete iterativamente il passo 4. per ogni sottogruppo che non è stato etichettato come terminale. Un parametro che regola la capacità di generalizzazione di un albero è il livello di pruning (potatura dell'albero stesso). Il pruning consiste nel tagliare tutti i rami dell'albero che si ritiene peggiorino la capacità di generalizzazione e che incrementino la sua complessità e impedisce la divisione ricorsiva su attributi che non mostrano una chiara rilevanza. Il J48 è l'implementazione Open Source di java del suddetto algoritmo C4.5. 2.2.3 C5.0/See5C5.0/See5 Gli algoritmi C5.0/See5C5.0/See5 (rispettivamente il primo per Unix/Linux ed il secondo per Windows) sono versioni commerciali del C4.5 che orono alcune ottimizzazioni, tra cui si possono menzionare: • la velocità di computazione; • utlizzo della memoria più ecene; • ottiene risultati simile al C4.5 con alberi di decisione più piccoli. 2.2.4 CART CART è un algoritmo non parametrico ossia non necessita di pre-testare la normalità o altre assunzioni che riguardano la distribuzione statistica dei dati. L'albero ottenuto con tale algoritmo include solo le variabili indipenden- ti che risultano essere predittive della variabile dipendente; le altre variabili 24
  • 36. 2.2. ALBERI DI DECISIONE indipendenti non predittive non hanno eetto sul risultato nale, dierenzian- dosi oltremodo dai metodi sopramenzionati. La struttura di un classication tree include i nodi non terminali, i quali hanno due discendenti diretti, ed i nodi terminali che non subiscono ulteriori bipartizioni. Il primo nodo radice contiene tutte le osservazioni. Il metodo è binario e ricorsivo: binario poiché ogni nodo interno si divide in due discendenti diretti e ricorsivo poiché i nodi (non terminali) nati dalla suddivisione del precedenti nodi in due discenden- ti diretti possono diventare, a loro volta, nodi interni e suddividersi in due nodi successivi. Il processo continuerà no a che non verranno raggiunti nodi terminali che saranno tra di loro più eterogenei possibile ma che, allo stesso tempo, andranno a costituire classi molto omogenee al loro interno. Il cri- terio con i cui i nodi vengono suddivisi sarà tanto migliore quanto più alto sarà il grado di omogeneità in ogni nodo-glio ossia quanto minimo sarà il grado di impurità di ciascun nodo. Il criterio di suddivisione adottato è la funzione di diversità di Gini in base alla quale vengono individuate le suddi- visioni che minimizzano l'eterogeneità dei nodi-glio rispetto al valore della variabile dipendente. Il metodo di Gini si fonda sulle probabilità quadratiche di appartenenza, per ciascuna categoria, alla variabile dipendente. IG(i) = 1 − m j=1 f(i, j)2 L'indice di Gini raggiunge il suo minimo (zero) quando il nodo appartiene ad una singola categoria. Una volta individuata la suddivisione migliore per il nodo radice, il CART ripete il processo di ricerca per ogni nodo-glio continuando a bipartire nché non è più possibile alcuna suddivisione. Il processo di bipartizione è impossibile quando un nodo è costituito da un solo caso oppure quando tutti i casi che compongono un nodo appartengono alla stessa classe. L'algoritmo CART è il seguente: 1. per ogni campo si ordinano tutti i possibili valori in base a quanto permettono di diminuire la funzione di diversità; 2. fra le migliori divisioni di ogni campo si considera quella che più diminuisce 25
  • 37. 2.2. ALBERI DI DECISIONE la funzione di diversità; tale campo è scelto come splitter per il nodo; 3. si procede iterando il punto 1. no a quando non si riesce a minimizzare ulteriormente la funzione di diversità. 2.2.5 Estrazione Regole Da un albero di decisione, una volta generato, si possono estrarre le regole di classicazione, le quali si ottengono visitando l'albero dal nodo-radice al nodo-foglia interessato. Una regola di classicazione è una formula logica del tipo: IF antecedente THEN conseguente L'antecedente è una serie di test sui nodi interni di un albero di classi- cazione, mentre il conseguente identica la classe da assegnare alle istanze che soddisfano l'antecedente, la quale classe è specicata dal nodo-foglia. Esempio (Figura 2.2): IF ((Outlook = Sunny) AND (Wind = Weak )) THEN Play = YES 2.2.6 Applicazioni alle immagini Risale al 2010 uno degli studi nell'ambito degli Alberi di decisione attuato da P. Rajendran e M. Madheswaran, i quali nel [10] propongono un metodo per individuare i tumori del cervello tramite l'elaborazione d'immagini ottenute dal CT scan. Nella tecnica proposta vi è una prima fase di pre-processing in cui si estraggono le features grazie all'utilizzo dell'Istogramma, dove si attua il ltraggio ed il rilevamento del conne dell'immagine. L'algoritmo HARC, utilizzato nel sistema proposto, classica le regole generate tramite l'associazione di regole in normale, benigno e maligno. L'HARC è sviluppato sotto forma di alberi di decisione su training set mediante il concetto di entropia. Il dataset usato è stato messo a disposizione dal centro CT scan di Pandima. Le metriche utilizzate per valutare le prestazioni del sistema sono: l'accuratezza, la sensibilità e la specicità. 26
  • 38. 2.2. ALBERI DI DECISIONE Figura 2.2: Esempio di albero di decisione e di selezione di un percorso (in rosso) dalla radice ad una foglia per l'estrazione di regole di classicazione. Dello stesso anno è il [11] di M. K. Ghose, Ratika Pradhan e Sucheta Sushan Ghose, i quali avanzano una classicazione d'immagini remote, in- viate da satellite, tramite l'algoritmo di alberi di decisione, mentre i dati vengono trattati con la Separability Matrix. I passi principali del metodo si sviluppano come segue: • selezione ottimale del gruppo: tramite l'utilizzo della Separability Ma- trix, che individua una soglia e un gruppo in ordine di partizione del training set in modo ottimale; • in base alla strategia di partizionamento, il corrente training set è diviso in due sottoinsiemi considerando il valore della soglia; • quando il criterio di stop è soddisfatto il sottoinsieme è dichiarato foglia. Per testare il metodo proposto sono state considerate le immagini IRS- 1C/LISS III della riserva di Mayurakshi. Per la valutazione del metodo sono stati considerati l'accuratezza e il coeciente-K. 27
  • 39. 2.2. ALBERI DI DECISIONE In [12] è illustrato un metodo per analizzare e classicare immagini Po- larimetric SAR. Vi è una prima fase di decomposizione dell'immagine tramite H/A/Alpha Polarimetric. Successivamente si attua la segmentazione dell'im- magine e l'estrazione delle features. La segmentazione avviene tramite la Pauli Composition (metodo standard per le immagini PolSAR). I vari tipi di features considerati sono ottenuti mediante l'analisi object-oriented dell'im- magine, come ad esempio i valori medi dei pixel, la deviazione standard degli oggetti nell'immagine, la dierenza media dei pixel vicini, l'area, la lunghezza. Il classicatore implementato dagli autori fa uso del QUEST, ossia l'albero di decisione binario di Loh e Shin del 1997. Il metodo è stato testato su 497 immagini. Nello specico ne sono state adoperate 210 per l'addestramento e 287 per testare il classicatore. La metrica usata per valutare il metodo è l'accuratezza. Sempre nel 2010 gli autori di [2] propongono l'FCTree (Feature Construc- tion Tree) ossia un albero di decisione generato (adoperato in seguito per le previsioni) simultaneamente alla costruzione delle sue stesse features estrat- te in modo ricorsivo ad ogni nodo, facendo si che alla ne della ricorsione si abbia una nuovo spazio di features.La costruzione delle features attuata si fonda su un sottoinsieme di dati locali piuttosto che sull'intero dataset. Tutto ciò assicura la copertura ottimale del set di features realizzato. In più i pesi creati dalle operazioni sono ottimizzati dinamicamente a seconda della performance del dataset, di conseguenza si evita l'uso dell'intero dominio e il possibile overtting derivante. Ogni nodo genera un nuovo set di features prodotte in modo random (selezionato da un operatore in base ai pesi) il quale è identicato dal sottoinsieme di features precedentemente generato. Questo processo è iterato n volte in modo da selezionare le migliori features secondo l'information gain, calcolato dall'esempio del corrente nodo. Tale meccanis- mo produce un'alta discriminante di features ad ogni step. Il passo ricorsivo dell'albero prodotto dall'FCTree si può fermare per le seguenti condizioni: o il numero delle istanze nel nodo è più piccolo della soglia oppure il nodo con- tiene solo esempi di un'unica classe. Il metodo è stato testato su 22 dataset binari rispettivamente ottenuti da Uci, Caltech-256, Landmine Collection e Nuclear Ban Data. Le due classi di ogni dataset sono state adoperate per 28
  • 40. 2.2. ALBERI DI DECISIONE comparare il suddetto metodo con altri, utilizzando lo standard 10-fold cross validation, mentre come parametro di valutazione si è scelta l'accuratezza. La 10-fold cross validation è una tecnica statistica utilizzabile in presenza di una buona numerosità del training set, in particolare tale tecnica consiste nella suddivisione del dataset totale in 10 parti uguali e ad ogni passo una parte, a turno, è esclusa divenendo il validation dataset, mentre la restante parte costituisce il dataset. Su ogni validation dataset si calcola l'accuratezza, la loro media sarà l'accuratezza nale del metodo sottoposto. La proposta prensentata in [18] introduce un metodo per il riconoscimento facciale. Gli autori propongono un estrattore di features basato sul Local Bi- nary Pattern (LBP, una descrizione della scala delle texture). Questo metodo estrappola le features più discriminati in modo supervisionato tramite l'uti- lizzo degli alberi di decisione per questo è stato nominato Decision Tree-based Local Binary Pattern DT-LBP. Il risultato dell'elaborazione dell'immagini, da parte dell'algoritmo menzionato, può essere visto come una quantizzazione di ogni pixel con un particolare albero di decisione binario (implementato dagli autori) e ogni ramo dell'albero codica un particolare LBP. La strut- tura risultante è un istogramma spaziale discriminante dovuto ai confronti tra i pixel ad ogni nodo. I database utilizzati per testare l'algoritmo sono Feret e Cas-Peal-R1, mentre l'accuracy è stata scelta come metrica per la valutazione. Un altro lavoro è del 2009 [13]. Lo studio attuato da questi autori cerca di combinare l'analisi dei Subpixel con gli alberi di decisione per migliorare la mappatura di zone umide nell'area del delta del ume Yellow. La compo- sizione delle zone umide sono costituite da parti solide/sabbiose, vegetazione e da corpi liquidi. Ogni classe delle zone umide sono una combinazione di queste parti basi, con proporzioni diverse. Gli spettri dei pixel misti nel- l'immagine sono una miscela dello spettro dell'acqua, del suolo e della vege- tazione. In questo modo l'analisi dei Subpixel è utile per la decomposizione e l'estrazione dei materiali maggiormente presenti nella zona umida dall'im- magine. Dopo di che, tramite gli alberi di decisione, avviene la classicazione sulle classi che compongono le zone umide. L'analisi dei Subpixel è imple- mentata utilizzando RSI ENVI4.0 e IDL dell'ambiente su immagini ASTER, 29
  • 41. 2.3. RANDOM FORESTS che sono state adoperate come dataset. I risultati della classicazione sono stati valutati tramite l'accuratezza e il coeciente K, e confrontati con i risultati ottenuti con il metodo di classicazione MLC (maximum likelihood classication). 2.3 Random Forests La tecnica dei Random Forests è un'estensione dell'approccio relativo alla costruzione degli alberi di decisione. L'algoritmo Random Forests si basa sulla costruzione di molteplici alberi di classicazione (sviluppati tramite l'algorit- mo CART). Tale tecnica genera ogni albero a partire da un diverso dataset e la classicazione avviene sulla base di un semplice voto di maggioranza. Si consideri un dataset di training T con N campioni (x1, y1), (x2, y2), ..., (xN , yN ), dove x1 è il vettore delle features di dimensione D, mentre y1 è l'etichetta della classe di appartenenza. Il metodo dei Random Forests si sviluppa secondo i seguenti step: 1. Si genera a partire dall'insieme originario un sottoinsieme In-Bag t di n elementi (capionamento con reinserimento) (n ≤ N ), questo set di dati verrà usato nella costruzione dell'albero come training set; 2. Si genera un sottoinsieme di d features (dD). Ad ogni nodo le d feature sono selezionate casualmente e solo esse vengono usate per valutale la bipartizione ottimale (d rimane costante durante lo sviluppo del random forests); 3. Ogni albero viene fatto crescere no alla sua massima estensione senza usare tecniche di pruning. Il punto 1. è ripetuto più volte in modo tale da generare più sottoinsiemi t. 2.3.1 Applicazioni alle immagini Molti studi sono stati apportati in questo ambito, tra cui menzioniamo [19]. Il metodo che gli autori sottopongono alla nostra attenzione opera direttamente 30
  • 42. 2.3. RANDOM FORESTS sui valori dei pixel senza l'utilizzo di estrazioni di features. L'immagine per poter essere classicata è prima suddivisa in subwindows, estratte in modo casuale, per ognuno delle quali si costruisce l'albero di decisione e le si assegna ad una classe, dopo di che si addizionano tutte le classi delle varie subwindows, la classe che risulta dominante sarà quella di appartenenza dell'immagine. Per la descrizione dell'immagine è stato utilizzato un array di dimensione Wx x Wy, formato da k, l ((k,l) descrivono la posizione dei pixel) e ch dove: • k = 1, .. Wx; • l = 1, .. Wy; • ch = 1, .., CH dove CH in caso di immagini in bianco e nero corrispon- derà ad 1 (CH = 1), altrimenti avrà 3 valori utilizzando il metodo RGB (CH = 3). Gli autori, nell'ambito del machine-learning, propongono un approccio mediante gli extremely randomized tree, che hanno la stessa struttura di un classico albero di decisione ma l'algoritmo d'induzione è dierente. Nell'algo- ritmo d'induzione classico l'albero si sviluppa in modo top-down tramite l'u- tilizzo di esempi di apprendimento e ricercando per ogni nodo il test che mas- simizza il valore stimato. Al contrario nell'algoritmo d'induzione extremely randomized tree l'albero si sviluppa selezionando ad ogni nodo l'attributo del test in modo completamente casuale e la soglia è scelta a random attorno al suo principale valore corrente. In questo modo si ottiene una funzione sem- plice e ricorsiva. Per valutare il metodo hanno utilizzato due tipi di dataset reperibili pubblicamente in rete: COIL-100 e ZuBuD. Il primo è un dataset di immagini a colori da 128x128 pixel di 100 dierenti oggetti in 3D, con 72 immagini per oggetto messo in posizioni di intervalli di 5 gradi . Il secon- do invece, creato nell'Aprile 2003, è un database d'immagini a colori di 201 edici di Zurigo. Ogni edicio è rappresentato da 5 immagini acquisite da 5 dierenti punti di vista. Le valutazioni sono state eettuate considerando il tasso d'errore prodotto dal metodo. Altra contemporanea ricerca è sviluppata nell'articolo [20]. L'estrazione e la rappresentazione delle features avviene tramite il metodo CS-LBP (Centre 31
  • 43. 2.3. RANDOM FORESTS Symmetric Local Binary Pattern), che è una variante del LBP (Local Binary Pattern) più performante e veloce dal punto di vista computazionale, e la trasformata di Wavelet che permette di codicare i dati dell'immagine. La classicazione avviene tramite l'uso del random forests. Questo è un insieme di alberi di decisione, ognuno dei quali si sviluppa utilizzando un tipo di randomizzazione. La sua struttura è di tipo binario, si genera in modo top- down e può avere al massimo due gli. La procedura di addestramento del random forests parte dalla scelta casuale dal sottoinsieme I' del WCS-LBP locale dei dati di addestramento I. Un nodo n dei dati di addestramento In è diviso iterativamente in parte sinistra e parte destra (Il,Ir) tramite l'utilizzo della soglia t che è scelta in modo casuale dalla funzione di divisione. Diversi candidati sono creati in modo casuale tramite tale funzione e la soglia in corrispondenza del nodo diviso. Tra questi candidati sarà selezionato quello che massimizza l'Information Gain rispetto al nodo selezionato. Il metodo è stato sperimentato su un dataset di 2400 immagini a raggi-X dell'IRMA 2007. Le metriche utilizzate per valutare l'ecacia del metodo proposto sono principalmente due, il richiamo e la precisione. Un altro lavoro è del 2009 [21] che descrive un approccio per la clas- sicazione delle immagini ImageCLEF (immagini radiologiche). In questo metodo è stato utilizzato l'istogramma di contorno per la descrizione delle features globali, mentre l'istogramma SIFT è stato adoperato per le fea- tures locali. Questi vettori di features sono combinati tramite un semplice concatenamento degli stessi. Il suddetto metodo è denominato PCTs ed è organizzato mediante una gerarchizzazione dei dierenti gruppi: il primo no- do corrisponde ad un gruppo contenete tutti i dati, che ricorsivamente si partiziona in gruppi più piccoli scendendo l'albero, o meglio il PCTs può essere implementato tramite l'algoritmo standard d'induzione degli alberi di decisione. Nello specico si sono considerate due tecniche d'apprendimento, ampiamente impiegate negli alberi di decisione, il random forest e il baggign. I risultati ottenuti dalle due tecniche sono simili, ma gli autori considereranno maggiormente solo i risultati desunti dal random forest, poiché esso risulta nettamente più veloce del secondo. Il dataset su cui è stato testato il metodo presenta un totale di 1733 radiograe. I risultati ottenuti nel dataset Image- 32
  • 44. 2.3. RANDOM FORESTS CLEF2009 mostrano un numero di errori di classicazione pari, totalmente, a 1.352,56 risultando così il terzo tra i gruppi partecipanti. Pubblicato nel 2008 dagli autori Jamie Shotton, Matthew Johnson e Roberto Cipolla è l'articolo [22]. L'idea principale si basa sul Semantic Tex- ton Forest il quale a sua volta si fonda sui randomized decision forest. Tali alberi di decisione sono implementati mediante le Bag of Semantic Texton (cioè un vocabolario di elementi base di tessitura detti Texton) e successiva- mente si giunge alla caratterizzazione delle patch sulla base dell'istogramma degli stessi Texton. Questo approccio evita l'estrazione di features e permette di lavorare sui pixel, aumentando le prestazioni, in quanto non necessitano di ltri o features locali. Per generalizzare meglio lo spettro del colore, il metodo è stato sviluppato tramite l'ausilio del CIELab, più performante dell'RGB. L'algoritmo proposto per la categorizzazione dell'immagine è caratterizzato da un supporto non lineare SVM, il quale, sfruttando e adattando la gerar- chia dei Texton, tramite i Semantic Texton Forest e gli istogrammi dei Bag of Semantic Texton, denisce i parametri di tali SVM. I dataset utilizzati per testare il modello, su citato, sono principalemnte due: MSRC e VOC2007. Le metriche adoperate per la valutazione del sistema sono la media della pre- cisione per la categorizzazione e l'accuratezza per la prestazione del metodo nell'ambito della segmentazione dell'immagine. Degno di nota [23] dello stesso anno di pubblicazione, in cui si propone la classicazione delle immagini tramite i Random Forest. Specicatamente gli autori considerano una serie di test per la rappresentazione e l'estrazione delle features, usufruendo, in primis, del single-histogram class models (SHCM) ed in seguito, dapprima dell'RGB, poi dell'HOG ed inne dei Texton. Testando il modello e combinando le varie features su menzionate si giunge all'indi- viduazione del top delle prestazione. L'aggiunta dei Texton non aumenta le performance, probabilmente a causa di una ridondanza delle features data la presenza di quest'ultimi. In ne vi è un CRF stage (Conditional Random Field), molto sensibile ai colori, che permette di aumentare maggiormente la resa del modello proposto. I dataset utilizzati principalmente sono MSRC e VOC2007. Le metriche adoperate per misurare il rendimento del metodo proposto è l'accuratezza. 33
  • 45. 2.3. RANDOM FORESTS In [24] gli autori propongono una soluzione per il problema Indoor-Outdoor. Tale problematica si riferisce alla necessità di classicare le immagini in due grandi categorie: • Indoor : sono tutte quelle immagini che rapprensentano luoghi chiusi (ed esempio foto riguardanti interni di uci, case, scuole etc); • Outdoor : sono le immagini che rappresentano luoghi aperti (ad esempio parchi, strade, piazze etc). Tale metodo si basa sull'idea di stimare l'illuminazione tramite algoritmi ap- positi per tale compito, il tutto si basa sulla scelta del miglior algoritmo. Per ogni immagine si estaggono le features, per la descrizione delle quali gli autori utilizzano lo spazio YCbCr. Successivamente utilizzando il Random Forest, coposto da alberi di decisione CART, per attuare la classicazione delle immagini Indoor-Outdoor. Il dataset utilizato è composto da 6785 im- magini prelevati dal web o acquisti tramite scanner, aventi dimensioni di 256 pixel. Tutte le immagini sono state etichettate manualmente (2105 Indoor, 4680 Outdoor ). Il trainning set è stato formato da 2000 di queste immagini (1000 per ogni classe). L'accuratezza è stata scelta come metrica per valutare il metodo. Inne un lavoro del 2006 [25] in cui gli autori propongono un metodo che utilizza un algoritmo di co-training il cui paradigma asserisce che le fea- tures possono essere divise in due set distinti, i cui classicatori C1 e C2 (rispettivamente Random Forest e Naive Bayes) si formano su un piccolo training-set già etichettato ed in seguito ogniuno di essi classica un secondo set più grande non etichettato. Consecutivamente sarà scelto il classicatore che avrà ottenuto il miglior esito di predizione. Ne risulta che il migliore della classicazione è il C1 ossia il Random Forest ottimizzato dal Naive Bayes. La rappresentazione e delle immagini avviene mediante il MPEG-7 che denisce i descrittori e la distribuzione dello spazio di colore da associare ad un'immagine e successivamente vi è la rielaborazione di questi descrittori rappresentati con lo standard YCrCb (spazio di colore che codica l'infor- mazione RGB). I dataset usati sono: l'ISB dataset il quale contiene immagini di indoor-outdoor e il SUNET dataset del quale sono state scelte solo le due 34
  • 46. 2.4. ESTRAZIONE DELLE FEATURES categorie di animali e sport, rispettivamente aventi una 511 immagini e l'al- tra 415 immagini. La valutazione del co-training è stata eettuate sul 10-fold cross validation adoperando come parametro di valutazione l'accuratezza. 2.4 Estrazione delle Features L'estrazione delle features di basso livello dell' immagine è la base di sistemi CBIR. Essa può avvenire dall'intera immagine o da alcune zone (regioni) della stessa. Le features basate sul colore sono una delle caratteristiche più ampiamente usate in image retrieval. I colori sono deniti in uno spazio di colore selezionato. Esiste una varietà di spazi di colore, che sono utilizzati spesso in applicazioni diverse. Fra gli spazi di colore quelli che risultano più vicini alla percezione umana e, quindi,vengono maggiormente impiegati in un contesto di RBIR sono: RGB [26], LAB [27], HSV [28], e il YCrCb [20][24]. L'estrazione delle features può avvenire mediante dierenti processi og- nuno dei quali produce altrettante diverse caratteristiche. I metodi principali d'astrazione delle features sono i seguenti: • l'algoritmo SIFT; • l'algoritmo SURF; • l'algoritmo HSV; • l'algoritmo dei Correlogrammi. Ad essi se ne possono aggiungere altri descrittori di features quali ad esempio istogramma dei colori RGB o YCrCb, le Subwindows [19], i Texton [22] ed altri ancora. 2.4.1 SIFT Scale-Invariant Feature Transform o SIFT [31] è un algoritmo in grado di estrarre features da immagini, al ne d'individuare dei punti omologhi. L'al- goritmo SIFT ricerca i punti (keypoint) su regioni più ampie dell'immagine 35
  • 47. 2.4. ESTRAZIONE DELLE FEATURES superando i problemi di occlusione e di deformazione prospettica. A tale scopo, ogni immagine è innanzi tutto ltrata, mediante convoluzioni gaus- siane, formando un spazio delle scale. Per ogni scala sono quindi calcolate le dierenze fra gaussiane adiacenti i cui massimi sono memorizzati come punti d'interesse (keypoint). La ricerca di questi punti nello spazio delle scale anziché sulle immagini originali fa si che i keypoints estratti non coincidano con spigoli o discontinuità radiometriche, ma si localizzino in prossimità degli stessi. Per ogni keypoints individuato è quindi denito un descrittore (vet- tore di numeri) capace di descrivere i gradienti radiometrici nell'intorno del punto d'interesse indipendentemente da rotazioni, variazioni di scala e cam- biamenti d'illuminazione. In base alla distanza euclidea fra questi vettori n- dimensionali è inne possibile individuare keypoints omologhi fra la immagi- ni. Un esempio in Figura 2.3, formata da tre immagini, in modo da rilevare i punti chiave nella prima immagine, i punti rimantenti a basso contrasto nella seconda ed inne ltra i punti che si trovano sul bordo. Nell'ultima immagine si mostrano i punti chiave. Figura 2.3: Algoritmo SIFT: l'immagine viene elaborata in modo da rilevare i punti chiave nella prima immagine, i punti rimantenti a basso contrasto nella seconda ed inne ltra i punti che si trovano sul bordo. Nell'ultima immagine si mostrano i punti chiave. 36
  • 48. 2.4. ESTRAZIONE DELLE FEATURES 2.4.2 SURF Speeded-Up Robust Feature o SURF [32] (Figura 2.4) è uno dei più re- centi algoritmi d'estrazione di features, può essere visto come un'evoluzione del SIFT. Come quest'ultimo, infatti, il SURF associa ai punti d'interesse individuati nell'immagine un descrittore, cioè un vettore caratteristico del- l'intorno di tali pixel, il quale dev'essere distintivo e quindi permettere di riconoscere una particolare features dalle altre e al tempo stesso robusto al rumore, agli errori di rivelazione e alle deformazioni geometriche che avven- gono tra le immagini. Tali descrittori infatti vengono poi utilizzati per trovare le corrispondenze fra le features d'immagini diverse, confrontando semplice- mente la distanza (per esempio quella euclidea 1 ) che esiste tra questi vettori. Il SURF sfrutta una rappresentazione intermedia dell'immagine da proces- sare, detta integral image la quale viene calcolata molto rapidamente a partire dall'immagine originale e viene utilizzata per velocizzare il calcolo delle nestre necessarie all'estrattore. Adoperando questa tecnica, il compito di calcolare la somma dell'intensità di una qualsiasi porzione dell'immagine si riduce alla sola esecuzione di un paio di operazioni e ad alcuni accessi di memoria. Figura 2.4: Algoritmo SURF: esempio d'immagine (grato) elaborato con l'algoritmo SURF 1Distanza euclidea è la distanza fra due punti, ossia la misura del segmento avente per estremi due punti. Per due punti monodimensionali, P = (px, py)eQ = (qx, qy), la distanza è calcolata come: (px − qx)2 = |px − qx|. 37
  • 49. 2.4. ESTRAZIONE DELLE FEATURES 2.4.3 HSV Hue Saturation Value o HSV [28] è un metodo additivo di composizione di colori e il modo per rappresentarli in un sistema digitale; analogamente al sistema visivo umano opera una netta distinzione tra luminosità e colore. Il colore di un punto è determinato dalle seguenti componenti: saturazione, luminosità e tonalità. Per saturazione s'intende l'intensità e la purezza del colore, la luminosità (valore) è l'indicazione della sua brillantezza, mentre la tonalità indica il colore stesso (Figura 2.5). Figura 2.5: Le immagini rappresentate nel modello HSV consistono in tre immagini componenti, una per ogni caratteristica: hue, saturation, value. 2.4.4 Correlogramma Il Correlogramma [33] o l'Autocorrelogramma [30] è un graco che rappre- senta l'autocorrelazione di una serie storica in funzione del ritardo con cui l'autocorrelazione è calcolata. Nello specico il Correlogramma di colore, at- tuato dopo la quantizzazione dell'immagine, è una tabella indicizzata da una 38
  • 50. 2.4. ESTRAZIONE DELLE FEATURES coppia di colori, dove il k -esimo ingresso di (i,j) specica la probabilità di trovare un pixel di colore j a distanza k da un pixel di colore i all'interno dell'immagine. Questo è un esempio di matrice quantizzata a 8 colori:         2 3 8 2 7 5 3 5 2 3 7 7 1 2 5 5         Una volta quantizzata l'immagine, si attua l'algoritmo Correlogramma sull'immagine stessa, settando la distanza. Con l'applicazione dell'algoritmo Correlogramma a distance 1 si avrà una matrice 8x8 con le relative frequenze:                     0 2 1 0 0 0 0 0 2 2 4 0 4 0 3 1 1 4 4 0 5 0 5 2 0 0 0 0 0 0 0 0 0 4 5 0 2 0 8 2 0 0 0 0 0 0 0 0 0 3 5 0 8 0 2 0 0 1 2 0 2 0 0 0                     Si dividono i coecenti della matrice per la somma degli elementi della riga a cui appartengono: somma elementi della prima riga = 3 ;   2 3   = 0.6 39
  • 51. 2.5. CONCLUSIONI In questo modo si avrà la matrice normalizzata:                     0 0.6 0.3 0 0 0 0 0 0.125 0.125 0.25 0 0.125 0 0.1875 0.0625 0.5 0.1904 0.1904 0 0.238 0 0.23809 0.0952 0 0 0 0 0 0 0 0 0 0.1904 0.23809 0 0.0952 0 0.3809 0.0952 0 0 0 0 0 0 0 0 0 0.166 0.277 0 0.444 0 0.111 0 0 0.2 0.4 0 0.4 0 0 0                     Figura 2.6: Cambiamento di colore illustrato da una sequenza di frame. Il Correlogramma cattura la dispersione di colore. A dierenza del Correlogramma, l'Autocorrelogramma esamina solo il colore dominante. 2.5 Conclusioni Le tecniche di apprendimento non Supervisionato presentano risultati peg- giori rispetto al Supervisionato, d'altra parte è l'unico a poter essere utilizzato in real time ed a non richiedere necessariamente l'intervento dell'operatore umano, sia nella fase di training sia in occasione di classicazioni errate da parte dell'algoritmo, che andrebbe quindi corretto tramite un nuovo - allenamento. Le tecniche di apprendimento Supervisionato è ancora quello maggiormente utilizzato e no ad ora ha fornito risultati migliori nonostante alcuni svantaggi: 40
  • 52. 2.5. CONCLUSIONI • forte dipendenza dal training set; • problemi con l'analisi di dati sparsi. Nell'ambito specico del machine learning Supervisionato si è optato per gli alberi di decisione, scartando i random forests essendo quest'ultimi meno idonei al ne del progetto e computazionalmente più onerosi rispetto ai primi. Gli algoritmi SIFT e SURF, cercando i punti in comune con l'immag- ine paragonata (in modo tale da poter trovare immagini della stessa capo- volta, orizzontalmente o verticalmente), risultano poco utili alla nalità del progetto. Uno degli estrattori di features più veloce e di conseguenza meno oneroso dal punto di vista computazionale è l'Istogramma (di colore, HSV) ma questo cattura solo la distribuzione del colore in un'immagine non in- cludendo altre informazioni, risultando inferiore al Correlogramma che oltre alla distribuzione di colore include l'informazione sulle correlazioni di colore nello spazio, risultando il più adeguato alle necessità del progetto. Di conseguenza il progetto presentato in questo lavoro di tesi si baserà principalmente sulla tecnica di apprendimento supervisionato (alberi di de- cisione) e sull'algoritmo correlogramma per l'estrattore di features. 41
  • 53. Bibliograa [2] Wei Fan, Erheng Zhong, Jing Peng, Oliver Versheure, Kun Zhang, Jiang- tao Ren, Rong Yan, Qing Yang. Generalized and Heuristic-Free Feature Costruction for Improved Accurancy, SDM, pages 629-640, 2010. [10] P. Rajendran e M. Madheswaran. Hybrid Medical Image Classication Using Association Rule Mining With Decision Tree Algorithm , Journal Of Computing, 2010. [11] M. K. Ghose, Ratika Pradhan e Sucheta Sushan Ghose . Decision Tree Classication of Remotely Sensed Satellite Data using Spectral Separa- bility Matrix, International Journal of Advanced Computer Science and Applications, 2010. [12] Z. Qi, A.G. Yeh, X. Li e Z. Lin. Land Use and Land Cover Classication Using Radarsat-2 Polarimetric SAR Image, ISPRS TC VII Symposium, 2010. [13] W. Wei, X. Zhang, X. Chen, J. Tang e M. Jiang. Wetland Mapping Using Subpixel Analysis and Decision Tree Classication in the Yellow River Delta Area, ISPRS 37, pp. 667-670, 2009. [14] O. Boiman, E. Shechtman e M. Irani. In Defense of Nearest-Neighbor Based Image Classication, Proc. of IEEE Int. Conf. on Computer Vis. Pat. Rec (CVPR '08), pp. 1-8, 2008. [15] M. Guillaumin, J. Verbeek e C. Schmid. Multimodal Semi-Supervised Learning for Image Classication, Proc. of IEEE Int. Conf. on Computer Vis. Pat. Rec (CVPR '10), 2010. 42
  • 54. BIBLIOGRAFIA [16] A. Lakdashti e H. Ajorloo. Contenet-Based Image Retrilal Based on Relevance Feedback and Renforcement Learning for Medical Images, ETRI Journal, pp. 240-250, 2011. [17] M. T. Harandi, M. N. Ahmadabadi e B. N. Araabi. Optimal Lo- cal Basis: A Rinforcement Learning Approach for Face Recognnition, International Journal Of Computer Vision, pp. 191-204, 2009. [18] D. Maturana, D. Mery e A. Soto. Face Recognition with Decision Tree- based Local Binary Patterns, Proc. of Asian Conference on Computer Vision (ACCV), 2010. [19] B.Sumalatha e M.Seetha. An Ecient Approach for Robust Image Classication Based on Extremely Randomized Decision Trees, Iter- national Journal of computer Science and Information Technologies (IJCSIT), pp. 677-685, 2011. [20] Byoung Chul Ko, Seong Hoon Kim e Jaen-Yeal Nam. X-ray Image Classication Using Random Forest with Local Wavelet based CS-Local Binary Pattern, Journal Digit Imaging, 2011. [21] Ivica Dimitrovski, Dragi Kocev, Suzana Loskocska e Saso Dzeroski. Im- ageCLEF2009 Medical Image Annotation Task: PCTs for Hierarchical Multi-Label Classication, Multilingual Information Access Evaluation II. Multimedia Experiments, pp. 231-238, 2009. [22] Jamie Shotton, Matthew Johnson e Roberto Cipolla. Semantic Texton Forest for Image Categorization and Segmention, Proc. of IEEE Int. Conf. on Computer Vis. Pat. Rec (CVPR '08),2008. [23] F. Schrodd, A. Creiminisi e A. Zisserman. Object Class Segmentation using Random Forest, British Machine Vision Conference (BMVC), 2008. [24] S. Bianco, G. Ciocca, C. Cusano e R. S. Improving Color Constancy Using Indor-Outdoor Image Classication, IEEE Transactions on Image Processing, pp. 2381-2392, 2009. 43
  • 55. BIBLIOGRAFIA [25] Irena Koprinska, Da Deng and Felix Feger. Image Classication Using Labelled and Unlabelled Data, Proceedings of 14h European Signal and Image Processing Conference (EUSIPCO), 2006. [26] P. L. Stanchev, D. Green Jr. e B. Dimitrov. High level color similarity retrieval , International Journal Information Theories Applications, pp. 283-287, 2003. [27] Y. Liu, D.S. Zhang, G. Lu, W.-Y. Ma. Region-based image retrieval with perceptual colors , Proceedings of Pacic-Rim Multimedia Conference (PCM), pp. 931-938, 2004. [28] Z. Lei, Lin Fuzong e Z. Bo. A CBIR method based on color-spatial feature , Proceedings of the IEEE Region 10 Conference, pp. 166-169, 1999. [29] Huang, J., Kumar, S. R., Mitra, M., Zhu, W., Zabih, R. Image Indexing Using Color Correlograms, Proc. of IEEE Int. Conf. on Computer Vis. Pat. Rec (CVPR '97), pp. 762-768, 1997. [30] Lux, Mathias and Chatzichristos, Savvas A. Lire: lucene image re- trieval: an extensible java CBIR library, Proceeding of the 16th ACM international conference on Multimedia, pp. 10851088, 2008. [31] Lowe, David G. Object Recognition from Local Scale-Invariant Features, Object Recognition from Local Scale-Invariant Features, 1999. [32] Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool. - SURF: Speeded Up Robust Features, Computer Vision and Image Understanding (CVIU), pp. 346359, 2008. [33] Huang, Jing and Kumar, S. Ravi and Mitra, Mandar and Zhu, Wei- Jing and Zabih, Ramin. Image Indexing Using Color Correlograms, Conference on Computer Vision and Pattern Recognition, pp. 762-768, 1997. 44
  • 56. Capitolo 3 Soluzione proposta: CISE 3.1 Soluzione La soluzione proposta per la classicazione delle immagini si compone della scelta di uno spazio di rappresentazione valore-attributo. Su tale spazio di rappresentazione si è usato l'albero di decisione le cui regole sono state inte- grate in un Sistema Esperto per eettuare decisioni automatiche. Tramite un'adeguata interfaccia graca, consentirà una iterazione fra un soggetto umano e il programma che darà risposta alle sue problematiche di classi- cazione dell'immagine e l'aggiornamento o la creazione di una nuova base di conoscenza. Ci si riferirà a questo sistema proposto mediante l'acronimo CISE (Classicazione di Immagini Mediante un Sistema Esperto). 3.2 Archittetura CISE La scelta della tecnica di apprendimento supervisionato è ricaduta sugli alberi di decisione, in particolare sul J48 ossia l'implementazione java del C4.5. Tale algoritmo restituisce le regole, generate dall'albero, in forma pressa di seguito queste regole vengono ritrascritte in forma inssa per essere utilizzate dal sistema esperto. Con CLIPS, strumento scelto per la creazione del sistema esperto, si è riusciti ad attuare procedure d'inferenza adeguate alla risoluzione 45
  • 57. 3.2. ARCHITTETURA CISE del problema. Tale sistema è costituito dalla base di conoscenza determinata dalle regole estratte dall'albero e dalle asserzioni dei fatti (feature estratte). Il sistema proposto è formato da quattro fasi principali: 1. estrazione delle features; 2. creazione dell'albero di decisione; 3. creazione regole CLIPS (sistema esperto); 4. interfaccia java per la previsione dell'immagine inserita dall'utente. Figura 3.1: E' possibile notare i tre componenti: l'estrattore di features, il generatore dell'albero di decisione e il sistema esperto. 3.2.1 Estrattore di Features Il modulo dell'estrattore di features è suddiviso principalmente in 5 sotto- moduli, ognuno dei quali rapprensenta uno specico algoritmo. Per il correl- ogramma [33] si può scegliere due paramentri distance e il range. La distance serve per denire il vicinato, cioè tutti i pixel che sono presenti a distanza d dal pixel preso in cosiderazione. Il secondo modulo è l'implementazione dell'Autocorrelogramma [30] in cui ci sono tre dierenti metodi di analisi disponibili: FullNeighbourhood, Quarterneighbourhood e Superfast. FullNeighbourhood calcola l'intero vicinato di pixel data la distanza d; 46
  • 58. 3.2. ARCHITTETURA CISE Figura 3.2: FullNeighbourhood: metodo per la selezione dell'intero vicinato del pixel selezionato. Quarterneighbourhood analizza i pixel in basso e a destra del vicinato rispetto al pixel considerato; Figura 3.3: Quarterneighbourhood: metodo per la selezione di un quarto del vicinato del pixel selezionato. Superfast utilizza l'approccio descritto nel documento [29]. Figura 3.4: Superfast: metodo per la selezione del vicinato orizzontale e verticale in positivo. Il terzo, il quarto e il quinto modulo si riferiscono rispettivamente all'HSV [28], al SIFT [31] e al SURF [32]. 3.2.2 Albero di Decisione La tecnica di apprendimento supervisionato adoperata è l'albero di deci- sione implementato in java mediante l'algoritmo C4.5 ideato da john Ross Quinland. Tale implementazione è stata sviluppata con l'ausilio WEKA. WEKA è l'acronimo di Waikato Environment for Knowledge Analysis, software svilppato presso l'università di Waikato, Nuova Zelanda. Il software 47
  • 59. 3.2. ARCHITTETURA CISE è open source rilasciato con licenza GNU e che raggruppa metodi di apprendi- mento automatici tra cui diverse implementazioni dell'albero di decisione, con il nome di J48 è catalogata l'implementazione del C4.5. 3.2.3 Sistema Esperto Il sistema esperto è un programma che cerca di riprodurre le prestazioni di una o più persone esperte in un determinato campo di attività. I programmi adoperati dai sistemi esperti sono in grado di attuare procedure d'inferen- za adeguate alla risoluzione di problemi particolarmente complessi, a cui potrebbe, se posto in una dimensione umana, porre rimedio solo un esperto del settore disciplinare in cui rientra la questione da risolvere. Ciò implica che tale sistema possa avvalersi in modo risoluto e autorevole delle istanze inferenziali che soggiacciono al corretto funzionamento del programma, cos- icché sia capace di superare le incertezze e le dicoltà su cui volge la propria attività. I sistemi esperti di dieriscono da altri programmi simili, in quanto sono sempre in grado di esibire i passaggi logici che esplicano le loro decisioni. Il sistema esperto si compone essenzialmente di tre componenti: 1. una base di conoscenza, in cui vi sono accumulate le regole deduttive e i dettami procedurali di cui il sistema si serve nel suo operato; 2. un motore inferenziale, in cui il programma si occupa di applicare in concreto le nozioni contenute nella base di dati; 3. un'interfaccia utente, che permette l'iterazione fra il soggetto umano e il programma che deve dare risposta ai suoi problemi. I sistemi esperti basati su regole sono dei programmi composti da regole nella forma IF condizione THEN azione. Dati una serie di fatti, i sistemi esperti, grazie alle regole di cui sono composti, riescono a dedurre nuovi fatti. 3.2.4 Funzionamento del Sistema Il sistema è utilizzabile mediante un'interfaccia graca che da la possibilità al sistema di interagire con l'utente. Inizialmente è necessario far scegliere 48
  • 60. 3.2. ARCHITTETURA CISE all'utente se estrarre una nuova base di conoscenza o acquisire un sistema già appreso (Figura 3.5). Figura 3.5: Avvio: permette all'utente di scegliere se utilizzare una base di conoscenza predenita o se estrarra da un nuovo dataset. Qualora l'utente abbia scelto la prima opzione, ovvero l'acquisizione di una nuova base di conoscenza, il sistema permetterà il settaggio di ulteriori parametri (Figura 3.6). Il parametro fondamentale da impostare è lo spazio di rappresentazione con cui andare a rappresentare le immagini (Figura 3.7). Una vola scelta la tecnica di estrazione delle features sarà possibile settare anche il numero di immagini rappresentative per ogni classe (Figura 3.8). Inne si indicherà al sistema dove sono le immagini che formano il training set (Figura 3.9). 49
  • 61. 3.2. ARCHITTETURA CISE Figura 3.6: Nuova nestra per l'inserimento di una nuova base di conoscenza. Figura 3.7: Sezione per la scelta di features e del dataset facente parte della nestra di generazione della nuova base di conoscenza. 50
  • 62. 3.2. ARCHITTETURA CISE Figura 3.8: Inserimento del numero di immagini per classe da selezionare dalla path, in cui si trova il dataset di immagini. Figura 3.9: Nuova nestra per l'inserimento della path, in cui si trova il dataset di immagini. 51
  • 63. 3.2. ARCHITTETURA CISE Come specicato precedentemente se è selezionato Estrazioni tramite AutoCorrelogrammi, il sistema darà la possibilità di poter decidere quale tipo di vicinato si intende considerare: FullNeighbourhood, Quarterneigh- bourhood o Superfast (Figura 3.10). Anche con gli altri estrattori si dovrà immetere le speciche richieste dal sistema. Figura 3.10: Selezione del tipo di vicinato per l'estrattore Autocorrelogram- ma. 52
  • 64. 3.2. ARCHITTETURA CISE In più vi è la possibilità di eettuare la 10-fold cross validation (WEKA) oppure mediante la 10-fold cross validation con il sistema esperto (Figura 3.11). Figura 3.11: All'avvio della generazione dell'albero si ha la possibilità di poter avviare o meno la 10-fold cross validation implementato da WEKA. 53
  • 65. 3.2. ARCHITTETURA CISE Nel footer dell'applicazione sono presenti 3 terminali (Figura 3.12), il primo (Figura 3.12a) descrive le varie azioni dell'utente, il secondo (Figura 3.12b) è visualizzato prima l'albero generato e succesivamente, se selezionato il pulsante delle 10-fold cross validation anche gli esiti delle stesse. L'utlimo (Figura 3.12c) terminale verranno mostrate le regole prodotte dall'albero di decisione e il loro numero totale. (a) Primo terminale, adibito per la descrizione delle azioni dell'utente. (b) Secondo terminale, è visualizzato prima l'albero generato e succesivamente, se selezionato il pulsante delle 10-fold cross validation anche gli esiti delle stesse. (c) Terzo terminale, verranno mostrate le regole prodotte dall'albero di decisione e il loro numero totale. Figura 3.12: Terminali presenti nella fase di acquisizione della base di conoscenza. 54
  • 66. 3.2. ARCHITTETURA CISE Una volta appreso il modello in grado di classicare le immagini è possibile sia consultare le regole tramite il terzo terminale (3.12c) sia visualizzare la legenda relativa ai attributi presenti nelle regole (Figura 4.12). Figura 3.13: Visualizzazione della legenda degli attributi presenti nelle regole generate. 55
  • 67. 3.2. ARCHITTETURA CISE Se invece, si opta per la scelta di una base di conoscenza prestabilita si aprità la nestra in cui l'utente potrà scegliere sia il tipo di spazio di rappresentazione (autocorrelogramma, correlogramma, HSV, SIFT, SURF) sia la quantità di classi (minumo 2 massimo 4) di cui la base di conoscenza sarrà composta. Figura 3.14: Scelta della base di conoscenza: permette di scegliere quale tipo di features e la quantità di classi (massimo 4) sarà costituito il dataset. Inne vi è la nestra per eettuare il test, in questa nestra è possibile se- lezionare l'immagine desiderata dall'utente da sottoporre al sistema, il quale, dopo avere estratto le features (con lo stesso metodo esplicato in precedenza), avvierà il motore inferenziale del Sistema Esperto che applicando in concre- to le nozioni contenute nella base dati e le regole accumulate in precedenza predirà la classe dell'immagine. Nella Figura 3.15 si possono notare i due pulsati Aggiorna e Nuova, il primo oggiorna la base di conoscenza in modo tale da poter aggiungere altre regole a quelle già esistenti, mentre il secondo pulsante permette di creare una nuova base di conoscenza. 56
  • 68. 3.2. ARCHITTETURA CISE Figura 3.15: Test: l'utente può interrogare la base di conoscenza tramite l'interfaccia. 57
  • 69. Bibliograa [28] Z. Lei, Lin Fuzong e Z. Bo. A CBIR method based on color-spatial feature , Proceedings of the IEEE Region 10 Conference, pp. 166-169, 1999. [29] Huang, J., Kumar, S. R., Mitra, M., Zhu, W., Zabih, R. Image Indexing Using Color Correlograms, Proc. of IEEE Int. Conf. on Computer Vis. Pat. Rec (CVPR '97), pp. 762-768, 1997. [30] Lux, Mathias and Chatzichristos, Savvas A. Lire: lucene image re- trieval: an extensible java CBIR library, Proceeding of the 16th ACM international conference on Multimedia, pp. 10851088, 2008. [31] Lowe, David G. Object Recognition from Local Scale-Invariant Features, Object Recognition from Local Scale-Invariant Features, 1999. [32] Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool. SURF: Speeded Up Robust Features, Computer Vision and Image Understanding (CVIU), pp. 346359, 2008. [33] Huang, Jing and Kumar, S. Ravi and Mitra, Mandar and Zhu, Wei- Jing and Zabih, Ramin. Image Indexing Using Color Correlograms, Conference on Computer Vision and Pattern Recognition, pp. 762-768, 1997. 58