Satura rādītājs:
- 1. darbība. Flash Micropython programmaparatūra
- 2. darbība: izveidojiet savienojumu ar MaiX Bit
- 3. darbība: palaidiet demonstrācijas
Video: Sipeed MaiX bitu OpenMV demonstrācijas - datora redze: 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šis ir otrais raksts sērijā par Sipeed AI Edge mikrokontrolleru platformā. Šoreiz es rakstīšu par MaiX Bit (saite uz Seeed Studio Shop), mazāku, gatavu maizei. Tās specifikācijas ir ļoti līdzīgas MaiX Dock, tāfelei, kuru izmantoju pēdējā apmācībā, jo tajās tiek izmantota viena un tā pati mikroshēma - Kendryte K210.
Mēs izmantosim mikropitona programmaparatūru, lai izmēģinātu dažas OpenMV demonstrācijas. Šeit ir apraksts no OpenMV mājas lapas:
Projekta OpenMV mērķis ir izveidot lētus, paplašināmus, ar Python darbināmus, mašīnas redzes moduļus, un tā mērķis ir kļūt par “Machine Vision Arduino”.… Python ievērojami atvieglo darbu ar mašīnu redzes algoritmiem. Piemēram, koda metode find_blobs () atrod krāsu lāses un atgriež 8 vērtību objektu sarakstu, kas attēlo katru atrasto krāsu lāsi. Programmā Python iterēšana, izmantojot objektu sarakstu, ko atdeva find_blobs (), un taisnstūra uzzīmēšana ap katru krāsu lāsi ir viegli izdarāma tikai divās koda rindās.
Tātad, neraugoties uz to, ka MaiX Bit ir īpašs neironu tīkla paātrinātājs, dažreiz var būt vieglāk vienkārši izmantot OpenMV kodētos algoritmus, lai veiktu darbu vai izmantotu tos līdzās.
Daži lietošanas gadījumi, kas man ienāk prātā, ir šādi:
1) Līnijas noteikšanas rindas sekotāja robots
2) Luksoforu noteikšana ar apļa un krāsu noteikšanu
3) Sejas noteikšanas izmantošana, lai atrastu sejas sejas atpazīšanai (ar DNN)
Github krātuve šim rakstam
1. darbība. Flash Micropython programmaparatūra
Pirmkārt, mums būs jāatspoguļo mikropitona programmaparatūra. Šim rakstam paredzētā github krātuvē ir iekļauta iepriekš kompilēta binārā, kā arī kflash.py (zibatmiņas utilīta). Ja vēlaties apkopot programmaparatūru no avota koda, vienkārši lejupielādējiet avota kodu no vietnes https://github.com/sipeed/MaixPy, instalējiet rīku ķēdi un apkopojiet avota kodu failā maixpy.bin. Detalizētas būvniecības instrukcijas var atrast šeit.
Flash bināro failu ar
sudo python3 kflash.py kpu.bin
Pēc veiksmīgas mirgošanas pārejiet pie nākamās darbības.
2. darbība: izveidojiet savienojumu ar MaiX Bit
Tagad mūsu MaiX bitam vajadzētu būt pieejamam, izmantojot USB seriālo savienojumu ar bitu pārraides ātrumu 115200. Jūs varat izmantot savu iecienītāko programmatūru sērijveida komunikācijai vai vienkārši izmantot kaķu un atbalss komandas neatkarīgi no jūsu vajadzībām. Es seriālajai saziņai izmantoju ekrānu, un man tas šķita ļoti ērti.
Komanda sērijas sakaru sesijas izveidei ar ekrānu ir
sudo ekrāns /dev /ttyUSB0 115200
kur /dev /ttyUSB0 ir jūsu ierīces adrese.
Jums, iespējams, vajadzēs nospiest mikrokontrollera atiestatīšanas pogu, lai redzētu sveiciena ziņojumu un python tulka uzvedni.
3. darbība: palaidiet demonstrācijas
Tagad varat piekļūt kopēšanas režīmam, nospiežot Ctrl+E un kopējiet un ielīmējiet demonstrācijas kodus. Lai tos palaistu, kopēšanas režīmā nospiediet Ctrl+D.
Ja nevēlaties ierakstīt videoklipus, jums ir nepieciešams komentēt video ierakstīšanas rindas. Pretējā gadījumā kods radīs izņēmumu, ja nav ievietota SD karte
Šeit ir īss katras demonstrācijas apraksts:
Atrast lokus - izmanto funkciju find_circles no OpenMV. Nepieciešams vairāk pielāgot jūsu konkrētajai lietojumprogrammai, jo īpaši slieksnim (kontrolē, kādi apļi tiek atklāti no hough transformācijas. Tiek atgriezti tikai apļi, kuru lielums ir lielāks vai vienāds ar slieksni) un r_min, r_max vērtības.
Atrast taisnstūrus - izmanto funkciju find_rects no OpenMV. Jūs varat spēlēties ar sliekšņa vērtību, taču demo versijā pieejamā vērtība ir diezgan laba taisnstūru atrašanai.
Atrodiet sejas, atrodiet acis - izmanto funkciju find_features ar Haar Cascades, lai attēlā noteiktu acis un frontālo seju. Jūs varat spēlēties ar sliekšņa un skalas vērtībām, lai iegūtu pareizu ātruma un precizitātes kompromisu.
Atrast bezgalīgas līnijas - izmanto funkciju find_lines, lai atrastu visas bezgalīgās līnijas attēlā, izmantojot hough transformāciju.
Noteikt krāsu - izmanto funkciju get_statistics, lai iegūtu procentiles objektu, un pēc tam pārvērš LAB sērijas vidējās vērtības RGB vērtību kartē. Es pats uzrakstīju šo piemēru, un tas darbojas diezgan labi, taču paturiet prātā, ka krāsu noteikšanas rezultātus ietekmēs apkārtējās gaismas apstākļi.
OpenMV github krātuvē varat atrast daudz vairāk interesantu demonstrāciju! Tie galvenokārt ir saderīgi ar MaiX Bit mikropitonu, vienīgais, kas jums jāatceras, ir pievienot sensor.run (1) pēc piksformāta un kadru izmēra iestatīšanas.
Laimīgu eksperimentu ar OpenMV kodu. Ja jums ir kādi jautājumi vai vēlaties dalīties ar saviem interesantajiem rezultātiem, nevilcinieties sazināties ar mani vietnē Youtube vai LinkedIn. Atvainojiet, es uztaisīšu dažus robotus!
Ieteicams:
Objektu noteikšana ar Sipeed MaiX dēļiem (Kendryte K210): 6 soļi
Objektu noteikšana ar Sipeed MaiX dēļiem (Kendryte K210): Turpinot manu iepriekšējo rakstu par attēlu atpazīšanu ar Sipeed MaiX Boards, es nolēmu uzrakstīt vēl vienu pamācību, koncentrējoties uz objektu noteikšanu. Nesen parādījās interesanta aparatūra ar Kendryte K210 mikroshēmu, ieskaitot S
Arduino Nano-MMA8452Q 3 asu 12 bitu/8 bitu digitālā akselerometra apmācība: 4 soļi
Arduino Nano-MMA8452Q 3 asu 12 bitu/8 bitu digitālā akselerometra apmācība: MMA8452Q ir gudrs, mazjaudas, trīs asu, kapacitatīvs, mikromehāniski apstrādāts akselerometrs ar 12 bitu izšķirtspēju. Elastīgas lietotāja programmējamas iespējas tiek nodrošinātas, izmantojot akselerometrā iekļautās funkcijas, kuras var konfigurēt līdz diviem pārtraukumiem
Raspberry Pi MMA8452Q 3 asu 12 bitu/8 bitu digitālā akselerometra Python apmācība: 4 soļi
Raspberry Pi MMA8452Q 3 asu 12 bitu/8 bitu digitālā akselerometra Python apmācība: MMA8452Q ir gudrs, mazjaudas, trīs asu, kapacitatīvs, mikromehāniski apstrādāts akselerometrs ar 12 bitu izšķirtspēju. Elastīgas lietotāja programmējamas iespējas tiek nodrošinātas, izmantojot akselerometrā iekļautās funkcijas, kuras var konfigurēt līdz diviem pārtraukumiem
Raspberry Pi MMA8452Q 3 asu 12 bitu/8 bitu digitālā akselerometra Java apmācība: 4 soļi
Raspberry Pi MMA8452Q 3 asu 12 bitu/8 bitu digitālā akselerometra Java apmācība: MMA8452Q ir gudrs, mazjaudas, trīs asu, kapacitatīvs, mikromehāniski apstrādāts akselerometrs ar 12 bitu izšķirtspēju. Elastīgas lietotāja programmējamas iespējas tiek nodrošinātas, izmantojot akselerometrā iekļautās funkcijas, kuras var konfigurēt līdz diviem pārtraukumiem
DIY MusiLED, mūzikas sinhronizētas gaismas diodes ar viena klikšķa Windows un Linux lietojumprogrammu (32 bitu un 64 bitu). Viegli atjaunot, ērti lietot, viegli pārvietot: 3 soļi
DIY MusiLED, mūzikas sinhronizētas gaismas diodes ar viena klikšķa Windows un Linux lietojumprogrammu (32 bitu un 64 bitu). Viegli atjaunojams, ērti lietojams, viegli pārvietojams: Šis projekts palīdzēs jums savienot 18 gaismas diodes (6 sarkanas + 6 zilas + 6 dzeltenas) ar Arduino plati un analizēt datora skaņas kartes reāllaika signālus un pārsūtīt tos uz gaismas diodes, lai tās iedegtos saskaņā ar sitienu efektiem (Snare, High Hat, Kick)