सबसे पहले, मैं इस पोस्ट के अंत में अपनी परियोजना के कुछ सामान्य विनिर्देशों को संलग्न करता हूं।

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

अब तक मैं ऑब्जेक्ट डिटेक्शन प्रक्रिया को लागू करने का प्रबंधन करता हूं, जहां यह पर्याप्त रूप से फेस मास्क के उपयोग का पता लगाने में सक्षम है। ऑब्जेक्ट डिटेक्शन प्रक्रिया को बिना किसी देरी के अनंत जबकि लूप में लगातार चलना चाहिए और जब तक मैं एक विशिष्ट कुंजी दबाता हूं तब तक रुक जाएगा।

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

इस प्रकार, मैं यह सुनिश्चित करने के लिए कुछ चीजों की कोशिश करता हूं कि आउटपुट एक्चुएशन प्रक्रिया ऑब्जेक्ट डिटेक्शन प्रक्रिया को बाधित नहीं करेगी जैसे कि अचार फ़ाइल के साथ मल्टीप्रोसेसिंग को लागू करना जो बफर मेमोरी स्टोरेज के रूप में कार्य करता है जो ऑब्जेक्ट डिटेक्शन प्रक्रिया द्वारा उत्पादित जानकारी को संग्रहीत करता है। लेकिन फिर भी, मैंने इस समस्या को हल करने का प्रबंधन नहीं किया। मुझे दो अलग-अलग प्रक्रियाओं से अचार फ़ाइल को एक साथ लिखने/पढ़ने में कोई समस्या है।

प्रक्रियाओं की आवश्यकता नीचे सूचीबद्ध है।

प्रक्रिया 1 (मुख्य प्रक्रिया)

  • अनंत लूप में
  • कोई देरी नहीं, पुनरावृत्ति की गति हार्डवेयर और ओएस द्वारा सीमित है
  • फेस मास्क का पता लगाते ही आउटपुट सिग्नल लिखने में सक्षम

प्रक्रिया 2 (माध्यमिक प्रक्रिया)

  • मुख्य प्रक्रिया से संकेत मिलने के बाद प्रोग्राम को चलाना शुरू करें
  • मुख्य प्रक्रिया से आउटपुट सिग्नल पढ़ने में सक्षम
  • मुख्य प्रक्रिया को बाधित किए बिना देरी से संचालित करने में सक्षम
  • मुख्य प्रक्रिया से आउटपुट सिग्नल को हटाने/संपादित करने में सक्षम
  • मुख्य प्रक्रिया समाप्त होने के बाद मारे गए

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

धन्यवाद।

मेरी परियोजना के सामान्य विनिर्देश:

  • प्रोग्रामिंग भाषा, Python3
  • टेक्स्ट एडिटर/कंपाइलर, कोड-ओएसएस
  • हार्डवेयर, एनवीडिया जेटसन नैनो 2GB
  • ओएस, लिनक्स/एनवीडिया जेटपैक
  • पूर्व-प्रशिक्षित मॉडल, SSD-Mobilenet V2
-1
Faiz 2 जुलाई 2021, 20:32

1 उत्तर

सबसे बढ़िया उत्तर

मल्टीप्रोसेसिंग के बारे में और अधिक पढ़ने और खोजने के बाद, मैं अपने प्रोजेक्ट के लिए उपयोगी कुछ खोजने का प्रबंधन करता हूं, यह "सर्वर प्रक्रिया का उपयोग करके डेटा साझा करना" और "प्रोसेस सिंक्रोनाइज़ेशन" की विधि है, इस सुविधाओं के बारे में अधिक विवरण आप नीचे YouTube वीडियो देख सकते हैं। आपके लिए पूरी प्लेलिस्ट देखने की अत्यधिक अनुशंसा की जाती है, ताकि आपको मल्टीप्रोसेसिंग पर व्यापक समझ हो जो आपके काम को आसान बना सके।

सर्वर प्रक्रिया का उपयोग करके डेटा साझा करना https://youtu.be/v5u5zSYKhFs

सिंक्रनाइज़ेशन प्रक्रिया https://youtu.be/-zJ1x2QHTKE

इस विधि के दोनों सफलतापूर्वक मेरी समस्या का समाधान करते हैं, मुझे लगता है कि मेरी पिछली समस्या दोनों प्रक्रियाओं से अचार फ़ाइल को एक साथ लिखने और पढ़ने के मुद्दे के कारण उठाई गई है।

0
Faiz 4 जुलाई 2021, 08:43