التعرف على الكتابة اليدوية الكورية AI
جامعة كونكوك. كبار برمجة الوسائط المتعددة - مشروع مصطلح (مشروع فردي)
1. مقدمة
"هل يمكن تعلم الكتابة اليدوية للفرد باللغة الكورية من خلال شبكة عصبية اصطناعية؟"
حتى عند كتابة نفس الحروف، يبدو أسلوب الكتابة اليدوية لكل شخص مختلفًا تمامًا. إن أسلوب الكتابة اليدوية للأشخاص الذين يضطرون إلى الكتابة أو الذين يكتبون أثناء التجشؤ سيترك آثارًا مختلفة عن المعتاد، مما يجعله موثوقًا للغاية كدليل. هذا التفرد هو ما يجعل التوقيع فريدًا. في المستندات والامتحانات المهمة، من المهم جدًا التحقق من صحة خط اليد.
كما يتم استخدامه لإثبات الهوية، فإن خط اليد فريد من نوعه، ولكن إذا كان هناك خطين مختلفين مع اختلافات طفيفة فقط، فمن الصعب على الإنسان تمييز الفرق بالعين المجردة. لذلك، أردت تنفيذ نموذج الذكاء الاصطناعي للتعرف على الكتابة اليدوية باللغة الكورية.
(1-1) إدخال البيانات
- الكتابة اليدوية الكورية من 10 أشخاص
- الصورة أعلاه كلها مكتوبة من قبل شخص مختلف. (يمكنك أن ترى أنهما نفس الحروف، ولكنهما مختلفان قليلاً.)
(1-2) الهدف
- 10 أشخاص (3 أفراد من العائلة، 7 أصدقاء مقربين)
- BSN(سونا بانغ)، CHW(هاون تشوي)، KBJ(بيومجون كيم)، KJH(جونهيونغ كوون)، LJH(جونغهو لي)، LSE(سيونغيون لي)، PJH(منتزه جونغهيوك)، PSM(منتزه سانغمون)، SHB( سوك هيونبين)، SWS (وسوب شين)
(1-3) مجال التطبيق المتوقع
- التحقق من خط اليد للامتحان الوطني والوثائق الهامة.
- التعرف الضوئي على الحروف (التعرف الضوئي على الحروف)
2. إنشاء قاعدة البيانات
2-1. بيانات من حرف واحد
(١) قرأت
- القالب المستخدم مقدم من شركة "Ongle-leap"، وهي شركة لتصميم الخطوط
- وشملت كل مجموعة من الحروف الكورية
(2) قناع غير حاد
- يستخدم قناعًا غير حاد لشحذ خط اليد
(3) تحويل التدرج الرمادي
(4) فحص الرسم البياني وتطبيق العتبة الأولى
- يتم تعيين العتبة من خلال الرسم البياني، ويتم تحويل الصورة إلى صيغة ثنائية بناءً على العتبة.
- (في هذا المثال، تم تعيين العتبة على 150 من 0 إلى 255)
(5) تطبيق LPF
- من أجل استخراج موضع خط اليد، من الضروري سلاسة خط اليد من خلال LPF بحيث يتم كشف الكفاف.
- اضبط حجم النواة بشكل مناسب وقم بتطبيق LPF على الصور الثنائية من خلال cv2.filter2D.
- كلما كان حجم النواة أصغر، كان من الأسهل اكتشاف الوحدات الأصغر مثل حروف العلة والحروف الساكنة، وكلما زاد حجم النواة، أصبح من الأسهل اكتشاف محيط الحرف نفسه.
- (المثال ينطبق على نواة 21x21)
(6) فحص الرسم البياني وتطبيق العتبة الثانية
- قم بتعيين العتبة من خلال الرسم البياني للصورة التي تم تنعيمها باستخدام LPF، ثم يتم تنفيذ الثنائية مرة أخرى بناءً على العتبة.
- (مثال على قيمة الحد: 230)
(7) استخراج الكفاف والإحداثيات، واقتصاص الصورة
- لم يتم استخراج مخطط صغير ليس بحرف.
- تم استخراج إحداثيات x,y وقيم w,h من الكفاف المستخرج، وتم حساب الإحداثيات مرة أخرى بمربع بحيث لا يتم فقدان خصائص الكتابة اليدوية قدر الإمكان لأنه كان لا بد من تغيير حجمها إلى أحجام 64x64 لاحقًا.
- ومن خلال الإحداثيات المحسوبة، تم اقتصاص الصورة إلى شكل مربع.
(8) أكتب
- 81 بيانات من حرف واحد لكل شخص
- الإجمالي : تم جمع 810 بيانات مكونة من حرف واحد،
2-2. بيانات مكونة من حرفين
- تم إنشاء البيانات المكونة من حرفين من خلال الجمع بين بيانات مختلفة مكونة من حرف واحد، وتم قياس كل منها بشكل مناسب.
- من أجل تقليل فقدان معلومات الميزة أثناء تغيير الحجم، تم إنشاء وظيفة img_concat(img1, img2) واستخدامها لربط الصور وتشكيلها إلى مربعات.
- تم الحصول على 6,480 بيانات مكونة من حرفين لكل هدف (81P2)
2-3. بيانات من ثلاثة أحرف
- تم إنشاء بيانات مكونة من ثلاثة أحرف من خلال الجمع بين بيانات مكونة من حرف واحد وبيانات مكونة من حرفين، وتم قياس كل منها بشكل مناسب.
- تم الحصول على 7,980 بيانات مكونة من ثلاثة أحرف لكل هدف
2-4. البيانات المكتوبة بخط اليد الفعلية من تدوين الملاحظات
- تم الحصول على البيانات من تدوين الملاحظات الفعلي للهدف.
- تم الحصول على 30 بيانات فعلية مكتوبة بخط اليد لكل هدف
3. النتيجة الأولى
بيانات القطار : بيانات الاختبار = 9 : 1
البيانات المستخدمة = حرف واحد (81) + حرفين (500) + ثلاثة أحرف (500) + خط اليد الفعلي (30)
n.Epoch = 20، حجم الدفعة = 50، معدل التعلم = 0.01
تكوين الطبقة
- نتيجة
- الخسارة = 0.7819، الدقة = 0.72
- نتيجة بيانات الاختبار = 0.6503
4. النتيجة الثانية
بيانات القطار : بيانات الاختبار = 9 : 1
البيانات المستخدمة = حرف واحد (81) + حرفين (1000) + ثلاثة أحرف (1300) + خط اليد الفعلي (30)
n.Epoch = 20، حجم الدفعة = 150، معدل التعلم = 0.04
تكوين الطبقة
- نتيجة
- الخسارة = 0.0397، الدقة = 0.9908
- نتيجة بيانات الاختبار = 0.9360
5. تحليل النتائج
بالمقارنة مع النتيجة الأولى، تم تحسين النتيجة الثانية بشكل ملحوظ. أعتقد أن سبب تحسن النتائج هو كما يلي.
(5-1) زيادة البيانات المستخدمة في التعلم
- في المحاولة الأولى، تم استخدام 1,111 بيانات لكل هدف، وفي المحاولة الثانية، تم استخدام 2,411 بيانات، وهو أكثر من الضعف.
- وبما أنه تم إجراء التعلم والتقييم من خلال المزيد من البيانات، كان من الممكن التقاط خصائص أكثر دقة للكتابة اليدوية للهدف.
(5-2) التغيرات في طبقة الشبكة العصبية الاصطناعية
- في المحاولة الثانية، تم تعديل حجم قناع الالتواء وحجم التجميع.
- تم تقليل حجم القناع التلافيفي إلى حجم أصغر من ذي قبل لالتقاط خصائص الكتابة اليدوية الدقيقة جدًا
- تقليل فقدان خصائص الكتابة اليدوية في عملية التعلم عن طريق تقليل حجم التجميع.
- بالإضافة إلى ذلك، لاحتواء المزيد من المعلومات حول الكتابة اليدوية كمعلمات، تمت زيادة عدد العقد المتصلة بالكامل من 128 إلى 256
(5-3) زيادة حجم الدفعة ومعدل التعلم