Sadržaj:

Sipeed MaiX Bit OpenMV Demos - Računalni vid: 3 koraka
Sipeed MaiX Bit OpenMV Demos - Računalni vid: 3 koraka

Video: Sipeed MaiX Bit OpenMV Demos - Računalni vid: 3 koraka

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

Ovo je drugi članak u nizu o Sipeed AI -u na platformi Edge mikrokontrolera. Ovaj put ću pisati o MaiX Bit -u (veza na Seeed Studio Shop), manjoj razvojnoj ploči spremnoj za izradu matične ploče. Njegove su specifikacije vrlo slične MaiX Docku, ploči koju sam koristio u prošlom vodiču, budući da koriste isti čip, Kendryte K210.

Koristit ćemo mikropython firmware za isprobavanje nekih OpenMV demonstracija. Evo opisa s početne stranice OpenMV -a:

Projekt OpenMV govori o stvaranju jeftinih, proširivih, Python-ovih modula za strojni vid, s ciljem da postane „Arduino of Machine Vision“.… Python znatno olakšava rad s algoritmima strojne vizije. Na primjer, metoda find_blobs () u kodu pronalazi mrlje u boji i vraća popis objekata s 8 vrijednosti koji predstavljaju svaku pronađenu mrlju u boji. U Pythonu ponavljanje popisa objekata koje vraća find_blobs () i crtanje pravokutnika oko svake mrlje u boji lako se izvodi u samo dva retka koda.

Dakle, unatoč MaiX Bit značajkama namjenskog akceleratora neuronske mreže, ponekad bi moglo biti lakše samo koristiti OpenMV hard-code algoritme za obavljanje posla ili ih koristiti jedan uz drugog.

Neki slučajevi korištenja koji mi padaju na pamet su:

1) Otkrivanje linije za bota sljedbenika linije

2) Otkrivanje semafora s otkrivanjem krugova i boja

3) Korištenje detekcije lica za pronalaženje lica za prepoznavanje lica (s DNN)

Github spremište za ovaj članak

Korak 1: Flash Micropython firmver

Spojite se na MaiX Bit
Spojite se na MaiX Bit

Prije svega, trebat ćemo prenijeti mikropython firmware na našu ploču. Predkompilirana binarna datoteka uključena je u github spremište za ovaj članak, zajedno s kflash.py (pomoćni program za flash). Ako želite kompajlirati firmver iz izvornog koda, samo preuzmite izvorni kod s https://github.com/sipeed/MaixPy, instalirajte alatni lanac i prevedite izvorni kod u datoteku maixpy.bin. Detaljne upute za izgradnju mogu se pronaći ovdje.

Bljeskajte binarnu datoteku s

sudo python3 kflash.py kpu.bin

Nakon uspješnog bljeskanja slijedite sljedeći korak.

Korak 2: Spojite se na MaiX Bit

Sada bi naš MaiX bit trebao biti dostupan putem USB serijske veze s baudrateom 115200. Možete koristiti svoj omiljeni softver za serijsku komunikaciju ili samo naredbe cat i echo, što god odgovara vašim potrebama. Koristio sam zaslon za serijsku komunikaciju i bilo mi je zgodno.

Naredba za uspostavljanje serijske komunikacijske sesije s zaslonom je

sudo zaslon /dev /ttyUSB0 115200

gdje je /dev /ttyUSB0 adresa vašeg uređaja.

Možda ćete morati pritisnuti gumb za poništavanje na mikrokontroleru da vidite pozdravnu poruku i upit prevoditelja pythona.

Korak 3: Pokrenite Demo

Sada možete pristupiti načinu kopiranja pritiskom na Ctrl+E i kopirati-zalijepiti demo kodove. Da biste ih pokrenuli, pritisnite Ctrl+D u načinu kopiranja.

Ako ne želite snimati videozapise, morate komentirati redove za snimanje videozapisa. U protivnom će kôd izazvati iznimku ako nema umetnute SD kartice

Evo kratkih opisa svake demonstracije:

Pronađi krugove - koristi funkciju find_circles iz OpenMV -a. Potrebno je dodatno podešavanje za vašu određenu aplikaciju, posebno prag (kontrolira koje krugove detektira Hough -ova transformacija. Vraćaju se samo krugovi veličine veće od ili jednake pragu) i vrijednosti r_min, r_max.

Pronađi pravokutnike - koristi funkciju find_rects iz OpenMV -a. Možete se igrati s vrijednošću praga, ali vrijednost koju imam u demonstracijama prilično je dobra za pronalaženje pravokutnika.

Pronađi lica, pronađi oči - koristi funkciju find_features s Haar kaskadama za otkrivanje očiju i frontalnog lica na slici. Možete se poigrati s vrijednostima praga i ljestvice za pravi kompromis brzine i točnosti.

Find beskonačne linije - koristi funkciju find_lines za pronalaženje svih beskonačnih linija na slici pomoću Hough transformacije.

Otkrivanje boje - koristi funkciju get_statistics za dobivanje percentilnog objekta, a zatim pretvara srednje vrijednosti LAB -a u RGB vrijednosti. Ovaj sam primjer napisao sam i radi prilično dobro, ali imajte na umu da će na rezultate otkrivanja boja utjecati uvjeti ambijentalnog osvjetljenja.

U OpenMV github spremištu možete pronaći još mnogo zanimljivih demonstracija! Uglavnom su kompatibilni s mikropitonom MaiX Bit, jedino što trebate zapamtiti je dodavanje sensor.run (1) nakon postavljanja formata pixformata i okvira.

Sretno eksperimentiranje s OpenMV kodom. Ako imate pitanja ili želite podijeliti neke od svojih zanimljivih rezultata, ne ustručavajte se kontaktirati me na Youtube ili LinkedIn. Oprostite, idem napraviti robote!

Preporučeni: