كم عدد المبرمجين والكلمات التي تحتاجها للتعرف على جواز السفر المكتوب بخط اليد؟

هل تعتقد أن جوازات السفر المكتوبة بخط اليد غالبًا ما توجد في بلدنا؟ عندما بدأنا في تصميم نظام التعرف على جواز السفر في Smart Engines ، بدا أنه كان كافياً لتعليم النظام التعرف على المستندات المكتوبة بطريقة جيدة. في ذلك الوقت ، لم يكن وجود جوازات سفر مكتوبة بخط اليد لا يمكن التعرف عليها تلقائيًا مشكلة مهمة: كانت هناك مشاكل غير محلولة كافية بدونها. قبل عام ، تحليل جودة عمل Smart IDReader، أدركنا أننا وصلنا إلى النقطة التي تشكل فيها جوازات السفر المكتوبة بخط اليد فئة كبيرة من الأخطاء. تبعًا للمنهج العلمي درسوا المشكلة واتخذوا القرار. اليوم ستكون هناك قصة حول كيفية التعرف على جواز سفر مكتوب بخط اليد من الاتحاد الروسي ، حل بنجاح المشكلة الأخيرة في الطريق لأتمتة إدخال بيانات جواز السفر.


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

تم تقسيم مهمة التعرف على الكتابة اليدوية في جواز السفر إلى ثلاث مهام فرعية:

  1. الكشف عن وجود المخطوطة في جواز السفر.
  2. تقسيم خط مكتوب بخط اليد إلى أحرف.
  3. التعرف على الحروف والمعالجة اللاحقة.

علاوة على ذلك ، في المقالة سنخبرك بالمزيد عن الحل لكل مهمة فرعية. ولكن أولاً ، سنناقش مشكلة واحدة مهمة جدًا تنشأ دائمًا أولاً في التعرف - مجموعات البيانات. بدون مجموعات البيانات ، لا يمكن إجراء التعرف العادي: حتى إذا كان بإمكانك تدريب الشبكات العصبية على البيانات المركبة ، فلا تزال بحاجة إلى بيانات من شأنها قياس دقة النظام المدرب. كما اتضح ، لا توجد مجموعات بيانات مخطوطة مناسبة على الشبكة. لذلك ، تم استكمال قائمة المهام الفرعية لدينا بنقطة صفر - "تحضير مجموعة البيانات". لقد تعاملنا مع هذه العملية بشكل خلاق: قمنا بتوزيع دفاتر الملاحظات "في المسطرة" وطلبنا من جميع المبرمجين لدينا "التعود على دور" سادة الخط - لإعادة كتابة بعض النصوص المعدة مسبقًا بخط جميل. كانت هذه آيات من A.S. بوشكين.

هنا كنا ننتظر خيبة الأمل الأولى. بغض النظر عن مدى صعوبة الأمر ، اتضح أن مبرمجينا نسوا تمامًا كيفية الكتابة. ولا يمكنك القول أنهم لم يحاولوا. لا ، لقد نسوا كيفية تهجئة الحروف يدويًا. فيما يلي مثال على ما حدث:



أوافق ، ليس المطلوب على الإطلاق. الحروف ترقص ، الأحجام لا تحترم ... كان علي أن أبحث عن دفاتر على الإنترنت ، وكما هو الحال في الصف الأول ، ضع الجميع في الكتابة بالمعنى الحرفي للكلمة! ما زلنا نتذكر هذه المرة بابتسامة: يجلس الفريق بأكمله (دون استثناء ، من طلاب السنة الثالثة إلى أطباء العلوم المكرمين) على مكتب ويعرض الرسائل بعناية.



بعد يومين من ملء أيدينا ، كنا على استعداد لتكرار محاولة جمع بيانات "أولية" لمجموعة البيانات المكتوبة بخط اليد. أصبحت الحروف أكثر سلاسة ، والكلمات أكثر قابلية للقراءة. وتمكن البعض من إدخال بعض عناصر الخط. الآن ، انظر إلى العينات الجديدة بنفسك:









نتيجة لهذه الفراغات بنصوص وكتابة يدوية مختلفة ، جمعنا حوالي 1000 قطعة ورقمناها بعناية وضعناها في خطوط ورموز. كل شيء ، تهانينا ، مجموعة بيانات المخطوطة جاهزة. العودة إلى الخوارزميات.

الكشف عن مخطوطة جواز السفر


كشف المخطوطات هو عنصر مهم في نظام التعرف على الوثائق الصناعية. تنتمي هذه الوظيفة إلى فئة "فهم المستند" وهي مطلوبة بشكل كبير من جانب العميل التجاري. قمنا بتدريب شبكة عصبية تلافيفية ثنائية ، قامت بتحليل الصور المدخلة لخطوط النص الفردية لجواز السفر. يتم تحليل كل مجال من مجالات جواز السفر بحثًا عن مخطوطة باستخدام هذه الشبكة ، ومن خلال وزن التقديرات المستلمة ، يتم اتخاذ قرار عام بشأن "مخطوطة" جواز السفر ككل.

تجزئة الخطوط المكتوبة بخط اليد إلى أحرف


يختلف تجزئة الكتابة اليدوية بشكل أساسي عن تجزئة الكتابة النصية. لفهم المستوى الأول من المشكلة ، ما عليك سوى محاولة كتابة كلمة "chinchilla" والنظر إلى "صفوف الخطافات الرفيعة". لتجزئة الاختبارات المكتوبة بخط اليد ، استخدمنا مرة أخرى الشبكات العصبية. قمنا بتدريب شبكة عصبية خاصة ، والتي تُعيد كإجابة تقديرًا لوجود "قطع" بين الأحرف في كل نقطة من الصورة المدخلة للنص. علاوة على ذلك ، من خلال تطبيق مبادئ البرمجة الديناميكية ، يتم إنشاء أقسام الحروف.




إن مشكلة وضع الفجوات بين الحروف أبعد ما تكون عن ألم التجزئة. يجب تحديد كل حرف بشكل عمودي بشكل صحيح. وهنا البحث عن الأسطر "الأساسية" ، التي تُستخدم غالبًا عند التعرف على النص المطبوع ، لا ينطبق على الإطلاق - يقفز ارتفاع الحروف المكتوبة بخط اليد في حدود غير محدودة.

التعرف على الحروف والمعالجة اللاحقة


مشكلة التعرف على الأحرف المكتوبة بخط اليد هي في الأساس نفس نمط الشخصيات المختلفة. انظر إلى المثال أعلاه: أي لقب مكتوب - "Petrov" أو "Netrov"؟ عندما يقرأ الشخص نصًا مكتوبًا بخط اليد ، فإنه لا يقرأه حرفًا بحرف ، ولكن دائمًا في سياق معين. يجب أن يتصرف نظام التعرف في هذه الحالة بنفس الطريقة. لذا ، يجب أن تكون الشبكة العصبية التي تتعرف على الأحرف المكتوبة بخط اليد "متسامحة" مع الأحرف المختلفة التي لها نفس النوع (من وجهة نظر رياضية ، يجب أن تُرجع نفس قيم الثقة لهذه الأحرف) ، والخوارزميات اللاحقة لتحليل نتائج التعرف ومعالجتها (لذلك تسمى "postprocessors") يجب أن تأخذ في الاعتبار ميزات المجال المعترف به.

ماذا حققنا في النهاية؟


لذا ، في غضون عام ، تعلمنا التعرف على جوازات السفر المكتوبة بخط اليد ، تاركين وراءنا هذه المشكلة الأساسية التي بدت غير قابلة للحل منذ عدة سنوات! ماذا بعد؟ ثم ، كالعادة ، اعمل على الجودة والحدود الجديدة.

سكرتير خاص أنا تقريبا نسيت الإجابة على السؤال المذكور في العنوان. لذا ، لدينا 62 مبرمجًا في الشركة. اشترينا 150 دفترًا وطبعنا 2000 ورقة من الوصفات الطبية.


All Articles