Mündəricat:

Sipeed MaiX Bit OpenMV Demoları - Kompüter Görmə: 3 addım
Sipeed MaiX Bit OpenMV Demoları - Kompüter Görmə: 3 addım

Video: Sipeed MaiX Bit OpenMV Demoları - Kompüter Görmə: 3 addım

Video: Sipeed MaiX Bit OpenMV Demoları - Kompüter Görmə: 3 addım
Video: Unpacking and OpenMV Demos Sipeed MaiX Bit 2024, Iyul
Anonim
Image
Image

Bu, Edge mikrokontrolör platformasındakı Sipeed AI ilə bağlı ikinci məqalədir. Bu dəfə daha kiçik, çörək taxtası hazır bir inkişaf lövhəsi olan MaiX Bit (Seeed Studio Shop -a bağlantı) haqqında yazacam. Texniki xüsusiyyətləri, son dərs üçün istifadə etdiyim MaiX Dock lövhəsinə çox bənzəyir, çünki onlar eyni çip olan Kendryte K210 -dan istifadə edirlər.

Bəzi OpenMV demolarını sınamaq üçün micropython firmware istifadə edəcəyik. OpenMV ana səhifəsinin təsviri:

OpenMV layihəsi, aşağı qiymətli, genişlənə bilən, Python ilə işləyən, maşın görmə modulları yaratmaqdır və "Arduino of Machine Vision" olmağı hədəfləyir.… Python maşın görmə alqoritmləri ilə işləməyi çox asanlaşdırır. Məsələn, koddakı find_blobs () metodu rəngli ləkələr tapır və tapılan hər rəng ləkəsini təmsil edən 8 dəyərli obyektlərin siyahısını qaytarır. Python -da find_blobs () tərəfindən qaytarılmış obyektlərin siyahısını təkrarlamaq və hər bir rəng blobunun ətrafında bir düzbucaq çəkmək asanlıqla iki kod sətrində edilir.

Beləliklə, MaiX Bit-in xüsusi neyron şəbəkə sürətləndiricisinə baxmayaraq, işi yerinə yetirmək üçün OpenMV sərt kodlu alqoritmlərdən istifadə etmək və ya onları bir-birinin yanında istifadə etmək bəzən daha asan ola bilər.

Ağlıma gələn bəzi istifadə halları bunlardır:

1) Xətt izləyicisi botu üçün xətt aşkarlanması

2) Svetoforların dairə və rəng algılaması ilə aşkarlanması

3) Üz tanıma üçün üzləri tapmaq üçün üz aşkarlamadan istifadə (DNN ilə)

Bu məqalə üçün Github deposu

Addım 1: Flash Micropython Firmware

MaiX Bit -ə qoşulun
MaiX Bit -ə qoşulun

Əvvəlcə lövhəmizə micropython firmware -ni yandırmalıyıq. Əvvəlcədən tərtib edilmiş ikili sənəd, kflash.py (flash proqramı) ilə birlikdə bu məqalə üçün github deposuna daxil edilmişdir. Firmware -ni mənbə kodundan tərtib etmək istəyirsinizsə, https://github.com/sipeed/MaixPy -dən qaynaq kodunu yükləyin, alət zəncirini quraşdırın və mənbə kodunu maixpy.bin faylına yığın. Ətraflı tikinti təlimatlarını burada tapa bilərsiniz.

İkili fayl ilə flash edin

sudo python3 kflash.py kpu.bin

Uğurla yanıb -sönəndən sonra növbəti addıma keçin.

Addım 2: MaiX Bit -ə qoşulun

İndi bizim MaiX Bit -ə baudrate 115200 ilə bir USB serial bağlantısı vasitəsi ilə daxil olmaq lazımdır. İstədiyiniz ehtiyaca uyğun olan serial ünsiyyəti və ya yalnız cat və echo əmrləri üçün ən sevdiyiniz proqramdan istifadə edə bilərsiniz. Serial ünsiyyət üçün ekrandan istifadə edirdim və bunu çox rahat hesab edirdim.

Ekranlı bir serial ünsiyyət sessiyası qurma əmridir

sudo ekranı /dev /ttyUSB0 115200

burada /dev /ttyUSB0 cihazınızın ünvanıdır.

Təbrik mesajını və python tərcüməçi istəyini görmək üçün mikrokontrolörünüzdəki sıfırlama düyməsini basmalı ola bilərsiniz.

Addım 3: Demoları işə salın

İndi Ctrl+E düymələrini basaraq kopyalama rejiminə daxil ola və demo kodlarını kopyalayıb yapışdıra bilərsiniz. Onları işə salmaq üçün kopyalama rejimində Ctrl+D düymələrini basın.

Video çəkmək istəmirsinizsə, video qeyd xətlərini şərh etməlisiniz. Əks təqdirdə, heç bir SD kart daxil edilmədikdə kod bir istisna yaradır

Hər bir demonun qısa təsvirləri:

Çevrələri tap - OpenMV -dən find_circles funksiyasından istifadə edir. Xüsusi tətbiq üçün daha çox tənzimləmə lazımdır, xüsusən də eşik (hough çevrilməsindən hansı dairələrin aşkarlandığını nəzarət edir. Yalnız eşikdən böyük və ya ona bərabər olan dairələr qaytarılır) və r_min, r_max dəyərləri.

Düzbucaqlı tap - OpenMV -dən find_rects funksiyasından istifadə edir. Eşik dəyəri ilə oynaya bilərsiniz, ancaq demoda sahib olduğum dəyər düzbucaqlı tapmaq üçün olduqca yaxşı işləyir.

Üz tap, göz tap - şəkildəki gözləri və frontal üzü aşkar etmək üçün Haar Cascades ilə find_features funksiyasından istifadə edir. Doğru sürət-dəqiqlik mübadiləsi üçün eşik və miqyas dəyərləri ilə oynaya bilərsiniz.

Sonsuz xətlər tap - hough çevrilməsindən istifadə edərək şəkildəki bütün sonsuz xətləri tapmaq üçün find_lines funksiyasından istifadə edir.

Rəngi algıla - yüzdəlik obyekt əldə etmək üçün get_statistics funksiyasından istifadə edir və sonra LAB tuplunun orta dəyərlərini RGB dəyərlər dəstəsinə çevirir. Bu nümunəni özüm yazdım və olduqca yaxşı işləyir, amma unutmayın ki, rəng algılamanın nəticələri ətrafdakı işıq şəraitindən təsirlənəcək.

OpenMV github deposunda daha çox maraqlı demolar tapa bilərsiniz! Əsasən MaiX Bit micropython ilə uyğundur, xatırlamağınız lazım olan tək şey, piksel formatını və çərçivəni qurduqdan sonra sensor.run (1) əlavə etməkdir.

OpenMV kodu ilə xoşbəxt təcrübə. Hər hansı bir sualınız varsa və ya bəzi maraqlı nəticələrinizi bölüşmək istəyirsinizsə, Youtube və ya LinkedIn -də mənə müraciət etməkdən çəkinməyin. İndi bağışlayın, gedim robotlar hazırlayım!

Tövsiyə: