Keras ve TensorFlow ile Uçtan Uca OCR Süreci
Python'da basit ancak güçlü metin tanıma için Keras-OCR'ı kullanın.
Keras-OCR API Nedir?
Keras-OCR, Keras ve TensorFlow'un gücünü kullanarak optik karakter tanıma (OCR) görevlerini kolaylaştırmak için tasarlanmış, yüksek seviye ve açık kaynaklı bir Python kütüphanesidir. Geleneksel OCR sistemlerinin aksine, Keras-OCR, metin tespiti (CRAFT algoritması) ve metin tanıma (CRNN modeli) için önceden eğitilmiş modellerle birlikte uçtan uca bir süreç sunar. Bu kombinasyon, geliştiricilerin görsellerden, taranmış belgelerden hatta el yazısı notlardan metin çıkarmasını yalnızca birkaç satır kodla mümkün kılar.
Kütüphane, gerçek dünya kullanım senaryoları için optimize edilmiştir:
- Belge dijitalleştirme: Kağıt belgeleri veya PDF'leri aranabilir metne dönüştürün.
- Otomatik veri girişi: Faturalardan, fişlerden veya formlardan metin çıkarın.
- Erişilebilirlik araçları: Web uygulamalarındaki görseller için alternatif metin oluşturun.
- Sosyal medya analizi: Meme'lerde veya kullanıcı tarafından oluşturulan içeriklerdeki metinleri işleyin.
Toplu işleme desteği ve isteğe bağlı GPU hızlandırma ile Keras-OCR, kullanım kolaylığı ve performansı dengeler, bu da onu hem prototipleme hem de üretim dağıtımları için ideal kılar.
Keras-OCR'ın Temel Özellikleri
- Önceden Eğitilmiş Modeller: Hemen kullanım için CRAFT (tespit) ve CRNN (tanıma) modellerini içerir.
- Kolay Kurulum: Minimum bağımlılık (Keras, TensorFlow, OpenCV).
- Toplu İşleme: Verimlilik için birden fazla görseli paralelde işleyin.
- Özel Eğitim: Modelleri kendi veri setlerinizde ince ayar yapın.
- GPU Gerekmez: CPU'da çalışır ancak GPU ile hızlanır.
- Sınırlayıcı Kutu Çıktısı: Metinleri konumsal analiz için koordinatlarla döndürür.
- Açık Kaynak: Ücretsiz, topluluk destekli ve MIT lisanslı.
Kurulum
Keras-OCR'ı pip ile kurun (Python 3.6+ gerektirir):
Keras-OCR Kurulumu
pip install keras-ocr
GPU desteği için TensorFlow GPU'nun kurulu olduğundan emin olun:
TensorFlow GPU Kurulumu
pip install tensorflow-gpu
Kod Örnekleri
Aşağıda, Keras-OCR kullanarak görsellerden metin çıkarmak için pratik örnekler bulunmaktadır.
Örnek 1: Temel Metin Tespiti ve Tanıma
Bu örnek, önceden eğitilmiş süreç kullanarak bir görselden metin çıkarmayı gösterir:
Temel OCR Süreci
import keras_ocr
pipeline = keras_ocr.pipeline.Pipeline()
images = ["receipt.jpg"]
predictions = pipeline.recognize(images)
print(predictions)
Örnek 2: Toplu İşleme
Verimlilik için birden fazla görseli aynı anda işleyin:
Toplu İşleme
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)
Örnek 3: Sınırlayıcı Kutuları Görselleştirme
Orijinal görsel üzerinde tespit edilen metin kutularını çizin:
Sonuçları Görselleştirme
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()
Sonuç
Keras-OCR, kullanıma hazır süreciyle metin çıkarmayı basitleştirir ve karmaşık kurulum gerektirmeden hızlı, doğru OCR ihtiyacı olan geliştiriciler için mükemmel bir seçimdir. Keras ve TensorFlow ile entegrasyonu, özelleştirmeye izin verirken toplu işleme ölçeklenebilirlik sağlar.
İster belge tarayıcıları oluşturuyor olun, ister veri girişini otomatikleştiriyor veya sosyal medya içeriğini analiz ediyor olun, Keras-OCR hafif ancak güçlü bir çözüm sunar.