विषयसूची:
- आपूर्ति
- चरण 1: आवश्यक आईडीई और पुस्तकालय स्थापित करें
- चरण 2: एक्सेलेरोमीटर को पंख से तार दें
- चरण 3: एक्सेलेरोमीटर को शर्ट में संलग्न करें
- चरण 4: Arduino पर रनिंग कोड
- चरण 5: Android पर कोड चलाना
- चरण 6: ब्लूटूथ सिग्नल कनेक्शन का परीक्षण
- चरण 7: अपना खुद का डेटा एकत्र करना
- चरण 8: जुपिटर नोटबुक पर अपने डेटा का प्रशिक्षण
- चरण 9: नए मॉडल के साथ Android एप्लिकेशन को संशोधित करना
वीडियो: पोस्टशर्ट: रियल टाइम वियरेबल पोस्चर डिटेक्शन: 9 स्टेप्स
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
पोस्टशर्ट एक रीयलटाइम वायरलेस पोस्चर डिटेक्शन सिस्टम है जो ब्लूटूथ के माध्यम से एक एडफ्रूट फेदर से एक एंड्रॉइड एप्लिकेशन में एक्सेलेरोमीटर डेटा को प्रसारित और वर्गीकृत करता है। पूरा सिस्टम रीयलटाइम में पता लगा सकता है कि क्या उपयोगकर्ता के पास खराब मुद्रा है और जब उपयोगकर्ता झुकना शुरू करता है तो एक पुश अधिसूचना बनाता है, चलने के दौरान पता लगाना भी काम करता है।
आपूर्ति
इलेक्ट्रानिक्स
1 एक्स एंड्रॉइड स्मार्टफोन
1 एक्स एडफ्रूट पंख
1 एक्स लिथियम आयन पॉलिमर बैटरी - 3.7 वी 100 एमएएच (वायरलेस उपयोग के लिए वैकल्पिक)
2 x ADXL335 ट्रिपल-एक्सिस एक्सेलेरोमीटर
सामग्री
तार बांधना
टेप का रोल
चरण 1: आवश्यक आईडीई और पुस्तकालय स्थापित करें
एडफ्रूट पंख
पहले Arduino IDE स्थापित करें और फिर Adafruit nRF51 BLE लाइब्रेरी स्थापित करने के लिए चरणों का पालन करें
जुपिटर नोटबुक
पहले जुपिटर नोटबुक स्थापित करें और फिर निम्नलिखित आवश्यक पुस्तकालय स्थापित करें
- https://scikit-learn.org/stable/
- https://github.com/nok/sklearn-porter
एंड्रॉयड
एंड्रॉइड स्टूडियो स्थापित करें
परियोजना का कोड
GitHub से सभी प्रोजेक्ट कोड डाउनलोड करें
चरण 2: एक्सेलेरोमीटर को पंख से तार दें
ADXL335s के डेटा को पढ़ने के लिए हुकअप वायर को विन, ग्राउंड, Xout, Yout और Zout पिन से कनेक्ट करें। दोनों एक्सेलेरोमीटर के लिए विन तारों के दूसरे सिरों को फेदर पर 3V पिन से और ग्राउंड पिन के दूसरे सिरों को फेदर पर ग्राउंड पिन से कनेक्ट करें। पहले एक्सेलेरोमीटर के Xout, Yout और Zout तारों को पंख पर A0, A1 और A2 पिन से कनेक्ट करें। दूसरे एक्सेलेरोमीटर के Xout, Yout और Zout तारों को पंख पर A3, A4, और A5 पिन से कनेक्ट करें।
एक्सेलेरोमीटर को किसी भी तरह से जोड़ा जा सकता है लेकिन तारों को मिलाप करना और कनेक्शन बिंदुओं के चारों ओर बिजली के टेप को गर्म करना या लपेटना उजागर वर्गों को एक दूसरे से संपर्क करने से रोकने के लिए सुझाया गया है।
चरण 3: एक्सेलेरोमीटर को शर्ट में संलग्न करें
टेप का उपयोग करके एक्सेलेरोमीटर को शर्ट के पीछे से जोड़ दें। A0-2 पिन करने के लिए तार वाले एक्सेलेरोमीटर को मध्य-निचले हिस्से में क्षैतिज रूप से केंद्र में रखा जाना चाहिए। A3-5 पिन करने के लिए तार वाले एक्सेलेरोमीटर को गर्दन के पीछे क्षैतिज रूप से केंद्र में रखा जाना चाहिए। दोनों एक्सेलेरोमीटर को इस तरह से संरेखित किया जाना चाहिए कि पिन नीचे की तरफ हों और सेंसर को सपाट और शर्ट के खिलाफ सुरक्षित किया जाना चाहिए।
नोट: अधिक स्थायी पहनने योग्य के लिए सेंसर को कपड़ों पर सिल दिया जा सकता है लेकिन सेंसर प्लेसमेंट प्रभावी ढंग से स्थित हैं यह सुनिश्चित करने के लिए उन्हें पहले टेप और परीक्षण किया जाना चाहिए।
चरण 4: Arduino पर रनिंग कोड
फेदर पर डेटा एकत्र करना शुरू करने के लिए Arduino IDE शुरू करें और प्रोजेक्ट कोड के Arduino सेक्शन के तहत GestureDataSender फ़ाइल खोलें। इस फ़ाइल के साथ उपयोग किए जा रहे बोर्ड और पोर्ट को खोलें और फिर कोड को फेदर में अपलोड करने के लिए "सत्यापित करें" और "अपलोड करें" चुनें।
चरण 5: Android पर कोड चलाना
एंड्रॉइड पर एप्लिकेशन चलाने के लिए पहले एंड्रॉइड स्टूडियो शुरू करें और फिर मौजूदा एंड्रॉइड प्रोजेक्ट खोलने के विकल्प का चयन करें। प्रोजेक्ट कोड पर नेविगेट करें और "एंड्रॉइड" फ़ोल्डर चुनें। एंड्रॉइड स्टूडियो को प्रोजेक्ट फाइलों को सिंक करने में कुछ समय लगेगा और कुछ आवश्यक पुस्तकालयों को स्थापित करने का अनुरोध कर सकता है, इन विकल्पों को स्वीकार करें। एक बार प्रोजेक्ट तैयार हो जाने पर एंड्रॉइड डिवाइस को कंप्यूटर में प्लग करें और विंडो के शीर्ष पर रन विकल्प चुनें। प्रदर्शित होने वाले प्रॉम्प्ट से डिवाइस का चयन करें और फिर एप्लिकेशन को डिवाइस पर बनने दें।
चरण 6: ब्लूटूथ सिग्नल कनेक्शन का परीक्षण
ऐप के खुलने के बाद सुनिश्चित करें कि पंख चालू है और फिर फोन पर दिखाई देने वाली डिवाइस सूची से Adafruit Bluefruit LE का चयन करें। डिवाइस के कनेक्ट होने की प्रतीक्षा करें, यदि कनेक्शन पहली बार विफल हो जाता है तो अन्य डिबगिंग चरण लेने से पहले कनेक्ट करने का पुनः प्रयास करें। डिवाइस कनेक्ट होने के बाद मॉड्यूल "पोज़्चर डिटेक्टर" का चयन करें जो अगर ठीक से काम कर रहा है तो एक लाइव अपडेटिंग ग्राफ के साथ-साथ मुद्रा और आंदोलन की वर्तमान भविष्यवाणियों को प्रदर्शित करेगा। यह जांचने के लिए कि आर्डिनो सेंसर डेटा का संचार कर रहा है, दो एक्सेलेरोमीटर को यादृच्छिक दिशाओं में सही ढंग से स्थानांतरित करें और जांचें कि क्या ग्राफ़ पर सभी लाइनें बदलती हैं। यदि कुछ रेखाएं लगातार सपाट रहती हैं तो सुनिश्चित करें कि एक्सेलेरोमीटर पंख से ठीक से जुड़े हुए हैं। यदि सब कुछ काम कर रहा है, तो शर्ट पहनें और परीक्षण करें कि मुद्रा का पता लगाना आपके आसन का सही अनुमान लगा रहा है। बधाई हो! आपने पहनने योग्य पोस्चर डिटेक्शन को सफलतापूर्वक सेटअप कर लिया है। अपना खुद का डेटासेट बनाने और अपनी खुद की मुद्रा पहचान को अनुकूलित करने का तरीका जानने के लिए इस निर्देश के माध्यम से जारी रखें।
चरण 7: अपना खुद का डेटा एकत्र करना
मॉड्यूल चयन स्क्रीन पर अपना स्वयं का डेटा रिटर्न एकत्र करने के लिए और डेटा रिकॉर्डर मॉड्यूल खोलें। एक बार यह स्क्रीन खुलने के बाद आपके द्वारा एकत्रित किए जाने वाले डेटा के लिए लेबल भरें; अपने डेटा को आसानी से प्रशिक्षित करने के लिए आपको किसी भी रिकॉर्डिंग के नाम में "अच्छा" शब्द अच्छी मुद्रा के साथ और किसी भी रिकॉर्डिंग में "बुरा" शब्द शामिल करना चाहिए। संग्रह शुरू करने के लिए "डेटा एकत्र करें" बटन पर टैप करें और अपनी इच्छित कार्रवाई करें, जब आप समाप्त कर लें तो डेटा को समाप्त करने और सहेजने के लिए फिर से बटन पर टैप करें। सभी रिकॉर्ड किए गए डेटा को आपके फ़ाइल सिस्टम के दस्तावेज़ फ़ोल्डर के अंतर्गत "जेस्चरडेटा" नामक फ़ोल्डर में संग्रहीत किया जाएगा। जब आप अपने सभी डेटा को रिकॉर्ड करना समाप्त कर लें, तो मॉडल प्रशिक्षण के लिए फ़ाइलों को अपने कंप्यूटर पर कॉपी करें।
चरण 8: जुपिटर नोटबुक पर अपने डेटा का प्रशिक्षण
प्रारंभिक प्रोजेक्ट कोड में जुपिटर नोटबुक अनुभाग के तहत फ़ोल्डर "डेटा" में प्रशिक्षण के लिए उपयोग किया जाने वाला मूल डेटा होता है, अपने स्वयं के डेटा के प्रशिक्षण के लिए इस फ़ोल्डर की सभी फ़ाइलों को हटा दें और फिर अपने स्वयं के डेटा को फ़ोल्डर में कॉपी करें। फिर जुपिटर नोटबुक चलाएँ और "PostureDetectorTrainer.ipynb" खोलें। इस नोटबुक को डेटा फ़ोल्डर में किसी भी फाइल को अच्छे और बुरे आसन द्वारा स्वचालित रूप से अलग करने के लिए डिज़ाइन किया गया है और फिर मॉडल को प्रशिक्षित करने के लिए वर्गीकरण के लिए एक रैखिक एसवीएम को प्रशिक्षित करने के लिए बस "सेल" ड्रॉप डाउन का चयन करें और "रन ऑल" चुनें। नोटबुक को चलने में कुछ समय लग सकता है, लेकिन एक बार उस बिंदु तक स्क्रॉल करें जो मॉडल के लिए मुद्रा भविष्यवाणी सटीकता प्रदान करता है, यदि सटीकता कम है तो आप यह सुनिश्चित करना चाहेंगे कि आपकी पिछली रिकॉर्डिंग सटीक और सुसंगत जमीनी सच्चाई है। यदि परिणाम अच्छे लगते हैं तो अगले सेल पर स्क्रॉल करें जहां जावा क्लास जेनरेट की गई होगी। इस सेल के नीचे तक स्क्रॉल करें जब तक कि आप पैरामीटर के रूप में टिप्पणी किए गए हिस्से को नहीं देखते। इन मानों को कॉपी करें क्योंकि आपको अगले चरण में इनकी आवश्यकता होगी।
चरण 9: नए मॉडल के साथ Android एप्लिकेशन को संशोधित करना
एंड्रॉइड एप्लिकेशन में मॉडल बदलने के लिए प्रोजेक्ट स्ट्रक्चर के जावा सेक्शन के तहत "PostureDetectorFragment.java" फाइल पर नेविगेट करने के लिए एंड्रॉइड स्टूडियो का उपयोग करें। इस फ़ाइल में "आसन क्लासिफायरियर" के रूप में टिप्पणी किए गए अनुभाग तक स्क्रॉल करें, जिसमें जुपिटर नोटबुक में उत्पन्न 4 के समान 4 संबंधित चर होंगे। इन 4 वेरिएबल्स के मानों को ज्यूपिटर नोटबुक से कॉपी किए गए मानों से बदलें, यह सुनिश्चित करते हुए कि वेरिएबल नाम p_vectors, p_coकुशल, आदि से नहीं बदले गए हैं। एक बार यह हो जाने के बाद फ़ाइल को सेव करें और अपने लिए एप्लिकेशन बनाने के लिए फिर से रन विकल्प चुनें। युक्ति। अब पोस्चर डिटेक्टर मॉड्यूल को खोलने के लिए पहले की तरह ही चरणों का पालन करें और आपको क्लासिफायरियर को अब अपने नए प्रशिक्षित मॉडल के साथ काम करते हुए देखना चाहिए। यदि यह अभी भी अच्छा प्रदर्शन नहीं कर रहा है, तो आपको और डेटा रिकॉर्ड करने और मॉडल को फिर से बनाने पर विचार करना चाहिए। अन्यथा बधाई! आपने अब अपने स्वयं के व्यक्तिगत रूप से प्रशिक्षित क्लासिफायर को पोस्टशर्ट में आयात कर लिया है!
सिफारिश की:
"रियल वर्ल्ड" लाइट: 7 स्टेप्स
"रियल वर्ल्ड" लाइट: पूरी चीज एलईडी आयरन पाउडर मैग्नेटिक और केमिस्ट्री बॉटल द्वारा बनाई गई है। यानी दुनिया जादू के बिना विज्ञान है। बोतल के अंदर। इसमें जमीन और आकाश है। परिवर्तन प्रकाश मानव सभ्यता को उज्ज्वल बनाता है और इसका अर्थ रासायनिक भी है
DS3231 RTC (रियल टाइम क्लॉक) को जावा (+ -1s) का उपयोग करके सटीक, तेज़ और स्वचालित सेट करना: 3 चरण
DS3231 RTC (रियल टाइम क्लॉक) को जावा (+ -1s) का उपयोग करके सटीक, तेज़ और स्वचालित सेट करना: यह निर्देश आपको एक Arduino और एक छोटे जावा एप्लिकेशन का उपयोग करके DS3231 रियल टाइम क्लॉक पर समय निर्धारित करने का तरीका दिखाने जा रहा है। Arduino का सीरियल कनेक्शन। इस कार्यक्रम का मूल तर्क: १। Arduino एक सीरियल अनुरोध भेजता है
टाइम क्यूब - अरुडिनो टाइम ट्रैकिंग गैजेट: 6 कदम
टाइम क्यूब - अरुडिनो टाइम ट्रैकिंग गैजेट: मैं आपको कुछ स्मार्ट क्यूब गैजेट को फ़्लिप करके समय की घटनाओं को ट्रैक करने के लिए सरल लेकिन वास्तव में उपयोगी आर्डिनो प्रोजेक्ट का प्रस्ताव देना चाहता हूं। इसे "कार्य" > "सीखें" > "कार्य" > "आराम करें" पक्ष और यह गिनती करेगा
कैट व्हिस्कर सेंसरी एक्सटेंशन वियरेबल (2.0): 6 स्टेप्स (चित्रों के साथ)
कैट व्हिस्कर सेंसरी एक्सटेंशन वियरेबल (२.०): यह प्रोजेक्ट मेरे पूर्व सहयोगी (मेटाटर्रा) "व्हिस्कर सेंसरी एक्सटेंशन वियरेबल" की निरंतरता और पुनर्कल्पना है। इस परियोजना का उद्देश्य उपन्यास, कम्प्यूटेशनल रूप से समृद्ध "संवेदी विस्तार" के निर्माण पर ध्यान केंद्रित करना था जो
रास्पबेरी पीआई -4 पर रीयल टाइम फेस डिटेक्शन: 6 चरण (चित्रों के साथ)
रास्पबेरीपी -4 पर रीयल टाइम फेस डिटेक्शन: इस निर्देश में हम शुन्याफेस लाइब्रेरी का उपयोग करके शुन्या ओ / एस के साथ रास्पबेरी पाई 4 पर रीयल टाइम फेस-डिटेक्शन करने जा रहे हैं। आप इस ट्यूटोरियल का अनुसरण करके रास्पबेरीपी -4 पर 15-17 की डिटेक्शन फ्रेम दर प्राप्त कर सकते हैं