جدول المحتويات:
- الخطوة 1: Sipeed MAix: AI at the Edge
- الخطوة 2: جهز بيئتك
- الخطوة 3: قم بتجميع الكود
- الخطوة 4: تحميل ملف.bin
- الخطوة 5: الاتصال بـ Arduino
- الخطوة 6: الاتصال بـ Raspberry Pi
- الخطوة 7: الخاتمة
فيديو: كاميرا AI لـ Raspberry Pi / Arduino: 7 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
إذا كنت تتابع الأخبار مؤخرًا ، فقد كان هناك انفجار في الشركات الناشئة التي تعمل على تطوير رقائق لتسريع استدلال خوارزميات التعلم الآلي وتدريبها. ومع ذلك ، لا تزال معظم هذه الرقائق قيد التطوير وليست شيئًا يمكن لصانعك العادي الحصول عليه. الاستثناء الوحيد المهم حتى الآن هو Intel Movidius Neural Compute Stick ، وهو متاح للشراء ويأتي مع SDK جيد. لديه بعض العيوب المهمة - وهي السعر (حوالي 100 دولار أمريكي) وحقيقة أنه يأتي بتنسيق USB stick. إنه لأمر رائع إذا كنت تريد استخدامه مع الكمبيوتر المحمول أو Raspberry PI ، ولكن ماذا لو كنت تريد القيام ببعض مشاريع التعرف على الصور باستخدام Arduino؟ أو Raspberry Pi Zero؟
الخطوة 1: Sipeed MAix: AI at the Edge
منذ وقت ليس ببعيد ، وضعت يدي على لوحة تطوير Sipeed M1w K210 ، التي تحتوي على وحدة معالجة مركزية ثنائية النواة RISC-V 64 بت وتتميز بـ KPU (معالج الشبكة العصبية) ، المصمم خصيصًا لتسريع CNN لمعالجة الصور. يمكنك قراءة المزيد من التفاصيل هنا.
صدمني سعر هذا اللوح بصراحة ، فهو لا يتجاوز 19 دولارًا أمريكيًا للوحة تطوير متكاملة تعمل بالذكاء الاصطناعي مع دعم Wi-fi! هناك تحذير (بالطبع هناك): لا تزال البرامج الثابتة للوحة micropython قيد التطوير ، وبشكل عام فهي ليست سهلة الاستخدام للغاية حتى الآن. الطريقة الوحيدة للوصول إلى جميع وظائفه الآن هي كتابة كود C المضمن الخاص بك أو تعديل بعض العروض التوضيحية الحالية.
يشرح هذا البرنامج التعليمي كيفية استخدام نموذج الكشف عن فئة Mobilenet 20 لاكتشاف الكائنات وإرسال رمز الكائن المكتشف من خلال UART ، حيث يمكن تلقيه بواسطة Arduino / Raspberry Pi.
الآن ، يفترض هذا البرنامج التعليمي أنك على دراية بنظام Linux وأساسيات تجميع كود C. إذا جعلك سماع هذه العبارة تشعر بالدوار قليلاً:) ، فما عليك سوى الانتقال إلى الخطوة 4 ، حيث تقوم بتحميل الملف الثنائي المبني مسبقًا إلى Sipeed M1 وتخطي التجميع.
الخطوة 2: جهز بيئتك
لقد استخدمت Ubuntu 16.04 لتجميع وتحميل كود C. من الممكن القيام بذلك في Windows ، لكنني لم أحاول ذلك.
قم بتنزيل RISC-V GNU Compiler Toolchain ، وقم بتثبيت جميع التبعيات الضرورية.
git clone - متسلسل
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-basic bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
انسخ سلسلة الأدوات التي تم تنزيلها إلى الدليل / opt. بعد ذلك قم بتشغيل الأوامر التالية
./configure --prefix = / opt / kendryte-toolchain --with-cmodel = medany
صنع
أضف / opt / kendryte-toolchain / bin إلى مسارك الآن.
أنت الآن جاهز لتجميع الكود!
الخطوة 3: قم بتجميع الكود
قم بتنزيل الكود من مستودع جيثب الخاص بي.
قم بتنزيل Kendryte K210 SDK المستقل
نسخ مجلد / kpu من مستودع github الخاص بي إلى مجلد / src في SDK.
قم بتشغيل الأوامر التالية في مجلد SDK (وليس مجلد src /!)
mkdir build && cd build
cmake.. -DPROJ = project_name -DTOOLCHAIN = / opt / kendryte-toolchain / bin && make
حيث project_name هو اسم مشروعك (متروك لك) و -DTOOLCHAIN = يجب أن يشير إلى موقع سلسلة أدوات risc-v (قمت بتنزيله في الخطوة الأولى ، تذكر؟)
رائعة! الآن نأمل أن ترى التجميع انتهى بدون أخطاء ولديك ملف.bin يمكنك تحميله.
الخطوة 4: تحميل ملف.bin
الآن قم بتوصيل Sipeed M1 بالكمبيوتر ومن مجلد / build قم بتشغيل الأمر التالي
sudo python3 isp_auto.py -d / dev / ttyUSB0 -b 200000 kpu.bin
حيث kpu.bin هو اسم ملف.bin الخاص بك
عادةً ما يستغرق التحميل من دقيقتين إلى ثلاث دقائق ، وبعد الانتهاء سترى أن اللوحة تشغل اكتشاف 20 فصلًا. الخطوة الأخيرة بالنسبة لنا هي توصيله بـ Arduino mega أو Raspberry Pi.
!!! إذا جئت للتو من الخطوة 2 !
قم بتشغيل الأمر التالي من المجلد حيث قمت باستنساخ مستودع جيثب الخاص بي
sudo python3 isp_auto.py -d / dev / ttyUSB0 -b 200000 kpu_bin.bin
عادةً ما يستغرق التحميل من دقيقتين إلى ثلاث دقائق ، وبعد الانتهاء سترى أن اللوحة تشغل اكتشاف 20 فصلًا. الخطوة الأخيرة بالنسبة لنا هي توصيله بـ Arduino mega أو Raspberry Pi.
الخطوة 5: الاتصال بـ Arduino
لقد استخدمت Arduino Mega مع Seeed Studio Mega Shield ، ولهذا السبب قمت بلحام موصل Grove بلوحة Sipeed M1. ومع ذلك ، يمكنك فقط استخدام أسلاك التوصيل وتوصيل Sipeed M1 مباشرة بـ Arduino Mega ، باتباع مخطط الأسلاك هذا.
بعد ذلك قم بتحميل رسم camera.ino وافتح الشاشة التسلسلية. عندما تقوم بتوجيه الكاميرا إلى كائنات مختلفة (توجد قائمة من 20 فئة في الرسم التخطيطي) ، يجب أن تُخرج اسم الفئة في الشاشة التسلسلية!
تهانينا! لديك الآن وحدة الكشف عن الصور العاملة في Arduino!
الخطوة 6: الاتصال بـ Raspberry Pi
لقد استخدمت قبعة Grove Pi + لـ Raspberry Pi 2B ، ولكن مرة أخرى ، كما هو الحال مع Arduino ، يمكنك فقط توصيل Sipeed M1 بواجهة UART الخاصة بـ Raspberry Pi باتباع مخطط الأسلاك هذا.
بعد ذلك ، قم بتشغيل camera_speak.py وتوجيه الكاميرا إلى كائنات مختلفة ، ستخرج المحطة الطرفية النص التالي "أعتقد أنه كذلك" وأيضًا إذا كان لديك مكبرات صوت متصلة ، فسوف تنطق هذه العبارة بصوت عالٍ. رائع ، أليس كذلك؟
الخطوة 7: الخاتمة
هذه أوقات عصيبة للغاية نعيشها ، حيث يخترق الذكاء الاصطناعي والتعلم الآلي جميع مجالات حياتنا. إنني أتطلع إلى التطوير في هذا المجال. أنا على اتصال بفريق Sipeed ، وأعلم أنهم يطورون بنشاط غلاف micropython لجميع الوظائف الضرورية ، بما في ذلك تسريع CNN.
عندما يكون جاهزًا ، من المحتمل جدًا أن أنشر المزيد من التعليمات حول كيفية استخدام نماذج CNN الخاصة بك مع micropython. فكر في جميع التطبيقات المثيرة التي يمكنك الحصول عليها للوحة يمكنها تشغيل الشبكات العصبية لمعالجة الصور الخاصة بك مقابل هذا السعر وبهذه البصمة!
موصى به:
كاميرا CCTV مع NodeMCU + وحدة كاميرا الكمبيوتر المحمول القديم (مع وبدون استخدام Blynk): 5 خطوات
كاميرا CCTV مع NodeMCU + وحدة كاميرا الكمبيوتر المحمول القديم (مع وبدون استخدام Blynk): مرحبًا يا شباب! في هذا الدليل ، سأوضح لك كيف استخدمت وحدة كاميرا الكمبيوتر المحمول القديم و nodeMCU لصنع شيء مشابه لـ CCTV
أعد استخدام وحدة كاميرا الويب HP WebCam 101 Aka 679257-330 كوحدة كاميرا ويب USB عامة: 5 خطوات
أعد استخدام وحدة كاميرا الويب HP WebCam 101 Aka 679257-330 ككاميرا ويب USB عامة: أرغب في إضفاء الإثارة على جهاز Panasonic CF-18 البالغ من العمر 14 عامًا بكاميرا ويب جديدة تمامًا ، لكن Panasonic لم تعد تدعم هذا الجهاز الرائع ، لذلك لا بد لي من ذلك استخدم المادة الرمادية في شيء أسهل من b & amp؛ b (البيرة والبرغر) هذا هو الجزء الأول
Banana / Raspberry Pi + Arduino Rover مع كاميرا ويب: 9 خطوات
Banana / Raspberry Pi + Arduino Rover With Webcam: مشروع قمت به في أوقات فراغي. إنه روبوت رباعي الدفع بالكامل يتم التحكم فيه من خلال واجهة ويب. إذا كان لديك أي تعليقات أو أسئلة فلا تتردد في الاتصال بي. يستخدم هذا المشروع نفسه أجزاء مطبوعة ثلاثية الأبعاد وأجزاء معينة من التعليمات البرمجية
كاميرا ويب في كاميرا Hawkeye Brownie: 3 خطوات (بالصور)
كاميرا ويب في كاميرا Hawkeye Brownie: قبل بضع فراشات واجهت مجلة DIY حول وضع كاميرا ويب داخل كاميرا قديمة قابلة للطي ، وكان شيئًا أقرب إلى ما كنت أحاول القيام به باستخدام نقطة وكاميرا تصوير لكني لم أجد الحالة المثالية لذلك. انا احب ال
كاميرا رقمية / كاميرا فيديو للرؤية الليلية بالأشعة تحت الحمراء: 17 خطوة (مع صور)
كاميرا رقمية / كاميرا فيديو للرؤية الليلية بالأشعة تحت الحمراء: يشرح هذا الدليل كيفية تحويل كاميرا ديسكفري كيدز للرؤية الليلية (التي تم الإعلان عنها بشكل خاطئ لاستخدام & quot ؛ تقنية الرؤية الليلية الحقيقية بالأشعة تحت الحمراء & quot ؛) إلى كاميرا فيديو حقيقية للرؤية الليلية بالأشعة تحت الحمراء. & nbsp؛ هذا مشابه لـ IR webca