INHOUDSOPGAWE:

Sipeed MaiX Bit OpenMV -demos - Rekenaarvisie: 3 stappe
Sipeed MaiX Bit OpenMV -demos - Rekenaarvisie: 3 stappe

Video: Sipeed MaiX Bit OpenMV -demos - Rekenaarvisie: 3 stappe

Video: Sipeed MaiX Bit OpenMV -demos - Rekenaarvisie: 3 stappe
Video: Sipeed MAIX III AXera Pi --- Night Scene Enhancement 2024, November
Anonim
Image
Image

Dit is die tweede artikel in die reeks oor Sipeed AI op die Edge -mikrobeheerderplatform. Hierdie keer skryf ek oor MaiX Bit (skakel na Seeed Studio Shop), 'n kleiner ontwikkelingsbord wat gereed is vir broodbord. Die spesifikasies is baie soortgelyk aan MaiX Dock, die bord wat ek vir die vorige tutoriaal gebruik het, aangesien hulle dieselfde chip, Kendryte K210, gebruik.

Ons gaan mikropython -firmware gebruik om 'n paar OpenMV -demo's te probeer. Hier is die beskrywing van die OpenMV -tuisblad:

Die OpenMV-projek gaan oor die skep van lae-koste, uitbreidbare, Python-aangedrewe, masjienvisie-modules en het ten doel om die 'Arduino of Machine Vision' te word. … Python maak die werk met algoritmes vir masjienvisies baie makliker. Byvoorbeeld, die metode find_blobs () in die kode vind kleurblare en gee 'n lys van voorwerpe met agt waarde wat elke kleurblok wat voorgestel word, weergee. In Python herhaal dit maklik deur die lys voorwerpe wat deur find_blobs () teruggestuur word en 'n reghoek om elke kleurblok trek, in slegs twee reëls kode.

Ondanks dat MaiX Bit 'n toegewyde neurale netwerkversneller het, kan dit soms makliker wees om OpenMV-hardgekodeerde algoritmes te gebruik om dit te doen of langs mekaar te gebruik.

Sommige gevalle waaraan ek dink, is:

1) Lynopsporing vir lynvolgbot

2) Opsporing van verkeersligte met sirkel- en kleuropsporing

3) Gebruik gesigsopsporing om die gesigte vir gesigsherkenning te vind (met DNN)

Github -bewaarplek vir hierdie artikel

Stap 1: Flash Micropython -firmware

Koppel aan MaiX Bit
Koppel aan MaiX Bit

In die eerste plek moet ons die mikropython -firmware na ons bord flits. 'N Vooraf saamgestelde binêre is ingesluit in die github -bewaarplek vir hierdie artikel, tesame met kflash.py ('n flash -nut). As u die firmware van die bronkode wil saamstel, laai die bronkode af van https://github.com/sipeed/MaixPy, installeer die werktuigketting en stel die bronkode saam in die maixpy.bin -lêer. Gedetailleerde bouinstruksies kan hier gevind word.

Flits die binêre lêer met

sudo python3 kflash.py kpu.bin

Na suksesvolle flikkering, gaan na die volgende stap.

Stap 2: Koppel aan MaiX Bit

Nou moet ons MaiX Bit toeganklik wees via 'n USB -seriële verbinding met baudrate 115200. U kan u gunsteling sagteware gebruik vir seriële kommunikasie of net kat- en eggo -opdragte, wat u ook al pas. Ek gebruik die skerm vir seriële kommunikasie en vind dit baie gerieflik.

Die opdrag om 'n seriële kommunikasiesessie met die skerm op te stel, is

sudo skerm /dev /ttyUSB0 115200

waar /dev /ttyUSB0 die adres van u toestel is.

Miskien moet u op die reset -knoppie op u mikrobeheerder druk om die groeteboodskap en die python -tolkopdrag te sien.

Stap 3: voer die demonstrasies uit

Nou kan u toegang tot die kopiemodus verkry deur op Ctrl+E te druk en die demo-kodes te plak. Om dit uit te voer, druk Ctrl+D in die kopieermodus.

As u nie die video's wil opneem nie, moet u kommentaar lewer op die video -opnamelyne. Andersins sal die kode 'n uitsondering maak as daar geen SD -kaart is nie

Hier is 'n kort beskrywing van elke demo:

Soek sirkels - gebruik die funksie find_circles van OpenMV. Benodig meer aanpassing vir u spesifieke toepassing, veral drempel (beheer watter sirkels deur die transformasie waargeneem word. Slegs sirkels met 'n grootte groter as of gelyk aan drempel word teruggekeer) en r_min, r_max waardes.

Soek reghoeke - gebruik die funksie find_rects van OpenMV. U kan met drempelwaarde speel, maar die waarde wat ek in demo het, werk redelik goed om reghoeke te vind.

Soek gesigte, vind oë - gebruik funksies find_features met Haar Cascades vir die opsporing van oë en frontale gesig in die beeld. U kan speel met drempel- en skaalwaardes vir die regte afwisseling van spoednoukeurigheid.

Vind oneindige lyne - gebruik die funksie find_lines om alle oneindige lyne in die prent te vind met behulp van die transformasie.

Ontdek kleur - gebruik die get_statistics -funksie om 'n persentielvoorwerp te verkry en skakel dan die gemiddelde waardes van LAB -tuple om in RGB -waardes tuple. Ek het hierdie voorbeeld self geskryf en dit werk redelik goed, maar hou in gedagte dat die resultate van kleuropsporing deur die omringende ligstoestande beïnvloed word.

U kan nog baie meer interessante demo's vind in OpenMV github -bewaarplek! Hulle is meestal versoenbaar met MaiX Bit micropython, die enigste ding wat u moet onthou is om sensor.run (1) by te voeg nadat u die pixformat en die raamgrootte ingestel het.

Gelukkige eksperimentering met OpenMV -kode. As u vrae het of 'n paar van u interessante resultate wil deel, moet asseblief nie huiwer om my op Youtube of LinkedIn te kontak nie. Verskoon my, ek gaan 'n paar robotte maak!

Aanbeveel: