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