Riconoscimento del testo scritto a mano da smartphone e PC

Gli OCR sono abili nel riconoscimento ottico dei caratteri stampati ma spesso crollano miseramente quando devono elaborare testi scritti a mano con calligrafie differenti.

Le tecnologie OCR per il riconoscimento ottico dei caratteri assicurano una precisione superiore al 99% con i caratteri stampati e acquisiti da immagini in alta qualità. Per quanto riguarda il riconoscimento del testo scritto a mano i vari tipi di calligrafia, le differenze di spaziatura e le irregolarità nei testi scritti di proprio pugno possono causare grossi problemi e la precisione degli OCR cala drasticamente.

Grazie all’intelligenza artificiale e in particolare all’uso di reti neurali opportunamente addestrate anche il riconoscimento della scrittura a mano sta diventando sempre più accurata.

Anche se gli strumenti OCR tradizionali sono sul mercato dagli anni ’70 (ecco i migliori OCR per riconoscere il testo acquisito da scanner o da smartphone) non sono tantissimi gli strumenti che possono gestire bene il riconoscimento della scrittura a mano libera.
Oltre alle tecnologie di visione artificiale è quindi necessario ricorrere ad algoritmi di deep learning per raccogliere la sfida.

Una maggiore qualità dell’immagine è fondamentale per il riconoscimento della scrittura a mano, tuttavia le soluzioni OCR più avanzate devono affrontare anche altre problematiche:

  • Le immagini del testo scritto a mano hanno diversi livelli di qualità in base alla fotocamera utilizzata.
  • Le immagini spesso presentano qualche forma di sfondo che genera rumore e aumenta il tempo di elaborazione.
  • La varietà dei possibili stili di scrittura è immensa.
  • I caratteri possono essere obliqui, il che rende il riconoscimento più difficoltoso.
  • Simboli vicini possono essere collegati.
  • Esistono tanti diversi alfabeti di cui tenere conto.

Poiché la capacità di riconoscimento della scrittura dipende in larga misura dal comportamento delle reti neurali, i progressi di questi algoritmi influenzano profondamente le prestazioni degli strumenti OCR evoluti.

Google ha ad esempio spiegato che i suoi sistemi per il riconoscimento della scrittura sono stati sviluppati e vengono continuamente migliori seguendo varie fasi:

  • Introduzione di tutti i possibili caratteri dai diversi alfabeti.
  • Addestramento dello strumento per la segmentazione di ogni carattere in un testo.
  • Addestramento dello strumento per l’estrazione delle caratteristiche al fine di un’accurata identificazione dei caratteri.
  • Utilizzo e ottimizzazione continua degli algoritmi di elaborazione del linguaggio per migliorare le prestazioni di riconoscimento della scrittura. Per esempio, se lo strumento deve decidere tra “i” e “l” (lettera “i” minuscola e carattere “elle”) esso può analizzare l’intera parola e decidere il carattere adatto per fornire un risultato accurato.

Il software OCR di solito usa diversi motori di riconoscimento della scrittura che lavorano in modo sincrono per generare la rappresentazione dei caratteri più accurata possibile.

Poiché il riconoscimento dei testi scritti a mano è un sottocampo delle soluzioni OCR, di seguito riportiamo gli strumenti che permettono di ottimizzare questo tipo di attività e sviluppare soluzioni per la propria professione o per l’impresa:

  • Google Cloud Vision API
  • Microsoft Azure Read API
  • Hanvon Technology
  • Hanwang Technology
  • Infrrd.ai
  • MicroBlink
  • Mitek
  • MyScript
  • Selvasai
  • Unitek.ai
  • Vidado

Nanonets permette di addestrare l’intelligenza artificiale sviluppata dall’azienda per ottimizzare il riconoscimento dei caratteri scritti a mano estraendoli ad esempio da modelli di documenti che condividono la medesima struttura.
Effettuando il login da questa pagina è possibile effettuare dei test in proprio.

A beneficio degli sviluppatori citiamo questo esempio che usa Python, Google Cloud Vision, Handprint, Keras, NumPy, pandas, pdf2image e cv2 per estrarre testo scritto a mano da qualunque immagine memorizzata in locale.
A proposito di Keras, libreria open source per l’apprendimento automatico e le reti neurali scritta in Python, suggeriamo di approfondire con la lettura di questo documento dal titolo Handwriting recognition.

Come riconoscere il testo scritto a mano con Google

Per provare a riconoscere un testo scritto a mano con lo smartphone si può utilizzare l’app Google Lens: basta toccare su Cerca con la tua fotocamera, selezionare Testo quindi premere il pulsante di scatto.

In questa fase è opportuno verificare che tutte le parole siano state correttamente evidenziate da Google Lens. Toccando Seleziona testo quindi Copia testo, il testo riconosciuto verrà copiato nell’area degli appunti e si potrà incollarlo nell’app Google Docs, su Keep, OneNote, Word e così via: basta tenere premuto e incollare.

Scegliendo Copia sul computer il testo può essere inviato a un PC sul quale è installato Chrome come spiegato nell’articolo su come condividere indirizzi, immagini e testi da smartphone a PC.

In un altro articolo abbiamo visto cos’è Google Lens e come funziona.

Per ottenere risultati ancora più precisi si può scattare una foto al testo scritto a mano da riconoscere quindi effettuarne l’upload su Google Drive.
Da PC si deve raggiungere la home page di Google Drive, cliccare con il tasto destro del mouse sul file contenente la foto e infine scegliere Apri con, Documenti Google.

Google creerà un nuovo documento contenente l’immagine e, immediatamente sotto, il testo riconosciuto. L’operazione non sarà esente da errori, come si vede nell’immagine, ma con una semplice procedura è possibile acquisire qualunque testo scritto a mano e trasformarlo in testo modificabile.

Come strumenti online subito disponibili si possono provare PrepostSEO e Image to Text.

Ti consigliamo anche

Link copiato negli appunti