Indholdsfortegnelse:
Video: Sipeed MaiX Bit OpenMV -demonstrationer - Computer Vision: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Dette er den anden artikel i serien om Sipeed AI på Edge -mikrokontrollerplatformen. Denne gang vil jeg skrive om MaiX Bit (link til Seeed Studio Shop), et mindre udviklingsbræt, der er klar til brødbræt. Dens specifikationer ligner meget MaiX Dock, kortet jeg brugte til sidste tutorial, da de bruger den samme chip, Kendryte K210.
Vi kommer til at bruge micropython -firmware til at prøve nogle OpenMV -demoer. Her er beskrivelsen fra OpenMV -startsiden:
OpenMV-projektet handler om at skabe billige, udvidelige, Python-drevne, maskinsynmoduler og har til formål at blive "Arduino of Machine Vision".… Python gør arbejdet med maskinvisioner algoritmer meget lettere. For eksempel finder metoden find_blobs () i koden farveklatter og returnerer en liste med objekter med 8 værdier, der repræsenterer hver fundet farveblade. I Python gentages let gennem listen over objekter, der returneres af find_blobs () og tegner et rektangel omkring hver farveklat med kun to linjer kode.
Så trods MaiX Bit har dedikeret neuralt netværksaccelerator, kan det nogle gange være lettere at bare bruge OpenMV hårdkodede algoritmer til at udføre jobbet eller bruge dem sammen med hinanden.
Nogle brugssager, jeg tænker på, er:
1) Linjedetektering for linjefolger bot
2) Registrering af trafiklys med cirkel- og farvedetektion
3) Brug af ansigtsregistrering til at finde ansigter til ansigtsgenkendelse (med DNN)
Github -lager til denne artikel
Trin 1: Flash Micropython -firmware
Først og fremmest skal vi blinke micropython -firmware til vores bord. En forudkompileret binær er inkluderet i github -opbevaringsstedet for denne artikel sammen med kflash.py (et flash -værktøj). Hvis du ønsker at kompilere firmwaren fra kildekoden, skal du blot downloade kildekoden fra https://github.com/sipeed/MaixPy, installere værktøjskæden og kompilere kildekoden i maixpy.bin -filen. Detaljerede byggeinstruktioner kan findes her.
Flash den binære fil med
sudo python3 kflash.py kpu.bin
Efter vellykket blinkning skal du gå videre til næste trin.
Trin 2: Opret forbindelse til MaiX Bit
Nu skal vores MaiX Bit være tilgængelig via en seriel USB -forbindelse med baudrate 115200. Du kan bruge din yndlingssoftware til seriel kommunikation eller bare kat- og ekkokommandoer, hvad der passer til dine behov. Jeg brugte skærmen til seriel kommunikation og synes det var meget praktisk.
Kommandoen til oprettelse af en seriel kommunikationssession med skærm er
sudo skærm /dev /ttyUSB0 115200
hvor /dev /ttyUSB0 er adressen på din enhed.
Du skal muligvis trykke på nulstillingsknappen på din mikrokontroller for at se hilsenen og python -fortolkerprompten.
Trin 3: Kør demoerne
Nu kan du få adgang til kopieringstilstand ved at trykke på Ctrl+E og kopiere og indsætte demokoderne. For at køre dem skal du trykke på Ctrl+D i kopieringstilstand.
Hvis du ikke vil optage videoerne, skal du kommentere videooptagelseslinjerne. Ellers vil koden kaste en undtagelse, hvis der ikke er indsat et SD -kort
Her er korte beskrivelser af hver demo:
Find cirkler - bruger funktionen find_circles fra OpenMV. Har brug for flere justeringer til din specifikke applikation, især tærskelværdi (styrer, hvilke cirkler der registreres fra transformationen. Kun cirkler med en størrelse større end eller lig med tærskel returneres) og r_min, r_max værdier.
Find rektangler - bruger funktionen find_rects fra OpenMV. Du kan lege med tærskelværdi, men den værdi, jeg har i demo, fungerer ganske godt til at finde rektangler.
Find ansigter, find øjne - bruger funktionen find_features med Haar Cascades til at registrere øjne og ansigt foran i billedet. Du kan lege med tærskel- og skalaværdier til den rigtige afvejning af hastighedsnøjagtighed.
Find uendelige linjer - bruger funktionen find_lines til at finde alle uendelige linjer i billedet ved hjælp af transformationen.
Find farve - bruger funktionen get_statistics til at opnå percentilobjekt og konverterer derefter middelværdier for LAB -tupel til RGB -værdier tuple. Jeg har selv skrevet dette eksempel, og det fungerer ganske godt, men husk, at resultaterne af farvedetektering påvirkes af omgivende lysforhold.
Du kan finde mange flere interessante demoer i OpenMV github -depot! De er for det meste kompatible med MaiX Bit micropython, det eneste du skal huske er at tilføje sensor.run (1) efter indstilling af pixformat og framesize.
Glade eksperimenter med OpenMV -kode. Hvis du har spørgsmål eller vil dele nogle af dine interessante resultater, tøv ikke med at kontakte mig på Youtube eller LinkedIn. Undskyld, jeg skal lave nogle robotter!
Anbefalede:
Objektregistrering med Sipeed MaiX -plader (Kendryte K210): 6 trin
Objektregistrering med Sipeed MaiX Boards (Kendryte K210): Som en fortsættelse af min tidligere artikel om billedgenkendelse med Sipeed MaiX Boards besluttede jeg mig for at skrive en anden vejledning med fokus på objektdetektering. Der dukkede for nylig en interessant hardware op med Kendryte K210 -chip, herunder S
Micro: bit MU Vision Sensor - Objektsporing: 7 trin
Micro: bit MU Vision Sensor - Object Tracking: Så i denne instruktive vil vi begynde at programmere den smarte bil, som vi bygger i denne instruerbare, og som vi har installeret en MU vision sensor på i denne instruerbare.Vi skal programmere mikro: lidt med nogle enkle objektsporing, så det
Micro: bit MU Vision Sensor til begyndere - I2C og formkortgenkendelse: 8 trin
Micro: bit MU Vision Sensor for Beginners - I2C og Shape Card Recognition: Jeg har fået fingrene i en MU vision sensor til Micro: bit. Det ser ud til at være et fedt værktøj, der gør det muligt for mig at lave en masse forskellige visionbaserede projekter. Desværre synes der ikke så mange guider til det, og selvom dokumentationen virkelig er
Micro: bit MU Vision Sensor for begyndere - Etiketværdier og genkendelse af nummerkort: 6 trin
Micro: bit MU Vision Sensor til begyndere - Etiketværdier og nummerkortgenkendelse: Dette er min anden guide til MU vision sensor. I dette projekt programmerer vi micro: bit til at genkende de forskellige nummerkort ved hjælp af etiketværdier
Rygsæk #1: OpenMV -kamera: 7 trin
Rygsæk #1: OpenMV -kamera: SPIKE Prime Rygsække er udvidelser til LEGO Education SPIKE Prime. Open MV -kameraet er hjernen til kamerarygsækken, der giver dig mulighed for at integrere billedbehandling og maskinsyn i det åbne MV -kamera til LEGO SPIKE Prime. Vi al