Satura rādītājs:

AI kamera Raspberry Pi/Arduino: 7 soļi
AI kamera Raspberry Pi/Arduino: 7 soļi

Video: AI kamera Raspberry Pi/Arduino: 7 soļi

Video: AI kamera Raspberry Pi/Arduino: 7 soļi
Video: Шок!!! ДУШИ МЕРТВЕЦОВ В ЗАТОЧЕНИИ У ДЕМОНА В ЭТОМ СТРАШНОМ ДОМЕ / HERE ARE THE SOULS OF THE DEAD 2024, Novembris
Anonim
Image
Image

Ja jūs nesen sekojāt jaunumiem, notika sprādziens, kad jaunuzņēmumi izstrādāja mikroshēmas, lai paātrinātu ML (mašīnmācīšanās) algoritmu secinājumus un apmācību. Tomēr lielākā daļa no šīm mikroshēmām joprojām tiek izstrādātas, un tas nav īsti tas, ko jūsu vidējais veidotājs var iegūt. Vienīgais nozīmīgais izņēmums līdz šim bija Intel Movidius Neural Compute Stick, kas ir pieejams iegādei un ir aprīkots ar labu SDK. Tam ir daži būtiski trūkumi - proti, cena (aptuveni 100 USD) un fakts, ka tas ir pieejams USB zibatmiņas formātā. Tas ir lieliski, ja vēlaties to izmantot kopā ar klēpjdatoru vai Raspberry PI, bet ko darīt, ja vēlaties veikt dažus attēlu atpazīšanas projektus ar Arduino? Vai Raspberry Pi Zero?

1. solis: Sipeed MAix: AI pie malas

Sipeed MAix: AI pie malas
Sipeed MAix: AI pie malas

Ne tik sen es nonācu pie Sipeed M1w K210 izstrādes plates, kurai ir divkodolu RISC-V 64 bitu centrālais procesors un lepojas ar iebūvētu KPU (neironu tīkla procesoru), kas īpaši paredzēts CNN paātrināšanai attēlu apstrādei. Sīkāku informāciju varat izlasīt šeit.

Šīs plates cena mani atklāti šokēja, tā ir tikai 19 USD par pilnvērtīgu AI izstrādes plati ar Wi-Fi atbalstu! Tomēr ir brīdinājums (protams, ir): plates mikropitona programmaparatūra joprojām tiek izstrādāta, un kopumā tā pašlaik nav pārāk draudzīga lietotājam. Vienīgais veids, kā pašlaik piekļūt visām tā funkcijām, ir rakstīt savu iegulto C kodu vai modificēt dažus esošos demonstrācijas variantus.

Šajā apmācībā ir paskaidrots, kā izmantot Mobilenet 20 klases noteikšanas modeli, lai noteiktu objektus un nosūtītu atklātā objekta kodu caur UART, no kurienes to var saņemt Arduino/Raspberry Pi.

Tagad šajā apmācībā tiek pieņemts, ka esat iepazinies ar Linux un C koda apkopošanas pamatiem. Ja, dzirdot šo frāzi, jūs nedaudz noreiboja galva:), tad vienkārši pārejiet uz 4. darbību, kur augšupielādējat manu iepriekš izveidoto bināro failu Sipeed M1 un izlaižat apkopošanu.

2. solis: Sagatavojiet savu vidi

Sagatavojiet savu vidi
Sagatavojiet savu vidi

C koda apkopošanai un augšupielādei es izmantoju Ubuntu 16.04. To ir iespējams izdarīt sistēmā Windows, bet es pats to nemēģināju.

Lejupielādējiet RISC-V GNU kompilatora rīku ķēdi, instalējiet visas nepieciešamās atkarības.

git klons-rekursīvs

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

Kopējiet lejupielādēto rīku ķēdi direktorijā /opt. Pēc tam izpildiet šādas komandas

./configure --prefikss =/opt/kendryte-toolchain-ar cmodel = medany

veidot

Pievienojiet/opt/kendryte-toolchain/bin savam PATH tūlīt.

Tagad esat gatavs apkopot kodu!

3. darbība: sastādiet kodu

Apkopojiet kodeksu
Apkopojiet kodeksu

Lejupielādējiet kodu no manas github krātuves.

