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/mr/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 योग्य मूल्यावर समायोजित करावे लागेल.

    तुम्ही घेतलेली प्रतिमा आणि Predictions टॅबमध्ये Custom Vision मध्ये हे मूल्य पाहू शकता.

    शेल्फवर ठेवलेल्या टोमॅटो पेस्टच्या 4 कॅन्ससाठी प्रेडिक्शन - 35.8%, 33.5%, 25.7% आणि 16.6%

💁 तुम्ही हा कोड code-detect/pi किंवा code-detect/virtual-iot-device फोल्डरमध्ये शोधू शकता.

😀 तुमचा स्टॉक काउंटर प्रोग्राम यशस्वी झाला!


अस्वीकरण:
हा दस्तऐवज AI भाषांतर सेवा Co-op Translator चा वापर करून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपया लक्षात घ्या की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील मूळ दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर केल्यामुळे उद्भवणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.