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ó.
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.
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.