Përmbajtje:

Demonstratat Sipeed MaiX Bit OpenMV - Vizioni kompjuterik: 3 hapa
Demonstratat Sipeed MaiX Bit OpenMV - Vizioni kompjuterik: 3 hapa

Video: Demonstratat Sipeed MaiX Bit OpenMV - Vizioni kompjuterik: 3 hapa

Video: Demonstratat Sipeed MaiX Bit OpenMV - Vizioni kompjuterik: 3 hapa
Video: Using detectors with an Arduino Uno 2024, Nëntor
Anonim
Image
Image

Ky është artikulli i dytë në seri për Sipeed AI në platformën e mikrokontrolluesit Edge. Kësaj radhe do të shkruaj për MaiX Bit (lidhje me Seeed Studio Shop), një tabelë më e vogël, e gatshme për zhvillimin e gatimit. Specifikimet e tij janë shumë të ngjashme me MaiX Dock, bordin që kam përdorur për mësimin e fundit, pasi ato përdorin të njëjtin çip, Kendryte K210.

Ne do të përdorim firmware micropython për të provuar disa demonstrime të OpenMV. Këtu keni një përshkrim nga faqja kryesore e OpenMV:

Projekti OpenMV ka të bëjë me krijimin e moduleve të shikimit të makinës me kosto të ulët, të zgjerueshme, të mundësuar nga Python dhe synon të bëhet "Arduino e Vizionit të Makinerisë".… Python e bën punën me algoritmet e vizioneve të makinerisë shumë më të lehtë. Për shembull, metoda find_blobs () në kod gjen blloqet e ngjyrave dhe kthen një listë të objekteve me 8 vlera që përfaqësojnë secilën ngjyrë të gjetur. Në Python përsëritja përmes listës së objekteve të kthyera nga find_blobs () dhe vizatimi i një drejtkëndëshi rreth secilës pikë të ngjyrave bëhet lehtë në vetëm dy rreshta të kodit.

Pra, pavarësisht nga veçoritë MaiX Bit të dedikuara për përshpejtuesin e rrjetit nervor, ndonjëherë mund të jetë më e lehtë të përdorësh algoritme të koduara të OpenMV për të kryer punën ose për t'i përdorur ato së bashku.

Disa raste përdorimi që më vijnë në mendje janë:

1) Zbulimi i linjës për botin ndjekës të linjës

2) Zbulimi i semaforëve me zbulimin e rrethit dhe ngjyrës

3) Përdorimi i zbulimit të fytyrës për të gjetur fytyrat për njohjen e fytyrës (me DNN)

Depo Github për këtë artikull

Hapi 1: Firmware Flash Micropython

Lidhu me MaiX Bit
Lidhu me MaiX Bit

Para së gjithash ne do të duhet të ndezim firmware -in micropython në tabelën tonë. Një binar i para -përpiluar përfshihet në depo github për këtë artikull, së bashku me kflash.py (një mjet flash). Nëse dëshironi të përpiloni firmware -in nga kodi burimor, thjesht shkarkoni kodin burimor nga https://github.com/sipeed/MaixPy, instaloni zinxhirin e veglave dhe përpiloni kodin burimor në skedarin maixpy.bin. Udhëzimet e hollësishme të ndërtimit mund të gjenden këtu.

Flashoni skedarin binar me

sudo python3 kflash.py kpu.bin

Pas ndezjes së suksesshme, ndiqni hapin tjetër.

Hapi 2: Lidhuni me MaiX Bit

Tani Bit -i ynë MaiX duhet të jetë i arritshëm përmes një lidhjeje serike USB me baudrate 115200. Ju mund të përdorni softuerin tuaj të preferuar për komunikim serik ose thjesht komandat mace dhe jehonë, çfarëdo që i përshtatet nevojave tuaja. Unë isha duke përdorur ekranin për komunikim serik dhe e gjeja shumë të përshtatshëm.

Komanda për krijimin e një sesioni komunikimi serik me ekran është

ekran sudo /dev /ttyUSB0 115200

ku /dev /ttyUSB0 është adresa e pajisjes tuaj.

Ju mund të keni nevojë të shtypni butonin e rivendosjes në mikrokontrolluesin tuaj për të parë mesazhin e përshëndetjes dhe kërkesën e përkthyesit python.

Hapi 3: Drejtoni Demot

Tani mund të hyni në modalitetin e kopjimit duke shtypur Ctrl+E dhe kopjoni-ngjisni kodet demo. Për t'i ekzekutuar ato, shtypni Ctrl+D në modalitetin e kopjimit.

Nëse nuk doni të regjistroni video, duhet të komentoni linjat e regjistrimit të videos. Përndryshe, kodi do të bëjë një përjashtim nëse nuk është futur një kartë SD

Këtu janë përshkrimet e shkurtra të secilës demonstrim:

Gjej qarqe - përdor funksionin find_circles nga OpenMV. Duhet më shumë rregullime për aplikimin tuaj specifik, veçanërisht pragu (kontrollon se cilat qarqe zbulohen nga transformimi i madh. Kthehen vetëm rrathët me madhësi më të madhe ose të barabartë me pragun) dhe r_min, r_max vlerat.

Gjeni drejtkëndësha - përdor funksionin find_rects nga OpenMV. Mund të luani me vlerën e pragut, por vlera që kam në demonstrim funksionon mjaft mirë për të gjetur drejtkëndësha.

Gjeni fytyra, gjeni sy - përdor funksionin find_features me Haar Cascades për zbulimin e syve dhe fytyrës ballore në imazh. Ju mund të luani me vlerat e pragut dhe shkallës për kompromisin e duhur të saktësisë së shpejtësisë.

Gjeni linja të pafundme - përdor funksionin find_lines për të gjetur të gjitha linjat e pafundme në imazh duke përdorur transformimin e madhësisë.

Zbulimi i ngjyrës - përdor funksionin get_statistics për të marrë objektin e përqindjes dhe pastaj konverton vlerat mesatare të tuple LAB në vlerat RGB të tuple. Unë e shkrova këtë shembull vetë dhe funksionon mjaft mirë, por mbani në mend se rezultatet e zbulimit të ngjyrave do të ndikohen nga kushtet e dritës së ambientit.

Mund të gjeni shumë demonstrime më interesante në depon e github OpenMV! Ato janë kryesisht të pajtueshme me mikropitonin MaiX Bit, e vetmja gjë që duhet të mbani mend është të shtoni sensor.run (1) pasi të vendosni pixformat dhe frameize.

Eksperimentim i lumtur me kodin OpenMV. Nëse keni ndonjë pyetje ose doni të ndani disa nga rezultatet tuaja interesante, mos hezitoni të më kontaktoni në Youtube ose LinkedIn. Tani, më falni, do të shkoj të bëj disa robotë!

Recommended: