خطة عمل متكاملة للتعرف الضوئي على الحروف مع Keras و TensorFlow
استخدم Keras-OCR للتعرف على النصوص بطريقة بسيطة وقوية في بايثون.
ما هي واجهة برمجة تطبيقات Keras-OCR؟
Keras-OCR هي مكتبة بايثون مفتوحة المصدر ومتقدمة مصممة لتبسيط مهام التعرف الضوئي على الحروف (OCR) باستخدام قوة Keras و TensorFlow. على عكس أنظمة OCR التقليدية التي تتطلب تكوينًا معقدًا، توفر Keras-OCR خطة عمل متكاملة مع نماذج مدربة مسبقًا لكل من اكتشاف النصوص (باستخدام خوارزمية CRAFT) والتعرف على النصوص (عبر نموذج CRNN). هذا المزيج يسمح للمطورين باستخراج النصوص من الصور أو المستندات الممسوحة ضوئيًا أو حتى الملاحظات المكتوبة بخط اليد ببضعة أسطر من التعليمات البرمجية.
تم تحسين المكتبة لاستخدامها في سيناريوهات العالم الحقيقي، بما في ذلك:
- رقمنة المستندات: تحويل المستندات الورقية أو ملفات PDF إلى نصوص قابلة للبحث.
- إدخال البيانات الآلي: استخراج النصوص من الفواتير أو الإيصالات أو النماذج.
- أدوات الوصول: إنشاء نصوص بديلة للصور في تطبيقات الويب.
- تحليل وسائل التواصل الاجتماعي: معالجة النصوص المضمنة في الميمات أو المحتوى الذي ينشئه المستخدمون.
مع دعم مدمج للمعالجة المجمعة وتسريع GPU الاختياري، توفر Keras-OCR توازنًا بين السهولة والأداء، مما يجعلها مثالية للنماذج الأولية والنشر في بيئات الإنتاج.
الميزات الرئيسية لـ Keras-OCR
- نماذج مدربة مسبقًا: تتضمن CRAFT (كاشف) و CRNN (معرّف) للاستخدام الفوري.
- إعداد سهل: حد أدنى من التبعيات (Keras, TensorFlow, OpenCV).
- معالجة مجمعة: معالجة عدة صور في وقت واحد لتحسين الكفاءة.
- تدريب مخصص: ضبط النماذج على مجموعات البيانات الخاصة بك.
- لا حاجة لـ GPU: يعمل على وحدة المعالجة المركزية ولكن يتسارع مع وحدة معالجة الرسومات.
- إخراج مربعات تحديد: إرجاع النصوص مع إحداثيات للتحليل المكاني.
- مفتوح المصدر: مجاني، مدعوم من المجتمع ومرخص تحت MIT.
التثبيت
ثبّت Keras-OCR عبر pip (يتطلب Python 3.6+):
تثبيت Keras-OCR
pip install keras-ocr
لدعم وحدة معالجة الرسومات، تأكد من تثبيت TensorFlow مع وحدة معالجة الرسومات:
تثبيت TensorFlow GPU
pip install tensorflow-gpu
أمثلة على التعليمات البرمجية
فيما يلي أمثلة عملية لاستخراج النصوص من الصور باستخدام Keras-OCR.
المثال 1: اكتشاف النصوص الأساسي والتعرف عليها
يوضح هذا المثال كيفية استخدام خطوة العمل المدربة مسبقًا لاستخراج النصوص من صورة:
خطوة عمل OCR الأساسية
import keras_ocr
pipeline = keras_ocr.pipeline.Pipeline()
images = ["receipt.jpg"]
predictions = pipeline.recognize(images)
print(predictions)
المثال 2: المعالجة المجمعة
معالجة عدة صور في وقت واحد لتحسين الكفاءة:
المعالجة المجمعة
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)
المثال 3: تصور مربعات تحديد النصوص
رسم مربعات النصوص المكتشفة على الصورة الأصلية:
تصور النتائج
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()
الختام
يبسط Keras-OCR استخراج النصوص بخطة عمله الجاهزة للاستخدام، مما يجعله خيارًا رائعًا للمطورين الذين يحتاجون إلى OCR سريع ودقيق دون إعداد معقد. تكامله مع Keras و TensorFlow يسمح بالتخصيص، بينما تضمن المعالجة المجمعة قابلية التوسع.
سواء كنت تبني ماسحات ضوئية للمستندات، أو تُدخل البيانات آليًا، أو تحلل محتوى وسائل التواصل الاجتماعي، يوفر Keras-OCR حلاً خفيف الوزن وقويًا في نفس الوقت.