Tecniche di riconoscimento statistico - Parte 5 - Tecniche OCR Teoria e applicazioni industriali - On AIR Web
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
On AIR s.r.l. Tecniche di riconoscimento statistico Teoria e applicazioni industriali Parte 5 – Tecniche OCR Ennio Ottaviani On AIR srl ennio.ottaviani@onairweb.com http://www.onairweb.com/corsoPR A.A. 2018-2019 Ennio Ottaviani - 2019
Introduzione • L’obiettivo delle tecniche OCR è classificare dei pattern 2D (espressi come immagini digitali) in simboli alfanumerici, ottenendo una versione digitale (ASCII) di una immagine contenente testo • Le tecniche utilizzate combinano aspetti di tipo statistico con aspetti di elaborazione delle immagini • Applicazioni tipiche: – Data entry di archivi cartacei – Smistamento della corrispondenza – Lettura di moduli – Riconoscimento targhe e testi strutturati – Estrazione testi generici in scene complesse Ennio Ottaviani - 2019
Il processo OCR • Un qualsiasi processo OCR viene di norma suddiviso logicamente in 4 passi base che si ritrovano in tutte le applicazioni – Localizzazione del testo – Segmentazione dei caratteri – Classificazione dei caratteri – Analisi contestuale • I primi due sono strettamente connessi alla problematica applicativa e coinvolgono metodi di elaborazione delle immagini • La classificazione dei caratteri è un problema classico di PR • L’analisi contestuale impiega metodi di ragionamento simbolico Ennio Ottaviani - 2019
Segmentazione caratteri • Il processo di segmentazione è responsabile della estrazione dei singoli caratteri dall’immagine • Vengono estratti di norma anche oggetti 2D che non sono caratteri, che il classificatore dovrà scartare • Per le immagini binarie, la segmentazione deve semplicemente analizzare la connessione tra pixel adiacenti • Spesso è utile la morfologia matematica per regolarizzare le forme e correggere difetti (es. caratteri fusi o frammentati) • La tendenza moderna è superare la segmentazione esplicita ed univoca, utilizzando ipotesi multiple o sliding windows Ennio Ottaviani - 2019
Esempio • Anche su immagini di buona qualità, gli errori sono inevitabili • Un buon segmentatore deve usare strategie correttive, legate alla conoscenza della struttura del testo da leggere Ennio Ottaviani - 2019
Features per OCR • Dal punto di vista del PR, le applicazioni OCR richiedono innanzitutto una definizione delle features da utilizzare • Le features ideali devono rispondere a diversi requisiti: – Computabilità – Discriminatività – Invarianza • Il concetto di invarianza assume particolare importanza nelle applicazioni OCR dove il testo da leggere può essere deformato: – geometricamente (ruotato, scalato, distorto prospetticamente) – pittoricamente (chiaro, scuro, rumoroso, corrotto) Ennio Ottaviani - 2019
Zonatura • Il metodo della zonatura prevede che l’immagine 2D a livelli di grigio del carattere da riconoscere venga tassellata in MxN regioni disgiunte rettangolari, e di ciascuna venga misurato il grigio medio • Il metodo è adatto per immagini binarie, mentre nel caso generico occorre una normalizzazione dei livelli di grigio prima della zonatura • La scelta di M,N è critica – valori piccoli → poco discriminanti – valori grandi → computazione onerosa Ennio Ottaviani - 2019
Momenti • Uno schema per generare feature invarianti per trasformazioni assegnate di una immagine f(x,y) si basa sui momenti • L’immagine viene interpretata come una distribuzione di probabilità • Se le coordinate (x,y) sono riferite al baricentro (m10/m00, m10/m00), si parla di momenti centrali μpq (invarianti per traslazione) • I momenti centrali del secondo ordine misurano le varianze di x,y. I momenti di ordine superiore (normalizzati), sono utili per la classificazione Ennio Ottaviani - 2019
Momenti invarianti • Descrittori di forma • Invarianti di scala • Invarianti per rotazione (Hu) ……. Ennio Ottaviani - 2019
Altri insiemi di feature per OCR • Non esiste un insieme di features che sia il migliore in qualunque applicazione, e la scelta è spesso frutto di tentativi • Schemi di feature extraction molto diffusi sono: – coefficienti di Fourier 2D – codifiche del contorno – mappe di punti salienti • La prassi suggerisce di calcolare molte più features di quanto realmente necessario, e di selezionare in seguito le migliori – feature selection (selezione di sottoinsiemi) – feature generation (combinazioni lineari ottimali) Ennio Ottaviani - 2019
Istogramma dei gradienti orientati • Utilizza come features di base le componenti dell’istogramma delle direzioni del gradiente dell’immagine segmentata (HOG) Ennio Ottaviani - 2019
Classificazione caratteri • In un sistema OCR, se la segmentazione ha operato correttamente, la classificazione di solito non presenta problemi, almeno per applicazioni con testi basati su simbologie standardizzate • Anche poche features riescono già a ottenere discriminazioni • La classificazione è difficile quando la distribuzione delle classi contiene anche una variabilità indotta dagli stadi precedenti, che complica la definizione delle superfici di separazione • A volte il training iniziale non è sufficiente per rappresentare tutte le possibili variabilità. E’ importanza quindi la capacità di generalizzare Ennio Ottaviani - 2019
Esempio • Esempio di OCR a font fisso usando solo due features (orientazione e skewness) Ennio Ottaviani - 2019
Font per OCR • I font tipicamente utilizzati nei sistemi OCR a larga diffusione sono solo una piccola parte di quelli possibili (es. in un editor per PC) • Sono stati studiati apposta per facilitare il riconoscimento con elevate prestazioni Ennio Ottaviani - 2019
OCR Postale • Lo smistamento della corrispondenza usa da anni sistemi OCR per leggere indirizzi • Le lettura del dattiloscritto o del manoscritto stampatello sono oggi considerate quasi “banali” • Ancora non disponibili invece OCR efficaci per il corsivo • La localizzazione dell’indirizzo (Address Block Location, ABL) è il vero problema delle applicazioni postali, a causa di: – ambiguità (indirizzi multipli) – complessità dei pezzi postali (es. riviste) – diverse tipologie di scrittura dell’indirizzo Ennio Ottaviani - 2019
Form processing • Indica la capacità di estrarre dati alfanumerici da moduli compilati a mano e quindi scannerizzati • Richiede la definizione del layout del modulo, della tipologia e della posizione dei singoli campi Ennio Ottaviani - 2019
Evoluzione OCR Ennio Ottaviani - 2019
Evoluzione OCR • L’amministrazione postale USA pubblica un database di caratteri manoscritti reali (MNIST) su cui i fornitori devono competere Ennio Ottaviani - 2019
Evoluzione OCR • Su questo dataset molto complesso (e su altri a contenuto molto eterogeneo) i risultati migliori sono stati ottenute mediante una rete neurale convolutiva (CNN) Ennio Ottaviani - 2019
Sistemi ICR-IWR • I normali sistemi OCR vanno del tutto ripensati quando si opera con testo manoscritto • Si definiscono sistemi ICR quelli che, di solito grazie alla presenza di caselle, mantengono una segmentazione esplicita del testo in caratteri • I sistemi IWR (Intelligent Word Recognition) analizzano invece la singola parola come un oggetto unico (approccio olistico) • In questi sistemi è fondamentale la modellazione del linguaggio, per sfruttare al meglio l’informazione contestuale Ennio Ottaviani - 2019
Sistemi ICR-IWR • Il modello sintattico del linguaggio consente di correggere errori • Il modello semantico consente di creare frasi di senso compiuto Ennio Ottaviani - 2019
Sistemi OCV/OMR • Nella produzione di oggetti, occorre verificare che le informazioni testuali (codici) siano stampati correttamente • In questi casi non interessa leggere ma verificare la leggibilità. E’ un tipico problema binario: codice ok o nok • Talvolta codici opportuni (marker) sono usati come riferimento per individuare e posizionare correttamente i documenti Ennio Ottaviani - 2019
Lettura targhe • La lettura delle targhe (License Plate Recognition, LPR) è oggi un componente fondamentale per diverse applicazioni – Controllo di accessi (parcheggi, ZTL, … ) – Rilevamento di violazioni (passaggio col rosso, eccesso di velocità,…) – Recupero dei veicoli rubati – Analisi dei tempi di percorrenza – Esazione del pedaggio – Controlli di frontiera – ….. • Le targhe rappresentano un caso classico di OCR in partenza semplice (mono-font) ma reso complesso dalla variabilità indotta dall’ambiente Ennio Ottaviani - 2019
Algoritmo base LPR • Un algoritmo LPR non differisce da una normale OCR se non per gli aspetti legati alle immagini ed al tipo di testo da leggere Ennio Ottaviani - 2019
Localizzazione della targa • La presenza di un targa viene identificata utilizzando appositi filtri che identificano la presenza di transizioni di grigio (gradienti) • Di norma queste analisi vengono condotte lungo le righe dell’immagine, e confermate su righe adiacenti Ennio Ottaviani - 2019
Localizzazione della targa • Un approccio più moderno utilizza uno schema basato su una rappresentazione della targa mediante semplici features (Haar). • Con queste si cerca di apprendere una regola generale (complessa) per classificare regioni in targa/non targa Ennio Ottaviani - 2019
Localizzazione della targa • Approcci successivi usano un feature set predefinito (HOG) ed apprendono un modello mediante osservazione di casi positivi e negativi Ennio Ottaviani - 2019
Localizzazione della targa • I risultati sono buoni, ma dipendono molto dal training set utilizzato • La variabilità dei casi possibili è enorme, e quindi è difficile garantire a priori un livello minimo di prestazioni • Un tuning locale spesso risolve i casi più difficili Ennio Ottaviani - 2019
Segmentazione della targa • L’obiettivo della segmentazione è estrarre tutti i caratteri appartenenti alla targa. Sono di norma tollerati dei caratteri extra (spuri), ma è più complesso recuperare caratteri persi • La segmentazione deve compensare le inevitabili variazioni pittoriche e geometriche dovute alle condizioni di ripresa • Ci si riconduce quasi sempre ad una immagine binaria facile da trattare con tecniche classiche di elaborazione delle immagini (analisi delle componenti connesse) Ennio Ottaviani - 2019
Segmentazione della targa • L’analisi in componenti connesse prevede un passo critico di binarizzazione basato su una soglia. • Questo fatto può essere corretto combinando l’approccio MSER (Maximally Stable Extremal Regions), che analizza le componenti al variare della soglia, con un classificatore Ennio Ottaviani - 2019
Segmentazione della targa • La segmentazione deve gestire la variabilità prospettica (skew e slant) fino ad angoli anche elevati • I singoli caratteri devono essere tutti isolati prima di passare a OCR Ennio Ottaviani - 2019
Analisi contestuale • L’analisi contestuale comprende un insieme di metodologie per il trattamento di dati simbolici, finalizzato alla identificazione di termini appartenenti ad un lessico o comunque regolati da una grammatica • Dati di ingresso – Lista di simboli candidati (caratteri veri e falsi) con significato univoco oppure multiplo (con costi relativi) – Grammatica espressa come insieme di regole che definiscono le concatenazioni di simboli ammissibili (sintassi) – Eventuali criteri geometrici aggiuntivi (posizioni) • L’obiettivo finale è produrre una stringa di testo valida Ennio Ottaviani - 2019
Analisi contestuale per le targhe • Trattando testi di lunghezza limitata (e spesso nota a priori), si opera spesso per enumerazione diretta delle possibili concatenazioni di caratteri e successiva valutazione dell’ipotesi migliore • Nei casi più complessi si usa un approccio markoviano (ogni simbolo viene scelto sulla base del precedente, cercando la sequenza ottimale). I sistemi di questo tipo sono detti parsers • Attenzione: l’analisi contestuale permette di correggere errori di lettura e di saltare caratteri falsi ma non di recuperare caratteri persi! • In questi casi sono utili strategie iterative in cui si opera una nuova segmentazione vicino a dove si è avuta una lettura valida Ennio Ottaviani - 2019
Esempio • Si ricerca l’allineamento ottimo di una sequenza di 8 simboli compatibile con la grammatica delle targhe italiane (pre 1994) • La funzione di costo cumula una quantità positiva legata alla distanza di Mahalanobis 6 42 E 35 B 33 5 21 6 35 B 23 7 15 9 23 G 60 8 41 S 66 8 25 Z 33 8 38 • Senza analisi contestuale la lettura a costo minimo sarebbe 6EB56B79 (costo 227). Con le regole della grammatica si ha invece GEB56879 (costo 247) Ennio Ottaviani - 2019
Evoluzione LPR • Il traffico odierno ha una densità ed una distribuzione molto diversa rispetto agli anni ‘90, quando la tecnologia OCR in esterni è stata sviluppata • Un sistema LPR oggi deve essere necessariamente – multi nazione – multi font – multi veicolo • Questo pone problemi a livello di ripresa (risoluzione immagini), di OCR (addestramento) e di analisi contestuale (ambiguità) Ennio Ottaviani - 2019
Il controllo del traffico oggi Ennio Ottaviani - 2019
Lettura testi generici • Oggi molte applicazioni richiedono la capacità di estrarre e leggere testi in scene complesse e non strutturate • Occorrono metodi più robusti e flessibili del semplice LPR Ennio Ottaviani - 2019
Riconoscimento segnaletica • Si tratta di un OCR molto particolare, che integra il riconoscimento di primitive geometriche semplici (es. triangoli, quadrati) anche se prospetticamente deformati Ennio Ottaviani - 2019
Maker & model recognition (MMR) • E’ una applicazione moderna delle tecniche di PR in esterni, che utilizza la lettura per definire una regione di interesse dove analizzare la struttura dell’immagine al fine di identificare costruttore e modello • Un approccio semplice si basa sul riconoscimento di marchi (logo) Ennio Ottaviani - 2019
Puoi anche leggere