mastertesi
TRANSCRIPT
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
A me stesso. . .
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
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
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
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
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
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.
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
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.
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-
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.
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.
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.
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.
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.
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
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.
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.
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
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
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.
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.
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.
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
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.
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
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)
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)
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.
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
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
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.
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
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.
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.
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
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
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
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
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
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).
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.
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.
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.
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.
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
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.
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
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-
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.
52 2. Paleografia: ambito di lavoro
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
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
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
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.
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.
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.
3.2 Interfaccia 59
l’immagine era gia presente o meno nel database, e in caso affermativo di
poterla aggiornare.
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.
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.
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
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
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
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
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
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.
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.
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.
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.
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:
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.
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.
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.
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
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.
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:
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.
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.
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.
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:
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.
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
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)
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)
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.
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.
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.
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)
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.
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.
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-
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.
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
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-
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)
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
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.
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.
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
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
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
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
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:
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
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.
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.
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
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.
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!]
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
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
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
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
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.
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
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.
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.
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.
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.
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,
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
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.
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
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
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”.
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
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.
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.
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
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
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.
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.
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
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.
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
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,
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
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.
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
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
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.
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
144 4. Testing - Preparazione
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
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)
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)
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.
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.
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)
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.
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.
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.
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)
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
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.
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:
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.
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
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.
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
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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.
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.
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.
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
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
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.
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
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
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
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.
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
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
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
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.
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
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.
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
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.
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.
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
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
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
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.
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.
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.
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.
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-
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
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
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
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.
212 5. Test e Benchmark
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
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.
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.
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.
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
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/