Turinys:

„AI“kamera „Raspberry Pi“/„Arduino“: 7 žingsniai
„AI“kamera „Raspberry Pi“/„Arduino“: 7 žingsniai

Video: „AI“kamera „Raspberry Pi“/„Arduino“: 7 žingsniai

Video: „AI“kamera „Raspberry Pi“/„Arduino“: 7 žingsniai
Video: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, Lapkritis
Anonim
Image
Image

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

Sipeed MAix: AI prie krašto
Sipeed 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ą

Paruoškite savo aplinką
Paruoškite savo 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ą

Sudarykite kodeksą
Sudarykite kodeksą

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ą

Įkeliamas.bin failas
Įkeliamas.bin failas

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“

Prisijungimas prie „Arduino“
Prisijungimas prie „Arduino“
Prisijungimas prie „Arduino“
Prisijungimas prie „Arduino“
Prisijungimas prie „Arduino“
Prisijungimas 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“

Prisijungimas prie „Raspberry Pi“
Prisijungimas prie „Raspberry Pi“
Prisijungimas prie „Raspberry Pi“
Prisijungimas 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: