جدول المحتويات:

عروض توضيحية لـ Sipeed MaiX Bit OpenMV - رؤية الكمبيوتر: 3 خطوات
عروض توضيحية لـ Sipeed MaiX Bit OpenMV - رؤية الكمبيوتر: 3 خطوات

فيديو: عروض توضيحية لـ Sipeed MaiX Bit OpenMV - رؤية الكمبيوتر: 3 خطوات

فيديو: عروض توضيحية لـ Sipeed MaiX Bit OpenMV - رؤية الكمبيوتر: 3 خطوات
فيديو: React Conf 2021 - Replay 2024, شهر نوفمبر
Anonim
Image
Image

هذه هي المقالة الثانية في سلسلة حول Sipeed AI على منصة Edge microcontroller. هذه المرة سأكتب عن MaiX Bit (رابط إلى Seeed Studio Shop) ، وهو عبارة عن لوحة تطوير صغيرة جاهزة للوحة التجارب. مواصفاته تشبه إلى حد بعيد MaiX Dock ، اللوحة التي استخدمتها في البرنامج التعليمي الأخير ، نظرًا لاستخدامهم نفس الشريحة ، Kendryte K210.

سنستخدم برنامج micropython الثابت لتجربة بعض عروض OpenMV التوضيحية. هنا وصف من صفحة OpenMV الرئيسية:

يدور مشروع OpenMV حول إنشاء وحدات رؤية آلية منخفضة التكلفة وقابلة للتوسعة ومدعمة بيثون ويهدف إلى أن تصبح "Arduino of Machine Vision" … تجعل Python العمل مع خوارزميات رؤى الآلة أسهل بكثير. على سبيل المثال ، يعثر أسلوب find_blobs () في الكود على فقاعات ملونة ويعيد قائمة بالكائنات ذات 8 قيم تمثل كل فقاعة لونية تم العثور عليها. في Python ، يمكن إجراء التكرار عبر قائمة الكائنات التي تم إرجاعها بواسطة find_blobs () ورسم مستطيل حول كل نقطة لون بسهولة في سطرين فقط من التعليمات البرمجية.

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

بعض حالات الاستخدام التي تتبادر إلى ذهني هي:

1) كشف الخط لبوت أتباع الخط

2) كشف إشارات المرور بالدائرة وكشف اللون

3) استخدام اكتشاف الوجه للعثور على الوجوه للتعرف على الوجوه (مع DNN)

مستودع جيثب لهذه المقالة

الخطوة 1: Flash Micropython Firmware

الاتصال بـ MaiX Bit
الاتصال بـ MaiX Bit

بادئ ذي بدء ، سنحتاج إلى وميض البرامج الثابتة micropython إلى مجلس إدارتنا. يتم تضمين الملف الثنائي المترجم مسبقًا في مستودع جيثب لهذه المقالة ، جنبًا إلى جنب مع kflash.py (أداة فلاش). إذا كنت ترغب في تجميع البرنامج الثابت من الكود المصدري ، فما عليك سوى تنزيل الكود المصدري من https://github.com/sipeed/MaixPy ، وتثبيت سلسلة الأدوات وتجميع كود المصدر في ملف maixpy.bin. يمكن العثور على تعليمات البناء التفصيلية هنا.

فلاش الملف الثنائي بامتداد

sudo python3 kflash.py kpu.bin

بعد التفليش الناجح اتبع الخطوة التالية.

الخطوة 2: الاتصال بـ MaiX Bit

الآن يجب أن يكون الوصول إلى MaiX Bit الخاص بنا متاحًا من خلال اتصال تسلسلي USB مع معدل الباود 115200. يمكنك استخدام برنامجك المفضل للاتصال التسلسلي أو أوامر cat و echo ، أيًا كان ما يناسب احتياجاتك. كنت أستخدم الشاشة للاتصال التسلسلي وأجدها مريحة للغاية.

الأمر الخاص بإنشاء جلسة اتصال تسلسلي مع الشاشة هو

شاشة sudo / dev / ttyUSB0 115200

حيث / dev / ttyUSB0 هو عنوان جهازك.

قد تحتاج إلى الضغط على زر إعادة الضبط في وحدة التحكم الدقيقة الخاصة بك لرؤية رسالة الترحيب ومطالبة مترجم Python.

الخطوة 3: قم بتشغيل العروض التوضيحية

يمكنك الآن الوصول إلى وضع النسخ بالضغط على Ctrl + E ونسخ ولصق الرموز التجريبية. لتشغيلها ، اضغط على Ctrl + D في وضع النسخ.

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

فيما يلي أوصاف مختصرة لكل عرض:

البحث عن الدوائر - يستخدم وظيفة find_circles من OpenMV. يحتاج إلى مزيد من التغيير والتبديل لتطبيقك المحدد ، خاصةً العتبة (يتحكم في الدوائر التي يتم اكتشافها من تحويل hough. لا يتم إرجاع سوى الدوائر التي يزيد حجمها عن الحد الأدنى أو يساويها) وقيم r_min ، r_max.

البحث عن المستطيلات - يستخدم دالة find_rects من OpenMV. يمكنك التلاعب بقيمة العتبة ، لكن القيمة التي أملكها في العرض التوضيحي تعمل جيدًا للعثور على المستطيلات.

العثور على الوجوه والعثور على العيون - يستخدم وظيفة find_features مع Haar Cascades لاكتشاف العيون والوجه الأمامي في الصورة. يمكنك التلاعب بقيم العتبة والقياس من أجل المقايضة الصحيحة بين السرعة والدقة.

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

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

يمكنك العثور على العديد من العروض التوضيحية الأكثر إثارة للاهتمام في مستودع OpenMV github! غالبًا ما تكون متوافقة مع maiX Bit micropython ، الشيء الوحيد الذي تحتاج إلى تذكره هو إضافة مستشعر تشغيل (1) بعد ضبط تنسيق pixformat وحجم الإطارات.

تجربة سعيدة مع كود OpenMV. إذا كانت لديك أي أسئلة أو تريد مشاركة بعض نتائجك الشيقة ، فلا تتردد في التواصل معي على Youtube أو LinkedIn. الآن ، معذرةً ، سأذهب لصنع بعض الروبوتات!

موصى به: