Turinys:
- 1 žingsnis: „Sixed MAix“: AI prie krašto
- 2 žingsnis: Paruoškite aplinką
- 3 žingsnis: sudarykite kodą
- 4 veiksmas: įkelkite.bin failą
- 5 veiksmas: prisijunkite prie „Arduino“
- 6 žingsnis: Prisijunkite prie „Raspberry Pi“
- 7 žingsnis: Išvada
Video: „AI“kamera „Raspberry Pi“/„Arduino“: 7 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Jei pastaruoju metu sekate naujienas, įvyko sprogimas pradedantiesiems, kuriantiems mikroschemas, skirtas pagreitinti ML (mašininio mokymosi) algoritmų išvadas ir mokymus. Tačiau dauguma šių lustų vis dar kuriami ir tai nėra kažkas, ką jūsų vidutinis gamintojas gali gauti. Vienintelė reikšminga išimtis iki šiol buvo „Intel Movidius Neural Compute Stick“, kurią galima įsigyti ir kuri turi gerą SDK. Jis turi keletą reikšmingų trūkumų - būtent kaina (apie 100 USD) ir tai, kad ji pateikiama USB atmintinės formatu. Puiku, jei norite jį naudoti su nešiojamuoju kompiuteriu ar „Raspberry PI“, bet ką daryti, jei norite atlikti keletą vaizdo atpažinimo projektų su „Arduino“? Arba „Raspberry Pi Zero“?
1 žingsnis: „Sixed MAix“: AI prie krašto
Ne taip seniai mano rankose atsidūrė „Sipeed M1w K210“kūrimo plokštė, kuri turi dviejų branduolių 64 bitų RISC-V procesorių ir gali pasigirti vidiniu KPU (neuroninio tinklo procesoriumi), specialiai sukurtu pagreitinti CNN vaizdo apdorojimui. Daugiau informacijos galite perskaityti čia.
Šios plokštės kaina mane nuoširdžiai šokiravo, tai tik 19 USD už pilnavertę AI kūrimo plokštę su „Wi-Fi“palaikymu! Tačiau yra įspėjimas (žinoma, kad yra): plokštės mikropitono programinė įranga vis dar kuriama ir apskritai kol kas nėra pernelyg patogi vartotojui. Vienintelis būdas pasiekti visas jo funkcijas šiuo metu yra parašyti savo įterptąjį C kodą arba pakeisti kai kurias esamas demonstracines versijas.
Šioje pamokoje paaiškinta, kaip naudoti „Mobilenet 20“klasės aptikimo modelį objektams aptikti ir aptikto objekto kodą siųsti per UART, iš kur jį gali gauti „Arduino“/„Raspberry Pi“.
Dabar šioje pamokoje daroma prielaida, kad esate susipažinęs su „Linux“ir C kodo sudarymo pagrindais. Jei išgirdus šią frazę šiek tiek apsvaigo galva:), tiesiog pereikite prie 4 veiksmo, kur įkeliate mano iš anksto sukurtą dvejetainį failą į „Sipeed M1“ir praleiskite kompiliavimą.
2 žingsnis: Paruoškite aplinką
C kodo sudarymui ir įkėlimui naudojau „Ubuntu 16.04“. „Windows“tai galima padaryti, bet aš pats to neišbandžiau.
Atsisiųskite „RISC-V GNU Compiler Toolchain“, įdiekite visas reikalingas priklausomybes.
git klonas-rekursyvus
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
Nukopijuokite atsisiųstą įrankių grandinę į /opt katalogą. Po to paleiskite pagal komandas
./configure --prefix =/opt/kendryte-toolchain --with-cmodel = medany
padaryti
Pridėkite/opt/kendryte-toolchain/bin prie PATH dabar.
Dabar esate pasiruošę surinkti kodą!
3 žingsnis: sudarykite kodą
Atsisiųskite kodą iš mano „github“saugyklos.
Atsisiųskite atskirą „Kendryte K210“SDK
Kopijuoti /kpu aplanką iš mano „github“saugyklos į /src aplanką SDK.
Vykdykite šias komandas SDK aplanke (ne /src aplanke!)
mkdir build && cd build
cmake.. -DPROJ = projekto_pavadinimas -DTOOLCHAIN =/opt/kendryte -toolchain/bin && make
kur projekto_pavadinimas yra jūsų projekto pavadinimas (priklauso nuo jūsų) ir -DTOOLCHAIN = turėtų nurodyti jūsų „risc -v“įrankių grandinės vietą (atsisiuntėte ją atlikdami pirmą žingsnį, prisiminkite?)
Puiku! Tikimės, kad kompiliavimas bus baigtas be klaidų ir turėsite.bin failą, kurį galėsite įkelti.
4 veiksmas: įkelkite.bin failą
Dabar prijunkite „Sipeed M1“prie kompiuterio ir iš /build aplanko paleiskite šią komandą
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu.bin
Kur kpu.bin yra jūsų.bin failo pavadinimas
Įkėlimas paprastai trunka 2–3 minutes, o po to pamatysite, kad lenta aptinka 20 klasių aptikimą. Paskutinis mūsų žingsnis yra prijungti jį prie „Arduino mega“arba „Raspberry Pi“.
!!! Jei ką tik atėjote iš 2 žingsnio !
Vykdykite šią komandą iš aplanko, kuriame klonavote mano „github“saugyklą
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu_bin.bin
Įkėlimas paprastai trunka 2–3 minutes, o po to pamatysite, kad lenta aptinka 20 klasių aptikimą. Paskutinis mūsų žingsnis yra prijungti jį prie „Arduino mega“arba „Raspberry Pi“.
5 veiksmas: prisijunkite prie „Arduino“
Aš naudoju „Arduino Mega“su „Seeed Studio Mega Shield“, todėl lituosiu „Grove“jungtį prie „Sipeed M1“plokštės. Tačiau galite tiesiog naudoti trumpiklius ir prijungti „Sipeed M1“tiesiai prie „Arduino Mega“, vadovaudamiesi šia prijungimo schema.
Po to įkelkite „camera.ino“eskizą ir atidarykite serijinį monitorių. Kai nukreipiate fotoaparatą į skirtingus objektus (eskize yra 20 klasių sąrašas), jis turėtų išvesti klasės pavadinimą serijiniame monitoriuje!
Sveikinu! Dabar turite veikiantį „Arduino“vaizdo aptikimo modulį!
6 žingsnis: Prisijunkite prie „Raspberry Pi“
Aš naudoju „Grove Pi+“skrybėlę „Raspberry Pi 2B“, tačiau vėl, kaip ir „Arduino“, galite tiesiog tiesiogiai prijungti „Sipeed M1“prie „Raspberry Pi“UART sąsajos, vadovaudamiesi šia jungimo schema.
Po to paleiskite „camera_speak.py“ir nukreipkite fotoaparatą į skirtingus objektus, terminalas išves šį tekstą „Manau, kad yra“, o jei prijungsite garsiakalbius, jis garsiai pasakys šią frazę. Gana šaunu, ar ne?
7 žingsnis: Išvada
Tai labai jaudinantis laikas, kai mes gyvename, kai AI ir mašinų mokymasis skverbiasi į visas mūsų gyvenimo sritis. Laukiu plėtros šioje srityje. Aš palaikau ryšį su „Sipeed“komanda ir žinau, kad jie aktyviai kuria mikropitono įvyniojimą visoms būtinoms funkcijoms, įskaitant CNN pagreitį.
Kai jis bus paruoštas, greičiausiai paskelbsiu daugiau instrukcijų, kaip naudoti savo CNN modelius su mikropitonu. Pagalvokite apie visas įdomias programas, kurias galite turėti plokštėje, kuri gali paleisti savo vaizdo apdorojimo neuroninius tinklus už šią kainą ir su tokiu pėdsaku!
Rekomenduojamas:
„Raspberry Pi“judesio jutimo kamera „Floodlight“būste: 3 žingsniai
„Raspberry Pi“judesio jutimo fotoaparatas „Floodlight“būste: jau kurį laiką dirbu su „Raspberry Pi“, naudodamas juos įvairiems dalykams, bet daugiausia kaip vaizdo stebėjimo kamerą, skirtą stebėti mano namus, o ne galimybę nuotoliniu būdu žiūrėti tiesioginį srautą, bet taip pat gauti el. laiškus apie vaizdų nuotraukas
Lengviausia internetinė kamera kaip apsaugos kamera - judesio aptikimas ir nuotraukos el. Paštu: 4 žingsniai
Lengviausia kamera kaip apsaugos kamera - judesio aptikimas ir el. Paštu siunčiami paveikslėliai: nebereikia atsisiųsti ar konfigūruoti programinės įrangos, kad judesio aptiktos nuotraukos iš jūsų kameros būtų siunčiamos į jūsų el. Paštą - tiesiog naudokite naršyklę. Norėdami užfiksuoti vaizdą, naudokite naujausią „Firefox“, „Chrome“, „Edge“arba „Opera“naršyklę „Windows“, „Mac“ar „Android“
„Banana/Raspberry Pi“+ „Arduino Rover“su kamera: 9 žingsniai
Bananas/Raspberry Pi + „Arduino Rover“su kamera: projektas, kurį atlikau laisvalaikiu. Tai keturių ratų pilnas varomasis robotas, valdomas per žiniatinklio sąsają. Jei turite komentarų ar klausimų, nedvejodami susisiekite su manimi. Šiame projekte naudojamos 3D spausdintos dalys ir tam tikros kodo dalys
Kaip naudoti vaizdo kamerą kaip internetinę kamerą: 4 žingsniai
Kaip naudoti vaizdo kamerą kaip internetinę kamerą: Jei esate toks kaip aš, turite daug draugų, kurie atsikraustė iš namų ir gyvena už tūkstančių kilometrų, arba turite draugų, su kuriais lankėtės universitete ir kurie visi gyvena skirtingos vietos. Aš asmeniškai nekenčiu telefonų ir
Infraraudonųjų spindulių naktinio matymo skaitmeninė kamera/vaizdo kamera: 17 žingsnių (su nuotraukomis)
Infraraudonųjų spindulių naktinio matymo skaitmeninė kamera/vaizdo kamera: šioje instrukcijoje paaiškinama, kaip „Discovery Kids Night Vision“vaizdo kamerą (kuri melagingai reklamuojama naudojant „tikrą infraraudonųjų spindulių naktinio matymo technologiją“) paversti TIKRA infraraudonųjų spindulių naktinio matymo kamera. Tai panašu į IR internetinę svetainę