Torna ai progetti
OCR e documenti · CASO STUDIO

Ricevute lette sul telefono, anche senza internet

OCR offline per ricevute su Android

Un motore OCR per elaborare ricevute su Android senza inviare i documenti a servizi cloud.

>95%
precisione sulle ricevute
Offline
nessuna API cloud
0 €
di costi API per scansione
TensorFlow LiteOCRAI on device
Fotografia illustrativa di uno smartphone per rappresentare l’elaborazione su dispositivo
OCR e documenti
Immagine illustrativa
IL PROGETTO IN DETTAGLIO

Contesto e obiettivo.

Il progetto realizza un motore OCR completamente offline, progettato per elaborare le ricevute sui dispositivi Android. L’intera pipeline funziona localmente, senza API cloud o servizi esterni, ed è ottimizzata per l’hardware mobile. Il sistema include un framework di preelaborazione personalizzato, un modello OCR leggero per le ricevute e una conversione TensorFlow Lite pronta per l’integrazione in un ambiente di test Android.

01 / ESIGENZA DEL CLIENTE

Il problema da risolvere.

Il cliente aveva bisogno di un sistema di lettura delle ricevute interamente offline, senza inviare dati a server esterni o utilizzare servizi OCR cloud come Azure Document Intelligence. La soluzione esistente dipendeva da API di terze parti e non poteva funzionare sul dispositivo. L’obiettivo era creare un motore OCR locale capace di elaborare ricevute reali estratte dal database del cliente, sufficientemente veloce per l’hardware mobile e compatibile con la futura app Android e React Native.

02 / SOLUZIONE

Come ho affrontato il progetto.

Ho progettato una pipeline di Machine Learning in tre fasi, incentrata sulle prestazioni offline. Il processo è iniziato con la preparazione e la pulizia di migliaia di immagini di ricevute e file TXT esportati dal database del cliente. Questi dati sono stati utilizzati per addestrare e adattare architetture OCR adatte a un impiego leggero su dispositivi mobili, tra cui Donut per l’OCR e RoBERTa per la classificazione.

Nella seconda fase ho sviluppato un’applicazione capace di eseguire sia l’OCR sia l’estrazione con LLM, utilizzando modelli compatti come Qwen-2-0.5B, risultati sufficientemente rapidi e precisi per l’inferenza sul dispositivo. Nella fase finale il sistema completo è stato convertito in TensorFlow Lite per funzionare localmente su Android, senza comunicazioni con il cloud.

IL FUNZIONAMENTO

Dai dati al risultato.

01

Ricevute del cliente

Immagini e file TXT provenienti dal database, puliti e riorganizzati per addestramento ed estrazione dei campi.

02

Modelli compatti

Valutazione di Donut, RoBERTa e Qwen-2-0.5B per combinare lettura del testo, classificazione ed estrazione locale.

03

Esecuzione sul dispositivo

Conversione dei modelli e delle logiche di inferenza in un pacchetto TensorFlow Lite integrabile nell’app Android.

Schema descrittivo del flusso di lavoro del progetto.

03 / SVILUPPO

Le fasi del progetto.

3 fasi, dalla preparazione iniziale agli strumenti da consegnare.

01FASE

Pipeline dei dati e framework di preelaborazione

Tutte le immagini delle ricevute e gli output TXT di Azure sono stati puliti, suddivisi e preparati per l’addestramento. Ogni riga delle ricevute è stata ritagliata e normalizzata e il dataset è stato riorganizzato per il fine tuning OCR e l’estrazione con LLM. Questa fase ha prodotto l’intera raccolta pronta per l’addestramento.

02FASE

Addestramento e fine tuning del modello OCR personalizzato

Sono stati testati diversi modelli OCR, tra cui Donut per l’estrazione del testo e RoBERTa per la classificazione. La combinazione migliore è stata addestrata sui dati del cliente. È stata consegnata un’applicazione capace di eseguire OCR ed estrazione con LLM, insieme a codice sorgente, pesi dei modelli e spiegazioni delle fasi di addestramento.

03FASE

Conversione TensorFlow Lite e pacchetto pronto per Android

I modelli e le logiche di inferenza sono stati convertiti in TensorFlow Lite per l’impiego su dispositivi mobili. Il risultato è un pacchetto di codice completo e pronto per i test, conforme ai vincoli Android, integrabile nell’app del cliente e valutabile su dispositivi reali.

04 / RISULTATI E CONSEGNA

Il risultato del lavoro.

La pipeline offline è stata sviluppata, testata e consegnata con successo. Il motore OCR funzionava localmente, senza dipendenze dal cloud o chiamate ad API esterne. Il cliente ha potuto eseguire i modelli, esaminare il codice e testare diversi campioni di ricevute. La precisione raggiunta ha superato il 95%. Sono state fornite ulteriori versioni per semplificare l’esecuzione, con miglioramenti nella gestione dei percorsi e nelle prestazioni.

  • Il sistema OCR e NLP ha superato il 95% di precisione sulle ricevute reali.
  • Elabora oltre 1.000 ricevute in pochi secondi, completamente offline.
  • Eliminazione dell’OCR cloud: l’intera pipeline funziona localmente.
  • Precisione migliorata con nuovi dati di ricevute ed esportazioni TXT di Azure.
  • Consegna di un modello TensorFlow Lite pronto per la distribuzione e l’integrazione Android.

Le prestazioni riportate descrivono i risultati indicati nella scheda originale e i dati di quel progetto. Accuratezza e tempi di elaborazione dipendono da dataset, hardware e condizioni di test.

IL PROSSIMO PROGETTO

Parliamo del tuo
progetto.

Descrivimi cosa vuoi ottenere e quali dati hai a disposizione. La prima call di 30 minuti è gratuita.

Parliamo del tuo progetto