Mundarija:

NVIDIA JetBot yordamida o'qishni uzatish - trafik konuslari bilan qiziqarli: 6 qadam
NVIDIA JetBot yordamida o'qishni uzatish - trafik konuslari bilan qiziqarli: 6 qadam

Video: NVIDIA JetBot yordamida o'qishni uzatish - trafik konuslari bilan qiziqarli: 6 qadam

Video: NVIDIA JetBot yordamida o'qishni uzatish - trafik konuslari bilan qiziqarli: 6 qadam
Video: Lane detection with OpenCV 2024, Noyabr
Anonim

DvillevaldMy GithubFollow About: Menga AI va mashinani o'rganish dasturlari yoqadi, ayniqsa robototexnika sohasida Batafsil dvillevald haqida »

Robotingizga kamera va zamonaviy chuqur o'rganish modeli yordamida yo'l konuslari labirintida yo'l topishga o'rgating.

Ta'minotlar

  • NVIDIA JetBot

    NVIDIA JetBot Wiki -ning materiallar ro'yxati sahifasida mashhur sotuvchilardan havolalarni sotib olish bilan bir qatorda, JetBot -ni yaratish uchun kerak bo'lgan hamma narsalar ro'yxati keltirilgan

  • NVIDIA GPU bilan ishlaydigan kompyuter

    Modelni o'rgatish kerak

  • BlueDot Trading 4”RC Racing Agility konuslari, apelsin - 20 dona

1 -qadam: Motivatsiya

Image
Image

Har safar qisqarish hududida harakatlanayotganimda, o'z-o'zini boshqaradigan avtomobil uchun konuslar bo'ylab harakatlanish qanchalik qiyin bo'lishi haqida o'ylayman. Ma'lum bo'lishicha, NVIDIA-ning yangi JetBot-da bu unchalik qiyin emas-faqat bir necha yuzta tasvir bilan siz robotingizga o'yinchoqlar konuslari labirintida yo'lni topishni o'rgatish uchun zamonaviy zamonaviy o'quv modelini o'rgatishingiz mumkin. faqat bort kamerasi yordamida va boshqa sensorlar yo'q.

2 -qadam: NVIDIA JetBot va loyihaga umumiy nuqtai

NVIDIA JetBot va loyihaga umumiy nuqtai
NVIDIA JetBot va loyihaga umumiy nuqtai

JetBot-bu NVIDIA Jetson Nano to'plamiga asoslangan ochiq manbali robot. Siz uni qanday qurish va sozlash bo'yicha batafsil ko'rsatmalarni bu erda topishingiz mumkin.

Bu loyiha NVIDIA JetBot Wiki -dan to'qnashuvdan saqlanishning o'zgartirilgan misolidir. U uchta asosiy bosqichdan iborat bo'lib, ularning har biri alohida Jupyter daftarchasida tasvirlangan:

  • JetBot -da ma'lumotlarni to'plash - notebook data_collection_cones.ipynb
  • Boshqa GPU mashinasidagi poezd modeli - notebook train_model_cones.ipynb
  • JetBot -da jonli demoni ishga tushiring - notebook live_demo_cones.ipynb

Bu uchta Jupyter daftarini bu erda topishingiz mumkin

3 -qadam: JetBot -ni yarating va Jupyter daftarlarini yuklang

  1. Bu erda aytib o'tilganidek, JetBot -ni yarating va o'rnating
  2. Http: //: 8888 ga o'tish orqali robotingizga ulaning
  3. Boshqa barcha ishlaydigan daftarlarni Yadro -> Barcha yadrolarni o'chirish -ni tanlab o'chiring.
  4. ~/Noutbuklar/ga o'ting.
  5. Yangi pastki papkani yarating ~/Notebooklar/traffic_cones_driving/
  6. Data_collection_cones.ipynb va live_demo_cones.ipynb fayllarini ~/Notebooklar/Traffic_cones_driving/ga yuklang.

MUHIM: Ushbu yo'riqnomada keltirilgan Jupyter noutbuklari data_collection_cones.ipynb va live_demo_cones.ipynb JetBot -da, train_model_cones.ipynb - GPU o'rnatilgan kompyuterda ishlashi kerak.

Shuning uchun biz data_collection_cones.ipynb va live_demo_cones.ipynb -ni JetBot -ga yuklashimiz va ularni ~/Notebooklar/traffic_cones_driving/-ga joylashtirishimiz kerak.

4 -qadam: JetBot -da o'quv ma'lumotlarini to'plash

Biz JetBot -ga yo'l konuslari labirintida ishlashga yordam beradigan tasvir tasnifi ma'lumotlar to'plamini yig'amiz. JetBot to'rtta stsenariy (sinf) ehtimolini qanday baholashni o'rganadi:

  • Bepul - oldinga siljish xavfsiz bo'lganda
  • Bloklangan - robot oldida to'siq bo'lganda
  • Chapda - robot chapga burilganda
  • O'ng - robot qachon o'ng tomonga burilishi kerak

JetBot -dagi o'quv ma'lumotlarini yig'ish uchun biz Jupyter noutbukidan foydalanamiz data_collection_cones.ipynb, uni qanday bajarish bo'yicha batafsil ko'rsatmalarni o'z ichiga oladi. Bu daftarni JetBot -da ishga tushirish uchun quyidagi amallarni bajaring:

  1. Http: //: jetbot-ip-address:: 8888 ga o'tish orqali robotingizga ulaning
  2. Jetbot standart parol bilan kiring
  3. Boshqa barcha ishlaydigan daftarlarni Yadro -> Barcha yadrolarni o'chirish -ni tanlash orqali o'chiring.
  4. ~/Notebooks/traffic_cones_driving/ga o'ting.
  5. Data_collection_cones.ipynb daftarchasini oching va unga amal qiling

5 -qadam: Neyron tarmoqni GPU mashinasida o'rgating

Keyinchalik, yig'ilgan ma'lumotlardan foydalanib, train_model_cones.ipynb-ni ishga tushirib, GPU mashinasida (xost) AlexNet-ni chuqur o'rganish modelini qayta o'qitish uchun foydalanamiz.

E'tibor bering, train_model_cones.ipynb - bu qo'llanmada JetBotda ishlatilmagan yagona Jupyter daftarchasi

  1. PyTorch o'rnatilgan va Jupyter Lab serverida ishlaydigan GPU mashinasiga ulaning
  2. Train_model_cones.ipynb daftarini va shu mashinaga yuklang
  3. Data_collection_cones.ipynb daftarchasida yaratgan dataset_cones.zip faylini yuklang va ushbu ma'lumotlar to'plamini chiqarib oling. (Ushbu qadamdan so'ng, siz fayllar brauzerida "dataset_cones" nomli papkani ko'rishingiz kerak.)
  4. Train_model_cones.ipynb daftarchasini oching va unga amal qiling. Ushbu bosqichning oxirida siz model yaratasiz - best_model_cones.pth faylini, so'ngra jonli demoni ishga tushirish uchun JetBot -ga yuklash kerak.

6 -qadam: JetBot -da Live Demo -ni ishga tushiring

JetBot -da Live Demo -ni ishga tushiring
JetBot -da Live Demo -ni ishga tushiring

Bu oxirgi qadam - best_model_cones.pth modelini JetBot -ga yuklash va uni ishga tushirish.

  1. Robotingizni USB batareyalar to'plamidan quvvatlang
  2. Http: //: jetbot-ip-address:: 8888 ga o'tish orqali robotingizga ulaning
  3. Jetbot standart parol bilan kiring
  4. Boshqa barcha ishlaydigan daftarlarni Yadro -> Barcha yadrolarni o'chirish -ni tanlab o'chiring.
  5. ~/Notebooks/traffic_cones_driving -ga o'ting
  6. Live_demo_cones.ipynb daftarini oching va unga amal qiling

Ehtiyotkorlik bilan boshlang va JetBot -ga harakat qilish uchun etarli joy bering. Har xil konus konfiguratsiyasini sinab ko'ring va robotning har xil muhitda, yorug'lik va hokazolarda qanchalik yaxshi ishlashini ko'ring. Live_demo_cones.ipynb daftarchasi barcha qadamlarni batafsil tushuntirib bergan bo'lsa, quyidagi jadvalda modellar bashorat qilgan ehtimolliklar berilgan robot harakatlarining mantig'i ko'rsatilgan.

Noutbukda, shuningdek, model tomonidan bashorat qilingan erkin/chap/o'ng/blokirovka qilingan ehtimollar bilan robot harakatlari tarixini qanday saqlash va ikkita FPV (Birinchi shaxs ko'rish) videolarini (1 kadr va 15 kadr tezligida) telemetriya va JetBot harakatlari haqidagi ma'lumotlar. Bu disk raskadrovka, PID tekshirgichini sozlash va modelni takomillashtirish uchun foydalidir.

Xursand bo'ling va savollaringiz bo'lsa, menga xabar bering!:-)

Kod Github -da mavjud

Tavsiya: