Guida alla lettura ottica
[05] Pre-elaborazione immagini
Migliore è la qualità di un’immagine, migliore è la qualità del riconoscimento.
Le soluzioni professionali di lettura ottica consentono di avvalersi di potenti funzionalità di pre-elaborazione immagini, così da ottimizzare la qualità delle stesse prima di sottoporle ai motori di riconoscimento. Questa preventiva attività sulle immagini consente di migliorare i risultati di lettura, contribuendo a eliminare (o almeno a minimizzare) numerosi fattori potenzialmente pericolosi ai fini di una corretta lettura. E’ evidente come la fase di pre-elaborazione sia fondamentale soprattutto in presenza di documenti ricevuti dall’esterno, frutto di un processo di scansione o acquisizione non controllato.
Di seguito sono brevemente indicate alcune delle più comuni funzionalità di image pre-processing. E’ importante verificare che la soluzione software prescelta includa tutte queste caratteristiche, e non si limiti esclusivamente al solo “OCR”.
Raddrizzamento (Deskew)
Per l’acquisizione dei documenti spesso si utilizzano veloci scanner professionali dotati di alimentatore automatico di fogli (ADF). Per le inevitabili tolleranze della meccanica e per la scarsa rigidità dei fogli di carta è normale che le immagini dei documenti si presentino leggermente inclinate verso destra o verso sinistra invece che perfettamente diritte e allineate con gli assi orizzontali e verticali. Il termine tecnico anglosassone comunemente utilizzato per indicare tale inclinazione è chiamato skew, che letteralmente vuol dire “pendenza”, e che di solito non supera i +/- 5°. L’operazione di correzione della pendenza, ossia il raddrizzamento dell’immagine, viene denominato quindi deskew. Tale correzione può oggi essere eseguita in totale autonomia dal software senza intervento umano: il sottosistema di image processing preposto a tale attività analizza l’immagine per valutare l’entità dell’angolo di inclinazione così che possa opportunamente ruotarla per renderla perfettamente diritta, correggendo il difetto introdotto dalla scansione. I tools più efficaci oggi disponibili riescono a contenere il tempo di elaborazione in poche frazioni di secondo ed a raggiungere un’accuratezza davvero elevata, arrivando anche ad 1/100 di grado, potendo contestualmente lavorare non soltanto su immagini monocromatiche ma anche su immagini in scala di grigio ed a colori.
Rimozione bordo nero (Black Border Removal)
Alcune tipologie di scanner ad elevata produttività utilizzano uno sfondo nero invece che bianco per due motivi fondamentali: evitare problemi di trasparenza acquisendo fogli molto sottili e consentire l’acquisizione contemporanea di fogli di dimensioni diverse. L’immagine del documento acquisito può quindi presentare spessi bordi costituiti da fasce annerite. L’operazione di identificazione ed eliminazione di questi bordi è chiamata black border removal e può essere eseguita automaticamente da una procedura software che, dopo aver analizzato l’immagine, può tagliare via la parte nera aggiuntiva sui quattro lati del foglio o può semplicemente sbiancarla, in base alle impostazioni prescelte. Anche in questo caso non è necessario intervento dell’operatore, i tempi di elaborazione sono pressoché istantanei e si può agire indifferentemente su immagini in bianco e nero, in scala di grigi ed a colori.
Rimozione rumore (Despeckle)
Talvolta capita che le immagini acquisite presentino dello sporco costituito da punti neri isolati, dovuti a polvere depositata sui sensori di acquisizione o addirittura ad interferenze elettrostatiche dovute a surriscaldamento dei componenti elettronici. Il termine anglosassone utilizzato per identificare questa tipologia di sporco è la parola speckle, e l’operazione di pulizia per l’identificazione e la rimozione di questi punti è definita despeckle. I tool software che effettuano questo tipo di elaborazione non necessitano di intervento umano, sono estremamente veloci e possono lavorare su immagini monocromatiche, in scala di grigio o a colori. Quelli più efficaci possono implementare degli algoritmi avanzati tali che pur eliminando elementi di sporco molto grandi evitano che segni di punteggiatura o punti sulle “i” possano essere rimossi in modo accidentale.
Auto-orientamento
Non tutti i documenti cartacei sono scritti in modalità “portrait”, ossia, pensando ad un foglio A4, con l’orientamento naturale per la lettura tale che la parte stretta sia la base del foglio. Talvolta capita che grafici, tabelle, schede ed elaborati simili siano stampati in modalità “landscape”, ossia, riferendoci sempre ad un foglio A4, con la parte larga come base del foglio. Quando si effettua la scansione di documenti, la si fa sempre con il medesimo orientamento per cui ci si troverà con immagini correttamente ruotate per la lettura e con altre no. Per evitare che, durante la successiva consultazione dei documenti, l’operatore debba ripetutamente usare funzioni di rotazione per poter leggere correttamente a schermo il documento, sono state sviluppate apposite funzioni di auto‐orientamento che consentono di effettuare automaticamente tale operazione in batch, su un gruppo di documenti, senza intervento umano. Tali tools consentono quindi di individuare il corretto orientamento di lettura e di decidere autonomamente se il documento è dritto o se ruotare automaticamente le immagini di 90, 270 o 180 gradi.
Binarizzazione dinamica (Dynamic thresholding)
Gli scanner, anche quelli monocromatici, nell’acquisire un documento effettuano di fatto una misurazione della quantità di luce riflessa dalla superficie del foglio, ottenendo dai circuiti elettronici un valore solitamente compreso tra 0 e 255. Dovendo restituire una immagine in scala di grigi, viene restituito proprio tale valore, ma dovendo restituire una immagine monocromatica, si deve impostare un valore di soglia, al di sotto del quale il punto è considerato nero, al di sopra è considerato bianco. La selezione di questa soglia è un’operazione alquanto delicata in quanto in base ad essa si possono ottenere documenti leggibili oppure troppo chiari o troppo scuri. Se una immagine è troppo chiara, oppure troppo scura, potrebbe risultare difficile leggere i dati in essa contenuti, cosa alquanto grave se non ci si accorge tempestivamente del problema ma solo quando ormai è troppo tardi, quando cioè si ha necessità del documento ma l’originale cartaceo non è più reperibile. Ma il problema maggiore è dato dal fatto che, più spesso di quanto non s’immagini, non c’è possibilità che un valore di soglia, qualsiasi esso sia, renda l’immagine leggibile in ogni sua parte. E’ per risolvere queste problematiche che sono nati i tools di thresholding dinamico, che anziché utilizzare un valore di soglia valido per tutta quanta l’immagine, calcolano un valore di soglia specifico per ciascun punto dell’immagine, in base a diversi algoritmi più o meno evoluti. Con tale sistema si riesce ad evitare di perdere scritte particolarmente chiare su fondo chiaro o di trasformare in macchie nere le scritte scure su fondo particolarmente scuro. Probabilmente questa tecnologia è una delle più complesse e la maggior problematicità sta nell’individuare sia la tipologia di thresholding dinamico più appropriata ai propri documenti, sia gli eventuali parametri richiesti. Comunque le ultime novità in questo campo consentono di non dover impostare alcun parametro così che sia lo stesso sistema ad analizzare l’immagine e decidere quali siano i parametri più appropriati per processarla nel migliore dei modi.
Filtro colore (Color drop-out)
Non di rado capita che sia necessario acquisire un documento a colori per averne una versione fedele all’originale per la conservazione a lungo termine, ma nel contempo può servire una copia monocromatica per operazioni di lettura ottica. Si pensi ad esempio alle ricette mediche, oppure alla modulistica ottimizzata per la lettura ottica, che è costituita da una parte prestampata di un unico colore come rosso o verde, scelto per essere rimosso direttamente durante la fase di scansione monocromatica. In questi casi una tecnologia che può risultare utile è il color dropping, ossia l’eliminazione di un range di colori specifico dall’immagine. Viene praticamente emulato ed amplificato ciò che avviene utilizzando uno scanner dotato di lampada colorata per il filtraggio del colore, partendo quindi dall’immagine a colori ed arrivando a quella monocromatica. In questo modo anche acquisendo a colori, successivamente si possono ottenere immagini monocromatiche filtrate pronte per essere sottoposte a lettura ottica.
Compressione
Anche nel campo della compressione è possibile trarre vantaggio dai recenti sviluppi in image processing. Ad esempio è possibile fare in modo che il sistema riconosca in modo automatico se un foglio contiene fotografie o grafica colorata per cui sia preferibile memorizzarlo a colori, magari con compressione JPEG, oppure se è adeguata una sua rappresentazione in monocromatico ed il suo salvataggio con compressione CCITT G4. Ma non solo: è anche possibile riuscire ad ottenere files altamente compressi suddividendo, sempre grazie a tools di image processing, il layer di testo nero su fondo bianco dalle immagini a colori, e salvando in files compound, come ad esempio il PDF, ciascun layer con la compressione ed il campionamento più appropriato, senza che sia percepibile alcuna perdita di qualità per l’utente.
Ricampionamento (Resampling)
Il ricampionamento consiste nel trasformare una immagine da una risoluzione ad un’altra. Ciò può essere richiesto ad esempio quando si acquisiscono dei documenti ad una risoluzione elevata per memorizzazione storica a lungo termine ma se ne vuole ottenere anche una versione più “leggera” per l’utilizzo corrente, per la distribuzione via web, etc… Utilizzando tools appositi è quindi possibile, ad esempio, ricampionare a 200 DPI immagini acquisite a 300 o 400 DPI senza necessità di doverle riscandire. E’ addirittura possibile fare in modo che, campionando le immagini in bassa risoluzione per crearne miniature o preview, vengano trasformate in scala di grigio così da renderle maggiormente leggibili (antialiasing).
Controllo qualità (Quality control)
Dovendo verificare la bontà di un numero cospicuo di immagini acquisite digitalmente, come nel caso di collaudo a seguito di outsourcing, sia da parte di chi ha reso il servizio, sia da parte di chi lo ha ricevuto, oppure a seguito di normali controlli periodici di qualità interni, è impensabile fare una verifica manuale visualizzando una ad una tutte le immagini per constatarne la corretta acquisizione e l’assenza di difetti. Ed ovviamente anche una verifica a campione non può dare un risultato esaustivo sull’intero set di documenti. Anche in questo caso possono essere utilizzate le tecnologie di image processing. Esiste infatti la possibilità di fare analizzare in modalità automatica le immagini così che si possa ottenere un esaustivo report degli eventuali difetti riscontrati, con l’indicazione precisa dell’immagine non conforme alle aspettative in modo tale che possa essere verificata, corretta o ridigitalizzata. I difetti riscontrabili possono essere: non leggibilità del file, inclinazione eccessiva, orientamento errato, presenza di bordi neri, presenza di sporco, basso contrasto, eccessiva o scarsa luminosità, angoli del foglio piegati, strappi lungo i bordi dei fogli, messa a fuoco errata.