Tartalomjegyzék:

Sipeed MaiX Bit OpenMV bemutatók - Számítógépes látás: 3 lépés
Sipeed MaiX Bit OpenMV bemutatók - Számítógépes látás: 3 lépés

Videó: Sipeed MaiX Bit OpenMV bemutatók - Számítógépes látás: 3 lépés

Videó: Sipeed MaiX Bit OpenMV bemutatók - Számítógépes látás: 3 lépés
Videó: Ingenious Construction Workers That Are At Another Level 2024, November
Anonim
Image
Image

Ez a második cikk a sorozatban a Sipeed AI -ról az Edge mikrokontroller platformon. Ezúttal a MaiX Bit -ről fogok írni (link a Seeed Studio Shop -hoz), egy kisebb, kenyeretáblára kész fejlesztőlapról. A specifikációi nagyon hasonlítanak a MaiX Dockhoz, az utolsó oktatóanyaghoz használt táblához, mivel ugyanazt a chipet használják, Kendryte K210.

Mikropython firmware -t fogunk használni OpenMV demók kipróbálásához. Íme az OpenMV honlapjának leírása:

Az OpenMV projekt olcsó, bővíthető, Python-alapú, gépi látó modulok létrehozásáról szól, és célja, hogy a „Machine Vision Arduino” -jává váljon.… A Python jelentősen megkönnyíti a gépi látás algoritmusokkal való munkát. Például a kódban található find_blobs () metódus megtalálja a színfoltokat, és visszaadja a 8 értékű objektumok listáját. A Pythonban a find_blobs () által visszaadott objektumok listájának végigjátszása, és az egyes színfoltok köré téglalap rajzolása egyszerűen, mindössze két kódsor segítségével történik.

Tehát, annak ellenére, hogy a MaiX Bit rendelkezik dedikált neurális hálózati gyorsítóval, néha könnyebb lehet csak OpenMV-kódolású algoritmusokat használni a feladat elvégzéséhez, vagy egymás mellett használni őket.

Néhány használati eset, ami eszembe jut:

1) Vonal észlelése vonalkövető bot

2) Közlekedési lámpák észlelése kör- és színérzékeléssel

3) Az arcfelismerés használata az arcfelismerő arcok megkereséséhez (DNN)

Github adattár ehhez a cikkhez

1. lépés: Flash Micropython firmware

Csatlakozás a MaiX Bit -hez
Csatlakozás a MaiX Bit -hez

Először is meg kell villannunk a mikropython firmware -t az alaplapunkon. A cikk github adattárában egy előre lefordított bináris szerepel, a kflash.py (flash segédprogram) mellett. Ha a firmware -t a forráskódból szeretné lefordítani, töltse le a forráskódot a https://github.com/sipeed/MaixPy webhelyről, telepítse az eszköztárat, és fordítsa le a forráskódot a maixpy.bin fájlba. A részletes építési utasítások itt találhatók.

A bináris fájl villogása a gombbal

sudo python3 kflash.py kpu.bin

A sikeres villogás után folytassa a következő lépéssel.

2. lépés: Csatlakozás a MaiX Bit -hez

Mostantól a MaiX bitünknek elérhetõnek kell lennie soros USB -kapcsolaton keresztül, 115200 baudrate -vel. Használhatja kedvenc szoftverét soros kommunikációhoz, vagy csak macska- és visszhangparancsokat, bármi is az Ön igényeinek megfelelõ. A képernyőt használtam a soros kommunikációhoz, és nagyon kényelmesnek találtam.

A képernyővel történő soros kommunikációs munkamenet létrehozására vonatkozó parancs az

sudo képernyő /dev /ttyUSB0 115200

ahol /dev /ttyUSB0 az eszköz címe.

Lehet, hogy meg kell nyomnia a mikrovezérlő reset gombját, hogy láthassa az üdvözlő üzenetet és a python tolmács kérését.

3. lépés: Futtassa a demókat

Most a Ctrl+E billentyűkombinációval érheti el a másolási módot, és másolja be a demókódokat. Futtatásukhoz nyomja le a Ctrl+D billentyűt másolási módban.

Ha nem szeretné rögzíteni a videókat, akkor megjegyzéseket kell tennie a videofelvételi sorokhoz. Ellenkező esetben a kód kivételt eredményez, ha nincs SD kártya behelyezve

Íme az egyes bemutatók rövid leírása:

Körök keresése - használja a Find_circles függvényt az OpenMV -ből. További módosítást igényel az adott alkalmazáshoz, különösen a küszöbértéket (szabályozza, hogy mely köröket észleli a hough transzformáció. Csak a küszöbértéknél nagyobb vagy azzal egyenlő nagyságú körök kerülnek visszaadásra) és az r_min, r_max értékeket.

Téglalapok keresése - az OpenMV -ből származó find_rects függvényt használja. Játszhatsz a küszöbértékkel, de a demóban szereplő értékem nagyon jól működik a téglalapok keresésében.

Arcok keresése, szemek keresése - a Find_features funkciót használja a Haar Cascades funkcióval a szemek és a homlok arcának észlelésére a képen. Játszhat a küszöb- és skálaértékekkel a megfelelő sebesség-pontosság kompromisszum érdekében.

Végtelen vonalak keresése - a find_lines függvény segítségével megtalálja a kép összes végtelen vonalát a hough transzformáció használatával.

Színek észlelése - a get_statistics függvényt használja a percentilis objektum lekérésére, majd az LAB sor átlagos értékeit RGB értékekké alakítja át. Ezt a példát én magam írtam, és elég jól működik, de ne feledje, hogy a színérzékelés eredményeit befolyásolják a környezeti fényviszonyok.

Még sok érdekes demót talál az OpenMV github tárházában! Többnyire kompatibilisek a MaiX Bit mikropitonnal, az egyetlen dolog, amire emlékeznie kell, hogy a pix.formátum és a képméret beállítása után adja hozzá a sensor.run (1) fájlt.

Boldog kísérletezést az OpenMV kóddal. Ha bármilyen kérdése van, vagy meg szeretné osztani néhány érdekes eredményét, ne habozzon elérni engem a Youtube -on vagy a LinkedIn -en. Bocsásson meg, készítek néhány robotot!

Ajánlott: