|
Riportiamo qui alcune informazioni relative ad esperimenti condotti e in corso aventi in qualche modo attinenza col progetto di sistema OCR descritto alla Sez. 10.
L'algoritmo per l'identificazione del tilt è basato sulla trasformata di Hough eseguita su una rappresentazione dell'immagine a risoluzione ridotta, e gli esperimenti condotti in tal senso hanno finora dato ottimi risultati. Come già descritto alla Sez. 4, la trasformata di Hough trasforma un punto dello spazio (x, y) in una curva nello spazio dei parametri (r, q); un insieme di punti collineari viene trasformato in un fascio di curve che si incontrano in un particolare punto (r0, q0), dove q0 è legato all'inclinazione della retta su cui giacciono i punti. Il risultato della trasformata di Hough su un'immagine è dunque una funzione g(r, q) che dà il numero di curve che si incontrano in ogni punto (r, q). Ai fini dell'identificazione del tilt, viene costruita una funzione
g(q) = maxr g(r, q)
che avra' un massimo piuttosto spiccato in corrispondenza all'angolo di tilt. Un esempio di testo ad orientamento non orizzontale con risoluzione ridotta e' illustrato in Fig. 30, mentre in Fig. 31 e' riportato il diagramma polare della corrispondente funzione g(q).
L'unico inconveniente di questo algoritmo è dato dal tempo relativamente elevato richiesto dalla trasformata di Hough, quando essa viene implementata nel modo classico. E' possibile però adottare sia una diversa parametrizzazione dello spazio di Hough (Svalbe, 1989), sia delle varianti molto più veloci dell'algoritmo base, note come trasformate di Hough adattative (Illingworth & Kittler, 1987), che sono attualmente sotto sperimentazione.
Una interessante comparazione delle prestazioni di due architetture neurali sotto molti aspetti significativamente diverse tra loro, le macchine di Boltzmann e le reti di Kohonen, è stata condotta da Taraglio (1990). L'insieme di pattern sotto test è quello dei caratteri alfabetici maiuscoli del PC IBM, inscritto in una matrice 7 x 7, e benché sia volutamente lontano dai caratteri che si incontrano realmente sui documenti sottoposti ad OCR, consente già di concludere che una rete di Kohonen ha comportamento significativamente migliore di una corrispondente macchina di Boltzmann sotto l'aspetto della tolleranza al rumore. Altri esperimenti, relativi a set di caratteri estratti dal database più avanti citato, sono tuttora in corso.
Un'altra serie di esperimenti è in corso per stabilire la validità di determinate trasformazioni del pattern del carattere al fine dell'estrazione di un numero ridotto di feature utilizzabili per la classificazione.
Il primo tipo di trasformazione che abbiamo preso in considerazione è la trasformazione conforme in logaritmo complesso (Fig. 32). Il pattern del carattere viene in primo luogo sottoposto a un algoritmo di thinning, al fine di eliminare le influenze dello spessore dei tratti; viene poi calcolato il centro di massa del pattern risultante (rappresentato con una crocetta in Fig. 32), e viene quivi spostata l'origine del sistema di riferimento (x, y). Se il nuovo sistema viene considerato come un piano complesso z = x + i y, è possibile proiettare i punti del piano z sui punti di un piano u = r + iq secondo la trasformazione
u = log z
|
Il pattern che ne deriva gode di un certo numero di proprietà:
E' interessante notare, ai fini del riconoscimento dei caratteri, come il pattern risultante per un dato carattere sia abbastanza simile anche al variare del font.
Sono peraltro in corso ulteriori indagini per valutare le prestazioni di altre trasformazioni ai fini della generazione di un vettore di feature da applicare ad una rete neurale per la classificazione; il programma degli esperimenti prevede test specifici per la trasformata coseno discreta, la trasformata di Walsh-Hadamard, i momenti geometrici (Sez. 4) e alcuni loro invarianti (Reeves et al., 1988), i momenti di Zernike (Teague, 1980; Khotanzad & Hong, 1990), i momenti complessi (Abu-Mostafa & Psaltis, 1985).
E' infine in corso la preparazione di un database di pattern di riferimento di caratteri alfabetici, numerici e speciali appartenenti a vari font da utilizzare negli esperimenti di classificazione. L'ampiezza del database ha raggiunto finora alcune migliaia di pattern, ed è tuttora in espansione, con un'ampiezza massima prevista di diverse decine di migliaia di caratteri. I pattern sono estratti mediante scansione di pagine tratte dai cataloghi di alcuni fabbricanti di prodotti per trasferibili (Letraset, Mecanorma, R41, etc.), segmentazione manuale dei pattern dei singoli caratteri e generazione di un file in formato grafico standard per ciascun pattern.
© 1997-2003 Paolo Marincola (Rome, Italy)
e-mail: pmaNOSPAM@acm.org (eliminare
i caratteri "NOSPAM" per ottenere l'indirizzo esatto)
Commenti, osservazioni e suggerimenti sono estremamente graditi.
Last revised: 2003-11-09 00:30