Tra le varie tecnologie di lettura ottica, l’OMR (Optical Mark Recognition), cioè la lettura ottica delle marcature, può sembrare la più banale, semplice da implementare e scontata nei risultati. L’esperienza tuttavia insegna che per ottenere risultati eccellenti bisogna tenere nella giusta considerazione tutta una serie di aspetti che sovente possono non essere di immediata percezione.

L’OMR essenzialmente consiste nel determinare se una casellina è vuota oppure è piena, definendo così un output duale che può essere costituito da un “1” oppure da uno “0”. La sequenza di valori binari ottenuta dalla lettura può essere poi ricombinata per ottenere altri valori composti, in base al significato che si è dato alle caselle. Per la sua elevata efficienza rispetto ad altre tecnologie di lettura ottica per segni manoscritti, come il ben più complesso ICR, la si preferisce in tutte quelle circostanze in cui può risolvere egregiamente la problematica di acquisizione dati.

Un classico esempio d’uso molto comune è rappresentato dalla giocata di una schedina del Totocalcio, del Lotto o del Super Enalotto: annerendo sulla scheda alcune caselline rappresentanti i numeri che desideriamo mettere in gioco, otteniamo che quando il supporto cartaceo è inserito nel terminale di gioco viene automaticamente registrata la giocata e stampata la ricevuta con le nostre scelte “in chiaro”. L’utilizzo della tecnologia OMR è nato parecchie decine di anni fa, con la disponibilità di appositi dispositivi hardware, i così detti “lettori ottici”, in grado di processare automaticamente della modulistica opportunamente predisposta, misurando la riflettività della luce sulla superficie del foglio in posizioni predeterminate.

Nel lontano 1938 fu presentato da IBM il primo dispositivo dotato di tecnologia OMR, chiamato Type 805 Test Scoring Machine, dedicato appunto alla lettura ottica dei test a scelta multipla in ambito didattico, in grado di avere una produttività 10 volte maggiore rispetto alla verifica manuale.

Il Type 805 Test Scoring Machine fu prodotto nel 1938 da IBM: è stato il primo dispositivo OMR elettromeccanico.

Gli attuali lettori ottici sono dotati di un array di sensori fotoelettrici, equidistanti, sul quale è fatto scorrere meccanicamente il foglio da processare. Il modulo deve essere quindi predisposto opportunamente così che le caselle, stampate con un colore specifico, si trovino nella posizione esatta su cui si trovano tali sensori, ed inoltre bisogna prevedere sul bordo del foglio, per ogni riga da leggere, un frame di sincronizzazione, una specie di casella nera, che indichi appunto quando devono essere attivati i sensori per eseguire il campionamento. E’ evidente quindi che l’utilizzo di un sistema hardware ha tutta una serie di limitazioni intrinseche difficilmente superabili.

Oggi le soluzioni prettamente hardware, sebbene ancora in uso in ambiti circoscritti, sono state soppiantante da soluzioni software, estremamente più flessibili, che utilizzano normali scanner documentali per acquisire la modulistica, operando poi il riconoscimento direttamente sull’immagine digitale ed ottenendo una produttività anche di centinaia di volte maggiore rispetto all’operatività manuale.

Nella tecnologia OMR è fondamentale la modalità con cui è discriminata una casella annerita da una vuota. Lavorando su un’immagine digitale, solitamente binarizzata, l’usuale discriminante utilizzata per valutare se una casella è piena, oppure vuota, è rappresentata dal rapporto tra pixel neri e pixel bianchi nell’area coperta dalla casella: selezionando opportunamente una soglia si potrebbe definire se una casella è piena oppure se è vuota. Nella pratica tuttavia accade che chi compili un modulo spesso invece di annerire e riempire completamente le caselle che intende selezionare, si limiti a marcarle con un segno di spunta, a barrarle, ad imporvi una X.

Utilizzando come discriminante soltanto la quantità di nero presente nella casella, si corre il rischio di identificare come vuole caselle che hanno solo un segno di spunta e di identificare come piene caselle che contengono solo punti spuri.

Ciò può comportare quindi che la percentuale di pixel neri si trovi al di sotto di quella minima stabilita necessaria a considerare la casella come piena ed il sistema quindi riporta la casella come vuota, anche se in realtà è biffata.

La soluzione adottata nella maggior parte dei casi è di utilizzare una soglia molto bassa, ma così facendo si corre il rischio che piccoli segni dovuti a ditate, sporco e macchie possano far ottenere il risultato opposto, cioè riportare come piena una casella che in realtà è vuota. Un’eccellente soluzione a questo problema è stata sviluppata da Recogniform Technologies e implementata nei propri prodotti di lettura ottica: oltre a calcolare la percentuale di pixel neri, è calcolata anche la dimensione del tratto di inchiostro presente nella casella, così da poter utilizzare una doppia soglia.

Un motore di riconoscimento OMR evoluto, grazie all’utilizzo della soglia di riempimento inchiostro e della soglia di estensione segno, consente una perfetta discriminazione tra caselle piene e vuote.

Con questa efficace soluzione, la presenza di sporco, cioè di punti neri isolati, può fare aumentare la quantità di pixel neri, ma non la dimensione del tratto scritto, mettendo al riparo da falsi positivi, cioè evita che caselle vuote siano date per piene. Viceversa, la presenza di un segno di spunta sottile, sebbene faccia aumentare di poco la quantità di pixel neri, fa aumentare la dimensione del tratto scritto, mettendo al riparo da falsi negativi, cioè evita che caselle biffate siano date per vuote.

Nel momento in cui non è possibile riconoscere automaticamente con assoluta certezza se una casella è piena oppure se è vuota, ecco che una soluzione software dimostra il suo vantaggio rispetto ad un lettore ottico, avendo la possibilità di poter presentare a video l’immagine e chiedere ad un operatore di confermare o modificare il dato rilevato.

Ma anche qui bisogna prestare la dovuta attenzione poiché di solito i moduli progettati per lettura automatica mediante OMR hanno le caselle disegnate con inchiostro cieco, cioè con un colore che è filtrato durante la fase di scansione (di solito rosso o verde chiaro), e che sull’immagine diventa quindi bianco.

In una immagine di questo tipo presentata sullo schermo, si vedrebbero soltanto le scritte di chi ha compilato il foglio come se fossero state apposte su una pagina bianca: senza avere quindi il riferimento della fincatura potrebbe essere difficile fare controlli sulla corretta interpretazione da parte del sistema di lettura.

Per ovviare a questo problema sono diverse le strade percorribili. Una prima soluzione può essere quella di acquisire il modulo a colori ed effettuare direttamente sull’immagine, via software, il filtraggio del colore della fincatura, solo durante l’elaborazione. Una seconda soluzione può essere quella di acquisire il modulo senza filtro colore, per cui la fincatura sarà visibile con il medesimo colore nero dai tratti apposti da chi ha riempito il modulo: in questo caso il sistema OMR deve tenere in considerazione anche la quantità di pixel neri presenti nelle caselle vuote che non risulterebbero totalmente bianche. Una terza soluzione può essere quella di acquisire il modulo filtrato, ma di ricostruirlo a video come se fosse stato acquisito non filtrato oppure addirittura a colori, utilizzando una tecnica di overlay, cioè di sovrapposizione di immagini.

Poiché ciascuna di queste soluzioni ha i propri vantaggi, alcuni sistemi di lettura ottica evoluti consentono all’utente di scegliere quale utilizzare a seconda dei casi e delle necessità.

Su di un modulo acquisito filtrando il colore con cui sono disegnate le caselle è più agevole effettuare il riconoscimento, ma è disagevole effettuare una eventuale verifica o correzione manuale dei dati (sopra). Sul medesimo modulo sul quale è stato impresso in overlay, dopo il riconoscimento, un modulo vuoto non filtrato è molto più agevole eseguire una eventuale verifica o correzione manuale dei dati (sotto).