Kompletní OCR pipeline s Keras a TensorFlow
Použijte Keras-OCR pro jednoduché, ale výkonné rozpoznávání textu v Pythonu.
Co je Keras-OCR API?
Keras-OCR je vysokoúrovňová open-source Python knihovna navržená pro zjednodušení úloh optického rozpoznávání znaků (OCR) pomocí síly Keras a TensorFlow. Na rozdíl od tradičních OCR systémů, které vyžadují rozsáhlou konfiguraci, Keras-OCR nabízí kompletní pipeline s předtrénovanými modely pro detekci textu (pomocí algoritmu CRAFT) a rozpoznávání textu (pomocí CRNN modelu). Tato kombinace umožňuje vývojářům extrahovat text z obrázků, naskenovaných dokumentů nebo dokonce ručně psaných poznámek pomocí několika řádků kódu.
Knihovna je optimalizována pro reálné případy použití, včetně:
- Digitalizace dokumentů: Převod papírových dokumentů nebo PDF na prohledatelný text.
- Automatizovaný vstup dat: Extrakce textu z faktur, účtenek nebo formulářů.
- Nástroje přístupnosti: Generování alternativního textu pro obrázky ve webových aplikacích.
- Analýza sociálních médií: Zpracování textu vloženého do memů nebo uživatelského obsahu.
S vestavěnou podporou pro dávkové zpracování a volitelným GPU zrychlením, Keras-OCR vyvažuje snadné použití a výkon, což ho činí ideálním jak pro prototypování, tak pro produkční nasazení.
Klíčové vlastnosti Keras-OCR
- Předtrénované modely: Obsahuje CRAFT (detektor) a CRNN (rozpoznávač) pro okamžité použití.
- Snadné nastavení: Minimální závislosti (Keras, TensorFlow, OpenCV).
- Dávkové zpracování: Zpracování více obrázků paralelně pro efektivitu.
- Vlastní trénování: Upravte modely na vlastních datech.
- GPU není vyžadováno: Funguje na CPU, ale zrychluje s GPU.
- Výstup ohraničujících boxů: Vrací text s souřadnicemi pro prostorovou analýzu.
- Open source: Zdarma, komunitou řízené a s licencí MIT.
Instalace
Nainstalujte Keras-OCR pomocí pip (vyžaduje Python 3.6+):
Instalace Keras-OCR
pip install keras-ocr
Pro podporu GPU se ujistěte, že máte nainstalovaný TensorFlow s GPU:
Instalace TensorFlow GPU
pip install tensorflow-gpu
Příklady kódu
Níže jsou praktické příklady extrakce textu z obrázků pomocí Keras-OCR.
Příklad 1: Základní detekce a rozpoznání textu
Tento příklad ukazuje, jak použít předtrénovaný pipeline k extrakci textu z obrázku:
Základní OCR pipeline
import keras_ocr
pipeline = keras_ocr.pipeline.Pipeline()
images = ["receipt.jpg"]
predictions = pipeline.recognize(images)
print(predictions)
Příklad 2: Dávkové zpracování
Zpracujte více obrázků najednou pro efektivitu:
Dávkové zpracování
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)
Příklad 3: Vizualizace ohraničujících boxů
Nakreslete detekované textové boxy na původní obrázek:
Vizualizace výsledků
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()
Závěr
Keras-OCR zjednodušuje extrakci textu svým připraveným pipeline, což z něj činí skvělou volbu pro vývojáře, kteří potřebují rychlé a přesné OCR bez složitého nastavení. Jeho integrace s Keras a TensorFlow umožňuje přizpůsobení, zatímco dávkové zpracování zajišťuje škálovatelnost.
Ať už vytváříte skenery dokumentů, automatizujete vstup dat nebo analyzujete obsah sociálních médií, Keras-OCR poskytuje lehké, ale výkonné řešení.