Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
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
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!