विषयसूची:

सिपेड माईएक्स बिट ओपनएमवी डेमो - कंप्यूटर विजन: 3 कदम
सिपेड माईएक्स बिट ओपनएमवी डेमो - कंप्यूटर विजन: 3 कदम

वीडियो: सिपेड माईएक्स बिट ओपनएमवी डेमो - कंप्यूटर विजन: 3 कदम

वीडियो: सिपेड माईएक्स बिट ओपनएमवी डेमो - कंप्यूटर विजन: 3 कदम
वीडियो: Object Detection With Sipeed MaiX Boards(Kendryte K210) 2024, नवंबर
Anonim
Image
Image

एज माइक्रोकंट्रोलर प्लेटफॉर्म पर सिपेड एआई के बारे में श्रृंखला का यह दूसरा लेख है। इस बार मैं माईएक्स बिट (सीड स्टूडियो शॉप का लिंक) के बारे में लिखूंगा, जो एक छोटा, ब्रेडबोर्ड तैयार विकास बोर्ड है। यह विनिर्देश माईएक्स डॉक के समान है, बोर्ड जिसे मैंने पिछले ट्यूटोरियल के लिए उपयोग किया था, क्योंकि वे एक ही चिप, केंड्रीट के २१० का उपयोग करते हैं।

हम कुछ OpenMV डेमो आज़माने के लिए micropython फर्मवेयर का उपयोग करने जा रहे हैं। यहाँ OpenMV होमपेज से विवरण दिया गया है:

ओपनएमवी परियोजना कम लागत, एक्स्टेंसिबल, पायथन संचालित, मशीन विज़न मॉड्यूल बनाने के बारे में है और इसका उद्देश्य "मशीन विजन का Arduino" बनना है।…पायथन मशीन विज़न एल्गोरिदम के साथ काम करना बहुत आसान बनाता है। उदाहरण के लिए, कोड में find_blobs () विधि रंग ब्लॉब्स ढूंढती है और प्रत्येक रंग ब्लॉब का प्रतिनिधित्व करने वाले 8-मूल्यवान ऑब्जेक्ट्स की एक सूची देता है। पाइथन में find_blobs() द्वारा लौटाई गई वस्तुओं की सूची के माध्यम से पुनरावृत्ति करना और प्रत्येक रंग ब्लॉब के चारों ओर एक आयत बनाना कोड की केवल दो पंक्तियों में आसानी से किया जाता है।

इसलिए, माईएक्स बिट में समर्पित तंत्रिका नेटवर्क त्वरक की सुविधा के बावजूद, कभी-कभी काम करने के लिए ओपनएमवी हार्ड-कोडेड एल्गोरिदम का उपयोग करना या एक-दूसरे के साथ उनका उपयोग करना आसान हो सकता है।

मेरे दिमाग में आने वाले कुछ उपयोग के मामले हैं:

1) लाइन फॉलोअर बॉट के लिए लाइन डिटेक्शन

2) सर्कल और कलर डिटेक्शन के साथ ट्रैफिक लाइट का पता लगाना

3) चेहरे की पहचान के लिए चेहरे का पता लगाने के लिए चेहरे की पहचान का उपयोग करना (डीएनएन के साथ)

इस लेख के लिए जीथब भंडार

चरण 1: फ्लैश माइक्रोपायथन फर्मवेयर

माईएक्स बिट से कनेक्ट करें
माईएक्स बिट से कनेक्ट करें

सबसे पहले हमें अपने बोर्ड में माइक्रोपायथन फर्मवेयर फ्लैश करना होगा। इस आलेख के लिए kflash.py (एक फ्लैश उपयोगिता) के साथ एक प्रीकंपील्ड बाइनरी को जीथब रिपोजिटरी में शामिल किया गया है। अगर आप फर्मवेयर को सोर्स कोड से कंपाइल करना चाहते हैं, तो बस https://github.com/sipeed/MaixPy से सोर्स कोड डाउनलोड करें, टूलचेन इंस्टॉल करें और सोर्स कोड को maixpy.bin फाइल में कंपाइल करें। विस्तृत निर्माण निर्देश यहां देखे जा सकते हैं।

बाइनरी फ़ाइल को फ्लैश करें

sudo python3 kflash.py kpu.bin

सफल फ्लैशिंग के बाद अगले चरण का पालन करें।

चरण 2: माईएक्स बिट से कनेक्ट करें

अब हमारे माईएक्स बिट को बॉड्रेट 115200 के साथ यूएसबी सीरियल कनेक्शन के माध्यम से एक्सेस किया जाना चाहिए। आप सीरियल संचार के लिए अपने पसंदीदा सॉफ्टवेयर का उपयोग कर सकते हैं या सिर्फ कैट एंड इको कमांड, जो भी आपकी आवश्यकताओं के अनुरूप हो। मैं धारावाहिक संचार के लिए स्क्रीन का उपयोग कर रहा था और इसे बहुत सुविधाजनक पाया।

स्क्रीन के साथ धारावाहिक संचार सत्र स्थापित करने का आदेश है

सुडो स्क्रीन / देव / ttyUSB0 115200

जहां /dev/ttyUSB0 आपके डिवाइस का पता है।

ग्रीटिंग संदेश और पायथन इंटरप्रेटर प्रॉम्प्ट देखने के लिए आपको अपने माइक्रोकंट्रोलर पर रीसेट बटन दबाने की आवश्यकता हो सकती है।

चरण 3: डेमो चलाएँ

अब आप Ctrl+E दबाकर कॉपी मोड को एक्सेस कर सकते हैं और डेमो कोड को कॉपी-पेस्ट कर सकते हैं। उन्हें चलाने के लिए कॉपी मोड में Ctrl+D दबाएं।

यदि आप वीडियो रिकॉर्ड नहीं करना चाहते हैं, तो आपको वीडियो रिकॉर्डिंग लाइनों पर टिप्पणी करने की आवश्यकता है। अन्यथा यदि कोई एसडी कार्ड नहीं डाला गया है तो कोड अपवाद फेंक देगा।

यहां प्रत्येक डेमो का संक्षिप्त विवरण दिया गया है:

मंडल खोजें - OpenMV से find_circles फ़ंक्शन का उपयोग करता है। आपके विशिष्ट एप्लिकेशन के लिए और अधिक ट्विकिंग की आवश्यकता है, विशेष रूप से थ्रेशोल्ड (यह नियंत्रित करता है कि हफ़ ट्रांसफ़ॉर्म से कौन से सर्कल का पता लगाया जाता है। थ्रेशोल्ड से अधिक या उसके बराबर परिमाण वाले ओनली सर्कल लौटाए जाते हैं) और r_min, r_max मान।

आयत खोजें - OpenMV से find_rects फ़ंक्शन का उपयोग करता है। आप थ्रेशोल्ड वैल्यू के साथ खेल सकते हैं, लेकिन डेमो में मेरे पास जो मूल्य है वह आयतों को खोजने के लिए काफी अच्छा है।

चेहरे ढूंढें, आंखें ढूंढें - छवि में आंखों और सामने के चेहरे का पता लगाने के लिए हार कैस्केड के साथ find_features फ़ंक्शन का उपयोग करता है। आप सही गति-सटीकता ट्रेड-ऑफ के लिए थ्रेशोल्ड और स्केल वैल्यू के साथ खेल सकते हैं।

अनंत रेखाएँ खोजें - हफ़ ट्रांसफ़ॉर्म का उपयोग करके छवि में सभी अनंत रेखाओं को खोजने के लिए find_lines फ़ंक्शन का उपयोग करता है।

रंग का पता लगाएं - प्रतिशत वस्तु प्राप्त करने के लिए get_statistics फ़ंक्शन का उपयोग करता है और फिर एलएबी टपल के माध्य मानों को आरजीबी मान टपल में परिवर्तित करता है। मैंने यह उदाहरण स्वयं लिखा है और यह काफी अच्छी तरह से काम करता है, लेकिन ध्यान रखें कि रंग का पता लगाने के परिणाम परिवेश प्रकाश की स्थिति से प्रभावित होंगे।

आप ओपनएमवी जीथब रिपोजिटरी में कई और दिलचस्प डेमो पा सकते हैं! वे ज्यादातर माईएक्स बिट माइक्रोपीथॉन के साथ संगत हैं, केवल एक चीज जो आपको याद रखने की जरूरत है वह है पिक्सफॉर्मैट और फ्रेमसाइज सेट करने के बाद sensor.run(1) जोड़ना।

OpenMV कोड के साथ सुखद प्रयोग। यदि आपके कोई प्रश्न हैं या आप अपने कुछ दिलचस्प परिणाम साझा करना चाहते हैं, तो बेझिझक मुझे Youtube या LinkedIn पर संपर्क करें। अब, क्षमा करें, मैं कुछ रोबोट बनाने जाऊँगा!

सिफारिश की: