विषयसूची:

ज़ोंबी का पता लगाने वाला स्मार्ट सुरक्षा उल्लू (डीप लर्निंग): 10 कदम (चित्रों के साथ)
ज़ोंबी का पता लगाने वाला स्मार्ट सुरक्षा उल्लू (डीप लर्निंग): 10 कदम (चित्रों के साथ)

वीडियो: ज़ोंबी का पता लगाने वाला स्मार्ट सुरक्षा उल्लू (डीप लर्निंग): 10 कदम (चित्रों के साथ)

वीडियो: ज़ोंबी का पता लगाने वाला स्मार्ट सुरक्षा उल्लू (डीप लर्निंग): 10 कदम (चित्रों के साथ)
वीडियो: साउथ की सबसे डरावनी फिल्म "डेमोंटे कॉलोनी" | हॉरर थ्रिलर मूवी हिंदी में | अरुल्निथी, रमेश तिलक, सनंथ 2024, नवंबर
Anonim

हाय सब लोग, T3chFlicks में आपका स्वागत है! इस हैलोवीन ट्यूटोरियल में, हम आपको दिखाएंगे कि कैसे हम एक सांसारिक घरेलू क्लासिक: सुरक्षा कैमरा पर एक सुपर डरावना मोड़ डालते हैं।

कैसे?! हमने एक नाइट विजन उल्लू बनाया है जो लोगों को ट्रैक करने के लिए इमेज प्रोसेसिंग का उपयोग करता है। ओह, और यह हूट करता है, बिल्कुल असली चीज़ की तरह!

हम इस परियोजना के बारे में बहुत उत्साहित हैं और जब से नया रास्पबेरी पाई 4 गिरा है तब से हम इसे करने का इंतजार कर रहे हैं। इसमें 4GB रैम है, जो वास्तविक समय में गहन शिक्षण मॉडल के साथ कुछ इमेज प्रोसेसिंग करने सहित, वास्तव में रोमांचक संभावनाओं के द्वार खोलता है।

यदि आप हैलोवीन पर ज़ॉम्बी के पास आने पर नज़र रखना चाहते हैं, या साल भर अपने बगीचे की जाँच करना चाहते हैं, तो यह आपके लिए एक है। सुरक्षा प्रभावी होने के लिए उबाऊ होना जरूरी नहीं है!

आपूर्ति

इस निर्माण के लिए आपको आवश्यकता होगी:

  • रास्पबेरी पाई 4 (4GB रैम) अमेज़न
  • नाइट विजन कैमरा Amazon
  • माइक्रो सर्वो अमेज़न
  • नकली उल्लू अमेज़न
  • गोंद अमेज़न
  • अमेज़ॅन पेंट करें
  • पेंच अमेज़न
  • यूएसबी स्पीकर अमेज़न
  • बड़ी (5v+) पोर्टेबल बिजली की आपूर्ति Amazon
  • 3डी प्रिंटर अमेज़न

चरण 1: चरण 1: सिर काटना

चरण 1: सिर काटना
चरण 1: सिर काटना
चरण 1: सिर काटना
चरण 1: सिर काटना
चरण 1: सिर काटना
चरण 1: सिर काटना

ए। उल्लू के सिर को खींचो (कभी-कभी आपको बस क्रूर होना पड़ता है) उसके सिर पर जोर से खींचकर जहां वह वसंत से जुड़ता है।

बी। उल्लू का सिर एक सिलेंडर द्वारा शरीर से जुड़ता है जो एक बड़े झरने के ऊपर बैठता है। इस सिलिंडर को स्क्रू निकाल कर निकाल लें।

सी। आपने जो सिलिंडर निकाला है, वह दो भागों से बना है, एक प्लास्टिक का कप और एक बियरिंग जो उसके अंदर बैठता है। एक पेचकश (या इसी तरह के उपकरण) का उपयोग करके सिलेंडर से असर निकालें।

डी। सिलेंडर को स्प्रिंग से जोड़ने वाले स्क्रू का उपयोग करके, सर्वो को सिलेंडर से जोड़ दें।

इ। शरीर को सुरक्षित करने वाले तीन शिकंजे को हटाकर वसंत को हटा दें।

एफ। उल्लू के शरीर के शीर्ष में एक छेद बनाएं जो कुछ तारों और कैमरा केबल को फिट करने के लिए काफी बड़ा हो। हमने ऐसा करने के लिए एक ड्रिल और एक स्क्रूड्राइवर के सुरुचिपूर्ण संयोजन का उपयोग किया।

