Pipeline OCR completo com Keras e TensorFlow
Use Keras-OCR para reconhecimento de texto simples mas poderoso em Python.
O que é a API Keras-OCR?
Keras-OCR é uma biblioteca Python de código aberto de alto nível projetada para simplificar tarefas de reconhecimento óptico de caracteres (OCR) usando o poder do Keras e TensorFlow. Diferente de sistemas OCR tradicionais que requerem configuração extensa, Keras-OCR oferece um pipeline completo com modelos pré-treinados para detecção de texto (usando o algoritmo CRAFT) e reconhecimento de texto (via modelo CRNN). Esta combinação permite que desenvolvedores extraiam texto de imagens, documentos digitalizados ou até notas manuscritas com apenas algumas linhas de código.
A biblioteca é otimizada para casos de uso reais, incluindo:
- Digitalização de documentos: Converter documentos em papel ou PDF para texto pesquisável
- Entrada de dados automatizada: Extrair texto de faturas, recibos ou formulários
- Ferramentas de acessibilidade: Gerar texto alternativo para imagens em aplicações web
- Análise de mídia social: Processar texto embutido em memes ou conteúdo gerado por usuários
Com suporte nativo para processamento em lote e aceleração GPU opcional, Keras-OCR equilibra facilidade de uso com performance, tornando-o ideal tanto para prototipagem quanto para ambientes de produção.
Principais recursos do Keras-OCR
- Modelos pré-treinados: Inclui CRAFT (detector) e CRNN (reconhecedor) para uso imediato
- Configuração fácil: Dependências mínimas (Keras, TensorFlow, OpenCV)
- Processamento em lote: Processa múltiplas imagens em paralelo para eficiência
- Treinamento personalizado: Ajuste os modelos com seus próprios conjuntos de dados
- GPU não obrigatória: Funciona em CPU mas acelera com GPU
- Saída de bounding boxes: Retorna texto com coordenadas para análise espacial
- Código aberto: Gratuito, mantido pela comunidade e licenciado sob MIT
Instalação
Instale o Keras-OCR via pip (requer Python 3.6+):
Instalar Keras-OCR
pip install keras-ocr
Para suporte a GPU, certifique-se de ter o TensorFlow com GPU instalado:
Instalar TensorFlow GPU
pip install tensorflow-gpu
Exemplos de código
Abaixo estão exemplos práticos para extrair texto de imagens usando Keras-OCR.
Exemplo 1: Detecção e reconhecimento básico de texto
Este exemplo mostra como usar o pipeline pré-treinado para extrair texto de uma imagem:
Pipeline OCR básico
import keras_ocr
pipeline = keras_ocr.pipeline.Pipeline()
images = ["receipt.jpg"]
predictions = pipeline.recognize(images)
print(predictions)
Exemplo 2: Processamento em lote
Processe várias imagens de uma vez para eficiência:
Processamento em lote
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)
Exemplo 3: Visualização de bounding boxes
Desenhe caixas de texto detectadas na imagem original:
Visualizar resultados
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()
Conclusão
Keras-OCR simplifica a extração de texto com seu pipeline pronto para uso, tornando-o uma excelente escolha para desenvolvedores que precisam de OCR rápido e preciso sem configuração complexa. Sua integração com Keras e TensorFlow permite personalizações, enquanto o processamento em lote garante escalabilidade.
Seja você estiver construindo scanners de documentos, automatizando entrada de dados ou analisando conteúdo de mídia social, Keras-OCR fornece uma solução leve mas poderosa.