التعرف على الأرقام في متحكم

مرحبا Giktayms!

محدث: هناك عرض فيديو .

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




لعدم وجود أسئلة واضحة ، سنجيب عليها:

  • لا ، هذه ليست خدمة التعرف على الصور.
  • لا ، هذه ليست OpenCV
  • لا ، هذه ليست شبكات عصبية.
  • يتم استخدام التحليل المورفولوجي للأجسام التي يتكون منها الشكل.
  • نعم ، يتم التعرف بدقة من قبل متحكم!


فكرة


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

التثبيت


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



المزيد





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



المزيد







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



المزيد







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



على اليسار ، الصورة بتدرج الرمادي تم الحصول عليها من المؤشر (نحصل على مثل هذه الصورة من المستشعر) ، على اليمين ، ثنائيًا.



المزيد





نظرة عامة على التجميع الكامل






التثبيت المبكر









كتلة الاعتراف




تلعب وحدة التعرف المعروفة (في الصورة أعلاه) دورًا مهمًا في عملية التثبيت. كما ترون ، فإنه يتألف من Arduino Uno وجهاز الإرسال اللاسلكي المعروف ESP8266 . أشرح ، نحن بحاجة إلى جهاز إرسال wifi لرؤية نتيجة التعرف على الجهاز اللوحي. يرسل التطبيق على الجهاز اللوحي طلبًا ، "arduinka" ، يتلقى طلبًا ، "يأخذ" الصورة من مستشعر الماوس ، ثم يقوم بتثبيتها. بعد الثنائيات ، يحدث الاعتراف ، وبعد اكتماله ، يتم تكوين استجابة. في الجواب ، نرسل نتيجة التعرف و 41 بايت لبناء صورة ثنائية على شاشة الكمبيوتر اللوحي ، إذا جاز التعبير ، من أجل الوضوح.

إذا نظرت إلى الوراء ، فعندئذٍ يتم تعيين وظيفة جيدة في "arduinka": العمل مع الكاميرا ، والاعتراف ، والعمل مع esp8266. ما لا يمكن إلا أن يؤثر على العمل - كان علي التعامل مع نقص الذاكرة. لم أفكر أبدًا في أنني سأضطر إلى التغلب على كل بايت من الذاكرة.

عملية الاعتراف




بدلا من الاستنتاج


هذا كل شئ. لا يزال هناك الكثير من العمل في المستقبل. والمهمة الأولى: التعرف على الأرقام (سلسلة من الأرقام) المسجلة بواسطة كاميرا "بشرية" (وليس "مستشعر الفأرة") ونقل التقنية المتطورة إلى ESP8266 وتقليل شدة النضال لكل بايت من الذاكرة.

نحن سعداء للإجابة على الأسئلة.

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


All Articles