Turinys:

„Sipeed MaiX Bit“„OpenMV“demonstracinės versijos - kompiuterio vizija: 3 žingsniai
„Sipeed MaiX Bit“„OpenMV“demonstracinės versijos - kompiuterio vizija: 3 žingsniai

Video: „Sipeed MaiX Bit“„OpenMV“demonstracinės versijos - kompiuterio vizija: 3 žingsniai

Video: „Sipeed MaiX Bit“„OpenMV“demonstracinės versijos - kompiuterio vizija: 3 žingsniai
Video: 4 susitikimas-2022-04-27 | ETF komandos narių dialogas 2024, Liepa
Anonim
Image
Image

Tai yra antrasis serijos straipsnis apie „Sipeed AI“mikrovaldiklio platformoje „Edge“. Šį kartą rašysiu apie „MaiX Bit“(nuoroda į „Seeed Studio Shop“), mažesnę, paruoštą maitinimo plokštę. Jo specifikacijos yra labai panašios į „MaiX Dock“- plokštę, kurią naudoju paskutinei pamokai, nes jose naudojama ta pati mikroschema - „Kendryte K210“.

Mes ketiname naudoti „MicroPython“programinę įrangą, kad išbandytume kai kurias „OpenMV“demonstracines versijas. Štai aprašymas iš „OpenMV“pagrindinio puslapio:

„OpenMV“projekto tikslas-sukurti nebrangius, išplečiamus, „Python“varomus, mašinos matymo modulius ir siekti tapti „mašinų vizijos„ Arduino “.…„ Python “labai palengvina darbą su mašinų vizijų algoritmais. Pvz., Kodo „find_blobs“() metodas suranda spalvų dėmeles ir grąžina 8 vertingų objektų, vaizduojančių kiekvieną rastą spalvų dėmę, sąrašą. Naudojant „Python“, kartojant objektų sąrašą, kuriuos grąžino „find_blobs“(), ir nubrėžus stačiakampį aplink kiekvieną spalvų dėmelę lengva padaryti tik dviem kodo eilutėmis.

Taigi, nepaisant to, kad „MaiX Bit“turi specialų neuroninio tinklo greitintuvą, kartais gali būti paprasčiau tiesiog naudoti „OpenMV“koduotus algoritmus, kad būtų galima atlikti darbą, arba naudoti juos kartu.

Kai kurie mano galvoje esantys naudojimo atvejai:

1) Linijos sekimo roboto linijos aptikimas

2) Šviesoforų aptikimas naudojant apskritimo ir spalvų aptikimą

3) Veido aptikimo naudojimas veidams atpažinti (naudojant DNN)

Šio straipsnio „Github“saugykla

1 žingsnis: „Flash Micropython“programinė įranga

Prisijunkite prie „MaiX Bit“
Prisijunkite prie „MaiX Bit“

Visų pirma, turėsime į savo plokštę įjungti mikropitono programinę įrangą. Iš anksto sukompiliuota dvejetainė medžiaga yra įtraukta į šio straipsnio „github“saugyklą kartu su kflash.py („flash“programa). Jei norite surinkti programinę -aparatinę įrangą iš šaltinio kodo, tiesiog atsisiųskite šaltinio kodą iš https://github.com/sipeed/MaixPy, įdiekite įrankių grandinę ir sukompiliuokite šaltinio kodą į failą maixpy.bin. Išsamias statybos instrukcijas rasite čia.

„Flash“dvejetainį failą naudodami

sudo python3 kflash.py kpu.bin

Po sėkmingo mirksėjimo pereikite prie kito žingsnio.

2 veiksmas: prisijunkite prie „MaiX Bit“

Dabar mūsų „MaiX Bit“turėtų būti pasiekiamas per USB nuoseklųjį ryšį su „baudrate 115200“. Galite naudoti savo mėgstamą programinę įrangą nuosekliam ryšiui arba tiesiog katės ir aido komandas, kad ir kas atitiktų jūsų poreikius. Aš naudoju ekraną serijiniam ryšiui ir man tai labai patogu.

Komanda, skirta sukurti nuoseklaus ryšio sesiją su ekranu, yra

sudo ekranas /dev /ttyUSB0 115200

kur /dev /ttyUSB0 yra jūsų įrenginio adresas.

Jums gali tekti paspausti mikrokontrolerio atstatymo mygtuką, kad pamatytumėte sveikinimo pranešimą ir „python“vertėjo raginimą.

3 žingsnis: paleiskite demonstracinę versiją

Dabar galite pasiekti kopijavimo režimą paspausdami Ctrl+E ir nukopijuokite ir įklijuokite demonstracinius kodus. Norėdami juos paleisti, paspauskite Ctrl+D kopijavimo režimu.

Jei nenorite įrašyti vaizdo įrašų, turite pakomentuoti vaizdo įrašymo eilutes. Priešingu atveju kodas padarys išimtį, jei nebus įdėta SD kortelė

Štai trumpi kiekvienos demonstracinės versijos aprašymai:

Rasti draugų ratus - naudoja funkciją „find_circles“iš „OpenMV“. Reikia daugiau koreguoti jūsų konkrečią programą, ypač slenkstį (valdo, kokie apskritimai aptinkami iš Hugh transformacijos. Grąžinami tik apskritimai, kurių dydis didesnis arba lygus slenksčiui) ir r_min, r_max.

Rasti stačiakampius - naudoja funkciją „find_rects“iš „OpenMV“. Galite žaisti su slenksčio verte, tačiau demonstracinėje versijoje esanti vertė yra gana gera ieškant stačiakampių.

Raskite veidus, suraskite akis - naudoja funkciją find_features su „Haar Cascades“, kad atvaizde aptiktų akis ir priekinį veidą. Galite žaisti su slenksčio ir skalės reikšmėmis, kad gautumėte tinkamą greičio ir tikslumo kompromisą.

Rasti begalines linijas - naudoja funkciją find_lines, kad rastų visas begalines linijas paveikslėlyje, naudojant Hough transformaciją.

Aptikti spalvą - naudoja funkciją get_statistics, kad gautų procentilinį objektą, ir tada konvertuoja LAB kortelės vidutines reikšmes į RGB reikšmių kartelę. Aš pats parašiau šį pavyzdį ir jis veikia gana gerai, tačiau atminkite, kad spalvų aptikimo rezultatus paveiks aplinkos apšvietimas.

„OpenMV github“saugykloje galite rasti daug daugiau įdomių demonstracijų! Jie dažniausiai suderinami su „MaiX Bit“mikropitonu. Vienintelis dalykas, kurį reikia atsiminti, yra pridėti sensor.run (1), nustačius pikselių formatą ir kadrų dydį.

Laimingų eksperimentų su „OpenMV“kodu. Jei turite klausimų ar norite pasidalinti įdomiais rezultatais, nedvejodami susisiekite su manimi „Youtube“ar „LinkedIn“. Atleisk, aš padarysiu robotų!

Rekomenduojamas: