Kazalo:

Sipeed MaiX Bit OpenMV Demos - Računalniški vid: 3 koraki
Sipeed MaiX Bit OpenMV Demos - Računalniški vid: 3 koraki

Video: Sipeed MaiX Bit OpenMV Demos - Računalniški vid: 3 koraki

Video: Sipeed MaiX Bit OpenMV Demos - Računalniški vid: 3 koraki
Video: The Choice is Ours (2016) Official Full Version 2024, Julij
Anonim
Image
Image

To je drugi članek v seriji o AI Sipeed na platformi mikrokrmilnika Edge. Tokrat bom pisal o MaiX Bitu (povezava do Seeed Studio Shop), manjši razvojni plošči, pripravljeni za tiskanje. Njegove specifikacije so zelo podobne MaiX Docku, plošči, ki sem jo uporabil za zadnjo vadnico, saj uporabljajo isti čip, Kendryte K210.

Za preizkus nekaterih predstavitev OpenMV bomo uporabili vdelano programsko opremo micropython. Tukaj je opis z domače strani OpenMV:

Projekt OpenMV gre za ustvarjanje poceni, razširljivih modulov strojnega vida, ki jih poganja Python, njegov cilj pa je postati "Arduino of Machine Vision". … Python močno olajša delo z algoritmi strojnega vida. Na primer metoda find_blobs () v kodi najde barvne blobe in vrne seznam 8-vrednih predmetov, ki predstavljajo vsako najdeno barvno blobo. V Pythonu je iteracijo po seznamu predmetov, ki jih vrne find_blobs (), in risanje pravokotnika okoli vsake barvne blobe enostavno narediti v samo dveh vrsticah kode.

Torej, kljub funkcijam MaiX Bit, ki imajo namenski pospeševalnik nevronskih omrežij, je včasih morda lažje uporabiti trdo kodirane algoritme OpenMV za opravljanje dela ali jih uporabljati skupaj.

Nekaj primerov uporabe, ki mi pridejo na misel, so:

1) Zaznavanje linije za bot sledilca linije

2) Zaznavanje semaforjev z zaznavanjem kroga in barv

3) Uporaba zaznavanja obrazov za iskanje obrazov za prepoznavanje obrazov (z DNN)

Skladišče Github za ta članek

1. korak: Vdelana programska oprema Flash Micropython

Povežite se z MaiX Bit
Povežite se z MaiX Bit

Najprej bomo morali na našo ploščo utripati vdelano programsko opremo micropython. V zbirko github za ta članek je skupaj s kflash.py (pripomočkom za bliskavico) vključena vnaprej sestavljena binarna datoteka. Če želite sestaviti vdelano programsko opremo iz izvorne kode, jo preprosto prenesite s spletnega mesta https://github.com/sipeed/MaixPy, namestite orodno verigo in prevedite izvorno kodo v datoteko maixpy.bin. Podrobna navodila za izdelavo najdete tukaj.

Binarno datoteko utripajte z

sudo python3 kflash.py kpu.bin

Po uspešnem utripanju sledite naslednjemu koraku.

Korak: Povežite se z MaiX Bit

Zdaj bi moral biti naš MaiX Bit dostopen prek serijske povezave USB z baudrate 115200. Za serijsko komunikacijo lahko uporabite svojo najljubšo programsko opremo ali samo ukaze mačka in odmev, kar ustreza vašim potrebam. Zaslon sem uporabljal za serijsko komunikacijo in se mi je zdel zelo priročen.

Ukaz za vzpostavitev serijske komunikacijske seje z zaslonom je

sudo screen /dev /ttyUSB0 115200

kjer je /dev /ttyUSB0 naslov vaše naprave.

Morda boste morali pritisniti gumb za ponastavitev na mikrokrmilniku, da vidite pozdravno sporočilo in poziv tolmača pythona.

3. korak: Zaženite predstavitveni program

Zdaj lahko dostopate do načina kopiranja s pritiskom na Ctrl+E in kopirate in prilepite demo kode. Če jih želite zagnati, pritisnite Ctrl+D v načinu kopiranja.

Če video posnetkov ne želite posneti, morate komentirati vrstice za snemanje videa. V nasprotnem primeru bo koda povzročila izjemo, če ni vstavljena kartica SD

Tu je kratek opis vsake predstavitve:

Poišči kroge - uporablja funkcijo find_circles iz OpenMV. Potrebuje več prilagoditev za vašo posebno aplikacijo, zlasti prag (nadzoruje, kateri krogi so zaznani pri pretvorbi Hough. Vrnejo se samo krogi z velikostjo, ki je večja ali enaka pragu) in vrednosti r_min, r_max.

Poišči pravokotnike - uporablja funkcijo find_rects iz OpenMV. Lahko se poigrate z mejno vrednostjo, vendar je vrednost, ki jo imam v predstavitvi, zelo dobra za iskanje pravokotnikov.

Poišči obraze, poišči oči - uporablja funkcijo find_features s kaskadami Haar za zaznavanje oči in čelnega obraza na sliki. Lahko se poigrate z vrednostmi praga in lestvice za pravi kompromis med hitrostjo in natančnostjo.

Poišči neskončne črte - uporablja funkcijo find_lines za iskanje vseh neskončnih črt na sliki s pomočjo transformacije hough.

Zaznaj barvo - uporablja funkcijo get_statistics za pridobitev percentilnega predmeta in nato pretvori povprečne vrednosti nabora LAB v nabor vrednosti RGB. Ta primer sem napisal sam in deluje zelo dobro, vendar ne pozabite, da bodo na rezultate zaznavanja barv vplivali pogoji svetlobe v okolici.

V skladišču OpenMV github lahko najdete še veliko zanimivih predstavitev! Večinoma so združljivi z mikropitonom MaiX Bit, edino, kar si morate zapomniti, je, da dodate senzor.run (1) po nastavitvi formata pixformata in velikosti okvirja.

Veselo eksperimentiranje s kodo OpenMV. Če imate kakršna koli vprašanja ali želite deliti svoje zanimive rezultate, se obrnite na mene na Youtube ali LinkedIn. Oprostite, naredil bom nekaj robotov!

Priporočena: