Sisukord:

AI -kaamera Raspberry Pi/Arduino jaoks: 7 sammu
AI -kaamera Raspberry Pi/Arduino jaoks: 7 sammu

Video: AI -kaamera Raspberry Pi/Arduino jaoks: 7 sammu

Video: AI -kaamera Raspberry Pi/Arduino jaoks: 7 sammu
Video: HLK-TX510 - платформа для распознавания лиц 2024, Juuni
Anonim
Image
Image

Kui olete hiljuti uudiseid jälginud, toimus plahvatuslikult idufirmade poolt, kes arendasid kiipe ML (masinõppe) algoritmide järeldamise ja koolituse kiirendamiseks. Kuid enamik neist kiibidest on alles väljatöötamisel ja pole tegelikult midagi, mida teie keskmine tegija saaks kätte saada. Ainus märkimisväärne erand oli seni Intel Movidius Neural Compute Stick, mida saab osta ja millel on hea SDK. Sellel on mõned olulised puudused - nimelt hind (umbes 100 USD) ja asjaolu, et see on saadaval USB -mälupulga kujul. See on suurepärane, kui soovite seda kasutada sülearvuti või Raspberry PI -ga, aga mis siis, kui soovite Arduinoga teha mõned pildituvastuse projektid? Või Raspberry Pi Zero?

1. samm: Sipeed MAix: AI servas

Sipeed MAix: AI äärel
Sipeed MAix: AI äärel

Mitte nii kaua aega tagasi sattusin Sipeed M1w K210 arendusplaadile, millel on kahetuumaline 64-bitine RISC-V protsessor ja millel on sisseehitatud KPU (Neural Network Processor), mis on spetsiaalselt loodud CNN-i kiirendamiseks pilditöötluseks. Lisateavet saate lugeda siit.

Selle plaadi hind šokeeris mind ausalt, see on vaid 19 USD täieõigusliku AI-on-the-edge arendusplaadi ja WiFi toega! Siiski on hoiatus (muidugi on): tahvli mikropythoni püsivara on alles väljatöötamisel ja üldiselt pole see praegu liiga kasutajasõbralik. Ainus viis kõigile selle funktsioonidele praegu juurde pääseda on kirjutada oma manustatud C -kood või muuta mõnda olemasolevat demot.

See õpetus selgitab, kuidas kasutada Mobilenet 20 klassi tuvastusmudelit objektide tuvastamiseks ja tuvastatud objektikoodi saatmiseks UART -i kaudu, kust Arduino/Raspberry Pi saab selle vastu võtta.

Nüüd eeldab see õpetus, et olete tuttav Linuxiga ja C -koodi koostamise põhitõdedega. Kui selle fraasi kuulmine tekitas veidi uimastust:) siis jätkake lihtsalt 4. sammuga, kus laadite üles minu eelehitatud binaarfaili Sipeed M1-sse ja jätate koostamise vahele.

Samm: valmistage oma keskkond ette

Valmistage oma keskkond ette
Valmistage oma keskkond ette

C -koodi kompileerimiseks ja üleslaadimiseks kasutasin Ubuntu 16.04. Windowsis on seda võimalik teha, aga ma ise ei proovinud.

Laadige alla RISC-V GNU kompilaatori tööriistakett, installige kõik vajalikud sõltuvused.

git kloon-rekursiivne

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

Kopeerige allalaaditud tööriistakett kataloogi /opt. Pärast seda käivitage järgmised käsud

./configure --prefix =/opt/kendryte-toolchain-koos-cmodel = medany

tegema

Lisage/opt/kendryte-toolchain/bin oma PATH-ile kohe.

Nüüd olete koodi koostamiseks valmis!

3. samm: koostage kood

Koostage koodeks
Koostage koodeks

Laadige kood alla minu githubi hoidlast.

Laadige alla Kendryte K210 eraldiseisev SDK

Kopeeri /kpu kaust minu githubi hoidlast SDK kausta /src.

Käivitage SDK kaustas järgmised käsud (mitte kaust /src!)

mkdir build && cd build

cmake.. -DPROJ = projekti_nimi -DTOOLCHAIN =/opt/kendryte -toolchain/bin && make

kus projekti_nimi on teie projekti nimi (teie otsustada) ja -DTOOLCHAIN = peaks viitama teie risc -v tööriistaketi asukohale (laadisite selle alla esimeses etapis, mäletate?)

Suurepärane! Loodetavasti näete, et kompileerimine on vigadeta lõpetatud ja teil on.bin -fail, mille saate üles laadida.

Samm 4:.bin -faili üleslaadimine

. Bin -faili üleslaadimine
. Bin -faili üleslaadimine

Nüüd ühendage oma Sipeed M1 arvutiga ja käivitage kaustast /build järgmine käsk

sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu.bin

Kus kpu.bin on teie.bin -faili nimi

Üleslaadimine võtab tavaliselt 2–3 minutit, pärast selle valmimist näete tahvlil 20 klassi tuvastamist. Viimane samm meie jaoks on ühendada see Arduino mega või Raspberry Pi -ga.

!!! Kui tulite just 2. sammult !

Käivitage järgmine käsk kaustast, kus te minu githubi hoidla kloonisite

sudo python3 isp_auto.py -d /dev /ttyUSB0 -b 200000 kpu_bin.bin

Üleslaadimine võtab tavaliselt 2–3 minutit, pärast selle valmimist näete tahvlil 20 klassi tuvastamist. Viimane samm meie jaoks on ühendada see Arduino mega või Raspberry Pi -ga.

Samm: ühendage Arduinoga

Ühendamine Arduinoga
Ühendamine Arduinoga
Ühendamine Arduinoga
Ühendamine Arduinoga
Ühendamine Arduinoga
Ühendamine Arduinoga

Ma kasutasin Arduino Megat koos Seeed Studio Mega Shieldiga, seetõttu jootsin Grove'i pistiku Sipeed M1 plaadile. Siiski saate lihtsalt kasutada hüppajajuhtmeid ja ühendada Sipeed M1 otse Arduino Mega, järgides seda ühendusskeemi.

Pärast seda laadige üles kaamera.ino visand ja avage seeriamonitor. Kui suunate kaamera erinevatele objektidele (visandis on 20 klassi loend), peaks see jadamonitoris väljastama klassi nime!

Palju õnne! Nüüd on teie Arduino jaoks töökorras kujutise tuvastamise moodul!

Samm: ühenduse loomine Raspberry Pi -ga

Ühendamine Raspberry Pi -ga
Ühendamine Raspberry Pi -ga
Ühendamine Raspberry Pi -ga
Ühendamine Raspberry Pi -ga

Kasutasin Raspberry Pi 2B jaoks Grove Pi+ mütsi, kuid jällegi, nagu Arduino puhul, saate Sipeed M1 otse ühendada Raspberry Pi UART -liidesega, järgides seda ühendusskeemi.

Pärast seda käivitage camera_speak.py ja suunake kaamera erinevatele objektidele, väljastab terminal järgmise teksti "Ma arvan, et see on" ja ka siis, kui teil on kõlarid ühendatud, ütleb ta selle fraasi valjusti. Päris lahe, kas pole?

Samm 7: Järeldus

Praegu on väga põnevad ajad, mil me elame, kusjuures AI ja masinõpe tungivad kõikidesse meie eluvaldkondadesse. Ootan huviga selle valdkonna arengut. Hoian sidet Sipeedi meeskonnaga ja tean, et nad arendavad aktiivselt välja mikropythoni ümbrist kõigi vajalike funktsioonide, sealhulgas CNN -i kiirenduse jaoks.

Kui see on valmis, avaldan suure tõenäosusega rohkem juhiseid selle kohta, kuidas kasutada oma CNN -i mudeleid koos mikropüütiga. Mõelge kõigile põnevatele rakendustele, mis võivad teil olla selle hinna ja selle jalajälje eest oma pilditöötluse närvivõrke juhtida!

Soovitan: