Pipeline OCR complet amb Keras i TensorFlow

Utilitza Keras-OCR per a un reconeixement de text senzill però potent en Python.

Què és l'API Keras-OCR?

Keras-OCR és una biblioteca Python d'alt nivell i de codi obert dissenyada per simplificar les tasques de reconeixement òptic de caràcters (OCR) utilitzant el poder de Keras i TensorFlow. A diferència dels sistemes OCR tradicionals que requereixen una configuració extensa, Keras-OCR ofereix un pipeline complet amb models pre-entrenats per a detecció de text (utilitzant l'algorisme CRAFT) i reconeixement de text (mitjançant un model CRNN). Aquesta combinació permet als desenvolupadors extreure text d'imatges, documents escanejats o fins i tot notes manuscrites amb només unes poques línies de codi.

La biblioteca està optimitzada per a casos d'ús del món real, incloent:

  • Digitalització de documents: Converteix documents en paper o PDF en text cercable.
  • Entrada de dades automatitzada: Extreu text de factures, rebuts o formularis.
  • Eines d'accessibilitat: Genera text alternatiu per a imatges en aplicacions web.
  • Anàlisi de xarxes socials: Processa text incrustat en mems o contingut generat per usuaris.

Amb suport integrat per a processament per lots i acceleració opcional per GPU, Keras-OCR equilibra facilitat d'ús i rendiment, fent-lo ideal tant per a prototipus com per a implementacions en producció.

GitHub

Estadístiques de GitHub

Nom:
Llenguatge:
Estrelles:
Forquilles:
Llicència:
El repositori es va actualitzar per última vegada a

Característiques principals de Keras-OCR

  • Models pre-entrenats: Inclou CRAFT (detector) i CRNN (reconeixedor) per a ús immediat.
  • Configuració senzilla: Dependències mínimes (Keras, TensorFlow, OpenCV).
  • Processament per lots: Processa múltiples imatges en paral·lel per eficiència.
  • Entrenament personalitzat: Ajusta els models amb els teus propis conjunts de dades.
  • No es requereix GPU: Funciona en CPU però s'accelera amb GPU.
  • Sortida de caixes delimitadores: Retorna text amb coordenades per a anàlisi espacial.
  • Codi obert: Gratuït, impulsat per la comunitat i amb llicència MIT.

Instal·lació

Instal·la Keras-OCR mitjançant pip (requereix Python 3.6+):

Instal·la Keras-OCR


pip install keras-ocr

Per a suport GPU, assegura't que tens TensorFlow amb GPU instal·lat:

Instal·la TensorFlow GPU


pip install tensorflow-gpu

Exemples de codi

A continuació es mostren exemples pràctics per extreure text d'imatges utilitzant Keras-OCR.

Detecció de text amb Keras-OCR

Exemple 1: Detecció i reconeixement bàsic de text

Aquest exemple mostra com utilitzar el pipeline pre-entrenat per extreure text d'una imatge:

Pipeline OCR bàsic


import keras_ocr

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

Exemple 2: Processament per lots

Processa múltiples imatges simultàniament per eficiència:

Processament per lots


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)

Exemple 3: Visualització de caixes delimitadores

Dibuixa les caixes de text detectades sobre la imatge original:

Visualitza els resultats


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()

Conclusió

Keras-OCR simplifica l'extracció de text amb el seu pipeline llest per usar, fent-lo una excel·lent opció per a desenvolupadors que necessiten OCR ràpid i precís sense configuració complexa. La seva integració amb Keras i TensorFlow permet personalització, mentre que el processament per lots assegura escalabilitat.

Tant si estàs construint escànners de documents, automatitzant l'entrada de dades o analitzant contingut de xarxes socials, Keras-OCR ofereix una solució lleugera però potent.

Productes Similars

 Catalan