storia della ricerca e degli sviluppi nel campo del riconoscimento

Transcript

storia della ricerca e degli sviluppi nel campo del riconoscimento
Capitolo I
STORIA DELLA RICERCA E DEGLI SVILUPPI NEL CAMPO DEL
RICONOSCIMENTO OTTICO DEI CARATTERI (OCR)
1.1 Descrizione Generale
La storia della ricerca nel campo dell’OCR affonda le sue radici molto indietro nel
tempo, precisamente agli inizi degli anni trenta, ben prima, quindi, dell’avvento dei
primi computer. Si è sempre stati particolarmente sensibili al problema del
riconoscimento automatico della scrittura al fine di realizzare una più semplice
interazione tra l’uomo e la macchina. Specialmente in questi ultimi anni questo
problema ha trovato interessanti sviluppi e soluzioni sempre più efficienti grazie ad un
fortissimo interesse economico ed ad una capacità sempre maggiore nell’elaborare i dati
dei moderni calcolatori. In particolare alcuni paesi, come ad esempio il Giappone e i
paesi asiatici in generale, stanno investendo grandi energie in termini di ricerca e di
risorse finanziarie segnando il passo dello stato dell’arte dell’OCR. E’ facile intuire
l’interesse di questi paesi per tale campo della ricerca. Si tenta, infatti, di realizzare dei
dispositivi in grado di interpretare gli ideogrammi caratteristici di quelle culture per
permettere una maggiore comodità nell’interazione con le macchine. Non esistendo al
momento dei dispositivi di input, per esempio le tastiere, che possano rappresentare
migliaia di ideogrammi, si cerca di acquisire tali informazioni direttamente dallo scritto
tramite una scansione digitalizzata. Tuttavia anche nell’occidente si sta dando grande
importanza alla ricerca sul riconoscimento ottico della scrittura. Ci sono molte
applicazioni che beneficerebbero sicuramente di una lettura automatica, basti pensare,
per esempio, alla interpretazione automatica di modelli prestampati o al riconoscimento
degli indirizzi e dei codici di avviamenti postale sulle buste.
In questa sintesi della storia dell’evoluzione tecnica degli OCR si metteranno quindi in
luce i maggiori filoni di sviluppo e si presenteranno svariate tecniche, a partire dagli
albori della ricerca per giungere alle più evolute e moderne.
Gli approcci al problema sono sostanzialmente di due tipi: l’approccio basato sul
pattern matching ovvero sul riscontro del modello e quello basato sull’analisi
strutturale. Spesso queste due tecniche vengono usate in combinazione riuscendo ad
ottenere dei risultati notevoli in termini di riconoscimento e di velocità.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-2
Come primo passo si tratterà della storia e dei primi tentativi nel riconoscimento ottico
dei caratteri per poi presentare in dettaglio le caratteristiche essenziali dei due approcci
al problema.
1.2 Gli inizi
I primi brevetti ottenuti sull’OCR risalgono agli anni trenta e sono stati registrati in
Germania, ad opera di Tausheck (1929), e negli Stai Uniti per merito di Hendel (1933).
L’idea di fondo è la stessa ed è molto semplice. Entrambi fecero uso di una semplice
macchina basandosi su un approccio di sovrapposizione di maschere (template / mask
matching). Il dispositivo usato, naturalmente, rispecchiava quelle che erano le
tecnologie del tempo, e si basava su un approccio opto-meccanico. Una luce, che
passava attraverso una maschera meccanica veniva catturata da un sensore e quindi
acquisita. Il riconoscimento di un dato carattere era legato alla maggiore o minore
corrispondenza tra il campione ed il prototipo basandosi sulla sovrapposizione fisica dei
due elementi. Infatti, se la luce non riusciva a raggiungere il sensore si aveva una
perfetta sovrapposizione e quindi un riconoscimento del carattere. Riportando il
discorso sul piano prettamente matematico, questo approccio si basa sull’assioma
euclideo della sovrapposizione delle forme. Tale metodologia, sicuramente valida, ha
però una grave lacuna in fatto di generalizzazione. A piccole variazioni del simbolo
campione, rispetto al prototipo, può corrispondere un mancato riconoscimento del
carattere. Quest’osservazione vale anche nel caso in cui il carattere campione sia
leggermente più piccolo o più grande del prototipo oppure che esso sia leggermente
ruotato rispetto al prototipo. Queste semplici alterazioni conducono ad errori nel
riconoscimento. Considerazioni di questo tipo mettono in evidenza che un approccio
basato unicamente sulla sovrapposizione non porta a buoni risultati in termini di
riconoscimento, anche se un simile metodo, ha il grande vantaggio di risultare semplice,
intuitivo e facilmente applicabile sia a livello algoritmico che a livello meccanico. Fin
dagli inizi, dunque, si avvertì fortemente il problema di trovare un metodo di confronto
tra il campione ed il prototipo che fosse invariante1 rispetto alla scalatura, e alla
rotazione. Si tornerà più volte su quest’argomento in seguito. Un’altra importante
1
Nelle scienze esatte, invariante, è un termine generale per indicare una quantità, una legge, o comunque
un’espressione, che non viene modificata dall’azione di una opportuna classe di trasformazioni.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-3
considerazione va fatta sul termine di confronto tra campione e prototipo.
Nell’approccio basato sulla sovrapposizione vengono confrontati i tratti caratteristici e
la forma di due simboli, questo però non è che uno dei modi con cui procedere. Si
potrebbero, infatti, confrontare delle altre caratteristiche (features) che possono essere
anche valori numerici estratti da opportune “misurazioni” effettuate sui simboli. Per
esempio si possono calcolare i momenti di inerzia dei simboli rispetto agli assi
cartesiani ortogonali o la massa o la posizione del baricentro e così via. Simboli simili
avranno “misurazioni” simili o comunque compresi in un certo intervallo di prossimità.
Se le caratteristiche da quantificare saranno n si potrà rappresentare ogni simbolo come
un punto in un iperspazio n-dimensionale.
Negli ultimi anni si sono fatti notevoli progressi nello stato dell’arte degli OCR ma
l’idea base delle macchine di Tausheck e Hendel continua ad essere valida. Questa
intuizione basata sul principio della sovrapposizione di forme ha dato vita a tutta una
serie di metodi che vanno sotto il nome di template matching method che insieme ai
metodi strutturali costituiscono i due filoni di sviluppo dei software di riconoscimento
calligrafico.
1.3 Template Matching Methods le prime applicazioni
Si analizzeranno in questo capitolo alcune delle tecniche di riconoscimento che si
basano sul modello a Template Matching.
Fa parte di questa classe di metodi quello proposto da Kelner e Gluaberman nel 1956.
La loro idea, molto semplice e basata sulle proprietà delle proiezioni, è particolarmente
importante perché si tratta del primo tentativo di ricercare dei descrittori di forme che
semplificassero il problema dell’identificazione dei simboli, portandolo da un processo
di analisi bidimensionale, ad un confronto monodimensionale di valori numerici. Un
determinato carattere veniva acquisito dall’alto verso il basso tramite un apposito
sensore lineare in grado di distinguere, in base alla riflessione della luce, le aree nere da
quelle bianche. Il sensore lineare, scorrendo sul carattere, permetteva di quantificare un
certo numero di punti scuri e di punti chiari lungo una stretta finestra di analisi. I punti
neri, sommati, formano una proiezione dei tratti costituenti il carattere da esaminare
sull’asse delle x. Il riconoscimento di un carattere veniva effettuato tramite il confronto
delle proiezioni sull’asse x di un simbolo campione rispetto ad un certo prototipo. Per
rendere il processo invariante rispetto alla scalatura, le proiezioni venivano
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
opportunamente normalizzate in base al rettangolo d’ingombro del carattere.
I-4
Uno
schema di funzionamento della macchina di Kelner e Gluaberman è rappresentato in
Figura 1.1.
Figura 1.1 : Macchina di Kelner e Glauberman
A causa della scarsa capacità della macchina nel riconoscere i caratteri, essa non fu mai
commercializzata. In effetti una metodologia di questo tipo presenta numerosi punti
critici. Primo fra tutti il fatto che caratteri anche molto diversi possono avere delle
proiezioni sugli assi molto simili . Inoltre questo metodo non è in grado di classificare
correttamente caratteri ruotati, cioè non è invariante rispetto alla rotazione. Come si
vede dalla Figura 1.2 e 1.3, a rotazioni del medesimo carattere corrispondono
istogrammi di proiezione molto diversi per cui è impossibile identificare il carattere a
partire solo da questi. Nonostante, dunque, gli scarsi risultati ottenibili dal confronto
degli istogrammi di proiezione, questa tecnica viene ancora usata in alcuni contesti
come per esempio per determinare i rettangoli di ingombro di caratteri all’interno di una
data area.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-5
Figure 1.2, 1.3: Istogrammi di proiezione del medesimo carattere ruotato
Questo è ottenibile facilmente fissando una soglia sulle proiezioni e analizzando gli
istogrammi verticale ed orizzontale per verificare in quali punti questi scendono sotto il
livello di soglia.
I primi esperimenti facevano uso della tipica tecnologia del tempo in cui le macchine
calcolatrici avevano a disposizione scarse risorse computazionali. Allo stesso tempo, la
tecnologia di digitalizzazione della immagine non forniva mezzi sofisticati come i
moderni scanner. Nonostante la limitatezza dei mezzi, le prime macchine per il
riconoscimento dei caratteri si basavano su tecniche che ancora oggi hanno la loro
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-6
importanza. Quasi sempre l’analisi degli istogrammi di proiezione è il primo passo per
l’identificazione del carattere. In linguaggio tecnico questo stadio del processo di
riconoscimento rientra nella fase di preprocessing.
Con l’avvento di macchine calcolatrici sempre più efficienti e potenti, ben presto si
incominciarono ad usare algoritmi più complessi dal punto di vista computazionale
spostando il baricentro della ricerca sulla parte software piuttosto che su quella più
prettamente elettronica.
Nel 1957 la Solatron Electonics Group annunciò la realizzazione di un OCR basato su
una nuova tecnica relativa al modello del template matching logico. Questo metodo,
conosciuto come il peephole method, è particolarmente semplice, ma richiede una fase
di preprocessing che effettui una binarizzazione. L’obbiettivo è quello di separare
l’elemento grafico da analizzare, dallo sfondo della immagine acquisita. Tale
operazione è particolarmente delicata, specie se l’immagine acquisita presenta del
disturbo o numerose sfumature, nel qual caso è difficile poter separare nettamente
l’oggetto di interesse dal background. Si tratteranno in seguito, nel Capitolo II, le varie
tecniche di binarizzazione e determinazione delle opportune soglie di discriminazione
tra foreground e background.
Supponendo che l’immagine di interesse sia già stata opportunamente binarizzata e che
i pixel costituenti il carattere siano marcati a 0 mentre quelli costituenti il background
siano marcati col valore 1, associando al valore 0 il colore nero e al valore 1 il colore
bianco, in modo da avere un carattere nero su sfondo bianco, il carattere da analizzare
sarà rappresentabile tramite una matrice n x m composta da elementi aventi valori 0 o 1.
Prima di iniziare il processo di riconoscimento bisognerà verificare che certe condizioni
siano soddisfatte, prima fra tutte che il carattere memorizzato nel piano di memoria n×m
(matrice) sia allineato secondo delle precise regole, per esempio, che esso sia
posizionato in alto a sinistra. Il passo successivo sarà quello di prendere in esame il
valore di alcuni punti opportuni (areole di controllo - peepholes) all’interno della
matrice secondo un modello precedentemente definito in modo da poter discriminare un
carattere dall’altro. Nell’esempio in Figura 1.4 vengono presi in esame due caratteri, la
A e la C.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-7
Figura 1.4: Tecnica ad “Areole di controllo”
Le aree quadrettate rappresentano le divisioni del piano di memoria in opportuni gruppi
di pixel. I quadrati colorati rappresentano le areole di controllo per il riconoscimento del
carattere. Si assume che un carattere occupa una certa areola di controllo se in questa
sono presenti uno o più pixel neri. Nella Figura 1.4le areole di controllo occupate sono
evidenziate in giallo e come si può osservare i due caratteri diversi occupano diverse
areole. Il confronto delle areole occupate fa da discriminante per l’identificazione del
carattere.
Questo semplice metodo, di facile implementazione e fortemente intuitivo, presenta
alcune caratteristiche che lo rendono poco flessibile: innanzi tutto, per ottenere una
buona percentuale di riconoscimento, è necessario scegliere in modo oculato le areole di
controllo in modo da avere una disposizione tale da garantire una facile discriminazione
fra caratteri simili. Questa operazione può non essere semplice. Inoltre questo metodo
non garantisce l’invarianza per il fattore di scala, la rotazione, e la traslazione. In pratica
i caratteri, per essere correttamente riconosciuti, devono essere sempre uguali a se stessi
e quindi avere le stesse dimensioni e non essere ruotati. Bisogna inoltre garantire un
perfetto allineamento, in alto a sinistra nel nostro esempio, sul quadro di memoria. Le
limitazioni intrinseche a questo metodo di riconoscimento, ne hanno limitato l’uso per
cui le applicazioni commerciali sono mirate al riconoscimento di caratteri numerici
prodotti da registratori di cassa. Il dato più interessante delle macchine basate sul
peepholes è sostanzialmente la grande velocità di riconoscimento, si parla dell’ordine di
120 caratteri al secondo, un indice sicuramente ragguardevole.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-8
Come sottolineato in precedenza, i metodi di pattern matching fin qui analizzati, sono
risultati alquanto inadatti per un riconoscimento efficace. Bastano, infatti, minime
variazioni nella disposizione spaziale del carattere in esame per determinare il mancato
riconoscimento. Inseguito s’è cercato di utilizzare dei descrittori che fossero invarianti
per rotazione, scalamento e traslazione, al fine di garantire una maggiore flessibilità. In
particolare due metodi sono rivelanti: l’autocorrelazione e il metodo basato sui momenti
d’inerzia. In particolare il secondo approccio s’è rivelato particolarmente interessante,
almeno dal punto di vista concettuale, anche se nelle applicazioni spesso porta ad un
grande
costo in termini di computazione. Di seguito si accenna ai metodi di
autocorrelazione, mentre si rimanda al paragrafo 1.5.2 per una trattazione più
approfondita del metodo dei momenti.
1.3.1 Autocorrelazione.
La formulazione del coefficiente di autocorrelazione è facilmente ricavabile ed è noto
da ben prima dell’avvento degli elaboratori elettronici, tuttavia lo sviluppo di questi
metodi ha ricevuto un notevole impulso solo quando fu disponibile un hardware
all’altezza della situazione e quindi in grado di svolgere un gran numero di operazioni
in poco tempo e con grande precisione. Risale al 1958 la commercializzazione, da parte
di IBM, dell’IBM7090 una macchina particolarmente potente ed affidabile. Risalgono a
quegli anni i primi studi e le prime applicazioni sull’autocorrelazione sviluppati
principalmente in ambiente IBM da Horowitz, Shelton e Sato (1961).
Tale tecnica pur essendo abbastanza semplice non fornisce però dei risultati
apprezzabili, per esempio nel lavoro di Sato la differenza che intercorre tra la
descrizione della lettera R e B è solo del 4% mentre le differenze tra altri caratteri come
K ed R oppure A e V sono minori del 1%.
L’idea base dell’autocorrelzione è legata al concetto di distanza euclidea. Questo
metodo cerca di valutare la distanza che intercorre tra due immagini o tra i descrittori di
due immagini che si vogliono confrontare. Se la distanza è nulla, o comunque compresa
in un range di valori prossimi allo zero, si può concludere che le immagini in questione
si riferiscono allo stesso oggetto. Si noti che questo approccio può essere applicato sia
alle immagini nella loro totalità sia a specifiche parti di esse, sia a features estratte dalle
immagini. E’ importante notare, tuttavia, che il medesimo oggetto, in questo caso un
carattere, acquisito in due differenti momenti, può presentare delle differenze notevoli
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-9
legate al meccanismo di acquisizione che nel tempo non si comporta mai nello stesso
modo. A maggior ragione tali differenze possono essere anche più significative se lo
stesso carattere viene acquisito con due dispositivi diversi. Questo discorso è ancor più
valido per tutti quei dispositivi di acquisizione che dispongono di una regolazione del
guadagno o della intensità luminosa come ad esempio alcuni tipi di telecamere. E’
auspicabile, per un corretto funzionamento del metodo, che le differenti acquisizioni
dello stesso oggetto siano immuni da tali alterazioni legate ai dispositivi. Per questo
motivo viene introdotto il concetto di normalizzazione. Sia il vettore x{x1,x2,…,xn}
l’insieme delle caratteristiche dell’immagine 1 e il vettore y{y1,y2,…,yn} l’insieme
relativo all’ immagine 2.
Per misurare la similarità si può usare la distanza euclidea tra i vettori espressa come
d 22 ( x, y ) =
n
i =1
( xi − y i ) 2 .
Si noti che è opportuno normalizzare tali vettori facendo in modo che la media dei
valori µ valga 0 e la varianza σ valga 1 ed ottenendo i vettori x’ ed y’.
La
distanza
tra
i
due
vettori
normalizzati
può
essere
espressa
come:
d 22 ( x ' , y ' ) = 2n(1 − ρ xy ) , dove ρxy è il coefficiente di correlazione dei dati originali. E’
xi →∞ , yi = xi
importante notare che ρ xy 
 →1 .
Oltre alla distanza euclidea ci sono altri metodi che si possono usare per misurare la
somiglianza ed in letteratura, la caratteristica di questi metodi di essere immuni a
disturbi (per esempio di tipo gaussiano), viene chiamata robustezza. Accenniamo ad
alcune misure di similarità spesso utilizzate perché meno sensibili ai disturbi
menzionati.
xi' − yi'
g( x ' , y ' ) = 1 −
i
xi' + y i'
i
1
l( x , y ) =
n
'
'
i
æ
xi' − y i' ö
ç
çç1 − x ' + y '
i
i
è
Il metodo di autocorrelazione è molto flessibile in quanto si possono variare diversi
fattori come il metodo di normalizzazione 0 la misura di similarità. Un uso tipico è
quello di utilizzare come descrittori dell’immagine i coefficienti ottenuti tramite la
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-10
trasformazione di dominio, un esempio in tal senso sono i descrittori ricavati dalla
trasformata di Fourier. L’autocorrelazione è un metodo molto usato non solo nel campo
degli OCR, ma in svariati altri campi del riconoscimento. Per esempio nel campo del
riconoscimento dei caratteri somatici del viso si prendono in considerazione particolari
caratteristiche: gli occhi, il naso e la bocca e vengono confrontati tramite
autocorrelazione
con
gli
elementi
contenuti
in
un
database
di
immagini
precedentemente immagazzinate.
Si veda, a titolo di esempio, una semplice applicazione di tecnica di riconoscimento
basata sulla autocorrelazione o Cross Correlation sviluppata nell’ambito di questo
lavoro. Nel caso specifico si è scelto di utilizzare come formula per calcolare il valore
del coefficiente di correlazione tramite la formula più semplice ed intuitiva che è la
distanza euclidea d 22 ( x , y ) =
n
i =1
( xi − yi ) 2 . Si è proceduto a tale valutazione su una
immagine opportunamente normalizzata ed i risultati ottenuti si possono osservare nella
figura che segue.
Figura 1.5
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-11
Per identificare la zona di interesse, ovvero l’occhio della bambina, si sono valutate di
volta in volta delle regioni grandi quanto il pattern di ricerca all’interno della immagine
fino a trovarne una in cui valesse la reazione ρ = 1.
Significativo è pure l’esempio che segue, in cui vengono localizzate le occorrenze di un
pattern ‘8’ all’interno di una immagine contenente alcuni numeri.
a)
b)
c)
Figura 1.6: a) immagine di partenza b) pattern di ricerca c) localizzazione dei pattern
Quest’ultima operazione di localizzazione di un pattern di 20x29 all’interno di una
immagine di 200x200 pixel è stata portata a termine in 3636 millisecondi utilizzando un
calcolatore basato sulla architettura Intel PentiumIII a 600Mhz. L’impiego di tempo
necessario per effettuare tale ricerca non è sicuramente trascurabile, considerando anche
il fatto che si lavori con immagini relativamente piccole. Un sistema per ottimizzare i
tempi di esecuzione consiste nel raffinamento successivo della ricerca. Basta infatti
partire da una immagine ed un pattern di ricerca sottocampionati ed in seguito
concentrare la ricerca del pattern in quelle zone ove il coefficiente ρ è prossimo a 1
aumentando di volta in volta la risoluzione.
E’ importante sottolineare ancora che tale metodo di identificazione non è invariante né
per rotazione né per scalamento. Se infatti l’oggetto da ricercare potesse essere ruotato o
scalato nella immagine di partenza, allora bisognerebbe costruirsi un insieme di pattern
opportunamente ruotati e scalati e quindi procedere alla loro individuazione.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-12
1.4 Approccio ad Analisi strutturale
Il modello a Template Matching si rivela particolarmente indicato per il riconoscimento
dei caratteri tipografici, ma non risolve il problema del riconoscimento di altri tipi di
caratteri come quelli manoscritti per i quali occorrono nuovi tipi di strategie. Una
caratteristica di tali caratteri è senza dubbio la grande varietà di forme che essi possono
assumere e ciò rende molto difficile la costruzione di modelli standard predefiniti che
ne consentano un’agevole classificazione.
In questo contesto si sono sviluppati i metodi di Analisi Strutturale, Structure Analysis.
Non è tuttavia possibile effettuare una distinzione categorica tra il modello Template
Matching e il metodo di analisi strutturale in quanto l’ultimo è nato storicamente come
un completamento del primo. Il suo sviluppo è proceduto di pari passo con quello
dell’hardware delle macchine a disposizione ed ha finito con lo specializzarsi nel
riconoscimento dei caratteri stilizzati o manoscritti.
Alla base del metodo strutturale non risiede un preciso criterio matematico, la cui
formulazione rimane un problema che dovrà essere risolto in futuro, pertanto l’intuito si
rivela lo strumento più efficace per affrontarlo anche se non si possono trascurare
alcune strategie guida che possono essere utilizzate.
La prima di queste si basa sulla possibilità di suddividere una struttura in parti distinte
che possono essere descritte tramite delle features e messe in relazione fra loro. Il
problema diventa dunque la scelta delle caratteristiche da considerare e lo studio di
come mettere in relazione le parti, in modo tale che l’identificazione del carattere porti
ad una sua classificazione rigorosa. E’ evidente che l’estrazione delle caratteristiche è il
punto nodale nel riconoscimento del carattere.
1.4.1 Still/Stroke Analysis
Come si è visto precedentemente, il metodo dei peephole trova collocazione tra i metodi
a Template Matching, ma è possibile estenderne l’idea di base nel campo dell’analisi
strutturale.
Il concetto di peephole non si limita al singolo pixel in quanto esso può essere esteso ad
un’area di forma anche non regolare e non legata ad una posizione specifica nel piano
bidimensionale. Infatti la relazione logica esistente tra due pixel può essere
generalizzata per ottenere una relazione fra due gruppi di pixel.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-13
L’idea base del procedimento è quella di individuare più finestre di scansione, Slit,
dislocate in maniera varia sull’immagine del carattere da riconoscere, a ciascuna delle
quali sia collegata una certa feature, che può essere di natura topografica o geometrica.
L’esempio più semplice di tecnica a feature topografica è quello del conteggio delle
intersezioni, Cross Counting Technique, in cui la caratteristica discriminante di ciascuna
linea di scansione è il numero delle regioni nere presenti in essa.
L’insieme delle features delle finestre di scansione costituiscono un descrittore del
carattere preso in esame.
E’ possibile ricorrere a più linee di scansione disposte verticalmente e orizzontalmente,
e secondo le due diagonali principali, formando così una griglia di passo determinato.
Il numero delle aree nere per ciascuna di tali finestre di scansione fornisce un descrittore
tanto più accurato quanto più è alto il numero di linee utilizzate.
Una tecnica simile è stata usata nel 1961 da Weeks.
Una variazione del metodo precedentemente presentato è quello proposto nel lavoro di
Glucksman.
Analizzando la struttura dei caratteri presi in esame, si possono individuare delle linee
caratteristiche attorno alle quali ciascuno di essi si sviluppa.
Scegliendo opportunamente delle linee per ciascuno e contando il numero delle
intersezioni del tratto di carattere con la linea guida, si può giungere ad una
classificazione abbastanza precisa.
E’ oltre tutto possibile attribuire dei pesi e quindi una diversa importanza alle
intersezioni con le linee, si veda a tal proposito l’esempio di Figura 1.7.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-14
Figura 1.7: Le linee guida per il riconoscimento del carattere sono quelle tratteggiate. In base al
metodo cross counting procedendo dall’alto verso il basso in senso antiorario la codifica dei caratteri
è la seguente:
A = 1, 0, 0, 1, 1, 1 B = 1, 1, 1, 1, 1, 1 C = 1, 0, 0, 1, 1, 1 In questo caso, anche se i simboli A e C
Come messo in evidenza precedentemente, la caratteristica tipica della slit può anche
essere di tipo geometrico, ovvero la misura di una distanza da un punto specifico.
Questo tipo di approccio è molto usato anche se da solo non fornisce un metodo
abbastanza sicuro per poter identificare univocamente un carattere, tuttavia esso
costituisce, spesso, il primo passo di identificazione. Ritorneremo in seguito più
approfonditamente su questo metodo, ma per dare un’idea si osservi l’esempio qui
proposto. Si supponga di tracciare una linea verticale di riferimento che divida a metà
l’immagine da analizzare. Di seguito si percorra l’immagine riga per riga e si prenda
come caratteristica, per ciascuna riga, la distanza (espressa in pixel) tra il primo punto
nero della immagine e la linea di riferimento. Il primo punto nero rintracciato nella riga
è il primo pixel appartenente al carattere da riconoscere. Agendo in questo modo per
ciascuna riga si ottiene un valore numerico e di conseguenza, analizzando tutta
l’immagine, un insieme di valori che costituiscono una possibile “descrizione” del
carattere. E’ da notare che a caratteri diversi corrisponde una descrizione, che
chiameremo da ora in poi profilo, diversa. Si vedano le Figure 1.8, 1.9, 1.10, che
rappresentano i profili del carattere 3, 5 e la differenza dei profili.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
Figura 1.8: Profilo del carattere 3
Figura 1.9: Profilo del carattere 5
Profili
10
5
Distanze
0
-5
-10
-15
-20
-25
Punti
5
3
Figura 1.10: Differenza dei profili
I-15
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-16
I metodi di analisi strutturale, siano essi topografici o geometrici, forniscono risultati
migliori se applicati a caratteri tipografici specifici. Nella storia dei riconoscitori sono
stati introdotti un gran numero di caratteri tali da avere un profilo o una proiezione che
ne consentisse la distinzione univoca. Se ne citano alcuni di seguito: FARRINGTON,
OCR-A, OCR-B, MICR-E13B. Questi font sono usati in modo quasi esclusivo nella
lettura dei codici degli assegni. La tecnologia che ne consente l’identificazione è molto
semplice e veloce.
I caratteri sono scritti mediante inchiostri magnetici e la loro
scansione è operata da una testina magnetica. Un hardware apposito è in grado di
analizzare i dati estratti in lettura dalla testina e di eseguire il calcolo delle proiezioni o
la costruzione di un profilo, in base al campionamento di caratteristiche fisiche
(magnetiche).
A tal punto la classificazione è immediata riducendosi ad un confronto fra curve,
dunque questo metodo è particolarmente semplice e quindi veloce ed efficace. Sono
comunque diffusi dispositivi meccanici in grado di leggere anche molti documenti al
secondo, si è limitati però ad utilizzare solo una determinata tipologia di carattere.
A titolo esemplificativo si consideri il riconoscimento dei caratteri nel formato standard
E13B. Ciascun carattere è stato studiato e realizzato in modo tale da fornire un profilo
diverso nel momento in cui passa sotto la testina magnetica di lettura. Nel caso
particolare, il dispositivo di lettura fornisce una forma d’onda , rilevabile tramite un
oscilloscopio, caratteristica ed univoca per ciascun carattere. In Figura 1.11 è riportato
l’insieme dei caratteri numerici del set standard E13B compresi i caratteri speciali di
controllo.
Figura 1.11: Set di caratteri E13B
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-17
In Figura 1.12 è invece riportato lo schema di acquisizione dei sistemi di
riconoscimento che utilizzano questo tipo di carattere. Si noti che la lettura magnetica
offre, in questi casi, dei risultati migliori della scansione ottica della immagine. La
forma d’onda ottenuta tramite la lettura magnetica è infatti sufficientemente accurata e
poco sensibile a disturbi di orientamento. Inoltre questo tipo di acquisizione oltre ad
essere molto rapida ha il pregio di utilizzare risorse hardware particolarmente
economiche.
Figura 1.12: Schema del processo di lettura
La particolare forma d’onda ottenuta dalla scansione del carattere è dovuta alla
distribuzione dei dipoli magnetici presenti nell’inchiostro utilizzato in fase di stampa.
Questi ultimi infatti tendono a disporsi come mostrato in Figura 1.13 generando in fase
di lettura la corrispondente forma d’onda.
La Figura 1.14, infine, illustra la forma d’onda ottenuta dalla scansione della cifra tre.
Il riconoscimento del carattere viene quindi effettuato tramite il confronto della forma
d’onda ottenuta con un insieme di forme d’onda precedentemente campionate e che
rappresentano il termine di paragone.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-18
Figura 1.13: Orientamento dei dipoli magnetici presenti nell’inchiostro magnetizzabile con cui sono
stampati i caratteri e forma d’onda risultante dalla lettura con testina magnetica.
Tele confronto può essere effettuato tramite il rilevamento dei fronti di salita e di
discesa della forma d’onda e si riduce quindi ad una operazione abbastanza semplice e
delegabile ad un hardware non particolarmente sofisticato.
Maggiore sarà la diversità delle forme d’onda relative ai caratteri, migliore sarà la
capacità di identificare in modo corretto il carattere acquisito. Accanto al
riconoscimento in base alla lettura magnetica si stanno affermando sistemi di
riconoscimento basati su sensori ottici (tipicamente a strisciamento). La combinazione
dei due approcci può portare a risultati ancora più precisi. Il sistema magnetico, infatti, è
particolarmente sensibile alle interruzioni nella distribuzione dell’inchiostro magnetico
mentre il sistema ottico è in grado, in alcuni casi, di ricostruire la forma base del
carattere anche se questo non è perfetto o risulta interrotto. Viceversa il sistema ottico è
fortemente influenzato dalle caratteristiche cromatiche dello sfondo del documento su
cui sono tracciati i caratteri mentre quello magnetico non lo è affatto.
I sistemi ottici, non potendo rilevare la struttura magnetica dei dipoli nell’inchiostro
ricostruisce la forma d’onda utilizzando una proiezione sull’asse delle X ottenendo un
risultato similare, anche se non uguale, alla forma d’onda ottenibile dalla lettura con
testina magnetica.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-19
Figura 1.14: Forma d’onda ottenuta dalla scansione magnetica della cifra 3
1.5 Template matching e descrittori di forme
1.5.1 Introduzione
Si era già illustrato nel paragrafo 1.3 ed introdotto l’approccio al template matching
nella sua forma più semplice ed intuitiva. Si è descritto un carattere a partire della forma
delle proiezioni oppure della posizione delle areole di controllo o dalla valutazione
della distanza tra immagine acquisita e modello di riferimento.
Tali tecniche sono particolarmente semplici sia dal punto di vista della implementazione
sia dal punto di vista computazionale, tuttavia la loro efficacia nel descrivere i caratteri
e le loro forme è molto relativa. Tutti i metodi illustrati, infatti, hanno delle limitazioni
evidenti dovute alla incapacità di descrivere i caratteri indipendentemente dai fattori di
scala, di rotazione ed in alcuni casi pure di traslazione. Non è tuttavia, possibile pensare
ad un OCR efficiente e flessibile senza cercare di eliminare il più possibile tali
limitazioni.
Con l’avvento di calcolatori più potenti e veloci si sono potute realizzare delle tecniche
di descrizione più efficienti e soprattutto invarianti per fattore di scala, rotazione e
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-20
traslazione. In modo particolare sono stati sviluppati degli approcci che facevano uso
delle trasformazioni di dominio al fine di identificare caratteristiche e particolarità che
risultavano di difficile identificazione nel dominio spaziale. A tale proposito le
trasformazioni di Fourier, di Karhunen – Loeve , di Hough hanno avuto, ed hanno
tuttora, una grande importanza.
Nel dominio trasformato, infatti, è possibile ottenere descrittori di forme invarianti
molto interessanti e flessibili.
Si vedano in seguito alcuni esempi riguardanti le trasformate di Fourier che permettono
la realizzazione di descrittori molto usati.
Sebbene tali metodi costituiscano un enorme passo avanti per la descrizione dei
caratteri, è importante sottolineare alcuni aspetti che ne rendono l’utilizzo non sempre
soddisfacente. Una prima considerazione importante è legata alla pesantezza del calcolo
che alcuni di questi descrittori richiedono. Spesso, infatti, il cambiamento di dominio
non è una operazione indolore in termini di tempi di realizzazione, specie se si
considerano immagini di una certa grandezza.
Un’altra considerazione importante è legata all’ambito di utilizzo di tali metodi. Per
quanto i descrittori siano invarianti per rotazione, fattore di scala e traslazione è da
tenere in conto un certo margine di errore dovuto ai calcoli ed alla discretizzazione dei
valori, per cui caratteri evidentemente diversi, ridimensionati e ruotati, possono avere
descrittori pressoché identici. Questo fatto può rendere complicata una identificazione
sicura. E’ opportuno, quindi, per ottenere risultati apprezzabili utilizzare tali metodi in
contesti opportuni in cui la variabilità dei fattori di scala e rotazione non siano tali da
inficiare la bontà dei risultati finali.
E’ importante notare che questi metodi non forniscono risultati soddisfacenti se
applicati a caratteri manoscritti. La variabilità delle forme di un carattere tracciato a
mano, infatti, è tale da non permettere una descrizione sicura ed inequivocabile tramite
queste tecniche di rappresentazione.
1.5.2 Metodo dei momenti
La capacità umana di riconoscere un segno grafico, per esempio una lettera o un
numero, è un procedimento indipendente dalla posizione dell’oggetto nello spazio e
dalla sua dimensione (fanno eccezione a questa osservazione i simboli 6 e 9). Si è
messo in evidenza come i metodi di pattern matching funzionino in modo corretto solo
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-21
nel caso in cui i caratteri da riconoscere siano sempre acquisiti nella medesimo modo
ovvero nella stessa posizione, con la stessa angolazione e con la stessa dimensione.
Piccole alterazioni del contesto di acquisizione possono portare a una classificazione
non corretta e quindi ad un mancato riconoscimento o peggio ancora ad un
“fraintendimento” del simbolo. Intendiamo per fraintendimento del simbolo la
situazione in cui un certo carattere sia scambiato per un altro.
Si è quindi sempre sentita l’esigenza di trovare un metodo di riconoscimento che non
fosse afflitto dai problemi di traslazione, rotazione e scalamento, in modo da avere un
sistema di identificazione più flessibile e meno vincolato alle condizioni di
acquisizione. Il metodo dei momenti è un tentativo di fornire dei descrittori che fossero
invarianti ovvero non soggetti alle alterazioni per traslazione, rotazione, scalamento.
Il nome del metodo è esplicativo della origine fisica dell’approccio. Sia f(x,y) una
funzione discreta rappresentante l’immagine del carattere da analizzare.
Si definisce momento di ordine p + q la seguente quantità:
m pq =
+∞
−∞
x p y q f ( x, y )dxdy
(1.1)
In particolare il momento m01 viene denominato momento di inerzia rispetto all’ asse x e
m10 momento di inerzia rispetto all’asse y. Mentre m00 rappresenta la massa
dell’oggetto.
Nella (1.1) si può osservare come i momenti così espressi dipendano dal sistema di
riferimento, dal fattore di scala, dalla rotazione. Per ovviare ad una tale limitazione si
possa ricorrere ai momenti centrali in cui il sistema di riferimento è solidale all’oggetto
e coincide con il suo baricentro.
Considerando quindi le coordinate x, y del baricentro dell’immagine il cui valore è
dato da:
x=
m10
,
m00
y=
m01
m00
(1.2)
L’espressione dei i momenti d’inerzia centralizzati nel continuo è la seguente:
µ pq =
+∞
−∞
( x − x) p ( y − y ) q f ( x, y )dxdy
(1.3)
e nel caso discreto:
µ pq =
( x − x ) p ( y − y ) q f ( x, y ) .
x
y
(1.4)
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-22
Di seguito si calcolano le espressioni di µ pq per alcuni valori degli indici p e q.
µ10 =
x
m10 m01
m00
( x − x) 2 ( y − y ) 0 f ( x, y ) = m20 −
2m102 m102
m2
+
= m20 + 10
m00 m00
m00
( x − x) 0 ( y − y ) 2 f ( x, y ) = m02 −
2
m01
m00
y
µ 02 =
x
( x − x)1 ( y − y )1 f ( x, y ) = m11 −
y
µ 20 =
x
m10
(m00 ) = 0
m00
y
µ11 =
x
( x − x)1 ( y − y ) 0 f ( x, y ) = m10 −
y
µ 30 =
( x − x) 3 ( y − y ) 0 f ( x, y ) = m30 − 3m20 x + 2m10 x
x
y
µ12 =
x
( x − x)1 ( y − y ) 2 f ( x, y ) = m12 − 2m11 y − xm02 + 2m10 y
2
( x − x) 2 ( y − y )1 f ( x, y ) = m21 − 2m11 x − m20 y + 2m01 x
2
y
µ 21 =
x
y
µ 03 =
( x − x) 0 ( y − y ) 3 f ( x, y ) = m03 − 3m02 y + 2m01 y
x
2
2
y
Riassumendo:
µ 00 = m 00 ,
µ 11 = m11 − ym10
µ 10 = 0,
µ 30 = m30 − 3 xm 20 + 2 x m10
µ 01 = 0,
µ 12 = m12 − 2 ym12 − xm 02 + 2 y m10
µ 20 = m 20 + xm10 ,
µ 21 = m 21 − 2 xm 21 − xm 20 + 2 x m 01
µ 02 = m 02 + ym 01 ,
µ 03 = m 03 − 3 ym 02 + 2 y m 01
2
2
2
2
Si noti come nel quadro precedente ciascun valore di µ pq dipenda esclusivamente dai
momenti di inerzia mpq semplici e dalle coordinate del baricentro, e siano pertanto
facilmente calcolabili.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-23
Per ovviare alla dipendenza dei momenti centrali d’inerzia dal fattore di scala essi
vengono normalizzati rispetto alla massa introducendo i momenti centrali normalizzati
la cui formulazione è la seguente.
η pq =
γ =
µ pq
γ
µ 00
p+q
+1
2
A partire da questi risultati, nel 1962, il matematico Hu introdusse le seguenti quantità
dette Momenti di Hu.
φ1 = η 20 + η 02
φ 2 = (η 20 − η 02 ) 2 + 4η112
φ 3 = (η 30 − 3η12 ) 2 + (3η 21 - η 03 ) 2
φ 4 = (η 30 + η12 ) 2 + (η 21 + η 03 ) 2
φ 5 = (η 30 − 3η12 ) + (η 30 + η12 ) [(η 30 + η12 ) 2 - 3(η 21 + η 03 ) 2 ] +
+ 3(η 21 − η 03 )(η 21 + η 03 )[3(η 30 + η12 ) 2 - (η 21 + η 03 ) 2 ]
φ 6 = (η 20 − η 02 ) [(η 30 + η12 ) 2 - (η 21 + η 03 ) 2 ] + 4η11 (η 30 + η12 )(η 21 + η 03 )
φ 7 = (3η 21 − η 30 ) (η 30 + η12 ) [(η 30 + η12 ) 2 - 3(η 21 + η 03 ) 2 ] +
+ (3η12 − η 30 )(η 21 + η 03 )[3(η 30 + η12 ) 2 - (η 21 + η 03 ) 2 ]
Tali quantità sono combinazione lineare di momenti normali centralizzati e oltre ad
essere invarianti rispetto alla scalatura e traslazione, lo sono anche rispetto alla
rotazione. Sono dunque descrittori potenti e flessibili, tuttavia hanno più importanza
teorica che pratica, infatti il loro calcolo è dispendioso in termini di tempo ed è troppo
sensibile a errori di troncamento e arrotondamento, tanto da rendere inattendibili, per il
loro ordine di grandezza, i valori dei momenti di ordine superiore al quarto.
Si introducono di seguito alcune considerazioni relative ad alcuni campioni di caratteri
tipografici per i quali sono stati calcolati i sette momenti invarianti secondo le formule
di Hu. Per mettere in evidenza l’invarianza dei valori ottenuti si sono scelti delle
alterazioni di un carattere prototipo secondo le possibili trasformazioni in scalamento,
traslazione e rotazione. In oltre è stato scelto un altro carattere campione, abbastanza
simile per forma e dimensione al primo carattere prototipo, per mettere in evidenza la
somiglianza dei valori invarianti di Hu.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
9-Campione
9-Ruotato
9-Traslato
8-Campione
9-Scalato
Figura 1.15: Trasformazioni in scalamento di due campioni
I-24
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-25
Confronto Momenti di Hu
0,5
0,4
0,3
0,2
9 - Campione
0,1
9 - Scalato
9 - Ruotato
9 - Traslato
0
8 - Campione
-0,1
fi(1)
9 - Campione
fi(2)
fi(3)
fi(1)
fi(2)
fi(4)
fi(3)
fi(5)
fi(4)
fi(6)
fi(5)
fi(7)
fi(6)
fi(7)
0,3957 0,0206 0,00135 0,00021 -8E-08 -3E-05 -7E-08
9 - Scalato
0,40734 0,02277 0,00151 0,00022 -1E-07 -3E-05 -7E-08
9 - Ruotato
0,38701 0,02039 0,00118 0,0002 -5E-08 -3E-05 -1E-08
9 - Traslato
0,3957 0,0206 0,00135 0,00021 -8E-08 -3E-05 -7E-08
8 - Campione 0,37943 0,02435 0,00035 6E-05
-9E-09 9,3E-06 6,2E-10
Figura. 1.16
Dalla Figura 1.16 si nota immediatamente come i valori dei momenti invarianti di Hu
per il carattere 9 siano molto simili indipendentemente dalle alterazioni subite dal
campione originale. Si può osservare inoltre come gli ultimi tre valori siano molto
prossimi a zero e di come cadano in un intervallo estremamente limitato tanto da
rendere problematico considerare tali valori al fine pratico. Non è infatti da escludere
una certa approssimazione, rispetto al valore reale, dovuta all’arrotondamento e alla
precisione di macchina. Si noti infine anche la somiglianza dei momenti di Hu del
carattere campione 8. La sua forma, infatti, ricorda le caratteristiche del carattere 9 ed è
quindi logico che i momenti di Hu siano simili.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-26
Confronto Errori Assoluti Momenti di Hu
fi(1)
fi(2)
fi(3)
fi(4)
fi(5)
fi(6)
fi(7)
0,018
0,016
0,014
0,012
9 - Scalato
0,01
9 - Ruotato
0,008
9 - Traslato
0,006
8 - Campione
0,004
0,002
0
-0,002
Figura. 1.17
La Figura 1.17 rappresenta, invece, il confronto degli errori assoluti dei caratteri alterati
dalla rotazione, scalamento e traslazione, rispetto al carattere prototipo 9. Questo
grafico mette in evidenza come le trasformazioni pesino in modo diverso. Sebbene i
valori dei momenti corrispondenti siano simili, tanto da essere considerati invarianti, si
nota come quelli del carattere traslato siano pressoché identici a quelli del campione,
mentre quelli calcolati nel caso di scalamento e la rotazione siano significativamente
scostati dai valori di riferimento.
Ancora più interessante è notare la somiglianza dei valori dei momenti per il carattere 8
specie per gli ultimi quattro coefficienti. Questo fatto mette in evidenza come sia
difficoltoso poter distinguere un carattere alterato da variazioni di scala e rotazione da
un altro carattere simile per forma. In conclusione si può affermare che il metodo dei
momenti di Hu non rappresenta uno strumento efficace o quantomeno definitivo per il
riconoscimento dei caratteri. In particolare pesano i tempi computazionali e il calcolo di
quantità così prossime allo zero.
Non ostante queste limitazioni intrinseche al metodo, i momenti di Hu e più in generale
i momenti semplici, centrali e centrali-normalizzati, vengono impiegati in combinazione
con altri metodi. In particolare è molto utile trovare il centro di massa del carattere,
ovvero il suo baricentro, come primo passo per l’estrazioni di altre caratteristiche della
immagine. Si consideri ancora che il metodo dei momenti ha maggiore efficacia nel
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-27
caso in cui i caratteri da riconoscere siano sempre appartenenti ad una tipologia fissa.
Una grande variabilità di forme, come per esempio nel caso di caratteri manoscritti,
porterebbe ad una classificazione problematica e comunque insoddisfacente.
1.5.3 Trasformate di Fourier
La trasformata di Fourier è universalmente nota ed utilizzata in molti contesti tra cui
anche la elaborazione d’immagini. In questo campo trova una vasta applicazione per
esempio nelle tecniche di miglioramento della qualità delle immagini o nelle tecniche di
compressione della informazione. Si accenna qui, per motivi di brevità, solo ad alcune
caratteristiche della trasformata di Fourier e della sua applicazione in campo discreto
per poi concentrare l’interesse sulla rappresentazione di contorni di oggetti e sui
descrittori di Fourier.
La trasformata permette il passaggio di dominio da quello spaziale a quello delle
frequenze, mentre l’antitrasformata permette il passaggio inverso.
Nel dominio delle frequenze il comportamento delle funzioni, mono e bidimensionali,
trova un'altra forma di rappresentazione che mette in evidenza le componenti periodiche
essenziali. Tale nuova rappresentazione presenta principalmente due vantaggi: uno è
che nel dominio delle frequenze si possono effettuare delle elaborazioni sul segnale più
efficaci o comunque non fattibili nel dominio spaziale, l’altro è che nel passaggio al
dominio delle frequenze si possono ottenere dei vantaggi nella compressione della
informazione.
Figura 1.18: Trasformata e Antitrasformata di Fourier
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-28
Sulla Trasformata di Fourier esistono numerose pubblicazioni a cui si può fare
riferimento per i dettagli. Si accenna in seguito a quantità e formule che possono
risultare utili nel contesto della elaborazione della immagine, rimandando il lettore ad
una analisi più approfondita dell’argomento.
Dal momento che l’immagine è vista come una funzione discreta bidimensionale, si farà
riferimento alla trattazione discreta delle trasformate di Fourier.
Si introduce ora il concetto di descrittore di Fourier. Si supponga di aver individuato un
insieme di punti, con le relative coordinate nel piano x, y, che descrivano il contorno di
un oggetto o di un simbolo. Si può immaginare il piano x,y come un piano immaginario
in cui le ascisse facciano riferimento all’asse reale e le ordinate all’asse immaginario. Le
coordinate del contorno dell’oggetto possono essere viste come un insieme di numeri
complessi ordinati in sequenza in base ad un certo andamento, per esempio antiorario, a
partire da un certo punto imprecisato appartenente al contorno. Immaginiamo ora di
eseguire una trasformata discreta di Fourier su quest’insieme ordinato di valori
complessi. Poiché la trasformata e l’antitrasformata sono trasformazioni reversibili, si
può escludere un’eventuale perdita di informazione. L’interesse per questi descrittori di
Fourier è dovuto alle caratteristiche del dominio delle frequenze che permettono,
tramite questa rappresentazione delle forme, di eliminare la dipendenza dalla posizione,
dalla dimensione, e dall’orientamento. Infatti, costruiti opportuni descrittori di Fourier
per una data forma, con alcune semplici operazioni si può arrivare ad una
normalizzazione di tali parametri e quindi ad un riconoscimento della forma
indipendentemente dalla posizione, dimensione, rotazione della immagine di partenza.
Si noti infatti che il cambiamento di dimensioni di un contorno produce un
cambiamento dei descrittori di Fourier che risultano moltiplicati per una costante. In
modo analogo se il contorno in esame subisce una rotazione nel dominio spaziale,
ciascuna coordinata risulterà moltiplicata per exp(iθ) dove θ è l’angolo di rotazione.
Allo stesso modo una moltiplicazione per un coefficiente exp(iθ) nel dominio delle
frequenze provocherà, per la linearità della trasformazione, una rotazione delle
coordinate del bordo. L’ultimo punto da chiarire è la scelta del punto di partenza per la
rappresentazione del contorno; non si era infatti imposta alcuna restrizione in merito.
Per vedere come la scelta del punto di partenza della costruzione del bordo influenzi la
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-29
rappresentazione nel dominio delle frequenze si ricordi la proprietà di periodicità della
trasformata discreta di Fourier.
La sequenza di coordinate nel dominio spaziale rappresenta infatti un ciclo chiuso di
una specifica funzione periodica. Analogamente i coefficienti della trasformata discreta
di Fourier rappresentano i coefficienti della serie di Fourier di questa funzione
periodica. Ricordando questa proprietà è facile notare che lo spostamento lungo il bordo
del punto di partenza corrisponde nel dominio spaziale a moltiplicare per il k-esimo
coefficiente di frequenza e nel dominio delle frequenze a moltiplicare per exp(ikT) dove
T è una frazione del periodo di quanto il punto di partenza è stato spostato e dove T può
prendere valori tra 0 e π.
A titolo esemplificativo si valuti il seguente esempio riferito alla seguenti figure:
Figura 1.19 A: Immagine originale
Figura 1.19 B: Immagine ruotata di 90 gradi
La Figura 1.19 rappresenta la stessa immagine ruotata di 90 gradi.
Per ciascuna immagine, l’originale A e la ruotata B, si sono scelti 32 punti a partire da
“start” in senso antiorario lungo il perimetro, le coordinate x sono state considerate
come la parte reale e le coordinate y come la parte immaginaria di un array di 32
elementi in campo complesso. Tali valori rappresentano la struttura base dell’oggetto in
questione.
E’ possibile utilizzare come descrittori degli oggetti le trasformate discrete di Fourier
delle coordinate, nel caso della Figura A e B rispettivamente si ottengono i valori reali
ed immaginari riportati nella tabella seguente.
Confrontando i valori riportati si può dedurre che i descrittori di Fourier hanno la
proprietà di invarianza rispetto alla rotazione.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
Figura A [Re, Im])
Figura B [Re, Im]
[142.00, 240.00]
[240.00, 142.00]
[-134.80, -40.89]
[040.89, -134.80]
[-02.00, 000.00]
[000.00, -02.00]
[008.23, 010.03]
[-10.03, 008.23]
[-02.00, 000.00]
[000.00, -02.00]
[000.06, 000.62]
[-00.62, 000.06]
[-02.00, 000.00]
[000.00, -02.00]
[001.46, -02.73]
[002.73, 001.46]
[-02.00, 000.00]
[000.00, -02.00]
[-01.84, 000.98]
[-00.98, -01.84]
[-02.00, 000.00]
[000.00, -02.00]
[000.18, 000.02]
[-00.02, 000.18]
[-02.00, 000.00]
[000.00, -02.00]
[000.92, 000.76]
[-00.76, 000.92]
[-02.00, 000.00]
[000.00, -02.00]
[-00.40, -01.31]
[001.31, -00.40]
[-02.00, 000.00]
[000.00, -02.00]
[-00.12, 000.40]
[-00.40, -00.12]
[-02.00, 000.00]
[000.00, -02.00]
[-00.76, 000.62]
[-00.62, -00.76]
[-02.00, 000.00]
[000.00, -02.00]
[001.80, -00.18]
[000.18, 001.80]
[-02.00, 000.00]
[000.00, -02.00]
[-00.98, -00.53]
[000.53, -00.98]
[-02.00, 000.00]
[000.00, -02.00]
[-00.78, -01.46]
[001.46, -00.78]
[-02.00, 000.00]
[000.00, -02.00]
[-00.62, 006.30]
[-06.30, -00.62]
[-02.00, 000.00]
[000.00, -02.00]
[006.75, -08.23]
[008.23, 006.75]
[-02.00,000.00]
[000.00, -02.00]
[040.89,-12.40]
[012.40, 040.89]
I-30
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-31
Si è infatti mostrato che i descrittori di un oggetto ruotato, differiscono di una costante
moltiplicativa e precisamente di una costante eiθ dove θ è l’angolo di rotazione. Per le
formule di Eulero si può scrivere eiθ=cos(θ)+i·sin(θ) . Valutando l’espressione per
θ=π/2 si ottiene un fattore k = i.
Sia dunque x+iy un generico elemento del descrittore di Fourier per la Figura A, allora
il corrispondente descrittore della Figura B sarà (x+iy) ·i = -y+ix.
1.6 Approccio ad analisi strutturale: nuovi sviluppi
Si era visto in precedenza come i metodi classificati come Still/Stroke costituiscano un
metodo semplice di approccio strutturale al problema del riconoscimento dei caratteri.
In questa sezione si vedranno come questi metodi siano stati perfezionati e migliorati.
Una delle caratteristiche dell’analisi Still/Stroke era quella di considerare il carattere
solo in modo parziale. Questo era dovuto alle particolari caratteristiche dell’hardware
del tempo, per cui si cercavano algoritmi semplici da implementare e soprattutto veloci
da eseguire. A causa di queste limitazioni erano individuabili solo delle relazioni
semplici su parti specifiche del carattere. Tuttavia è immediato capire che, al fine di
ottenere un migliore riconoscimento dei caratteri, essi vanno considerati nella loro
interezza. La ricerca attuale si muove verso questa direzione e sta ottenendo risultati
sempre migliori e precisi. Si analizzeranno, nel corso della trattazione, alcuni approcci
che considereranno il carattere nella sua interezza. Si classificheranno questi metodi
come segue:
-
thinning line analysis (scheletrizzazione)
-
bulk decomposition
-
consecutive slits analysis/stream following
-
contour following analysis
Tutti questi metodi, eccetto quello “bulk decomposition”, si basano su una prima
preelborazione della immagine del carattere, ovvero sugli algoritmi di scheletrizzazione
o di assottigliamento delle linee.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-32
1.6.1 Assottigliamento della linea (scheletrizzazione)
Ogni volta che si osserva un carattere questo si può ricondurre ad una linea più o meno
contorta che occupa un certo spazio. Tale forma di astrazione è un processo molto facile
e naturale per l’osservazione di una persona adulta. Da un punto di vista più basso,
quello delle macchine e degli OCR, bisognerà definire cosa s’intende per linea.
Di certo non ci si può riferire al concetto di linea della geometria euclidea che la
considera senza dimensione. Si darà, quindi, una definizione di linea di larghezza
unitaria in cui ciascun punto è connesso ad almeno un altro punto. Cercando di guardare
ad un segno grafico o ad un carattere in modo astratto non è difficile riuscire ad
analizzarne la struttura tramite una rappresentazione a linee. In particolare, nel lavoro di
Sherman (1960), si dà una rappresentazione del carattere tramite delle linee astratte
costituenti un grafo. In questo grafo vengono ignorati tutti quei nodi che risultano avere
due linee uscenti. Quindi i nodi caratteristici sono i nodi terminali, i nodi di biforcazione
i nodi di incrocio. Per rappresentare le relazioni che intercorrono tra i vari nodi
caratteristici del grafo si può usare una matrice di adiacenza. Appare immediato come
nei seguenti casi di caratteri manoscritti, a cifre diverse corrisponda una unica
rappresentazione a grafo.
Figura 1.20: Campione di caratteri manoscritti
Per capire cosa s’intenda si consideri di percorrere l’immagine di ciascun carattere da
sinistra verso destra e dall’alto verso il basso fino a trovare un nodo del grafo che sia un
estremo. A partire da questo si percorra il grafo considerando, ad ogni passo, il
successivo punto connesso ed individuando tutti i punti caratteristici, nodi, fino a quello
finale, Figura 1.21.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-33
Figura 1.21: Percorso del grafo
Se si etichettano i nodi trovati in sequenza con le lettere dall’alfabeto A, B. C e si
costruisce una matrice di adiacenza, ponendo il valore 1 nelle intersezioni dei punti
adiacenti, si ottiene la tabella in Figura 1.22. Si osserva che, per tutti i caratteri proposti
in Figura 1.20, la rappresentazione tramite la matrice di adiacenza è effettivamente la
stessa
A
B
C
A
0
1
0
B
0
1
1
C
0
0
0
Figura 1.22: Matrice di adiacenza
Questo discorso mette in evidenza come questa classificazione non sia soddisfacente per
una corretta identificazione. Tuttavia essa ha anche il pregio di fornire un’astrazione
molto potente che permette di individuare i caratteri indipendentemente da come
effettivamente essi vengano tracciati. In altre parole non è richiesto che ciascun
carattere sia uguale a se stesso come nel caso di caratteri tipografici. Tutto ciò mette in
rilievo come questo metodo sia particolarmente utile nel caso di caratteri manoscritti
che possono variare anche di molto a seconda della grafia di chi scrive. La
rappresentazione del carattere tramite il grafo è sicuramente una strada molto
interessante e molto usata nei moderni OCR specie per tutto quella parte che riguarda il
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-34
riconoscimento del carattere calligrafico. Prima di procedere alla rappresentazione a
grafo del carattere, vi è un preliminare “raffinamento” della forma del carattere che va
sotto il nome di scheletrizzazione o thinning (assottigliamento). Si tratta di estrarre,
dalla struttura del carattere in esame, un insieme di linee che ne rappresentino
idealmente la struttura. Una volta identificate tali linee si può passare alla costruzione
del grafo di riferimento e quindi alla successiva identificazione. Più che di una tecnica
di riconoscimento, la scheletrizzazione è una fase importante di preprocessing (pretrattamento) della immagine.
Essendo essa una fase molto delicata ed importante esiste una letteratura molto ampia
ed approfondita che tratta questo aspetto. In generale l’idea è quella di erodere degli
strati successivi di pixel in modo da ottenere, alla fine di un processo iterativo erosivo,
una linea di spessore unitario. Il problema è come erodere, ovvero quale approccio
seguire per la eliminazione successiva dei pixel non indispensabili. I primi algoritmi
sistematici di thinning vengono proposti da Hilditch nel 1969, ma negli anni seguenti
sono stati molti gli studiosi che hanno proposto delle variazioni al suo algoritmo tanto
che se ne possono contare almeno una trentina e tuttora ne vengono proposti di nuovi.
Le tecniche di assottigliamento tramite erosione, risultano particolarmente semplici da
implementare, ma possono portare a risultati non sempre ottimali a sottolineare che non
è sempre facile estrarre una linea ideale a partire da una linea reale. In particolare nel
caso in cui siano presenti angoli acuti o intersezioni di linee, gli algoritmi ad erosione
non forniscono sempre risultati soddisfacenti. Per un’analisi più dettagliata si fa
riferimento al Capitolo II.
Una volta ottenuto lo scheletro del carattere la fase di riconoscimento può proseguire
con la identificazione dei punti di giunzione (nodi) ed in seguito con la descrizione
degli archi. La determinazione dei punti critici dello scheletro è una operazione tutto
sommato semplice in quanto basta percorrere lo scheletro con un algoritmo di visita in
sequenza dei punti fino al raggiungimento delle biforcazioni. Ben più complicato,
invece, risulta individuare un sistema per la rappresentazione degli archi. L’obiettivo da
perseguire è quello di trovare un sistema che conservi un gran numero di informazioni
ed al contempo possa mettere facilmente in evidenza le caratteristiche di interesse
dell’arco. Una semplice tecnica, tuttora molto adoperata, è la codifica di Freeman. Una
volta trovato un punto dello scheletro che possa essere qualificato come Start
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-35
(tipicamente l’inizio di un arco) risulta facile, con questa codifica, rappresentare la
sequenza di punti che formano l’arco. Basta infatti conservare le informazioni relative
alla posizione punto di start e definire la posizione del punto successivo in base a quella
del punto precedente. Si possono infatti definire le posizioni dei punti successivi in base
ad uno schema a “rosa dei venti” a cui viene associato un valore numerico ad ogni
direzione. Per esempio nel nostro caso si sceglie uno schema del tipo riportato in Figura
1.23.
Figura 1.23: Schema delle direzioni a “Rosa dei venti”
Se si volesse codificare lo scheletro in Figura 1.24 tramite la codifica di Freeman il
risultato sarebbe 221100 .
Figura 1.24: Esempio di tratto con codifica di Freeman
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-36
Questa codifica non solo è efficiente perché particolarmente compatta e semplice ma
anche perché è possibile identificare alcuni punti critici, ad esempio il cambiamento
repentino di angolazione del tratto, confrontando opportunamente dei dati numerici
elementari.
1.6.2 Bulk decomposition.
L’idea guida della bulk decomposition è estremamente intuitiva. Si immagini di voler
identificare il carattere L. Basterà ricercare una linea orizzontale ed una linea verticale e
verificarne la intersezione nella parte in basso a sinistra del rettangolo di ingombro della
figura.
Come si vede l’idea di fondo è molto semplice, ben più complesso è invece elaborare un
algoritmo ed un sistema di acquisizione che permetta di identificare e mettere in
relazione le componenti fondamentali del carattere, ovvero le linee guida fondamentali.
Lo sviluppo di questa strategia è dovuta principalmente ai lavori di Grimsdale e
Spinrad. Quest’ultimo in particolare escogitò un sistema semplice ed efficace basato
sull’analisi di “slit” o “finestre” orientate lungo le 8 direzioni fondamentali. Se per
esempio si volesse
identificare la lettere T, si potrebbe far scorrere una finestra
verticale da sinistra verso destra fino all’identificazione del tratto verticale ‘|’ che si
avrebbe nel momento in cui la finestra in questione contenesse un insieme significativo
di punti neri. In modo analogo facendo scorrere una finestra orizzontale per esempio
dall’alto verso il basso si potrebbe identificare il tratto orizzontale.
Si tratta effettivamente di un sistema abbastanza elementare che trova una valida
applicazione, però, solo in caso di segni grafici elementari e ben “regolari”. Tale
approccio non fornisce infatti dei risultati apprezzabili con caratteri di tipo alfabetico
latino che hanno forme spesso tondeggianti e comunque complesse.
Il sistema invece risulta particolarmente efficace con insiemi di caratteri molto regolari
e che si sviluppano lungo le direzioni fondamentali: orizzontale, verticale e diagonale. I
caratteri Kanji degli ideogrammi orientali si prestano particolarmente bene ad essere
identificati tramite questo approccio.
1.6.3 Stream Following Analysis
Si parla espressamente di questa tecnica di riconoscimento per la prima volta nel lavoro
di Rabinow del 1962 e di Perotto del 1963. Tale approccio non ebbe sin dall’inizio una
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-37
applicazione diretta nel campo del riconoscimento dei caratteri. Si tratta infatti di un
sistema descrittivo per rappresentare curve e circuiti estremamente potente.
Prima di illustrare, in linea di massima, il funzionamento del metodo è opportuno
spendere qualche parola in merito alla descrizione del riconoscimento sul piano
bidimensionale. Quando una persona osserva un carattere tracciato su un piano
bidimensionale non “memorizza” tutte le coordinate dei punti costitutivi del carattere
ma, inconsciamente, “percorre” la figura e ne memorizza poche coordinate seguendo un
particolare schema di movimento. In altre parole gli uomini sono soliti seguire un certo
ordine naturale sul piano per esempio dall’alto verso il basso e da destra verso sinistra.
Seguire questo ordine è molto importante per descrivere una certa forma.
La Figura 1.25 mostra un esempio proposto da Perotto nel suo lavoro.
Figura 1.25
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-38
Si supponga che l’ordine di scansione sia dall’alto verso il basso e da destra verso
sinistra. Si supponga che una finestra scorra sulla immagine da destra verso sinistra
riscontrando la presenza di componenti nere. Nella prima scansione non si riscontrano
componenti neri sulla finestra di scansione. Nel secondo passo di scansione la finestra
intercetta una zona di componente nera. La posizione di questa componente viene
memorizzata e etichettata con la lettera P1 (principio). Al successivo passo le
componenti nere diventano due, entrambe connesse con quella precedentemente
memorizzata. Questo stato viene etichettato con la lettere D2 per segnalare la
biforcazione a partire dal punto P1. Procedendo con l’analisi la finestra intercetta 3
componenti nere: il nuovo punto viene etichettato con la lettera P2 mentre le altre due
componenti nere risultano connesse con le precedenti e vengono a fare parte dell’arco
etichettato con D2. Dopo alcuni passi si giunge all’ultima componente nera che segna la
chiusura dell’arco e dell’anello che compongono il segno 6. Avendo trovato una
chiusura per il cerchio l’elemento D2 viene classificato come anello ed etichettato con
la lettera O2 mentre l’unione dell’arco con l’anello sottostante viene rappresentata
tramite l’etichetta U2 che indica l’unione di due elementi. Il carattere 6 avrà quindi la
seguente rappresentazione:
6− >
P2
P1O 2U 2
Come si intuisce immediatamente la descrizione è ricavata in modo molto semplice ed
al contempo efficiente e valido anche in presenza di variazione di forma del segno
grafico. Tuttavia è opportuno notare che questo sistema, a causa della sua intrinseca
semplicità ed alla direzione di scansione, porta a classificare simboli diversi come ∪, ∩
e – nello stesso modo. Per distinguere questi casi bisognerebbe procedere anche ad una
scansione orizzontale. In modo analogo per distinguere i simboli + e T bisognerebbe
ricorrere ad una scansione in direzione diagonale.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-39
1.7 Alcune considerazioni sui prodotti attualmente in commercio
Come accennato nella prefazione, in questi anni sono comparsi sul mercato un gran
numero di programmi e pacchetti software che permettono di leggere i documenti in
modo automatico. Spesso tali prodotti vengono addirittura abbinati alla vendita delle
periferiche di acquisizione come gli scanner anche se la qualità di questi pacchetti
software spesso lascia molto a desiderare. Si tratta, infatti, di programmi che permettono
di riconoscere il testo scritto con caratteri tipografici appartenenti a ristrette famiglie
come gli Arial, i Times i Courier.
Nel corso della attività lavorativa l’autore ha avuto modo di testare alcuni OCR in
talune applicazioni inerenti il campo bancario. In particolare si è avuto modo di testare i
prodotti della Cadmos, CGK-Recoline, Caere, e Mitek Si tratta di moduli, utilizzabili
come librerie dinamiche in altri programmi, che permettono di riconoscere le scritte,
presenti sugli assegni del mercato statunitense, stampate utilizzando il font E13B.
Mentre i primi due prodotti si distinguono per la semplicità di utilizzo e la velocità nel
fornire i risultati, il terzo è di particolare interesse perché basato su una tecnica diversa
ovvero sull’utilizzo delle reti neurali. A tal proposito si rimanda al capitolo VI per avere
una descrizione di massima del loro funzionamento.
I pacchetti software sono stati testati su circa 2000 assegni non hanno fornito risultati
del tutto soddisfacenti . La percentuale di riconoscimento totale delle scritte può variare
tra il 35 e il 50%. Si intende per riconoscimento totale la lettura perfetta di tutte le cifre
di identificazione (circa une ventina) senza sostituzioni o reject. Si verifica un caso di
reject quando il programma non fornisce con una sufficiente sicurezza un risultato in
merito al riconoscimento di una cifra, ciò accade quando la cifra esaminata può essere
ricondotta a più di una cifra campione nel qual caso il riconoscitore non ha abbastanza
elementi per discriminare e restituisce un simbolo ‘?’. A parziale giustificazione del
comportamento non proprio entusiasmante dei prodotti testati è importante sottolineare
che le immagini sottoposte a riconoscimento avevano una risoluzione non ottimale e
che lo sfondo degli assegni su cui i pacchetti sono stati testati erano estremamente
complessi e disturbati come si potrà notare negli esempi riportati in seguito.
Le due librerie Kadmos e Recoline sono decisamente orientate al riconoscimento del
formato E13B. Sono risultati generalmente più veloci e più semplici da configurare.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-40
Il pacchetto CAERE, invece, è in grado di gestire documenti molto complessi, presenta
numerose funzioni per la gestione dell’immagine (rotazione, segmentazione,
trattamento di più formati all’interno della stessa riga di scansione). E’, in generale,
molto più sofisticato ed orientato alla soluzione di problemi più generici e in cui le
prestazioni, in termini di tempi di esecuzione, non sono un fattore critico.
Il programma della Mitek merita forse qualche considerazione in più perché è,
evidentemente, un prodotto più completo. Si tratta di un pacchetto di riconoscimento
particolarmente ricco di caratteristiche programmabili che lo rendono adatto al
riconoscimento di documenti complessi.
La filosofia del prodotto poggia, fondamentalmente, sull’utilizzo di reti neurali. Le
istruzioni per il riconoscimento dei caratteri sono estrapolate dall’analisi di una certa
quantità di campioni. Questa caratteristica rende il prodotto molto elastico. Un’altra
caratteristica importante è la possibilità di definire numerose “condizioni al contorno”
per un’opportuna classificazione dei caratteri letti. É possibile, per esempio, definire il
comportamento del riconoscitore in caso di presenza di segni estranei nell’area di
scansione dei caratteri, correggere il disturbo di fondo (di tipo gaussiano), rimuovere le
“form” dei moduli, riconoscere eventuali sovrapposizioni dei caratteri. Sono previsti
anche elaborazioni dell’immagine, come erosione e filtraggio, ed anche modalità
particolari di sogliatura e binarizzazione.
É possibile definire per ogni tipologia di documento delle aree di analisi specifiche e,
associate a queste, le regole di riconoscimento. Sono anche previste pre-elaborazioni
dell’immagine di partenza e post-elaborazioni sui risultati ottenuti.
Il pacchetto è in grado di gestire immagini in diverso formato tra cui TIFF, BMP, JPEG,
GRUPPO 3, GRUPPO 4, con profondità di colore diverse da 1, 4, 8 bit secondo lo
standard supportato.
Per quanto riguarda i tipi di caratteri supportati il pacchetto è orientato sia al
riconoscimento del carattere calligrafico sia di quello stampato. E’ possibile anche
riconoscere check box e barcode. Per ogni tipologia di carattere è fornito un apposito
strumento di riconoscimento addestrato in base alle caratteristiche di quel particolare
tipo di font. E’ altresì possibile addestrare la rete neurale al riconoscimento di una
nuova tipologia di caratteri. Tra le tipologie di caratteri riconoscibili vi sono : caratteri
alfanumerici manoscritti, Ocr A, E13B, barcode.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-41
L’accuratezza nel riconoscimento del carattere e data da un valore di confidenza
compreso tra 1 e 1000. Il riconoscitore fornisce sempre almeno due soluzioni possibili
per ogni carattere letto con due diversi valori di confidenza. Un buon criterio di
discriminazione è dunque la valutazione della differenza tra i valori di confidenza delle
due possibili soluzioni: maggiore è la differenza maggiore è la sicurezza di aver
riconosciuto il carattere.
L’utilizzo di questi prodotti mette in evidenza come sia estremamente difficile mettere a
punto uno strumento efficace per il riconoscimento del manoscritto anche in casi non
particolarmente difficoltosi come quello dei caratteri tracciati in stampatello maiuscolo.
Riguardo alle tecniche usate per giungere al riconoscimento dei caratteri nel formato
E13B , i pacchetti in questione non forniscono delle spiegazioni in tal senso, tuttavia, a
giudicare dalla tipologia degli errori commessi e dalla velocità nel fornire il risultato
della lettura, si possono azzardare alcune considerazioni. E’ abbastanza probabile che i
prodotti della Caere, della CGK e Mitek utilizzino il metodo delle proiezioni sugli assi
per una prima identificazione dei caratteri. Tale considerazione è suffragata dal fatto che
il sistema di riconoscimento da risultati non buoni nel caso in cui i caratteri siano
inclinati. L’inclinazione del carattere, infatti, produce una alterazione della proiezione
sugli assi (si veda a tal proposito il paragrafo 1.3).
Si ritiene, invece, che il pacchetto della Mitek utilizzi un approccio simile al metodo dei
peepholes presentato nel paragrafo 1.3, in cui però viene assicurata una certa invarianza
per rotazione.
Si ricorda che queste osservazioni costituiscono solamente delle supposizioni suggerite
dall’osservazione e dall’utilizzo dei prodotti.
Si può concludere che gli attuali prodotti professionali in commercio facciano uso di più
metodi, alcuni dei quali presentati in questo capitolo, e li combinino in modo opportuno
per ottenere un risultato il più possibile soddisfacente.
Vengono qui proposti alcuni esempi e i risultati ottenuti.
Figura 1.26
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-42
Nella Figura 1.26 il problema nel riconoscimento della linea di identificazione è
caratterizzato dalla presenza di una timbratura sovrapposta parzialmente alle cifre 3, 9,
8 e 5. Nessuno dei prodotti testati è stato in grado di riconoscere correttamente la cifra
5, Kadmos e Recoline hanno riconosciuto correttamente le cifre 3 e 8 mentre non hanno
riconosciuto la cifra 9. Il pacchetto Mitek ha riconosciuto correttamente la cifra 9 e 8 e
scambiato la cifra 3 con la cifra 4. Il pacchetto della Caere non ha riconosciuto
correttamente nessuno delle cifre alterate.
Figura 1.27
Nella figura il problema principale è costituito dalla presenza della cornice sottostante la
stringa numerica. Tale inconveniente ha mandato completamente in crisi il sistema di
riconoscimento dei pacchetti Kadmos e Recoline che non hanno identificato alcuna
cifra. Il pacchetto della Caere e della Mitek hanno, invece, riconosciuto tutte le cifre
correttamente ad eccezione del blocco “56” che, come si nota, presenta un alterazione
dovuta alla presenza di parte di una firma.
Storia della ricerca e degli sviluppi nel campo del riconoscimento ottico dei caratteri
I-43
Riferimenti bibliografici
[1] Shunji Mori, Ching Y. Suen, Kazuhiko Yamamoto “Historical review of OCR
Research and Development”, IEEE TRANSACTION ON PATTERN ANALYSIS
AND MACHINE INTELLIGENCE, VOL 80, NO 7, JULY 1992
[2] R. Brunelli, S. Messelodi “Roboust Estimation of Correlation with Application to
Computer Vision”, ISTITUTO PER LA RICERCA SCIENTIFICA E TECNOLOGICA,
I-38050 POVO, TRENTO, ITALY.
[3] King-Sun Fu, Rafael C. Gonzalez, C.S. Gorge Lee, “ROBOTICA” , McGraw-Hill
Libri Italia s.r.l. 1989
[4] J. Duane, V.D. Roy “MICR Made Easy”, Research, Development & Manufacturing
Corporation, 1992
[5] Milang Sonka, Vaclav Hlavac, Riger Boyle “Image Processing, Analysis, and
Machine Vision - Second Edition” PWS PUBLISHING