جدول المحتويات:
- اللوازم
- الخطوة الأولى: التحفيز
- الخطوة 2: نظرة عامة حول NVIDIA JetBot & Project
- الخطوة 3: بناء JetBot وتحميل Jupyter Notebooks
- الخطوة 4: جمع بيانات التدريب على JetBot
- الخطوة 5: تدريب الشبكة العصبية على جهاز GPU
- الخطوة 6: تشغيل Live Demo على JetBot
فيديو: نقل التعلم باستخدام NVIDIA JetBot - المرح مع المخاريط المرورية: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
بواسطة dvillevald My Github تابع حول: أنا أحب تطبيقات الذكاء الاصطناعي والتعلم الآلي ، لا سيما في مجال الروبوتات المزيد عن dvillevald »
قم بتعليم الروبوت الخاص بك للعثور على مسار في متاهة من أقماع المرور باستخدام الكاميرا ونموذج التعلم العميق الحديث.
اللوازم
-
نفيديا جت بوت
تسرد صفحة قائمة المواد الخاصة بـ NVIDIA JetBot Wiki كل ما تحتاجه لإنشاء JetBot ، إلى جانب شراء روابط من البائعين المشهورين
-
كمبيوتر مع NVIDIA GPU
مطلوب لتدريب النموذج
- BlueDot Trading 4”RC Racing Agility Cones، Orange - مجموعة من 20
الخطوة الأولى: التحفيز
في كل مرة أقود فيها في منطقة الانكماش ، أفكر في مدى التحدي الذي تواجهه سيارة ذاتية القيادة للتنقل عبر أقماع المرور. اتضح أنه ليس بالأمر الصعب مع JetBot الجديد من NVIDIA - مع بضع مئات من الصور فقط ، يمكنك تدريب أحدث نموذج للتعلم العميق لتعليم الروبوت الخاص بك كيفية العثور على مسار في متاهة من مخاريط مرور الألعاب باستخدام الكاميرا الموجودة على متن الطائرة فقط ولا توجد أجهزة استشعار أخرى.
الخطوة 2: نظرة عامة حول NVIDIA JetBot & Project
JetBot هو روبوت مفتوح المصدر يعتمد على مجموعة NVIDIA Jetson Nano. يمكنك العثور على إرشادات مفصلة حول كيفية بنائه وإعداده هنا.
هذا المشروع هو مثال معدّل لتجنب الاصطدام من NVIDIA JetBot Wiki. يتكون من ثلاث خطوات رئيسية ، كل منها موصوفة في دفتر Jupyter منفصل:
- جمع البيانات على JetBot - دفتر البيانات data_collection_cones.ipynb
- نموذج تدريب على جهاز GPU آخر - قطار دفتر الملاحظات_model_cones.ipynb
- تشغيل العرض التوضيحي المباشر على JetBot - دفتر الملاحظات live_demo_cones.ipynb
يمكنك العثور على دفاتر Jupyter الثلاثة هنا
الخطوة 3: بناء JetBot وتحميل Jupyter Notebooks
- بناء وإعداد JetBot كما هو موضح هنا
- اتصل بالروبوت الخاص بك بالانتقال إلى https://: 8888 قم بتسجيل الدخول باستخدام كلمة المرور الافتراضية jetbot
- قم بإيقاف تشغيل جميع أجهزة الكمبيوتر المحمولة الأخرى قيد التشغيل عن طريق تحديد Kernel -> Shutdown All Kernels …
- انتقل إلى ~ / Notebooks /
- إنشاء مجلد فرعي جديد ~ / Notebooks / traffic_cones_driving /
- تحميل data_collection_cones.ipynb و live_demo_cones.ipynb إلى ~ / Notebooks / traffic_cones_driving /
هام: يجب تشغيل دفاتر Jupyter data_collection_cones.ipynb و live_demo_cones.ipynb المشار إليها في هذه الإرشادات على JetBot أثناء train_model_cones.ipynb - على جهاز كمبيوتر مزود بوحدة معالجة الرسومات.
لذلك يتعين علينا تحميل data_collection_cones.ipynb و live_demo_cones.ipynb إلى JetBot ووضعهما في ~ / Notebooks / traffic_cones_driving /
الخطوة 4: جمع بيانات التدريب على JetBot
سنجمع مجموعة بيانات تصنيف الصور التي سيتم استخدامها لمساعدة JetBot في العمل في متاهة من أقماع المرور. سيتعلم JetBot كيفية تقدير الاحتمالات لأربعة سيناريوهات (فئات):
- مجاني - عندما يكون من الآمن المضي قدمًا
- محظور - عند وجود عائق أمام الروبوت
- على اليسار - عندما يجب أن يدور الروبوت إلى اليسار
- الحق - عندما يجب أن يدور الروبوت إلى اليمين
لجمع بيانات التدريب على JetBot ، سنستخدم دفتر Jupyter data_collection_cones.ipynb الذي يحتوي على إرشادات تفصيلية حول كيفية القيام بذلك. لتشغيل دفتر الملاحظات هذا على JetBot ، اتبع الخطوات التالية:
- اتصل بالروبوت الخاص بك بالانتقال إلى https://: jetbot-ip-address:: 8888
- قم بتسجيل الدخول باستخدام كلمة المرور الافتراضية jetbot
- قم بإيقاف تشغيل جميع أجهزة الكمبيوتر المحمولة الأخرى قيد التشغيل عن طريق تحديد Kernel -> Shutdown All Kernels …
- انتقل إلى ~ / Notebooks / traffic_cones_driving /
- افتح واتبع دفتر data_collection_cones.ipynb
الخطوة 5: تدريب الشبكة العصبية على جهاز GPU
بعد ذلك ، سنستخدم البيانات التي تم جمعها لإعادة تدريب نموذج التعلم العميق AlexNet على جهاز GPU (المضيف) عن طريق تشغيل train_model_cones.ipynb.
لاحظ أن train_model_cones.ipynb هو دفتر Jupyter الوحيد في هذا البرنامج التعليمي والذي يتم تشغيله ليس على JetBot
- اتصل بجهاز GPU مع تثبيت PyTorch وتشغيل خادم Jupyter Lab
- قم بتحميل دفتر train_model_cones.ipynb وعلى هذا الجهاز
- قم بتحميل ملف dataset_cones.zip الذي قمت بإنشائه في دفتر data_collection_cones.ipynb واستخرج مجموعة البيانات هذه. (بعد هذه الخطوة ، من المفترض أن يظهر مجلد باسم dataset_cones في مستعرض الملفات.)
- افتح واتبع دفتر train_model_cones.ipynb. في نهاية هذه الخطوة ، ستقوم بإنشاء نموذج - الملف best_model_cones.pth والذي يجب تحميله بعد ذلك إلى JetBot لتشغيل العرض التوضيحي المباشر.
الخطوة 6: تشغيل Live Demo على JetBot
هذه الخطوة الأخيرة هي تحميل النموذج best_model_cones.pth إلى JetBot وتشغيله.
- قم بتشغيل الروبوت الخاص بك من حزمة بطارية USB
- اتصل مرة أخرى بالروبوت الخاص بك بالانتقال إلى https://: jetbot-ip-address:: 8888
- قم بتسجيل الدخول باستخدام كلمة المرور الافتراضية jetbot
- قم بإيقاف تشغيل جميع أجهزة الكمبيوتر المحمولة الأخرى قيد التشغيل عن طريق تحديد Kernel -> Shutdown All Kernels …
- انتقل إلى ~ / Notebooks / traffic_cones_driving
- افتح واتبع دفتر الملاحظات live_demo_cones.ipynb
ابدأ بحذر وامنح JetBot مساحة كافية للتنقل. جرب تكوينًا مخروطيًا مختلفًا وشاهد مدى جودة أداء الروبوت في البيئات المختلفة ، والإضاءة ، وما إلى ذلك. بينما يشرح الكمبيوتر الدفتري live_demo_cones.ipynb جميع الخطوات بالتفصيل ، يوضح الرسم البياني التالي منطق حركات الروبوت نظرًا للاحتمالات التي تنبأت بها النماذج.
يشرح دفتر الملاحظات أيضًا كيفية تخزين تاريخ تحركات الروبوت مع الاحتمالات الحرة / اليسرى / اليمنى / المحظورة التي تنبأ بها النموذج وكيفية إنشاء مقطعي فيديو FPV (عرض الشخص الأول) (بمعدل 1 إطارًا في الثانية و 15 إطارًا في الثانية) باستخدام القياس عن بُعد المتراكب و بيانات إجراءات JetBot. هذه مفيدة لتصحيح الأخطاء وضبط وحدة التحكم PID وتحسين النموذج.
استمتع واسمحوا لي أن أعرف إذا كان لديك أسئلة!:-)
الكود متاح على جيثب
موصى به:
البرمجة الشيئية: إنشاء كائنات ، طريقة التعلم / التدريس / التقنية باستخدام أداة تشكيل الأشكال: 5 خطوات
البرمجة الشيئية: إنشاء كائنات طريقة التعلم / التدريس / التقنية باستخدام Shape Puncher: طريقة التعلم / التدريس للطلاب الجدد في البرمجة الموجهة للكائنات. هذه طريقة للسماح لهم بالتخيل ورؤية عملية إنشاء الكائنات من الفئات. لكمة كبيرة بحجم 2 بوصة من EkTools ؛ الأشكال الصلبة هي الأفضل .2. قطعة من الورق أو ج
الأشكال: التعلم للجميع باستخدام Makey Makey: 5 خطوات (بالصور)
الأشكال: التعلم للجميع باستخدام ماكي ماكي: يقوم المعلمون بتعليم جميع الطلاب. يحتاج تعلمنا أحيانًا إلى أن يبدو مختلفًا اعتمادًا على الطالب. فيما يلي مثال لدرس سهل يمكنك إنشاؤه للتأكد من أن جميع طلابك يعملون على المهارات الأساسية. هذا المشروع سيعمل بشكل جيد
SCARA Robot: التعلم عن Foward والحركية العكسية !!! (Plot Twist تعلم كيفية إنشاء واجهة في الوقت الحقيقي في ARDUINO باستخدام المعالجة !!!!): 5 خطوات (بالصور)
SCARA Robot: التعلم عن Foward والحركية المعكوسة !!! (Plot Twist تعرف على كيفية إنشاء واجهة في الوقت الحقيقي في ARDUINO باستخدام المعالجة !!!!): يعد روبوت SCARA آلة شائعة جدًا في عالم الصناعة. يشير الاسم إلى كل من ذراع روبوت التجميع المتوافق الانتقائي أو ذراع الروبوت المفصلية المتوافقة الانتقائية. إنه في الأساس روبوت بثلاث درجات من الحرية ، كونه أول درجتين
كيفية اكتشاف أمراض النبات باستخدام التعلم الآلي: 6 خطوات
كيفية اكتشاف أمراض النبات باستخدام التعلم الآلي: لطالما كانت عملية اكتشاف النباتات المريضة والتعرف عليها عملية يدوية ومملة تتطلب من البشر فحص جسم النبات بصريًا مما قد يؤدي غالبًا إلى تشخيص غير صحيح. كما تم التنبؤ بأن العالم
جعل الإلكترونيات والبرمجة سهلة التعلم باستخدام طاولة العمل المرئية DIY: 3 خطوات
جعل الإلكترونيات والبرمجة سهلة التعلم باستخدام منضدة العمل المرئية DIY: هل سبق لك أن أردت إلهام الأطفال للتعرف على الإلكترونيات وأجهزة التحكم الدقيقة؟ لكن المشكلة الشائعة التي نواجهها غالبًا هي أن المعرفة الأساسية للمجال يصعب على الأطفال فهمها. هناك عدد قليل من لوحات الدوائر الكهربائية على