جدول المحتويات:
- الخطوة 1: Flash Micropython Firmware
- الخطوة 2: الاتصال بـ MaiX Bit
- الخطوة 3: قم بتشغيل العروض التوضيحية
فيديو: عروض توضيحية لـ Sipeed MaiX Bit OpenMV - رؤية الكمبيوتر: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
هذه هي المقالة الثانية في سلسلة حول 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
بادئ ذي بدء ، سنحتاج إلى وميض البرامج الثابتة 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. الآن ، معذرةً ، سأذهب لصنع بعض الروبوتات!
موصى به:
اكتشاف الأجسام باستخدام لوحات Sipeed MaiX (Kendryte K210): 6 خطوات
اكتشاف الكائن باستخدام لوحات Sipeed MaiX (Kendryte K210): استمرارًا لمقالتي السابقة حول التعرف على الصور باستخدام لوحات Sipeed MaiX ، قررت كتابة برنامج تعليمي آخر يركز على اكتشاف الكائنات. ظهرت مؤخرًا بعض الأجهزة المثيرة للاهتمام مع شريحة Kendryte K210 ، بما في ذلك S
الوحش الصغير الممسوس: 6 خطوات (صور توضيحية)
الوحش الصغير الممسوس: هذا الوحش الصغير سيخيف خدعتك أو معالجك عندما يتعلق الأمر بالحياة & amp؛ يتحدث إليهم. أخفيته قاب قوسين أو أدنى من بعض الأدغال على استعداد لتخويف الضحايا غير المرتابين عندما تقول "مرحبًا ، أريد أن ألعب" ويضحك كالملك
ميدالية مقياس التنفس: 4 خطوات (صور توضيحية)
ميدالية الكحول: لدينا جميعًا صديق خاص يحتاج إلى الإشراف في ليلة بالخارج. يُطلق على المنجم اسم جيفري ، وفي عطلة نهاية الأسبوع ، بدا من الحكمة أن يكون لديه عرض خارجي لمقدار المسؤولية التي من المحتمل أن يكون عليها
ساعة القمر مع التنين: 8 خطوات (صور توضيحية)
ساعة القمر مع التنين: *** الإدخال على مدونتي https://blog.familie-fratila.de/bone-dragon-moonlight-clock/ *** منذ بعض الوقت قمت ببناء ساعة لغرفة المعيشة الخاصة بي ، منذ أن كنت لم تجد شيئًا للشراء يحتوي على تصميمات مقبولة على الأقل :-) بالطبع كان لدى ابني الذي رأى هذا الأمر بعض المتطلبات
1984 WeatherMan Pi: 7 خطوات (صور توضيحية)
1984 WeatherMan Pi: مشغل الكاسيت المحمول هذا هو الآن شاشة عرض محيطية لطقس إنترنت الأشياء بنمط أوائل الثمانينيات ، ويعرض & quot؛ الظروف الحالية & quot؛ الرسوم المتحركة ودرجة حرارة التمرير والرسم البياني لاحتمالية هطول الأمطار من خلال نافذة الشريط. عندما تشا حالة الطقس