Innholdsfortegnelse:
Video: Sipeed MaiX Bit OpenMV -demonstrasjoner - Computer Vision: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Dette er den andre artikkelen i serien om Sipeed AI på Edge -mikrokontrollerplattformen. Denne gangen skal jeg skrive om MaiX Bit (lenke til Seeed Studio Shop), et mindre utviklingsbrett som er klart for brødbrett. Spesifikasjonene ligner veldig på MaiX Dock, brettet jeg brukte for siste opplæring, siden de bruker samme brikke, Kendryte K210.
Vi kommer til å bruke micropython -fastvare for å prøve noen OpenMV -demoer. Her er beskrivelsen fra OpenMV -hjemmesiden:
OpenMV-prosjektet handler om å lage rimelige, utvidbare, Python-drevne, maskinsynmoduler og har som mål å bli "Arduino of Machine Vision".… Python gjør arbeidet med maskinvisjoner algoritmer mye enklere. For eksempel finner metoden find_blobs () i koden fargeblokker og returnerer en liste over objekter med 8 verdier som representerer hver fargeblatt som blir funnet. I Python går det lett gjennom listen over objekter som returneres av find_blobs () og tegner et rektangel rundt hver fargeklatt i bare to linjer med kode.
Så, til tross for MaiX Bit har dedikert nevral nettverksakselerator, kan det noen ganger være lettere å bare bruke OpenMV hardkodede algoritmer for å gjøre jobben eller bruke dem sammen med hverandre.
Noen brukstilfeller jeg tenker på er:
1) Linjedeteksjon for linjefølge bot
2) Oppdager trafikklys med sirkel- og fargedeteksjon
3) Bruk ansiktsgjenkjenning til å finne ansikter for ansiktsgjenkjenning (med DNN)
Github -depot for denne artikkelen
Trinn 1: Flash Micropython -fastvare
Først av alt må vi blinke micropython -fastvare til brettet vårt. En forhåndskompilert binær er inkludert i github -depotet for denne artikkelen, sammen med kflash.py (et flash -verktøy). Hvis du ønsker å kompilere fastvaren fra kildekoden, kan du bare laste ned kildekoden fra https://github.com/sipeed/MaixPy, installere verktøykjeden og kompilere kildekoden til maixpy.bin -filen. Detaljerte byggeinstruksjoner finner du her.
Flash den binære filen med
sudo python3 kflash.py kpu.bin
Etter vellykket blinking, følg til neste trinn.
Trinn 2: Koble til MaiX Bit
Nå bør MaiX Bit være tilgjengelig via en seriell USB -tilkobling med baudrate 115200. Du kan bruke favorittprogramvaren din til seriell kommunikasjon eller bare katte- og ekkokommandoer, alt som passer dine behov. Jeg brukte skjermen til seriell kommunikasjon og synes det var veldig praktisk.
Kommandoen for å etablere en seriell kommunikasjonsøkt med skjerm er
sudo skjerm /dev /ttyUSB0 115200
hvor /dev /ttyUSB0 er adressen til enheten din.
Du må kanskje trykke på tilbakestillingsknappen på mikrokontrolleren din for å se hilsenmeldingen og python -tolkemeldingen.
Trinn 3: Kjør demoene
Nå kan du få tilgang til kopimodus ved å trykke Ctrl+E og kopiere og lime inn demokodene. For å kjøre dem, trykk Ctrl+D i kopimodus.
Hvis du ikke vil ta opp videoene, må du kommentere videoopptakslinjene. Ellers vil koden kaste et unntak hvis det ikke er satt inn et SD -kort
Her er korte beskrivelser av hver demo:
Finn sirkler - bruker funksjonen find_circles fra OpenMV. Trenger mer justeringer for din spesifikke applikasjon, spesielt terskel (styrer hvilke sirkler som oppdages fra transformasjonen. Bare sirkler med en størrelse større enn eller lik terskelen returneres) og r_min, r_max verdier.
Finn rektangler - bruker funksjonen find_rects fra OpenMV. Du kan leke med terskelverdi, men verdien jeg har i demo fungerer ganske bra for å finne rektangler.
Finn ansikter, finn øyne - bruker funksjonen find_features med Haar Cascades for å oppdage øyne og ansikt foran i bildet. Du kan leke med terskel- og skalaverdier for riktig bytte av hastighetsnøyaktighet.
Finn uendelige linjer - bruker funksjonen find_lines til å finne alle uendelige linjer i bildet ved hjelp av transformasjonen.
Oppdag farge - bruker funksjonen get_statistics for å skaffe objekt i objektet og konverterer deretter gjennomsnittsverdier for LAB -tupel til RGB -verdier tupel. Jeg skrev dette eksemplet selv, og det fungerer ganske bra, men husk at resultatene av fargedeteksjon påvirkes av lysforhold i omgivelsene.
Du kan finne mange flere interessante demoer i OpenMV github -depot! De er stort sett kompatible med MaiX Bit micropython, det eneste du trenger å huske er å legge til sensor.run (1) etter at du har angitt pixformat og rammestørrelse.
Glad eksperimentering med OpenMV -kode. Hvis du har spørsmål eller vil dele noen av dine interessante resultater, ikke nøl med å nå meg på Youtube eller LinkedIn. Unnskyld, jeg skal lage noen roboter!
Anbefalt:
Objektdeteksjon med Sipeed MaiX -plater (Kendryte K210): 6 trinn
Objektdeteksjon med Sipeed MaiX -plater (Kendryte K210): Som en fortsettelse av min forrige artikkel om bildegjenkjenning med Sipeed MaiX -plater, bestemte jeg meg for å skrive en annen opplæring med fokus på gjenkjenning av objekter. Det dukket opp noen interessant maskinvare nylig med Kendryte K210 -brikken, inkludert S
Micro: bit MU Vision Sensor - Objektsporing: 7 trinn
Micro: bit MU Vision Sensor - Object Tracking: Så i denne instruksen skal vi begynne å programmere Smart Car som vi bygger i denne instruerbare og som vi installerte en MU vision sensor på i denne instruerbare.Vi skal programmere mikro: litt med litt enkel objektsporing, så det
Micro: bit MU Vision Sensor for Nybegynnere - Etikettverdier og gjenkjenning av tallkort: 6 trinn
Micro: bit MU Vision Sensor for Beginners - Etikettverdier og gjenkjenning av nummerkort: Dette er min andre guide til MU vision sensor. I dette prosjektet skal vi programmere micro: bit for å gjenkjenne de forskjellige tallkortene ved å bruke etikettverdier
Micro: bit MU Vision Sensor - Sporingsobjekter: 6 trinn
Micro: bit MU Vision Sensor - Sporingsobjekter: Dette er min fjerde guide til MU vision sensor for micro: bit. Her vil jeg gå gjennom hvordan du sporer objekter med micro: bit og skriver koordinatene til en OLED -skjerm. Jeg har i mine andre guider gått gjennom hvordan jeg kobler micro: bit til
Ryggsekk #1: OpenMV -kamera: 7 trinn
Ryggsekk #1: OpenMV -kamera: SPIKE Prime Ryggsekker er utvidelser for LEGO Education SPIKE Prime. Open MV -kameraet er hjernen for kameraryggsekken som lar deg integrere bildebehandling og maskinsyn til det åpne MV -kameraet i LEGO SPIKE Prime. Vi alle