Il riconoscimento ottico dei caratteri (OCR) rappresenta una tecnologia chiave in vari settori industriali poichè consente la lettura e l’elaborazione automatica del testo con estrema efficienza. Tuttavia, il processo di OCR comporta diverse sfide. In questo articolo esploreremo la storia dell’OCR, le principali considerazioni da tenere presenti e le moderne applicazioni di questa tecnologia.

 

Che cos’è il riconoscimento ottico dei caratteri (OCR)?

L‘Optical Character Recognition (OCR) è una tecnologia di visione artificiale utilizzata da tempo che consente alle macchine di riconoscere i caratteri numerici e di testo dalle immagini. Un sistema di riconoscimento ottico dei caratteri (OCR) legge i caratteri alfanumerici, mentre i sistemi di verifica ottica dei caratteri (OCV – Optical Character Verification) confermano la presenza e la correttezza di una stringa di caratteri.

 

Storia dell’OCR

Nella seconda metà del XX secolo, il mondo si basava su testi alfanumerici stampati e sull’immissione manuale dei dati. Assegni, fatture, imprinting di carte di credito e numeri di serie erano onnipresenti, e questa crescente mole di dati portò alla necessità di un riconoscimento automatico del testo.

Nel 1968, gli American Type Founders progettarono l’OCR-A, uno dei primi caratteri di riconoscimento ottico ad essere approvato dall’U.S. Bureau of Standards. Ogni carattere dell’OCR-A era progettato per essere abbastanza unico da essere riconosciuto facilmente da una macchina, ma risultava leggermente difficile da leggere per gli esseri umani. Per questo motivo, nel 1968, Adrian Frutiger creò l’OCR-B, un carattere più equilibrato, leggermente più difficile da riconoscere per le macchine, ma più facile da leggere per le persone.

L’OCR fu la prima grande applicazione della visione artificiale nel Regno Unito, con lo sviluppo dell’ANPR (Automatic Number Plate Recognition) alla fine degli anni ’70 da parte del British Police Scientific Development Branch.

 

Evoluzione Tecnologica

Con il passare degli anni, la tecnologia di riconoscimento ottico dei caratteri si è evoluta significativamente. Negli anni ’70 e ’80, i primi sistemi OCR erano in grado di riconoscere solo caratteri prestabiliti e stampati con font specifici. Tuttavia, con l’avvento dell’informatica e l’integrazione di algoritmi di intelligenza artificiale, la capacità di riconoscimento è migliorata notevolmente. I progressi nelle reti neurali hanno permesso ai sistemi OCR di riconoscere una varietà sempre più ampia di caratteri e stili di scrittura, inclusi i testi scritti a mano.

Oggi, l’OCR è una tecnologia matura utilizzata in una vasta gamma di applicazioni industriali e commerciali. Dalla digitalizzazione di documenti cartacei alla lettura automatica degli indirizzi nei servizi postali, questa tecnologia continua a essere una componente fondamentale nella trasformazione digitale dei processi aziendali.

 

 

I caratteri tipografici OCR-A e OCR-B. Il numero della carta di credito a sinistra è un classico esempio di OCR-A.

 

Esempio di targa GB

 

Scelta dei dispositivi di visione artificiale per sistemi OCR

L’OCR richiede l’integrazione di una telecamera per la visione artificiale  e un dispositivo di elaborazione delle immagini, come un PC industriale o una smart camera, equipaggiati con software di elaborazione delle immagini dedicato.

La selezione del dispositivo di visione artificiale per le applicazioni OCR dipende dalle esigenze specifiche dell’applicazione. Di seguito sono elencati alcuni dispositivi consigliati per la lettura di caratteri nelle applicazioni di visione artificiale:

 

Lettori di codici

I lettori di codici come FS20, FS40 e FS42 di Zebra sono ideali per la lettura precisa e veloce di codici a barre e QR in ambienti industriali e commerciali.

Lettore di codici FS40 - Zebra

Lettore di codici FS40 – Zebra

Smart camera

Le smart camera Iris GTX e VS di Zebra sono dispositivi adatti per applicazioni di visione industriale che richiedono prestazioni elevate e capacità di elaborazione immagini avanzate.

Smart Camera Iris GTX

Smart Camera Iris GTX – Zebra

Software

Ambienti di sviluppo come Aurora Design Assitant (ADA) e librerie di visione come Aurora Imaging Library (AIL) sono software specializzati per l’OCR e altre applicazioni di visione artificiale che offrono funzionalità avanzate di riconoscimento ottico dei caratteri e di automazione industriale.

Aurora Imaging Library (AIL) - Zebra Matrox

Aurora Imaging Library (AIL) – Zebra Matrox

Limitazioni dei sistemi OCR

Quando si implementa il riconoscimento ottico dei caratteri in contesti industriali, è essenziale considerare vari fattori che possono influenzare l’accuratezza e l’affidabilità del processo. Uno di questi fattori è legato agli errori che possono verificarsi.

 

Errori su stampa CIJ

Tappo bottiglia con stampa CIJ

Tappo di una bottiglia con stampa CIJ

 

 

Sul tappo di molti prodotti vengono stampate informazioni dinamiche che variano in base al lotto e al momento della produzione. La stampa CIJ, utilizzata principalmente nei settori alimentare e farmaceutico, è un metodo di stampa industriale senza contatto che genera un flusso continuo di gocce d’inchiostro da un ugello della testina di stampa. Questo metodo permette di stampare fino a 120.000 gocce al secondo grazie alla deflessione elettrostatica, applicando l’inchiostro su superfici di confezioni o etichette.

Nonostante la sua straordinaria efficienza per la stampa di grandi volumi, la CIJ può presentare problemi di leggibilità che influenzano l’accuratezza dell’OCR a causa di:

  • Velocità di Linea non Corretta: una velocità di linea troppo elevata può causare distorsioni nel testo stampato, rendendo difficile il riconoscimento dei caratteri.
  • Testine di Stampa Sporche: l’inchiostro secco o altre impurità possono ostruire l’ugello, alterando la qualità di stampa e causando la formazione di caratteri incompleti o deformati.
  • Distanze non Ottimali: se la distanza tra la testina di stampa e la superficie di stampa non è corretta, l’inchiostro può disperdersi, causando caratteri sfocati o deformati. Questi problemi possono creare difficoltà per i sistemi di visione artificiale nell’interpretare correttamente i caratteri stampati.

 

 

Esempio di errore di stampa: caratteri troppo vicini

Esempio di errore di stampa: caratteri troppo vicini. Un buon sistema di riconoscimento ottico dei caratteri deve essere in grado di riconoscere i caratteri correttamente anche in presenza di errori di stampa, mantenendo un alto livello di precisione.

 

 

 

Esempio stampa OCR

Un buon sistema OCR dovrà riconoscere il “4” in entrambi i casi, nonostante le differenze.

Font e caratteri tipografici

L’uso di font e caratteri tipografici riveste un’importanza fondamentale nel contesto del riconoscimento ottico dei caratteri. Molti caratteri tipografici presentano lettere molto simili tra loro, e questo rappresenta una sfida significativa per i sistemi OCR, soprattutto considerando che le stampe in massa devono essere economiche. Spesso vengono utilizzati testi a matrice di punti o altri caratteri con un alto grado di somiglianza per ottimizzare i costi di produzione.

Ad esempio, le targhe olandesi presentano delle lacune in alcuni caratteri proprio per migliorare la precisione del riconoscimento da parte dei sistemi di riconoscimento ottico dei caratteri.

 

 

Esempio di targa dei Paesi Bassi

Esempio di targa dei Paesi Bassi con spazi ottimizzati per migliorare la lettura da parte dei sistemi di visione.

 

 

OCR per segnaletica stradale e veicoli autonomi

Nel contesto dell’utilizzo della tecnologia OCR per la segnaletica stradale all’interno dei veicoli autonomi, è cruciale garantire che l’algoritmo sia in grado di riconoscere con precisione tutti i tipi di carattere utilizzati sui cartelli stradali. Le strade presentano una vasta gamma di stili di carattere: alcuni cartelli utilizzano solo maiuscole, altri includono un mix di maiuscole e minuscole, mentre altri sono completamente numerici o alfanumerici.

 

 

Esempio di segnaletica stradale

Esempio di segnaletica stradale

 

Se dovessimo esplorare tutti i requisiti e le considerazioni per il trattamento delle immagini in un sistema di visione artificiale dedicato a un veicolo completamente autonomo, dovremmo necessariamente analizzare l’integrazione di tecniche come l’OCR e il pattern matching per identificare simboli, forme e colori sui segnali stradali. In questo contesto, il deep learning emerge come un’opzione particolarmente efficace. Tuttavia, è cruciale confrontare l’approccio basato sul deep learning per l’OCR con i tradizionali metodi OCR.

 

Confronto tra OCR tradizionale e OCR ad apprendimento profondo

 

OCR tradizionale

La tecnologia OCR tradizionale utilizza tecniche di visione artificiale convenzionali sviluppate prima del deep learning. È veloce da implementare ma spesso meno preciso e flessibile rispetto all’OCR basato su apprendimento profondo. Richiede passaggi di pre-elaborazione come pulizia del documento e binarizzazione, e può necessitare della specificazione o creazione di font per il riconoscimento accurato.

 

OCR con apprendimento profondo

La tecnologia OCR basata su deep learning utilizza reti neurali per apprendere automaticamente le caratteristiche dei caratteri dai dati di addestramento. È più preciso e flessibile, in grado di gestire una varietà di caratteri senza specificare font specifici. Richiede un ampio set di dati di addestramento ma offre una maggiore precisione nel riconoscimento dei caratteri grazie alla sua capacità di estrazione automatica delle caratteristiche.

 

Dataset MNIST

MNIST: è un dataset open-source di deep learning molto popolare che comprende 70.000 esempi di cifre scritte a mano.

 

 

Differenze tra OCR Consumer e OCR Industriale

Con la rivoluzione dell’intelligenza artificiale in atto e gli algoritmi complessi presenti in ogni smartphone, le persone sono in grado di sfruttare algoritmi di elaborazione delle immagini estremamente efficaci nel palmo della mano. Quasi tutti i telefoni sono in grado di eseguire un OCR rapido e accurato attraverso le app per la fotocamera e la traduzione, e fanno anche un ottimo lavoro. Si tratta di qualcosa che l’Unità di Sviluppo Scientifico della Polizia poteva solo sognare nel 1976.

 

 

Gli ultimi iPhone possono eseguire l’OCR in tempo reale nei flussi di immagini e convertirli in testo modificabile e copiabile in pochi secondi.

 

Il mio smartphone è già molto bravo a fare l’OCR: perché dovrei implementare un sistema di visione industriale?

Bella domanda.

Anche se non sarebbe del tutto irrealistico pensare un giorno di poter sostituire i sistemi OCR industriali su larga scala con smartphone distribuiti sulle linee di produzione, la realtà è che oggi la tecnologia consumer non è abbastanza robusta e adatta agli ambienti industriali. Con un moderno smartphone è possibile scansionare una pagina di un libro, copiare la propria citazione preferita e condividerla in pochi istanti. Tuttavia, nello stesso lasso di tempo, un sistema OCR industriale su una singola linea di produzione può gestire e convalidare una stampa CIJ potenzialmente disordinata su 20-30 confezioni di paracetamolo. Questo risultato è possibile grazie a un setup avanzato con dati di addestramento robusti, una formazione accurata sui caratteri e l’integrazione con sistemi industriali potenti o telecamere intelligenti ottimizzate.

Affidarsi a sistemi di visione industriale è dunque essenziale per garantire applicazioni efficaci e affidabili nei contesti produttivi. Il nostro team è a disposizione per una consulenza gratuita senza impegno sul tuo impianto.

 

SCHEDE DEI PRODOTTI

immagine prodotto id 20839

Iris GTX 16000C

immagine prodotto id 21001

Zebra – Matrox 4Sight EV7