Mundarija:

Saied MaiX Bit OpenMV Demos - Kompyuterni ko'rish: 3 qadam
Saied MaiX Bit OpenMV Demos - Kompyuterni ko'rish: 3 qadam

Video: Saied MaiX Bit OpenMV Demos - Kompyuterni ko'rish: 3 qadam

Video: Saied MaiX Bit OpenMV Demos - Kompyuterni ko'rish: 3 qadam
Video: Обзор плат компьютерного зрения в 2022 году: Jetson, VIM, Coral, Rockchip, MAIX, k210, ESP32, NCS и т. д. 2024, Noyabr
Anonim
Image
Image

Bu Edge mikrokontroller platformasidagi Sipeed AI haqidagi ketma -ket ikkinchi maqola. Bu safar men MaiX Bit (Seeed Studio Shop havolasi) haqida yozaman, bu kichikroq, taxtali tayyor ishlab chiqish taxtasi. Uning texnik xususiyatlari men oxirgi darslik uchun ishlatilgan MaiX Dock taxtasiga juda o'xshash, chunki ular xuddi shu Kendryte K210 chipidan foydalanadilar.

Biz OpenMV demolarini sinab ko'rish uchun micropython dasturiy ta'minotidan foydalanmoqchimiz. Bu erda OpenMV bosh sahifasining tavsifi:

OpenMV loyihasi arzon, kengaytiriladigan, Python bilan ishlaydigan, mashinani ko'rish modullarini yaratishga qaratilgan va "Arduino of Machine Vision" bo'lishga qaratilgan. Python mashinani ko'rish algoritmlari bilan ishlashni ancha osonlashtiradi. Misol uchun, koddagi find_blobs () usuli rangli bloklarni topadi va topilgan har bir rang blobini ifodalovchi 8 ta qiymatli ob'ektlar ro'yxatini qaytaradi. Python -da find_blobs () tomonidan qaytarilgan ob'ektlar ro'yxatini takrorlash va har bir rang blob atrofida to'rtburchak chizish kodning faqat ikki satrida oson bajariladi.

Shunday qilib, MaiX Bit maxsus neyron tarmoq tezlatgichiga ega bo'lsa-da, ba'zida ishni bajarish uchun OpenMV qattiq kodli algoritmlardan foydalanish yoki ularni bir-biri bilan ishlatish osonroq bo'lishi mumkin.

Miyamga keladigan ba'zi holatlar:

1) chiziq izdoshlari uchun chiziqlarni aniqlash

2) Svetoforlarni aylana va ranglarni aniqlash bilan aniqlash

3) Yuzni aniqlash uchun yuzlarni aniqlash uchun yuzlarni aniqlash (DNN bilan)

Ushbu maqola uchun Github ombori

1 -qadam: Flash Micropython dasturiy ta'minoti

MaiX Bit -ga ulaning
MaiX Bit -ga ulaning

Birinchidan, biz doskamizga mikropiton dasturiy ta'minotini ko'rsatishimiz kerak. Oldindan tuzilgan ikkilik, kflash.py (flesh -yordam dasturi) bilan birgalikda ushbu maqola uchun github omboriga kiritilgan. Agar siz dasturiy ta'minotni manba kodidan kompilyatsiya qilmoqchi bo'lsangiz, manba kodini https://github.com/sipeed/MaixPy saytidan yuklab oling, asboblar zanjirini o'rnating va manba kodini maixpy.bin fayliga to'plang. Qurilish bo'yicha batafsil ko'rsatmalarni bu erda topishingiz mumkin.

Ikkilik faylni yondiring

sudo python3 kflash.py kpu.bin

Muvaffaqiyatli miltillashdan so'ng, keyingi bosqichga o'ting.

2 -qadam: MaiX Bit -ga ulaning

Endi bizning MaiX Bit -ga 115200 -sonli baudrate -ga ulangan USB -ulanish orqali kirish mumkin. Siz o'zingiz yoqtirgan dasturiy ta'minotni ketma -ket aloqa yoki mushuk va echo buyruqlaridan foydalanishingiz mumkin. Men ekranni ketma -ket aloqa uchun ishlatardim va bu juda qulay edi.

Ekranli ketma -ket aloqa sessiyasini o'rnatish buyrug'i

sudo screen /dev /ttyUSB0 115200

bu erda /dev /ttyUSB0 - qurilmangiz manzili.

Salomlashish xabari va python tarjimonining so'rovini ko'rish uchun mikrokontrolleringizdagi reset tugmasini bosishingiz kerak bo'lishi mumkin.

3 -qadam: Demolarni ishga tushiring

Endi siz Ctrl+E tugmachalarini bosib nusxa ko'chirish rejimiga o'tishingiz va demo kodlarini nusxalash-joylashtirishingiz mumkin. Ularni ishga tushirish uchun nusxa ko'chirish rejimida Ctrl+D tugmalarini bosing.

Agar siz video yozishni xohlamasangiz, video yozish satrlariga izoh berishingiz kerak. Aks holda, SD -karta bo'lmasa, kod istisno qiladi

Har bir demoning qisqacha tavsifi:

Davralarni toping - OpenMV -dan find_circles funktsiyasidan foydalanadi. Sizning maxsus ilovangiz uchun ko'proq sozlash kerak, ayniqsa chegara (balandlikdan qanday aylanalar aniqlanishini nazorat qiladi. Faqat kattaligi kattalikdan katta yoki unga teng bo'lgan doiralar qaytariladi) va r_min, r_max qiymatlari.

To'rtburchaklar toping - OpenMV -dan find_rects funktsiyasidan foydalanadi. Siz chegara qiymati bilan o'ynashingiz mumkin, lekin demo qiymatim to'rtburchaklar topish uchun juda yaxshi ishlaydi.

Yuzlarni toping, ko'zni toping - Haar Cascades yordamida find_features funktsiyasidan foydalanib, tasvirdagi ko'z va frontal yuzni aniqlang. To'g'ri tezlikni almashtirish uchun siz chegara va o'lchov qiymatlari bilan o'ynashingiz mumkin.

Cheksiz chiziqlarni toping - hough konvertatsiyasi yordamida tasvirdagi barcha cheksiz chiziqlarni topish uchun find_lines funktsiyasidan foydalaniladi.

Rangni aniqlash - foizli ob'ektni olish uchun get_statistics funktsiyasidan foydalanadi, so'ngra LAB tuplining o'rtacha qiymatlarini RGB qiymatlari to'plamiga o'zgartiradi. Men bu misolni o'zim yozganman va u juda yaxshi ishlaydi, lekin shuni yodda tutingki, rangni aniqlash natijalariga atrofdagi yorug'lik sharoitlari ta'sir qiladi.

Siz OpenMV github omboridan boshqa ko'plab qiziqarli demolarni topishingiz mumkin! Ular asosan MaiX Bit mikropitoniga mos keladi, siz eslashingiz kerak bo'lgan yagona narsa - pixformat va freym o'lchamlarini o'rnatgandan so'ng sensor.run (1) ni qo'shish.

OpenMV kodi bilan baxtli tajriba. Agar sizda biron bir savol bo'lsa yoki qiziqarli natijalaringiz bilan bo'lishishni istasangiz, ikkilanmasdan menga Youtube yoki LinkedIn orqali murojaat qiling. Kechirasiz, men borib robot yasayman!

Tavsiya: