Kazalo:
- 1. korak: Sipeed MAix: AI na robu
- 2. korak: Pripravite svoje okolje
- 3. korak: Zberite kodo
- 4. korak: Nalaganje datoteke.bin
- 5. korak: Povežite se z Arduinom
- 6. korak: Povezovanje z Raspberry Pi
- 7. korak: Zaključek
Video: AI kamera za Raspberry Pi/Arduino: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Če ste nedavno spremljali novice, je prišlo do eksplozije zagonskih podjetij, ki razvijajo čipe za pospeševanje sklepanja in usposabljanja algoritmov ML (strojnega učenja). Vendar pa je večina teh čipov še v razvoju in res ni nekaj, kar bi lahko dobil vaš povprečen proizvajalec. Edina pomembna izjema doslej je bila Intel Movidius Neural Compute Stick, ki je na voljo za nakup in ima dober SDK. Ima nekaj pomembnih pomanjkljivosti - in sicer ceno (okoli 100 USD) in dejstvo, da je v obliki USB ključka. Super je, če ga želite uporabljati s prenosnikom ali Raspberry PI, kaj pa, če želite z Arduinom narediti nekaj projektov za prepoznavanje slik? Ali Raspberry Pi Zero?
1. korak: Sipeed MAix: AI na robu
Ne tako dolgo nazaj sem dobil v roke razvojno ploščo Sipeed M1w K210, ki ima dvojedrni 64-bitni procesor RISC-V in se ponaša z vgrajenim procesorjem nevronskih omrežij (CPU), posebej zasnovanim za pospeševanje CNN za obdelavo slik. Več podrobnosti si lahko preberete tukaj.
Cena te plošče me je odkrito šokirala: samo 19 USD za polnopravno razvojno ploščo AI-on-the-edge s podporo za Wi-Fi! Obstaja pa opozorilo (seveda obstaja): vdelana programska oprema mikropythona za ploščo je še v razvoju, na splošno pa zaenkrat ni preveč prijazna do uporabnika. Edini način, da trenutno dostopate do vseh njegovih funkcij, je, da napišete svojo vdelano kodo C ali spremenite nekatere obstoječe predstavitve.
Ta vadnica pojasnjuje, kako uporabiti model zaznavanja razreda Mobilenet 20 za odkrivanje predmetov in pošiljanje zaznane kode objekta prek UART, od koder jo lahko sprejme Arduino/Raspberry Pi.
Ta vadnica predpostavlja, da poznate Linux in osnove sestavljanja kode C. Če vas je ob tem stavku malce omotilo:), pojdite na 4. korak, kjer naložite mojo vnaprej izdelano binarno datoteko v Sipeed M1 in preskočite sestavljanje.
2. korak: Pripravite svoje okolje
Za zbiranje in nalaganje kode C sem uporabil Ubuntu 16.04. V operacijskem sistemu Windows je to mogoče, vendar tega nisem poskusil.
Prenesite RISC-V GNU Compiler Toolchain, namestite vse potrebne odvisnosti.
git clone --recursive
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-bistven bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
Prenesite preneseno orodno verigo v imenik /opt. Po tem zaženite naslednje ukaze
./configure --prefix =/opt/kendryte-toolchain --with-cmodel = medany
narediti
Dodajte/opt/kendryte-toolchain/bin v svojo PATH zdaj.
Zdaj ste pripravljeni na sestavljanje kode!
3. korak: Zberite kodo
Prenesite kodo iz mojega skladišča github.
Prenesite samostojni SDK Kendryte K210
Kopirajte mapo /kpu iz mojega skladišča github v mapo /src v SDK -ju.
Zaženite naslednje ukaze v mapi SDK (ne v mapi /src!)
mkdir build && cd build
cmake.. -DPROJ = ime_projekta -DTOOLCHAIN =/opt/kendryte -toolchain/bin && make
kjer je ime_projekta ime vašega projekta (odvisno od vas) in -DTOOLCHAIN = naj kaže na lokacijo vaše orodne verige risc -v (prenesli ste jo v prvem koraku, se spomnite?)
Super! Zdaj upajmo, da bo kompilacija končana brez napak in da imate datoteko.bin, ki jo lahko naložite.
4. korak: Nalaganje datoteke.bin
Zdaj povežite svoj Sipeed M1 z računalnikom in iz mape /build zaženite naslednji ukaz
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu.bin
Kjer je kpu.bin ime vaše datoteke.bin
Nalaganje običajno traja 2-3 minute, potem ko bo končano, boste na plošči izvedeli zaznavanje 20 razredov. Zadnji korak za nas je, da ga povežemo z Arduino mega ali Raspberry Pi.
!!! Če ste pravkar prišli iz 2. koraka !!
Zaženite naslednji ukaz iz mape, kjer ste klonirali moje skladišče github
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu_bin.bin
Nalaganje običajno traja 2-3 minute, potem ko bo končano, boste na plošči izvedeli zaznavanje 20 razredov. Zadnji korak za nas je, da ga povežemo z Arduino mega ali Raspberry Pi.
5. korak: Povežite se z Arduinom
Uporabil sem Arduino Mega z Seeed Studio Mega Shield, zato sem priključil priključek Grove na ploščo Sipeed M1. Lahko pa uporabite samo mostične žice in priključite Sipeed M1 neposredno na Arduino Mega, po tem diagramu ožičenja.
Po tem naložite skico camera.ino in odprite serijski monitor. Ko kamero usmerite na različne predmete (na skici je seznam 20 razredov), naj na serijskem monitorju prikaže ime razreda!
Čestitamo! Zdaj imate delujoči modul za odkrivanje slik za vaš Arduino!
6. korak: Povezovanje z Raspberry Pi
Za Raspberry Pi 2B sem uporabil klobuk Grove Pi+, vendar spet, tako kot pri Arduinu, lahko Sipeed M1 neposredno povežete z UART vmesnikom Raspberry Pi po tem diagramu ožičenja.
Po tem zaženite camera_speak.py in usmerite kamero na različne predmete, terminal bo izpisal naslednje besedilo "Mislim, da je" in tudi, če imate priključene zvočnike, bo to frazo izgovoril na glas. Precej kul, kajne?
7. korak: Zaključek
To so zelo izstopni časi, v katerih živimo, saj AI in strojno učenje prodreta na vsa področja našega življenja. Veselim se razvoja na tem področju. Ostajam v stiku z ekipo Sipeed in vem, da aktivno razvijajo ovojnico z mikropitonom za vse potrebne funkcije, vključno s pospeševanjem CNN.
Ko bo pripravljen, bom zelo verjetno objavil več navodil za uporabo lastnih modelov CNN z mikropythonom. Pomislite na vse zanimive aplikacije, ki jih lahko imate za ploščo, na kateri lahko za to ceno in s tem odtisom upravljate svoja nevronska omrežja za obdelavo slik!
Priporočena:
Infrardeča kamera za igre Raspberry Pi: 6 korakov
Infrardeča igralna kamera Raspberry Pi: Pravkar sem začel raziskovati Raspberry Pi in me je navdušil modul infrardeče kamere Pi. Živim na nekoliko oddaljenem območju in sem videl znake različnih divjih živali, ki ponoči raziskujejo okoli hiše. Imel sem idejo o ustvarjanju črnuha
Retro Raspberry Pi Tumblr GIF kamera: 10 korakov (s slikami)
Retro Raspberry Pi Tumblr GIF kamera: želel sem način za uporabo svojih starih fotoaparatov na nov, digitalni način. Nekaj sem se vrtel v različnih pogojih, vendar jih že dolgo nisem uporabljal, ker je razvoj filma drag. Sledite temu navodilu, da vidite, kako sem dal malino
IP kamera z uporabo Raspberry Pi Zero (nadzor doma, 1. del): 5 korakov
IP kamera z uporabo Raspberry Pi Zero (1. nadzor doma, 1. del): To je prva objava v novi mini seriji, kjer gradimo sistem za nadzor doma, predvsem z uporabo Raspberry Pis. V tem prispevku uporabljamo Raspberry PI zero in ustvarimo IP kamero, ki pretaka video preko RTSP. Izhodni video je veliko višji q
Varnostna kamera Raspberry Pi: 11 korakov (s slikami)
Varnostna kamera Raspberry Pi: To je korak za korakom navodila, kako z Raspberry Pi ustvariti varnostno kamero IoT, aktivirano z gibanjem. Naučili se boste ustvariti spletni strežnik in obrazec za bučke, ki uporabniku omogoča prilagajanje občutljivosti fotoaparata in časa snemanja,
Najlažja spletna kamera kot varnostna kamera - zaznavanje gibanja in slike po e -pošti: 4 koraki
Najlažja spletna kamera kot varnostna kamera - zaznavanje gibanja in slike po e -pošti: ni vam treba več nalagati ali konfigurirati programske opreme, da bi slike, zaznane z gibanjem iz spletne kamere, prešle na vaš e -poštni naslov - preprosto uporabite brskalnik. Za zajem slike uporabite posodobljen brskalnik Firefox, Chrome, Edge ali Opera v operacijskih sistemih Windows, Mac ali Android