Sisukord:

Ülekandeõpe NVIDIA JetBotiga - lõbus liikluskoonustega: 6 sammu
Ülekandeõpe NVIDIA JetBotiga - lõbus liikluskoonustega: 6 sammu

Video: Ülekandeõpe NVIDIA JetBotiga - lõbus liikluskoonustega: 6 sammu

Video: Ülekandeõpe NVIDIA JetBotiga - lõbus liikluskoonustega: 6 sammu
Video: Обучение Paddle OCR на пользовательском наборе данных | YOLOv7 + OCR на Google Colab 2023 2024, Juuli
Anonim

Autor: dvillevaldMinu GithubFollow About: Mulle meeldivad tehisintellekt ja masinõpperakendused, eriti robootikas Lisateave dvillevaldi kohta »

Õpetage oma robotit kaamera ja ülimoodsa süvaõppemudeli abil liikluskoonuste rägastikus teed leidma.

Tarvikud

  • NVIDIA JetBot

    NVIDIA JetBot Wiki materjalide aruannete lehel on loetletud kõik, mida vajate JetBoti loomiseks, ja linkide ostmine populaarsetelt müüjatelt

  • Arvuti NVIDIA GPU -ga

    Vajalik mudeli koolitamiseks

  • BlueDot Trading 4”RC Racing Agility Cones, oranž - komplekt 20

Samm: motivatsioon

Image
Image

Iga kord, kui ma kokkutõmbumispiirkonnas sõidan, mõtlen, kui keeruline oleks isesõitval autol liikluskoonuste kaudu navigeerida. Selgub, et uue NVIDIA JetBotiga pole see sugugi nii keeruline-vaid paarisaja pildiga saate treenida tipptasemel süvaõppemudelit, et õpetada oma robotile, kuidas leida mänguasjade liikluskoonuste rägastikust rada. kasutades ainult pardakaamerat ja muid andureid ei kasutata.

Samm: NVIDIA JetBoti ja projekti ülevaade

NVIDIA JetBoti ja projekti ülevaade
NVIDIA JetBoti ja projekti ülevaade

JetBot on avatud lähtekoodiga robot, mis põhineb NVIDIA Jetson Nano komplektil. Siit leiate üksikasjalikud juhised selle ehitamiseks ja seadistamiseks.

See projekt on NVIDIA JetBot Wiki muudetud kokkupõrke vältimise näide. See koosneb kolmest suurest sammust, millest igaüks on kirjeldatud eraldi Jupyteri märkmikus:

  • Koguge JetBotis andmeid - märkmiku andmed_kogumiskontuurid.ipynb
  • Rongi mudel teisel GPU -masinal - sülearvuti train_model_cones.ipynb
  • Käivitage JetBotis reaalajas demo - sülearvuti live_demo_cones.ipynb

Need kolm Jupyteri märkmikku leiate siit

Samm: ehitage JetBot ja laadige üles Jupyteri märkmikud

  1. Ehitage ja seadistage JetBot, nagu siin selgitatud
  2. Ühendage oma robotiga, navigeerides lehele https://: 8888Logige sisse vaikimisi parooliga jetbot
  3. Lülitage kõik muud töötavad sülearvutid välja, valides Kernel -> Shutdown All Kernels…
  4. Liikuge lehele ~/Sülearvutid/
  5. Loo uus alamkaust ~/Sülearvutid/traffic_cones_driving/
  6. Laadige data_collection_cones.ipynb ja live_demo_cones.ipynb üles kausta ~/Notebooks/traffic_cones_driving/

TÄHTIS: käesolevas juhendis viidatud Jupyteri märkmikud data_collection_cones.ipynb ja live_demo_cones.ipynb tuleks käitada JetBotis, samas kui train_model_cones.ipynb - GPU -ga arvutis.

Seetõttu peame andmed_collection_cones.ipynb ja live_demo_cones.ipynb üles laadima JetBotisse ja paigutama need kausta ~/Notebooks/traffic_cones_driving/

Samm: koolitusandmete kogumine JetBotis

Kogume piltide klassifitseerimise andmestikku, mida kasutatakse JetBoti abistamiseks liikluskoonuste rägastikus. JetBot õpib, kuidas hinnata nelja stsenaariumi (klassi) tõenäosust:

  • Tasuta - kui on turvaline edasi liikuda
  • Blokeeritud - kui roboti ees on takistus
  • Vasakule - kui robot peaks vasakule pöörlema
  • Õige - kui robot peaks paremale pöörlema

JetBoti koolitusandmete kogumiseks kasutame Jupyteri märkmikku data_collection_cones.ipynb, mis sisaldab üksikasjalikke juhiseid selle kohta, kuidas seda teha. Selle märkmiku käivitamiseks JetBotis toimige järgmiselt.

  1. Ühendage oma robotiga, navigeerides aadressile https://: jetbot-ip-address:: 8888
  2. Logige sisse vaikimisi parooliga jetbot
  3. Lülitage välja kõik teised töötavad sülearvutid, valides Kernel -> Shutdown All Kernels …
  4. Avage ~/Sülearvutid/traffic_cones_driving/
  5. Avage ja järgige märkmikku data_collection_cones.ipynb

Samm: treenige närvivõrku GPU -masinal

Järgmisena kasutame kogutud andmeid süvaõppemudeli AlexNet uuesti koolitamiseks GPU-masinal (host), käivitades train_model_cones.ipynb.

Pange tähele, et train_model_cones.ipynb on selle õpetuse ainus Jupyteri märkmik, mida EI käivitata JetBotis

  1. Ühendage GPU -seadmega, kuhu on installitud PyTorch ja töötab Jupyter Labi server
  2. Laadige üles märkmik train_model_cones.ipynb ja sellesse masinasse
  3. Laadige üles märkmikus data_collection_cones.ipynb loodud fail dataset_cones.zip ja eraldage see andmestik. (Pärast seda sammu peaksite failibrauseris kuvama kausta nimega dataset_cones.)
  4. Avage ja järgige train_model_cones.ipynb märkmikku. Selle sammu lõpus loote mudeli - faili best_model_cones.pth, mis tuleb reaalajas demo käivitamiseks JetBotisse üles laadida.

Samm: käivitage JetBotis reaalajas demo

Käivitage JetBotis reaalajas demo
Käivitage JetBotis reaalajas demo

Viimane samm on mudeli best_model_cones.pth üleslaadimine JetBotisse ja selle käivitamine.

  1. Toidake oma robotit USB -akust
  2. Ühendage oma robotiga uuesti, navigeerides aadressile https://: jetbot-ip-address:: 8888
  3. Logige sisse vaikimisi parooliga jetbot
  4. Lülitage välja kõik teised töötavad sülearvutid, valides Kernel -> Shutdown All Kernels …
  5. Minge jaotisesse ~/Sülearvutid/traffic_cones_driving
  6. Avage sülearvuti live_demo_cones.ipynb ja järgige seda

Alustage ettevaatlikult ja andke JetBotile piisavalt ruumi liikumiseks. Proovige erinevaid koonuse konfiguratsioone ja vaadake, kui hästi robot toimib erinevates keskkondades, valgustuses jne. Kuigi sülearvuti live_demo_cones.ipynb selgitab kõiki samme üksikasjalikult, näitab järgmine tabel robotite liigutuste loogikat, arvestades mudelite prognoositud tõenäosusi.

Sülearvuti selgitab ka seda, kuidas salvestada roboti liikumiste ajalugu mudeli ennustatud vaba/vasaku/parema/blokeeritud tõenäosusega ja kuidas teha kaks FPV (esimese isiku vaatamise) videot (kiirusega 1 kaadrit sekundis ja 15 kaadrit sekundis) koos telemeetriaga ja JetBoti toimingute andmed. Need on kasulikud silumiseks, PID -kontrolleri häälestamiseks ja mudeli täiustamiseks.

Nautige ja andke mulle teada, kui teil on küsimusi!:-)

Kood on saadaval Githubis

Soovitan: