التعرف البصري على الحروف (OCR)

التعرف البصري على الأحرف (OCR) هو عملية التعرف على الأحرف من الصور باستخدام رؤية الكمبيوتر وتقنيات التعلم الآلي. يوضح هذا التطبيق المرجعي كيفية استخدام TensorFlow Lite لإجراء التعرف الضوئي على الحروف. يستخدم مزيجًا من نموذج اكتشاف النص ونموذج التعرف على النص كخط أنابيب للتعرف الضوئي على الحروف للتعرف على أحرف النص.

البدء

إذا كنت مستخدمًا جديدًا لـ TensorFlow Lite وتعمل مع Android، فنوصيك باستكشاف التطبيق النموذجي التالي الذي يمكن أن يساعدك على البدء.

مثال أندرويد

إذا كنت تستخدم نظامًا أساسيًا غير Android، أو كنت على دراية بـ TensorFlow Lite APIs ، فيمكنك تنزيل النماذج من TF Hub .

كيف تعمل

غالبًا ما يتم تقسيم مهام التعرف الضوئي على الحروف إلى مرحلتين. أولاً، نستخدم نموذج اكتشاف النص لاكتشاف المربعات المحيطة بالنصوص المحتملة. ثانيًا، نقوم بتغذية المربعات المحيطة التي تمت معالجتها في نموذج التعرف على النص لتحديد أحرف محددة داخل المربعات المحيطة (نحتاج أيضًا إلى القيام بالقمع غير الأقصى، وتحويل المنظور وما إلى ذلك قبل التعرف على النص). في حالتنا، كلا النموذجين من TensorFlow Hub وهما نموذجان كميانان FP16.

معايير الأداء

يتم إنشاء أرقام قياس الأداء باستخدام الأداة الموضحة هنا .

اسم النموذج حجم النموذج جهاز وحدة المعالجة المركزية GPU
كشف النص 45.9 ميجابايت بكسل 4 (أندرويد 10) 181.93 مللي ثانية* 89.77 مللي ثانية*
التعرف على النص 16.8 ميجا بايت بكسل 4 (أندرويد 10) 338.33 مللي ثانية* غير متاح**

* 4 خيوط مستخدمة.

** لا يمكن لهذا النموذج استخدام مندوب GPU لأننا نحتاج إلى عمليات TensorFlow لتشغيله

المدخلات

يقبل نموذج اكتشاف النص موتر float32 رباعي الأبعاد (1، 320، 320، 3) كمدخل.

يقبل نموذج التعرف على النص موتر float32 رباعي الأبعاد (1، 31، 200، 1) كمدخل.

النواتج

يقوم نموذج الكشف عن النص بإرجاع موتر الشكل 4-D float32 (1، 80، 80، 5) كمربع محيط وموتر الشكل 4-D float32 (1،80، 80، 5) كنتيجة للكشف.

يقوم نموذج التعرف على النص بإرجاع موتر ثنائي الأبعاد float32 للشكل (1، 48) كمؤشرات التعيين إلى قائمة الحروف الأبجدية '0123456789abcdefghijklmnopqrstuvwxyz'

محددات

  • يتم تدريب نموذج التعرف على النص الحالي باستخدام بيانات تركيبية تحتوي على حروف وأرقام باللغة الإنجليزية، لذلك يتم دعم اللغة الإنجليزية فقط.

  • النماذج ليست عامة بما يكفي للتعرف الضوئي على الحروف (OCR) في البرية (على سبيل المثال، الصور العشوائية التي تم التقاطها بواسطة كاميرا الهاتف الذكي في حالة الإضاءة المنخفضة).

لذلك اخترنا 3 شعارات لمنتجات Google فقط لتوضيح كيفية إجراء التعرف الضوئي على الحروف باستخدام TensorFlow Lite. إذا كنت تبحث عن منتج التعرف الضوئي على الحروف (OCR) الجاهز للاستخدام على مستوى الإنتاج، فيجب عليك التفكير في Google ML Kit . يجب أن تكون مجموعة ML، التي تستخدم TFLite أدناه، كافية لمعظم حالات استخدام التعرف الضوئي على الحروف، ولكن هناك بعض الحالات التي قد ترغب فيها في إنشاء حل التعرف الضوئي على الحروف الخاص بك باستخدام TFLite. بعض الأمثلة هي:

  • لديك نماذج TFLite الخاصة بك لاكتشاف/التعرف على النص والتي ترغب في استخدامها
  • لديك متطلبات عمل خاصة (أي التعرف على النصوص المقلوبة) وتحتاج إلى تخصيص مسار التعرف الضوئي على الحروف
  • تريد دعم اللغات التي لا تغطيها ML Kit
  • لا تحتوي أجهزة المستخدم المستهدفة بالضرورة على خدمات Google Play مثبتة

مراجع