चरण 2: चरण 2: स्मार्ट जोड़ें

चरण 2: स्मार्ट जोड़ें
चरण 2: स्मार्ट जोड़ें
चरण 2: स्मार्ट जोड़ें
चरण 2: स्मार्ट जोड़ें
चरण 2: स्मार्ट जोड़ें
चरण 2: स्मार्ट जोड़ें

ए। 3 डी कैमरा केस प्रिंट करें और इसे उल्लू से मेल खाने के लिए पेंट करें - हमने कुछ सस्ते ऐक्रेलिक पेंट्स का इस्तेमाल किया। पेंटिंग एक महत्वपूर्ण कदम नहीं है, लेकिन यह समग्र रूप से नाटकीय रूप से सुधार करता है!

बी। उल्लू के सिर को उल्टा करके, कैमरा केस के शीर्ष को उसके सिर के अंदर की ओर पेंच करें, जहां चोंच निकलती है।

सी। कैमरे को केस में लगाएं और कैमरा केबल कनेक्ट करें।

डी। वसंत के शीर्ष पैनल में सर्वो को गोंद करें।

इ। लंबे तारों को सर्वो पिन से कनेक्ट करें (5V, Gnd, सिग्नल)

एफ। वसंत के माध्यम से और शरीर के शीर्ष में आपके द्वारा बनाए गए छेद के माध्यम से सर्वो के लिए कैमरा केबल और तारों को खिलाएं ताकि वे उल्लू के खोखले शरीर के अंदर हों।

चरण 3: चरण 3: उसे भरें

चरण 3: उसे भरें
चरण 3: उसे भरें
चरण 3: उसे भरें
चरण 3: उसे भरें
चरण 3: उसे भरें
चरण 3: उसे भरें
चरण 3: उसे भरें
चरण 3: उसे भरें

ए। उल्लू के नीचे से प्लग निकालें और प्लास्टिक को काटकर इस छेद का आकार बढ़ाएं। जब तक रास्पबेरी पाई और स्पीकर उल्लू के शरीर में फिट नहीं हो जाते, तब तक आकार बढ़ाना जारी रखें।

बी। एक बार जब छेद सभी घटकों के अंदर फिट होने के लिए काफी बड़ा हो जाता है, तो कैमरा केबल को आधार से बाहर उल्लू के ऊपर से खींचकर खींचें और इसे रास्पबेरी पाई में प्लग करें।

सी। इसी तरह, सर्वो तारों को खींचें और उन्हें रास्पबेरी पाई में प्लग करें:

  • सर्वो पर +5वी => पाई पर +5वी
  • Gnd सर्वो => Gnd Pi
  • सिग्नल सर्वो => पिन 12 पाई

डी। USB स्पीकर को Pi में प्लग करें।

इ। एसडी कार्ड को पाई में डालें।

एफ। पोर्टेबल बिजली आपूर्ति का उपयोग कर पावर पाई।

जी। आधार में छेद के माध्यम से उल्लू में पाई, बिजली की आपूर्ति और स्पीकर डालें।

चरण 4: चरण 4: पाई सेट करें

चरण 4: पाई सेट करें
चरण 4: पाई सेट करें

सभी कोड https://github.com/sk-t3ch/cctv-owl पर देखे जा सकते हैं!

ए। रास्पियन डाउनलोड करें और इसे बलेना एचर का उपयोग करके अपने एसडी कार्ड में अपलोड करें।

बी। अपने पीआई को दूरस्थ रूप से एक्सेस करने के लिए

  • अपने बूट एसडी कार्ड में ssh नामक फ़ाइल जोड़ें
  • wpa_supplicant.conf नाम की एक फाइल जोड़ें और अपने वाईफाई क्रेडेंशियल्स डालें

    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1

    नेटवर्क={ ssid="MySSID" psk="MyPassword" }

सी। पीआई में एसडी कार्ड डालें और एसएसएच के माध्यम से एक्सेस करने का प्रयास करें।

चरण 5: चरण 5: सिर हिलाना

चरण 5: सिर हिलाना
चरण 5: सिर हिलाना

सिर हिलाने के लिए कोड ट्यूटोरियल (रास्पबेरी पाई के साथ सर्वो को नियंत्रित करना)

पाई पर चल रहे एक सर्वो को नियंत्रित करने के लिए हम एक स्क्रिप्ट बनाने जा रहे हैं जो GPIO पिन को नियंत्रित करती है जिससे सर्वो जुड़ा हुआ है।

ए। सर्वो को पाई से कनेक्ट करें:

  • सर्वो पर +5वी => पाई पर +5वी
  • Gnd सर्वो => पाई पर gnd
  • सिग्नल सर्वो => पाई पर 12 पिन करें

बी। सर्वो के सिग्नल पिन पर पीडब्लूएम का उपयोग करने के लिए आपको पहले जीपीओ पिन सेट करना होगा।

सी। फिर, सिग्नल पिन के कर्तव्य चक्र (यहां समझाया गया) का चयन करना उतना ही सरल है जितना कि कर्तव्य चक्र के साथ ७.५ से ० डिग्री के कर्तव्य चक्र के साथ सर्वो को ९० डिग्री से स्थानांतरित करना और कर्तव्य चक्र के साथ १८० डिग्री तक। 12.5

RPI. GPIO को GPIO के रूप में आयात करें

आयात समय GPIO.setmode(GPIO. BOARD) GPIO.setwarnings(False) GPIO.setup(12, GPIO. OUT) p = GPIO. PWM(12, 50) p.start(7.5) try: जबकि True: p. ChangeDutyCycle (७.५) # ९० डिग्री समय। नींद (१) पी। चेंजड्यूटी साइकिल (२.५) # ० डिग्री समय। नींद (१) पी। चेंजड्यूटी साइकिल (१२.५) # १८० डिग्री समय। नींद (१) कीबोर्ड इंटरप्ट को छोड़कर: पी.स्टॉप () GPIO.क्लीनअप ()

चरण 6: चरण 6: इसे हूट बनाना

चरण 6: इसे हूट बनाना
चरण 6: इसे हूट बनाना
चरण 6: इसे हूट बनाना
चरण 6: इसे हूट बनाना

उल्लू हूट बनाने के लिए कोड ट्यूटोरियल (रास्पबेरी पाई के साथ ऑडियो बजाना)

ए। USB स्पीकर में प्लग करें।

बी। एक ध्वनि डाउनलोड करें - हमने एक डरावना हूट चुना है।

सी। इस आदेश को चलाकर ध्वनि चलाएं: omxplayer -o alsa:hw:1, 0 owl_sound.mp3

[डी। यदि यह काम नहीं करता है, तो जांचें कि आपका पीआई किस आउटपुट का उपयोग कर रहा है और किस वॉल्यूम पर कमांड का उपयोग कर रहा है alsamixer - आपको मिक्सर स्क्रीन के साथ स्वागत किया जाएगा जहां आप वॉल्यूम बदल सकते हैं और अपने मीडिया डिवाइस का चयन कर सकते हैं। अपनी ध्वनि की मात्रा बढ़ाने के लिए, इस तरह की कमांड करें omxplayer -o alsa:hw:1, 0 owl_sound.mp3 --vol 500 पायथन का उपयोग करके इस ध्वनि को चलाने के लिए, हमारी परीक्षण स्क्रिप्ट देखें।]

आयात उपप्रक्रिया

कमांड = "omxplayer -o alsa:hw:1, 0 owl_sound.mp3 --vol 500" प्लेयर = सबप्रोसेस। पोपेन (कमांड.स्प्लिट (' '), स्टडिन = सबप्रोसेस। पाइप, स्टडआउट = सबप्रोसेस। पाइप, स्टडर = सबप्रोसेस ।पाइप)

चरण 7: चरण 7: वीडियो को Pi. से स्ट्रीम करें

चरण 7: वीडियो को Pi. से स्ट्रीम करें
चरण 7: वीडियो को Pi. से स्ट्रीम करें
चरण 7: वीडियो को Pi. से स्ट्रीम करें
चरण 7: वीडियो को Pi. से स्ट्रीम करें

रास्पबेरी पाई कैमरा स्ट्रीम बनाने वाला कोड ट्यूटोरियल

ए। python app.py चलाएँ और https://raspberrypi.local:5000. पर अपने स्थानीय नेटवर्क पर देखें

बी। यह कोड लिया गया था और मिगुएल ग्रिनबर्ग https://blog.miguelgrinberg.com/post/flask-video-… से थोड़ा अनुकूलित किया गया था, वह अच्छी तरह से बताता है कि यह कैसे किया जाता है और उसके ट्यूटोरियल बहुत अच्छे हैं - उसे देखें! मूल अवधारणा यह है कि हम स्ट्रीमिंग गति को बेहतर बनाने के लिए थ्रेडिंग और जेनरेटर का उपयोग करते हैं।

चरण 8: चरण 8: शरीर का पता लगाना

चरण 8: शरीर का पता लगाना
चरण 8: शरीर का पता लगाना

शरीर का पता लगाने के लिए कोड (रास्पबेरी पाई के साथ एक वीडियो स्ट्रीम पर ImageNetSSD)

ए। चूंकि हम रास्पबेरी पाई 4 का उपयोग कर रहे हैं, इसलिए हमने सोचा कि मूल HaarCascade पद्धति के बजाय इस पर कुछ गहन शिक्षण मॉडल आज़माना सबसे अच्छा है, जिसे हम अब तक सीमित कर चुके हैं।

बी। हमने कुछ पूर्व-प्रशिक्षित मॉडलों पर एक नज़र डाली, जैसे कि YOLOv3 जो बहुत अच्छा दिखता है। YOLOv3 छोटे वजन, जो कि पाई के लिए एकदम सही होते, लेकिन हम इसे चालू नहीं कर सके:(सी। इसके बजाय, हमने मोबाइलएसएसडी मॉडल का विकल्प चुना जिसे हम ओपनसीवी डीएनएन (डीप न्यूरल नेट) मॉड्यूल का उपयोग करके चला सकते हैं, जैसा कि हमने इस कोड से सीखा: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-use-opencv-dnn-98827255fa60 और इमेज प्रोसेसिंग ट्यूटोरियल के नायक एड्रियन रोज़ब्रॉक से: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- ओपनसीवी/

डी। हालांकि, जैसा कि हम इस सामग्री को स्ट्रीम करने और हर फ्रेम पर मॉडल चलाने की कोशिश कर रहे हैं, इसका परिणाम एक सुस्त, खंडित वीडियो है। हमने एड्रियन रोज़ब्रॉक https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ से फिर से सीखा और अपनी छवियों को कतार में लगाने के लिए पायथन मल्टीप्रोसेसिंग मॉड्यूल का उपयोग किया जहां उन्हें इतनी भारी मात्रा में कैमरा स्ट्रीम को अवरुद्ध किए बिना संसाधित किया जा सकता है।

इ। कोड को स्वयं चलाने का प्रयास करें:)

चरण 9: चरण 9: ज़ोंबी सूचनाएं भेजना

चरण 9: ज़ोंबी सूचनाएं भेजना
चरण 9: ज़ोंबी सूचनाएं भेजना
चरण 9: ज़ोंबी सूचनाएं भेजना
चरण 9: ज़ोंबी सूचनाएं भेजना

अधिसूचना भेजने के लिए कोड (फोन पर अजगर)

ए। हमने https://pushed.co अधिसूचना सेवा का उपयोग करने का निर्णय लिया।

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

आयात अनुरोध

पेलोड = { "app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "ऐप", "कंटेंट": "उल्लू ने एक ज़ोंबी का पता लगाया है।" } r = request.post("https://api.pushed.co/1/push", data=payload)

यह बहुत आसान है और आप अपने अधिसूचना नाम को अनुकूलित कर सकते हैं!

चरण 10: क्या हूट

क्या हूट!
क्या हूट!

हमें उम्मीद है कि आपने हमारी स्मार्ट सुरक्षा उल्लू परियोजना का आनंद लिया है! यह एक बहुत ही मजेदार मेक रहा है और मुझे यह जानकर बहुत अधिक सुरक्षित महसूस होता है कि मेरे घर की रक्षा हमारे भरोसेमंद उल्लू द्वारा की जा रही है।

अगर आपको लगता है कि यह आपके स्मार्ट होम के लिए एक शानदार हैलोवीन अतिरिक्त होगा, तो कृपया हमें इंस्ट्रक्शंस हैलोवीन प्रतियोगिता में वोट करें और हमेशा की तरह, कृपया लाइक, कमेंट और सब्सक्राइब करना न भूलें!

हमारी डाक प्रेषण सूची पर साइन अप करें!

सिफारिश की: