You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/hi/5-retail/lessons/2-check-stock-device/single-board-computer-objec...

10 KiB

अपने IoT डिवाइस से ऑब्जेक्ट डिटेक्टर को कॉल करें - वर्चुअल IoT हार्डवेयर और रास्पबेरी पाई

एक बार जब आपका ऑब्जेक्ट डिटेक्टर प्रकाशित हो जाए, तो इसे आपके IoT डिवाइस से उपयोग किया जा सकता है।

इमेज क्लासिफायर प्रोजेक्ट कॉपी करें

आपके स्टॉक डिटेक्टर का अधिकांश हिस्सा वही है जो आपने पिछले पाठ में बनाए गए इमेज क्लासिफायर में किया था।

कार्य - इमेज क्लासिफायर प्रोजेक्ट कॉपी करें

  1. stock-counter नाम का एक फ़ोल्डर बनाएं, या तो अपने कंप्यूटर पर यदि आप वर्चुअल IoT डिवाइस का उपयोग कर रहे हैं, या अपने रास्पबेरी पाई पर। यदि आप वर्चुअल IoT डिवाइस का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आपने वर्चुअल एनवायरनमेंट सेटअप किया है।

  2. कैमरा हार्डवेयर सेटअप करें।

    • यदि आप रास्पबेरी पाई का उपयोग कर रहे हैं, तो आपको PiCamera फिट करना होगा। आप कैमरे को एक स्थिर स्थिति में भी रखना चाह सकते हैं, उदाहरण के लिए, केबल को एक बॉक्स या कैन के ऊपर लटकाकर, या डबल-साइड टेप का उपयोग करके कैमरे को बॉक्स पर फिक्स करके।
    • यदि आप वर्चुअल IoT डिवाइस का उपयोग कर रहे हैं, तो आपको CounterFit और CounterFit PyCamera शिम इंस्टॉल करना होगा। यदि आप स्थिर छवियों का उपयोग करने जा रहे हैं, तो कुछ ऐसी छवियां कैप्चर करें जिन्हें आपका ऑब्जेक्ट डिटेक्टर पहले नहीं देख चुका है। यदि आप वेब कैमरा का उपयोग करने जा रहे हैं, तो सुनिश्चित करें कि यह उस स्टॉक को देखने के लिए सही स्थिति में है जिसे आप डिटेक्ट कर रहे हैं।
  3. कैमरे से छवियां कैप्चर करने के लिए मैन्युफैक्चरिंग प्रोजेक्ट के पाठ 2 से चरणों को दोहराएं।

  4. इमेज क्लासिफायर को कॉल करने के लिए मैन्युफैक्चरिंग प्रोजेक्ट के पाठ 2 से चरणों को दोहराएं। इस कोड का अधिकांश हिस्सा ऑब्जेक्ट्स को डिटेक्ट करने के लिए पुनः उपयोग किया जाएगा।

कोड को क्लासिफायर से इमेज डिटेक्टर में बदलें

आपने जो कोड इमेज क्लासिफाई करने के लिए उपयोग किया था, वह ऑब्जेक्ट्स को डिटेक्ट करने के कोड से बहुत मिलता-जुलता है। मुख्य अंतर Custom Vision SDK पर कॉल की गई विधि और कॉल के परिणाम हैं।

कार्य - कोड को क्लासिफायर से इमेज डिटेक्टर में बदलें

  1. इमेज को क्लासिफाई करने और प्रेडिक्शन्स को प्रोसेस करने वाली तीन लाइनों को हटा दें:

    results = predictor.classify_image(project_id, iteration_name, image)
    
    for prediction in results.predictions:
        print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
    

    इन तीन लाइनों को हटा दें।

  2. इमेज में ऑब्जेक्ट्स को डिटेक्ट करने के लिए निम्नलिखित कोड जोड़ें:

    results = predictor.detect_image(project_id, iteration_name, image)
    
    threshold = 0.3
    
    predictions = list(prediction for prediction in results.predictions if prediction.probability > threshold)
    
    for prediction in predictions:
        print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
    

    यह कोड प्रेडिक्टर पर detect_image विधि को कॉल करता है ताकि ऑब्जेक्ट डिटेक्टर चल सके। फिर यह एक थ्रेशहोल्ड से ऊपर की संभावना वाले सभी प्रेडिक्शन्स को इकट्ठा करता है और उन्हें कंसोल पर प्रिंट करता है।

    इमेज क्लासिफायर के विपरीत, जो प्रत्येक टैग के लिए केवल एक परिणाम लौटाता है, ऑब्जेक्ट डिटेक्टर कई परिणाम लौटाएगा, इसलिए किसी भी कम संभावना वाले परिणामों को फ़िल्टर करना आवश्यक है।

  3. इस कोड को चलाएं, और यह एक इमेज कैप्चर करेगा, इसे ऑब्जेक्ट डिटेक्टर को भेजेगा, और डिटेक्ट किए गए ऑब्जेक्ट्स को प्रिंट करेगा। यदि आप वर्चुअल IoT डिवाइस का उपयोग कर रहे हैं, तो सुनिश्चित करें कि CounterFit में एक उपयुक्त इमेज सेट है, या आपका वेब कैमरा चयनित है। यदि आप रास्पबेरी पाई का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आपका कैमरा शेल्फ पर रखे ऑब्जेक्ट्स की ओर इशारा कर रहा है।

    pi@raspberrypi:~/stock-counter $ python3 app.py 
    tomato paste:   34.13%
    tomato paste:   33.95%
    tomato paste:   35.05%
    tomato paste:   32.80%
    

    💁 आपको अपने इमेज के लिए threshold को एक उपयुक्त मान पर समायोजित करने की आवश्यकता हो सकती है।

    आप ली गई इमेज और इन मानों को Custom Vision के Predictions टैब में देख पाएंगे।

    शेल्फ पर रखे टमाटर पेस्ट के 4 कैन, जिनके लिए 4 डिटेक्शन्स के प्रेडिक्शन्स 35.8%, 33.5%, 25.7% और 16.6% हैं

💁 आप इस कोड को code-detect/pi या code-detect/virtual-iot-device फ़ोल्डर में पा सकते हैं।

😀 आपका स्टॉक काउंटर प्रोग्राम सफल रहा!

अस्वीकरण:
यह दस्तावेज़ AI अनुवाद सेवा Co-op Translator का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता सुनिश्चित करने का प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।