Tartalomjegyzék:
- 1. lépés: Sipeed MAix: AI a szélén
- 2. lépés: Készítse elő a környezetet
- 3. lépés: Fordítsa össze a kódot
- 4. lépés: A.bin fájl feltöltése
- 5. lépés: Csatlakozás Arduino -hoz
- 6. lépés: Csatlakozás a Raspberry Pi -hez
- 7. lépés: Következtetés
Videó: AI kamera a Raspberry Pi/Arduino számára: 7 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Ha nemrég követte a híreket, robbanásszerűen induló vállalkozások fejlesztették ki a chipeket az ML (gépi tanulás) algoritmusok következtetéseinek és képzésének felgyorsítására. Ezeknek a zsetonoknak a nagy része azonban még fejlesztés alatt áll, és nem igazán az, amit az átlagos készítője kézbe vehet. Az egyetlen jelentős kivétel eddig az Intel Movidius Neural Compute Stick volt, amely megvásárolható és jó SDK -val érkezik. Van néhány jelentős hátránya - nevezetesen az ár (körülbelül 100 USD) és az a tény, hogy USB stick formátumban érkezik. Nagyszerű, ha laptoppal vagy Raspberry PI -vel szeretné használni, de mi van, ha néhány képfelismerő projektet szeretne végrehajtani az Arduino -val? Vagy a Raspberry Pi Zero?
1. lépés: Sipeed MAix: AI a szélén
Nem is olyan régen került a kezembe a Sipeed M1w K210 fejlesztőlap, amely kétmagos RISC-V 64 bites processzorral rendelkezik és beépített KPU-val (Neural Network Processor) büszkélkedhet, kifejezetten a CNN képfeldolgozásra való gyorsítására. További részleteket itt olvashat.
Ennek a táblának az ára őszintén megdöbbentett, mindössze 19 USD a teljes értékű, fejlett AI-on-the-edge fejlesztőlap Wi-Fi támogatással! Van azonban egy figyelmeztetés (természetesen van): a tábla mikropiton firmware -je még fejlesztés alatt áll, és összességében jelenleg nem túl felhasználóbarát. Az egyetlen módja annak, hogy jelenleg hozzáférjen minden funkciójához, ha saját beágyazott C kódot ír, vagy módosít néhány meglévő demót.
Ez az oktatóanyag elmagyarázza, hogyan kell használni a Mobilenet 20 osztály észlelési modelljét az objektumok észlelésére és az észlelt objektumkód UART -on keresztül történő elküldésére, ahonnan az Arduino/Raspberry Pi fogadhatja.
Ez az oktatóanyag feltételezi, hogy ismeri a Linuxot és a C kód fordításának alapjait. Ha ennek a mondatnak a hallatán kissé szédültél:) akkor ugorj csak a 4. lépésre, ahol feltöltöd az előre elkészített binárisomat a Sipeed M1-be, és kihagyod a fordítást.
2. lépés: Készítse elő a környezetet
Az Ubuntu 16.04 -et használtam C -kód összeállításához és feltöltéséhez. Windows alatt is meg lehet csinálni, de én magam nem próbáltam.
Töltse le a RISC-V GNU Compiler Toolchain szoftvert, telepítse az összes szükséges függőséget.
git klón-rekursív
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
Másolja a letöltött eszköztárat az /opt könyvtárba. Ezt követően futtassa a következő parancsokat
./configure --prefix =/opt/kendryte-toolchain --with-cmodel = medany
készítsen
Adja hozzá/opt/kendryte-toolchain/bin-t most a PATH-hoz.
Most már készen áll a kód összeállítására!
3. lépés: Fordítsa össze a kódot
Töltse le a kódot a github tárhelyemről.
Töltse le a Kendryte K210 önálló SDK -t
Másolja a /kpu mappát a github tárhelyemről az SDK /src mappájába.
Futtassa a következő parancsokat az SDK mappában (nem /src mappa!)
mkdir build && cd build
cmake.. -DPROJ = project_name -DTOOLCHAIN =/opt/kendryte -toolchain/bin && make
ahol a project_name a projekt neve (rajtad múlik), és a -DTOOLCHAIN = a risc -v eszköztár helyére kell mutatnia (az első lépésben töltötted le, emlékszel?)
Nagy! Most remélhetőleg látni fogja, hogy a fordítás hiba nélkül befejeződött, és van egy.bin fájlja, amelyet fel tud tölteni.
4. lépés: A.bin fájl feltöltése
Most csatlakoztassa a Sipeed M1 -et a számítógéphez, és a /build mappából futtassa a következő parancsot
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu.bin
Ahol a kpu.bin a.bin fájl neve
A feltöltés általában 2-3 percet vesz igénybe, miután elkészült, megjelenik a tábla, amely 20 osztály észlelését futtatja. Számunkra az utolsó lépés az Arduino mega vagy a Raspberry Pi csatlakoztatása.
!!! Ha most jöttél a 2. lépésből !
Futtassa a következő parancsot abból a mappából, ahová klónozta a github táromat
sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu_bin.bin
A feltöltés általában 2-3 percet vesz igénybe, miután elkészült, megjelenik a tábla, amely 20 osztály észlelését futtatja. Számunkra az utolsó lépés az Arduino mega vagy a Raspberry Pi csatlakoztatása.
5. lépés: Csatlakozás Arduino -hoz
Az Arduino Mega -t használtam a Seeed Studio Mega Shield -el, ezért forrasztottam egy Grove csatlakozót a Sipeed M1 lapra. Azonban csak áthidaló vezetékeket használhat, és a Sipeed M1 -et közvetlenül az Arduino Mega -hoz csatlakoztathatja, ezt a kapcsolási rajzot követve.
Ezt követően töltse fel a camera.ino vázlatot, és nyissa meg a soros monitort. Amikor a kamerát különböző objektumokra irányítja (a 20 osztály listája szerepel a vázlatban), akkor az osztály nevét kell kiadnia a soros monitoron!
Gratulálunk! Most már van működő képfelismerő modulja az Arduino készülékéhez!
6. lépés: Csatlakozás a Raspberry Pi -hez
Grove Pi+ kalapot használtam a Raspberry Pi 2B -hez, de ismét, mint az Arduino esetében, közvetlenül csatlakoztathatja a Sipeed M1 -et a Raspberry Pi UART interfészéhez a kapcsolási rajz szerint.
Ezt követően indítsa el a camera_speak.py programot, és mutassa a kamerát különböző objektumokra, a terminál a következő szöveget adja ki: "Szerintem", és ha hangszórók vannak csatlakoztatva, akkor hangosan kimondja ezt a kifejezést. Elég menő, nem?
7. lépés: Következtetés
Nagyon izgalmas időkben élünk, ahol az AI és a gépi tanulás behatol életünk minden területébe. Kíváncsian várom a fejlődést ezen a területen. Tartom a kapcsolatot a Sipeed csapatával, és tudom, hogy aktívan fejlesztik a mikropiton burkolatot az összes szükséges funkcióhoz, beleértve a CNN gyorsítást is.
Ha készen lesz, valószínűleg további utasításokat teszek közzé a saját CNN -modelljeinek mikropitonnal való használatáról. Gondoljon az összes izgalmas alkalmazásra, amelyet egy olyan táblához használhat, amely képes saját képfeldolgozó ideghálózatait futtatni ezen az áron és ezzel a lábnyomával!
Ajánlott:
Kikapcsoló gomb a Raspberry Pi számára: 3 lépés
Kikapcsolási gomb a Raspberry Pi számára: A Raspberry Pi egy nagyon hasznos számítási platform, amely lehetővé teszi különféle IoT/robotika/intelligens otthon/… projektalkalmazások létrehozását. Az egyetlen dolog azonban nincs benne, összehasonlítva egy normál számítógéppel, a kikapcsolás gomb. Tehát hogyan tudunk létrehozni
Kihangosító Google asszisztens a Raspberry Pi számára: 14 lépés (képekkel)
Kihangosító Google asszisztens a Raspberry Pi számára: Üdvözlöm az első Instructable programban! Ebben az oktatóanyagban megmutatom Önnek, hogy mi a legegyszerűbb módja annak, hogy telepítsek egy éneklő, táncos Google Segédet a Raspberry Pi készülékre. Teljesen ki van szabadítva az OK Googl segítségével
64 bites RT rendszermag -összeállítás a Raspberry Pi 4B számára: 5 lépés
64 bites RT rendszermag -összeállítás Raspberry Pi 4B számára: Ez az oktatóanyag a 64 bites valós idejű kernel Raspberry Pi -re történő felépítésének és telepítésének folyamatát tárgyalja. Az RT Kernel kulcsfontosságú a ROS2 és más valós idejű IOT megoldások teljes funkcionalitása szempontjából. A kernelt x64 alapú Raspbianra telepítették, amely
Hatékony Java fejlesztés a Raspberry Pi számára: 11 lépés (képekkel)
Hatékony Java fejlesztés a Raspberry Pi számára: Ez az utasítás nagyon hatékony megközelítést ír le a Raspberry Pi Java programok fejlesztéséhez. Ezt a megközelítést használtam a Java képességek fejlesztéséhez, az alacsony szintű eszköztámogatástól a többszálas és hálózati alapú programokig. A kb
Egyszerű telepítés IR távirányító a LIRC használatával a Raspberry PI (RPi) számára - 2019 július [1. rész]: 7 lépés
Egyszerű beállítás IR infravörös távirányító a LIRC használatával a Raspberry PI (RPi) számára - 2019. július [1. rész]: Sok keresés után meglepődtem és megdöbbentem azon ellentmondó információkon, hogy hogyan állítsam be az IR távirányítót az RPi projektemhez. Azt hittem, hogy könnyű lesz, de a Linux InfraRed Control (LIRC) beállítása sokáig problémás volt