خوارزمية التعرف على نمط التعلم بلقطة واحدة

مقدمة


أريد أن أقدم لكم نتيجة تجاربي مع خوارزميات التعرف على الصور مع التعلم لأول مرة (ما يسمى بالتعلم بلقطة واحدة). نتيجة للتجارب ، تم تطوير مناهج معينة لهيكلة الصور ، ونتيجة لذلك ، تم تجسيدها في العديد من الخوارزميات المترابطة وتطبيق اختبار على Android ، يمكنك من خلاله التحقق من جودة وأداء الخوارزميات.


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


لماذا لا الشبكة العصبية؟


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


سأقدم عدة أسباب ضد الشبكات العصبية:


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

كيف يعمل


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



تعثر الخوارزمية على بنية المتجهات على طول حدود الكائنات في العينة ونفس البنية في الصورة المعترف بها.



من أجل الحصول على متجه ، تمر الصورة بعدة مراحل من المعالجة:


  • ترجمت إلى أحادية اللون باستخدام صيغة بسيطة (أحمر + أخضر + أزرق) / 3
  • يتم حساب التدرج لكل نقطة من المصفوفة.
  • تم العثور على مناطق الوزن الأكثر أهمية من التدرج
  • نحن نبحث عن سلاسل ناقلات تغطي هذه المناطق
  • بعد ذلك ، يتم تكرار الخطوات للحصول على الحد الأدنى من المتجهات التي تحمل الحد الأقصى من المعلومات.


يحدث الشيء نفسه في الخوارزمية التي تم تحليلها. بعد ذلك ، تتم مقارنة الصفائف الناتجة من المتجهات:


  • أولاً ، تحاول الخوارزمية التمسك ببعض الأجزاء المتشابهة (المجموعات المحلية). على سبيل المثال ، يمكنه العثور على حاجب مشابه للحاجب في العينة ، ثم يجد أنفًا يشبه الأنف.
  • ثم يتم البحث عن علاقة مماثلة بين المجموعات المحلية. على سبيل المثال ، حاجب + أنف + حاجب آخر. حصلت بالفعل على كتلة أكثر تعقيدا.
  • إلخ. حتى تحصل على صورة للعلاقات بين المجموعات التي تجمع كل ناقلات الصور أو كلها تقريبًا. على سبيل المثال مثل الحاجبين ، العيون ، الأنف ، إلخ. لن يعمل الوجه.

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


المخطط العام لتشغيل الخوارزميات:



تدريب متعدد المراحل


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


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


يمكنك أيضًا إنشاء محرر مرئي يسمح لك ببساطة بإزالة المتجهات غير المرغوب فيها من الإطار بعد التدريب الأول.


ما يمكن استخدامه


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


تطبيق الاختبار



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


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


يمكنك حفظ عينات متعددة. ولإظهار صورة جديدة ، ستجد الخوارزمية الأنسب وعرض الأجزاء المتشابهة.

Source: https://habr.com/ru/post/ar414425/


All Articles