Obsah:

Bitové ukážky Sipeed MaiX OpenMV - počítačové videnie: 3 kroky
Bitové ukážky Sipeed MaiX OpenMV - počítačové videnie: 3 kroky

Video: Bitové ukážky Sipeed MaiX OpenMV - počítačové videnie: 3 kroky

Video: Bitové ukážky Sipeed MaiX OpenMV - počítačové videnie: 3 kroky
Video: Встреча №4-27.04.2022 | Диалог с членами команды ЕФО 2024, Júl
Anonim
Image
Image

Toto je druhý článok zo série o Sipeed AI na platforme mikrokontrolérov Edge. Dnes budem písať o MaiX Bit (odkaz na Seeed Studio Shop), menšej vývojovej doske pripravenej na breadboard. Jeho špecifikácie sú veľmi podobné doske MaiX Dock, doske, ktorú som použil pri minulom návode, pretože používajú rovnaký čip Kendryte K210.

Na vyskúšanie niektorých ukážok OpenMV použijeme firmvér mikropythonu. Tu je popis z domovskej stránky OpenMV:

Projekt OpenMV je o vytváraní nízkonákladových, rozšíriteľných a strojovo viditeľných modulov strojového videnia poháňaných Pythonom a jeho cieľom je stať sa „Arduinom strojového videnia“. … Python uľahčuje prácu s algoritmami strojových vízií. Metóda find_blobs () v kóde napríklad nájde farebné objekty blob a vráti zoznam 8 hodnotných objektov predstavujúcich každý nájdený farebný blob. V Pythone je možné iteráciu zoznamu objektov vrátených find_blobs () a nakreslenie obdĺžnika okolo každého farebného bloku ľahko vykonať iba v dvoch riadkoch kódu.

Napriek funkciám MaiX Bit, ktoré sú vyhradeným akcelerátorom neurónových sietí, niekedy môže byť jednoduchšie použiť na prácu prácu pevne kódované algoritmy OpenMV alebo ich použiť vedľa seba.

Napadajú ma tieto prípady použitia:

1) Detekcia linky pre robota sledujúceho čiaru

2) Detekcia semaforov s detekciou kruhu a farieb

3) Použitie rozpoznania tváre na nájdenie tvárí na rozpoznávanie tvárí (s DNN)

Úložisko Github pre tento článok

Krok 1: Firmvér Flash Micropython

Pripojte sa k MaiX Bit
Pripojte sa k MaiX Bit

Najprv budeme musieť na našu dosku nahrať firmvér mikropythonu. Predkompilovaný binárny súbor je súčasťou úložiska github pre tento článok spolu s kflash.py (nástroj Flash). Ak chcete zostaviť firmvér zo zdrojového kódu, jednoducho si stiahnite zdrojový kód z https://github.com/sipeed/MaixPy, nainštalujte si reťazec nástrojov a skomprimujte zdrojový kód do súboru maixpy.bin. Podrobný návod na zostavenie nájdete tu.

Flashujte binárny súbor pomocou

sudo python3 kflash.py kpu.bin

Po úspešnom blikaní pokračujte ďalším krokom.

Krok 2: Pripojte sa k MaiX Bit

Teraz by mal byť náš bit MaiX prístupný prostredníctvom sériového pripojenia USB s prenosovou rýchlosťou 115200. Váš obľúbený softvér môžete použiť na sériovú komunikáciu alebo iba pomocou príkazov mačka a ozvena, čo vyhovuje vašim potrebám. Používal som obrazovku na sériovú komunikáciu a bolo to veľmi praktické.

Príkaz na vytvorenie relácie sériovej komunikácie s obrazovkou je

obrazovka sudo /dev /ttyUSB0 115200

kde /dev /ttyUSB0 je adresa vášho zariadenia.

Možno budete musieť stlačiť tlačidlo reset na svojom mikrokontroléri, aby ste uviedli uvítaciu správu a výzvu tlmočníka pythonu.

Krok 3: Spustite ukážky

Teraz môžete vstúpiť do režimu kopírovania stlačením klávesov Ctrl+E a skopírovať a prilepiť demo kódy. Ak ich chcete spustiť, stlačte klávesy Ctrl+D v režime kopírovania.

Ak nechcete nahrávať videá, musíte komentovať riadky na nahrávanie videa. V opačnom prípade kód spôsobí výnimku, ak nie je vložená žiadna karta SD

Tu je krátky popis každého demo:

Nájsť kruhy - používa funkciu find_circles z OpenMV. Vyžaduje ďalšie doladenie pre vašu konkrétnu aplikáciu, najmä prahovú hodnotu (riadi, ktoré kruhy sú zistené z transformácie typu Hough. Vrátia sa iba kruhy s magnitúdou väčšou alebo rovnou prahovej hodnote) a hodnoty r_min, r_max.

Nájsť obdĺžniky - používa funkciu find_rects z OpenMV. Môžete sa pohrať s prahovou hodnotou, ale hodnota, ktorú mám v ukážke, funguje celkom dobre na hľadanie obdĺžnikov.

Nájsť tváre, nájsť oči - používa funkciu find_features s Haarovými kaskádami na detekciu očí a prednej tváre na obrázku. Môžete si pohrať s prahovými hodnotami a hodnotami stupnice, aby ste dosiahli správny kompromis medzi presnosťou a rýchlosťou.

Nájsť nekonečné čiary - pomocou funkcie find_lines nájde všetky nekonečné čiary v obraze pomocou transformácie Hough.

Detect color - používa funkciu get_statistics na získanie percentilového objektu a potom prevádza priemerné hodnoty n -tice LAB na n -ticu hodnôt RGB. Tento príklad som napísal sám a funguje celkom dobre, ale majte na pamäti, že výsledky detekcie farieb budú ovplyvnené okolitými svetelnými podmienkami.

V úložisku github OpenMV nájdete mnoho ďalších zaujímavých ukážok! Väčšinou sú kompatibilné s mikropythonom MaiX Bit, jediné, čo si musíte pamätať, je pridať sensor.run (1) po nastavení pixformátu a veľkosti rámca.

Veselé experimentovanie s kódom OpenMV. Ak máte akékoľvek otázky alebo sa chcete podeliť o niektoré svoje zaujímavé výsledky, neváhajte ma kontaktovať na Youtube alebo LinkedIn. Teraz ma ospravedlňte, idem robiť roboty!

Odporúča: