Pipeline OCR end-to-end con Keras e TensorFlow

Utilizza Keras-OCR per un riconoscimento del testo semplice ma potente in Python.

Cos'è l'API Keras-OCR?

Keras-OCR è una libreria Python open-source di alto livello progettata per semplificare le attività di riconoscimento ottico dei caratteri (OCR) sfruttando la potenza di Keras e TensorFlow. A differenza dei sistemi OCR tradizionali che richiedono un'ampia configurazione, Keras-OCR offre una pipeline completa con modelli pre-addestrati per la rilevazione del testo (utilizzando l'algoritmo CRAFT) e il riconoscimento del testo (tramite un modello CRNN). Questa combinazione consente agli sviluppatori di estrarre testo da immagini, documenti scansionati o persino appunti scritti a mano con poche righe di codice.

La libreria è ottimizzata per casi d'uso reali, tra cui:

  • Digitalizzazione documenti: Converti documenti cartacei o PDF in testo ricercabile.
  • Inserimento dati automatizzato: Estrai testo da fatture, ricevute o moduli.
  • Strumenti di accessibilità: Genera testo alternativo per immagini in applicazioni web.
  • Analisi social media: Elabora testo incorporato in meme o contenuti generati dagli utenti.

Con il supporto integrato per l'elaborazione in batch e l'accelerazione GPU opzionale, Keras-OCR bilancia facilità d'uso e prestazioni, rendendolo ideale sia per prototipazione che per deployment in produzione.

GitHub

Statistiche GitHub

Nome:
Lingua:
Stelle:
Forchette:
Licenza:
L'ultimo aggiornamento del repository è avvenuto il

Caratteristiche principali di Keras-OCR

  • Modelli pre-addestrati: Include CRAFT (rilevatore) e CRNN (riconoscitore) per un uso immediato.
  • Configurazione semplice: Dipendenze minime (Keras, TensorFlow, OpenCV).
  • Elaborazione in batch: Processa più immagini in parallelo per efficienza.
  • Addestramento personalizzato: Affina i modelli sui tuoi dataset.
  • GPU non richiesta: Funziona su CPU ma accelera con GPU.
  • Output bounding box: Restituisce testo con coordinate per analisi spaziali.
  • Open source: Gratuito, guidato dalla comunità e con licenza MIT.

Installazione

Installa Keras-OCR via pip (richiede Python 3.6+):

Installa Keras-OCR


pip install keras-ocr

Per il supporto GPU, assicurati di avere TensorFlow con GPU installato:

Installa TensorFlow GPU


pip install tensorflow-gpu

Esempi di codice

Di seguito esempi pratici per estrarre testo da immagini utilizzando Keras-OCR.

Rilevamento testo Keras-OCR

Esempio 1: Rilevamento e riconoscimento testo base

Questo esempio mostra come usare la pipeline pre-addestrata per estrarre testo da un'immagine:

Pipeline OCR base


import keras_ocr

pipeline = keras_ocr.pipeline.Pipeline()
images = ["receipt.jpg"]
predictions = pipeline.recognize(images)
print(predictions)

Esempio 2: Elaborazione in batch

Processa più immagini contemporaneamente per efficienza:

Elaborazione in batch


import keras_ocr

pipeline = keras_ocr.pipeline.Pipeline()
images = ["image1.jpg", "image2.jpg", "image3.jpg"]
batch_predictions = pipeline.recognize(images)
for prediction in batch_predictions:
    print(prediction)

Esempio 3: Visualizzazione bounding box

Disegna i riquadri del testo rilevato sull'immagine originale:

Visualizza risultati


import matplotlib.pyplot as plt
import keras_ocr

pipeline = keras_ocr.pipeline.Pipeline()
image = keras_ocr.tools.read("document.jpg")
predictions = pipeline.recognize([image])
keras_ocr.tools.drawAnnotations(image, predictions[0])
plt.imshow(image)
plt.show()

Conclusione

Keras-OCR semplifica l'estrazione del testo con la sua pipeline pronta all'uso, rendendolo una scelta eccellente per sviluppatori che necessitano di OCR veloce e preciso senza configurazioni complesse. La sua integrazione con Keras e TensorFlow permette personalizzazioni, mentre l'elaborazione in batch assicura scalabilità.

Che tu stia costruendo scanner di documenti, automatizzando l'inserimento dati o analizzando contenuti social media, Keras-OCR fornisce una soluzione leggera ma potente.

Prodotti Simili

 Italiano