مقدمة في التعرف الضوئي على الحروف [OCR] للمبتدئين
نشرت: 2021-02-08يتم استخدام OCR أو التعرف الضوئي على الأحرف (OCR) لاستخراج المعلومات من صور الفواتير والإيصالات ، أو أي شيء يحتوي على محتوى مكتوب عليها. لتطوير هذا الحل ، يمكن استخدام OpenCV لمعالجة الصور التي يمكن إدخالها بشكل أكبر في محرك Tesseract OCR الذي يمكنه استخراج النص من تلك الصور.
ومع ذلك ، لا يمكن أن تكون عملية إزالة النص فعالة إلا إذا كانت الصورة واضحة والنصوص مرئية بدرجة كافية. في تطبيقات البيع بالتجزئة ، لاستخراج النصوص من الفواتير ، قد تكون الفاتورة مغمورة بعلامات مائية ، أو يمكن أن يكون هناك ظل على الفاتورة يعوق المعلومات التي سيتم التقاطها.
يمكن أيضًا أن يكون التقاط أجزاء من المعلومات من صفحات أطول من النصوص مهمة شاقة. لمعالجة هذه المشاكل ، من الحكمة أنه في خط أنابيب استخراج المعلومات ، يوجد مكان من وحدة معالجة الصور يتعامل مع الصعوبات المذكورة أعلاه.
وهو يتألف من عدة عمليات فرعية ، مثل توطين النصوص وتجزئة الأحرف والتعرف على تلك الأحرف. على الرغم من أن القليل من الأنظمة تدير بدون تجزئة. يتم إنتاج هذه الطرق باستخدام عدة إجراءات ، مثل تطبيق طريقة المربع الصغرى لتقليل معدل الخطأ ودعم آلات المتجه لمطابقة الأحرف.
لا يزال ، في كثير من الأحيان لتحديد شغل شخصية في صورة ما ، يتم استخدام الشبكات العصبية التلافيفية (CNN). يمكن عرض النصوص على أنها سلسلة متسقة من الأحرف. يعد اكتشاف هذه الشخصيات وتحديدها بدقة أكبر من الصعوبات التي يمكن حلها باستخدام نوع خاص من الشبكات العصبية ، أي الشبكات العصبية المتكررة (RNN) والذاكرة طويلة المدى (LSTM).
يتم جمع الكلمات عن طريق تعديل النصوص إلى نقاط. علاوة على ذلك ، يتم فحص هذه الخطوط والمناطق بحثًا عن نص مكافئ. يتم تقسيم أسطر النص إلى كلمات فقط وفقًا لنوع التباعد بينها. طريقة تحديد الهوية مقسمة إلى خطوتين. أولاً ، يتم تحديد كل كلمة. يتم أيضًا تمرير كل كلمة كاملة أو محددة بشكل صحيح إلى مصنف متكيف كبيانات تدريب.
يتم فحص الصورة التي يتم استلامها كمدخلات ومعالجتها في أجزاء. يتم إدخال النص في نموذج LSTM سطرًا بسطر. Tesseract ، وهو محرك التعرف الضوئي على الأحرف ، متاح لأنظمة تشغيل مختلفة. يستخدم مزيجًا من بنية CNN و LSTM لتحديد النصوص من بيانات الصورة واشتقاقها بدقة. ومع ذلك ، فإن الصور ذات الضوضاء أو الظلال تعرقل دقة الاسترجاع.
لتقليل الضوضاء ، أو تحسين جودة الصورة ، يمكن إجراء المعالجة المسبقة للصورة باستخدام مكتبة OpenCV. يمكن أن تشتمل خطوات المعالجة المسبقة هذه على اكتشاف عائد الاستثمار أو المنطقة محل الاهتمام ، أو اقتصاص الصورة ، أو إزالة الضوضاء (أو المناطق غير المرغوب فيها) ، أو العتبة ، أو التمدد والتآكل ، أو اكتشاف الخطوط أو الحواف. بعد اكتمال هذه الخطوات ، يمكن لمحركات التعرف الضوئي على الحروف قراءة الصورة واستخراج النصوص ذات الصلة منها بشكل مثالي.
جدول المحتويات
الأدوات المستخدمة
1. OpenCV
OpenCV هي مكتبة متوافقة في الأصل مع اللغات C / C ++ و python. يتم استخدامه بشكل شائع لمعالجة البيانات مع عينات الصور. يوجد عدد كبير من الوظائف المفيدة المحددة مسبقًا في المكتبة والتي تنفذ التحولات الضرورية على عينات الصور. يمكن بسهولة تنفيذ جميع الوظائف المذكورة أعلاه مثل التمدد والتآكل والتقطيع واكتشاف الحواف وغيرها الكثير باستخدام هذه المكتبة.
2. محرك Tesseract OCR
تم إصدارها بواسطة Google ، وهي مكتبة مفتوحة المصدر تُستخدم على نطاق واسع للتعرف على النص. يمكن استخدامه لاكتشاف وتحديد النصوص بلغات مختلفة. تكون المعالجة سريعة جدًا وتعطي الإخراج النصي للصورة على الفور تقريبًا. تستفيد العديد من تطبيقات المسح من هذه المكتبة وتعتمد على تقنيات الاستخراج الخاصة بها.
خطوات المشاركة في عملية استخراج النص
(1) أولاً ، يتم تطبيق تقنيات معالجة الصور الممكنة مثل اكتشاف الكفاف وإزالة الضوضاء ووظائف التآكل والتمدد على عينة الصورة الصاخبة الواردة.
(2) بعد هذه الخطوة تتم إزالة العلامات المائية والظلال من الفاتورة.
(3) علاوة على ذلك ، يتم تقسيم الفاتورة إلى أجزاء.
(4) يتم تمرير الأجزاء المجزأة عبر محرك Tesseract OCR للحصول على النص الكامل.
(5) أخيرًا باستخدام Regex ، نحصل على جميع المعلومات الحيوية مثل المبلغ الإجمالي وتاريخ الشراء والمصروفات لكل عنصر.
اسمحوا لي أن أتحدث عن صورة معينة مع النصوص - الفواتير والفواتير. عادة ما يكون عليها علامات مائية ، معظم الشركات التي تصدر الفواتير. كما ذكرنا سابقًا ، تعد هذه العلامات المائية عوائق في طريق الاستخراج الفعال للنص. في كثير من الأحيان ، تحتوي هذه العلامات المائية نفسها على النص.
يمكن اعتبار هذه ضوضاء لأن محرك Tesseract يتعرف على النصوص من كل حجم في السطر. مثل العلامات المائية ، تمنع الظلال أيضًا دقة المحرك لاستخراج النصوص بكفاءة. تتم إزالة الظلال عن طريق تحسين التباين وسطوع الصورة.
بالنسبة للصور التي تحتوي على ملصقات أو علامات مائية ، يتم تنفيذ عملية متعددة الخطوات. تتضمن العملية تحويل الصورة إلى درجات رمادية ، وتطبيق التحولات المورفولوجية ، وتطبيق العتبة (يمكن أن يكون انعكاسًا ثنائيًا أو تحويل otsu) ، واستخراج وحدات البكسل الداكنة في المنطقة الأكثر قتامة ، وأخيرًا لصق وحدات البكسل الداكنة في منطقة العلامة المائية. العودة إلى عملية إزالة الظل.
أولاً ، يتم تطبيق التمدد على الصورة ذات التدرج الرمادي. وفوق ذلك ، يؤدي اللون الأزرق المتوسط مع النواة المناسبة إلى منع النص. ناتج هذه الخطوة هو صورة تحتوي على أجزاء من الظلال وأي تغيرات أخرى موجودة. الآن يتم حساب عملية فرق بسيط بين الصورة الأصلية والصورة التي تم الحصول عليها. أخيرًا ، بعد تطبيق العتبة ، ما نحصل عليه هو صورة بدون ظلال.
التعرف على النص واستخراجه
يمكن بناء نموذج الشبكة العصبية التلافيفية وتدريبه على النص المطبوع الموجود في الصور. يمكن استخدام النموذج أيضًا لاكتشاف النص من الصور المماثلة الأخرى بنفس الخط. يستخدم محرك Tesseract OCR لاستعادة النص من الصور التي تمت معالجتها باستخدام خوارزميات رؤية الكمبيوتر.
بالنسبة إلى التعرف الضوئي على الأحرف ، يتعين علينا إجراء توطين النص ، متبوعًا بتجزئة الأحرف ، ثم التعرف على الأحرف. يتم تنفيذ كل هذه الخطوات بواسطة Tesseract OCR. يثبت محرك Tesseract OCR أنه دقيق للغاية عند استخدامه على النص المطبوع بدلاً من النص المكتوب بخط اليد.
الحصول على المعلومات ذات الصلة
تحدث عن الفواتير على وجه التحديد ، من بين جميع النصوص المستخرجة ، يمكن الحصول بسهولة على المعلومات الحيوية مثل تاريخ الشراء والمبلغ الإجمالي وما إلى ذلك باستخدام تعبيرات عادية متعددة. يمكن استخلاص المبلغ الإجمالي المطبوع على الفاتورة من خلال تطبيق التعبيرات العادية نظرًا لكونها تظهر عادةً في نهاية الفاتورة. يمكن تخزين العديد من هذه المعلومات المفيدة وفقًا لتواريخها بحيث يسهل الوصول إليها.
صحة
يمكن تعريف دقة استرداد النص على أنها نسبة العدد الصحيح من المعلومات التي تم الحصول عليها بواسطة Tesseract OCR والموجودة بالفعل في الفاتورة إلى العدد التراكمي للكلمات الموجودة بالفعل في الصورة النصية. تشير الدقة العالية إلى كفاءة أعلى لتقنيات المعالجة المسبقة وقدرة Tesseract OCR على استخراج المعلومات.
ماذا بعد؟
إذا كنت مهتمًا بمعرفة المزيد حول التعلم الآلي ، فراجع دبلوم PG في IIIT-B & upGrad's في التعلم الآلي والذكاء الاصطناعي المصمم للمهنيين العاملين ويقدم أكثر من 450 ساعة من التدريب الصارم ، وأكثر من 30 دراسة حالة ومهام ، IIIT- حالة الخريجين B ، أكثر من 5 مشاريع تتويجا عملية ومساعدة وظيفية مع أفضل الشركات.
تعلم دورة ML من أفضل الجامعات في العالم. احصل على درجة الماجستير أو برنامج PGP التنفيذي أو برامج الشهادات المتقدمة لتسريع مسار حياتك المهنية.