Lejupielādējiet Kendryte K210 atsevišķu SDK

Kopēt /kpu mapi no manas github krātuves uz SDK mapi /src.

Palaidiet šādas komandas SDK mapē (nevis /src mapē!)

mkdir build && cd build

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

kur projekta_nosaukums ir jūsu projekta nosaukums (atkarīgs no jums) un -DTOOLCHAIN = jānorāda uz jūsu risc -v rīku ķēdes atrašanās vietu (jūs to lejupielādējāt pirmajā solī, atcerieties?)

Lieliski! Tagad, cerams, redzēsit, ka kompilācija ir pabeigta bez kļūdām, un jums ir.bin fails, kuru varat augšupielādēt.

4. darbība.. Bin faila augšupielāde

. Bin faila augšupielāde
. Bin faila augšupielāde

Tagad pievienojiet Sipeed M1 datoram un no /build mapes izpildiet šādu komandu

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

Kur kpu.bin ir jūsu.bin faila nosaukums

Augšupielāde parasti ilgst 2-3 minūtes, pēc tam, kad tas ir paveikts, jūs redzēsit, ka tāfele atklāj 20 klases. Pēdējais solis mums ir savienot to ar Arduino mega vai Raspberry Pi.

!!! Ja jūs tikko nākāt no 2. soļa !

Izpildiet šādu komandu no mapes, kurā klonējāt manu github repozitoriju

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

Augšupielāde parasti ilgst 2-3 minūtes, pēc tam, kad tas ir paveikts, jūs redzēsit, ka tāfele atklāj 20 klases. Pēdējais solis mums ir savienot to ar Arduino mega vai Raspberry Pi.

5. solis: izveidojiet savienojumu ar Arduino

Savienojuma izveide ar Arduino
Savienojuma izveide ar Arduino
Savienojuma izveide ar Arduino
Savienojuma izveide ar Arduino
Savienojuma izveide ar Arduino
Savienojuma izveide ar Arduino

Es izmantoju Arduino Mega ar Seeed Studio Mega Shield, tāpēc es lodēju Grove savienotāju pie Sipeed M1 plates. Tomēr jūs varat vienkārši izmantot džemperu vadus un savienot Sipeed M1 tieši ar Arduino Mega, ievērojot šo elektroinstalācijas shēmu.

Pēc tam augšupielādējiet camera.ino skici un atveriet sērijas monitoru. Norādot kameru uz dažādiem objektiem (skicē ir 20 klašu saraksts), sērijas monitorā jāizdod klases nosaukums!

Apsveicam! Tagad jūsu Arduino ir pieejams attēla noteikšanas modulis!

6. darbība. Savienojuma izveide ar Raspberry Pi

Savienojuma izveide ar Raspberry Pi
Savienojuma izveide ar Raspberry Pi
Savienojuma izveide ar Raspberry Pi
Savienojuma izveide ar Raspberry Pi

Es izmantoju Grove Pi+ cepuri Raspberry Pi 2B, bet atkal, tāpat kā ar Arduino, jūs varat tieši savienot Sipeed M1 ar Raspberry Pi UART saskarni, ievērojot šo elektroinstalācijas shēmu.

Pēc tam palaidiet camera_speak.py un norādiet kameru uz dažādiem objektiem, terminālis izvadīs šādu tekstu "Es domāju, ka tā ir", kā arī, ja jums ir pievienoti skaļruņi, tas skaļi izrunās šo frāzi. Diezgan forši, vai ne?

7. solis. Secinājums

Šis ir ļoti aizraujošs laiks, kurā mēs dzīvojam, un AI un mašīnmācība iekļūst visās mūsu dzīves jomās. Ar nepacietību gaidu attīstību šajā jomā. Es sazinos ar Sipeed komandu, un es zinu, ka viņi aktīvi izstrādā mikropitona iesaiņojumu visām nepieciešamajām funkcijām, ieskaitot CNN paātrinājumu.

Kad tas būs gatavs, es ļoti iespējams publicēšu vairāk pamācību par to, kā izmantot savus CNN modeļus ar mikropitonu. Padomājiet par visām aizraujošajām lietojumprogrammām, kas var būt dēlim, kas var vadīt savus attēlu apstrādes neironu tīklus par šo cenu un ar šo nospiedumu!

Ieteicams: