विषयसूची:

रास्पबेरी पाई/अरुडिनो के लिए एआई कैमरा: 7 कदम
रास्पबेरी पाई/अरुडिनो के लिए एआई कैमरा: 7 कदम

वीडियो: रास्पबेरी पाई/अरुडिनो के लिए एआई कैमरा: 7 कदम

वीडियो: रास्पबेरी पाई/अरुडिनो के लिए एआई कैमरा: 7 कदम
वीडियो: Raspberry Pi CM4 (delidding or scalping) 2024, नवंबर
Anonim
Image
Image

यदि आप हाल ही में खबरों का अनुसरण कर रहे हैं, तो एमएल (मशीन लर्निंग) एल्गोरिदम के अनुमान और प्रशिक्षण में तेजी लाने के लिए चिप्स विकसित करने वाले स्टार्ट-अप का विस्फोट हुआ था। हालाँकि उनमें से अधिकांश चिप्स अभी भी विकास के अधीन हैं और वास्तव में ऐसा कुछ नहीं है जो आपके औसत निर्माता को मिल सके। अब तक का एकमात्र महत्वपूर्ण अपवाद इंटेल मूविडियस न्यूरल कंप्यूट स्टिक था, जो खरीद के लिए उपलब्ध है और एक अच्छे एसडीके के साथ आता है। इसके कुछ महत्वपूर्ण नुकसान हैं - अर्थात् कीमत (लगभग 100 अमरीकी डालर) और तथ्य यह है कि यह यूएसबी स्टिक प्रारूप में आता है। यदि आप इसे लैपटॉप या रास्पबेरी पीआई के साथ उपयोग करना चाहते हैं तो यह बहुत अच्छा है, लेकिन क्या होगा यदि आप Arduino के साथ कुछ छवि पहचान प्रोजेक्ट करना चाहते हैं? या रास्पबेरी पाई जीरो?

चरण 1: सिपेड MAix: AI ऐट द एज

सिपेड MAix: AI ऐट द एज
सिपेड MAix: AI ऐट द एज

बहुत समय पहले मुझे सिपेड M1w K210 डेवलपमेंट बोर्ड पर हाथ मिला, जिसमें डुअल-कोर RISC-V 64bit CPU है और इसमें ऑन-बोर्ड KPU (न्यूरल नेटवर्क प्रोसेसर) है, जिसे विशेष रूप से इमेज प्रोसेसिंग के लिए CNN को तेज करने के लिए डिज़ाइन किया गया है। आप यहां अधिक विवरण पढ़ सकते हैं।

इस बोर्ड की कीमत ने मुझे चौंका दिया, वाई-फाई समर्थन के साथ पूर्ण विकसित एआई-ऑन-द-एज विकास बोर्ड के लिए यह सिर्फ 19 यूएसडी है! हालांकि एक चेतावनी है (बेशक वहाँ है): बोर्ड के लिए माइक्रोपायथन फर्मवेयर अभी भी विकास में है, और कुल मिलाकर यह अभी तक उपयोगकर्ता के अनुकूल नहीं है। इसके सभी कार्यों को अभी एक्सेस करने का एकमात्र तरीका अपना खुद का एम्बेडेड सी कोड लिखना या कुछ मौजूदा डेमो को संशोधित करना है।

यह ट्यूटोरियल बताता है कि वस्तुओं का पता लगाने के लिए Mobilenet 20 क्लास डिटेक्शन मॉडल का उपयोग कैसे करें और UART के माध्यम से पता लगाए गए ऑब्जेक्ट कोड को भेजें, जहां से इसे Arduino/Raspberry Pi द्वारा प्राप्त किया जा सकता है।

अब, यह ट्यूटोरियल मानता है कि आप लिनक्स और सी कोड के संकलन की मूल बातें से परिचित हैं। अगर इस वाक्यांश को सुनकर आपको थोड़ा चक्कर आया:)

चरण 2: अपना पर्यावरण तैयार करें

अपना पर्यावरण तैयार करें
अपना पर्यावरण तैयार करें

मैंने सी कोड संकलन और अपलोड के लिए उबंटू 16.04 का उपयोग किया। विंडोज़ में ऐसा करना संभव है, लेकिन मैंने खुद इसकी कोशिश नहीं की।

आरआईएससी-वी जीएनयू कंपाइलर टूलचेन डाउनलोड करें, सभी आवश्यक निर्भरताएं स्थापित करें।

git क्लोन --recursive

sudo apt-get autoconf automake autotools-dev कर्ल libmpc-dev libmpfr-dev libgmp-dev gawk बिल्ड-एसेंशियल बाइसन फ्लेक्स texinfo gperf libtool पैचुटिल्स bc zlib1g-dev libexpat-dev इंस्टॉल करें।

डाउनलोड किए गए टूलचेन को /ऑप्ट डायरेक्टरी में कॉपी करें। उसके बाद निम्न कमांड चलाएँ

./configure --prefix=/opt/kendryte-toolchain --with-cmodel=medany

बनाना

अब अपने PATH में /opt/kendryte-toolchain/bin जोड़ें।

अब आप कोड संकलित करने के लिए तैयार हैं!

चरण 3: कोड संकलित करें

कोड संकलित करें
कोड संकलित करें

मेरे जीथब रिपॉजिटरी से कोड डाउनलोड करें।

डाउनलोड Kendryte K210 स्टैंडअलोन SDK

एसडीके में मेरे जीथब रिपोजिटरी से/src फ़ोल्डर में कॉपी/केपीयू फ़ोल्डर।

एसडीके फ़ोल्डर में निम्नलिखित कमांड चलाएँ (नहीं /src फ़ोल्डर!)

एमकेडीआईआर बिल्ड && सीडी बिल्ड

cmake.. -DPROJ=project_name -DTOOLCHAIN=/opt/kendryte-toolchain/bin && बनाना

जहां project_name आपके प्रोजेक्ट का नाम है (आप तक) और -DTOOLCHAIN= आपके रिस्क-वी टूलचेन के स्थान को इंगित करना चाहिए (आपने इसे पहले चरण में डाउनलोड किया है, याद रखें?)

महान! अब उम्मीद है कि आप बिना किसी त्रुटि के संकलन समाप्त होते देखेंगे और आपके पास एक.bin फ़ाइल है जिसे आप अपलोड कर सकते हैं।

चरण 4:.bin फ़ाइल अपलोड करना

.bin फ़ाइल अपलोड करना
.bin फ़ाइल अपलोड करना

अब अपने सिपेड एम1 को कंप्यूटर से कनेक्ट करें और /बिल्ड फोल्डर से निम्न कमांड चलाएँ

sudo python3 isp_auto.py -d /dev/ttyUSB0 -b 200000 kpu.bin

जहाँ kpu.bin आपकी.bin फ़ाइल का नाम है।

अपलोड में आमतौर पर 2-3 मिनट का समय लगता है, इसके पूरा होने के बाद आप बोर्ड को 20 कक्षाओं का पता लगाते हुए देखेंगे। हमारे लिए अंतिम चरण इसे Arduino मेगा या रास्पबेरी पाई से जोड़ना है।

!!! अगर आप अभी स्टेप 2 से आए हैं !

उस फ़ोल्डर से निम्न कमांड चलाएँ जहाँ आपने मेरे जीथब रिपॉजिटरी को क्लोन किया है

sudo python3 isp_auto.py -d /dev/ttyUSB0 -b 200000 kpu_bin.bin

अपलोड में आमतौर पर 2-3 मिनट का समय लगता है, इसके पूरा होने के बाद आप बोर्ड को 20 कक्षाओं का पता लगाते हुए देखेंगे। हमारे लिए अंतिम चरण इसे Arduino mega या Raspberry Pi से जोड़ना है।

चरण 5: Arduino से जुड़ना

Arduino से जुड़ना
Arduino से जुड़ना
Arduino से जुड़ना
Arduino से जुड़ना
Arduino से जुड़ना
Arduino से जुड़ना

मैंने सीड स्टूडियो मेगा शील्ड के साथ अरुडिनो मेगा का उपयोग किया, यही कारण है कि मैंने ग्रोव कनेक्टर को सिपेड एम 1 बोर्ड में मिलाया। हालाँकि आप केवल जम्पर तारों का उपयोग कर सकते हैं और इस वायरिंग आरेख का अनुसरण करते हुए, Sipeed M1 को सीधे Arduino Mega से जोड़ सकते हैं।

इसके बाद कैमरा.इनो स्केच अपलोड करें और सीरियल मॉनिटर खोलें। जब आप कैमरे को विभिन्न वस्तुओं की ओर इंगित करते हैं (20 वर्गों की सूची स्केच में है) तो इसे सीरियल मॉनिटर में कक्षा के नाम को आउटपुट करना चाहिए!

बधाई हो! अब आपके पास अपने Arduino के लिए कार्यशील छवि पहचान मॉड्यूल है!

चरण 6: रास्पबेरी पाई से जुड़ना

रास्पबेरी पाई से जुड़ना
रास्पबेरी पाई से जुड़ना
रास्पबेरी पाई से जुड़ना
रास्पबेरी पाई से जुड़ना

मैंने रास्पबेरी पाई 2 बी के लिए ग्रोव पाई + टोपी का उपयोग किया, लेकिन फिर से, जैसा कि अरुडिनो के साथ आप इस वायरिंग आरेख के बाद सीधे सिपेड एम 1 को रास्पबेरी पाई के यूएआरटी इंटरफ़ेस से जोड़ सकते हैं।

उसके बाद कैमरा_स्पीक.py लॉन्च करें और कैमरे को अलग-अलग ऑब्जेक्ट्स की ओर इंगित करें, टर्मिनल निम्नलिखित टेक्स्ट "मुझे लगता है कि यह है" आउटपुट करेगा और यदि आपके पास स्पीकर जुड़े हुए हैं, तो यह इस वाक्यांश को ज़ोर से बोलेगा। बहुत बढ़िया, है ना?

चरण 7: निष्कर्ष

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

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

सिफारिश की: