विषयसूची:
- चरण 1: सिपेड MAix: AI ऐट द एज
- चरण 2: अपना पर्यावरण तैयार करें
- चरण 3: कोड संकलित करें
- चरण 4:.bin फ़ाइल अपलोड करना
- चरण 5: Arduino से जुड़ना
- चरण 6: रास्पबेरी पाई से जुड़ना
- चरण 7: निष्कर्ष
वीडियो: रास्पबेरी पाई/अरुडिनो के लिए एआई कैमरा: 7 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
यदि आप हाल ही में खबरों का अनुसरण कर रहे हैं, तो एमएल (मशीन लर्निंग) एल्गोरिदम के अनुमान और प्रशिक्षण में तेजी लाने के लिए चिप्स विकसित करने वाले स्टार्ट-अप का विस्फोट हुआ था। हालाँकि उनमें से अधिकांश चिप्स अभी भी विकास के अधीन हैं और वास्तव में ऐसा कुछ नहीं है जो आपके औसत निर्माता को मिल सके। अब तक का एकमात्र महत्वपूर्ण अपवाद इंटेल मूविडियस न्यूरल कंप्यूट स्टिक था, जो खरीद के लिए उपलब्ध है और एक अच्छे एसडीके के साथ आता है। इसके कुछ महत्वपूर्ण नुकसान हैं - अर्थात् कीमत (लगभग 100 अमरीकी डालर) और तथ्य यह है कि यह यूएसबी स्टिक प्रारूप में आता है। यदि आप इसे लैपटॉप या रास्पबेरी पीआई के साथ उपयोग करना चाहते हैं तो यह बहुत अच्छा है, लेकिन क्या होगा यदि आप Arduino के साथ कुछ छवि पहचान प्रोजेक्ट करना चाहते हैं? या रास्पबेरी पाई जीरो?
चरण 1: सिपेड 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 फ़ाइल अपलोड करना
अब अपने सिपेड एम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 से जुड़ना
मैंने सीड स्टूडियो मेगा शील्ड के साथ अरुडिनो मेगा का उपयोग किया, यही कारण है कि मैंने ग्रोव कनेक्टर को सिपेड एम 1 बोर्ड में मिलाया। हालाँकि आप केवल जम्पर तारों का उपयोग कर सकते हैं और इस वायरिंग आरेख का अनुसरण करते हुए, Sipeed M1 को सीधे Arduino Mega से जोड़ सकते हैं।
इसके बाद कैमरा.इनो स्केच अपलोड करें और सीरियल मॉनिटर खोलें। जब आप कैमरे को विभिन्न वस्तुओं की ओर इंगित करते हैं (20 वर्गों की सूची स्केच में है) तो इसे सीरियल मॉनिटर में कक्षा के नाम को आउटपुट करना चाहिए!
बधाई हो! अब आपके पास अपने Arduino के लिए कार्यशील छवि पहचान मॉड्यूल है!
चरण 6: रास्पबेरी पाई से जुड़ना
मैंने रास्पबेरी पाई 2 बी के लिए ग्रोव पाई + टोपी का उपयोग किया, लेकिन फिर से, जैसा कि अरुडिनो के साथ आप इस वायरिंग आरेख के बाद सीधे सिपेड एम 1 को रास्पबेरी पाई के यूएआरटी इंटरफ़ेस से जोड़ सकते हैं।
उसके बाद कैमरा_स्पीक.py लॉन्च करें और कैमरे को अलग-अलग ऑब्जेक्ट्स की ओर इंगित करें, टर्मिनल निम्नलिखित टेक्स्ट "मुझे लगता है कि यह है" आउटपुट करेगा और यदि आपके पास स्पीकर जुड़े हुए हैं, तो यह इस वाक्यांश को ज़ोर से बोलेगा। बहुत बढ़िया, है ना?
चरण 7: निष्कर्ष
यह बहुत ही रोमांचक समय है जिसमें हम रह रहे हैं, एआई और मशीन लर्निंग हमारे जीवन के सभी क्षेत्रों में प्रवेश कर रहे हैं। मैं इस क्षेत्र में विकास की उम्मीद कर रहा हूं। मैं सिपेड टीम के संपर्क में हूं, और मुझे पता है कि वे सीएनएन त्वरण सहित सभी आवश्यक कार्यों के लिए सक्रिय रूप से माइक्रोपायथन रैपर विकसित कर रहे हैं।
जब यह तैयार हो जाएगा, तो मैं आपके स्वयं के CNN मॉडल को micropython के साथ उपयोग करने के तरीके के बारे में अधिक निर्देश प्रकाशित करने की बहुत संभावना है। उन सभी रोमांचक अनुप्रयोगों के बारे में सोचें जो आपके पास एक बोर्ड के लिए हो सकते हैं जो इस कीमत के लिए और इस पदचिह्न के साथ अपना स्वयं का छवि प्रसंस्करण तंत्रिका नेटवर्क चला सकते हैं!
सिफारिश की:
रास्पबेरी पाई 3 बी में एचडीएमआई के बिना रास्पियन स्थापित करना - रास्पबेरी पाई 3बी के साथ शुरुआत करना - अपना रास्पबेरी पाई सेट करना 3: 6 कदम
रास्पबेरी पाई 3 बी में एचडीएमआई के बिना रास्पियन स्थापित करना | रास्पबेरी पाई 3बी के साथ शुरुआत करना | अपना रास्पबेरी पाई 3 सेट करना: जैसा कि आप में से कुछ लोग जानते हैं कि रास्पबेरी पाई कंप्यूटर काफी शानदार हैं और आप पूरे कंप्यूटर को सिर्फ एक छोटे बोर्ड पर प्राप्त कर सकते हैं। रास्पबेरी पाई 3 मॉडल बी में क्वाड-कोर 64-बिट एआरएम कोर्टेक्स ए 53 है। 1.2 गीगाहर्ट्ज़ पर क्लॉक किया गया। यह पाई 3 को लगभग 50
पूल पाई गाय - रास्पबेरी पाई का उपयोग करके एआई संचालित अलार्म सिस्टम और पूल मॉनिटरिंग: 12 कदम (चित्रों के साथ)
पूल पाई गाय - रास्पबेरी पाई का उपयोग करके एआई संचालित अलार्म सिस्टम और पूल मॉनिटरिंग: घर पर पूल होना मजेदार है, लेकिन बड़ी जिम्मेदारी के साथ आता है। मेरी सबसे बड़ी चिंता यह निगरानी है कि क्या कोई पूल के पास है (विशेषकर छोटे बच्चे)। मेरी सबसे बड़ी झुंझलाहट यह सुनिश्चित कर रही है कि पूल की पानी की लाइन कभी भी पंप के प्रवेश द्वार से नीचे न जाए
एआई विजन किट (रास्पबेरी पाई): ३ कदम
एआई विजन किट (रास्पबेरी पाई): गूगल के एआईवाई विजन किट पर एक व्यापक नजर
PiTanq - एआई सीखने के लिए रास्पबेरी पाई और पायथन के साथ रोबोट-टैंक: 10 कदम
PiTanq - रास्पबेरी पाई के साथ रोबोट-टैंक और AI सीखने के लिए पायथन: Pitanq एक रोबोट-टैंक है जिसमें रास्पबेरी पाई द्वारा संचालित कैमरा है। इसका उद्देश्य सेल्फ ड्राइविंग की आर्टिफिशियल इंटेलिजेंस सीखने में मदद करना है। टैंक पर AI OpenCV और Tensoflow द्वारा विशेष रूप से रास्पियन जेसी के लिए बनाया गया है। मजबूत एल्यूमीनियम पर आधारित
यूनिकॉर्न कैमरा - रास्पबेरी पाई जीरो डब्ल्यू नोआईआर 8एमपी कैमरा बिल्ड: 7 कदम (चित्रों के साथ)
UNICORN CAMERA - रास्पबेरी पाई ज़ीरो W NoIR 8MP कैमरा बिल्ड: पाई ज़ीरो W NoIR 8MP कैमरा बिल्ड . यह सबसे किफायती और विन्यास योग्य