Sadržaj:
- Korak 1: Sipeed MAix: AI na rubu
- Korak 2: Pripremite svoje okruženje
- Korak 3: Pripremite kôd
- Korak 4: Otpremanje.bin datoteke
- Korak 5: Povezivanje s Arduinom
- Korak 6: Povezivanje na Raspberry Pi
- Korak 7: Zaključak
Video: AI kamera za Raspberry Pi/Arduino: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Ako ste nedavno pratili vijesti, došlo je do eksplozije početnika koji razvijaju čipove za ubrzavanje zaključivanja i obuke algoritama za ML (mašinsko učenje). Međutim, većina tih čipova je još uvijek u razvoju i nije nešto što bi vaš prosječni proizvođač mogao dohvatiti. Jedini značajan izuzetak do sada je bio Intel Movidius Neural Compute Stick, koji je dostupan za kupovinu i dolazi sa dobrim SDK -om. Ima nekoliko značajnih nedostataka - naime cijenu (oko 100 USD) i činjenicu da dolazi u USB formatu. Odlično je ako ga želite koristiti s prijenosnim računalom ili Raspberry PI, ali što ako želite raditi neke projekte za prepoznavanje slika s Arduinom? Ili Raspberry Pi Zero?
Korak 1: Sipeed MAix: AI na rubu
Ne tako davno došao sam u ruke razvojne ploče Sipeed M1w K210, koja ima dvojezgreni RISC-V 64-bitni CPU i ima ugrađeni KPU (Neural Network Processor), posebno dizajniran za ubrzavanje CNN-a za obradu slika. Više detalja možete pročitati ovdje.
Cijena ove ploče me iskreno šokirala, to je samo 19 USD za punopravnu razvojnu ploču sa AI-om na rubu s Wi-Fi podrškom! Ipak, postoji upozorenje (naravno da postoji): mikropython firmver za ploču je još uvijek u razvoju, i sveukupno trenutno nije previše prilagođen korisniku. Jedini način da trenutno pristupite svim njegovim funkcijama je da napišete vlastiti ugrađeni C kod ili izmijenite neke postojeće demonstracije.
Ovaj vodič objašnjava kako se koristi model otkrivanja klase Mobilenet 20 za otkrivanje objekata i slanje koda otkrivenog objekta putem UART -a, odakle ga Arduino/Raspberry Pi može primiti.
Ovaj vodič pretpostavlja da ste upoznati s Linuxom i osnovama sastavljanja C koda. Ako vam se od ove rečenice malo zavrtjelo:), tada samo prijeđite na korak 4, gdje učitavate moju unaprijed izgrađenu binarnu datoteku na Sipeed M1 i preskočite kompajliranje.
Korak 2: Pripremite svoje okruženje
Koristio sam Ubuntu 16.04 za kompilaciju i otpremanje C koda. Moguće je to učiniti u sustavu Windows, ali ja to nisam pokušao.
Preuzmite RISC-V GNU Compiler Toolchain, instalirajte sve potrebne zavisnosti.
git clone --recursive
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
Kopirajte preuzeti alat u direktorij /opt. Nakon toga pokrenite sljedeće naredbe
./configure --prefix =/opt/kendryte-toolchain --with-cmodel = medany
napraviti
Dodajte/opt/kendryte-toolchain/bin sada na svoju PATH.
Sada ste spremni za sastavljanje koda!
Korak 3: Pripremite kôd
Preuzmite kod iz mog github spremišta.
Preuzmite samostalni SDK za Kendryte K210
Kopirajte /kpu fasciklu iz mog github spremišta u /src fasciklu u SDK -u.
Pokrenite sljedeće naredbe u mapi SDK (ne /folder src!)
mkdir build && cd build
cmake.. -DPROJ = ime_projekta -DTOOLCHAIN =/opt/kendryte -toolchain/bin && make
gdje je naziv_projekta naziv vašeg projekta (na vama) i -DTOOLCHAIN = trebao bi ukazivati na lokaciju vašeg risc -v alata (preuzeli ste ga u prvom koraku, sjećate se?)
Odlično! Nadajmo se da ćete vidjeti da je kompilacija završena bez grešaka i da imate.bin datoteku koju možete učitati.
Korak 4: Otpremanje.bin datoteke
Sada povežite svoj Sipeed M1 s računalom i iz foldera /build pokrenite sljedeću naredbu
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu.bin
Gdje je kpu.bin naziv vaše.bin datoteke
Učitavanje obično traje 2-3 minute, nakon što se završi, vidjet ćete ploču s otkrivanjem 20 klasa. Posljednji korak za nas je povezivanje s Arduino mega ili Raspberry Pi.
!!! Ako ste upravo došli iz 2. koraka !
Pokrenite sljedeću naredbu iz mape u kojoj ste klonirali moje github spremište
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu_bin.bin
Učitavanje obično traje 2-3 minute, nakon što se završi vidjet ćete ploču s otkrivanjem 20 klasa. Posljednji korak za nas je povezivanje s Arduino mega ili Raspberry Pi.
Korak 5: Povezivanje s Arduinom
Koristio sam Arduino Mega sa Seeed Studio Mega Shieldom, zato sam lemio Grove konektor na ploču Sipeed M1. Međutim, možete jednostavno koristiti kratkospojne žice i spojiti Sipeed M1 izravno na Arduino Mega, slijedeći ovaj dijagram ožičenja.
Nakon toga prenesite skicu camera.ino i otvorite serijski monitor. Kada usmjerite kameru na različite objekte (lista od 20 klasa je na skici), ona bi trebala prikazati naziv klase u serijskom monitoru!
Čestitamo! Sada imate radni modul za otkrivanje slike za svoj Arduino!
Korak 6: Povezivanje na Raspberry Pi
Koristio sam Grove Pi+ šešir za Raspberry Pi 2B, ali opet, kao i kod Arduina, možete jednostavno izravno spojiti Sipeed M1 na Raspberry Pi UART sučelje slijedeći ovaj dijagram ožičenja.
Nakon toga pokrenite camera_speak.py i usmjerite kameru na različite objekte, terminal će prikazati sljedeći tekst "Mislim da jeste", a ako imate povezane zvučnike, izgovorit će ovu frazu naglas. Prilično kul, zar ne?
Korak 7: Zaključak
Ovo su vrlo uzbudljiva vremena u kojima živimo, a umjetna inteligencija i mašinsko učenje prodiru u sva područja našeg života. Radujem se razvoju u ovoj oblasti. Održavam kontakt sa Sipeed timom i znam da oni aktivno razvijaju omot od mikropitona za sve potrebne funkcije, uključujući CNN ubrzanje.
Kad bude spremno, vrlo vjerojatno ću objaviti još instrukcija o tome kako koristiti vlastite CNN modele s mikropythonom. Zamislite sve uzbudljive aplikacije koje možete imati za ploču koja može pokrenuti vaše vlastite neuronske mreže za obradu slika po ovoj cijeni i s ovim otiskom!
Preporučuje se:
Raspberry Pi kamera sa senzorom kretanja u reflektorskom kućištu: 3 koraka
Raspberry Pi kamera sa senzorom kretanja u Floodlight kućištu: Već neko vrijeme petljam s Raspberry Pi -ima i koristim ih za razne stvari, ali uglavnom kao CCTV kameru za nadzor moje kuće, dok sam daleko od toga da mogu daljinski gledati prijenos uživo, ali primati i e -poštu sa slikama
Raspberry Pi kamera vodootporno kućište: 3 koraka
Vodonepropusno kućište za Raspberry Pi kameru: Ovo su neke korak-po-korak upute za izradu vodootpornog kućišta za Raspberry Pi (v2) kameru. Komercijalne verzije proizvoda (sa i bez uključene ploče kamere Raspberry Pi) dostupne su na web stranici In Nature Robotics
Infracrvena kamera za igre Raspberry Pi: 6 koraka
Infracrvena kamera za igre Raspberry Pi: Tek sam počeo istraživati Raspberry Pi i zaintrigirao me modul Pi infracrvene kamere. Živim u pomalo udaljenom području i vidio sam znakove raznih divljih životinja koje noću istražuju po kući. Imao sam ideju o stvaranju crnca
Retro Raspberry Pi Tumblr GIF kamera: 10 koraka (sa slikama)
Retro Raspberry Pi Tumblr GIF kamera: Htio sam način da svoje stare kamere koristim na nov, digitalni način. Nekoliko puta sam se zabavljao u raznim uvjetima, ali ih nisam koristio godinama jer je film skupo razvijati. Pratite zajedno sa ovim uputstvom da vidite kako stavljam malinu
Najjednostavnija web kamera kao sigurnosna kamera - otkrivanje pokreta i slike poslane e -poštom: 4 koraka
Najjednostavnija web kamera kao sigurnosna kamera - Otkrivanje pokreta i slike poslane e -poštom: Više ne morate preuzimati ili konfigurirati softver da biste slike sa svoje web kamere prenijeli na svoju e -poštu - jednostavno upotrijebite svoj preglednik. Upotrijebite ažurirani preglednik Firefox, Chrome, Edge ili Opera u sustavu Windows, Mac ili Android za snimanje slike