mastertesi

219
Alma Mater Studiorum Universit ` a di Bologna SCUOLA DI INGEGNERIA Corso di Laurea Magistrale in Ingegneria Informatica Tesi di Laurea in Tecniche e Processi di Data Mining M WritingSimilarity Search, un’architettura software per l’analisi automatica di testi manoscritti: caratteristiche paleografiche tradizionali e low-level feature a confronto. Relatore: Chiar.ma Prof.ssa Ilaria Bartolini Laurendo: Antonio Davide Cal` ı Sessione II Anno Accademico 2014/2015

Upload: reply

Post on 13-Apr-2017

151 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: mastertesi

Alma Mater Studiorum Universita diBologna

SCUOLA DI INGEGNERIA

Corso di Laurea Magistrale in Ingegneria Informatica

Tesi di Laurea in Tecniche e Processi di Data Mining M

WritingSimilarity Search,un’architettura software per l’analisi

automatica di testi manoscritti:caratteristiche paleografiche

tradizionali e low-level feature aconfronto.

Relatore:

Chiar.ma Prof.ssa

Ilaria Bartolini

Laurendo:

Antonio Davide Calı

Sessione II

Anno Accademico 2014/2015

Page 2: mastertesi

A me stesso. . .

Page 3: mastertesi
Page 4: mastertesi

Indice

Introduzione 7

1 Windsurf on Basics 9

1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.2 Windsurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.2.1 Funzionalita . . . . . . . . . . . . . . . . . . . . . . . . 10

1.2.2 Histogram-Based Image Retrieval (HBIR) . . . . . . . 15

1.3 Struttura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.4 SIFT/SURF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.4.1 SIFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.4.2 SURF . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.4.3 SIFT vs SURF . . . . . . . . . . . . . . . . . . . . . . 22

1.5 Momenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.5.1 Invarianza dei descrittori . . . . . . . . . . . . . . . . . 23

1.5.2 Momenti per forme 2-D . . . . . . . . . . . . . . . . . 25

2 Paleografia: ambito di lavoro 31

2.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.2 ImageJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.3 Graphoskop . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.3.1 Funzionalita . . . . . . . . . . . . . . . . . . . . . . . . 34

2.3.2 Interfaccia . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.4 Disuguale Metodico del Calibro . . . . . . . . . . . . . . . . . 37

2.4.1 Calcolo del Disuguale Metodico del Calibro . . . . . . . 40

3

Page 5: mastertesi

INDICE INDICE

2.4.2 Calibro come Pattern . . . . . . . . . . . . . . . . . . . 45

3 WSS: Writing Similarity Search 53

3.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.2 Interfaccia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.2.1 Main GUI . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.2.2 Extract Paleography Feature . . . . . . . . . . . . . . . 57

3.2.3 Compare Paleography Feature . . . . . . . . . . . . . . 60

3.2.4 Evaluate Calibro . . . . . . . . . . . . . . . . . . . . . 62

3.3 Estensione WSS . . . . . . . . . . . . . . . . . . . . . . . . . . 64

3.3.1 Package Paleography . . . . . . . . . . . . . . . . . . . 64

3.3.2 PaleographyImage Class . . . . . . . . . . . . . . . . . 65

3.3.3 WrapperFeaturePaleographyMySQL Class . . . . . . . 71

3.3.4 CalibroImage Class . . . . . . . . . . . . . . . . . . . . 74

3.3.5 EvaluateCalibro Class . . . . . . . . . . . . . . . . . . 77

3.3.6 WrapperFeatureCalibroMySQL Class . . . . . . . . . . 79

4 Testing - Preparazione 83

4.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4.2 Descrizione Database . . . . . . . . . . . . . . . . . . . . . . . 84

4.3 Test 1 - Paleografia . . . . . . . . . . . . . . . . . . . . . . . . 86

4.3.1 Test 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . 88

4.3.2 Test 1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . 89

4.3.3 Test 1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . 90

4.3.4 Test 1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . 90

4.3.5 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . 90

4.4 Test 2 - Calibro . . . . . . . . . . . . . . . . . . . . . . . . . . 91

4.4.1 Test 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . 91

4.4.2 Test 2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . 94

4.4.3 Test 2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . 96

4.4.4 Test 2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . 99

4.4.5 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . 103

Page 6: mastertesi

INDICE 5

4.5 Test 3 - SURF . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

4.5.1 Test 3.1 - antonio non 1.jpg . . . . . . . . . . . . . . . 105

4.5.2 Test 3.2 - antonio punto 1.png . . . . . . . . . . . . . . 108

4.5.3 Test 3.3 - antonio questo 1.png . . . . . . . . . . . . . 108

4.5.4 Test 3.4 - antonio rubik 1.png . . . . . . . . . . . . . . 110

4.5.5 Test 3.5 - antonio smetti 1.png . . . . . . . . . . . . . 112

4.5.6 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . 113

4.6 Test 4 - Momenti . . . . . . . . . . . . . . . . . . . . . . . . . 115

4.6.1 Test 4.1 - antonio non 1.jpg . . . . . . . . . . . . . . . 116

4.6.2 Test 4.2 - antonio punto 1.png . . . . . . . . . . . . . . 117

4.6.3 Test 4.3 - antonio questo 1.png . . . . . . . . . . . . . 118

4.6.4 Test 4.4 - antonio rubik 1.png . . . . . . . . . . . . . . 119

4.6.5 Test 4.5 - antonio smetti 1.png . . . . . . . . . . . . . 119

4.6.6 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . 120

4.6.7 SURF vs Momenti . . . . . . . . . . . . . . . . . . . . 121

4.7 Test 5 - Classificazione . . . . . . . . . . . . . . . . . . . . . . 121

4.7.1 Paradigma SURF . . . . . . . . . . . . . . . . . . . . . 123

4.7.2 Paradigma a Momenti . . . . . . . . . . . . . . . . . . 127

4.7.3 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . 129

4.8 Test 6 - Calibro come Pattern . . . . . . . . . . . . . . . . . . 129

4.8.1 Test 6.1 - Granularita Pagina . . . . . . . . . . . . . . 130

4.8.2 Test 6.2 - Granularita Parola . . . . . . . . . . . . . . 133

4.8.3 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . 137

4.9 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

5 Test e Benchmark 145

5.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

5.1.1 Metriche: Valutazione al Framework . . . . . . . . . . 145

5.2 Benchmark . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

5.2.1 Introduzione ai Benchmark . . . . . . . . . . . . . . . . 153

5.2.2 Arabic WI contest . . . . . . . . . . . . . . . . . . . . 156

5.2.3 4NSigComp2010 . . . . . . . . . . . . . . . . . . . . . 157

Page 7: mastertesi

INDICE INDICE

5.3 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

5.3.1 Montale - Diario Postumo . . . . . . . . . . . . . . . . 159

5.3.2 IAM-HD . . . . . . . . . . . . . . . . . . . . . . . . . . 184

5.3.3 Arabic WIC . . . . . . . . . . . . . . . . . . . . . . . . 198

5.3.4 4NSigComp2010 . . . . . . . . . . . . . . . . . . . . . 201

5.3.5 Conclusione . . . . . . . . . . . . . . . . . . . . . . . . 209

Conclusioni 213

Bibliografia/Linkografia 217

Page 8: mastertesi

Introduzione

Negli ultimi anni, il sempre maggiore interesse riguardo l’analisi di dati

multimediali e il riconoscimento degli oggetti in essi contenuti, ha portato

allo sviluppo di algoritmi sempre piu efficaci ed efficienti per l’estrazione di

informazioni caratterizzanti gli stessi.

Uno dei campi piu importanti e quello delle immagini che, dopo il testo scrit-

to, genera il piu alto volume per quantita di dati. Data la crescente impor-

tanza di immagini e la loro quantita in continuo aumento, si sono sviluppati,

nell’ultima decade, vari modelli di rappresenzatione basati sulle informazioni

contenute in esse; a tal proposito, esiste un framework, Windsurf, nato con

l’esigenza di processare in maniera efficiente query di tipo content-based sulle

immagini, decomposte con paradigma region-based.

Si voglia ora pensare a un caso piu specifico di analisi di immagini, ovve-

ro al problema del falso d’autore, ovvero lo studio di un manoscritto per

attribuirne o meno la paternita a uno specifico autore. Ad oggi sono stati

sviluppati algoritmi in grado di estrarre informazioni da un’immagine model-

landola in un insieme di dati virtuali chiamati features, e, attraverso questi,

e possibile confrontare l’immagine di interesse con un insieme di immagini

appartenenti a un dataset di cui si e in possesso, chiamato ground-truth. La

ricerca di similarita (Similarity Search), dunque, offre all’utente un modello

interattivo per l’analisi dell’immagine: diversi paradigmi sono nati per poter

risolvere il problema, tra cui, primo fra tutti, il modello SIFT/SURF che

offre una soluzione del tutto generale, applicabile, indubbiamente, anche alla

risoluzione del problema del falso d’autore. Un secondo modello, sempre di

7

Page 9: mastertesi

8 INDICE

natura general-purpouse, e il modello Bag of (Visual-)Word, nato per l’analisi

di documenti testuali e successivamente evolutosi per adattarsi all’indagine

delle immagini. Un ulteriore modello viene rappresentato dal momento di

una immagine, ovvero una particolare media dell’intensita dei pixel che com-

pongono l’immagine. Infine, un modello piu specifico per la risoluzione al

problema si puo trovare nell’analisi paleografica del testo manoscritto: l’idea

e di estrarre dall’immagine le caratteristiche salienti che possono aiutare a

rilevare un falso, quali corpo di scrittura, angolo di scrittura, spaziatura fra

parole, densita di scrittura, etc.

Lo scopo di questa tesi e di estendere, e re-ingegnizzare, il framework Writing

Similarity Search, nato con l’obiettivo di rilevare il falso d’autore, implemen-

tando l’analisi semi-automatica delle features paleografiche.

A questo scopo, si e deciso di utilizzare un plug-in java gia esistente, ImageJ,

nato per l’Image Processing e Analysis, integrando il componente Grapho-

skop, che permette di estrarre caratteristiche paleografiche di nostro interesse.

Page 10: mastertesi

Capitolo 1

Windsurf on Basics

1.1 Introduzione

Windsurf (Wavelet-based INDexing of ImageS Using Region Fragmenta-

tion) e un framework Java per l’estrazione di features a basso livello di imma-

gini e per l’elaborazione efficiente di query basato sul paradigma region-based

image retrieval (RBIR).

In particolare, Windsurf utilizza la trasformata Wavelat per estrarre colore

e texture da un’immagine e partizionarla in un insieme di regioni omogenee,

ognuna descritta da un set di features relative.

Il framework e in grado di confrontare le immagini esaminando il risultato re-

lativo al grado di somiglianza tra le regioni di cui le immagini sono composte.

L’intero sistema, con il trascorrere del tempo, e stato esteso con l’aggiun-

ta di metodologie e paradigmi inizialmente non presenti nel software base.

Essendo un programma facilmente estendibile, le nuove funzionalita non ven-

gono date nel pacchetto base, ma risiedono in programmi piu specifici, tra

cui vi e anche WritingSimilarity Search, ovvero l’ecosistema utilizzato per il

confronto di manoscritti.

9

Page 11: mastertesi

10 1. Windsurf on Basics

Fra le funzionalita aggiunte vi sono due nuovi paradigmi: SIFT/SURF e i

Momenti.

Il capitolo si propone come sorta di riassunto dell’intero framework con

le ulteriori funzionalita, che verranno successivamente sfruttate per test e

produzione di codice.

1.2 Windsurf

1.2.1 Funzionalita

Windsurf offre numerose funzionalita per lo studio e l’analisi dell’imma-

gine. Esse sono suddivisibili nelle seguenti categorie:

1. Feature Extraction: definisce i paradigmi di estrazione di features

da una o piu immagini.

2. Similarity Model: definisce i metodi di Matching offerti per il con-

fronto tra immagini.

3. Retrieval Model: definisce i criteri di scelta nell’individuazione del

risultato delle query.

4. HBIR: definisce un modello alternativo al paradigma RBIR, in cui

l’immagine viene semplicemente rappresentata in base ai colori di cui

e composta.

Feature Extraction

Per la suddivisione di una immagine in regioni, il framework necessita di

pre-processare l’immagine. Successivamente alla segmentazione sara possibi-

le descrivere ogni singola regione attraverso un vettore di 37-D.

Il pre-processing si suddivide in 3 importanti fasi: DWT, Clustering e Feature

Indexing.

Page 12: mastertesi

1.2 Windsurf 11

Figura 1.1: Viene mostrato il processo a cui sono sottoposte le immagini per

la suddivisione in regioni

DWT

La prima fase DWT analizza l’immagine in tempo frequenza, utilizzando la

trasformata discreta Wavelet in 2-D.

Clustering

Durante questa fase, l’immagine viene frammentata in diverse regioni, ognu-

na delle quali contiene un insieme di pixel fra loro omogenei per colore e

texture.

Figura 1.2: Viene mostrato il risultato dell’algoritmo di Clustering K-means

applicato alla prima immagine, utilizzando ordinatamente k=2, 10 e 4.

Il framework utilizza l’algoritmo K-Means per il clustering, permettendo di

suddividere oggetti in K gruppi sulla base dei loro coefficienti di trasformata

simili.

La composizione digitale dei colori di ogni singolo cluster viene rappresen-

Page 13: mastertesi

12 1. Windsurf on Basics

tata da 4 centroidi, ognungo dei quali rappresenta le 4 sottobande di una

immagine: LL, LH, HL, HH. Ogni sottobanda rappresenta la media degli

istogrammi di colore tridimensionali RGB.

La variazione della texture, invece, viene rappresentata da 4 matrici di cova-

rianza 3x3 simmetriche.

Feature Indexing

La fase finale di Feature Indexing si occupa di tradurre la regione analizzata

di features simili in un un vettore 37-D cosı composto:

• Size, ovvero il numero di pixel contenuto nella regione

• 4 Centroidi, per le 4 sottobande, ognuno composto da un vettore 3-D

HSV/RGB

• 4 Matrici di covarianza 3x3, composta ciascuna da 6 numeri decimali

poiche matrici simmetriche

Il vettore cosı creato servira per il ritrovamento e la comparazione tra le

diverse immagine composte da regioni, ognuna delle quali descritta da un

proprio vettore di 37 elementi recanti informazioni rispetto al numero di

pixel, ai colori e alla texture.

Similarity Model

La sezione di Similarity Model definisce i metodi di confronto tra le varie

immagini per poterne stabilire il grado di similarita: ovvero, vengono definiti

i criteri di Matching tra le varie regioni che permettono di avere un valore di

distanza complessivo tra due immagini. Ogni regione di una immagine viene

confrontata con tutte le regione di una seconda immagine tramite una metri-

ca che ne calcola la distanza: sulla base di queste, vengono dunque stabilite

delle associazioni tra le regioni secondo funzioni di Matching.

Windsurf offre due funzioni di Matching: il Matching 1-1 e il Matching N-M.

Page 14: mastertesi

1.2 Windsurf 13

L’utilizzo di ogni funzione varia a seconda del numero di regioni estratte

dal framework, non noto a priori, che dipende dalla peculiarita della singola

immagine.

Matching 1-1

Figura 1.3: Esempio di Matching 1-1

Il Matching 1-1 effettua un match di una regione della prima con una e

una sola regione della seconda; nel caso in cui le due immagini abbiano un

numero differenti di regioni, per l’immagine che ne ha in eccesso, alcune di

essere rimarrano senza un effettivo match.

Matching N-M

Figura 1.4: Esempio di Matching N-M

A differenza del metodo 1-1, il matching N-M prevede che ogni regione di

una immagine possa fare match con piu regioni dell’altra non ponendo, teo-

ricamente, un effettivo limite al numero di regioni.

Page 15: mastertesi

14 1. Windsurf on Basics

All’atto pratico, pero, l’applicazione impone alcuni vincoli che tengono conto

della dimensione totale di ogni immagine. Ad ogni regione un determinato

peso in modo tale che la somma di essi equivalga ad 1. Ogni regione effettua

uno o piu match con il limite del peso ad essa imposto.

Retrieval Models

Windsurf, data la sua generalita, implementa due modelli di ricerca,

chiamati Ranking, diversi tra di loro: k-Nearest Neighbors (k-NN) e Skyline.

K-Nearest Neighbors

Il modello k-NN si basa sul concetto che debbano essere restituiti i k oggetti

piu vicini rispetto all’oggetto query desiderato. In pratica l’algoritmo attri-

buisce ad ogni immagine presente in persistenza una distanza dall’immagine

query e ne restituisce le k con distanza minore (o punteggio maggiore).

Esaminando successivamente le classi delle k immagini restituite, si puo clas-

sificare l’immagine query con la classe piu presente. La classe dell’immagine

puo variare a seconda del contesto, ovvero in base alle distanze utilizzate e al

k selezionato: diverse distanze e un diverso k possono portare a un risultato

differente, come si evince dalla figura.

Figura 1.5: Esempio di k-NN, dove l’elemento di query e il cerchio rosso. In

caso di k=3 la classe attribuitagli sarebbe il colore verde, mentre in caso di

k=7 sarebbe il colore rosa.

Page 16: mastertesi

1.2 Windsurf 15

Skyline

Un paradigma completamente diverso di risoluzione query e dato dal model-

lo Skyline. Esso non restituisce un valore di distanza per ogni immagine del

risultato, ma si basa su un concetto di dominanza.

Un’immagine IA, formata dalle regioni ai, domina una immagine IB, for-

mata dalle regioni bi, relativamente a una immagine di query Q, se e solo se

per ogni:

• Per ogni matching qi-bj esiste un matching qi-ak tale che

distanza(qi, bj) ≥ distanza(qi, ak) (1.1)

• Esiste almeno una regione qi per cui per ogni matching qi-bj esiste un

matching qi-ak tale che

distanza(qi, bj) > distanza(qi, ak) (1.2)

Sia per il modello kNN che per il modello Skyline vengono messi a disposizioni

algoritmi che sfruttano l’indicizzazione per permettere esecuzioni delle query

piu efficienti.

1.2.2 Histogram-Based Image Retrieval (HBIR)

A differenza del modello RBIR, esiste un modello concorrente di rappre-

sentazione dell’immagine basato unicamente sulla distribuzione dei colori su

di un istogramma tridimensionale, quale RGB (Red Green Blue) o HSV (Hue

Saturation Brightness).

Un concetto simile e stato sfruttato per la creazione dei centroidi di colori

nella fase di clustering di Windsurf precedentemente illustrato.

Page 17: mastertesi

16 1. Windsurf on Basics

Figura 1.6: Esempio di modello HBIR

In questo caso l’immagine viene descritta solo attraverso la feature colore,

non analizzando piu la texture: ovviamente il modello di estrazione features

risulta molto piu semplice, ma piu carente di informazioni.

Ad esempio, due immagini molto diverse tra loro, ma con la stessa gamma di

colori, risulterebbero simili secondo questo modello, mentre invece due imma-

gini rappresentanti lo stesso soggetto ma con uno schema di colori differente

porterebbe il modello a riconoscerle come diverse. Inoltre il modello presenta

gravi problemi con le immagini in bianco e in nero, in quanto l’appiattimento

cromatico porta ad istogrammi molto simili e di difficile confronto.

1.3 Struttura

Windsurf e una libreria Java rilasciata sotto licenza QPL, liberamente

scaricabile a scopo didattico. Il framework e suddiviso in diversi package,

ognuno dei quali ha uno scopo specifico: Document, Feature Extractor, Query

Processor, Feature Manager e Index Managaer.

Document

Racchiude la classi relative alla descrizioni di regioni, immagini e feature

estratte con i modelli implementati. Si occupa anche di descrivere e fornire

le distanze per i metodi utilizzati dal sistema.

Page 18: mastertesi

1.4 SIFT/SURF 17

Feature Extractor

Contiene le classi necessarie all’estrazione delle features dalle immagini e dalle

regioni, composto dalle tre fasi descritte precedentemente DWT, Clustering

e Feature Indexing.

Query Processor

Si occupa della risoluzioni delle query su database, implementando gli algo-

ritmi di ritrovamento prima descritti kNN e Skyline. Utilizza gli indici sulle

features se presenti, altrimenti utilizza algoritmi sequenziali.

Feature Manager

Pacchetto relativo all’interazione col database: in particolare si occupa di

salvare le immagini e a recuperarle al momento necessario.

Index Managaer

Comprende le classi delegate alla creazione di indici sulle features utili per

gli algoritmi di ritrovamento utilizzati dal Query Processor.

1.4 SIFT/SURF

SIFT e SURF sono due algoritmi, utilizzati dal Feature Extracture, messi

a disposizione dal framework Windsurf per l’estrazione automatica di low-

level features di immagini.

1.4.1 SIFT

SIFT (Scale Invariant Feature Transform) e un algoritmo basato sulla

Differenza di Gaussiane (DoG), ovvero una particolare approssimazione del

Laplaciano della Gaussiana, con lo scopo di individuare keypoints (punti

chiave), costituiti da un descrittore a 128 dimensioni, rappresentanti i punti

focali dell’immagine.

L’algoritmo nasce con lo scopo di essere invariante alla scala e alla rotazione

Page 19: mastertesi

18 1. Windsurf on Basics

dell’immagine.

SIFT ricava in primo luogo ottimizzando gli estremi locali nello space-scale

dalla serie di Taylor. Successivamente vengono trovati i veri keypoints: ad

ognuno di essi viene associato dunque un’orientazione nello spazio e suc-

cessivamente viene fatto un confronto fra keypoints vicini, raggruppati per

regioni, per attribuirne una direzione locale. Lo scopo e di rendere l’analisi

invariante alla rotazione.

Figura 1.7: Immagine sottoposta all’algoritmo SIFT in cui vengono mostrati

i keypoints ritrovati.

Infine ogni keypoint cosı trovato viene descritto attravero un vettore di 128-D

che racchiude le features associate:

• ad ogni keypoint viene associata una matrice 4x4.

• ogni cella della matrice e descritta da 8 features che descrivono la

direzione locale della cella.

Page 20: mastertesi

1.4 SIFT/SURF 19

Figura 1.8: Immagine sottoposta all’algoritmo SIFT in cui vengono mostrati

i keypoints ritrovati.

Basandosi sulla Differenza di Gaussiane, SIFT e un algoritmo molto

preciso ma allo stesso tempo computazionalmente complesso.

1.4.2 SURF

SURF (Speeded-Up Robust Features) e un algoritmo di estrazione di

features derivate da SIFT, anch’esso invariavante alla scala e alla rotazione.

Figura 1.9: Immagine sottoposta all’algoritmo SURF in cui vengono mostrati

i keypoints ritrovati.

Page 21: mastertesi

20 1. Windsurf on Basics

L’algoritmo approssima il Laplaciano della Gaussiana utilizzando il modello

Box Filter : viene utilizzato il determinante della matrice Hessiana basata su

immagini integrali per determinare i keypoints e garantire l’invarianza alla

scala. I keypoints vengono individuati nei punti in cui il determinante della

matrice e massimo.

L’utilizzo del Box Filter permette l’esecuzione dell’algoritmo in parallelo per

diverse scale: questo garantisce un enorme vantaggio computazionale e quin-

di una maggiore velocita rispetto a SIFT.

Figura 1.10: Esempio del Box Filter

Per determinare l’orientamento, l’algoritmo utilizza la risposta wavelet Haar

2-D. L’orientamento dominante viene deciso dopo un’analisi dei pesi gaus-

siani distribuiti in una finestra di 60◦: questi vengono tracciati in uno spazio

cartesiano e il calcolo viene stimato sommando tutte le risposte in una sliding

window orientata con un angolo di π3.

Figura 1.11: Calcolo dell’orientamento grazie alla sliding window

Page 22: mastertesi

1.4 SIFT/SURF 21

SURF utilizza nuovamente la risposta wavelet Haar 2-D per la creazione del

descrittore dei keypoints, infatti genera una matrice 20sx20s1 a partire dal-

l’intorno dello stesso, la quale a sua volta viene divisa in 16 sottoregioni.

Da ogni sottoregioni si estraggono le risposte orizzontali e verticali per la

formazione di un vettore 64-D:

• si creano blocchi di pixel 4x4

• ogni blocco viene descritto con un vettore 4-D

Figura 1.12: Costruzione del descrittore

Il vettore viene estratto molto piu rapidamente rispetto a SIFT, ma non

ottiene lo stesso contenuto informativo, ed e per questo che e stata creata

una versione a 128-D aggiungendo sommatorie piu specifiche sia per dx e

|dx|, sia per dy e |dy|.

v =(∑

dx,∑

dy,∑|dx| ,

∑|dy|)

(1.3)

SURF utilizza il segno del Laplaciano per memorizzare il contrasto dei key-

points cosı da velocizzare la fase di matching: infatti le regioni vengono

1s e la dimensione del keypoints

Page 23: mastertesi

22 1. Windsurf on Basics

confrontate solo se hanno lo stesso contrasto.

Figura 1.13: Confrontro keypoints SURF in base al contrasto

Per questo motivo, a differenza di SIFT, SURF non e invariante all’illumina-

zione ma e preferibile in tutti i casi in cui non causa una perdita di precisione

avendo una velocita computazionale molto maggiore.

1.4.3 SIFT vs SURF

I due algoritmi descritti possiedono alcuni elementi in comune: si ricordi

che SUFT in parte deriva effettivamente da SIFT.

Entrambi sono invarianti alla scala e alla rotazione, ma differiscono per l’in-

varianza all’illuminazione, garantita in SIFT, mentre fortemente dipendente

in SURF.

Essendo basati entrambi su approssimazioni del Laplaciano della Gaussia-

na, per quanto gli algoritmi possano sembrare simili, sono in realta diversi:

a seconda della necessita si puo preferire il primo a discapito del secondo.

In particolare SURF e molto piu veloce nell’estrazione e nel confronto del-

le features poiche si basa su approssimazioni dirette che fanno risparmiare

potenza computazionale; SIFT, invece, sfruttando un’approssimazione meno

netta e piu lento, ma in molti casi piu preciso.

Page 24: mastertesi

1.5 Momenti 23

1.5 Momenti

Nell’elaborazione dell’immagine e in Computer Visioni, il momento del-

l’immagine viene definito come una particolare media dell’intensita dei pixel

che compongono l’immagine stessa. In senso piu generale, si dice momento

anche una funzione che detiene particolari caratteristiche.

Il problema del riconoscimento di forme 2-D necessita di una risoluzione che

ne rappresenti in maniera inalterata caratteristiche e informazioni, ovvero

necessita di descrittori e features appropriati che sfruttino il dominio in ma-

niera piu consona.

1.5.1 Invarianza dei descrittori

Per garantire un confronto efficace e corretto, i descrittori dell’immagine

devono soddisfare i requisiti di invarianza a traslazione, scala e rotazione.

Infatti, forme ruotate, ingrandite, rimpicciolite o traslate rispetto alla forma

originale devono essere riconosciute come l’originale stessa: ecco perche vi e

la richiesta dell’invarianza rispetto a queste caratteristiche.

Sono stati fatti molti studi a riguardo per ottenere descrittori con queste

caratteristiche.

Vi sarebbe anche, da considerare, l’invarianza al rumore, la piu difficile da

ottenere, ovvero riconoscere una forma anche in presenza di dati distorti.

Invarianza alla Traslazione

Un oggetto che si sposta nello spazi semplicemente modifica le coordi-

nate spaziali dei propri punti: questo porta a una variazione dei descrittori

e quindi a una rappresentazione scorretta. L’invarianza deve permettere di

riconoscere forme medesime tra loro traslate: se ottenuta diventa indifferen-

te la scelta del centro d’origine del piano cartesiano e quindi della posizione

sullo spazio della forma considerata.

Page 25: mastertesi

24 1. Windsurf on Basics

Per riuscire ad ottenere l’invarianza alla traslazione, in generale, basta tra-

slare la figura in modo tale che il proprio centro di massa venga posizionato

sull’origine del piano cartesiano.

Invarianza alla Scala

Ingrandire o rimpicciolire un oggetto in una immagine e uno degli ele-

menti piu distorcenti per lo stesso. Ottenere l’invarianza alla scala permette

di riconoscere forme medesime tra loro ingrandite o ridotte come la stessa

forma.

Per garantire l’invarianza bisogna dividere il vettore delle coordinate della

forma 2-D per la propria norma, racchiudendo, successivamente, le coordi-

nate normalizzate all’interno dell’unita circolare.

I valori cosı ottenuti, per qualsiasi modifica della scala, vengono riportati

nell’intervallo [0,1], annulandone quindi qualsiasi effetto di ingrandimento.

Questo procedimento viene chiamato normalizzazione del vettore delle cor-

dinate.

Invarianza alla Rotazione

L’invarianza alla rotazione risulta fondamentale per qualsiasi rappresen-

tazione dell’oggetto: infatti la rotazione comporta il completo cambiamento

delle coordinate dell’oggetto stesso e conseguentemente dei pixel dell’immagi-

ne. Il modo piu intuititvo per ottenerne l’invarianza e di calcolare un angolo

caratteristico per ogni forma e ruotare successivamente la forma in esame per

riportare il suo angolo caratteristico a 0.

Invarianza al Rumore

Come gia detto, in una immagine il rumore e la principale fonte di errore

nel calcolo dei descrittori di una forma.

Descrittori errati portano a confronti errati: diventa quindi fondamentale

ottenere l’invarianza al rumore con l’ausilio di filtri sulle forme da analizzare.

Page 26: mastertesi

1.5 Momenti 25

1.5.2 Momenti per forme 2-D

I Momenti sono un’intera famiglia di caratteristiche di una immagine che

nel loro insieme la identificano in maniera univoca.

Come gia detto sono uno strumento nato nel campo del Computer Vision,

applicabile a qualsiasi ambito che richieda di riconoscere immagini e forme,

o quando vi e la necessita di estrarre feature globali di oggetti collocati nello

spazio locale.

Esistono molti tipi di Momenti, ognuno con determinate caratteristiche, ma,

in generale, tutti si prestano all’analisi di forme 2-D.

Una forma 2-D e formata da un vettore N-dimensionale complesso i cui ele-

menti rappresentano le coordinate (x; y) sul Piano Cartesiano.

Si definisce quindi la generica forma 2-D come z ∈ Cn:

z =

x1 + jy1

x2 + jy2...

xN + jyN

(1.4)

Principal Moments

Si definisce Principal Moments di ordine k, k ≥ 1, k ∈ N :

Mk(z) =1

Nk!(zk1 + zk2 + · · ·+ zkN) =

1

Nk!

N∑n=1

zkn (1.5)

Il termine 1/Nk! e un fattore scalare, mentre∑N

n=1 zkn e chiamata somma di

potenze di ordine k. Essendo k un numero naturale maggiore o uguale a 1,

ogni forma 2-D e potenzialmente caratterizzata da infiniti Principal Momen-

ts: di questi, in realta, sono sufficienti solo i primi N per rappresentare senza

ambiguita il vettore della forma 2-D.

Le prime N somme di potenze possono essere convertite in polinomi simme-

trici delle coordinate della forma 2-D. Questi polinomi possono essere visti

Page 27: mastertesi

26 1. Windsurf on Basics

come i coefficienti di un polinomio di ordine N che ha come radici le coordi-

nate della forma stessa.

Vi e dunque una corrispondenza biunivoca tra il polinomio e le prime N som-

me di potenze. I primi N Principal Moments formano un insieme completo

di invarianti alla permutazione: questo significa che cambiando l’ordine degli

elementi del vettore z non si hanno variazioni ai Principal Moments.

I Principal Moments, pero, non garantiscono alcuna invarianza a traslazione,

scala e rotazione. Per ottenere questi risultati occorre effettuare un pre-

processing sul vettore di coordinate della forma 2-D.

Per ottenere l’invarianza alla traslazione e alla scala, si effettua una traslazio-

ne della forma intorno al centro di massa della stessa in modo da posizionare

il centro di massa traslato sull’origine del piano cartesiano: in questo modo

la forma 2-D nello spazio verra centrata sul suo baricentro.

Se dividiamo il vettore risultato per la propria norma si ottiene anche l’inva-

rianza alla scala: infatti ogni punto del vettore avra coordinate reali comprese

tra [-1,1] annullando cosı qualsiasi effetto di modifiche della scala.

L’ultimo problema rimane l’invarianza alla rotazione: come gia detto e neces-

sario calcolare un angolo caratteristico della forma θ tale per cui, effettuando

una rotazione di −θ dell’oggetto, si riporta la forma all’angolo base presta-

bilito.

Solo dopo aver effettuato i pre-proccesing descritti, si possono calcolare i

Principal Moments per ottenere descrittori univoci e fedeli alle forme 2-D.

Page 28: mastertesi

1.5 Momenti 27

Geometric Moments

Si definisce Geometric Moment di ordine (p, q), con p, q > 0 interi, di una

forma 2-D caratterizzata dal vettore complesso z N-Dimensionale:

Mp,q(z) =N∑n=1

xpnypn (1.6)

dove xn e yn sono rispettivamente parte reale e parte immaginaria del gene-

rico elemento complesso zn.

Si definisce il Geometric Moments di ordine n il Geometric Moment Mp,q(z)

tale che p+ q = n.

Determinati Geometric Moments, di un particolare ordine, godono di alcune

proprieta e significati specifici:

• M0,0(z) =∑N

n=1 x0ny

0n = N : rappresenta la massa del vettore z, in

particolare per le immagini binarie rappresenta l’area dell’oggetto con-

siderato.

• M1,0

M0,0e M0,1

M0,0: rappresentano le coordinate del centro di gravita o del

baricentro dell’immagine, rispettivamente all’ascissa e all’ordinata del

baricentro.

• M2,0 e M0,2: rappresentano i momenti di inerzia della forma 2-D,

rispettivamente dell’ascissa e dell’ordinata

Come per i Principal Moments, anche i Geometric Moments non godono, in

maniera intrinseca, dell’invarianza a scala, traslazione e rotazione.

Occorre dunque modificare la definizione classica di Geometric Moments per

ottenere le invarianze desiderate.

Per ottenere l’invarianza alla traslazione viene definito il Central Geome-

tric Moment di ordine (p, q) di una forma 2-D caratterizzata da un vettore

Page 29: mastertesi

28 1. Windsurf on Basics

complesso z N-Dimensionale:

M ′p,q =

N∑n=1

(xn − xg)p(yn − yg)q (1.7)

dove nuovamente xn e yn rappresentano la parte reale e immaginaria di zn,

con p, q interi non negativi, mentre xg e yg sono le coordinate di massa della

forma z.

Definiamo ora il Normalized Central Geometric Moment di ordine (p, q) come

Vp,q =M ′

p,q

Mα0,0

, α =p+ q

2+ 1 (1.8)

Il Normalized Central Geometric Moment riesce a garantire, oltre l’invarian-

za alla traslazione, anche l’invarianza per la scala.

Anche per il Geometric Moments, l’invarianza alla rotazione si ottiene cal-

colando l’angolo caratteristico θ della forma per poi effettuare la rotazione

della forma dell’angolo stesso. In particolare si possono usare i momenti di

inerzia per ottenere l’angolo.

In caso la derivata seconda di θ sia positiva allora

θ = −1

2tan−1

(2M ′

1,1

M ′0,2 −M ′

2,0

)(1.9)

altrimenti

θ = −1

2tan−1

(2M ′

1,1

M ′0,2 −M ′

2,0

)+π

2(1.10)

Complex Moments

Si definisce Complex Moment di ordine (p,q) di una forma 2-D caratte-

rizzata da un vettore N-dimensionale complesso z :

Cp,q(z) =N∑n=1

(xn + jyn)p(xn − jyn)p =N∑n=1

zpn · zqn (1.11)

Page 30: mastertesi

1.5 Momenti 29

dove xn e yn rappresentano la parte reale e immaginaria di zn, mentre p,q

sono interi non negativi.

I Complex Moment sono definiti similmente ai Geometric Moment, tanto

da portare le stesse informazioni della forma 2-D, ma riuscendo ad essere

piu robusti per l’invarianza rotazionale, ma conseguentemente con maggiore

complessita di calcolo.

Per ottenere le invarianze desiderate, bisogna sottoporre i Complex Moments

all’identico pre-processing utilizzato nei Geometric Moments.

Hu’s Moments

I Hu’s Moments, chiamati anche Invarianti di Hu, sono 7 descrittori che

garantiscono autonomamente invarianza alla traslazione, alla scala e alla ro-

tazione.

Vengono calcolati a partire dai Normalized Central Geomtric Moments e si

possono dimostrare essere un caso particolare di Complex Moments.

I Hu’s Moments sono definiti come segue:

h1 = V2,0 + V0,2

h2 = (V2,0 − V0,2)2 + 4V 21,1

h3 = (V3,0 − 3V1,2)2 + (V0,3 − 3V2,1)

2

h4 = (V3,0 + V1,2)2 + (V0,3 + 2V2,1)

2

h5 = (V3,0 − 3V1,2) · (V3,0 + V1,2) · ((V3,0 + V1,2)2 − 3(V0,3 + V2,1)

2)

+(3V2,1 − V3,0) · (V0,3 + V2,1) · (3(V3,0 + V1,2)2 − (V0,3 + V2,1)

2)

h6 = (V2,0 − V0,2) · ((V3,0 + V1,2)2 − (V0,3 + V2,1)

2)

+4V1,1 · (V3,0 + V1,2) · (V0,3 + V2,1)

h7 = (3V2,1 − V0,3) · (V3,0 + V1,2) · ((V3,0 + V1,2)2 − 3(V0,3 + V2,1)

2)

+(3V2,1 − V3,0) · (V0,3 + V2,1) · (3(V3,0 + V1,2)2 − (V0,3 + V2,1)

2)

Page 31: mastertesi

30 1. Windsurf on Basics

Gli Hu’s Moments sono un insieme completo di invarianti, infatti i primi 6

sono invarianti alla traslazione, scala e rotazione, ovvero presa un’immagine e

fatta ruotare, traslare o scalare, i primi 6 descrittori h1, . . . , h6 non subiranno

variazioni; invece, il settimo momento h7, rappresentando una feature piu

complessa, variera a seconda dell’angolo di rotazione.

Page 32: mastertesi

Capitolo 2

Paleografia: ambito di lavoro

2.1 Introduzione

Quando si parla di analisi di immagine, bisogna subito distinguere, o

quanto meno particolarizzare il problema se si tratta di analisi di testi ma-

noscritti.

Il caso che vogliamo trattare, ovvero il falso d’autore, non puo che rientrare

in questo caso particolare. Ecco dunque che l’image analysis puo cambiare

il proprio scopo da un general-purpose all’obiettivo in analisi.

Il problema viene tradotto in termini di confronto tra pagine manoscritte

al fine di stabilire se il testo appartenga o meno all’autore in analisi: natu-

ralmente e necessaria una fase preliminare in cui viene eseguita l’analisi di

pagine manoscritte la cui autenticita e sicura, al fine di costruire la nostra

ground-truth.

Le tecniche piu utili per l’analisi dei testi a livello informatico sono la stilo-

metria e la paleografia.

La prima si basa sull’identificazione di elementi rari a livello lessicale al fine

di poter creare un modello sull’autore. Per tale obbiettivo esistono diverse

strategie, ma la principale prende il nome di invariante dello scrittore, ovve-

ro la ricerca di caratteristiche che non variano all’interno delle opere di un

31

Page 33: mastertesi

32 2. Paleografia: ambito di lavoro

autore.

La strada intrapresa da questa tesi si basa invece sull’analisi paleografica.

La paleografia si distingue in paleografia antica e paleografia moderna: la

prima aveva come obbiettivo stabilire genere, data e luogo di varie scritture

analizzandone tutte le caratteristiche ed era incentrata sull’interpretazione

delle scritture antiche; in epoca moderna, invece, l’analisi paleografica si e

evoluta con lo studio della grafia dell’autore e sul suo modello stilistico di

scrittura.

Per perseguire l’obbiettivo di estrazione semi-automatica di caratteristiche

paleografica a partire da un testo digitale, si e scelto di utilizzare i seguenti

software: ImageJ e Graphoskop.

Un ulteriore modello adottato, basato sempre sulla paleografia, si incentra sul

Calcolo Metodico del Calibro, metodo descritto e calcolato per la prima volta

da Girolamo Moretti che trova una forte applicazione in campo grafologico.

2.2 ImageJ

ImageJ e un software opensource sviluppato in Java, nato con lo scopo

di essere concorrente ai piu comuni software commerciali per l’image proces-

sing.

Esso consente di visualizzare, modificare, analizzare, processare, salvare e

stampare immagini a 6, 16 e 32bit.

Il programma offre la possibilita di calcolare l’area e le statistiche su valori

di pixel relative a regioni, chiamate ROI1, selezionate dall’utente.

Essendo basata su archittetura Java, esso e estendibile mediante l’aggiunta

di nuovi plug-in, anch’essi scritti in Java, come, ad esempio, Graphoskop

stesso.

L’interfaccia grafica, mostrata in figura, contiene una barra dei menu, una

1Region Of Interest

Page 34: mastertesi

2.3 Graphoskop 33

barra degli strumenti, una barra di stato e in fine una progress bar.

Figura 2.1: Interfaccia grafica di ImageJ

La barra degli strumenti contiene le funzionalita per effettuare operazioni

di zooming e scrolling sulle immagini, per cambiare i colori, per la selezione

delle ROI, etc. . .

I plugins sono moduli di codice che permettono di espandere le funzionalita

di ImageJ: per il corretto funzionamento essi devono essere inseriti all’interno

della cartella plugins.

ImageJ svolge un ruolo importante per lo svolgimento della seguente tesi,

poiche, solo grazie ad esso e possibile l’attivazione di Graphoskop, il plug-in

scelto per l’analisi paleografica.

Inoltre, data l’effettiva necessita di utilizzare questo software, si e deciso

di importare all’interno dell’intero framework WSS la barra degli strumenti,

cosı da poter dare la possibilita all’utente di utilizzare le funzioni del software

stesso.

2.3 Graphoskop

Graphoskop e uno strumento paleografico, concepito come plug-in di Ima-

geJ la cui funzione principale e di rilevare dati quantitativi di tipo metrologico

a partiare da una rappresentazione digitale.

Ideato come un supporto per il paleografo, puo essere utilizzato sulla maggior

parte dei formati immagine: TIFF, GIF, JPEG, BMP, RAW, etc. . . Graphoskop,

una volta estratti i dati di interesse, esegue anche alcuni calcoli statistici dei

dati raccolti e registra automaticamente tali informazioni su un foglio di

calcolo.

Page 35: mastertesi

34 2. Paleografia: ambito di lavoro

2.3.1 Funzionalita

Graphoskop si presenta come uno strumento d’ausilio nel rilievo di di-

stanze tra punti scelti accuratamente dall’utente e indicati manualmente sul-

l’immagine di interesse. Si tratta, dunque, di uno strumento descrittivo che

coniuga l’intervento dell’utente all’automatizzazione dei calcoli e alla regi-

strazione dei risultati.

Presupposto che il plugin lavora su digitalizzazioni dei testi manoscritti, un’a-

nalisi ottimale e difficile da ottenere, poiche, a seconda di come e stato ge-

nerato il testo digitale l’analisi potra differire: si pensi solo alla difficolta di

ottenere linee di testo perfettamente parallele, o all’irregolarita dell’esten-

sione delle aste ascendenti e discendenti, o ancora al modulo delle lettere

spesso variabile. Queste considerazioni hanno portato a dover far fronte a

un costante margine di imprecisione nella valutazione generale: per questo

motivo Graphoskop si basa anche su un’analisi statistica per tenere conto di

questo margine di imprecisione, che risulta, probabilmente, uno dei maggiori

ostacoli all’analisi automatica.

Il plugin esegue, per ogni feature estratta, dei calcoli statistici sui dati rac-

colti quali media, moda e deviazione standard.

Inoltre riesce a rivelare il cosiddetto coefficiente di riempimento in una ROI

definita dall’utente, ovvero la percentuale di pixels bianchi e neri nell’area

selezionata. Per far cio Graphoskop ne crea una copia in memoria, la bina-

rizza e ne calcola la percentuale dei pixels.

Graphoskop si rivela essere dunque una scorciatoia per i calcoli eseguiti gior-

nalmente dai paleografi: infatti necessita ancora dell’intervento umano per

la misurazione delle caratteristiche, ma ne semplifica notevolmente i calcoli

generando una base di dati utile agli stessi.

Il plug-in si basa sulla generazione di un foglio di calcolo per ogni immagine

analizzata, e, riassumendo, per ogni caratteristica ne calcola:

• media delle distanze che l’utente ha tracciato

Page 36: mastertesi

2.3 Graphoskop 35

• deviazione standard, ovvero la dispersione dei valori attorno alla media

• moda, cioe il valore piu ricorrente

Infine Graphoskop permette il salvataggio dell’immagine sottoposta all’ana-

lisi, in cui vengono evidenziate le selezioni effettuate dall’utente.

2.3.2 Interfaccia

L’interfaccia di Graphoskop e composta dalla barra degli strumenti di

ImageJ, da una finestra secondaria results e dalla finestra proprietaria del

plugin. Quest’ultima, corredata da un righello verticale e orizzontale, con-

tiene tutti i comandi effettivi del plugin. La finestra results, invece, mostra

un’anteprima immediata delle misure effettuate dall’utente che saranno suc-

cessivamente registrate nel foglio di calcolo.

Il plugin dispone di tre tipi di strumenti di selezione: linea, angolo e ret-

tangolo.

Tutti e tre devono essere tracciati dall’utente.

Ogni categoria di selezione prevede un determinato strumento di analisi

paleografica, cosı distribuite:

• Linea Orizzontale: permette l’analisi di interlinea, aste ascendenti,

aste discendenti, distanza aste asc/disc, corpo della scrittura, margine

superiore, margine inferiore, distanza generica.

• Linea Verticale: permette l’analisi di spazio tra parole, margine interno,

margine esterno, intercolonna, distanza generica.

• Angolo: permette l’analisi dell’inclinazione aste ascendenti, inclina-

zione aste discendenti, angolo di scrittura (ovvero l’inclinazione della

penna);

• Rettangolo: permette l’analisi di specchio di scrittura e superficie ge-

nerica.

Page 37: mastertesi

36 2. Paleografia: ambito di lavoro

L’utente, usando i diversi strumenti, delimita una o piu ROI, le quali saranno

mostrate sull’immagine corrente. Cliccando “calcola” verra chiesto all’uten-

te se si vogliono avere anche elementi statistici come la media, deviazione

standard, moda, area e densita. Infine, scelto un percorso di salvataggio,

Graphoskop si adopera per creare il foglio di calcolo.

Registrazione dati

Al momento del primo salvataggio, Graphoskop crea due fogli di calcolo:

uno complessivo chiamato Global e uno per l’immagine analizzata. Il foglio

Global contiene la media, deviazione standard e moda dei valori calcolati

sull’immagine analizzata: poiche e possibile associare ad uno stesso file piu

immagini, Graphoskop per ognuna di esse crea un foglio di calcolo e aggiunge

una riga al foglio Global con i valori relativi.

Figura 2.2: Foglio Global

Graphoskop, come gia detto, crea tanti fogli distinti quante sono le immagini

analizzate. Ogni foglio ha il nome del file trattato e su ognuno di essi saranno

registrate tutte le misure che l’utente avra effettuato. Vengono infine aggiun-

te media, deviazione standard e moda per tutti i parametri che le prevedono.

Page 38: mastertesi

2.4 Disuguale Metodico del Calibro 37

Figura 2.3: Foglio Specifico

2.4 Disuguale Metodico del Calibro

Trattiamo ora un modello diverso dalla classica analisi paleografica, ov-

vero il disuguale metodico del calibro.

Come gia detto in descrizione, questo paradigma e stato creato e illustrato

per la prima volta da Girolamo Moretti, nella sua opera Trattato di Gra-

fologia risalente al 1914.

Il metodo si basa sull’analisi puntuale e ripetuta dell’altezza del medio lette-

rale, ovvero dell’altezza delle lettere prive di aste ascendenti e discendenti.

Come scrive Moretti, nel Trattato scientifico di perizie grafiche su base gra-

fologica (1942)2 parlando della �scrittura disuguale metodicamente�,”La

disuguaglianza principalmente puo essere triplice“

1. “Quando alcune lettere sono un po’ piu piccole, altre piu grandi. Questa

diversita di grandezza deve essere appena percettibile, perche altrimenti

si avrebbe una cosa sgraziata.

2. Alcune lettere si contorcono leggermente indietro, altre in avanti. Que-

sta contorsione deve essere molto leggera, altrimenti si andrebbe alla

2G. Moretti, Trattato scientifico di perizie grafiche su base grafologica, 1942, p. 180

Page 39: mastertesi

38 2. Paleografia: ambito di lavoro

scrittura contorta.

3. Alcune lettere scattano quasi dalla riga in alto, altre in basso, altre

restano al loro posto. Questo scatto deve ripetersi in modo omogeneo,

da dare l’impressione come di due cavalli, l’uno calmo, l’altro di sangue

attaccati ambedue ad un timone: il calmo procede senza scatti,l’altro,

ogni tanto saltella, scatta, ma resta sempre serrato dai suoi finimenti

al timone.“

Moretti chiama la disuguaglianza del primo tipo Disuguale metodico del Ca-

libro, quella del secondo tipo Disuguale metodico dell’inclinazione, e infine

Disuguale metodico dello scattante il terzo tipo.

Per la tesi si e scelto di utilizzare solo il Disuguale metodico del Calibro, data

sopratutto l’importanza sottolineata da Moretti stesso.

La dimensione delle lettere del medio letterale presenta variazioni a inter-

valli che si ripetono in maniera metodica. Moretti, come ipotesi, propone

una valore massimo e un valore minimo per la variazione, al di fuori dei quali

le variazioni devono essere considerate come rumore.

Moretti divide, inoltre, il Calibro in tre tipologie: Calibro Grande, Calibro

Medio e Calibro Piccolo.

CALIBRO GRANDE Viene definito Calibro Grande la scrittura il cui

corpo letterale medio ha una grandezza media superiore ai 5mm.

CALIBRO MEDIO Viene definito Calibro Medio la scrittura il cui corpo

letterale medio ha una grandezza media compresa tra i 2mm e i 5mm.

CALIBRO PICCOLO Viene definito Calibro Piccolo la scrittura il cui

corpo letterale medio ha una grandezza media minore ai 2mm.

A secondo della tipologia del Calibro, Moretti impone un valore di massimo

e uno di minimo diverso:

• Valore minimo

Page 40: mastertesi

2.4 Disuguale Metodico del Calibro 39

– 13

(=0.33) di mm per il Calibro Grande e Medio

– 14

(=0.25) di mm per il Calibro Piccolo

• Valore massimo

– 2mm per il Calibro Grande

– 1.5mm per il Calibro Medio

– 1mm per il Calibro Piccolo

Infine, per il calcolo finale del Disuguale Metodico del Calibro, Moretti met-

te a disposizione tre tabelle, una per ogni tipo di Calibro, che illustrano a

seconda della grandezza media delle disuguaglianze metodiche e del numero

delle stesse, il grado del disuguale metodico.

Calibro Grande Numero di Intervalli

Valore dell’intervallo 7 6 5 4 3 2 1

2mm 5/10 4/10 3/10 2/10 1/10 0/10 0/10

1.5mm 6/10 5/10 4/10 3/10 2/10 1/10 0/10

1mm 7-8/10 7/10 6/10 5/10 4/10 3/10 2/10

0.5mm 9/10 8/10 7/10 6/10 5/10 4/10 3/10

0.33mm 10/10 9/10 8/10 7/10 6/10 5/10 4/10

Tabella 2.1: Tabella Disuguale Metodico Calibro Grande

Page 41: mastertesi

40 2. Paleografia: ambito di lavoro

Calibro Medio Numero di Intervalli

Valore dell’intervallo 7 6 5 4 3 2 1

1.5mm 5/10 4/10 3/10 2/10 1/10 0/10 0/10

1.25mm 6/10 5/10 4/10 3/10 2/10 1/10 0/10

1mm 7/10 6/10 5/10 4/10 3/10 2/10 1/10

0.75mm 8/10 7/10 6/10 5/10 4/10 3/10 2/10

0.5mm 9/10 8/10 7/10 6/10 5/10 4/10 3/10

0.33mm 10/10 9/10 8/10 7/10 6/10 5/10 4/10

Tabella 2.2: Tabella Disuguale Metodico Calibro Medio

Calibro Piccolo Numero di Intervalli

Valore dell’intervallo 7 6 5 4 3 2 1

1mm 5/10 4/10 3/10 2/10 1/10 0/10 0/10

0.80mm 6/10 5/10 4/10 3/10 2/10 1/10 0/10

0.75mm 7/10 6/10 5/10 4/10 3/10 2/10 1/10

0.5mm 8/10 7/10 6/10 5/10 4/10 3/10 2/10

0.33mm 9/10 8/10 7/10 6/10 5/10 4/10 3/10

0.25mm 10/10 9/10 8/10 7/10 6/10 5/10 4/10

Tabella 2.3: Tabella Disuguale Metodico Calibro Piccolo

2.4.1 Calcolo del Disuguale Metodico del Calibro

Il calcolo del disuguale metodico del calibro e un processo automatico

effettuato dai grafologi per stabilirne il grado del disuguale. La prima de-

scrizione, creata e analizzata da Moretti, presentava pero delle imprecisioni

e lacune che non tenevano conto della ripetizione effettiva nelle differenze del

medio letterale.

Palaferri Nazzareno, uno dei piu importanti studenti di Moretti, riprendendo

Page 42: mastertesi

2.4 Disuguale Metodico del Calibro 41

in mano gli studi del suo maestro, descrive il metodo utilizzato per il calcolo

del Disuguale Metodico del Calibro come segue3:

1. Quantificare in dmm i singoli valori delle lettere, tralasciando le lunghe

che vanno al di sopra o al di sotto della zona media.

Precisazioni:

- Lettere n e u vanno considerati due impulsi e due misure; nella m

tre impulsi e tre misure

- Le lettere vanno misurate secondo la loro inclinazione

- Le lettere vanno misurate dal loro esterno

- vanno misurati gli ovali della g e delle d minuscole, e quando chiari,

anche i tratti terminali della p

2. Dopo tale campionatura, va calcolato quante volte si ripete una stessa

misura

3. Disporre in scala, per ordine crescente, tutte le misure cosı ottenute ed

eseguire l’istogramma al valore di ripetitivita

4. Individuare il numero di disuguaglianze metodiche

5. Ricercare il valore medio di intervallo tra una disuguaglianza e l’altra;

per far questo si calcola il campo di variazione totale, ovvero il valore

della disuguaglianza piu grande meno quella della disuguaglianza piu

piccola

6. Si divide questo valore per il numero di disuguaglianze meno uno. Il

risultato corrisponde al valore medio di ciascuna disuguaglianza meto-

dica

7. Si confronta il numero delle disuguaglianze metodiche ottenute con le

tabelle offerte da Moretti per i vari tipi di Calibro: si ottiene cosı il

grado del disuguale metodico.

3Tratto da �L’indagine grafologica e il metodo morettiano� di Palaferri Nazzareno

Page 43: mastertesi

42 2. Paleografia: ambito di lavoro

Il processo, purtroppo, presenta alcune imprecisioni e carenze a livello infor-

mativo per rendere l’algoritmo completamente automatico. Per il calcolo del

disuguale e necessario avere un numero abbondante di misurazioni, effettua-

te, oltretutto, sulla stessa pagina del manoscritto. Secondo diversi grafologi,

tra cui Palaferri stesso e Mazzolini Giorgio - grafologo peritale - il numero

minimo e di cento misurazioni. La richiesta di valutare l’altezza del medio

letterale su una stessa pagina e dovuta ad un fattore psicologico di chi scri-

ve: ogni soggetto condiziona la propria scrittura e la propria grafia in base al

sentimento, all’umore e alla situazione psico-fisica attuale; di conseguenza, se

valutassimo misurazioni di uno stesso scrittore in tempi diversi, queste risul-

terebbero altalenanti, prive della ripetizione necessaria che il Calibro impone

di descrivere e calcolare.

Una ulteriore mancanza nella descrizione dell’algoritmo e la definizione di cio

che Moretti e Palaferri chiamano campana.

Per gli autori una campana altro non e che la presenza di un picco nell’i-

stogramma delle frequenze: per poterne definire una, e necessario trovare

l’inizio, la fine e il picco di esse stessa.

Sempre secondo Mazzolini Giorgio, l’inizio della campana si ha ad una mi-

sura il cui valore di frequenza e al di sotto della soglia Lowerbound, e il cui

valore della misura successiva (crescente) e superiore Lowerbound. Mentre,

invece, la fine della campana viene individuata al valore di misura, la cui

frequenta e minore della soglia Lowerbound e il cui valore della misura della

soglia precedente (decrescente) e superiore al Lowerbound.

Il tipico valore di Lowerbound utilizzato e cinque.

Esempio In conclusione alla sezione, si vuole mostrare un esempio di co-

me, manualmente, i grafologi calcolino il disuguale metodico del Calibro.

Per l’esempio viene presa in considerazione la seguente immagine manoscrit-

ta (Fig. 2.4).

Page 44: mastertesi

2.4 Disuguale Metodico del Calibro 43

Figura 2.4: Paragrafo di testo Manoscritto

Dall’immagine sono stati misurati i seguenti valori sul medio letterale:

1.2 1.9 3 3 2.5 2 2 1.5 1.9 2

2.1 2.5 3.1 2.6 2.8 1.8 1.8 2.8 2.8 2.8 3.2 2.8 2 1.9 2.9 1.1

3.9 2.1 2.5 3.1 3 1.6 1 1.9 2.5 3

2.7 3.5 2 2 1.9 2 1.5 2 3.5 2 1.9 2 4 2.3 2.1 2.1 2.9 2.4 2.1 2 2.1

2.3 2.5 3 2.5 1.5 2.1 2.3 3.1 2.2 2.1 3.1 4 2 2.5 2 3

1.8 3 2.8 2 1.9 2.5 2.9 2.1 2.5 2 1.9 2.5 2.1 1.9 2.6

3.1 2.3 1.9 2 2.1 2.8 3 3.1 3 2.5 3 3.2

Si e calcolata la media dei valori per determinare la tipologia del Calibro:

la media risulta essere 2.403 e di conseguenza l’autore possiede un Calibro

Medio.

Il passo successivo prevede di ordinare, quantizzare e aggiungere misura-

zioni mancanti ai valori appena mostrati. Il risultato e mostrato in tabella

2.4.

Page 45: mastertesi

44 2. Paleografia: ambito di lavoro

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1

0 0 0 0 0 0 0 0 0 1 1

1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2

1 0 0 3 1 0 3 10 16 11 1

2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3

4 1 11 2 1 7 3 10 6 2 0

3.4 3.5 3.6 3.7 3.8 3.9 4.0 4.1

0 2 0 0 0 1 2 0

Tabella 2.4: Tabella di valori quantizzati

Si e creato successivamente l’istogramma dei valori mostrato in figura 2.5.

Figura 2.5: Istogramma delle misurazioni del medio letterale

Dall’istogramma e stato possibile individuare le campane descritte dall’algo-

ritmo; ne sono state individuate quattro:

1. Intervallo [1.8, 2.2] con picco a 2.0 di frequenza 16.

2. Intervallo [2.4, 2.6] con picco a 2.5 di frequenza 11.

Page 46: mastertesi

2.4 Disuguale Metodico del Calibro 45

3. Intervallo [2.7, 2.9] con picco a 2.8 di frequenza 7.

4. Intervallo [2.9, 3.2] con picco a 3.0 di frequenza 10.

Bisogna ora calcolare la differenza tra il centro dell’ultima e della prima cam-

pana, ovvero 3.0 − 2.0 = 1. Quest’ultimo deve essere diviso per il numero

di campane meno uno, ovvero 3.0−2.04−1 = 1

3= 0.33. Abbiamo trovato il va-

lore medio di ogni campana: bisogna ora rivolgersi alle tabelle Morettiane,

nello specifico alla tabella del Calibro Medio (Tab 2.2). Il grado del disu-

guale metodico del calibro in corrispondenza di 4 campane e di valore di

quantizzazione di 0.33 e 7/10.

2.4.2 Calibro come Pattern

L’idea del disuguale metodico del Calibro si basa sull’analisi in frequenza

dell’altezza del medio letterale.

Quando si parla di frequenza di valori e della sua analisi, nasce subito il con-

cetto di ricerca di un pattern all’interno degli stessi, ovvero la ricerca di un

modello che si ripete in maniera regolare nello spazio e/o nel tempo.

L’analisi pattern matching, e nel suo problema piu specifico, di subpattern

matching, e un lavoro ormai studiato da decenni, che presenta un suo stato

dell’arte. Il Calibro descritto da Moretti presenta alcune idee richiamabili e

associabili ad una analisi e a una ricerca di una ripetizione nella scrittura.

Trattare ripetizioni porta l’evoluzione naturale alla ricerca di pattern, cioe

nulla di piu che una sequenza di valori che si ripetono in maniera metodica

nel tempo.

Il problema e noto, discusso da molti autori e studiosi e permette dunque

una analisi utilizzando cio che finora e stato studiato e proposto come buona

soluzione allo stesso.

Si vuole dapprima presentare un problema piu generale, ovvero del pattern

matching, che successivamente si particolarizza in un problema derivato, ov-

vero del partial pattern matching, di cui possiamo vedere il Calibro come

una istanza specifica.

Page 47: mastertesi

46 2. Paleografia: ambito di lavoro

Lo studio del pattern matching nasce nel settore dell’informatica con lo sco-

po di trovare un certo motivo, ovvero il pattern, all’interno di un oggetto

composito. Il problema e molto generale, poiche esso puo includere oggetti

come stringhe, e quindi la ricerca di una parola all’interno di un testo, come

anche il riconoscimento di contorni e forme di un singolo oggetto all’interno

di una immagine.

Cio che si vuole far notare e che il problema e molto simile a quel che questo

paragrafo sta descrivendo, ovvero una ricerca di un motivo, in questo caso la

differenza del medio letterale, all’interno di un testo.

Il pattern matching, pero, richiede che il match, ovvero l’azione di far corri-

spondere la stringa di query a una presente nel testo, debba essere un match

esatto. Si vuole mostrare un esempio pratico di pattern matching nella sua

forma piu banale, ovvero la ricerca di una parola all’interno di un testo.

Si chiede all’algoritmo di cercare la parola “Rubik ” all’interno del seguente

testo:

Il cubo di Rubik o cubo magico (Rubik-kocka in ungherese) e

un celebre rompicapo (in particolare un twisty puzzle) inven-

tato dal professore di architettura e scultore ungherese Erno

Rubik nel 1974.

Nell’esempio, la parola viene trovata tre volte, evidenziate in grassetto, e l’al-

goritmo finisce con successo. Il Calibro, pero, non puo basarsi su un match

esatto di questo tipo, poiche sfrutta un tipo di feature diverso, non piu di

stringhe, quanto piuttosto di valori numerici che rappresentano una differen-

za tra l’altezza di una lettera e la successiva. Questo tipo di ricerca non puo

avvenire con una corrispondenza “uno-a-uno” come il pattern matching, in

parte, fa, ma vi e la richiesta di trovare una sotto sequenza in un pattern,

ovvero vi si pone la domanda del sub-pattern matching.

Il sub-pattern matching e un caso particolare del pattern matching, in cui

non si ha l’intero pattern da dover cercare, ma bisogna invece effettuare un

matching tra un sotto pattern e un pattern, che poi venga trovato all’interno

di un oggetto successivo.

Page 48: mastertesi

2.4 Disuguale Metodico del Calibro 47

La ricerca, attualmente, e un problema aperto, poiche vi sono determinati

elementi che giocano a sfavore della stessa.

Una recente pubblicazione, An elastic partial shape matching technique, re-

datta da Longin Jan Latecki, Vasileios Megalooikonomou, Qiang Wang e

Deguang Yu, propone una buona soluzione a un problema simile, ma di dif-

ficolta maggiore. Il paper descrivere la risoluzione del problema di poter

confrontare due figure attraverso i contorni, e darne un valore di somiglian-

za, con la difficolta maggiore in cui una delle due figure sia solo una “sotto

parte” della figura stessa.

Un’esempio descritto nel paper, che si vuole riportare per chiarezza di lettu-

ra, e la somiglianza delle code di pesce. L’immagini di query e esattamente

una coda di un pesce, e vi e una ricerca all’interno di un dataset compren-

dente immagini di pesci. Come si puo intuire, non si puo avere una ricerca

“esatta”, poiche l’immagine di query non e identica alle code presenti nel

dataset: ecco che il testo cerca di dare una soluzione trattando somiglianze

e non identita sulle immagini.

I problemi descritti e noti in letteratura sono principalmente tre, ovvero il

problema della lunghezza, della scala e del rumore. Gli autori propongono e

risolvono i problemi introducendo una nuova distanza, chiamata MVM, ba-

sata su distanze gia piu note e utilizzando tecniche proposte in letteratura

per ottenere invarianza alle problematiche descritte.

Il paper citato viene utilizzato come spunto per creare un modello d’analisi

per il nostro problema, ovvero come ricercare la presenza di un “pattern” al-

l’interno di un ulteriore “pattern”, presente nella scrittura manoscritta di un

autore. Per una piu particolare descrizione alla risoluzione del problema, di

non interesse in questa tesi, si rimanda alla lettura della pubblicazione stessa.

Da tutte le osservazioni finora fatte, si e voluto dunque creare il modello

del Calibro come Pattern, ovvero di una ricerca della frequenza dei valori che

vengono utilizzati per il calcolo del disuguale, in maniera metodica all’interno

della scrittura di un autore. L’analisi da effettuare, pero, non puo basarsi

Page 49: mastertesi

48 2. Paleografia: ambito di lavoro

sull’effettiva altezza del medio letterale, in quanto, a seconda del momento

o dello spazio messo a disposizione all’autore per scrivere, l’altezza stessa

potrebbe subire delle variazioni.

L’elemento costitutivo del disuguale metodico del calibro, invece, viene de-

scritto come

La dimensione delle lettere della zona media presenta variazioni

a intervalli che si ripetono in maniera metodica.

Dunque, il pattern va cercato non nell’effettiva altezza del medio letterale,

quanto piuttosto nella variazione di esso.

Il motivo principale, dunque, per cui viene utilizzata la differenza di altez-

ze e non l’effettiva altezza, va ricercato in un fattore psicologico dell’autore

durante la scrittura, alla quale si deve aggiungere la non ovvia presenza o

assenza di tratti delimitatori nei fogli di una pagina.

Il Calibro come Pattern cerca di individuare una ripetizione della differenza

del medio letterale in maniera regolare nel tempo e nello spazio, ovvero cer-

ca di individuare un pattern all’interno di una scrittura. Ecco, quindi, che

non si rende piu necessaria la richiesta di cento misurazioni minime, poiche

per l’analisi e sufficiente anche una singola parola per cercarne effettivamen-

te una regolarita. Va, pero, specificato che all’aumentare delle misurazioni,

la presenza di informazioni cresce e cio implica un modello sicuramente piu

ricco, ma con la possibile presenza di rumore ed errore in piu.

Si vuole sottolineare la grande differenza fra il Calibro inteso come disuguale

metodico e il Calibro come Pattern. Si osservi la seguente figura (Fig. 2.6).

Le features rosse rappresentano le altezze del medio letterale, e sono le valu-

tazioni utilizzate dal calcolo morettiano del disuguale metodico. Il grado del

calibro si basa solo su una quantizzazione di queste misure, ovvero non vi

cerca un ordine o non vi cerca una effettiva ripetizione, bensı tenta di trovare

quali siano le “misurazioni” piu frequenti e da queste ne calcola un grado sul-

l’autore. Se invece si analizzano le features blu estratte, esse rappresentano

la differenza delle altezze tra una lettera e la successiva. Queste differenze

sono cio su cui vogliamo basare il Calibro come Pattern.

Page 50: mastertesi

2.4 Disuguale Metodico del Calibro 49

Figura 2.6: Analisi e confronto tra disuguale metodico del Calibro e Calibro

come Pattern

Cio che si vuole osservare e una effettiva richiesta ed esigenza di ordine sul-

l’analisi, e conseguentemente una possibilita di poter ritrovare un pattern in

un testo.

Nel calcolo del disuguale metodico non vi e una possibilita di distinguere una

lettera da un’altra, o quanto meno una parola dall’altra, poiche essa analizza

solo la frequenza dell’altezza. Con il Calibro come Pattern, invece, si cerca di

mantenere una informazione in piu, ovvero cio che poi viene chiamato motivo,

pattern: questo nuovo paradigma, infatti, cerca di ritrovare una ripetizione

in questa differenza di altezze, preoccupandosi, dunque, di mantenere anche

una sorta di accoppiamento fra le lettere.

Se, ad esempio, una parola contiene la sequenza di grafemi “via”, con il di-

suguale metodico l’informazione effettiva di questa sillaba all’interno di una

parola viene persa, poiche non si mantengono i rapporti tra le singole let-

tere, conseguentemente qualsiasi permutazione di queste lettere potrebbero

portare ad uno stesso risultato. Invece, analizzando la sillaba con le diffe-

renze di altezze, si cerca di mantenere una informazione ritrovabile in tutte

le successive parole che possano contenere la sillaba stessa, come ad esempio

“funivia” o “viadotto”. Con questo, dunque, vi e una possibilita in piu di

poter valutare una effettiva distanza tra le parole, poiche due autori diversi

portano, non necessariamente, a differenze diverse e conseguentemente ad

aumentare la dissimilarita fra le due scritture.

Riprendiamo l’esempio mostrato in figura 2.6. Con il Calibro come Pattern si

Page 51: mastertesi

50 2. Paleografia: ambito di lavoro

cerca di identificare, all’interno di un testo, o nel confronto con altre parole,

il pattern indicato dai seguenti valori (0.3, 0.0, 0.5, 0.4, 0.4). Nel calcolo della

similarita, si confronta un pattern con un altro, cercando di accoppiare nel

miglior modo possibile questi valori.

Il disuguale metodico, invece, si propone semplicemente di assegnare una fre-

quenza sugli stessi, perdendo l’effettiva informazione sulla parola sottoposta

all’analisi. Il Calibro come Pattern, dunque, si propone come una tipologia

derivante dal calibro classico, ma che tenga conto di informazioni di interesse

maggiori, non espresse effettivamente nella descrizione Morettiana.

Si noti che il Calibro come Pattern nasce come sperimentazione, dovuta

all’esperienza ingegneristica non assimilata da autori quali Moretti, che, no-

nostante la loro inesperienza nel campo matematico, sono riusciti a creare

un modello che si basi su paradigmi scientificamente noti. Trattasi dunque

di un modello nuovo, non esistente nel campo della paleografia e grafologia,

il quale si vuole per la prima volta portare a descrizione per vederne il com-

portamento e il risultato.

L’analisi che viene effettuata, dunque, si basa su conoscenze presenti in un

settore informatico ben sviluppato, ovvero del pattern matching, del quale

vengono utilizzate idee e concetti, con conseguenti soluzioni proposte, per

poter sviluppare il tema e darne una sua identita.

Il modello creato nella tesi si basa principalmente su due fattori: l’estrazione

dell’altezza del medio letterale, con conseguente costruzione di un pattern, e

l’analisi e confronto degli effettivi motivi creati nel punto precedente.

Per la creazione del modello si deve ancora una volta richiedere l’intervento

umano: infatti, con la tesi attuale, non si e ricercato e studiato alcun modello

automatico per l’estrazione automatica della feature richiesta, ovvero dell’al-

tezza del medio letterale. Va ricordato che l’approccio semi-automatico, come

quello trattato, non puo essere privo di errore e rumore, sintomatico dell’u-

tente che ne estrae le misurazioni.

L’unico modo, attualmente per tentare di rendere in parte meno problema-

Page 52: mastertesi

2.4 Disuguale Metodico del Calibro 51

tica la presenza di questi errori, e intervenire sulla ricerca di pattern e nel

matching fra essi.

Come verra successivamente descritto, si e tentato di risolvere in parte il

problema, utilizzando alcune peculiarita tipiche del sub-pattern matching.

Si vuole nuovamente ricordare che l’analisi del Calibro come Pattern si basa

su una naturale evoluzione dell’idea del Calibro introdotta da Moretti, uti-

lizzando tecniche ingegneristiche e informatiche piu recenti e attuali, ormai

studiate e risolte nell’arco dell’ultima decade: tutto cio implica una analisi

del tutto sperimentale, priva di un supporto teorico sul quale far affidamento.

Il Calibro come Pattern, dunque, viene descritto e analizzato attraverso un

insieme di concetti e idee che prendono spunto dalle piu diverse materie, par-

tendo da un’analisi grafologica proposta da Moretti, alla quale si unisce una

risoluzione automatica di un problema ben noto quello del pattern matching.

Page 53: mastertesi

52 2. Paleografia: ambito di lavoro

Page 54: mastertesi

Capitolo 3

WSS: Writing Similarity Search

3.1 Introduzione

Writing Similarity Search e un’applicazione per lo studio e l’analisi di ele-

menti caratterizzanti un testo a livello di singola parola, frase, o documento

in maniera automatica (SIFT/SURF e Momenti) o semi-automatica (Paleo-

grafia).

Si basa sul framework WindSurf, con l’obiettivo di focalizzarsi sul testo ma-

noscritto.

L’obiettivo principale di questa tesi e di estendere WSS per permettere l’uti-

lizzo di nuove tecniche per riconoscere la scrittura manoscritta quali l’analisi

paleografica e il disuguale metodico del calibro.

Un secondo obiettivo perseguito e stata l’adattamento e reingegnerizzazione

del software ad un unico modello, in modo da rendere il piu coerenti possibili

i vari moduli del software stesso.

Prima di introdurre le nuove funzionalita aggiunte all’intero ecosistema, si

vuole formalizzare, in maniera concisa, il problema che stiamo affrontando. Il

problema generale puo essere cosı formulato: “Data una immagine di query

I, si vuole attribuire alla stessa una classe, dapprima ignota, fra le possibili

53

Page 55: mastertesi

54 3. WSS: Writing Similarity Search

disponibili all’interno della ground-truth.”. Se si entra nel settore piu parti-

colare del falso d’autore, in quale WSS opera, si puo attribuire alla “classe” il

valore di “autore”, dunque, a partire da una immagine manoscritta di autore

sconosciuto, si vuole poterne attribuire la paternita.

Come si potra vedere, WritingSimilarity Search utilizza query k-NN come

strumento di classificazione.

La seguente immagine (Fig. 3.1) vuole presentare, in maniera sintetica, i

passi che il framework segue per riuscire a risolvere il problema.

Figura 3.1: Schema riassuntivo di come WSS opera da classificatore

Il framework deve avere a disposizione una ground-truth di elementi per poter

adoperare le proprie scelte. Ovviamente cio richiede la presenza di un data-

base di features utili al confronto. All’atto di query, il framework confronta

le feature estratte dall’immagine di test con quelle presente nel database uti-

lizzando tre step fondamentali: Matching, Distance, Ranking. Ognuna di

queste componenti e indipendente dall’altra, cio per rendere il framework il

piu generale possibile.

All’atto di classificazione, WSS utilizza come il k-NN Ranking, ovvero i k

oggetti piu simili all’immagine di query: infatti WSS predice la classe, e

Page 56: mastertesi

3.2 Interfaccia 55

in questo caso l’autore, come quello piu presente all’interno dell’insieme di

oggetti restituiti dal Ranking stesso. Si vuole sottolineare come non tutti i

paradigmi che verranno presentati sfruttano tutti i componenti, poiche, in

determinati casi, non sono applicabili.

WritingSimilarity Search, come gia detto, e una estensione del framework

piu generale WindSurf e dunque utilizzera caratteristiche e peculiarita di

quest’ultimo per poter mantenere una coerenza sullo sviluppo ed esecuzione.

3.2 Interfaccia

L’interfaccia di WSS e stata modificata per riadattarsi alle nuove funzio-

nalita introdotte.

3.2.1 Main GUI

La finestra principale (Fig. 3.2) e stata modificata rispetto alla precedente

versione. Si e deciso di togliere la finestra SalientPoint Image in cui veniva

mostrata oltre all’originale, anche l’immagine con i SalientPoint trovato: essa

e stata rimossa poiche di poca utilita (viene mostrata durante la ricerca kNN).

Al suo posto e apparsa una finestra con presenti bottoni, divisi per categoria,

che descrivono le principali caratterstiche sel framework.

I tasti presenti, come detto, descrivono le funzioni principali di WSS:

• Open Image: utilizza il plug-in ImageJ e permette di aprire una

immagine che verra visualizzata nella finestra relativa.

• Extract Feature (Image): serve per l’estrazione automatica di fea-

ture da un’immagine attraverso gli algoritmi SIFT/SURF o attraverso

i Momenti

Page 57: mastertesi

56 3. WSS: Writing Similarity Search

Figura 3.2: Finestra principale di WSS

• Extract Feature (Folder): permette l’estrazione automatica di fea-

tures, attraverso SIFT/SURF o Momenti, di tutte le immagini presenti

in una cartella e sotto-cartelle.

• Query: funzione adibita ad effettuare le query sul database basate sulle

features automatiche permettendo sia kNN che kNN for Classification.

• Query with Clustering: basandosi sempre sulle features automati-

che, esegue query utilizzando clustering precedentemente creati.

• Clustering: permette di creare i clusters utilizzando le classi delle

immagini presenti nel database.

Page 58: mastertesi

3.2 Interfaccia 57

• Extract Paleography Feature: aprira un nuovo modulo per permet-

tere l’estrazione semi-automatica di feature paleografiche.

• Show Paleography Feature: permette di mostrare le misurazioni

paleografiche effettuate in precedenza sull’immagine aperta.

• Clustering Paleograohy: similmente al modulo automatico, ven-

gono generati i clusters in base alle immagini analizzate in maniera

paleografica/grafologica.

• Compare Paleography: aprira un nuovo modulo per dare la possi-

bilita all’utente di comparare le features di una singola immagine con

i clusters generati.

• k-NN Paleography Query: permette di effettuare una query k-NN

utilizzando tutte o solo alcune delle features paleografiche estratte.

3.2.2 Extract Paleography Feature

In figura 3.3 viene mostrata l’interfaccia grafica del modulo di estrazione

delle features paleografiche.

Il modulo, oltre ad avvertire l’utente del database su cui si sta lavorando e del

vincolo imposto sull’utilizzo si mm/cm come unita di misura di Graphoskop,

presenta diversi componenti.

Sono disponibili quattro pulsanti:

• Add Image: permette di aprire una nuova immagine.

• Graphoskop: permette di analizzare l’immagine aperta attraverso il

plug-in Graphoskop.

• Extract Office: poiche Graphoskop permette il salvataggio delle fea-

tures solo su fogli di calcolo, si e reso necessario una funzione per

l’estrazione delle stesse dai file creati da Graphoskop.

Page 59: mastertesi

58 3. WSS: Writing Similarity Search

Figura 3.3: Finestra Extract Paleography Feature

• Persistent: permette di salvare le feature estratte attraverso Grapho-

skop (e quindi presenti in foglio di calcolo) in maniera persistente sul

database indicato all’utente.

Vi e una combobox 1 che da la possibilita all’utente di visualizzare le varie

features estratte sulla tabella sottostante.

All’atto di apertura di un’immagine, se essa risulta gia presente nel database

verranno caricate le sue features nella tabella.

Infine, quando l’utente vorra salvare in maniera persistente i dati, apparira

una finestra di conferma nel quale viene indicato il percorso dell’immagine,

il percorso del foglio di calcolo da cui si sono prese le features ed infine se

1Menu a tendina.

Page 60: mastertesi

3.2 Interfaccia 59

l’immagine era gia presente o meno nel database, e in caso affermativo di

poterla aggiornare.

Page 61: mastertesi

60 3. WSS: Writing Similarity Search

3.2.3 Compare Paleography Feature

La sezione Compare Paleography Feature permette all’utente di far un

confronto tra le feature paleografiche di una singola immagine con i cluster

creati durante la fase di clustering. L’interfaccia viene mostrata in figura 3.4.

Figura 3.4: Finestra Compare Paleography Feature

Sono presenti diversi componenti. Prima di tutto, nella barra superiore, oltre

a fornire all’utente il nome del database su cui si sta lavorando, viene data la

possibilita di scegliere il cluster da cui estrarre le feature: sono presenti una

combobox per la selezione dell’autore e due checkbox 2 con relativo textfield3

che permettono di aumentare la granularita inserendo la parola e l’anno del

cluster da analizzare.

Nella sezione principale troviamo:

2Componente a spunta.3Componente per la scrittura di testo.

Page 62: mastertesi

3.2 Interfaccia 61

• Image Panel: ovvero un pannello per poter visualizzare l’immagine di

query

• Tabella: la tabella in cui vengono visualizzate le features del cluster

selezionato, dell’immagine di query, e la loro distanza4

• Open Query Image: permette di aprire l’immagine di query.

• Extract From Training: estrare le features del cluster selezionato

• Compare: calcola la distanza tra l’immagine e il cluster.

Si noti che se l’utente apre una immagine che non e stata analizzata, il

programma sollevera un’errore. Allo stesso modo, accade se l’utente non hai

mai generato i cluster e quindi non ve ne e alcuno da cui poter estrarre le

features.

4In questo caso la distanza altro non e che la differenza tra i valori.

Page 63: mastertesi

62 3. WSS: Writing Similarity Search

3.2.4 Evaluate Calibro

L’ultima finestra presentata e Evaluate Calibro. Questa componente e

raggiungibile solo attraverso il menu della schermata principale, nella sotto-

sezione di Semi-Automatic Features5 e rappresenta la sezione per il calcolo

del Disuguale Metodico del Calibro.

Figura 3.5: Finestra Evaluate Calibro

L’interfaccia e semanticamente divisa in due sezioni: a sinistra la finestra

per l’estrazione dei valori, a destra il risultato del calcolo del metodico del

calibro.

La finestra a sinistra presenta diversi componenti: sei bottoni, una tabella,

un textfield e un pannello. Il pannello ha il compito di mostrare una ante-

prima dell’immagine in analisi; cosı, allo stesso modo, la tabella permette la

visualizzazione delle misurazioni effettuate sull’immagine.

I bottoni invece hanno i seguenti compiti:

5Main GUI → Tools → Semi-Automatic Feature → Evaluate Calibro

Page 64: mastertesi

3.2 Interfaccia 63

Open Image Permette l’apertura di una immagine, e, se gia presente nel

database, il caricamento dei suoi valori nella tabella.

Graphoskop Come nel modulo di Extract Paleography, vi e la possibilita

di estrazione di misurazioni del medio letterale attraverso Graphoskop.

E richiesto l’utilizzo della componente forma generica per calcolare il

medio letterale di ogni singola lettera.

Extract Office Permette di caricare in tabella i valori estratti: oltre a dare

la possibilita di caricarli dal foglio di calcolo generato da Graphoskop,

e permesso anche l’utilizzo di un file .txt in cui vengano inserite le

misurazioni effettuate. In questo ultimo caso, la sintassi del file e rela-

tivamente generica, si possono scrivere le misurazioni sulla stessa riga,

o in righe successive, o inserendo piu valori su righe diverse.

Add Il bottone Add, associato al textfield al suo fianco, permette di aggiun-

gere manualmente una misurazione.

Clear Empty Viene data la possibilita all’utente di modificare o cancellare

un valore presente nella tabella. Se si rimuovono delle misurazioni,

il tasto Clear Empty aggiorna la tabella, eliminando le righe rimaste

vuote.

Persistent Permette di rendere persistenti i valori presenti in tabella sul

database, associandoli all’immagine visualizzata nel pannello di ante-

prima.

La seconda sezione, adibita a mostrare i risultati, e suddivisa come segue:

• Due Radio Buttons6

• Una Combobox

• Due Checkbox con associate due Textfield

6Componente che permette di effettuare una scelta singola fra quelle disponibili

Page 65: mastertesi

64 3. WSS: Writing Similarity Search

• Un Button

• Cinque Label per la visualizzazione del risultato.

I RadioButton permettono di scegliere se calcolare il calibro sulla singola

immagine aperta, con i valori mostrati in tabella, o su un cluster preceden-

temente generato. Se si ricade su questa seconda scelta, vengono messe a

disposizioni le varie opzioni per decidere il cluster su cui calcolare il calibro.

Il bottone Evaluate Calibro calcolera e stampera a schermo i risultati del

disuguale metodico del calibro. Infine, l’ultimo bottone Query k-NN aprira

un nuovo Dialog per l’impostazione dei parametri utili alla risoluzione di una

query k-NN basata sul Calibro come Pattern.

3.3 Estensione WSS

L’obiettivo della tesi, come gia detto, e stato di aggiungere al framework

WSS la componente d’analisi paleografica.

Per mantenere consistenza con l’intero modulo di Windsurf basato su Re-

gioni, e stato deciso di creare un nuovo package Paleography all’interno del

quale sono state aggiunte diverse classi per raggiungere l’obiettivo.

In primo luogo verra dato una visione generale del package, andando di passo

in passo a descrivere le varie classi.

3.3.1 Package Paleography

Il package Paleography (Fig. 3.6) contiene 4 classi e un ulteriore package.

Le classi presenti sono:

PaleographyImage Rappresentazione di una immagine paleografica

CalibroImage Rappresentazione di una immagine per l’individuazione del

Calibro

Page 66: mastertesi

3.3 Estensione WSS 65

Figura 3.6: UML Paleography Package

ExtractFromOffice Classe utility per l’estrazione di feature da un foglio

di calcolo

EvaluateCalibro Classe contenente i metodi per il calcolo del disuguale

metodico del calibro.

Il package PaleographyRegion contiene invece la classe astratta Paleography-

Image e diverse sue implementazioni, ognuna rappresentativa di una deter-

minata feature.

3.3.2 PaleographyImage Class

Per riuscire ad ottenere un modello Region-Based, si e deciso di far esten-

dere PaleographyImage alla classe astratta Image.

Il paradigma Region-Based prevede che ogni immagine sia caratterizzata dal-

le regione di cui essa e composta: per rispettarne la struttura, la classe

PaleographyImage viene rappresentata da nove Regioni di diverso tipo:

• PaleographyLineSpacingRegion

• PaleographyWritingBodyRegion

Page 67: mastertesi

66 3. WSS: Writing Similarity Search

• PaleographyWritingBodyASCRegion

• PaleographyWritingBodyDESCRegion

• PaleographyWritingAnglesRegion

• PaleographyWritingAnglesASCRegion

• PaleographyWritingAnglesDESCRegion

• PaleographySpacingWordsRegion

• PaleographyDensityRegion

Ognuna di queste regioni rappresenta un tipo di features, di conseguenza

una immagine paleografica viene rappresentata dal numero di misurazioni

effettuate per ogni tipo di Regione diversa.

Da come si evince dalla figura 3.7, tutti i tipi di regioni estendono, o per

meglio dire, implementano la classe astratta PaleographyRegion, la quale a

sua volta estende la classe Region.

La classe PaleographyRegion, oltre ad avere un campo protected double

value che rappresenta il valore della feature, contiene i seguenti metodi:

• public PaleographyRegion(ImageID id)

Costruttore con parametro in ingresso ImageID per assegnare l’id alla

regione. Inoltre nel costruttore e presente il metodo setSize(1) per

impostarne la grandezza a uno.

• public void setValue(double v)

Metodo pubblico che imposta il valore v uguale al valore double in

ingresso value.

• public void setFeature(String s)

Metodo pubblico analogo a setValue con la differenza di avere in Input

un oggetto String invece che double

Page 68: mastertesi

3.3 Estensione WSS 67

Figura 3.7: UML PaleographyImage Class

• public double getValue()

Metodo pubblico che restituisce il valore value come double

• public String getFeature()

Metodo pubblico che restituisce il valore value come String.

• public double distance(Region r)

Metodo @Override pubblico che calcola la distanza tra la Region in

esame e la Region di input r. Il metodo restituisce la differenza in

valore assoluto dei rispettivi valori value.

Page 69: mastertesi

68 3. WSS: Writing Similarity Search

Se prendiamo in esame una qualsiasi implementazione di PaleographyRegion,

troviamo in aggiunta solo il seguente costruttore

• public PaleographyXYZRegion(ImageID id, double v)

Costruttore che accetta in ingresso la consueta ImageID con in piu

il valore double v da assegnare alla variabile value precedentemente

descritta.

Come gia detto, la PaleographyImage e caratterizzata dalle misure di ogni

singola tipo di Region e per riuscire a ottenerne i vettori delle misure vengono

implementati nove campi protected, uno per ogni tipo di regione:

• protected AbstractList<Region> linespacing;

• protected AbstractList<Region> writingbody;

• protected AbstractList<Region> writingbodyasc;

• protected AbstractList<Region> writingbodydesc;

• protected AbstractList<Region> writingangles;

• protected AbstractList<Region> writinganglesasc;

• protected AbstractList<Region> writinganglesdesc;

• protected AbstractList<Region> spacingwords;

• protected AbstractList<Region> density;

La classe PaleographyImage implementa i seguenti metodi:

• public PaleographyImage(ImageID id)

Costruttore con parametro di ingresso ImageID che imposta l’id del-

l’immagine e istanzia i vari vettori.

• public PaleographyImage(ImageID id, String resultString)

Copy Constructor con anche una Stringa contenente le features nel

formato descritto piu avanti.

Page 70: mastertesi

3.3 Estensione WSS 69

• private double getAVG(AbstractList<Region> src)

Metodo privato che restituisce la media del vettore di feature src dato

in input.

• public double[] getAVGs()

Metodo pubblico che restituisce un array di double contenente la media

di ogni tipo di Region.

• public void setFeatures(String vector)

Metodo pubblico che permette di impostare i valori di ogni singola

feature al vettore corrispondente. La stringa vector deve avere questo

formato:

– ’ ’: ovvero stringa vuota. Il metodo allora pulisce il vettore

corrispondente da tutti gli elementi

– v1,...,vn-c1,...,cn-...-s1,...,sn: in cui la stringa ha un

preciso ordine. Ogni ’-’ segna la fine di un vettore di feature

dall’altro, e all’interno del singolo vettore, il carattere ’,’ divide il

valore di una feature dall’altra.

• private void setRegionFeatures(String vector,

AbstractList<Region> v)

Metodo privato di supporto che permette di creare il vettore di Region

a partire da una stringa vector.

• public String getFeatures()

Metodo pubblico che restituisce i vettori di tutte le features come String

usando il formato precedentemente descritto.

• public String getRegionFeature(AbstractList<Region> vector)

Metodo pubblico che restituisce un singolo vettore di Region come

String usando il formato precedentemente descritto.

Page 71: mastertesi

70 3. WSS: Writing Similarity Search

Vengono inoltre forniti diversi metodi getter e setter per ottenere le features

come double, piuttosto che la loro media, e di impostarne i valori attraverso

array di double o stringhe.

Page 72: mastertesi

3.3 Estensione WSS 71

3.3.3 WrapperFeaturePaleographyMySQL Class

Per gestire a livello database le immagini e le features paleografiche e stata

implementata la nuova classe WrapperFeaturePaleographyMySQL, la quale,

allo scopo di mantenere inalterate le funzioni finora presentate, estende la

classe WrapperFeatureMomentsMySQL.

Figura 3.8: UML WrapperFeaturePaleographyMySQL Class

La classe contiene diversi campi final protected che definisco semplicemente

il nome delle tabelle del database.

WrapperFeaturePaleographyMySQL implementa i seguenti metodi:

Page 73: mastertesi

72 3. WSS: Writing Similarity Search

• public boolean createPaleographyFeatTablesInDB()

Metodo che crea tutte le tabelle necessarie nel database; in particolare

crea 9 tabelle per contenere le features di ogni tipo di Region, una per

gestire i clusters a livello generale, e altre 9 per la gestione dei cluster

di ogni tipo di Region.

• public void insert paleography(Image img, String imageURL)

Data in input una PaleographyImage e il suo path, il metodo inserisce

le features dell’immagine nel database.

• public void insert paleographyFromOffice(String imageURL,

String ExcelURL)

Metodo simile a insert paleography, ma con la possibilita di specificare

il percorso dell’immagine e del foglio di calcolo da cui importare i valori.

• public void insert paleographyFromResult(String imageURL,

String resultFeature)

Ulteriore metodo di supporto per inserire una immagine nel databa-

se specificando il path dell’immagine e una stringa rappresentante le

features.

• public String retrievePaleographyFeatureFromID(ImageID id)

Dato l’id dell’immagine, il metodo restituisce le sue features, presenti

nel database, sotto forma di stringa.

• public Image retrieveImage paleography(ImageID id)

Metodo che restituisce una PaleographyImage con i valori di Region

caricati dal database, avendo come input l’id dell’immagine.

• private Image create paleography(String resultFeature,

String imageURL)

Metodo privato di supporto che data una stringa rappresentante le

features, e il path dell’immagine, restituisce una PaleographyImage con

i valori impostati correttamente.

Page 74: mastertesi

3.3 Estensione WSS 73

• public Image extractFromSingleURL(String imageURL)

Metodo pubblico che restituisce una PaleographyImage, con i valori

caricati dal database, avendo a disposizione il percorso dell’immagine

stessa.

• private String extractFromSingleURLtoString paleography(String

imageURL)

Metodo privato di supporto che restituisce il vettore di features, cari-

cato dal database, sotto forma di stringa.

• private Image

create notConsistent paleography(String resultFeature, String

imageURL)

Metodo privato simile a create paleography che restituisce una Paleo-

graphyImage creando un nuovo id univoco progressivo relativo all’im-

magine se non gia presente.

• public Image

extractFromSingleURL notConsistent paleography(String imageURL)

Metodo analogo a extractFromSingleURL che utilizza la versione non

consistente di create paleography.

• public AbstractList<String> getAuthors()

Metodo pubblico che restituisce la lista degli Autori presenti nel data-

base, utilizzando le classi associate alle immagini.

• public void generateAllClustersDB()

Metodo pubblico che genera i Cluster a partire dalle classi delle imma-

gini

• public double[] queryWithClusters(int granularity, String query)

Metodo utilizzato nell’interfaccia Compare Paleography, restituendo un’ar-

ray di double che contengono la media dei valori delle features delle

immagini appartenenti al Cluster richiesto.

Page 75: mastertesi

74 3. WSS: Writing Similarity Search

• public Vector<ScoredResultImage>

queryKNNPaleographyImage(PaleographyImage image,

ParametricPaleographyDistance PalDistance, int k)

Metodo pubblico che permette di effettuare una query kNN a partire

dall’immagine image, utilizzando la ParametricPaleographyDistance e

con valore k uguale al valore di input.

ParametricPaleographyDistance

Il metodo queryKNNPaleographyImage della classe WrapperFeaturePaleogra-

phyMySQL utilizza la distanza ParametricPaleographyDistance creata appo-

sitamente per la gestione di features paleografiche.

Per mantenere l’interoperabilita del framework, la classe estende la classe

astratta Distance e si trova inserita all’interno del relativo package.

La classe richiede di impostare 10 parametri boolean: i primi 9 per i vari tipi

di PaleographyRegion e l’ultimo per valori non nulli.

La distanza si comporta come una distanza euclidea con l’opzione data al-

l’utente di scegliere quali tipi di Region utilizzare (i primi 9 booleani) e di

escludere o meno i valori zero (l’ultimo boolean).

3.3.4 CalibroImage Class

La classe CalibroImage e la rappresentazione di una immagine per il cal-

colo e la valutazione del disuguale metodico del Calibro.

Si e scelto di dividerla dalla classe PaleographyImage poiche, nonostante ca-

ratteristiche comuni basate sull’analisi grafologica, presenta peculiarita non

presenti in una immagine analizzata solo mediante feature paleografiche.

Per mantenere il paradigma Region-Based, la classe CalibroImage, la quale

estende la classe astratta Image, viene rappresentata attraverso le regioni di

cui e composta: nel caso specifico, una nuova specializzazione della classe

astratta PaleographyRegion, ovvero PaleographyXHeightRegion.

Page 76: mastertesi

3.3 Estensione WSS 75

PaleographyXHeightRegion si comporta in ugual modo a qualsiasi Paleo-

graphyRegion descritte nel paragrafo 3.3.2, con l’unico scopo di rappresentare

l’altezza del medio letterale, ovvero delle lettere medie del testo.

Figura 3.9: UML CalibroImage Class

Page 77: mastertesi

76 3. WSS: Writing Similarity Search

CalibroImage comprende tre campi protetti:

• protected AbstractList<PaleographyRegion> xheight;

• protected EvaluateCalibro evcal;

• protected Vector<Double> differences;

Se xheight e differences sono vettori usati per la memorizzazione delle singole

misurazioni e per la differenza fra esse, la variabile evcal e il fulcro della va-

lutazione del Calibro: essa si appoggia alla classe EvaluateCalibro, trattata

nel prossimo paragrafo.

La distinzione dei due campi xheight e differences e necessaria: il primo, in-

fatti, serve per l’effettivo calcolo del disuguale metodico del calibro,mentre il

secondo come rappresentazione del pattern Calibro dell’immagine stessa.

La classe CalibroImage contiene i seguenti metodi:

• public CalibroImage(ImageID id)

Costrutture che assegna l’id all’immagine e inizializza i campi protected

della stessa.

• public CalibroImage(ImageID id, String resultString)

Copy Constructor che oltre ad inizializzare i campi, attraverso la stringa

resultString, ne assegna anche i valori

• public String getCalibroType()

Metodo pubblico che restituisce il tipo del Calibro: piccolo, medio o

grande.

• public double getCalibroAVG()

Metodo pubblico che restituisce la grandezza media del letterale medio:

serve per distinguere il tipo di calibro.

• public int getNumDistanze()

Metodo pubblico che restituisce il numero di campane (disuguaglianze)

trovate.

Page 78: mastertesi

3.3 Estensione WSS 77

• public String getInegualCalibro()

Metodo pubblico che restituisce il grado del disuguale metodico del

calibro.

• public double getAVGStartEnd()

Metodo pubblico che restituisce la distanza tra la prima e l’ultima

campana.

• public double getEachAVG()

Metodo pubblico che restituisce la grandezza media di ogni campana.

• public double[] getXHeightValue()

Metodo che restituisce un array di double delle misurazioni effettuate.

• public double[] getPattern()

Metodo che restituisce il pattern Calibro come array di double.

• public void setFeatures(double src[])

Metodo pubblico che, dato in input un array di double, assegna i valori

sia a xheight che a differences.

• public void setFeatures(String vector)

Ugual metodo a setFeatures(double src[]), con la differenza di accettare

una stringa di valori nel formato v1, . . . , vn.

3.3.5 EvaluateCalibro Class

La classe EvaluateCalibro, come detto precedentemente, e adibita all’ef-

fettivo calcolo del disuguale metodico del Calibro.

Essa contiene diverse costanti utili per il calcolo e la differenziazione del

calibro, e oltre a implementare diversi metodi, definisce una nuova classe

chiamata DisuguaglianzaMetodica. La classe DisuguaglianzaMetodica rap-

presenta la campana, piu volte citata, utilizzata nel calcolo del disuguale

metodico del calibro.

Essa contiene cinque variabili private:

Page 79: mastertesi

78 3. WSS: Writing Similarity Search

• private double start;

• private double end;

• private double peakValue;

• private int peakOccurency;

• private boolean disugualemetodico;

le quali rappresentano, in ordine, il valore di inizio, di fine e di picco del-

la campana, la frequenza del valore di picco e infine un valore booleano che

distingua i diseguale metodico da quello non-metodico. DisuguaglianzaMeto-

dica implementa diversi metodi getter per ottenere il valore di ogni variabile

precedentemente illustrata piu il costruttore che inizializza e assegna un va-

lore alle variabili stesse.

La classe EvaluateCalibro gestisce otto variabili private per il calcolo del

Calibro, e oltre a i metodi di setter e getter di queste ultime, contiene i

seguenti metodi:

• private void update()

Metodo privato chiamato ogni qual volta le misurazioni effettuate sul

letterale medio variano. Esso semplicemente chiama in ordine i metodi

privati successivamente illustrati per aggiornare il valore del Calibro.

• private void setupValues()

Metodo privato che crea l’istogramma di valori e definisce il tipo di

calibro.

• private void createDisuguaglianze()

Metodo privato che crea le disuguaglianze, ovvero le campane, a partire

dall’istogramma creato al passo precedente.

• private void setupAVGsDistance()

Metodo privato che calcola le medie necessarie per il diseguale del

Calibro.

Page 80: mastertesi

3.3 Estensione WSS 79

• private void evaluateInegualCalibro()

Metodo privato che calcola il grado del disuguale metodico del Calibro.

3.3.6 WrapperFeatureCalibroMySQL Class

In egual modo per le features paleografiche, e stata creata la classe Wrap-

perFeatureCalibroMySQL per la gestione del calibro nel database.

Per mantenere l’interoperabilita e la struttara finora generata, la classe esten-

de WrapperFeaturePaleographyMySQL.

La classe presenta tre campi final protected per la gestione delle tabelle

nel database.

WrapperFeatureCalibroMySQL implementa i seguenti metodi:

• public boolean createCalibroTableInDB()

Metodo pubblico che crea tre tabelle nel database: una per gestire le

features Calibro sulle immagini e due per gestirne i Cluster.

• public void insert calibro(Image img, String imageURL)

Metodo pubblico che inserisce nel database l’immagine CalibroImage

img con le features associate, ricavando l’id grazie all’imageURL.

• public void insert calibroFromResult(String imageURL, String

resultFeature)

Metodo alternativo per inserire le features nel database, utilizzando

invece dell’immagine una stringa di misurazioni.

• private Image

create calibro(String resultFeature, String imageURL)

Metodo privato di supporto che crea una CalibroImage utilizzando le

features resultFeatures e ricavando l’id grazie all’imageURL.

• public String retrieveCalibroFeatureFromID(ImageID id)

Metodo pubblico che restituisce in formato String, le features Calibro

associate all’immagine id.

Page 81: mastertesi

80 3. WSS: Writing Similarity Search

• public Image retrieveImage calibro(ImageID id)

Metodo pubblico che restituisce una CalibroImage ricavandone le fea-

tures dal database, grazie al suo id.

• public Image extractFromSingleURL(String imageURL)

Metodo alternativo che restituisce una CalibroImage utilizzando il suo

path.

• private String

extractFromSingleURLtoString calibro(String imageURL)

Metodo privato di supporto che restituisce le features presente nel

database associate all’immagine il cui path e imageURL.

• private Image

create notConsistent calibro(String resultFeature,

String imageURL)

Metodo privato che crea una CalibroImage il cui id viene creato in

maniera non consistente, utilizzando le features date in ingresso.

• public Image

extractFromSingleURL notConsistent calibro(String imageURL)

Metodo pubblico che restituisce una CalibroImage, con id non consi-

stente, utilizzando il suo path imageURL.

• public AbstractList<String> getAuthors()

Metodo pubblico che restituisce la lista di Autori, utilizzando la classe

delle immagini nel database.

• public void generateClusterCalibroinDB()

Metodo pubblico che crea e calcola i vari clusters.

• public CalibroImage

queryWithClusters calibro(int granularity, String query)

Metodo pubblico che permette di effettuare una query sul clusters

selezionato a diversi livelli di granularita.

Page 82: mastertesi

3.3 Estensione WSS 81

• public String[] getClasses()

Metodo pubblico che restituisce una array di stringhe contenente le

classi delle immagini.

• public String[] getImagePaths()

Metodo pubblico che restituisce un’array di stringhe contenente il path

di ogni immagine nel database.

• public void

updateClassImages(String src[])

Metodo pubblico che, dato in ingresso un array di stringhe, aggiorna

la classe delle immagini nel database.

• public Vector<ScoredResultImage>

queryKNNCalibroImage(CalibroImage image, int k)

Metodo pubblico che effettua una query k-NN sull’immagine image

selezionata, utilizzando la distanza CalibroDistance, che fa uso del

pattern Calibro.

CalibroDistance Class

Nel metodo queryKNNCalibroImage della classe WrapperFeatureCalibroMy-

SQL e stata citata la distanza CalibroDistance. Essa e stata creata per

riuscire a risolvere query utilizzando il pattern Calibro.

Estende, come tutte le distanze, la classe astratta Distance per rimanere coe-

rente al framework.

La classe permette il calcolo della distanza tra due vettori di double in due

varianti: Euclidea o Dynamic Time Warping.

Dopo aver istanziato un nuovo oggetto CalibroDistance, vi e la necessita di

utilizzare il metodo setVariables() per scegliere la variante di utilizzo nel

calcolo della distanza.

Il metodo distance() accetta come parametri due array di double e a

seconda dei parametri, la funzione si comporta in maniera diversa:

• Se e stata impostata la variante Distanza Euclidea:

Page 83: mastertesi

82 3. WSS: Writing Similarity Search

– Se i due vettori hanno stessa lunghezza, ne calcola e restituisce la

loro distanza

– Se i due vettori hanno lunghezza differente, viene confrontato il

vettore piu corto di lunghezza lunghezza k, con ogni sottovettore

lungo k dell’array di lunghezza maggiore, restituendo fra tutti i

confronti, il valore di distanza euclidea minore.

• Se e stata impostata la variate Distanza DTW, viene calcolata la distan-

za Dynamic Time Warping in versione “Practical DP-MATCHING Al-

gorithm”, ovvero una variante di piu veloce calcolo, priva di adjustment

window, gia presente nel framework WSS ma sotto forma di Matching.

Page 84: mastertesi

Capitolo 4

Testing - Preparazione

4.1 Introduzione

Con la conclusione dello sviluppo del Framework WSS, con relativa esten-

sione, e necessario effettuare la componente di testing, ovvero di sperimen-

tazione. Lo scopo della sperimentazione, oltre ad essere punto fondamentale

di debugging, e di quantificare la bonta del software, ovvero di poterne dare

una descrizione formale di “quanto funziona bene”.

Lo scopo principale del capitolo e di effettuare dei test banali sul framework

per poterne dare una valutazione in termine di efficacia.

Un secondo obiettivo perseguito e di individuare gli effettivi test “utili” per

descriverne la bonta: bisogna seguire un criterio logico nei test effettuati.

La scelta e la creazione dei test e di estrema utilita: nel capitolo, infatti,

verra presentato un database “giocattolo” con cui si e provata l’efficacia del

framework attraverso i test effettuati. Lo scopo ultimo, pero, e di effettuare

sperimentazione su benchmark reali, forniti da terzi, per comprovare l’esat-

tezza e l’utilita del software che si e sviluppato: ecco dunque che aver creato

i test a “tavolino”, su un database privato, permette di evitare un’analisi

inutile attraverso test superflui e non necessari su un database di grandezze

maggiori.

Alcuni test che verranno presentati hanno lo scopo di trovare una corrispon-

83

Page 85: mastertesi

84 4. Testing - Preparazione

denza con lavori di tesi e sviluppo di colleghi dottori; altri, invece, sono punti

di partenza per l’analisi dell’estensione effettuata al framework WSS.

4.2 Descrizione Database

La prima analisi del framework e stata effettuata su dataset privati per,

come gia detto, effettuare debugging e creare test utili ad una analisi piu

generale su benchmark.

Sono stati creati diversi database, ognuno con uno scopo specifico: ovvero

lo studio dei diversi metodi implementati all’interno di WSS. Ogni database

creato sulla base dei dati, ha un diverso livello di granularita su cui lavora,

ma si basano tutti su testi manoscritti.

Il primo dataset prende forma utilizzando le seguenti immagini

(a) A Questo Punto (b) Paragrafo Wikipedia

Figura 4.1: Due pagine manoscritte dall’autore Antonio, la prima e la tra-

scrizione della poesia di Montale “A questo punto”, la seconda e la tra-

scrizione del primo paragrafo della pagina Wikipedia “Cubo di Rubik”

