Sadržaj:
- Korak 1: Sipeed MAix: AI na rubu
- Korak 2: Pripremite svoje okruženje
- Korak 3: Sastavite kôd
- Korak 4: Prijenos.bin datoteke
- Korak 5: Povezivanje s Arduinom
- Korak 6: Spajanje na Raspberry Pi
- Korak 7: Zaključak
Video: AI kamera za Raspberry Pi/Arduino: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Ako ste nedavno pratili vijesti, došlo je do eksplozije početnika koji razvijaju čipove za ubrzavanje zaključivanja i obuke algoritama ML-a (strojnog učenja). Međutim, većina tih čipova je još uvijek u razvoju i nije nešto što bi vaš prosječni proizvođač mogao dohvatiti. Jedina značajna iznimka do sada bio je Intel Movidius Neural Compute Stick, koji je dostupan za kupnju i dolazi s dobrim SDK -om. Ima nekoliko značajnih nedostataka - naime cijenu (oko 100 USD) i činjenicu da dolazi u USB formatu. Izvrsno je ako ga želite koristiti s prijenosnim računalom ili Raspberry PI -om, 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 u ruke mi je došla razvojna ploča 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 AI-on-the-edge s podrškom za Wi-Fi! Ipak, postoji upozorenje (naravno da postoji): mikropython firmver za ploču je još uvijek u razvoju, te općenito za sada nije previše prilagođen korisnicima. Jedini način da sada pristupite svim njegovim funkcijama je da napišete vlastiti ugrađeni C kod ili izmijenite neke postojeće demonstracije.
Ovaj vodič objašnjava kako koristiti model otkrivanja klase Mobilenet 20 za otkrivanje objekata i slanje otkrivenog objektnog koda 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 u glavi:) samo prijeđite na korak 4, gdje učitavate moju unaprijed izgrađenu binarnu datoteku na Sipeed M1 i preskočite sastavljanje.
Korak 2: Pripremite svoje okruženje
Koristio sam Ubuntu 16.04 za kompilaciju i prijenos C koda. To je moguće učiniti u sustavu Windows, ali ja to nisam isprobao.
Preuzmite RISC-V GNU Compiler Toolchain, instalirajte sve potrebne ovisnosti.
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 alatni lanac u direktorij /opt. Nakon toga pokrenite sljedeće naredbe
./configure --prefix =/opt/kendryte-toolchain --with-cmodel = medany
napraviti
Dodajte/opt/kendryte-toolchain/bin na svoj PATH sada.
Sada ste spremni za sastavljanje koda!
Korak 3: Sastavite kôd
Preuzmite kod iz mog github spremišta.
Preuzmite Kendryte K210 samostalni SDK
Kopirajte /kpu mapu iz mog github spremišta u /src mapu u SDK -u.
Pokrenite sljedeće naredbe u mapi SDK (ne /mapa src!)
mkdir build && cd build
cmake.. -DPROJ = naziv_projekta -DTOOLCHAIN =/opt/kendryte -toolchain/bin && make
gdje je naziv_projekta naziv vašeg projekta (do vas) i -DTOOLCHAIN = trebao bi ukazivati na lokaciju vašeg risc -v alata (preuzeli ste ga u prvom koraku, sjećate se?)
Sjajno! Nadajmo se da ćete vidjeti da je kompilacija završena bez grešaka i da imate.bin datoteku koju možete prenijeti.
Korak 4: Prijenos.bin datoteke
Sada povežite svoj Sipeed M1 s računalom i iz mape /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
Prijenos obično traje 2-3 minute, a nakon što završite 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
Prijenos obično traje 2-3 minute, a nakon što završite 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 samo 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. Kad usmjerite kameru na različite objekte (popis od 20 klasa nalazi se na skici), ona bi trebala prikazati naziv klase u serijskom monitoru!
Čestitamo! Sada imate radni modul za otkrivanje slike za svoj Arduino!
Korak 6: Spajanje 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 jest", a također, ako imate povezane zvučnike, izgovarat će ovu frazu naglas. Prilično cool, zar ne?
Korak 7: Zaključak
Ovo su vrlo uzbudljiva vremena u kojima živimo, a umjetna inteligencija i strojno učenje prodiru u sva područja našeg života. Veselim se razvoju na ovom području. Ostajem u kontaktu sa Sipeed timom i znam da 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 za ovu cijenu i s ovim otiskom!
Preporučeni:
Raspberry Pi kamera s senzorom kretanja u reflektorskom kućištu: 3 koraka
Raspberry Pi kamera s 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
Vodootporno kućište kamere Raspberry Pi: Ovo su neke korak-po-korak upute za izradu vodonepropusnog kućišta za ploču kamere Raspberry Pi (v2). 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
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 s web -kamere s e -pošte primili na svoju e -poštu - jednostavno upotrijebite preglednik. Za snimanje slike upotrijebite ažurirani preglednik Firefox, Chrome, Edge ili Opera u sustavu Windows, Mac ili Android
UNICORN KAMERA - Raspberry Pi Zero W NoIR 8MP Kamera Izrada: 7 koraka (sa slikama)
UNICORN CAMERA - Raspberry Pi Zero W NoIR 8MP Kamera Izrada: Pi Zero W NoIR 8MP Kamera Izrada ove instrukcije stvorena je kako bi pomogla svima koji žele infracrvenu kameru ili stvarno cool prijenosnu kameru ili prijenosnu kameru od maline Pi ili se samo žele zabaviti, heheh . Ovo je najpristupačnija i konfiguracija