(https://it.wikipedia.org/wiki/Cubo di Rubik)

Page 86: mastertesi

4.2 Descrizione Database 85

(a) A Questo Punto (b) Paragrafo Wikipedia

Figura 4.2: Le stesse due pagine manoscritte, ma con autore Emanuele

Come si vede dalle immagini, il dataset utilizza intere pagine come oggetti

di analisi e da questo, infatti, verranno fatti test sull’analisi paleografica.

E stato creato successivamente un secondo dataset, utilizzando singole paro-

le estratte dalle immagini precedentemente illustrate (Fig 4.1, 4.2). Questo

dataset comprende in totale 63 immagini, suddivise tra i due autori. Per

ogni parola sono state estratte un numero differente di istanze, riportate tra

parentesi nella seguente lista:

• Autore Antonio

anno (1) - cubo (2) - guerra (1) - non (3) - occhi (1) - pazzo (1) - per

(1) - punto (5) - questo (5) - razzo (1) - rubik (4) - smetti (3) - sono

(2) - storia (2) - tedio (1)

• Autore Emanuele anno (1) - cubo (2) - guerra (1) - non (3) - pazzo

(1) - per (1) - punto (5) - questo (5) - razzo (1) - rubik (4) - smetti (3)

Page 87: mastertesi

86 4. Testing - Preparazione

- storia (2) - tedio (1)

L’immagine seguente mostra l’intero dataset.

Figura 4.3: Dataset di 63 parole estratte da quattro testi manoscritti

4.3 Test 1 - Paleografia

Il primo test che si e voluto effettuare si basa sulla nuova componente

introdotta, ovvero la paleografia. Sono stati estratti, attraverso l’uso di Gra-

phoskop, tutte le informazioni necessarie per l’analisi paleografica. Si noti

che per la costruzione del database e stato utilizzato il primo dataset (Fig.

4.1, 4.2) e da ogni immagine sono state estratte le componenti necessarie.

Page 88: mastertesi

4.3 Test 1 - Paleografia 87

A scopo illustrativo si mostra di seguito uno dei quattro fogli di calcolo

creati attraverso Graphoskop. Per ogni immagine, dunque, sono state estrat-

Figura 4.4: Features Paleografiche estratte dall’immagine 4.1a

te le features paleografiche necessarie alla creazione del database. Si vuole

sottolineare la “scarsita” del database, infatti esso comprendo solo quattro

immagini: ma, in virtu di questo, si e riusciti a far un test su ogni immagine,

utilizzandola come immagine di query.

La query costruita si basa sul modello k-NN, con distanza ParametricPa-

leographyDistance in cui vengono considerati tutti gli elementi con solo i

valori non nulli, e si e impostato il valore di k a quattro, ovvero all’intera

grandezza del dataset.

L’immagine 4.5 vuole essere illustrativa dell’effettivo funzionamento del fra-

mework: viene richiesto di effettuare una k-NN paleografica, con conseguente

apertura di un popup per la scelta dei parametri nel calcolo.

Page 89: mastertesi

88 4. Testing - Preparazione

Figura 4.5: Interfaccia per l’esecuzione di k-NN paleografica

4.3.1 Test 1.1

Si e presa come immagine di query Antonio poesiamontale.jpg (Fig. 4.1a).

I risultati, mostrati inizialmente in figura (fig. 4.6) e successivamente nella

lista numerata (ref. 4.3.1) sono soddisfacenti, infatti come risultato si hanno

ai primi due posti le immagini appartenenti allo stesso autore Antonio e in

secondo luogo i testi dell’autore Emanuele.

Page 90: mastertesi

4.3 Test 1 - Paleografia 89

Figura 4.6: Interfaccia grafica mostrante risultato parziale della query 4.3.1

Risultato:

1. Antonio poesiamontale - Distance 0.0 (Fig. 4.1a)

2. Antonio wikipedia – Distance 11.209 (Fig. 4.1b)

3. Emanuele poesiamontale – Distance 32.65 (Fig. 4.2a)

4. Emanuele wikipedia – Distance 35.031 (Fig. 4.2b)

4.3.2 Test 1.2

Immagine di query: Antonio wikipedia.jpg (Fig. 4.1b). Risultato:

1. Antonio wikipedia – Distance 0.0 (Fig. 4.1b)

2. Antonio poesiamontale - Distance 11.209 (Fig. 4.1a)

3. Emanuele wikipedia – Distance 83.362 (Fig. 4.2b)

4. Emanuele poesiamontale – Distance 87.477 (Fig. 4.2a)

Page 91: mastertesi

90 4. Testing - Preparazione

4.3.3 Test 1.3

Immagine di query: Emanuele montale.jpg (Fig. 4.2a). Risultato:

1. Emanuele poesiamontale – Distance 0.0 (Fig. 4.2a)

2. Emanuele wikipedia – Distance 11.653 (Fig. 4.2b)

3. Antonio poesiamontale - Distance 32.65 (Fig. 4.1a)

4. Antonio wikipedia – Distance 87.477 (Fig. 4.1b)

4.3.4 Test 1.4

Immagine di query: Emanuele wikipedia.jpg (Fig. 4.2b). Risultato:

1. Emanuele wikipedia – Distance 0.0 (Fig. 4.2b)

2. Emanuele poesiamontale – Distance 11.653 (Fig. 4.2a)

3. Antonio poesiamontale - Distance 35.031 (Fig. 4.1a)

4. Antonio wikipedia – Distance 83.362 (Fig. 4.1b)

4.3.5 Conclusioni

Sono stati effettuati quattro test, uno per ogni immagine manoscritta

presente all’interno del database. I risultati sono piu che soddisfacenti, infatti

per ogni test sono stati portati ai primi posti sempre immagini appartenenti

allo stesso autore.

Come detto a inizio test, purtroppo, si pensa sia dovuto anche alla grandezza

ridotta del dataset.

Il test aveva lo scopo di valutare il funzionamento del nuovo modulo aggiunto

riguardante la paleografia: nonostante la piccola dimensione, il risultato deve

comunque essere preso in considerazione.

Future osservazioni verranno effettuate su benchmark reali.

Page 92: mastertesi

4.4 Test 2 - Calibro 91

4.4 Test 2 - Calibro

Il seguente test ha lo scopo di valutare il Disuguale metodico del Calibro

in quanto tale, ovvero rispettando l’algoritmo Morettiano per la valutazione

dello stesso.

A fine del test, si avra per ogni testo manoscritto il grado del disuguale, da

poter confrontare con i restanti manoscritti.

Ancora una volta il dataset utilizzato e composto dalle immagini “intere”

(Fig. 4.1 e Fig. 4.2) poiche, ricordando la definizione di Palazzi, e necessario

avere una quantita minima di misurazioni, non possibili sulle singole parole.

4.4.1 Test 2.1

Viene, in primo luogo, mostrato un esempio di utilizzo del framework per

l’estrazione e il calcolo del disuguale metodico del Calibro.

L’immagine in esempio e sempre Antonio montale.jpg (Fig. 4.1a), di cui

viene mostrata una versione con l’estrazione dell’altezza del medio letterale

attraverso Graphoskop.

Figura 4.7: Parte dell’immagine manoscritta 4.1a in cui vengono evidenziate

le misurazioni del medio letterale.

Page 93: mastertesi

92 4. Testing - Preparazione

L’immagine appartiene all’autore Antonio e i valori effettivamente estrat-

ti sono i seguenti:

1.2 1.9 3 3 2.5 2 2 1.5 1.9 2

2.1 2.5 3.1 2.6 2.8 1.8 1.8 2.8 2.8 2.8 3.2 2.8 2 1.9 2.9 1.1

3.9 2.1 2.5 3.1 3 1.6 1 1.9 2.5 3

2.7 3.5 2 2 1.9 2 1.5 2 3.5 2 1.9 2 4 2.3 2.1 2.1 2.9 2.4 2.1 2 2.1

2.3 2.5 3 2.5 1.5 2.1 2.3 3.1 2.2 2.1 3.1 4 2 2.5 2 3

1.8 3 2.8 2 1.9 2.5 2.9 2.1 2.5 2 1.9 2.5 2.1 1.9 2.6

3.1 2.3 1.9 2 2.1 2.8 3 3.1 3 2.5 3 3.2.

Una volta estratti e caricati sul modulo, attraverso il pulsante Extract Office,

e possibile calcolare il Disuguale metodico del Calibro, selezionando il radio-

button “Selected Image” e successivamente “Evaluate Calibro”. I risultati

sono mostrati in figura 4.8.

Figura 4.8: Esempio di utilizzo del modulo Evaluate Calibro sull’immagine

Antonio montale.jpg (Fig. 4.1a), in cui viene stampato in finestra il grado

del disuguale metodico del calibro.

Viene riportata di seguito la trascrizione del risultato, successivamente con-

Page 94: mastertesi

4.4 Test 2 - Calibro 93

frontabile con ulteriori test su manoscritti differenti.

Tipo Calibro: CALIBRO MEDIO

Numero di Disuguaglianze: 4

Distanza da inizio e fine: 1.0

Grandezza media di ogni disuguaglianza: 0.33

Grado del Disuguale metodico del Calibro: 8/10

Lo stesso procedimento e stato quindi seguito per l’immagine Antonio wikipedia.jpg

(Fig. 4.1b), da cui sono stati estratti i seguenti valori del medio letterale:

2.6 1.9 2 2.5 3 1.2 1.9 2.5 1.5 2.9 2.1 2 2.2 2.5 2 2 2 3 2 1.2 2.1

2 1.5 1.8 2 2.3 1.9 3 1.2 1.5 2

2 2.1 1.8 2 2 3 2.9 3 2.9 3.1 3 2.5 2.1 2 2.1 2.5 2.5 3 3.1 2.9 3

2.5 1.9 2 2.6 2 2.1 3.1 2 2 2 2.5 3.2 2 1.9 2.1 2.1 3.5 2.5 3 1.9

2 1.2 1.5 1.5 2.5

2 2 2.5 2.6 3 3.1 1.9 2 2.9 2.2 1.2 1.9 3.1 2.1 3.5 3.1 2.9 2 3 2.5

2.5 2.5 2.6 3 2.1 2 3 2.1 2.3 1 2.6 2.1 2 2.9 3.

Il risultato e stato il seguente:

Tipo Calibro: CALIBRO MEDIO

Numero di Disuguaglianze: 5

Distanza da inizio e fine: 1.8

Grandezza media di ogni disuguaglianza: 0.45

Grado del Disuguale metodico del Calibro: 8/10

Nonostante i parametri risultino diversi fra le due immagini, come il numero

di disuguaglianze, la distanza dalla campana iniziale alla finale e la grandezza

media di ogni campana, il grado del disuguale metodico del Calibro risulta

essere lo stesso per entrambi i testi manoscritti, ovvero 8/10.

Il test 4.4.1 si ritiene superato poiche il grado del disuguale metodico risulta

coerente per l’autore Antonio.

Page 95: mastertesi

94 4. Testing - Preparazione

4.4.2 Test 2.2

Il test 4.4.2 prosegue l’analisi del disuguale metodico del Calibro, calco-

landone il grado per lo scrittore Emanuele.

Viene da prima analizzata l’immagine Emanuele montale.jpg (Fig. 4.2a) dal-

la quale vengono estratte le seguenti features:

3 3 3 2.5 3 2.5 2.1 3 3 3.5 3.5 2.5 2.5 3 3.5

3 3 2.5 3.5 3 2.5 2.5 3 3.1

2.1 3 3.5 2.7 2.1 2 2 1.9 3 3 2 2 2.5 2.1 2.5 2.1 2.1 3 2.9 2.9 3

3.5 3.5 3 2.5 2 2.1 1.9 2.1 3.1 2.9 2.9 3.1 2.9 2.8 3 3

3 3 3 3.5 2 2 3 3.1 3 2 2 2.1 3.1 2 3.1

4 2.7 2.9 2.1 2.5 3 2.6 2.9 2 3 2.9 3 2.5 3 2.5 2.6 2.5 2.5 2 2.5

2 2 2.5 2.9 2.7 2.5

Eseguendo i calcoli, l’esito e il seguente:

Tipo Calibro: CALIBRO MEDIO

Numero di Disuguaglianze: 4

Distanza da inizio e fine: 1.5

Grandezza media di ogni disuguaglianza: 0.5

Grado del Disuguale metodico del Calibro: 7/10

Infine, e stata analizzata l’immagine Emanuele wikipedia.jpg (Fig. 4.2b): le

misurazioni effettuate sono le seguenti

3.5 2.9 2.3 2.5 2.5 2.1 2.2 3.5 2.1 3 2.2 3.1 2.5 2.2 2.5 3 2.5 2.5

3.5 2.3 2.5 2.9 2.5 2.5 2 3 2.6 2.5 2.5 2.5 2.5 2 2.3 2 1.8 2.1 2.9

3 2.5 3

2.5 3 2.6 2 2 3 2.1 3 3 2.5 2.6 3.5 2.2 2 3 2.9 3.1 2 2 2.5 1.9 2

2.9 3 2 2.5 2 2.8 2.5 2.8 2.5 2.8 2 1.5 2.1 2.6 2 2 3.5 3 2 2.5 2

2.2 3 2.5 2.1 2.6 1.9 1.9

2.5 3 2.5 2.6 3 2.2 1.8 3 2.7 1.5 3.1 3 3.1 1.1 2

con il seguente risultato

Tipo Calibro: CALIBRO MEDIO

Page 96: mastertesi

4.4 Test 2 - Calibro 95

Numero di Disuguaglianze: 4

Distanza da inizio e fine: 1.5

Grandezza media di ogni disuguaglianza: 0.5

Grado del Disuguale metodico del Calibro: 7/10

In questo caso, tutti i parametri coincidono per entrambe le immagini, e, cosa

piu importante, il grado del disuguale metodico del calibro risulta essere lo

stesso, ovvero 7/10. Anche il test 4.4.2 si ritiene soddisfatto, poiche il calibro

rimane invariato su manoscritti diversi dello stesso autore.

La tabella 4.1 riassume i risultati sul disuguale metodico del calibro fino-

ra effettuati.

Immagine Autore Grado Calibro Test Superato

Antonio montale.jpg Antonio 8/10X

Antonio wikipedia.jpg Antonio 8/10

Emanuele montale.jpg Emanuele 7/10X

Emanuele wikipedia.jpg Emanuele 7/10

Tabella 4.1: Tabella riassuntiva sui test 4.4.1 e 4.4.2

Si puo fare una breve conclusione grazie ai test 4.4.1 e 4.4.2: come la teoria

sul calibro ci dice, il disuguale rimane invariato per lo stesso autore, e una

caratteristica che contraddistingue l’utente, come una impronta digitale dello

stesso.

Si vuole da subito precisare una problematica: il disuguale metodico si basa

su misurazioni effettuate da un utente; il processo e dunque non privo di

errori, non e infatti automatizzato da una macchina; tale per cui, lo stesso

input potrebbe non produrre lo stesso output; due utenti diversi potrebbe-

ro effettuare due misurazioni diverse sulla stessa immagine poiche basate su

estrazione manuale. Il Calibro si basa sull’analisi in frequenza delle misura-

zioni, di conseguenza, anche un singolo valore errato, o quanto meno diverso,

puo produrre un grado del disuguale discordante. L’analisi del Calibro, dun-

Page 97: mastertesi

96 4. Testing - Preparazione

que, deve essere la piu precisa possibile, ma deve tener conto anche della

presenza di errori dovuti alla valutazione umana.

4.4.3 Test 2.3

Il seguente test, basato sempre sul Calibro, ha lo scopo di dimostra-

re sperimentalmente l’impossibilita di applicare il Calibro ai cluster, ovvero

l’impossibilita di applicare il disuguale metodico del Calibro a testi scritti in

momenti e/o spazi diversi.

Riprendendo la definizione del calibro (ref. 2.4) vi e la richiesta di valutare

l’altezza del medio letterale su una stessa pagina, cio e dovuto ad un fattore

psicologico di chi scrive: ogni soggetto condiziona la propria scrittura e la

propria grafia in base al sentimento, all’umore e alla situazione psico-fisica

attuale; di conseguenza, se valutassimo misurazioni di uno stesso scrittore in

tempi diversi, queste risulterebbero altalenanti, prive della ripetizione neces-

saria che il Calibro impone di descrivere e calcolare.

Il test, come detto, ha lo scopo di provare sperimentalmente cio che la teoria

ci dice.

Sono stati generati automaticamente due clusters1 a partire, ancora una vol-

ta, dal dataset avente le quattro immagini a granularita di pagina (Fig. 4.1

e 4.2). La funzione ha creato un cluster per l’autore Antonio e uno per l’au-

tore Emanuele, includendo per ognuno di essi, le immagini appartenenti agli

stessi autori.

1Funzione richiamabile attraverso il Button Generate Cluster nell’interfaccia principale

(Sez. Main GUI)

Page 98: mastertesi

4.4 Test 2 - Calibro 97

Il primo test e stato effettuato sul cluster Emanuele. L’immagine seguen-

te (Fig. 4.9) mostra l’esecuzione della query su interfaccia grafica.

Figura 4.9: Esempio di utilizzo del modulo Evaluate Calibro su cluster “ema-

nuele”, in cui viene stampato in finestra il grado del disuguale metodico del

calibro.

Per calcolare il disuguale metodico del calibro bisogna selezionare la combo-

Box “From Cluster”, selezionare l’autore e la granularita del cluster (Word

e/o Year) ed premere il Button “Evaluate Calibro”.

Viene riportato di seguito l’esito, mostrato in figura 4.9:

Tipo Calibro: CALIBRO MEDIO

Numero di Disuguaglianze: 4

Distanza da inizio e fine: 1.5

Grandezza media di ogni disuguaglianza: 0.5

Grado del Disuguale metodico del Calibro: 7/10

Il risultato sul cluster emanuele e in contraddizione con la tesi, infatti, il

grado del calibro rimane ancora 7/10, lo stesso grado delle singole immagi-

ni. Si vuole precisare che, il risultato, anche se in disaccordo con la tesi di

Page 99: mastertesi

98 4. Testing - Preparazione

dover valutare il calibro sul singolo testo manoscritto, e comunque apprez-

zabile, infatti persegue l’idea che il calibro sia una impronta dell’utente. E

necessario sottolineare che i testi sono stati scritti a distanza di pochi minuti,

quindi l’idea di condizionare la propria grafia in base all’umore del momento

e “superfluea”, in quanto l’autore ha scritto nello stesso momento entrambe

le pagine.

Successivamente e stato calcolato il disuguale metodico del calibro sul clu-

ster antonio, comprendente le immagini 4.1. L’esecuzione dell’algoritmo ha

il seguente esito:

Tipo Calibro: CALIBRO MEDIO

Numero di Disuguaglianze: 6

Distanza da inizio e fine: 1.8

Grandezza media di ogni disuguaglianza: 0.36

Grado del Disuguale metodico del Calibro: 10/10

La tesi e stata confermata: i parametri sono del tutto diversi dalle singole

immagini e, inoltre, il grado del disuguale e aumentato di 3 unita, passando

da 7/10 a 10/10.

Confrontando i parametri, nello specifico il numero di campane e la grandez-

za media di ognuna, si puo vedere che l’errore risiede nell’aver considerato

una campana intorno a una misurazione povera in frequenza, ovvero che,

grazie all’aggiunta di misurazioni e stata promossa a disuguaglianza poiche

ha raggiunto il lowerbound minimo. Se si dovesse aumentare il valore del

lowerbound minimo da cinque misurazioni a otto, e presente ugualmente un

errore di classificazione sulle campane, infatti, una campana presente sulle

singole immagini verrebbe declassata ed esclusa nel calcolo, riducendo il gra-

do del disuguale metodico a 6/10.

La tesi di dover valutare il disuguale metodico del calibro su singoli ma-

noscritti viene confermata, infatti il test effettuato sul cluster antonio ne

conferma la veridicita.

Page 100: mastertesi

4.4 Test 2 - Calibro 99

Si ritiene opportuno fare le seguenti considerazioni, sia a carattere generale

che nel caso specifico dei cluster:

• All’aumentare delle misure, il valore di soglia lowerbound per conside-

rare una campana deve aumentare. Ricordiamo che il calcolo si basa

sempre su frequenze di valori: se ne aumentiamo le misurazioni diventa

probabile incappare in classificazioni erronee di campane.

• La misurazione dell’altezza del medio letterale e sempre basata su mi-

surazioni manuali, la presenza di errore e purtroppo molto probabile:

sottolineando l’importanza della frequenza, anche un singolo errore puo

compromettere l’intero calcolo.

La tabella 4.2 vuole far da riassunto ai test sulle singole immagini e sui

cluster, mostrando l’effettiva concordanza o discordanza fra essi.

Immagine Autore Calibro Cluster Calibro Coincide

Antonio montale Antonio 8/10antonio 10/10 X

Antonio wikipedia Antonio 8/10

Emanuele montale Emanuele 7/10emanuele 7/10 X

Emanuele wikipedia Emanuele 7/10

Tabella 4.2: Tabella comparativa sul diseguale metodico del calibro tra

singole immagini e clusters

In definitiva, il grado del disuguale metodico del calibro si puo ben prestare

a dare una paternita ad un autore, ricordando pero la presenza inevitabile di

errore dovuta all’intervento umano e all’impossibilita di usare piu manoscritti

per il calcolo dello stesso.

4.4.4 Test 2.4

Il seguente test vuole sperimentalmente dimostrare le affermazioni di Pa-

lezzi riguardo un numero minimo di misurazioni per poter valutare il disu-

guale metodico del calibro.

Page 101: mastertesi

100 4. Testing - Preparazione

Palezzi, infatti, afferma che sono necessarie almeno cento misurazioni del-

l’altezza del medio letterale per poter riscontrarne una variazione metodica,

ovvero per poterne identificare il calibro.

Per effettuare questo test sono state estratte ulteriori parole dai test mano-

scritti degli autori emanuele e antonio. E stato necessario apportare alcune

modifiche ai parametri per poter valutare il calibro su singole parole, ovvero

i seguenti parametri sono stati modificati come segue:

• Il numero minimo di misurazioni da cento e stato ridotto a zero.

• Il valore di soglia lowerbound, per identificare una campana, e stato

ridotto a uno.

Test 2.4.1

Immagine di query: antonio appartengono.jpg

Autore: Antonio

Misurazioni effettuate: 3.9 2.1 2 3.8 2.5 3.1 2 2.1 2.1 2.5 2 2.9 2.1

Risultato:

Figura 4.10: antonio appartengono.png

Tipo Calibro: CALIBRO MEDIO

Numero di Disuguaglianze: 5

Distanza da inizio e fine: 1.8

Grandezza media di ogni disuguaglianza: 0.45

Grado del Disuguale metodico del Calibro: 8/10

Corretto

Page 102: mastertesi

4.4 Test 2 - Calibro 101

Test 2.4.2

Immagine di query: antonio maschera.jpg

Autore: Antonio

Misurazioni effettuate: 2.5 1.9 2 3.2 2.5 2 3.5 2.5

Risultato:

Figura 4.11: antonio maschera.png

Tipo Calibro: CALIBRO MEDIO

Numero di Disuguaglianze: 4

Distanza da inizio e fine: 1.5

Grandezza media di ogni disuguaglianza: 0.5

Grado del Disuguale metodico del Calibro: 7/10

Errato

Test 2.4.3

Immagine di query: antonio pensiero.jpg

Autore: Antonio

Misurazioni effettuate: 2 2.9 1.9 2 2.4 1.9 3 2.9 2.2

Risultato:

Figura 4.12: antonio pensiero.png

Tipo Calibro: CALIBRO MEDIO

Numero di Disuguaglianze: 4

Distanza da inizio e fine: 0.9

Page 103: mastertesi

102 4. Testing - Preparazione

Grandezza media di ogni disuguaglianza: 0.3

Grado del Disuguale metodico del Calibro: Rumore

Errato

Test 2.4.4

Immagine di query: emanuele appartengono.jpg

Autore: Emanuele

Misurazioni effettuate: 3 3 3 2.5 2.1 2 1 0.1 2.1 2 1.9

Risultato:

Figura 4.13: emanuele appartengono.png

Tipo Calibro: CALIBRO MEDIO

Numero di Disuguaglianze: 6

Distanza da inizio e fine: 2.9

Grandezza media di ogni disuguaglianza: 0.58

Grado del Disuguale metodico del Calibro: 9/10

Errato

Test 2.4.5

Immagine di query: emanuele insufflato.jpg

Autore: Emanuele

Misurazioni effettuate: 3 3 3 2.5 2.1 2 1 0.1 2.1 2 1.9

Risultato:

Tipo Calibro: CALIBRO MEDIO

Numero di Disuguaglianze: 4

Page 104: mastertesi

4.4 Test 2 - Calibro 103

Figura 4.14: emanuele insufflato.png

Distanza da inizio e fine: 1.5

Grandezza media di ogni disuguaglianza: 0.5

Grado del Disuguale metodico del Calibro: 7/10

Corretto

4.4.5 Conclusioni

Sono stati effettuati in totale cinque test, utilizzando immagini per en-

trambi gli autori.

Ricordando il grado del calibro per gli autori “Antonio” e “Emanuele”, ri-

spettivamente 8/10 e 7/10, la tabella 4.3 riassume gli esiti:

Immagine Autore Grado Calibro Coincide

antonio appartengono Antonio 8/10 X

antonio maschera Antonio 7/10 X

antonio pensiero Antonio Rumore X

emanuele appartengono Emanuele 7/10 X

emanuele insufflato Emanuele 7/10 X

Tabella 4.3: Tabella riassuntiva dei test descritti in sezione 4.4.4

La tabella ben risponde alla tesi iniziale: una valutazione su cosı poche mi-

surazioni non riesce a catturare cio che il calibro cerca di trovare, ovvero una

ripetizione metodica sulla variazione del medio letterale. Su cinque test, solo

due risultano corretti, e, si puo pensare, essi risultino positivi solo per pura

coincidenza dovute alle lettere presenti.

Come volevasi dimostrare, il calcolo del disuguale metodico del calibro ha

Page 105: mastertesi

104 4. Testing - Preparazione

bisogno di cio che Palezzi afferma: una quantita minima di misurazioni, di

conseguenza, esso si ritiene inutilizzabile per quanto riguarda dataset costrui-

ti da singole parole. Si noti bene che si sta usando il calibro in quanto tale:

verranno, infatti, piu avanti descritti test sul calibro come pattern.

4.5 Test 3 - SURF

Il seguente esperimento riprende il modulo SURF, gia presente all’inter-

no di WSS e Windsurf. Lo scopo e quello di confermare quanto trovato dal

dottor Niccolo Aimi, nella tesi di laurea“Tecniche di classificazione automa-

tica per lo studio del falso d’autore basate su similarity search”, in cui viene

descritta la bonta del modulo SURF con un confronto tra diversi tipi di di-

stanze e matching nella costruzione del risultato alle query.

Il dataset utilizzato comprende tutte le 63 immagini illustrate precedente-

mente (Fig. 4.3).

Per la costruzione iniziale del database e stato deciso di estrarre 200 Salient

Point per ogni immagine seguendo le decisioni intraprese da Aimi stesso. Si e

notato, pero, che all’atto di estrazione, per la maggior parte delle immagini,

il numero di Salient Point ritrovati e stato inferiore a cento: ecco dunque,

che per effettuare sperimentazione, si e deciso di ridurne l’effettivo numero

massimo a cento.

Sono stati dunque eseguiti diversi esperimenti, su diverse immagini ognu-

na presente nel database, con classe nota, per valutare la bonta del modulo

SURF applicandolo di volta in volta ad ogni possibile coppia distanza/match.

Come detto, lo scopo e di confermare le ricerche effettuate da Aimi, trovan-

do, allo stesso tempo, le migliori combinazioni su distanza/match per poter

evitarne degli utilizzi superflui.

Per affrontare questi test sono state scelte le parole con piu alta frequenza

all’interno del dataset.

Ogni test si basa su query k-NN, con k variabile: infatti e stato deciso di

perseguire due approcci:

Page 106: mastertesi

4.5 Test 3 - SURF 105

1. Il primo valuta il valore di K per cui si raggiunge il valore di Recall

massimo e il valore di K per cui il valore di Precision inizia a calare

2. Il secondo, invece, descrive Precision e Recall massimi sul K natura-

le, ove si intende K impostato alla frequenza di classe all’interno del

dataset.

4.5.1 Test 3.1 - antonio non 1.jpg

L’immagine di query e antonio non 1.jpg (fig. 4.15), ovvero la singola

parola “non” appartenente all’autore “Antonio”. Della parola all’interno del

dataset, sono presenti tre istanze dello stesso autore, e altre tre dell’autore

“Emanuele”.

Figura 4.15: Immagine antonio non 1.jpg con la corrispondete versione in

cui sono mostrati i Salient Point

Viene mostrata di seguito, e solo per questo test, l’intera tabella (Tab. 4.4)

prodotta come output per l’esperimento.

Distance Matching MAX K (P) MAX K (R)

Angolare 1-1 Greedy 1 62

Angolare Dynamic Time Warp 1 6

Angolare Earth Mover Distance 1 6

Angolare Ungherese 1 62

Angolare Integrated Region Matching 1 5

Angolare N-1 Best 1 54

Canberra 1-1 Greedy 1 62

Canberra Dynamic Time Warp 1 5

Canberra Earth Mover Distance 1 7

Page 107: mastertesi

106 4. Testing - Preparazione

Distance Matching MAX K (P) MAX K (R)

Canberra Ungherese 1 62

Canberra Integrated Region Matching 2 7

Canberra N-1 Best 1 40

Chebyshev 1-1 Greedy 1 62

Chebyshev Dynamic Time Warp 2 6

Chebyshev Earth Mover Distance 2 5

Chebyshev Ungherese 1 62

Chebyshev Integrated Region Matching 2 4

Chebyshev N-1 Best 1 62

Coseno 1-1 Greedy 1 63

Coseno Dynamic Time Warp 1 6

Coseno Earth Mover Distance 1 7

Coseno Ungherese 1 62

Coseno Integrated Region Matching 1 5

Coseno N-1 Best 1 54

Euclidea 1-1 Greedy 1 62

Euclidea Dynamic Time Warp 1 6

Euclidea Earth Mover Distance 1 6

Euclidea Ungherese 1 62

Euclidea Integrated Region Matching 1 5

Euclidea N-1 Best 1 54

Manhattan 1-1 Greedy 1 63

Manhattan Dynamic Time Warp 1 7

Manhattan Earth Mover Distance 1 7

Manhattan Ungherese 1 61

Manhattan Integrated Region Matching 1 7

Manhattan N-1 Best 1 58

Tabella 4.4: Tabella raffigurante risultato sulla query, in cui per ogni distanza

e ogni match viene descritto il valore di K per cui si ottiene Recall (R)

massima e l’ultimo valore di K per cui si ha Precision (P) massima.

Page 108: mastertesi

4.5 Test 3 - SURF 107

La tabella mostra, per ogni combinazione di distanza e match, il massimo

valore di K per cui si ha Precision massima e il minimo valore di K per cui

si raggiunge massima Recall.

Dalla tabella si puo osservare che le coppie per cui si ha un K maggiore per

la Precision e un K minore per la Recall sono, in ordine per Recall crescenti:

• Chebyshev-Integrated Region Matching

• Chebyshev-Earth Mover Distance

• Chebyshev-Dynamic Time Warp

• Canberra-Integrated Region Matching

Utilizzando, invece, il metodo di valutazione con K naturale, le combinazioni

migliori risultano essere le seguenti, riportate nella tabella (Tab. 4.5): Con

K=3

Precision - Recall = 0.66

Distanza Match

Canberra Dynamic Time Warp

Canberra Integrated Region Matching

Chebyshev Dynamic Time Warp

Chebyshev Earth Mover Distance

Chebyshev Integrated Region Matching

Tabella 4.5: Risultato del test, utilizzando il metodo di valutazione con k

naturale.

entrambi i metodi di valutazione, si vedono spiccare le stesse combinazioni,

con una preferenza alla distanza di Chebyshev. Conclusioni piu interessanti

verrano presentati a fine sperimentazione su SURF.

Page 109: mastertesi

108 4. Testing - Preparazione

4.5.2 Test 3.2 - antonio punto 1.png

L’immagine di query antonio punto 1.png, mostrata di seguito, e una del-

le 5 istanze della stessa classe all’interno del dataset. E stata sottoposta alla

stessa valutazione del test 3.1, di cui vengono mostrate solo le combinazioni

di interesse.

Figura 4.16: Immagine antonio punto 1.png con la corrispondete versione

con Salient Point

Il primo metodo di valutazione ha prodotto i seguenti esiti:

Distance Matching MAX K (P) MAX K (R)

Angolare N-1 Best 3 28

Canberra N-1 Best 3 27

Coseno N-1 Best 3 24

Euclidea N-1 Best 3 28

Manhattan N-1 Best 3 30

Tabella 4.6: Risultato al test, utilizzando il primo metodo di valutazione

Utilizzando il secondo metodo di valutazione si hanno risultati molto

simili. Si osserva una prevalenza incontrastata del match N-1 Best.

4.5.3 Test 3.3 - antonio questo 1.png

Immagine di query: antonio questo 1.png (Fig. 4.17). Anche la classe di

questa immagine e presente cinque volte all’interno del dataset.

Risultati al primo metodo di valutazione:

Se prendiamo in considerazione la prima tabella (Tab. 4.7), si nota la

forza della distanza di Canberra; analizzando invece il risultato su K naturale

Page 110: mastertesi

4.5 Test 3 - SURF 109

K=5

Precision - Recall = 0.6

Distanza Match

Angolare N-1 Best

Canberra N-1 Best

Canberra Earth Mover Distance

Coseno N-1 Best

Euclidea N-1 Best

Manhattan N-1 Best

Figura 4.17: Immagine antonio questo 1.png con la corrispondete versione

con Salient Point

Distance Matching MAX K (P) MAX K (R)

Canberra Earth Mover Distance 4 10

Canberra Integrated Region Matching 4 7

Canberra N-1 Best 4 6

Manhattan Integrated Region Matching 4 6

Tabella 4.7: Primo metodo di valutazione

(tab. 4.8), si nota come molte combinazioni riescano ad avere una forte Recall

e Precision.

Page 111: mastertesi

110 4. Testing - Preparazione

K=5

Precision - Recall = 0.8

Distanza Match

Angolare Dynamic Time Warp

Angolare Ungherese

Canberra Earth Mover Distance

Canberra Integrated Region Matching

Canberra N-1 Best

Chebyshev 1-1 Greedy

Chebyshev Earth Mover Distance

Chebyshev Ungherese

Chebyshev Integrated Region Matching

Euclidea Ungherese

Manhattan Earth Mover Distance

Manhattan Integrated Region Matching

Manhattan N-1 Best

Tabella 4.8: Secondo metodo di valutazione

4.5.4 Test 3.4 - antonio rubik 1.png

L’immagine in esame e antonio rubik 1.png mostrata in figura 4.18. Esi-

stono quattro esemplari di classe all’interno del dataset. La risoluzione della

query, utilizzando le varie distanze, ha dato l’esito mostrato nelle tabelle 4.9

e 4.10.

Figura 4.18: Immagine antonio rubik 1.png con la corrispondete versione con

Salient Point

[h!]

Page 112: mastertesi

4.5 Test 3 - SURF 111

Distance Matching MAX K (P) MAX K (R)

Canberra N-1 Best 3 7

Chebyshev Earth Mover Distance 3 5

Chebyshev Integrated Region Matching 3 5

Chebyshev N-1 Best 3 5

Coseno N-1 Best 3 6

Tabella 4.9: Primo metodo di valutazione per il test 3.4

K=4

Precision - Recall = 0.75

Distanza Match

Angolare Earth Mover Distance

Angolare Integrated Region Matching

Angolare N-1 Best

Canberra Earth Mover Distance

Canberra Integrated Region Matching

Canberra N-1 Best

Chebyshev Earth Mover Distance

Chebyshev Integrated Region Matching

Chebyshev N-1 Best

Coseno 1-1 Greedy

Coseno Earth Mover Distance

Coseno Ungherese

Coseno Integrated Region Matching

Coseno N-1 Best

Euclidea 1-1 Greedy

Euclidea Earth Mover Distance

Euclidea Ungherese

Page 113: mastertesi

112 4. Testing - Preparazione

K=4

Precision - Recall = 0.75

Distanza Match

Euclidea Integrated Region Matching

Euclidea N-1 Best

Manhattan Earth Mover Distance

Manhattan Integrated Region Matching

Manhattan N-1 Best

Tabella 4.10: Secondo metodo di valutazione

La maggior parte di distanze applicate alla maggior parte di match riescono

a risolvere la query con K naturale con buona Recall e Precision: si pensa

essere dovuto alla particolare forma della parola rispetto all’intero dataset.

Esaminando invece la prima valutazione si osserva come miglior distanza

Chebyshev e come miglior match generale N-1 Best.

4.5.5 Test 3.5 - antonio smetti 1.png

Come ultimo test in questa categoria, si e scelta come interrogazione

l’immagine antonio smetti 1.png. L’immagine di classe antonio/smetti e una

fra le tre presenti nel dataset.

Figura 4.19: Immagine antonio smetti 1.png con la corrispondete versione

con Salient Point

Page 114: mastertesi

4.5 Test 3 - SURF 113

In questo test le due valutazioni coincidono. Si osservino le seguenti

tabelle:

Distance Matching MAX K (P) MAX K (R)

Manhattan Integrated Region Matching 3 3

Tabella 4.11: Primo metodo di valutazione

K=3

Precision - Recall = 1

Distanza Match

Manhattan Dynamic Time Warp

Tabella 4.12: Secondo metodo di valutazione

Si raggiunge per la prima volta Recall e Precision massima nella query K

naturale: questo ovviamente implica che, con il primo metodo di valutazione,

il K per Precision e Recall massima coincide. Sorprende vedere come miglior

distanza Manhattan, poiche la piu semplice fra le varie.

4.5.6 Conclusioni

Il test ha lo scopo di confermare le tesi del dottor Niccolo Aimi e di trovare,

se possibile, nuove distanze e match utili all’analisi di parole manoscritte. E

possibile, innanzitutto, stilare una classifica per le migliori distanze e match.

Viene valutato il secondo metodo poiche si ritiene piu idoneo a un confronto

diretto: lo scopo delle query k-NN per la classificazione e di, dato un valore

di k, poter associare all’immagine sconosciuta una classe. Ecco dunque che

utilizzare il K naturale come metodo di valutazione, permette un’analisi piu

puntuale sulla singola query. Si voglia notare, pero, che nel momento in cui si

vorra utilizzare il modulo sui benchmark, si dovra impostare un K specifico

alle query: sottolineando nuovamente che lo scopo del test e di trovare le

Page 115: mastertesi

114 4. Testing - Preparazione

sole combinazioni utili, si e dunque deciso di trarre conclusioni dal secondo

metodo di valutazione. Viene esposta di seguito una classifica delle migliori

distanze, associando ad ognuna di esse, la frequenza di valore in cui e stata

ritenuta migliore:

1. Distanza di Chebyshev (10)

2. Distanza di Canberra (9)

3. Distanza di Manhattan (8)

4. Distanza Euclidea (7)

5. Distanza Coseno (6)

6. Distanza Angolare (6)

E interessante notare come ultime classificate la distanza Coseno e distanza

Angolare: il risultato non stupisce, infatti le due distanze sono nate per

l’analisi del modello Bag Of Words, modello del tutto differente, nato per

la classificazione di un documento attraverso la frequenza delle parole al suo

interno. Per quanto riguarda le distanze vincitrici, sono distanze metriche:

non sorprende dunque trovarle in cima, sono adatte all’analisi di spazi metrici,

come quello che il modello SURF genera.

Dal lato dei match, invece, i migliori rilevati sono i seguenti:

1. Matching N-1 Best (13)

2. Matching Integrated Region Matching (11)

3. Matching Earth Mover Distance (10)

Esattamente come aveva dimostrato Aimi, il matching migliore risulta N-1

Best: esso si basa nella ricerca del miglior matching per ogni oggetto della

prima immagine con un oggetto della seconda. E un algoritmo che richiede

molte risorse di calcolo, ma i risultati ottenuti sono i migliori. Al secondo e

al terzo posto si trovano ulteriori matching del tipo N-M: ovvero ogni feature

Page 116: mastertesi

4.6 Test 4 - Momenti 115

dell’immagine di confronto puo essere associato a piu features dell’immagine

di query e viceversa. Non stupisce vedere questi algoritmi fra i migliori

in quanto, tutti e tre cercano di trovare il miglior match per ogni oggetto

della prima immagine su ogni oggetto della seconda, dando la possibilita del

multi-matching. Allo stesso modo, non sorprende che i restanti algoritmi

di matching, quali, 1-1 Greedy e Ungherese, siano fra i peggiori: infatti

sono match che obbligano ad una associazione uno a uno, limitativa per

lo spazio metrico su cui SURF lavora, in cui i vettori descrittori risultano

multi-dimensionali, con dimensionalita diversa tra loro.

Infine, confrontando le migliori coppie distanza-matching, risultano avere

egual prestazioni le seguenti combinazioni:

• Distanza di Canberra - Match Integrated Region Matching

• Distanza di Canberra - Match N-1 Best

• Distanza di Chebyshev - Match Earth Mover Distance

• Distanza di Chebyshev - Match Integrated Region Matching

• Distanza di Manhattan - Match N-1 Best

Si vuole ricordare che il test ha l’obiettivo di trovare le migliori combinazioni

distanza-match per evitare di effettuare test con distanze e matching inutili.

Si decide quindi, di operare tutti i futuri test su solo le distanze di Canberra e

Chebyshev, utilizzando come match N-1 Best e Integrated Region Matching.

4.6 Test 4 - Momenti

Il seguente esperimento prende spunto dal Test 3. Vengono utilizzate le

stesse immagini di query, sullo stesso dataset. Lo scopo e di confrontare

l’utilizzo dei Momenti, descrittori a carattere globale, per vedere come si

comportano e poter, infine, comparare i risultati con il modello SURF.

Ogni immagine, sia di query che del dataset, e stata estratta attraverso

il modulo implementato dal dottor Leonardo Aimi.

Page 117: mastertesi

116 4. Testing - Preparazione

Lo stesso, nella tesi “Studio di tecniche di analisi di forme aperte appli-

cate al riconoscimento della scrittura manoscritta”, non indica un valore di

Precision adatto all’estrazione, ma si limita a descrverla come “maggiore e

il parametro, maggiore e la precisione e l’efficacia nel calcolo dei momenti”.

Per il test e stata scelto come valore di Precision 15000: il valore si ritiene un

buon compromesso tra efficacia ed efficienza, ovvero buoni risultati in minor

tempo.

Vengono utilizzati gli stessi metodi di valutazione presentati nella sezione

precedente, cosı da poter, infine, trarre delle conclusioni tra il paradigma

Momenti e il paradigma SURF.

4.6.1 Test 4.1 - antonio non 1.jpg

Immagine di query: antonio non 1.png (Fig. 4.15). Tabelle risultanti:

Momento MAX K (P) MAX K (R)

Hu Moments 1 6

Principal Moments 1 15

Geometric Moments 1 6

Tabella 4.13: Primo metodo di valutazione

K=3

Precision - Recall = 0.33

Momento

HU Moments

Principal Moments

Geometric Moments

Tabella 4.14: Secondo metodo di valutazione

Page 118: mastertesi

4.6 Test 4 - Momenti 117

Il risultato e davvero insoddisfacente, sopratutto per quanto riguarda il

metodo K naturale. Se si controlla nello specifico l’esito, ovvero le immagini

effettivamente restituite, tutti e tre i momenti restituiscono due immagini

appartenenti all’autore “Emanuele” e solo una ad “Antonio”: questo implica

che se si fosse usato il valore di K naturale per classificare l’immagine, il

paradigma globale a Momenti avrebbe fallito, restituendo sempre l’autore

errato.

4.6.2 Test 4.2 - antonio punto 1.png

Immagine di query: antonio punto 1.png (Fig. 4.16). Tabelle risultanti:

Momento MAX K (P) MAX K (R)

Hu Moments 1 32

Principal Moments 1 63

Geometric Moments 1 26

Tabella 4.15: Primo metodo di valutazione

K=5

Precision - Recall = 0.4

Momento

HU Moments

Geometric Moments

Tabella 4.16: Secondo metodo di valutazione

Dai risultati si nota che il peggior Momento e il Principal, infatti, se si va-

luta il valore K per riuscire ad avere Recall massima, bisogna scorrere l’intero

dataset, ovvero, restituisce solo come ultima immagine l’istanza necessaria

per raggiungerne il massimo valore.

Page 119: mastertesi

118 4. Testing - Preparazione

4.6.3 Test 4.3 - antonio questo 1.png

Immagine di query: antonio questo 1.png (Fig. 4.17). Tabelle risultanti:

Momento MAX K (P) MAX K (R)

Hu Moments 1 46

Principal Moments 2 33

Geometric Moments 1 56

Tabella 4.17: Primo metodo di valutazione

K=3

Precision - Recall = 0.6

Momento

Principal Moments

Tabella 4.18: Secondo metodo di valutazione

In maniera del tutto opposta al test precedente, il Principal Moments

risponde meglio alla query. Richiede ancora un elevato valore di K (33)

per riuscire ad ottenere Recall massima e risulta essere perdente rispetto al

paradigma di SURF, basta confrontare la Precision/Recall sul K naturale.

Page 120: mastertesi

4.6 Test 4 - Momenti 119

4.6.4 Test 4.4 - antonio rubik 1.png

Immagine di query: antonio questo 1.png (Fig. 4.18). Tabelle risultanti:

Momento MAX K (P) MAX K (R)

Hu Moments 1 47

Principal Moments 1 37

Geometric Moments 2 40

Tabella 4.19: Primo metodo di valutazione

K=4

Precision - Recall = 0.5

Momento

Principal Moments

Geometric Moments

Tabella 4.20: Secondo metodo di valutazione

Geometric e Principal Moments si comportano relativamente bene, ma

risultano ancora una volta perdenti rispetto al modello SURF. Hu Moments,

invece, non riesce ad ottenere risultati accettabili.

4.6.5 Test 4.5 - antonio smetti 1.png

Immagine di query: antonio smetti 1.png (Fig. 4.19). Tabelle risultanti:

Hu Moments, usato come classificato con K naturale, predice l’autore in

maniera errata, mentre Principal e Geometric Moments riescono quantomeno

a restituire l’utente corretto.

Page 121: mastertesi

120 4. Testing - Preparazione

Momento MAX K (P) MAX K (R)

Hu Moments 1 52

Principal Moments 1 17

Geometric Moments 1 51

Tabella 4.21: Primo metodo di valutazione

K=3

Precision - Recall = 0.33

Momento

HU Moments

Principal Moments

Geometric Moments

Tabella 4.22: Secondo metodo di valutazione

4.6.6 Conclusioni

L’obiettivo principale dell’esperimento e di valutare i Momenti come para-

digma globale per tentare di trovare il migliore tra di essi. E possibile stilare

una classifica su chi risponde meglio alle varie query: il primo test (4.1) viene

considerato fallito, quindi non conteggiato. Accanto ad ogni momento vi e

la frequenza di “vittorie” rispetto ai restanti momenti:

1. Principal Moments (3)

2. Geometric Moments (3)

3. Hu Moments (1)

Stupisce in parte Hu Moments come peggiore fra i modelli, infatti e l’unico

momento intrinsecamente invariante alla scala, rotazione e traslazione.

Page 122: mastertesi

4.7 Test 5 - Classificazione 121

4.6.7 SURF vs Momenti

Secondo scopo perseguito dal test e di mettere a confronto il paradigma

SURF, a carattere locale, con il paradigma a Momenti, a carattere Globale.

Sono stati effettuati sperimenti sulle stesse immagini e sullo stesso dataset.

Viene riportata di seguito una tabella riassuntiva che mostri i due modelli a

confronto, utilizzando il metodo di valutazione con K naturale.

Immagine K Naturale SURF (P/R) Momenti (P/R)

antonio non 1.png 3 0.66 X 0.33

antonio punto 1.png 5 0.6 X 0.4

antonio questo 1.png 5 0.8 X 0.6

antonio rubik 1.png 4 0.75 X 0.5

antonio smetti 1.png 3 1 X 0.33

Tabella 4.23: Tabella riassuntiva di confronto tra SURF e Momenti secondo

il metodo di valutazione K naturale

La tabella 4.23 e autoesemplificativa: il paradigma SURF e nettamen-

te superiore rispetto al modello a Momenti, infatti per tutti i test effet-

tuati riporta un valore di Precision/Recall sempre maggiore rispetto al suo

concorrente a Momenti.

4.7 Test 5 - Classificazione

L’esperimento ha l’obiettivo di osservare il comportamento di SURF e dei

Momenti, attraverso query k-NN con k crescenti, per valutare come essi si

comportano nel classificare un nuovo oggetto, ovvero una nuova immagine.

Per il modello SURF verranno utilizzate le quattro combinazioni migliori os-

servate al Test 3. Per il paradigma a Momenti, invece, ne verranno analizzati

tutte le tipologie.

Il test verra valutato attraverso Precision e Recall. Nonostante l’atto di

classificazione abbia lo scopo di assegnare una classe ad un oggetto ignoto,

Page 123: mastertesi

122 4. Testing - Preparazione

per i nostri test utilizzeremo una parola di cui sappiamo l’autore, ma l’in-

formazione viene tenuta nascosta al Framework e per valori di k crescenti, si

vuole osservare il comportamento dello stesso e l’attribuzione di un autore

all’immagine stessa. I valori di Precision e Recall vengono calcolati in base

alla conoscenza a priori sull’immagine, ovvero si vuole studiare come i due

parametri variano all’aumentare di K, appoggiando i calcoli all’informazione

della classe.

E stata selezionata come immagine di query antonio pensiero (Fig. 4.20), a

cui viene associata la classe “antonio”, presente all’interno del dataset con

frequenza di trenatre istanze. L’immagine e stata sottoposta ad analisi SURF

con estrazione di 100 Salient Point, mentre con precision 15000 per quanto

riguarda i Momenti.

Figura 4.20: Immagine antonio pensioro.png

Page 124: mastertesi

4.7 Test 5 - Classificazione 123

4.7.1 Paradigma SURF

Sono state effettuate query k-NN, con k crescenti, con quattro combina-

zioni di distanze-match:

• Distanza di Chebyshev - Match N-1 Best

• Distanza di Chebyshev - Match Integrated Region Matching

• Distanza di Canberra - Match N-1 Best

• Distanza di Canberra - Match Integrated Region Matching

Per ognuna di esse sono stati costruite curve che mostrino il variare di Pre-

cision e Recall all’aumentare del valore di K. Come e giusto aspettarsi, la

funzione Recall e crescente all’aumentare di K, a differenza di Precision,

curva con alternarsi di momenti crescenti e decrescenti, ma con tendenza

asintotica alla percentuale in frequenza della classe nel dataset.

Il risultato e visualizzabile in figura 4.21.

Page 125: mastertesi

124 4. Testing - Preparazione

(a) Distanza Chebyshev - Matching N-1 Best

(b) Distanza Chebyshev - Matching Integrated Region Matching

(c) Distanza Canberra - Matching N-1 Best

(d) Distanza Canberra - Matching IRM

Figura 4.21: Curva Precision/Recall all’aumentare del valore di K per query

k-NN

Page 126: mastertesi

4.7 Test 5 - Classificazione 125

Si puo osservare che la coppia Canberra-N-1 Best traccia un andamento

piu lineare per quanto riguarda la Precision, questo implica che nei primi

risultati riesce sempre ad ottenere immagini relative all’autore “antonio”. Si

noti, pero, che per riuscire a raggiungere Recall massima, l’intero modello

SURF richiede almeno di arrivare al 60esimo oggetto su 64: cio vuol dire

che immagini appartenenti allo stesso autore sono comunque individuate in

fondo. Il risultato comunque non stupisce, infatti, giustamente, il modello

WSS tende a restituire per prime immagini visualmente simili all’immagine

di query.

La seguente figura (Fig. 4.22) con relativa tabella (Tab. 4.24), invece,

mostra il risultato della classificazione attraverso k-NN. Per ogni valore di k,

da 1 a 64, sono state utilizzate le immagini del risultato come classificatore

per l’immagine di guery. Il grafico mostra la frequenza con cui un autore

viene predetto. Viene mostrato in esempio solo uno dei quattro grafici a

torta, in quanto, ognuno di essi, ottiene lo stesso esito

Figura 4.22: Raffigurazione a torta in cui si evidenzia la frequenza degli

autori predetti all’aumentare di K in una query k-NN per classificazione

Page 127: mastertesi

126 4. Testing - Preparazione

Distanza Matching % Autore Corretto

Chebyshev N-1 Best 100

Chebyshev IRM 100

Canberra N-1 Best 100

Canberra IRM 100

Tabella 4.24: Tabella illustrativa sulla percentuale di correttezza della

classificazione per ogni coppia distanza-matching

Il test per la classificazione e ampiamente superato: il modello SURF non

erra con nessun valore di K e per nessuna coppia distanza-match; il para-

digma riesce a classificare l’immagine sempre con l’autore corretto, ovvero

“antonio”.

Page 128: mastertesi

4.7 Test 5 - Classificazione 127

4.7.2 Paradigma a Momenti

Gli stessi test sono stati effettuati per il paradigma Momenti, e in egual

modo sono state estratte le curve Precision/Recall e l’analisi in frequenza

degli autori predetti. La seguente figura (Fig. 4.23) mostra l’andamento

della valutazione all’aumentare di K.

(a) Hu Moments

(b) Principal Moments

(c) Geometric Moments

Figura 4.23: Curve Precision/Recall all’aumentare del valore di K

Per riuscire a raggiungere Recall massima e richiesto a tutti i momenti di

raggiungere almeno le ultime due immagini del risultato. Osservando invece

Page 129: mastertesi

128 4. Testing - Preparazione

la Precision, l’esito piu convincente lo da il Principal Moment riuscendo a

mantenere un valore medio dell’80%.

Anche per i Momenti sono state condotte analisi sulla classificazione del-

l’autore all’incrementare di K. I risultati sono visibili nella seguente figura

esemplificativa (Fig. 4.24), con successiva tabella (Tab. 4.25) illustrante

l’esito della classificazione.

Figura 4.24: Frequenza di classificazione sull’autore per query k-NN

Momento % Autore Corretto

Hu 100

Principal 100

Geometric 100

Tabella 4.25: Esiti della classificazione utilizzando i diversi momenti

Tutti i Momenti classificano l’autore sempre in maniera corretta, il test

dunque risulta essere superato.

Page 130: mastertesi

4.8 Test 6 - Calibro come Pattern 129

4.7.3 Conclusioni

L’obiettivo del test era una analisi e un confronto tra il metodo SURF

e a Momenti per l’attribuzione di un autore ad una immagine. Entrambi i

paradigmi si hanno ottenuto ottimi risultati rispondendo in maniera corretta

ad ogni query k-NN.

Confrontando le curve Precision/Recall si puo notare che al distanza di

Canberra con Match IRM mantiene Precision massima per i primi cinque

risultati, se non per crollare al valore k=10. Come gia detto la Precision piu

lineare la ottiene Canberra con Match N-1 Best, che riesce ad circoscriverne

il valore all’80% per i primi 20 risultati.

Dal punto di vista dei Momenti, vi e una superiorita per quanto riguarda

il Principal che riesce ad ottenere buoni risultati. In definitiva i due modelli

sono molto simili per quanto riguarda la classificazione k-NN, con un piccolo

miglioramento sul modello SURF rispetto ai Momenti se confrontati a livello

di curve Precision/Recall.

4.8 Test 6 - Calibro come Pattern

L’ultimo test riguarda l’analisi del Calibro come Pattern. Si vuole os-

servare il comportamento di questa nuova tipologia di Calibro e vederne la

bonta su un dataset molto ristretto. Vengono effettuati sperimenti a due

livelli di granularita, ovvero ad intera pagina e a singola parola. Il primo e

per poter farne un confronto con il Calibro classico visto in sezione 4.4. Il

secondo, invece, e per provare una utilita in situazioni in cui le misurazioni

del medio letterale sono molto minori.

Tutti i test effettuati riguardano query k-NN, con k impostato alla gran-

dezza del dataset preso in considerazione, in cui viene utilizzata la Calibro-

Distance per il calcolo della distanza tra una immagine e l’altra.

Page 131: mastertesi

130 4. Testing - Preparazione

4.8.1 Test 6.1 - Granularita Pagina

Il primo esperimento riguarda il Calibro come Pattern a granularita di

intere pagine. Viene utilizzato il dataset mostrato in figure 4.1 e 4.2, ovvero

le quattro pagine manoscritte da cui sono stati ricavati almeno cento altezze

del medio letterale.

Per ogni immagine nel dataset, e stato effettuato il test. I risultati sono

disponibili nelle tabelle seguenti.

K=4

Immagine: antonio montale

Distanza Euclidea Distanza DTW

1. antonio montale (0.0)

2. emanuele montale (42.7)

3. emanuele wikipedia (46.49)

4. antonio wikipedia (48.4)

1. antonio montale (0.0)

2. emanuele montale (0.168)

3. antonio wikipedia (0.173)

4. emanuele wikipedia (0.194)

Tabella 4.26: Risultato query k-NN (antonio montale) con distanza

CalibroDistance

Page 132: mastertesi

4.8 Test 6 - Calibro come Pattern 131

K=4

Immagine: antonio wikipedia

Distanza Euclidea Distanza DTW

1. antonio wikipedia (0.0)

2. emanuele montale (41.6)

3. emanuele wikipedia (45.7)

4. antonio montale (46.49)

1. antonio wikipedia (0.0)

2. emanuele wikipedia (0.1404)

3. emanuele montale (0.1457)

4. antonio montale (0.1733)

Tabella 4.27: Risultato query k-NN (antonio wikipedia) con distanza

CalibroDistance

K=4

Immagine: emanuele montale

Distanza Euclidea Distanza DTW

1. emanuele montale (0.0)

2. emanuele wikipedia (41.3)

3. antonio wikipedia (41.6)

4. antonio montale (42.7)

1. emanuele montale (0.0)

2. antonio wikipedia (0.145)

3. emanuele wikipedia (0.150)

4. antonio montale (0.168)

Tabella 4.28: Risultato query k-NN (emanuele montale) con distanza

CalibroDistance

Page 133: mastertesi

132 4. Testing - Preparazione

K=4

Immagine: emanuele wikipedia

Distanza Euclidea Distanza DTW

1. emanuele wikipedia (0.0)

2. emanuele montale (41.3)

3. antonio wikipedia (45.7)

4. antonio montale (48.4)

1. emanuele wikipedia (0.0)

2. antonio wikipedia (0.1404)

3. emanuele montale (0.1502)

4. antonio montale (0.194)

Tabella 4.29: Risultato query k-NN (emanuele wikipedia) con distanza

CalibroDistance

Una prima conclusione si puo trovare da questi test. Solo due test su

quattro hanno esito positivo, ovvero 4.28 e 4.29. Per esito positivo si intende

avere fra i primi risultati manoscritti dello stesso autore. Di questi due test,

solo la distanza Euclidea riesce ad avere risultati confortanti.

Se si distinguono i test anche in base alle distanze, solo due test su otto

sono funzionali. La distanza DTW fallisce su ogni test, mentre l’euclidea

funziona due volte su quattro.

Se confrontiamo il Calibro come Pattern a granularita di pagine intere con

il Calibro classico, il paradigma a pattern risulta perdente: infatti il modello

classico riesce a “distinguere” un autore dall’altro classificandone in maniera

coerente il grado del disuguale metodico.

Comparando il Calibro come Pattern con l’uso della paleografia classi-

ca, ancora una volta il primo e perdente, infatti la paleografia, con le tutte

le features troavte e successivamente paragonate attraverso la distanza Pa-

leographyParametricDistance, mette sempre fra i primi risultati manoscritti

appartenenti allo stesso autore.

Page 134: mastertesi

4.8 Test 6 - Calibro come Pattern 133

4.8.2 Test 6.2 - Granularita Parola

L’obiettivo del test e analizzare sperimentalmente il comportamento del

Calibro come Pattern ad una granularita inferiore, ovvero su singole paro-

le. Per l’analisi e stato estratto un sotto-insieme del dataset composto dalle

63 parole manoscritte (Fig. 4.3), nello specifico sono state estratte misura-

zioni per le parole “questo” e “punto” di entrambi gli autori, formando, di

conseguenza, un database di 20 parole.

Successivamente, e stata scelta in maniera casuale, una istanza di ogni

parola per ogni autore, e vi sono state eseguite query k-NN con k crescente.

Sono stati calcolati dunque i grafici Precision/Recall e sono state utilizzate

le query come fittizi “classificatori” per studiarne il comportamento.

Page 135: mastertesi

134 4. Testing - Preparazione

(a) Immagine antonio punto 01.jpg

(b) Immagine antonio questo 03.jpg

(c) Immagine emanuele punto 03.jpg

(d) Immagine emanuele questo 05.jpg

Figura 4.25: Curva Precision/Recall all’aumentare del valore di K per que-

ry k-NN per le diverse immagini di query. Sulla sinistra e presente la

CalibroDistance in versione Euclidea, a destra in versione DTW

Page 136: mastertesi

4.8 Test 6 - Calibro come Pattern 135

I grafici precedenti (Fig. 4.25) mostrano l’andamento di Precision/Recall

all’aumentare del valore di k. Il classificatore descrive come corretta una im-

magine appartenete esattamente alla stessa classe e non solamente allo stesso

autore, ecco perche il valore finale di precision risulta 520

= 0, 2. Generalmen-

te la Recall massima riesce ad ottenerla prima la versione Euclidea, anche se

il primo test (Fig. 4.25a) mostra un andatamento migliore per la DTW. Per

quanto riguarda la Precision, invece, la versione Euclidea tende a mantenere

valori piu alti nelle prime posizioni, ovvero nelle posizioni piu critiche, ma

nonostante questo la curva ne mostra un andamento di scarsa qualita.

I successivi grafici (Fig. 4.26) mostrano la bonta del classificatore in quanto

tale, ovvero come esso predice l’autore in base al risultato delle query k-NN

al variare del valore di k. Vengono mostrate solo le frequenze con cui vengono

predetti gli autori, ovvero si quantizza l’esito su tutti i valori di k, e anche

in questo caso viene presentata la distinzione tra le due varianti Euclidea e

DTW.

Si nota subito l’inadeguatezza del CalibroDistance in versione DTW per

l’ultimo test (4.26d): infatti, se si confronta il grafico Precision/Recall (Fig.

4.25d) si puo notare che nei primi 9 risultati, non vi e alcuna immagine

appartenente alla stessa classe. Solo al decimo posto vi e un aumento di

Recall: questo comporta, in parte, all’errata classificazione dell’autore.

Ad un livello generale, si nota la supremazia della versione Euclidea, che

risulta perdente solo in una occasione su quattro per quanto riguarda l’esatta

classificazione.

Page 137: mastertesi

136 4. Testing - Preparazione

(a) Immagine antonio punto 01.jpg

(b) Immagine antonio questo 03.jpg

(c) Immagine emanuele punto 03.jpg

(d) Immagine emanuele questo 05.jpg

Figura 4.26: Grafici a torta che visualizzano le frequenze con cui vengono

classificate le varie immagini di query al variare del valore k

Page 138: mastertesi

4.8 Test 6 - Calibro come Pattern 137

4.8.3 Conclusioni

Il Calibro come Pattern e una nuova tipologia di analisi manoscritta

che prende spunto dal paradigma del disuguale metodico del calibro, ma

ne analizza in una diversa visione la differenza di altezze del medio letterale.

Lo scopo del test era provare sperimentalmente l’utilizzo di questa nuova

metodologia, costruita e analizzata per la prima volta in questa tesi. Un

primo risultato da dover stabile e l’inadeguatezza del Calibro come Pattern

per una granularita a livello di pagine.

Il dover confrontare vettori di almeno cento features che descrivono la

serie temporale di differenze di altezze del medio letterale causa un serio pro-

blema al paradigma, mostrandone la propria inferiorita rispetto alla versione

paleografica. Il problema, si suppone, derivi da due principali caratteristiche:

• La misurazione dell’altezza del medio letterale viene effettuata da un

utente, il che puo comportare la presenza di errore.

• La misurazione deve avvenire in “ordine”, ovvero l’analisi deve eseguita

da sinistra a destra seguendo il senso logico della scrittura.

Il primo punto risulta essere un problema anche per quanto riguarda l’analisi

originale del Calibro, e nel tentativo di risolverlo in parte, il framework esegue

una ricerca del pattern su tutto il vettore di lunghezza maggiore, calcolando

di volta in volta la distanza e restituendo solo il valore minore. Per quanto

riguarda il secondo problema non si ha soluzione. Si voglia notare che il

Calibro come disuguale metodico non soffre del secondo punto, poiche esso

ne fa una quantizzazione, non richiedendo un effettivo ordine.

Se si vuole, invece, analizzare il manoscritto ad un livello inferiore di

granularita, come ad esempio singole parole, allora il Calibro come Pattern

riesce a dare un buon risultato. Il modello riesce, in generale, a classifica-

re quasi sempre correttamente l’autore, nonostante il dataset risulti carente.

Viene dunque supposto il Calibro come Pattern come un paradigma di in-

teresse per l’analisi e l’utilizzo su Benchmark. Come ultima osservazione, si

vuole ricordare che, in generale, come per il disuguale metodico del calibro,

Page 139: mastertesi

138 4. Testing - Preparazione

e anche per l’analisi paleografica, il Calibro come Pattern richiede sempre

l’intervento manuale di un utente. Questo non solo comporta la presenza

di possibili errori, ma inoltre richiede un grande sforzo umano per costruire

il modello: sforzo che non sempre e disponibile da parte dell’utente che ne

vuole un risultato immediato.

4.9 Conclusioni

Il capitolo illustrato ha avuto lo scopo di scovare e creare una serie di test

utili all’utilizzo del framework, per poter essere successivamente applicati ad

una piu ampia visione quali i Benchmark forniscono.

Sono stati effettuati molti sperimenti su un dataset privato, creato appo-

sitamente per lo scopo specifico. Si ricordi che un secondo obiettivo e stato il

debugging del framework stesso, che ha portato, durante le sperimentazioni,

a correggere piccoli bug che erano presenti.

Sono stati creati diversi dataset, tutti basati pero su testi manoscritti:

ognuno di essi ha avuto uno scopo specifico, ed ognuno di essi ha una pro-

pria granularita. Aver variegato i dati a disposizione ha potuto mettere a

confronto i diversi paradigmi presenti nel framework ad un diverso livello di

granularita.

Alcuni test, inoltre, hanno avuto lo scopo di confermare tesi e dimostra-

zioni presenti su lavori di tesi di colleghi ingegneri, mentre altri hanno com-

provato quel che la teoria affermava, negandone o avvalorandone le ipotesi

sui diversi dataset.

L’obiettivo raggiunto e stato di creare un bagaglio di informazioni utili per

poter mettere alla prova il framework WSS su dei Benchmark reali; avendo

sperimentato diverse tipologie su un database privato, si e raggiunti una

consapevolezza su quali test possono essere classificati come “inutili” e quindi

evitabili su un insieme di dati enormemente piu grande, che avrebbe richiesto

una sperimentazione assai piu lunga.

In conclusione si possono affermare l’utilita dei seguenti test, tali per

Page 140: mastertesi

4.9 Conclusioni 139

cui, al passaggio ai benchmark, verranno valutati e utilizzati solo in queste

modalita:

• Paradigma SURF - Lo studio sul paradigma SURF, analizzato in

primis dal collega Niccolo Aimi, ha confermato quanto di noto era gia

dato, ovvero l’utilita del modello a granularita di singole parole, so-

lo attraverso determinate combinazioni di Distanze e Matching nella

risoluzione delle query k-NN.

In particolare, come descritto nel paragrafo 4.5, si e riscontrata una

supremazia nelle seguenti coppie:

– Distanza di Canberra - Match Integrated Region Matching

– Distanza di Canberra - Match N-1 Best

– Distanza di Chebyshev - Match Earth Mover Distance

– Distanza di Chebyshev - Match Integrated Region Matching

– Distanza di Manhattan - Match N-1 Best

Di queste, successivamente, attraverso test descritti nel paragrafo 4.7.1,

ne sono state scelte solo un sotto-insieme, ovvero:

Distanza

– Chebyshev

– Canberra

Matching

– Match Integrated Region Matching

– Match N-1 Best

Il paradigma SURF verra utilizzato, quindi, solo su Benchmark la cui

granularita risulta essere singole parole, o, avendone a disposizioni, su

singole righe, e tra tutte le possibili combinazioni di distanza e matching

si e ristretta la cerchia alle sole distanze di Chebyshev e Canberra e al

solo Matching N-1 Best.

Page 141: mastertesi

140 4. Testing - Preparazione

• Paradigma a Momenti - Gli esperimenti effettuati (sezioni 4.5-4.7.2)

sui momenti sono stati gli stessi del paradigma a SURF. I momenti si

comportano relativamente bene in termini di precision/recall e classi-

ficazione, anche se tendono ad essere peggiori in confronto al modello

SURF. A livello di Benchmark verranno utilizzati su granularita simi-

li a SURF, ovvero su singole parole o, dove concesse, su singole frasi.

La sperimentazione ha portato ad utilizzare una soglia di precisione di

15000, soglia che verra mantenuta sui successivi test.

In generale sono buoni competitor, ma bisogna sottolinearne il difetto

rispetto a SURF.

• Paleografia - E stato condotto un unico tipo di test a livello paleo-

grafico (Sezione 4.3). Il motivo e ovvio: vi e la richiesta di avere un

determinato tipo di features e per far cio e richiesta una analisi a gra-

nularita di intere pagine; infatti solo su intere pagine manoscritte si ha

la possibilita di estrarre caratteristiche quali interlinea, o spaziatura, o

ancora altezza del letterale, etc. . .

L’esperimento effettuato ha dato pero ottimi riscontri, restituendo ri-

sultati eccellenti.

L’analisi paleografica, dunque, verra condotta su benchmark a granula-

rita di intere pagine manoscritte, poiche, come gia detto, a granularita

inferiori si perdono features necessarie al calcolo delle stesse.

Si vuole ricordare infine che il modello paleografico, basato su query k-

NN e PaleographyParametricDistance, e stato introdotto per la prima

volta in questa tesi, dunque lo studio e l’analisi su benchmark risulta

essere di particolare interesse.

• Calibro - Disuguale Metodico - Gli esperimenti effettuati sul disu-

guale metodico del calibro hanno avuto diversi scopi: il primo valutare

l’effettiva capacita dello stesso di distinguere un autore in base al gra-

do dello stesso, il secondo invece, confermare o smentire la base teorica

dietro cui si fonda. Per quanto riguarda il primo obiettivo, il test in

Page 142: mastertesi

4.9 Conclusioni 141

sezione 4.4 ha dato un riscontro positivo: infatti, se viene utilizzare

il disuguale metodico su testi manoscritti a granularita di pagina, da

cui si puo estrarre un vettore di almeno cento features, rappresentativo

dell’altezza del medio letterale, i risultati sono piu che soddisfacenti. Il

disuguale metodico rimane invariato sullo stesso autore, distinguendosi,

pero, tra gli stessi. Il secondo scopo, ovvero confermare le basi teori-

che, ha avuto un riscontro attraverso gli esperimenti in sezioni 4.4.3 e

4.4.4: il disuguale metodico del calibro non puo essere applicato a un

testo, o una immagine, in cui non si raggiunge una effettiva quantita

di misurazioni minime del medio letterale. Da cio si puo dedurre che

i benchmark di riferimento dovranno essere composti da granularita

di intere pagine manoscritte, o quanto meno, di paragrafi, in cui la

soglia minima di cento misurazioni viene raggiunta. Il test ha inoltre

escluso la possibilita di utilizzare agglomerati di features provenienti

da testi diversi, ovvero, non vi e la possibilita di utilizzare il clustering

per raggiungere la soglia minima.

I test, confermano effettivamente quel che dice la teoria, ovvero che un

l’estrazione di features deve avvenire su un unica pagina di un mano-

scritto, scritta in uno stesso tempo e su uno stesso spazio, poiche la

grafia varia per ogni singola persona in base all’umore e allo stato d’a-

nimo; ed inoltre la soglia di misurazioni minime e necessaria per poter

catturare l’effettiva ripetizione delle diverse altezze del medio letterale

necessaria al calcolo del calibro stesso.

• Calibro come Pattern - Il Calibro come Pattern nasce da una na-

turale idea evolutiva del disuguale metodico del calibro e dell’analisi

in frequenza dell’altezza del medio letterale. I test effettuati (sezione

4.8) sono sperimentali, a cui non vi e un effettivo studio teorico che li

precede, se non i ben noti studi sulle frequenze e sulla ricerca di pat-

tern. Si vuole evidenziare la creazione del paradigma in questa tesi,

non supportata da precedenti paper e/o pubblicazioni, ma come idea

intuitiva successiva a cio che Moretti affermava e aveva trovato per il

Page 143: mastertesi

142 4. Testing - Preparazione

disuguale metodico.

Gli sperimenti sono stati condotti a due livelli di granularita: a pagine

intere (sezione 4.8.1) e a singole parole (sezione 4.8.2). Osservando i

risultati si nota l’inadeguatezza del modulo a livello di intere pagine: il

Calibro come Pattern non riesce a risolvere le query richieste, fallendo

in quasi tutti i test. D’altro canto, a livello di singole parole il para-

digma funziona relativamente bene: la valutazione del “classificatore”

e relativamente buona, riuscendo a rispondere in maniera quasi sempre

corretta all’autore da predire.

Il paradigma, dunque, puo essere di valido sostegno e concorrenzia-

le a tutti i moduli finora presentati, ma solo se viene utilizzato su

granularita effettivamente minori.

Una osservazione di necessaria importanza vi e da fare sull’uso del modulo

paleografico e del calibro rispetto ai paradigmi SURF e a momenti. I primi

sono approcci semi-automatici, ovvero richiedono, per l’utilizzo e la creazione,

la presenza di un utente e cio comporta due problematiche: la presenza di

errore e lo sforzo richiesto all’utente stesso. Entrambi i problemi sono di

natura umana, di difficile risoluzione, il che potrebbe favorire l’utilizzo di

algoritmi completamente automatici, i quali, anche se anch’essi non privi di

problematiche, riescono quanto meno a superare la difficolta di richiedere

tempo e sforzo all’utente stesso.

Infine viene presentata una tabella riassuntiva (Tab. 4.30) su quali tipo-

logie di benchmark, ovvero a quali livelli di granularita, i singoli paradigmi

dovranno lavorare.

Page 144: mastertesi

4.9 Conclusioni 143

Modulo Granularita

SURF Singola parola - singola frase

Momenti Singola parola - singola frase

Paleografia Intera pagina

Disuguale metodico del Calibro Intera pagina - Paragrafo

Calibro come Pattern Singola parola

Tabella 4.30: Tabella riassuntiva sulle granularita da utilizzare

Page 145: mastertesi

144 4. Testing - Preparazione

Page 146: mastertesi

Capitolo 5

Test e Benchmark

5.1 Introduzione

Il capitolo finale di questa tesi tratta la sperimentazione del framework

su Benchmark reali. Avendo analizzato nel capitolo precedente quali test,

con che tipologie e su quale livello di granularita si dovra lavorare, l’anali-

si su benchmark risultera piu chiara e concreta, poiche riguarderanno solo

informazioni di interesse.

Vengono da prima illustrati i Benchmark di lavoro, con le descrizioni e

le scelte che hanno portato all’utilizzi degli stessi, anticipate da una breve

introduzione a cosa sia un Benchmark e al perche vengono utilizzati.

Successivamente, utilizzando gli stessi grafici e criteri illustrati al capitolo

precedente, vengono esposti i test con i risultati.

5.1.1 Metriche: Valutazione al Framework

Un problema non ancora presentato riguarda la valutazione del risultato,

ovvero la “qualita” del nostro classificatore.

Finora sono state date per assunte alcune specifiche, come ad esempio

la valutazione del framework attraverso due delle metriche piu utilizzate:

Precision e Recall.

145

Page 147: mastertesi

146 5. Test e Benchmark

Il paragrafo si presenta come presentazione di diverse metriche utilizzabili

in ambito informatico per la valutazione di un algoritmo. Si vuole sottolineare

che, solitamente, ogni metrica di valutazione ha uno scopo specifico, e dunque

non e sempre applicabile. Di seguito verra fatto un resoconto di alcune delle

metriche di possibile utilizzo per quanto riguarda l’analisi testuale, ovvero

quella descritta in questa tesi.

Si vuole sottolineare che cio che stiamo valutando e la qualita del nostro

classificatore. Per come abbiamo introdotto il framework, il classificatore si

basa sul risultato restituito dalla query k-NN, di conseguenza, la valutazione

di WSS dipende completamente dalla valutazione del risultato della query

stessa, tanto da rendere interscambiale l’una con l’altra.

Come gia detto, le metriche sono utilizzate per poter descrivere in maniera

oggettiva il risultato di un algoritmo e, da come si puo intuire, ne esistono di

diverso tipo, ognuna specifica per un determinato settore.

Alla fine del paragrafo, viene redatto un veloce riassunto che permette

di capire quali delle metriche presentate possono essere applicabili al nostro

caso studio, e quali, nonostante la possibilita di utilizzo, si rendono superfle

all’analisi.

Peak Signal-To-Noise Ratio (PSNR)

PSNR e una metrica di tipo statistico, utilizzabili in svariati campi, ma

che nel campo applicativo delle immagini viene utilizzata per descrivere la

qualita sugli algoritmi di compressione delle immagini stesse. Essa si basa

sulla potenza del segnale di una immagine e sulla potenza del rumore che ne

afflige la qualita.

Viene definita attraverso l’errore quadratico medio (MSE). Data una im-

magine I1(x, y) priva di rumore, ovvero l’immagine originale, di dimensioni

NxxNy, e data la sua versione compressa con rumore I2(x, y), MSE e cosı

definito

MSE =

∑Nx

x=1

∑Ny

y=1 (I1(x, y) · I2(x, y))2

Nx ·Ny

(5.1)

Page 148: mastertesi

5.1 Introduzione 147

Da MSE e possibile calcolare il PSNR come segue

PSNR = 10 · log10

(Max2IMSE

)(5.2)

ove MaxI e il valore massimo che si puo attribuire a un pixel. Nel caso di

una immagine in scala di grigi a 8 bit, il valore massimo e di 255.

PSNR e una metrica relativamente generale, che non risulta applicabile

al nostro caso studio.

Precision (P) - Recall (R)

Utilizzate fino ad ora, si vuole dare di seguito una formalizzazione alla Pre-

cision e alla Recall. Osservando la seguente figura (Fig. 5.1) vengono cosı

definite.

Figura 5.1: Immagine esemplificativa per la definizione di Precision e Recall

P =A

A+B;R =

A

A+ C(5.3)

Page 149: mastertesi

148 5. Test e Benchmark

In pratica, la Precision calcola la precisione nel risultato, ovvero quanti fra i

risultati restituiti sono corretti, invece la Recall restituisce il recupero, ovvero

quanti fra i risultati corretti, nella totalita, vengono effettivamente restituiti.

Queste due metriche sono fra le piu usate nel campo di valutazione, poiche

riescono a catturare in maniera semplice la qualita del risultato. Ovviamente

sono metriche del tutto generali, poiche non vi e alcuna precisazione sull’og-

getto descritto. Precision e Recall sono state gia utilizzate, e saranno la fonte

principale di valutazione per questa tesi.

F-Measure (FM)

Recall e Precision considerano due aspetti differenti dell’information retrieval.

L’idea base della FM e di portare assieme le due misure per restituirne un

unico valore. FM altro non e che la media aritmetica fra P e R e viene,

dunque, cosı definita.

FM =1

1

P+

1

R

=2PR

P +R(5.4)

FM tenta dunque di dare un unico risultato per poter valutare il framework.

Ancora una volta esso e a carattere del tutto generale, e verra utilizzato per

l’analisi di alcuni esperimenti per mostrarne la bonta nel risultato.

Negative Rate Metric (NRM)

Una metrica specifica nel campo della binarizzazione di immagine e la Negati-

ve Rate Metric. Essa rappresenta la relazione tra l’immagine di ground-truth

GT e l’immagine binarizzata B. La funzione e cosı definita

NRM =

#FN

#FN + #TP+

#FP

#FP + #TN

2(5.5)

dove #TN, #FN, #TP e #FP rappresentano rispettivamente il numero di

veri/falsi negativi e positivi.

La metrica non risulta applicabile al nostro scopo, in cui e necessaria avere

una corrispondenza uno a uno per poter determinate i rispettivi parametri.

Page 150: mastertesi

5.1 Introduzione 149

Distance Reciprocal Distortion Metric (DRD)

La metrica DRD e ancora un metodo di valutazione specifico del campo della

binarizzazione di immagine. A differenza della NRM, essa non usa solo la

corrispondenza uno a uno dei pixel, ma sfrutta anche il vicinato dei pixel

stessi. Essa misura la distorsione di tutti i pixel S che hanno cambiato il

colore da bianco a nero o viceversa (chiamati flipped pixel), ed e definita

come segue

DRD =

∑k=1 SDRDk

NUBN(5.6)

Essa necessita di definire la distorsione DRDk del k-esimo flipped pixel.

DRDk ha bisogno della matrice di normalizzazione 5x5 WNm per essere cal-

colata, definita in tabella 5.1, la quale rappresenta i pesi da attribuire al

vicinato del pixel preso in considerazione.

0.0256 0.0324 0.0362 0.0324 0.0256

0.0324 0.0512 0.0724 0.0512 0.0324

0.0362 0.0724 0 0.0724 0.0362

0.0256 0.0324 0.0362 0.0324 0.0256

0.0324 0.0512 0.0724 0.0512 0.0324

Tabella 5.1: Tabella WNm di normalizzazione

DRDk =2∑

i=−2

2∑j=−2

|GTk(i, j)−Bk(x, y)| ×WNm(i, j) (5.7)

Manca solo da definire il parametro NUBN: esso e il numero dei blocchi

8× 8 non uniformi, ovvero non tutti bianchi o non tutti neri, dell’immagine

di ground-truth.

Come si puo intuire la metrica e estremamente particolare del caso di

binarizzazione e dunque non adatta allo scopo.

Page 151: mastertesi

150 5. Test e Benchmark

Misclassification Penalty Metric (MPM)

Una ulteriore metrica per la valutazione della binarizzazione e la MPM, essa

sfrutta il cambiamento della posizione media dei punti di contorno tra l’im-

magine ground-truth e quella binarizzata. MPM misura la distanza media

tra i punti di contorno dell’immagine GT e dell’immagine B.

MPM =

∑#FNa=1 daFN +

∑#FPb=1 dbFP

D(5.8)

daFN e definita come la distanza tra l’a-esimo falso negativo (ovvero GT=1 e

B=0) e il piu vicino pixel di contorno dell’immagine binarizzata. Equivalen-

temente dbFP e definita come la distanza tra il b-esimo falso positivo (GT=0

e B=1) e il piu vicino pixel di contorno dell’immagine di ground-truth.

Il valore D e un fattore di normalizzazione ed equivale alla somma di tutte

le distanze tra i pixel e i contorni dell’oggetto nella ground-truth.

La metrica MPM risulta essere una forma di valutazione adatta solo al

processo di binarizzazione e quindi non utilizzabile per valutare le perfor-

mance del classificatore.

Entity Detection Metric (EDM)

Durante la conferenza ICDAR 2005 sulla segmentazione di pagina, e stata

proposta per la prima volta una definizione di metrica generale, chiamata

MatchScore, che analizzava la corrispondenza tra le entita presenti in una

immagine di ground-truth e quelle restituite all’atto di analisi. Nello specifico

utilizzava l’intersezione dei pixel delle varie entita per restituirne un valore.

Basata su MatchScore e stata introdotta la metrica EDM, metrica rela-

tivamente generale, ma applicabile sopratutto al campo di segmentaione di

pagina, ovvero alla risoluzione di individuare le diverse entita costituenti una

pagina, come ad esempio sulla pagina di una rivista si possono individuare

titolo, le figure, il testo, le didascalie etc..

La metrica EDM si basa su due parametri DetectRate e RecognAccuracy

cosı definite

DetectRatei = w1one2onei

Ni

+ w2g one2manyi

Ni

+ w3g many2onei

Ni

(5.9)

Page 152: mastertesi

5.1 Introduzione 151

RecognAccuracyi = w4one2onei

Mi

+ w5d one2manyi

Mi

+ w6d many2onei

Mi(5.10)

Il valore Ni conta gli elementi della ground-truth appartenenti all’entita

i ed equivalentemente Mi conta gli elementi riconosciuti dall’analizzatore

appartenenti alla stessa entita i. I valori w1, w2, w3, w4, w5 e w6 sono pesi

predeterminati che permettono di normalizzare i valori.

Infine le entita rimanenti one2one, g one2many, g many2one, d one2many,

e d many2one si basano sulla metrica MatchScore.

Il parametro one2onei conta il numero di di elementi correttamente ri-

levati; g one2manyi invece conta il numero di casi dove piu di un elemento

rilevato dall’analizzatore fa un match con una sola entita della ground-truth;

corrispetivamente g many2onei rappresenta il numero di casi dove un ele-

mento analizzato combacia con piu entita della ground-truth. In maniera del

tutto equivalente i valori d one2manyi e d many2onei contano i casi in cui

vengono intercambiati i ruoli di ground-truth e entita rilevate. Il valore di

Entity Detection Metric della i -esima entita e definita come tale

EDMi =2×DetectRatei ×RecognAccuracyiDetectRatei +RecognAccuracyi

(5.11)

Infine e possibile dunque aggregare tutti i valori intermedi per ottenere il

valore della metrica EDM

EDM =

∑I NiEDMi∑

I Ni

(5.12)

La metrica, come gia detto, puo avere uno scopo generale, ma per poter essere

applicabile, il caso studio deve presentare determinate peculiarita, come ad

esempio la presenza di “entita” differenti all’interno dello stesso oggetto.

EDM risulta essere una metrica candidata alla valutazione del framework

WSS. Attualmente non viene utilizzata poiche tutte le sperimentazioni ven-

gono fatte ad uno stesso livello di granularita. In futuro si puo pensare di

valutare e sperimentare il classificatore su immagini appartenenti a diversi

livelli di granularita.

Page 153: mastertesi

152 5. Test e Benchmark

CER/CRR - WER/WRR

Le metriche Character Error Rate e Character Recognition Rate sono metri-

che introdotte per l’analisi di framework OCR (Optical Character Recogni-

tion), ovvero di framework automatici dedicati alla conversione di un’imma-

gine contenente testo in testo digitale modificabile.

CER e una metrica che conta la percentuale di errori durante il ricono-

scimento di caratteri (#CERR) sul numero totale di caratteri del testo preso

in analisi (#CHR) e viene dunque cosı definita

CER =#CERR

#CHR(5.13)

Analogamente CRR ha una definizione simile, ma conta la percentuale di

caratteri riconosciuti correttamente (#CRC) sul numero totale di caratteri

(#CHR)

CER =#CRC

#CHR(5.14)

In maniera del tutto equivalente vengono definite la Word Error Rate (WER)

e la Word Recognition Rate (WRR), in cui invece di contare gli errori sui

singoli caratteri, si presta attenzione ad una granularita piu alta di parole.

Le metriche presentate sono di carattere specifico del caso studio OCR e

non si adattano alla valutazione del framework WSS.

5.2 Benchmark

La sperimentazione del framework su dataset di grande dimensione e cru-

ciale per la valutazione delle performance. Misurare l’efficienza di un sistema

complicato, quale il framework WSS, rappresenta un compito molto arduo.

Inizialmente il sistema e stato analizzato su un dataset privato, ma cio non

permette di misurare oggettivamente le sue potenzialita e i suoi limiti. Ecco,

dunque, che il loro utilizzo permette una visione piu oggettiva del proprio

lavoro.

Page 154: mastertesi

5.2 Benchmark 153

Il dizionario descrive il termine Benchmark come uno standard, un punto di

riferimento con il quale si possono confrontare i piu diversi oggetti.

I Benchmark costituiscono una via fondamentale per l’analisi delle diverse

soluzioni presenti allo stato dell’arte: cio permette di confrontare la propria

soluzione con quelle gia presenti nel mondo in cui essa si colloca. L’analisi

attraverso questi standard puo anche semplicemente servire per valutare i

problemi correnti del problema affrontato, per spendere le proprie energie

nel tentativo di migliorarne le criticita.

5.2.1 Introduzione ai Benchmark

Il framework WSS rappresenta una soluzione all’analisi di testi mano-

scritti. L’intero software utilizza molti moduli, di diverso carattere e diversa

specie, integrati in maniera autonoma ma coerente, per l’analisi globale o

locale.

Come finora illustrato, il programma utilizza come metodologie chiavi

l’analisi SURF, l’analisi attraverso Momenti e un’analisi attraverso il campo

della paleografia e grafologia.

Per la valutazione di un cosı complesso lavoro, non si puo far riferimen-

to ad un unico standard, in quanto, come illustrato al capitolo precedente,

ognuno di questi paradigma funziona meglio o peggio a seconda di alcune

peculiarita degli oggetti analizzati.

Si e deciso, di conseguenza, l’utilizzo di diversi Benchmark cosicche si

possa valutare l’efficacia di ogni modulo nel suo campo d’eccellenza.

Montale - Diario postumo

Il primo Benchmark trattato descrive il lavoro svolto da diversi colleghi

dottori ingegneri informatici, in collaborazione con dottori in lingue, nella

creazione di uno standard per quanto riguarda la scrittura manoscritta di

Eugenio Montale.

Page 155: mastertesi

154 5. Test e Benchmark

In realta si tratta di una dataset creato inizialmente in laboratorio per

l’analisi primordiale del falso d’autore grazie al framework WSS.

Il benchmark comprende diversi dati, tutti riguardanti opere manoscritte

dell’autore, a diversi livelli di granularita. Vi e in aggiunta anche una intera

sezione riguardante il cosiddetto “Diario Postumo” di Montale, ovvero una

raccolta di opere delle quali non e, ad oggi, possibile confermare l’appartenza

e l’autenticita all’autore.

Nello specifico e possibile distinguere due grandi categorie nel benchmark:

• Intere pagine manoscritte

• Singole parole o sillabe

I dati riguardanti la granularita di pagina comprendono 29 immagini di trai-

ning, di cui viene fornito l’anno di scrittura e la certezza dell’appartenenza

dell’autore, e di altrettante immagini di test, di cui non si conosce l’effettiva

appartenenza.

Le 29 immagini che fanno da ground truth, come detto, sono suddivise

per anno e sono raggruppabili come segue:

• Anni 20 (5)

• Anni 60 (5)

• Anni 70 (19)

Per quanto riguarda il dataset a livello di singola parola o sillaba, anche essi

possono essere divisi in due sottogruppi: parole comuni e firme. Entrambi

i sottoinsieme vengono forniti con immagini di training e immagini di test,

ovvero con immagini di cui si conosce la paternita e immagini di cui non essa

non e certa.

Il primo insieme, comprendente le parole comuni, e cosı composto:

• 27 parole autentiche appartenenti a Montale, cosı suddivise: “smetti”

(3), “questo” (5), “punto” (5), “non” (6), “in” (4), “cc” (4)

Page 156: mastertesi

5.2 Benchmark 155

• 24 parole di cui non si ha la certezza della paternita, cosı suddivise:

“questo” (8), “non” (6), “in” (4), “cc” (6)

L’insieme invece formato dalle firme, oltre a dare la paternita alle firme,

fornisce anche l’anno di scrittura delle stesse e delle stesse vengono fornite le

versioni intere, o suddivise per nome e cognome:

• Anni 20 (1)

• Anni 30 (4)

• Anni 60 (2)

• Anni 70 (1)

A queste vanno aggiunte le firme del “Diario Postumo” per un totale di

ulteriori 10 immagini, anche esse poi fornite in versione nome e cognome.

Scopi di utilizzo Il benchmark appena illustrato viene utilizzato per un’a-

nalisi paleografica e grafologica (Calibro). I test attraverso SURF e Momenti,

sono stati gia perseguiti da colleghi in altri lavori di tesi.

IAM Handwriting Database

Il Benchmark IAM Handwriting Database, da ora in poi denominato

IAM-HD, nasce da un gruppo di ricerca sull’intelligenza artificiale e com-

puter vision dell’universita di Berna, in Svizzera. E fra i diversi Benchmark

che hanno costruito e messo a disposizione della ricerca scientifica.

Esso, probabilmente, e fra gli standard piu completi e d’interesse per

quanto riguarda il testo manoscritto, data sopratutto la mole di materiale

che viene dato a disposizione.

Il database e stato pubblicato per la prima volta, in una prima versione

nel 1999, durante l’ICDAR, una delle piu importanti conferenze riguardo

l’analisi e l’identificazione di documenti. Con gli anni, sono state pubblicate

diverse versioni contenenti aggiornamenti e miglioramenti. Il lavoro di questa

Page 157: mastertesi

156 5. Test e Benchmark

tesi si basa sulla versione 3.0 dello stesso. Il database contiene manoscritti

su fogli privi di interlinee, i quali sono stati scansionati a una risoluzione di

300dpi, salvati in formato PNG con 256 livelli di grigio.

Il benchmark e strutturato come segue:

• 657 autori distinti hanno contribuito con la propria scrittura

• 1.539 pagine distinte

• 5.685 periodi estratti dalle pagine

• 13.353 righe di testo

• 115.320 parole

Tutti i componenti del dataset vengono forniti come file PNG e, per ognuna di

esse, viente fornita meta-datazione in formato XML tra cui, come componenti

piu importanti, l’autore e la trascrizione dell’oggetto.

Scopi di utilizzo Il dataset viene utilizzo a granularita di parola dalle

quali vengono estratte le features per il modello SURF e a Momenti. Data

la grandezza dello stesso, si e deciso di prendere un sottocampione di 50.000

immagini di singole parole di 192 autori diversi per effettuare i test, ritenendo

sufficiente una cardinalita inferiore.

5.2.2 Arabic WI contest

Il dataset Arabic WI e stato presentato durante la conferenza AWI 2011,

orranizzata dal gruppo di ricerca PRIP dell’universita del Qadar in congiun-

zione con ICDAR 2011.

Per la costruzione del dataset sono stati chiamati 50 autori differenti per la

trascrizione di tre paragrafi in lingua araba.

I primi due paragrafi vengono messi a disposizione come insieme di trai-

ning, mentre il terzo viene utilizzato come test.

Page 158: mastertesi

5.2 Benchmark 157

Le immagini vengono fornite in versione a colori, su scala di grigi o in

bianco e nero in formato PNG.

Insieme al dataset, vengono date, per ogni immagine, piu di 70 tipologie

di features, oltre a dare un autore di appartenenza ad ognuna di esse.

Scopi di utilizzo Data la particolarita del dataset di manoscritti in lingua

araba, viene esclusa a priori la possibilita di utilizzarlo per quanto riguarda

paleografia e grafologia, poiche non vi sono i presupposti adatti all’utilizzo

di queste metodologie. Il database viene dunque utilizzato per ulteriori test

su SURF e Momenti.

5.2.3 4NSigComp2010

Il benchmark 4NSigComp2010 e stato creato e rilasciato durante la con-

vention ICFHR2010, come sfida sull’identificazione di firme. Il dataset forni-

sce due scenari diversi ma simili, infatti entrambi si basano su firma genuina,

imitata o forgiata, e dissimulata. La firma genuina viene redatta dall’effettivo

autore, mentre per la creazione della dissimulata viene chiesto all’autore della

firma di scriverla come se fosse un estraneo ad imitarne la firma. La firma

imitata si basa sul tentativo di un utente diverso di imitare la firma dell’auto-

re di riferimento, mentre la forgiata viene creata statisticamente utilizzando

diverse firme genuine.

Il primo scenario contiene 209 immagini di firme, di cui solo 9 vengono fornite

come immagini di riferimento. Le restanti 200 firme, con scopo di test, sono

suddivise come segue:

• Genuine (76)

• Imitate (104)

• Dissimulate (20)

Il secondo scenario, invece, contiene 115 immagini, di cui 15 vengono date

come training set, le restante 100 invece sono divise nel seguente modo:

Page 159: mastertesi

158 5. Test e Benchmark

• Genuine (20)

• Imitate (71)

• Dissimulate (9)

I due scenari, come detto, sono molto simili, ma durante la competizione

hanno avuto scopi differenti. Il primo di distinguere semplicemente di di-

stinguere le relative firme. Al secondo e stata aggiunta una difficolta in piu,

ovvero di distinguere le firme imitate da calligrafi professionisti rispetto a

quelle imitate da semplici utenti.

Scopi di utilizzo E stato deciso di utilizzare solo il secondo scenario come

dataset, poiche si ritiene di sufficiente valore ed interesse, anche data l’in-

troduzione di calligrafi professionisti. Il benchmark si presta all’utilizzo del

Calibro come Pattern, ed infatti verra analizzato in quanto tale.

Page 160: mastertesi

5.3 Testing 159

5.3 Testing

Introdotti i benchmark, vengono di seguito elencati i test effettuati con i

relativi risultati, mostrando per ognuno di essi, caratteristiche peculiari sugli

stessi.

5.3.1 Montale - Diario Postumo

Il benchmark fornisce diversi approcci possibili al testing, e si vuole dap-

prima indagare i risultati sul disuguale metodico del calibro introdotto da

Moretti. Il test utilizza la sezione fornita a granularita di pagina, infatti si

vuole indagare il calibro in quanto tale e cio richiede la presenza di almeno

cento misurazioni, possibili solo a questa granularita.

Per la ground truth, sono state analizzate le 29 immagini messe a dispo-

sizione, suddivise per anno, di provenienza certa.

Di seguito viene mostrata l’intera tabella (Tab. 5.2), recante per ogni

immagine, la propria classe, il tipo del calibro e infine il grado del disuguale.

Immagine Classe Tipo Calibro Disuguale Metodico

1-1924.jpg montale/ /20 CALIBRO PICCOLO 9/10

3-1924.jpg montale/ /20 CALIBRO PICCOLO 9/10

4-1925.jpg montale/ /20 CALIBRO PICCOLO 10/10

5-1925.jpg montale/ /20 CALIBRO PICCOLO 10/10

6-1927.jpg montale/ /20 CALIBRO PICCOLO 9/10

1-1966.jpg montale/ /60 CALIBRO PICCOLO 10/10

3-1964.jpg montale/ /60 CALIBRO MEDIO NOISE

7-1963.jpg montale/ /60 CALIBRO PICCOLO 10/10

8-1969.jpg montale/ /60 CALIBRO PICCOLO 10/10

9-1967.jpg montale/ /60 CALIBRO PICCOLO 10/10

1-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

2-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

Page 161: mastertesi

160 5. Test e Benchmark

Immagine Classe Tipo Calibro Disuguale Metodico

3-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

4-1970.jpg montale/ /70 CALIBRO MEDIO NOISE

5-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

6-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

7-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

8-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

9-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

10-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

11-1970.jpg montale/ /70 CALIBRO MEDIO NOISE

12-1970.jpg montale/ /70 CALIBRO MEDIO NOISE

13-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

14-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

15-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

16-1970.jpg montale/ /70 CALIBRO MEDIO NOISE

17-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

18-1970.jpg montale/ /70 CALIBRO PICCOLO 10/10

19-1970.jpg montale/ /70 CALIBRO MEDIO NOISE

Tabella 5.2: Tabella raffigurante l’intera ground truth estratta dal benchmark

di Montale, in cui vengono analizzate le pagine per calcolarne il disuguale

metodico del calibro.

Page 162: mastertesi

5.3 Testing 161

Dalla tabella si possono estrarre informazioni sulle frequenze della tipolo-

gia del calibro e sul grado del disuguale, infatti le 29 immagini vengono cosı

ripartite.

Tipologia Calibro

• Calibro Piccolo (23)

• Calibro Medio (6)

Figura 5.2: Tipo del Calibro

Page 163: mastertesi

162 5. Test e Benchmark

Grado del Disuguale

- 9/10 (3)

- 10/10 (20)

- Rumore (6)

Figura 5.3: Grado del Disuguale

Dalle conoscenze che si sono acquisite sulla ground truth, si puo affermare

la presenza incontrastata del Calibro Piccolo con grado del disuguale pari a

10/10; cio e utile per poter associare all’autore Eugenio Montale, una propria

tipologia di scrittura. Le restanti opzioni, incluse nella creazione della nostra

base di verita, si reputano come sinonimo di rumore ed errore, infatti, come

si vuol ricordare, l’analisi avviene attraverso una misurazione manuale del

medio letterale e quindi non priva di equivoci.

Avendo potuto classificare la grafia di Eugenio Montale come Calibro

Piccolo, il cui grado del disuguale e pari a 10/10, si rende possibile ora

effettuare i test sulle pagine del Diario Postumo, ovvero quelle pagine di cui

non vi e la certezza di autenticita dell’autore stesso.

Page 164: mastertesi

5.3 Testing 163

Le pagine a disposizione per far test, ovvero le pagine appartenenti al Diario

Postumo, sono 11, e, come e stato fatto per la ground truth, da esse sono state

estratte le misurazioni del medio letterale necessarie al calcolo del disuguale

metodico del calibro.

Viene di seguito mostrata la tabella riassuntiva con i risultati da cui

successivamente potranno essere estratte delle conclusioni.

Immagine Tipo Calibro Grado

ScansioniDiarioPostumoII29p2.jpg CALIBRO PICCOLO 9/10

ScansioniDiarioPostumoII15p2.jpg CALIBRO PICCOLO 8/10

ScansioniDiarioPostumoII18p2.jpg CALIBRO MEDIO NOISE

ScansioniDiarioPostumoII19p2.jpg CALIBRO MEDIO NOISE

ScansioniDiarioPostumoII21p2.jpg CALIBRO PICCOLO 9/10

ScansioniDiarioPostumoII23p1.jpg CALIBRO PICCOLO 10/10

ScansioniDiarioPostumoII23p2.jpg CALIBRO PICCOLO 10/10

ScansioniDiarioPostumoII25p1.jpg CALIBRO PICCOLO 8/10

ScansioniDiarioPostumoII25p2.jpg CALIBRO MEDIO NOISE

ScansioniDiarioPostumoII28p1.jpg CALIBRO PICCOLO 10/10

ScansioniDiarioPostumoII29p1.jpg CALIBRO PICCOLO 10/10

Tabella 5.3: Tabella raffigurante i test effettuati sul Diario Postumo,

evidenziando la tipologia del calibro e il rispettivo grado del disuguale.

Page 165: mastertesi

164 5. Test e Benchmark

Anche in questo caso e possibile ricavare informazioni sulle frequenze.

Tipologia Calibro

• Calibro Piccolo (8)

• Calibro Medio (3)

Figura 5.4: Tipo del Calibro

Page 166: mastertesi

5.3 Testing 165

Grado del Disuguale

- 8/10 (2)

- 9/10 (2)

- 10/10 (4)

- Rumore (3)

Figura 5.5: Grado del Disuguale

Delle undici immagini analizzate, solo quattro rispecchiano il grado disuguale

attribuito all’autore. Si puo supporre, dunque, che esse appartengano all’au-

tore, infatti oltre ad avere ugual tipologia di calibro, vi e una corrispondenza

del grado del disuguale metodico.

Si vuole sottolineare ancora una volta che l’intera procedura risulta avere

una presenza di errore e rumore sintomatica, dovuta ad una analisi manuale.

Il calcolo del disuguale metodico del calibro ha lo scopo di attribuirne

un grado in scala decimale, il quale permette di distinguere una grafia di

un autore da un’altra. Il disuguale metodico si propone come una sorta

Page 167: mastertesi

166 5. Test e Benchmark

di DNA dell’autore, di impronta digitale, che, nonostante la modifica, la

crescita e la variazione della grafia stessa, possa permettere di riconoscere

come appartenente ad una persona piuttosto che ad un’altra.

Con il test appena eseguito vi e una buona probabilita che le pagine con

stesso grado appartengano effettivamente a Montale, e le restanti, invece,

siano frutto di contraffazione e/o dissimulazione da parte di altri, con il

tentativo di rendere tali come autentiche.

Il benchmark, come gia descritto precedentemente, fornisce un ulteriore gra-

nularita su cui e possibile effettuare test. Si e deciso infatti di prendere ora

il secondo sottoinsieme messo a disposizione, ovvero l’insieme riguardante le

parole scritte dall’autore.

Anche in questo caso sono presenti immagini di cui l’autenticita di Mon-

tale e riconosciuta, alle quali si aggiungono immagini estratte dal Diario

Postumo, di cui non si e certi la provenienza.

I test effettuati sono basati sul paradigma Calibro come Pattern. Per far

cio si e reso necessario estrarre per ogni immagine l’altezza del medio letterale:

ancora una volta le immagini dell’autore fanno da base di conoscenza, e invece

le immagini appartenenti al Diario Postumo sono i test.

Non si reputa necessario, per questo test, calcolare Recall e Precision,

infatti si vuole usare il framework come classificatore, ovvero data una query

k-NN, vedere quale autore essa restituisce.

E necessario aver assegnato ad ogni immagine una classe, e se per le imma-

gini che fanno da ground truth cio risulta ovvio, per le immagini sconosciute

si e deciso di attribuire loro come autore “Diario Postumo”.

I test sono stati eseguiti su tutte le immagini sul diario postumo messe a

disposizione, e le variabili sono state impostate come segue:

• K: 10

• CalibroDistance: Variante Euclidea

Page 168: mastertesi

5.3 Testing 167

La tabella successiva (Tab. 5.4) mostra tutti i risultati, successivamente

commentati.

Immagine Risultato Autore Predetto

cc DiarioPostumo 1.jpg cc Montale 4.jpg (0.0)

non Montale 5.jpg (0.0)

cc DiarioPostumo 1.jpg (0.0)

non DiarioPostumo 1.jpg (0.0)

non DiarioPostumo 5.jpg (0.0)

questo DiarioPostumo 1.jpg (0.0)

questo DiarioPostumo 5.jpg (0.0)

questo DiarioPostumo 6.jpg (0.0)

non DiarioPostumo 4.jpg

(0.0999)

cc Montale 1.jpg (0.1)

diariopostumo

cc DiarioPostumo 3.jpg questo Montale 2.jpg (0.0)

smetti Montale 1.jpg (0.0)

cc DiarioPostumo 3.jpg (0.0)

cc DiarioPostumo 5.jpg (0.0)

non DiarioPostumo 1.jpg

(0.0999)

in DiarioPostumo 2.jpg (0.1)

non DiarioPostumo 2.jpg (0.1)

punto Montale 4.jpg (0.3)

questo Montale 1.jpg (0.3)

smetti Montale 3.jpg (0.3)

montale

Page 169: mastertesi

168 5. Test e Benchmark

Immagine Risultato Autore Predetto

cc DiarioPostumo 2.jpg cc Montale 2.jpg (0.0)

non Montale 4.jpg (0.0)

punto Montale 2.jpg (0.0)

questo Montale 4.jpg (0.0)

smetti Montale 1.jpg (0.0)

smetti Montale 3.jpg (0.0)

cc DiarioPostumo 2.jpg (0.0)

in DiarioPostumo 1.jpg (0.0)

non DiarioPostumo 1.jpg (0.0)

non DiarioPostumo 6.jpg

(0.1999)

montale

cc DiarioPostumo 4.jpg non Montale 5.jpg (0.0)

cc DiarioPostumo 4.jpg (0.0)

non DiarioPostumo 5.jpg

(0.4999)

non Montale 1.jpg (0.5999)

questo DiarioPostumo 3.jpg

(0.5999)

questo DiarioPostumo 5.jpg

(0.6999)

non Montale 3.jpg (0.7999)

questo Montale 2.jpg (0.7999)

questo DiarioPostumo 4.jpg

(0.7999)

questo DiarioPostumo 6.jpg

(0.7999)

diariopostumo

Page 170: mastertesi

5.3 Testing 169

Immagine Risultato Autore Predetto

cc DiarioPostumo 5.jpg questo Montale 2.jpg (0.0)

smetti Montale 1.jpg (0.0)

cc DiarioPostumo 3.jpg (0.0)

cc DiarioPostumo 5.jpg (0.0)

non DiarioPostumo 1.jpg

(0.0999)

in DiarioPostumo 2.jpg (0.1)

non DiarioPostumo 2.jpg (0.1)

punto Montale 4.jpg (0.3)

questo Montale 1.jpg (0.3)

smetti Montale 3.jpg (0.3)

montale

cc DiarioPostumo 6.jpg cc DiarioPostumo 6.jpg (0.0)

questo DiarioPostumo 1.jpg (0.0)

questo Montale 5.jpg (0.2)

non Montale 5.jpg (0.6)

non Montale 1.jpg (0.8)

punto Montale 4.jpg (0.8)

questo Montale 1.jpg (0.8)

smetti Montale 3.jpg (0.8)

in DiarioPostumo 2.jpg (1.0)

non DiarioPostumo 1.jpg (1.0)

montale

Page 171: mastertesi

170 5. Test e Benchmark

Immagine Risultato Autore Predetto

in DiarioPostumo 1.jpg cc Montale 2.jpg (0.0)

cc DiarioPostumo 2.jpg (0.0)

in DiarioPostumo 1.jpg (0.0)

non DiarioPostumo 1.jpg (0.0)

punto Montale 5.jpg (0.4)

in Montale 1.jpg (0.6)

questo Montale 4.jpg (0.6)

non DiarioPostumo 6.jpg

(0.6999)

questo DiarioPostumo 3.jpg (0.7)

questo DiarioPostumo 8.jpg (0.7)

diariopostumo

in DiarioPostumo 2.jpg in DiarioPostumo 2.jpg (0.0)

cc DiarioPostumo 3.jpg (0.1)

cc DiarioPostumo 5.jpg (0.1)

questo Montale 2.jpg (0.9)

cc DiarioPostumo 6.jpg (1.0)

punto Montale 5.jpg (1.2999)

smetti Montale 2.jpg (1.5999)

questo Montale 1.jpg (1.6999)

non DiarioPostumo 2.jpg (1.7)

questo Montale 5.jpg (1.7999)

diariopostumo

Page 172: mastertesi

5.3 Testing 171

Immagine Risultato Autore Predetto

in DiarioPostumo 3.jpg in DiarioPostumo 3.jpg (0.0)

non Montale 2.jpg (3.8999)

cc DiarioPostumo 4.jpg (4.8)

in Montale 4.jpg (4.9)

smetti Montale 1.jpg (5.8)

non DiarioPostumo 5.jpg

(5.8999)

non DiarioPostumo 3.jpg (6.6)

cc DiarioPostumo 6.jpg (6.8999)

non Montale 3.jpg (7.3999)

questo Montale 5.jpg (7.5999)

diariopostumo

in DiarioPostumo 4.jpg cc Montale 3.jpg (0.0)

in DiarioPostumo 4.jpg (0.0)

questo DiarioPostumo 8.jpg

(0.4999)

cc Montale 4.jpg (0.5)

cc DiarioPostumo 1.jpg (0.5)

cc Montale 1.jpg (0.6)

non DiarioPostumo 6.jpg (0.9)

questo DiarioPostumo 7.jpg

(0.9999)

questo Montale 1.jpg (1.1)

questo DiarioPostumo 2.jpg (1.1)

diariopostumo

Page 173: mastertesi

172 5. Test e Benchmark

Immagine Risultato Autore Predetto

non DiarioPostumo 1.jpg cc Montale 2.jpg (0.0)

cc Montale 4.jpg (0.0)

cc DiarioPostumo 1.jpg (0.0)

cc DiarioPostumo 2.jpg (0.0)

in DiarioPostumo 1.jpg (0.0)

non DiarioPostumo 1.jpg (0.0)

cc Montale 1.jpg (0.0999)

cc DiarioPostumo 3.jpg (0.0999)

cc DiarioPostumo 5.jpg (0.0999)

cc Montale 3.jpg (0.5)

diariopostumo

non DiarioPostumo 2.jpg non DiarioPostumo 2.jpg (0.0)

cc DiarioPostumo 3.jpg (0.1)

cc DiarioPostumo 5.jpg (0.1)

cc DiarioPostumo 6.jpg (1.0)

cc Montale 2.jpg (1.5999)

cc DiarioPostumo 2.jpg (1.5999)

in DiarioPostumo 2.jpg (1.7)

cc Montale 1.jpg (3.0999)

cc DiarioPostumo 4.jpg (3.0999)

cc Montale 4.jpg (3.2)

diariopostumo

Page 174: mastertesi

5.3 Testing 173

Immagine Risultato Autore Predetto

non DiarioPostumo 3.jpg non DiarioPostumo 3.jpg (0.0)

cc Montale 4.jpg (0.1999)

cc DiarioPostumo 1.jpg (0.1999)

cc Montale 1.jpg (0.3)

cc Montale 3.jpg (0.3)

cc Montale 2.jpg (0.8)

cc DiarioPostumo 2.jpg (0.8)

cc DiarioPostumo 4.jpg (1.0)

in DiarioPostumo 1.jpg (1.0)

cc DiarioPostumo 6.jpg (1.0999)

diariopostumo

non DiarioPostumo 4.jpg cc Montale 1.jpg (0.0)

non DiarioPostumo 4.jpg (0.0)

cc Montale 4.jpg (0.0999)

cc DiarioPostumo 1.jpg (0.0999)

cc DiarioPostumo 3.jpg (0.4999)

cc DiarioPostumo 5.jpg (0.4999)

cc Montale 3.jpg (0.5999)

cc Montale 2.jpg (1.1)

cc DiarioPostumo 2.jpg (1.1)

in DiarioPostumo 1.jpg (1.2)

diariopostumo

Page 175: mastertesi

174 5. Test e Benchmark

Immagine Risultato Autore Predetto

non DiarioPostumo 5.jpg cc Montale 4.jpg (0.0)

cc DiarioPostumo 1.jpg (0.0)

non DiarioPostumo 5.jpg (0.0)

cc Montale 1.jpg (0.1)

cc DiarioPostumo 4.jpg (0.4999)

cc Montale 3.jpg (0.5)

cc DiarioPostumo 6.jpg (1.5999)

cc Montale 2.jpg (1.6)

cc DiarioPostumo 2.jpg (1.6)

cc DiarioPostumo 3.jpg (2.7)

diariopostumo

non DiarioPostumo 6.jpg cc Montale 3.jpg (0.0)

non DiarioPostumo 6.jpg (0.0)

cc Montale 1.jpg (0.0999)

cc Montale 2.jpg (0.1999)

cc DiarioPostumo 2.jpg (0.1999)

cc Montale 4.jpg (0.2)

cc DiarioPostumo 1.jpg (0.2)

in DiarioPostumo 1.jpg (0.6999)

in Montale 1.jpg (0.9)

in DiarioPostumo 4.jpg (0.9)

montale

Page 176: mastertesi

5.3 Testing 175

Immagine Risultato Autore Predetto

questo DiarioPostumo 1.jpg cc Montale 3.jpg (0.0)

cc Montale 4.jpg (0.0)

cc DiarioPostumo 1.jpg (0.0)

cc DiarioPostumo 6.jpg (0.0)

questo DiarioPostumo 1.jpg (0.0)

cc Montale 1.jpg (0.1)

cc DiarioPostumo 3.jpg (1.0999)

cc DiarioPostumo 5.jpg (1.0999)

cc Montale 2.jpg (1.6)

cc DiarioPostumo 2.jpg (1.6)

diariopostumo

questo DiarioPostumo 2.jpg questo DiarioPostumo 2.jpg (0.0)

cc Montale 2.jpg (0.2999)

cc DiarioPostumo 2.jpg (0.2999)

cc Montale 1.jpg (0.4999)

cc Montale 4.jpg (0.5999)

cc DiarioPostumo 1.jpg (0.5999)

in DiarioPostumo 1.jpg (0.8999)

in Montale 1.jpg (0.9)

cc Montale 3.jpg (1.0999)

in DiarioPostumo 4.jpg (1.1)

diariopostumo

Page 177: mastertesi

176 5. Test e Benchmark

Immagine Risultato Autore Predetto

questo DiarioPostumo 3.jpg questo DiarioPostumo 3.jpg (0.0)

cc Montale 2.jpg (0.2)

cc DiarioPostumo 2.jpg (0.2)

cc Montale 1.jpg (0.3999)

cc Montale 4.jpg (0.5)

cc DiarioPostumo 1.jpg (0.5)

cc DiarioPostumo 4.jpg (0.5999)

in DiarioPostumo 1.jpg (0.7)

cc Montale 3.jpg (1.0)

in Montale 1.jpg (1.3)

diariopostumo

questo DiarioPostumo 4.jpg questo DiarioPostumo 4.jpg (0.0)

cc Montale 1.jpg (0.0999)

cc Montale 4.jpg (0.2)

in Montale 1.jpg (0.2)

cc DiarioPostumo 1.jpg (0.2)

cc Montale 2.jpg (0.5999)

cc DiarioPostumo 2.jpg (0.5999)

cc Montale 3.jpg (0.7)

cc DiarioPostumo 4.jpg (0.7999)

in DiarioPostumo 1.jpg (0.7999)

diariopostumo

Page 178: mastertesi

5.3 Testing 177

Immagine Risultato Autore Predetto

questo DiarioPostumo 5.jpg cc Montale 4.jpg (0.0)

cc DiarioPostumo 1.jpg (0.0)

questo DiarioPostumo 5.jpg (0.0)

cc Montale 1.jpg (0.1)

cc Montale 3.jpg (0.5)

cc DiarioPostumo 4.jpg (0.6999)

cc DiarioPostumo 6.jpg (1.3999)

cc Montale 2.jpg (1.6)

cc DiarioPostumo 2.jpg (1.6)

in DiarioPostumo 1.jpg (1.6)

diariopostumo

questo DiarioPostumo 6.jpg cc Montale 4.jpg (0.0)

cc DiarioPostumo 1.jpg (0.0)

questo DiarioPostumo 6.jpg (0.0)

cc Montale 1.jpg (0.1)

cc Montale 3.jpg (0.5)

cc DiarioPostumo 4.jpg (0.7999)

cc Montale 2.jpg (1.1)

cc DiarioPostumo 2.jpg (1.1)

in DiarioPostumo 1.jpg (1.1)

cc DiarioPostumo 6.jpg (1.2999)

diariopostumo

Page 179: mastertesi

178 5. Test e Benchmark

Immagine Risultato Autore Predetto

questo DiarioPostumo 7.jpg questo DiarioPostumo 7.jpg (0.0)

cc Montale 3.jpg (0.1999)

cc Montale 2.jpg (0.2999)

cc DiarioPostumo 2.jpg (0.2999)

cc Montale 4.jpg (0.3)

cc DiarioPostumo 1.jpg (0.3)

cc Montale 1.jpg (0.4)

in DiarioPostumo 4.jpg (0.9999)

in Montale 2.jpg (1.1)

cc DiarioPostumo 3.jpg (1.1999)

diariopostumo

Tabella 5.4: Tabella raffigurante i test effettuati sul Diario Postumo,

evidenziando l’intero risultato della query e la classificazione effettuata.

Come prima considerazione da dover fare e il problema sintomatico della

distanza 0.0, ovvero come se i due oggetti coincidessero. Cio e dovuto al-

la presenza delle immagini “cc”: infatti, per le suddette lettere, si possono

calcolare solo due altezze del medio letterale, ma siccome il calibro come

pattern tiene traccia della “differenza” tra le altezze, ogni immagine cc pre-

senta una sola feature. Ricordando che la distanza CalibroDistance cerca il

miglior valore, ovvero effettua tutti i confronti tra il vettore piu corto e tutti

i possibili sotto-vettori del vettore piu lungo, vi e una alta probabilita che

si trovi esattamente lo stesso valore di differenza, e cio comporta il risultato

cosı indesiderato.

Confrontando i risultati, su undici test, solo cinque restituiscono come

autore Montale. Cio non deve considerarsi errato, infatti ricordiamo come il

Diario Postumo non abbia un padre certo: d’altro canto, se si osservano le

effettive immagini che hanno risposto come tale, vi e una buona probabilita

che le immagini in esame appartengano effettivamente all’autore.

Secondo alcuni studi letterali, infatti, vi e una forte caratteristica gra-

fologica della coppia “cc” per Montale, tanto che potrebbe caratterizzarne

Page 180: mastertesi

5.3 Testing 179

la grafia: ed e infatti per questo motivo che il benchmark offre questo ti-

po di immagini. Si suppone dunque che le immagini cc DiarioPostumo 3 e

cc DiarioPostumo 2 siano state scritte effettivamente dall’autore.

Per completezza del test, viene riportato infine, un unico esempio, met-

tendo a confronto SURF, Momenti e il Calibro come Pattern.

E stata effettuata una ulteriori query k-NN con k = 10. L’esempio e solo

esemplificativo, per poter valutare le tre tipologie di paradigmi. Per avere

ulteriori informazioni su test SURF e su Momenti, si rimanda alla lettura

delle due tesi specifiche, scritte da colleghi, vertenti proprio su questi due

modalita.

SURF ha estratto features per un massimo di cento Salient Point, invece

per i momenti, viene mostrato Hu Moments estratto a precision di 15000.

La seguente tabella mostra dapprima i risultati specifici, e successivamen-

te l’autore predetto.

Osservando la tabella (Tab. 5.5), si nota come due paradigmi su tre

classifichino l’immagine come appartenente a Montale.

SURF, finora il modello piu affidabile, e l’unico che riconosce la parola

come piu simile alle restanti della medesima classe “diario postumo” piuttosto

che all’autore stesso.

Se i tre modelli avessero risposto coerentemente, si avrebbe avuto una

alta probabilita di poter assegnare l’immagine a Montale, ma essendo proprio

SURF a contraddire i restanti risultati, i dubbi sulla paternita non possono

che rimanere.

E interessante, infine, notare come SURF metta nelle prime posizioni

immagini raffiguranti le stesse parole “questo”, a differenza, ad esempio

del Calibro come Pattern, o dei Momenti che le restituisce come risultati

successivi.

Page 181: mastertesi

180 5. Test e Benchmark

Risultato k-NN (k=10)

SURF HU Moments Calibro

questo DiarioPostumo 8

questo DiarioPostumo 7

questo DiarioPostumo 4

non DiarioPostumo 4

questo DiarioPostumo 5

non DiarioPostumo 1

non DiarioPostumo 3

questo DiarioPostumo 2

questo DiarioPostumo 6

non DiarioPostumo 5

questo DiarioPostumo 8

punto Montale 5

non Montale 1

cc DiarioPostumo 1

questo Montale 1

questo Montale 2

questo Montale 3

questo Montale 5

non DiarioPostumo 5

non Montale 3

questo DiarioPostumo 8

questo DiarioPostumo 2

in DiarioPostumo 1

non Montale 4

punto Montale 2

non DiarioPostumo 6

in Montale 1

punto Montale 3

cc Montale 1

cc Montale 4

Classificazione

SURF HU Moments Calibro

Diario Postumo Montale Montale

Tabella 5.5: Risultati dei test effettuati sull’immagine

questo DiarioPostumo 8.jpg

Vi e infine l’ultimo insieme di immagini da poter considerare, ovvero le firme.

Sulle firme viene effettuato lo stesso test per le parole. Si ricordi che test su

SURF e Momenti non vengono presi in considerazione poiche gia analizzati

in lavori di tesi di colleghi.

Vi sono alcune interessanti differenze tra l’analisi delle parole rispetto

alla firma. Si sottolinea come la firma non rappresenti la vera scrittura di un

utente, infatti, ognuno di noi la utilizza per caratterizzarsi, a differenza della

semplice parola che presuppone un semplice scrivere. La firma puo essere

dunque paragonata ad un biglietto da visita, infatti presenta caratteristiche

e peculiarita piu personali, tali da trasmettere una forte riconoscibilita.

Nell’analisi delle firme, inoltre, si presenta la ripetizione delle medesi-

me parole: ecco dunque che i vettori di confronto avranno sempre, o quasi

Page 182: mastertesi

5.3 Testing 181

sempre, la stessa lunghezza di features.

Il benchmark fornisce otto immagini come base di conoscenza e dieci

appartenenti al Diario Postumo. Sono state assegnate le classi in ugual modo

al test precedente, ovvero autore “Montale” per la ground truth, e autore

“Diario Postumo” per le firme appartenenti ai suddetti manoscritti. I test

sono stati svolti con i seguenti parametri

• K 5

• CalibroDistance: Variante Euclidea

Viene omessa la tabella dei risultati, ma il seguente grafico (Fig. 5.6) ne mo-

stra un riassunto. Si sottolinea la riduzione al valore cinque del parametro K,

Figura 5.6: Classificazione Firme

infatti il dataset in questione risulta piu povero: un K troppo grande favorisce

la classificazione verso la classe con cardinalita maggiore, con l’eventualita di

rendere inutile l’utilizzo dello stesso.

Tutte le firme appartenenti al Diario Postumo vengono classificate come

tali, ovvero risultano piu somiglianti a se stesse che non alle firme di Montale.

Page 183: mastertesi

182 5. Test e Benchmark

Il risultato in parte stupisce, in positivo e in negativo. Sarebbe stato apprez-

zabile trovare una corrispondenza tra le firme appartenenti alla stessa pagina

da cui sono state estratte le parole precedentemente analizzate, ovvero che le

firme del manoscritto in cui appaiono le parole classificate come “Montale”

fossero anch’esse classificati come dell’autore.

I test risultano essere in definitiva ambigui, ovvero non riescono ad oggi a

poter dare una paternita al Diario Postumo.

L’esperimento piu coerente e concreto riguarda il Disuguale Metodico del

Calibro, che sembra dare una continuita alle informazioni ricavate fino ad ora.

E apprezzabile anche lo sforzo indotto dal Calibro come Pattern, ma di cui

non si riesce a confermare una superiorita nel campo analizzato, nonostante

riesca a dare il suo contributo come alternativa a quanto fin’ora presente

nella scena.

Si vuole ricordare ancora una volta come tutta la metodologia basata

sul Calibro non e priva di errore, ed e per questo che essa risulta essere,

probabilmente, in difetto rispetto a metodologie completamente automatiche.

L’ultimo test effettuato sul benchmark riguarda l’analisi paleografica. Ancora

una volta bisogna utilizzare la sezione a granularita di pagina, poiche per

poter ottenere dati sufficienti e utili bisogna poter analizzare peculiarita non

disponibili a granularita minori.

Si sono quindi utilizzati le immagini di Montale come base di conoscenza

e quelle del Diario Postumo come test.

E stata utilizzata la ParametricPaleographyDistance per effettuare gli

esperimenti, e ancora una volta sono state effettuate query k-NN.

I parametri sono stati impostati come segue:

• K: 10

• ParametricPaleographyDistance: Tutti le tipologie di features -

Solo valori non nulli.

Page 184: mastertesi

5.3 Testing 183

Figura 5.7: Classificazione Diario Postumo attraverso Paleografia

Il test per essere effettuato ha avuto il bisogno di classificare il Diario Po-

stumo con un autore, e si e deciso nuovamente di assegnare la classe “Diario

Postumo”.

Solo tre immagini su undici hanno avuto come classificazione Montale

(Fig. 5.7), nello specifico sono state le seguenti:

• ScansioniDiarioPostumoII18p2.jpg

• ScansioniDiarioPostumoII23p1.jpg

• ScansioniDiarioPostumoII25p2.jpg

Confrontando le immagini con il test sul disuguale metodico del Calibro, vi

e una sola corrispondenza, ovvero ScansioniDiarioPostumoII23p1.jpg. Non

solo dunque l’immagine risulta avere lo stesso calibro di Montale, ma se

confrontata attraverso parametri paleografici, essa risulta sufficientemente

simile agli scritti dell’autore.

Page 185: mastertesi

184 5. Test e Benchmark

Conclusioni Il benchmark ha offerto una buona prospettiva di lavoro sul-

l’ambito grafologico e paleografico, attraverso diversi livelli di granularita che

non tutti i dataset mettono a disposizione.

Sono stati effettuati diversi esperimenti, tutti inerenti a una tipologia

semi-automatica, ovvero con l’intervento umano necessario.

Vi e stata una sola corrispondenza tra i vari test che rendono incerto

l’effettiva analisi effettuata, ma bisogna sottolineare come il lavoro svolto e

probabilmente non privo di errori e rumore.

I dataset, purtroppo, presenta una mancanza di informazioni, ovvero l’au-

tenticita o meno delle pagine del Diario Postumo su cui si sono effettuati gli

esperimenti: cio comporta una inadeguatezza del benchmark ad essere utiliz-

zato come fonte di misura dell’efficacia del framework, poiche non si hanno i

dati utili allo scopo.

I test svolti hanno comunque una grossa importanza, poiche mostrano

come la paleografia e la grafologia siano una ottima alternativa ai paradigmi

finora utilizzati nell’ambito informatico per l’analisi di testi manoscritti.

In definitiva si puo pensare di attribuire con un’alta probabilita una delle

pagine in test a Eugenio Montale, dovuta alla coerenza dei diversi test: questo

risultato si ritiene di notevole importanza poiche, ad oggi, il dibattito della

paternita del Diario Postumo e ancora un problema aperto.

5.3.2 IAM-HD

Il benchmark IAM-HD, come gia precedentemente descritto, offre il piu

vasto dataset da cui attingere informazioni e su cui poter effettuare speri-

mentazione.

Per questa tesi e stato deciso di utilizzare solo un sotto-insieme delle

170.000 immagini messe a disposizione a granularita di parola.

I test si offrono come ottimo punto per l’analisi SURF e a Momenti, ed

infatti sono stati perseguiti i test seguendo questi due paradigmi.

Nel dataset non vi e distinzione fra ground truth e immagini da test,

infatti viene utilizzato l’intero insieme come base di verita e dallo stesso

Page 186: mastertesi

5.3 Testing 185

vengono estrapolate delle immagini da utilizzare come test. Per la creazione

del database, secondo il modello SURF, sono stati estratti punti salienti per

un massimo di cento per immagine, cosı come era fatto sul test privato.

Per scegliere quali immagini utilizzare per la sperimentazione, e stato fat-

to un confronto sulla cardinalita delle varie classi presenti all’interno dell’in-

sieme, e ne sono state scelte alcune, in maniera casuale, con alta cardinalita.

Inoltre si e deciso di dar spazio sia a classi che rappresentino parole brevi,

come ad esempio “the”, sia a parole piu lunghe, quali “Government”: si e

voluto infatti utilizzare parole con diverse caratteristiche e peculiarita per

vedere come il framework reagiva.

Una volta scelte le classi da utilizzare, in maniera ancora casuale, e stata

scelta una istanza per ognuna di esse per effettuare sperimentazione.

Le classi utilizzano la seguente sintassi “autore/parola”, e nel caso speci-

fico, l’autore corrisponde ad un numero. Sono state selezionate, dunque, le

seguenti classi, delle quali viene illustrata anche la cardinalita:

• 000/the (245)

• 150/the (45)

• 202/the (29)

• 000/Government (19)

• 246/mantis (9)

• 248/blocks (6)

Per l’analisi degli esperimenti e stata utilizzata una query k-NN, con k cre-

scente da 1 a 49, utile per tracciare i grafici di Recall, Precision e F-Measure.

Infine sono stati scelti i seguenti parametri per la risoluzione della stessa:

Distanza : Canberra

Matching : N1-Best

Page 187: mastertesi

186 5. Test e Benchmark

Test 000/the

Immagine di query: a01-007u-02-04.jpg (Fig. 5.8)

ID: 436

Classe: 000/the

Cardinalita di classe: 245

Figura 5.8: Immagine di classe 000/the

Figura 5.9: Precision, Recall e F-Measure su test 000/the

Si noti la Precision che si attesta al 100% per i primi due punti, per poi

iniziare a calare progressivamente e rialzarsi in determinati valori di k. E

un buon risultato, sopratutto se pensiamo alla grandezza del dataset. Non

stupisce una Recall bassa, che comunque risulta apprezzabile: infatti la car-

dinalita della classe e molto superiore all’effettivo k utilizzato, dunque non

si puo che avere un rapporto relativamente basso. Ovviamente il valore di

F-Measure, compreso sempre fra Precision e Recall, tendera al basso livello

di Recall, che ne predomina, in negativo, il calcolo.

Di piu interesse, invece, risulta essere il successivo grafico (Fig. 5.10),

ovvero di classificazione dell’immagine. Per tutti i valori di k, da 1 a 49,

il classificatore funziona correttamente, ovvero attribuisce l’esatto autore

all’immagine.

Page 188: mastertesi

5.3 Testing 187

Figura 5.10: Classificazione su test 000/the

Test 150/the

Immagine di query: c03-003a-02-06.jpg (Fig. 5.11)

ID: 24298

Classe: 150/the

Cardinalita di classe: 45

Figura 5.11: Immagine di classe 150/the

Page 189: mastertesi

188 5. Test e Benchmark

Figura 5.12: Precision, Recall e F-Measure su test 150/the

Il grafico Precision, Recall e F-Measure (Fig. 5.12) e davvero ottimo,

riesce a mantenere alti livelli, sbagliando poco o nulla. Il test e piu che sod-

disfacente: con k massimo, il risultato comprende piu del 60% della totalita

delle immagini di classe.

Anche per quanto riguarda la classificazione (Fig. 5.13), si ottiene il

miglior risultato sperato.

Figura 5.13: Classificazione su test 150/the

Test 202/the

Immagine di query: d06-091-03-01.jpg (Fig. 5.14)

ID: 37724

Classe: 202/the

Cardinalita di classe: 29

Page 190: mastertesi

5.3 Testing 189

Figura 5.14: Immagine di classe 202/the

Figura 5.15: Precision e Recall su test 202/the

Sia la Precision che la Recall (Fig. 5.12) ottengono buoni risultati. Si noti

che la cardinalita inizia a diminuire e quindi si ha una maggiore probabilita

di avere Recall piu alte. E apprezzabile riuscire ad ottenere ancora una volta

il 60% delle immagini di classe in un k relativamente basso.

La classificazione (Fig. 5.13) ottiene sempre risultati ottimali.

Figura 5.16: Classificazione su test 202/the

Page 191: mastertesi

190 5. Test e Benchmark

Test 000/Government

Immagine di query: a01-003u-05-00.jpg (Fig. 5.17)

ID: 221

Classe: 000/Government

Cardinalita di classe: 19

Figura 5.17: Immagine di classe 000/Government

Figura 5.18: Precision, Recall e F-Measure su test 000/Government

L’informazione migliore ricavabile dal grafico della Precision (Fig. 5.18)

si ha controllando i primi quattro punti: infatti si ottengono immagini della

stessa classe. Risulta essere un buon risultato, se non per il fatto che la Recall

non riesce a salire al piu del 40%.

La classificazione (Fig. 5.19) ancora una volta, non sbaglia neanche una

volta.

Page 192: mastertesi

5.3 Testing 191

Figura 5.19: Classificazione su test 000/Government

Test 246/mantis

Immagine di query: e7-061-08-03.jpg (Fig. 5.20)

ID: 44404

Classe: 246/mantis

Cardinalita di classe: 9

Figura 5.20: Immagine di classe 246/mantis

Figura 5.21: Precision, Recall e F-Measure su test 246/mantis

Osservando la Recall (Fig. 5.21) si nota come si ottiene circa il 66% della

totalita delle immagini di classe entro i primi 16 risultati. Risulta essere un

Page 193: mastertesi

192 5. Test e Benchmark

risultato notevole, peccato poi non riuscire piu a recuperarne nelle restanti

30 posizioni.

Figura 5.22: Classificazione su test 246/mantis

La classificazione (Fig. 5.22) e ancora una volta auto esemplificativa sulla

propria affidabilita.

Test 248/blocks

Immagine di query: e7-101-06-03.jpg (Fig. 5.23)

ID: 45189

Classe: 248/blocks

Cardinalita di classe: 6

Figura 5.23: Immagine di classe 248/blocks

Page 194: mastertesi

5.3 Testing 193

Figura 5.24: Precision e Recall su test 248/blocks

Si sottolinea la bassa cardinalita di classe dell’immagine, che presuppone

alta Recall poiche piu facilmente reperibile. Purtroppo essa si ferma al 50%

(Fig. 5.24), ottenendola, pero, entro le prime 7 immagini.

Figura 5.25: Classificazione su test 248/blocks

Per quanto riguarda la classificazione (Fig. 5.25) si ottiene ugualmente il

100% delle risposte corrette.

I test eseguiti finora hanno utilizzato un paradigma locale, quale SURF.

Sulla stessa base di dati, e sulla stessa ground truth, sono stati eseguiti test

a paradigma globale utilizzando i Momenti.

Per l’analisi delle immagini si e deciso di utilizzare gli Hu Moments, ovvero

i momenti che di propria natura tendono a essere invarianti a scala, rotazione

Page 195: mastertesi

194 5. Test e Benchmark

e traslazione. Per l’estrazione di features e stata impostata una precision di

15000, ovvero il numero di punti che vengono estratti dall’immagine.

Una volta creata la base di conoscenza, sono stati svolti gli stessi espe-

rimenti sulle stesse immagini utilizzate per SURF: cio ha lo scopo di poter

mettere a confronto le due tipologie di features.

Le query sono ancora una volta k-NN con k crescente. Per i risultati sono

stati omessi i grafici Precision-Recall, mostrando solo i grafici di classificazio-

ne poiche, data la risposta, riescono a essere auto esemplificativi sull’efficacia

dei momenti.

L’immagine 5.26 descrive ed illustra in maniera esemplificativa l’inferio-

rita del modello a Momenti rispetto al modello SURF.

Confrontando ad esempio le immagini 5.26b, 5.26c, 5.26e e 5.26f con

la classificazione effettuata dal paradigma locale, si nota l’inadeguatezza dei

momenti, sbagliando, in alcuni casi, in maniera gravosa ad assegnare l’autore

ad una immagine.

Come e stato sperimentato anche sul database privato, illustrato al capi-

tolo precedente, i momenti risultano inferiori per la quasi totalita delle volte

rispetto al paradigma concorrente.

Si vuole dare infine una ultima descrizione nella sottosezione conclusioni,

in vengono messi nuovamente a confronto i due modelli con ulteriori verifiche

sul test finora effettuato.

Page 196: mastertesi

5.3 Testing 195

(a) Classificazione 000/the (b) Classificazione 150/the

(c) Classificazione 202/the (d) Classificazione 000/Government

(e) Classificazione 246/mantis (f) Classificazione 248/blocks

Figura 5.26: Grafici illustrativi delle classificazioni attraverso Hu Moments

sulle stesse sei immagini di test utilizzate per sperimentazione SURF

Conclusioni

Il benchmark IAM-HD e fra i piu interessanti analizzati, sia in termini

di informazioni che di cardinalita. La grandezza del dataset cosı elevata

permette di ricavare buone informazioni sulla qualita del framework.

Il paradigma SURF, come si e visto, funziona molto bene. Utilizzato come

classificatore riesce sempre a ottenere una esatta assegnazione dell’autore. E

Page 197: mastertesi

196 5. Test e Benchmark

il miglior risultato che si possa sperare, sopratutto se si osserva che le query

k-NN utilizzano al massimo un valore di k massimo a 50, su un dataset

che detiene circa 50.000 immagini. Controllando anche le curve Precision-

Recall i risultati sono altissimi: la curva di Recall, infatti, cresce in maniera

apprezzabile, cio e sintomo di una ottima efficacia del paradigma.

Si e deciso infine anche di mediare i risultati per riuscire ad avere una

panoramica generale del risultati attraverso le query eseguite. Il grafico in

figura (Fig. 5.27) mostra la media tra le sei curve di Precision-Recall e

F-Measure finora presentate.

Figura 5.27: Grafico Precision-Recall e F-Measure mediato sulle query

Il concorrente a Momenti non funziona altrettanto bene quanto il pa-

radigma SURF. Purtroppo i Momenti, nello specifico gli Hu-Moments, non

riescono a catturare in maniera efficace le features delle immagini in modo

tale da poterle restituire correttamente. Infatti, se si controllano i grafici del

classificatore, solo due immagini su sei riescono ad ottenere buone prestazioni:

le restanti vengono classificate per lo piu in maniera erronea.

Il seguente grafico a torta (Fig. 5.27) vuole invece rappresentare il risul-

tato mediato sulla classificazione, sia per quanto riguarda i Momenti sia per

il paradigma SURF.

Page 198: mastertesi

5.3 Testing 197

Figura 5.28: Grafico a torta rappresentante la media sulle classificazioni di

SURF e dei Momenti

Come si puo osservare, vi e una notevole disparita tra i due modelli, poiche

i Momenti riescono a risolvere correttamente la classificazione per poco piu

del 50% dei risultati, differentemente da SURF il quale per tutti i casi e per

tutte le query restituisce l’autore corretto.

Finora pero, si e discusso solo di efficacia, ovvero di “quanto bene funziona

il framework” escludendo completamente la parte di efficienza. Non e mai

stato trattato, fino ad adesso, il fattore tempo.

Per la costruzione della ground truth attraverso il paradigma SURF e sta-

to richiesto, in maniera approssimata, circa un mese. L’analisi di 50.000 im-

magini con questo paradigma ha avuto la necessita di una macchina dedicata

allo svolgimento del lavoro 24 ore su 24 per circa 24/25 giorni.

Se invece si confronta l’estrazione di features attraverso gli Hu-Moments,

il tempo richiesto al completamento dell’opera e di circa 4-5 giorni. Vi e un

miglioramento di circa l’80% sul fattore tempo.

Bisogna ricordare, pero, che la costruzione del dataset e della ground

truth e un procedimento che avviene off-line e solo una volta. Cio che invece

risulta importante, e il tempo di calcolo per la risoluzione della query.

Se confrontiamo anche su questo piano i due paradigmi, per entrambe

le metodologie sono stati richiesti, circa, 20/25 minuti per ogni immagine

Page 199: mastertesi

198 5. Test e Benchmark

di test, con un probabile miglioramento dal punto di vista dei Momenti. E

necessario ricordare, pero, che l’analisi risolutiva fatta da SURF utilizzava la

distanza di Canberra e il matching N1-Best. Quest’ultimo, nella fatti specie,

risulta essere piu computazionalmente piu complesso rispetto ai suoi fratelli,

ma d’altro canto, anche il migliore per quanto riguarda l’analisi delle features.

In conclusione il paradigma SURF si trova in netto vantaggio per quan-

to riguarda l’efficacia del framework, riuscendo a svolgere un ottimo lavoro

di classificatore, a discapito, pero, dell’efficienza, sopratutto nella costruzio-

ne della ground truth, che si voglia ricordare, essere un procedimento da

effettuare una sola volta, in un contesto off-line.

5.3.3 Arabic WIC

Il benchmark Arabic WIC, come gia discusso precedentemente, contiene

immagini di manoscrittura araba. Ogni immagine rappresenta un paragrafo

estratto da una pagina di un autore.

Il dataset fornisce testi provenienti da 50 autori diversi, e diversifica la

ground truth dall’insieme di testing.

La figura successiva (Fig. 5.29) mostra un esempio del dataset. Gli esperi-

Figura 5.29: Immagine 058 2.png - Autore 058

menti attuati sul dataset riguardano ancora il paradigma SURF e i Momenti.

Essendo il dataset diviso in due sottoinsiemi, nella creazione del database, le

immagini sono state mantenute suddivise, ovvero le figure fornite come base

di conoscenza sono state analizzate in un proprio spazio e successivamente,

una alla volta, vi e stata effettuata una query su immagini completamente

nuove prese dall’insieme di test. Le immagini di test, dunque, non hanno

contaminato la base di conoscenza.

Page 200: mastertesi

5.3 Testing 199

Nella costruzione della ground truth, per l’estrazione di features sono stati

impostati i seguenti parametri

• SURF - Estrazione a massimo 200 Salient Point

• Momenti - Estrazione a precision 15000

L’analisi ha previsto l’utilizzo di Hu Moments e Principal Moments: sono

stati ignorati i Geometric poiche si ritengono una forma alternativa degli Hu

Moments.

Costruito il database da interrogare, sono state scelte, in maniera casuale,

cinque immagini dall’insieme di test da utilizzare per gli esperimenti. Le

query hanno ancora una volta la forma di k-NN, con due diversi valori di k:

5 e 10.

Essendo la base di conoscenza comprensiva di sole 108 immagini, scritte

da 50 autori diversi, si riconosce l’immediata bassa cardinalita di ogni classe:

infatti per ogni autore si hanno a disposizione solo due o tre immagini da cui

attingere informazioni, ecco che aumentare troppo il valore di K rischierebbe,

come gia detto in precedenza, di inficiare il risultato.

Per l’analisi delle immagini di test sono stati utilizzati gli stessi parametri

per la costruzione della base di conoscenza. Inoltre, per la risoluzione attra-

verso il paradigma SURF, e stata scelta nuovamente la distanza di Canberra

e il matching N1-Best.

La tabella successiva (Tab. 5.6) mostra i risultati dei test, evidenziando

per ogni immagine la propria classe, assieme al risultato portato dai paradig-

mi utilizzati. Si vuole evidenziare una grave difficolta degli Hu Moments: se

si osservano i risultati, essi restituiscono sistematicamente solo due autori, in-

differentemente dall’immagine di query utilizzata. In un caso su cinque riesce

pero ad individuare l’autore corretto, ma si suppone solo perche l’immagine

di query appartiene allo stesso autore che gli Hu Moments sono riusciti solo

a rispondere.

Page 201: mastertesi

200 5. Test e Benchmark

K=5 K=10

Immagine Autore Hu Principal SURF Hu Principal SURF

AC.png 57 73 93 70 73 93 70

AW.png 55 73 65 55 90 65 55

BI.png 49 73 39 65 73 84 65

BU.png 73 73 93 73 73 93 73

CB.png 81 73 92 81 90 65 81

Tabella 5.6: Tabella illustrativa dei risultati sulle query nel benchmark

Arabic WIC. In grassetto vengono mostrati i risultati corretti

Controllando invece i Principal Moments, si osserva l’errata classificazione

in tutti i cinque i test, per entrambi i valori di K.

Il paradigma SURF, invece, riesce ad essere piu esaustivo, infatti tre casi

su cinque risultano essere corretti. E interessante notare come SURF riesca

sempre ad essere migliore del concorrete a Momenti, classificando in piu

occasioni l’immagine correttamente.

Si sottolinea, inoltre, anche la “scarsita” di informazioni fatte estrarre da

SURF: infatti per le immagini sono stati utilizzati al massimo 200 Salient

Point. La granularita dell’immagine, pero, ne avrebbe probabilmente richie-

sti una quantita superiore, poiche effettivamente esistono molti piu punti

di interesse in un paragrafo piuttosto che in una singola parola. Nonostan-

te questa deficit, SURF si comporta bene, affermando ancora una volta la

propria supremazia rispetto ai Momenti.

Si vuole evidenziare, nuovamente, la differenza per quanto riguarda il fattore

tempo dei due paradigmi: infatti i momenti, come anche menzionato nel

paragrafo precedente, risultano essere piu veloci ma a discapito dell’efficacia.

Il modello SURF richiede circa cinque minuti per effettuare l’analisi di una

immagini, cio implica che per la risoluzione della query bisogna aspettare

un tempo non minore dell’analisi della stessa. Dal fronte momenti, invece,

gli Hu Moments risultano essere assai efficienti, richiedendo circa uno o due

Page 202: mastertesi

5.3 Testing 201

secondi per l’analisi e risoluzione della query; se invece viene analizzata la

tempistica dei Principal Moments, i tempi salgono ai 10/15 secondi.

Conclusioni

Il test e servito a mettere nuovamente a confronto i due paradigmi SURF

e a Momenti. Il benchmark utilizzato fornisce una granularita piu ampia di

una singola parola, si tratta dunque di un problema piu difficile e proprio per

questo di grande interesse.

L’analisi effettuata mostra nuovamente l’inferiorita dei Momenti rispetto

a SURF: infatti, il paradigma locale riesce risponde correttamente al 60%

delle query. I momenti, d’altro canto, mostrano la propria difficolta nel

risolvere questo tipo di query su immagini a granularita superiore.

Si puo affermare con assoluta certezza la superiorita del modello SURF

rispetto ai Momenti, superiorita d’altronde inevitabile: infatti il primo mo-

dello e un modello locale, che analizza i singoli punti, ricavando informazioni

salienti ad un livello di “pixel” e contorni; invece, il secondo e un paradig-

ma globale, che analizza l’immagine per come e, non riuscendo a catturare,

probabilmente, le informazioni di interesse necessarie a poter classificare in

maniera corretta l’autore di una immagine.

5.3.4 4NSigComp2010

4NSigComp2010 e il primo benchmark, finora trattato, che fornisce un

dataset di sole firme. Come anticipato a inizio del capitolo esso viene sfruttato

per far test sul Calibro come Pattern, e successivamente con il paradigma

SURF per poter confrontare i due modelli.

Ricordiamo che l’insieme utilizzato contiene un unica firma, ma in diverse

versioni:

• Riferimento: sono le firme autentiche dell’autore e vengono utilizzate

per la creazione della groundtruth

• Genuine: firme utilizzate come test, scritte anche esse dal vero autore

Page 203: mastertesi

202 5. Test e Benchmark

• Dissimulate: sono firme scritte dallo stesso autore, ma a cui e stato

chiesto di imitare la propria firma come se non fosse sua

• Imitate: autori differenti dall’originale tentano di imitare la firma au-

tentica

Si sottolinea che il dataset fornisce solo un piccolo insieme di immagini di

riferimento, mentre tutte le restanti sono utilizzate come testing.

Nella creazione del database, sono state riunite tutte le tipologie di firme:

infatti il tentativo e ancora la classificazione, per far cio si rende necessa-

ria avere nello stesso insieme le diverse tipologie di firme. Successivamente

vengono pero solo utilizzate le immagini di testing per effettuare gli effettivi

esperimenti.

Ancora una volta si e resa necessaria la classificazione delle immagini, e

come si puo intuire, sono state create quattro classi differenti: groundtruth,

genuine, disguised e simulated, il cui significato e autorefernaziale. Si e prefe-

rito distinguere le classi groundtruth e genuine per uniformita al benchmark,

ma nella valutazione del risultato, le due classi devono essere considerate

come uguali e quindi una alternativa all’altra.

Per la creazione del database si sono usati i due approcci prima men-

zionati: Calibro come Pattern e SURF. Per il Calibro come Pattern si vuole

sottolineare la medesima lunghezza, con varianza ±1: infatti per alcune firme

appartenenti alla classe simulated, non e stato possibile trovare una corrispon-

denza biunivoca. Per quanto riguarda l’analisi effettuata attraverso SURF si

e deciso ancora una volta di estrarre un massimo di cento Salient Point per

ogni immagine: il numero si ritiene sufficiente al tipo di dato considerato la

cui granularita e di singola parola.

Le query di test hanno tipologia k-NN con k crescente da 1 a 9. La valutazione

si basa sul tipo di classificazione che ogni metodo risponde al variare di k. Il

tetto massimo di k e stato impostato a 9 per la disuniformita sulla cardinalita

del dataset: infatti le immagini simulated sono in gran maggioranza rispetto

Page 204: mastertesi

5.3 Testing 203

alle restanti, e se si fosse scelto un k eccessivamente grande, la cardinalita

maggiore di questa classe avrebbe falsificato il risultato.

Per SURF e stata utilizzata la distanza di Canberra con matching N1-

Best, mentre per il Calibro come Pattern si e utilizzato CalibroDistance con

variante Euclidea. Le successive immagini raffigurano il risultato dei test,

successivamente commentati.

Test Q09

Immagine: Q09.png (Fig. 5.30a)

Classe: simulated

(a) Immagine Q09.png

(b) Calibro come Pattern (c) SURF

Figura 5.30: Immagine Q09.png con relative classificazioni

Entrambe le tipologie funzionano perfettamente restituendo per tutti i

valori di k l’esatta classe, ovvero simulated. Il risultato e molto positivo, si

pensa, pero, anche dovuto purtroppo alla maggiore cardinalita della classe

rispetto alle restanti.

Page 205: mastertesi

204 5. Test e Benchmark

Test Q25

Immagine: Q25.png (Fig. 5.31a)

Classe: genuine

(a) Immagine Q09.png

(b) Calibro come Pattern (c) SURF

Figura 5.31: Immagine Q25.png con relative classificazioni

Si nota una netta superiorita della tipologia SURF: questo paradigma,

infatti, restituisce solo le classi genuine e groundtruth. Si ricordi che queste

due classi, anche se differenziate, vengono reputate uguali poiche entrambe

scritte dallo stesso autore. Se invece si osserva la classificazione col Calibro

come Pattern, si nota che esso classifichi in maniera erronea per piu del 50%,

descrivendole come imitate. Si noti, pero, che se si controlla il risultato

specifico, non mostrato, per i primi 4 valori di k, il classificatore restituisce

la classe esatta, iniziando a classificare erroneamente per valori di k ≥ 5.

Page 206: mastertesi

5.3 Testing 205

Test Q34

Immagine: Q34.png (Fig. 5.32a)

Classe: genuine

(a) Immagine Q34.png

(b) Calibro come Pattern (c) SURF

Figura 5.32: Immagine Q34.png con relative classificazioni

Il test e davvero interessante. Entrambi i paradigmi restituiscono risultati

ottimali, descrivendo sempre la classe corretta. Si nota la piccola particolarita

tra i due: SURF restituisce sia immagini della groundtruth che della classe

genuine, mentre il Calibro come Pattern descrive il test solo con questa ultima

classe.

Page 207: mastertesi

206 5. Test e Benchmark

Test Q38

Immagine: Q38.png (Fig. 5.33a)

Classe: disguised

(a) Immagine Q38.png

(b) Calibro come Pattern (c) SURF

Figura 5.33: Immagine Q38.png con relative classificazioni

La classe dell’immagine di test e assai particolare, ovvero disguised. La

firma, infatti, viene fatta dall’autore originale con la richiesta di imitarne i

tratti come se pero fosse un’altra persona.

SURF classifica l’immagine come tale per tutti i valori di k e si conferma

nuovamente un ottimo paradigma. Invece il Calibro come Pattern restituisce

tre diverse classi. Si noti che probabilmente tutte e tre sono relativamen-

te esatte, poiche sbaglia a classificare l’immagine sia verso la ground truth,

e quindi verso una firma autentica, sia verso simulated, ossia come se fos-

se una persona diversa a scrivere. E interessante comunque notare come

SURF riesca effettivamente a classificare l’immagine con la giusta classe di

appartenenza nonostante la sua particolarita.

Page 208: mastertesi

5.3 Testing 207

Test Q50

Immagine: Q50.png (Fig. 5.34a)

Classe: genuine

(a) Immagine Q50.png

(b) Calibro come Pattern (c) SURF

Figura 5.34: Immagine Q50.png con relative classificazioni

SURF risulta essere ancora vincente e ottimo paradigma. Classifica cor-

rettamente l’immagine per ogni valore di K. Invece il Calibro come Pattern

classifica correttamente l’immagine solo per il 20% dei k, sbagliando per quasi

la totalita delle volte.

Conclusioni

Il benchmark 4NSigComp2010 e stato utile per poter confrontare il nuo-

vo principio Calibro come Pattern con un ben piu noto paradigma, SURF.

Il Calibro come Pattern riesce, in parte, a trovare una buona efficacia nella

classificazione, infatti per tre test su cinque, si puo reputare come corret-

Page 209: mastertesi

208 5. Test e Benchmark

to. Purtroppo se confrontato con il concorrente SURF risulta perdente: il

modello locale riesce ancora una volta a dimostrare la propria supremazia

sulle restanti tipologie implementante in questo framework; inoltre, esso non

fallisce mai, in alcun test, ne per qualsiasi valore di k.

Si e deciso infine di mediare i risultati della classificazione sia del Calibro

come Pattern, sia del modello SURF, in una unica rappresentazione a torta,

per poter dare un risultato finale e univoco ai test. La seguente immagine

(Fig. 5.35) ne rappresenta l’esito.

Figura 5.35: Grafico di classificazione a confronto tra SURF e Calibro come

Pattern, mediato su tutti i test e su tutti i valori di k.

Se inoltre si mette a confronto l’efficienza, bisogna ora far fronte a un

problema completamente nuovo. Se vogliamo introdurre il fattore tempo,

bisogna ricordare che il Calibro come Pattern e un modello semi-automatico,

ovvero richiede l’analisi manuale dell’utente, mentre SURF risulta essere un

processo completamente automatizzato e per questo preferibile per l’uten-

te medio non disposto sempre a fare lo sforzo di volonta necessario alla

costruzione di un modello.

Bisogna ricordare, infine, che il Calibro come Pattern e un paradigma

non “riproducibile”, ovvero non e detto che allo stesso input corrisponda

lo stesso output, infatti l’introduzione di una valutazione umana implica

l’introduzione di errori e rumore tale per cui due utenti diversi, partendo

dalla stessa immagine e dallo stesso dataset, possono produrre due output e

Page 210: mastertesi

5.3 Testing 209

risultati diversi.

Si vuole concludere osservando, dunque, la superiorita sotto quasi tutti i

punti di vista del modello SURF.

5.3.5 Conclusione

L’intero capitolo ha avuto come obiettivo l’analisi del framework Wri-

tingSimilarity Search su una piu ampia visione messa a disposizione da vari

framework.

I test effettuati hanno avuto diversa natura, sia per la tipologia di dataset

forniti da ogni benchmark, sia per la natura stessa dei dati.

E stato possibile analizzare ogni modulo del framework, dai piu classici

SURF e a Momenti, ai piu nuovi, introdotti con il lavoro di questa tesi,

paleografici e grafologici.

Si puo subito osservare un vincitore assoluto fra tutti i paradigmi finora

citati, ovvero SURF. Il modello SURF, che si vuole ricordare essere un model-

lo locale, risulta essere superiore a tutti i suoi concorrenti, ottenendo sempre

i risultati migliori. Se si controlla effettivamente test per test, SURF fallisce

solo in poche occasioni, potendosi identificare come punto di riferimento per

l’analisi di testi manoscritti.

Il modello a Momenti, invece, in molti casi risulta essere inadeguato, o

quanto meno non sufficiente all’analisi di testo: questo paradigma solo in

poche occasioni riesce a fornire una risposta corretta. L’unico punto a favore

dello stesso e la propria efficienza, ovvero la velocita nella costruzione e analisi

di ogni immagine e, conseguentemente, nella risoluzione della query.

Il capitolo, inoltre, fornisce un punto di vista per i nuovi modelli grafolo-

gici e paleografici. Per quanto riguarda il disuguale metodico del Calibro, si

riescono a fornire dei risultati coerenti con la teoria: si vuole notare, infatti,

che e stato utilizzato in un caso particolare, ovvero sul benchmark “Montale

- Diario Postumo”. In questo dataset, infatti, alcune pagine analizzate non

hanno un autore certo, e si e utilizzato il modello come punto di appoggio per

poter trovare una effettiva paternita ai manoscritti. D’altro canto, e stato

Page 211: mastertesi

210 5. Test e Benchmark

utilizzato nella costruzione di una base di conoscenza a partire da testi la

cui paternita e confermata: in questi ultimi esso ha dato un buon risultato,

coerente a se stesso, attribuendo simil grado a tutti i manoscritti.

Uno stesso approccio e stato adottato per la paleografia: questo tipo

di analisi richiede una particolare granularita a livello di pagina, in cui e

necessario acquisire diversi tipologie di informazioni. L’analisi paleografica e

risultata essere in parte coerente a quanto affermato dal disuguale metodico

del Calibro, aumentando la probabilita di poter attribuire alle pagine del

“Diario Postumo” una effettiva paternita. E comunque un’analisi che richiede

un alto numero di informazioni, di tipologie diverse, e non sempre possibili

da ricavare.

Infine e stato valutato e analizzato una idea nuova nel settore, finora mai

descritta, e introdotta per la prima volta con questa tesi, ovvero il Calibro

come Pattern. Esso, si vuol ricordare, si basa su una ricerca di un pattern

all’interno di un testo, nella differenza di altezze del medio letterale. I test

hanno restituito buoni e cattivi risultati. Si e ritrovato ad essere un buon,

ma non ottimo, classificatore a livello di firme, riuscendo spesso e volentieri a

distinguere i diversi casi e i diversi autori messi a disposizione del benchmark

di riferimento. E un paradigma nuovo, sul quale e possibile molta altra

sperimentazione e successivi studi, e proprio per questo non esente da errori.

Si vuole concludere il capitolo osservando nuovamente cio che finora e stato

detto: i modelli grafologici e paleografici sono modelli semi-automatici, ov-

vero richiedono la presenza di intervento umano per la propria costruzione.

Tutto cio comporta l’inevitabile presenza di errore e rumore, impossibile da

eliminare. La loro controparte, ovvero i modelli SURF e a Momenti, invece,

sono processi completamente automatici e cio comporta, almeno, la proprieta

di riproducibilita non applicabile invece a algoritmi semi-automatici.

Se si vuole, infine, confrontare anche il fattore tempo, ancora una volta la

presenza di intervento umano nel modello paleografico e grafologico comporta

uno svantaggio considerevole. L’analisi attraverso questo modello richiede

Page 212: mastertesi

5.3 Testing 211

uno sforzo di volonta che non tutti gli utenti sono disposti a fare. Cio rende

un’analisi sul fattore tempo impossibile per questi paradigmi, poiche non vi

si puo porre un momento di inizio e uno di fine in maniera assoluta.

Confrontando invece i modelli automatici, ovvero SURF e a Momenti,

questi ultimi risultano vincenti: lo sforzo computazionale richiesto al cal-

colatore e inferiore per questo modello, conseguentemente richiedono meno

tempo per poter usufruire e disporre del risultato.

Se si vuole decretare quale sia il modello migliore, e possibile assegnare il

primo posto al paradigma SURF, osservato, oltretutto, solo sotto una tipo-

logia di risoluzione, ovvero con distanza di Canberra e Matching N1-Best.

I restanti paradigmi trovano ugualmente un loro posto, ognuno per alcune

peculiarita che li contraddistingue, ma, se confrontati comunque al modello

locale SURF, risultano sempre e comunque inferiori.

Page 213: mastertesi

212 5. Test e Benchmark

Page 214: mastertesi

Conclusioni

Negli ultimi anni, la diffusione sempre piu alta di immagini attraverso

la rete ha reso necessario lo sviluppo di tecniche e paradigmi capaci di ana-

lizzare ed estrarre contenuti dalle stesse. Fra l’ampia scelta di analisi e di

tipologie di immagini, e possibile ricavare un modello particolare per i mano-

scritti, ovvero per le immagini contenenti la grafia di singoli utenti ottenuta

attraverso processi di scansione digitale o scrittura elettronica.

Il trattato presentato descrive il framework WritingSimilarity Search,

ecosistema nato e sviluppato per sopperire a tali necessita.

Il framework, come piu volte citato, e una estensione del piu generale mo-

dello WindSurf, basato sull’analisi di immagini su paradigma Region-Based.

La tesi ha avuto lo scopo di esplorare ed espandere ulteriormente WSS,

applicando nuove tipologie di analisi e migliorandone, in parte, quelle esi-

stenti.

Lo scopo finale e poter rispondere alla domanda del falso d’autore, o, in

maniera piu generale, di poter attribuire la paternita di uno scritto ad uno

specifico utente.

Lo sviluppo, nato e cresciuto con gli anni, ha raggiunto al livello attuale

un’ampia scelta di modelli capaci di rispondere al problema in questione.

Un primo obiettivo e stata l’analisi del lavoro finora svolto da colleghi e

docenti nell’ambito del framework stesso, ristrutturando e migliorando, dove

possibile, determinate classi e/o metodi per rendere l’ecosistema piu coerente.

Lo scopo principale, pero, e stata l’aggiunta di due nuovi modelli specifici

dell’ambito trattato, ovvero la paleografia e la grafologia. WritingSimilarity

213

Page 215: mastertesi

214 5. Test e Benchmark

Search, infatti, fino alla precedente versione, prevedeva l’analisi e il confronto

di features piu generiche, non dettagliate e circoscritte all’ambiente di lavoro,

come SIFT/SURF e il paradigma a Momenti. L’estensione a modelli piu

d’interesse si e resa necessaria e di enorme rilevanza, portando il framework

all’attuale versione.

Il primo modello trattato, ovvero di paleografia, e nato e si e sviluppato

intorno a un plug-in gia presente su WSS, denominato Writing Compara-

tor, sostituito da una versione modificata, migliorata ed estesa dello stesso.

L’ambito paleografico nasce per l’analisi generale di testi manoscritti. La tesi

ha voluto fondere, dunque, due discipline diverse quali paleografia e informa-

tica, estrapolando da entrambe concetti e idee per creare un modello semi-

automatico. Lo sviluppo dell’ambito paleografico gira intorno a due principali

plug-in: ImageJ e Graphoskop, ormai parti integranti del framework esteso.

Si e voluta mantenere una coerenza con il lavoro svolto finora, integrando

quindi gli studi paleografici all’ambiente Region-Based quale Windsurf, e

quindi WSS, tratta.

All’atto di analisi, dunque, viene permesso all’utente di estrarre manual-

mente le diverse tipologie di features trattate nella paleografia, come ad esem-

pio l’interlinea o l’angolo di scrittura. Queste sono state dunque trasformate

in tipologie di regioni, delle quali e possibile vedere ogni valore estratto come

una singola regione della propria tipologia.

Per poter attribuire un autore ad ogni immagine viene utilizzata una

particolare tipologia di query, ovvero la k-NN. Richiamando quanto descritto

in capitoli precedenti, essa restituisce le k immagini “piu vicine”, e dunque

piu simili, all’immagine di test.

Lo sviluppo paleografico ha dovuto tenere conto della granularita su cui

viene svolta l’analisi, poiche, infatti, e necessaria una intera pagina di testo

per poter estrarre features sufficienti al confronto.

L’estensione ha successivamente intapreso una strada alternativa alla pa-

leografica, ovvero il modello grafologico. Lo studio ha portato ad introdurre

una caratteristica essenziale per la disciplina, ovvero il Calibro.

Page 216: mastertesi

5.3 Testing 215

L’idea del Calibro nasce dagli studi di Girolamo Moretti, ritenuto fonda-

tore della grafologia italiana. Moretti propone l’idea del grado del disuguale

del Calibro, ovvero una sorta di classificazione di ogni scrittura. Il Calibro

si basa sull’idea della variazione ripetuta dell’altezza del medio letterale, la

quale determina un tipo di scrittura distinguendola da un’altra.

La metodologia del disuguale metodico e stata dunque trasportata, in un

livello semi-automatico, all’interno del framework, permettendo una mappa-

tura il piu fedele possibile a quanto affermato dal grafologo.

Lo sviluppo dell’idea del Calibro, basata sulla ripetizione di un motivo

all’interno di testo, ha portato all’ideazione, creazione e sviluppo di un para-

digma nuovo, che si e voluto chiamare Calibro come Pattern. Il Calibro come

Pattern unisce due materie completamente differenti come la grafologia e il

Pattern-matching. L’idea e di utilizzare paradigmi e concetti noti all’inter-

no dell’ambito informatico sulla ricerca di Pattern a una feature grafologica

quale l’altezza del medio letterale.

Lo studio e l’analisi si e basato su idee empiriche, utilizzando il paradigma

direttamente in fase di sperimentazione e trovando un riscontro, positivo o

negativo che sia, dalla valutazione dei test.

La tesi ha infine dato un ampio spazio alla sperimentazione delle varie

metodologie messe a disposizione del framework.

Gli esiti, come descritto in capitoli precedenti, sono stati sia positivi che

negativi. Il modello predominante a livello qualitativo risulta essere SURF,

riuscendo quasi sempre a superare i concorrenti e ottenendo, con un alta

percentuale, risultati positivi. L’alto livello di test eseguiti puo dare una certa

sicurezza nell’uso o meno di determinati algoritmi su determinati tipologie

di immagini.

In generale, cio che si puo affermare, e che il modello SURF risulta essere

il piu preciso nel risultato delle query proposte.

Page 217: mastertesi

216 5. Test e Benchmark

Lo sviluppo e la prosecuzione dell’estensione di WritingSimilarity Search

contiene ancora punti aperti. Primo fra tutti, bisognerebbe poter dar una

base piu teorica al Calibro come Pattern, sfruttando nuove tipologie di di-

stanze per l’analisi non ancora introdotte in questa tesi. Un passo successivo

potrebbe essere l’integrazione di un filtro Refine, ovvero l’utilizzo di un deter-

minato algoritmo che permetta l’esclusione a priori di determinati oggetti per

poter effettuare solo successivamente sui rimanenti un’analisi approfondita.

Vi e ancora la possibilita di rendere il processo di estrazione di fea-

tures paleografiche e grafologiche, finora semi-automatico, completamente

autonomo.

Per quanto riguarda la sperimentazione, non e stata redatto alcun test su

dataset disomogenei, ovvero su un insieme di oggetti a granularita diversa.

I test risulterebbero di grande interesse, poiche all’atto di analisi puo non

essere sempre presente un campione del tutto omogeneo.

Il framework WritingSimilarity Search si propone come ottimo entry-point

in un’analisi via via sempre di piu interesse, affermandosi un’ottimo concor-

rente all’interno di un mercato in continuo sviluppo, su un campo di cui non

vi e ancora alcuno standard applicativo.

Page 218: mastertesi

Bibliografia/Linkografia

• Windsurf Home Page. http://www-db.deis.unibo.it/Windsurf/

• Bartolini, I., Patella, M., & Stromei, G. (2011). The Windsurf Library

for the Efficient Retrieval of Multimedia Hierarchical Data. Seville,

Spain. Pag. 139–148

• Aimi, N. (2014). Tecniche di classificazione automatica per lo studio

del falso d’autore basate su similarity search.

• Aimi, L. (2014). Studio di tecniche di analisi di forme aperte applicate

al riconoscimento della scrittura manoscritta.

• Gardini, F. (2013). Studio del falso d’autore di testi manoscritti basato

su tecniche di image analysis.

• Latecki, L., Megalooikonomou, V., Wang, Q., & Yu, D. An elastic

partial shape matching technique

• Moretti, G. (1940). Trattato scientifico di perizie grafiche su base

grafologica. EMP.

• Palaferri, N. (1999). L’indagine grafologica e il metodo morettiano (2nd

ed.). EMP.

• E, I., M, L., & H, B. (n.d.). IAMonDo-database: An online handwritten

document database with non-uniforms content.

http://doi.acm.org/101145/1815330.1815343

217

Page 219: mastertesi

218 5. Test e Benchmark

• Imran Malik, M. Signature Verification - ICFHR 2010 Signature Veri-

fication Competition (4NSigComp2010) - TC-11.

http://tc11.cvc.uab.es/datasets/4NSigComp2010 1/task 1 1

• Al-Ma’adeed, S. First International Arabic Writer Identification Con-

test. http://wic2011.qu.edu.qa/

• Mazzolini, G. Grafologia, argomenti grafologici e applicazioni della scien-

za. http://www.grafoperitale.it/